From 49ec0f05a5d7e3637fe9cbc0e6655783a0b11099 Mon Sep 17 00:00:00 2001 From: Lann Martin Date: Fri, 23 Aug 2024 10:54:12 -0400 Subject: [PATCH 1/4] factors: Port spin-timer to factors Signed-off-by: Lann Martin --- examples/spin-timer/Cargo.lock | 4122 +++++++------------------------ examples/spin-timer/Cargo.toml | 4 +- examples/spin-timer/src/lib.rs | 75 +- examples/spin-timer/src/main.rs | 5 +- 4 files changed, 962 insertions(+), 3244 deletions(-) diff --git a/examples/spin-timer/Cargo.lock b/examples/spin-timer/Cargo.lock index 9a04ac97f..c46d33839 100644 --- a/examples/spin-timer/Cargo.lock +++ b/examples/spin-timer/Cargo.lock @@ -18,15 +18,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] -name = "aes" -version = "0.8.4" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "ahash" @@ -42,27 +37,18 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" -dependencies = [ - "memchr", -] - -[[package]] -name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "ambient-authority" @@ -85,64 +71,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - -[[package]] -name = "anstream" -version = "0.6.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" - -[[package]] -name = "anstyle-parse" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", -] - [[package]] name = "anyhow" version = "1.0.79" @@ -155,22 +83,6 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - -[[package]] -name = "async-broadcast" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" -dependencies = [ - "event-listener 2.5.3", - "futures-core", -] - [[package]] name = "async-channel" version = "1.9.0" @@ -189,16 +101,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener-strategy 0.5.2", + "event-listener-strategy", "futures-core", "pin-project-lite", ] [[package]] name = "async-compression" -version = "0.4.6" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c" +checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" dependencies = [ "flate2", "futures-core", @@ -207,65 +119,20 @@ dependencies = [ "tokio", ] -[[package]] -name = "async-executor" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand 2.0.1", - "futures-lite 2.3.0", - "slab", -] - -[[package]] -name = "async-fs" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" -dependencies = [ - "async-lock 2.8.0", - "autocfg", - "blocking", - "futures-lite 1.13.0", -] - -[[package]] -name = "async-io" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" -dependencies = [ - "async-lock 2.8.0", - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-lite 1.13.0", - "log", - "parking", - "polling 2.8.0", - "rustix 0.37.27", - "slab", - "socket2 0.4.10", - "waker-fn", -] - [[package]] name = "async-io" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ - "async-lock 3.3.0", + "async-lock", "cfg-if", "concurrent-queue", "futures-io", "futures-lite 2.3.0", "parking", - "polling 3.7.0", - "rustix 0.38.31", + "polling", + "rustix", "slab", "tracing", "windows-sys 0.52.0", @@ -273,88 +140,51 @@ dependencies = [ [[package]] name = "async-lock" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" -dependencies = [ - "event-listener 2.5.3", -] - -[[package]] -name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener 5.3.1", + "event-listener-strategy", "pin-project-lite", ] [[package]] name = "async-process" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" -dependencies = [ - "async-io 1.13.0", - "async-lock 2.8.0", - "async-signal", - "blocking", - "cfg-if", - "event-listener 3.1.0", - "futures-lite 1.13.0", - "rustix 0.38.31", - "windows-sys 0.48.0", -] - -[[package]] -name = "async-process" -version = "2.2.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53fc6301894e04a92cb2584fedde80cb25ba8e02d9dc39d4a87d036e22f397d" +checksum = "f7eda79bbd84e29c2b308d1dc099d7de8dcc7035e48f4bf5dc4a531a44ff5e2a" dependencies = [ "async-channel 2.3.1", - "async-io 2.3.2", - "async-lock 3.3.0", + "async-io", + "async-lock", "async-signal", "async-task", "blocking", "cfg-if", - "event-listener 5.3.0", + "event-listener 5.3.1", "futures-lite 2.3.0", - "rustix 0.38.31", + "rustix", "tracing", "windows-sys 0.52.0", ] -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "async-signal" -version = "0.2.5" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32" dependencies = [ - "async-io 2.3.2", - "async-lock 2.8.0", + "async-io", + "async-lock", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.31", + "rustix", "signal-hook-registry", "slab", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -376,7 +206,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -393,7 +223,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -419,6 +249,33 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "aws-lc-rs" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae74d9bd0a7530e8afd1770739ad34b36838829d6ad61818f9230f683f5ad77" +dependencies = [ + "aws-lc-sys", + "mirai-annotations", + "paste", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f0e249228c6ad2d240c2dc94b714d711629d52bad946075d8e9b2f5391f0703" +dependencies = [ + "bindgen 0.69.4", + "cc", + "cmake", + "dunce", + "fs_extra", + "libc", + "paste", +] + [[package]] name = "axum" version = "0.6.20" @@ -430,9 +287,9 @@ dependencies = [ "bitflags 1.3.2", "bytes", "futures-util", - "http 0.2.11", + "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.28", + "hyper 0.14.30", "itoa", "matchit", "memchr", @@ -440,8 +297,8 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustversion", - "serde 1.0.203", - "sync_wrapper", + "serde", + "sync_wrapper 0.1.2", "tower", "tower-layer", "tower-service", @@ -456,7 +313,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 0.2.11", + "http 0.2.12", "http-body 0.4.6", "mime", "rustversion", @@ -467,10 +324,10 @@ dependencies = [ [[package]] name = "azure_core" version = "0.20.0" -source = "git+https://github.com/azure/azure-sdk-for-rust.git?rev=8c4caa251c3903d5eae848b41bb1d02a4d65231c#8c4caa251c3903d5eae848b41bb1d02a4d65231c" +source = "git+https://github.com/azure/azure-sdk-for-rust?rev=8c4caa251c3903d5eae848b41bb1d02a4d65231c#8c4caa251c3903d5eae848b41bb1d02a4d65231c" dependencies = [ "async-trait", - "base64 0.22.0", + "base64 0.22.1", "bytes", "dyn-clone", "futures", @@ -481,9 +338,9 @@ dependencies = [ "paste", "pin-project", "rand 0.8.5", - "reqwest 0.12.4", + "reqwest 0.12.5", "rustc_version", - "serde 1.0.203", + "serde", "serde_json", "sha2", "time", @@ -495,13 +352,13 @@ dependencies = [ [[package]] name = "azure_data_cosmos" version = "0.20.0" -source = "git+https://github.com/azure/azure-sdk-for-rust.git?rev=8c4caa251c3903d5eae848b41bb1d02a4d65231c#8c4caa251c3903d5eae848b41bb1d02a4d65231c" +source = "git+https://github.com/azure/azure-sdk-for-rust?rev=8c4caa251c3903d5eae848b41bb1d02a4d65231c#8c4caa251c3903d5eae848b41bb1d02a4d65231c" dependencies = [ "async-trait", "azure_core", "bytes", "futures", - "serde 1.0.203", + "serde", "serde_json", "thiserror", "time", @@ -513,16 +370,16 @@ dependencies = [ [[package]] name = "azure_identity" version = "0.20.0" -source = "git+https://github.com/azure/azure-sdk-for-rust.git?rev=8c4caa251c3903d5eae848b41bb1d02a4d65231c#8c4caa251c3903d5eae848b41bb1d02a4d65231c" +source = "git+https://github.com/azure/azure-sdk-for-rust?rev=8c4caa251c3903d5eae848b41bb1d02a4d65231c#8c4caa251c3903d5eae848b41bb1d02a4d65231c" dependencies = [ - "async-lock 3.3.0", - "async-process 2.2.2", + "async-lock", + "async-process", "async-trait", "azure_core", "futures", "oauth2", "pin-project", - "serde 1.0.203", + "serde", "time", "tracing", "tz-rs", @@ -533,12 +390,12 @@ dependencies = [ [[package]] name = "azure_security_keyvault" version = "0.20.0" -source = "git+https://github.com/azure/azure-sdk-for-rust.git?rev=8c4caa251c3903d5eae848b41bb1d02a4d65231c#8c4caa251c3903d5eae848b41bb1d02a4d65231c" +source = "git+https://github.com/azure/azure-sdk-for-rust?rev=8c4caa251c3903d5eae848b41bb1d02a4d65231c#8c4caa251c3903d5eae848b41bb1d02a4d65231c" dependencies = [ "async-trait", "azure_core", "futures", - "serde 1.0.203", + "serde", "serde_json", "time", ] @@ -553,17 +410,11 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.2", "object 0.32.2", "rustc-demangle", ] -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - [[package]] name = "base64" version = "0.13.1" @@ -578,21 +429,9 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - -[[package]] -name = "beef" -version = "0.5.2" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bindgen" @@ -603,15 +442,36 @@ dependencies = [ "bitflags 2.4.2", "cexpr", "clang-sys", - "itertools 0.12.1", - "lazy_static 1.4.0", + "itertools", + "lazy_static", "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.75", + "which", +] + +[[package]] +name = "bindgen" +version = "0.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +dependencies = [ + "bitflags 2.4.2", + "cexpr", + "clang-sys", + "itertools", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -626,15 +486,6 @@ version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" -[[package]] -name = "bitmaps" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" -dependencies = [ - "typenum", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -644,15 +495,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-padding" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" -dependencies = [ - "generic-array", -] - [[package]] name = "blocking" version = "1.6.1" @@ -672,7 +514,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad" dependencies = [ - "num-traits 0.2.19", + "num-traits", ] [[package]] @@ -681,12 +523,6 @@ version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" -[[package]] -name = "bytemuck" -version = "1.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" - [[package]] name = "byteorder" version = "1.5.0" @@ -699,56 +535,7 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" dependencies = [ - "serde 1.0.203", -] - -[[package]] -name = "bytesize" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" - -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - -[[package]] -name = "cached-path" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "097968e38f1319207f057d0f4d76452e4f4f847a5de61c5215379f297fa034f3" -dependencies = [ - "flate2", - "fs2", - "glob", - "indicatif", - "log", - "rand 0.8.5", - "reqwest 0.11.24", - "serde 1.0.203", - "serde_json", - "sha2", - "tar", - "tempfile", - "thiserror", - "zip", + "serde", ] [[package]] @@ -759,7 +546,7 @@ checksum = "769f8cd02eb04d57f14e2e371ebb533f96817f9b2525d73a5c72b61ca7973747" dependencies = [ "cap-primitives", "cap-std", - "io-lifetimes 2.0.3", + "io-lifetimes", "windows-sys 0.52.0", ] @@ -771,7 +558,7 @@ checksum = "59ff6d3fb274292a9af283417e383afe6ded1fe66f6472d2c781216d3d80c218" dependencies = [ "cap-primitives", "cap-std", - "rustix 0.38.31", + "rustix", "smallvec", ] @@ -784,19 +571,19 @@ dependencies = [ "ambient-authority", "fs-set-times", "io-extras", - "io-lifetimes 2.0.3", + "io-lifetimes", "ipnet", "maybe-owned", - "rustix 0.38.31", + "rustix", "windows-sys 0.52.0", "winx", ] [[package]] name = "cap-rand" -version = "3.0.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4327f08daac33a99bb03c54ae18c8f32c3ba31c728a33ddf683c6c6a5043de68" +checksum = "dbcb16a619d8b8211ed61f42bd290d2a1ac71277a69cf8417ec0996fa92f5211" dependencies = [ "ambient-authority", "rand 0.8.5", @@ -810,8 +597,8 @@ checksum = "266626ce180cf9709f317d0bf9754e3a5006359d87f4bf792f06c9c5f1b63c0f" dependencies = [ "cap-primitives", "io-extras", - "io-lifetimes 2.0.3", - "rustix 0.38.31", + "io-lifetimes", + "rustix", ] [[package]] @@ -824,17 +611,16 @@ dependencies = [ "cap-primitives", "iana-time-zone", "once_cell", - "rustix 0.38.31", + "rustix", "winx", ] [[package]] -name = "cbc" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +name = "cargo-target-dep" +version = "0.1.0" +source = "git+https://github.com/fermyon/cargo-target-dep?rev=482f269eceb7b1a7e8fc618bf8c082dd24979cf1#482f269eceb7b1a7e8fc618bf8c082dd24979cf1" dependencies = [ - "cipher", + "glob", ] [[package]] @@ -854,7 +640,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ - "nom 7.1.3", + "nom", ] [[package]] @@ -878,27 +664,17 @@ dependencies = [ "android-tzdata", "iana-time-zone", "js-sys", - "num-traits 0.2.19", - "serde 1.0.203", + "num-traits", + "serde", "wasm-bindgen", "windows-targets 0.52.4", ] -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - [[package]] name = "clang-sys" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", @@ -913,44 +689,22 @@ checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", "bitflags 1.3.2", - "clap_derive 3.2.25", - "clap_lex 0.2.4", + "clap_derive", + "clap_lex", "indexmap 1.9.3", "once_cell", - "strsim 0.10.0", + "strsim", "termcolor", "textwrap", ] -[[package]] -name = "clap" -version = "4.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" -dependencies = [ - "clap_builder", - "clap_derive 4.5.4", -] - -[[package]] -name = "clap_builder" -version = "4.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" -dependencies = [ - "anstream", - "anstyle", - "clap_lex 0.7.0", - "strsim 0.11.1", -] - [[package]] name = "clap_derive" version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" dependencies = [ - "heck 0.4.1", + "heck", "proc-macro-error", "proc-macro2", "quote", @@ -958,37 +712,19 @@ dependencies = [ ] [[package]] -name = "clap_derive" -version = "4.5.4" +name = "clap_lex" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.48", + "os_str_bytes", ] -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - -[[package]] -name = "clap_lex" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" - [[package]] name = "cmake" -version = "0.1.50" +version = "0.1.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" +checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a" dependencies = [ "cc", ] @@ -999,24 +735,18 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" -[[package]] -name = "colorchoice" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" - [[package]] name = "combine" -version = "4.6.6" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ "bytes", "futures-core", "memchr", "pin-project-lite", "tokio", - "tokio-util 0.7.10", + "tokio-util", ] [[package]] @@ -1028,53 +758,12 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "config" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1b9d958c2b1368a663f05538fc1b5975adce1e19f435acceae987aceeeb369" -dependencies = [ - "lazy_static 1.4.0", - "nom 5.1.3", - "rust-ini", - "serde 1.0.203", - "serde-hjson", - "serde_json", - "toml 0.5.11", - "yaml-rust", -] - -[[package]] -name = "console" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" -dependencies = [ - "encode_unicode", - "lazy_static 1.4.0", - "libc", - "unicode-width", - "windows-sys 0.52.0", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - [[package]] name = "const_fn" version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "373e9fafaa20882876db20562275ff58d50e0caa2590077fe7ce7bef90211d0d" -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - [[package]] name = "core-foundation" version = "0.9.4" @@ -1087,9 +776,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpp_demangle" @@ -1170,7 +859,7 @@ version = "0.109.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8cfdc315e5d18997093e040a8d234bea1ac1e118a716d3e30f40d449e78207b" dependencies = [ - "serde 1.0.203", + "serde", "serde_derive", ] @@ -1212,7 +901,7 @@ dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "itertools 0.12.1", + "itertools", "log", "smallvec", "wasmparser 0.209.1", @@ -1243,9 +932,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -1284,24 +973,6 @@ version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -1318,7 +989,7 @@ version = "3.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345" dependencies = [ - "nix 0.28.0", + "nix", "windows-sys 0.52.0", ] @@ -1328,18 +999,8 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" dependencies = [ - "darling_core 0.14.4", - "darling_macro 0.14.4", -] - -[[package]] -name = "darling" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" -dependencies = [ - "darling_core 0.20.9", - "darling_macro 0.20.9", + "darling_core", + "darling_macro", ] [[package]] @@ -1352,46 +1013,21 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", + "strsim", "syn 1.0.109", ] -[[package]] -name = "darling_core" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.11.1", - "syn 2.0.48", -] - [[package]] name = "darling_macro" version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ - "darling_core 0.14.4", + "darling_core", "quote", "syn 1.0.109", ] -[[package]] -name = "darling_macro" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" -dependencies = [ - "darling_core 0.20.9", - "quote", - "syn 2.0.48", -] - [[package]] name = "debugid" version = "0.8.0" @@ -1401,17 +1037,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", -] - [[package]] name = "deranged" version = "0.3.11" @@ -1419,18 +1044,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", - "serde 1.0.203", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "serde", ] [[package]] @@ -1439,16 +1053,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d07adf7be193b71cc36b193d0f5fe60b918a3a9db4dad0449f57bcfd519704a3" dependencies = [ - "derive_builder_macro 0.11.2", -] - -[[package]] -name = "derive_builder" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8" -dependencies = [ - "derive_builder_macro 0.12.0", + "derive_builder_macro", ] [[package]] @@ -1457,19 +1062,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f91d4cfa921f1c05904dc3c57b4a32c38aed3340cce209f3a6fd1478babafc4" dependencies = [ - "darling 0.14.4", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_builder_core" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f" -dependencies = [ - "darling 0.14.4", + "darling", "proc-macro2", "quote", "syn 1.0.109", @@ -1481,33 +1074,10 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f0314b72bed045f3a68671b3c86328386762c93f82d98c65c3cb5e5f573dd68" dependencies = [ - "derive_builder_core 0.11.2", - "syn 1.0.109", -] - -[[package]] -name = "derive_builder_macro" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" -dependencies = [ - "derive_builder_core 0.12.0", + "derive_builder_core", "syn 1.0.109", ] -[[package]] -name = "dialoguer" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" -dependencies = [ - "console", - "shell-words", - "tempfile", - "thiserror", - "zeroize", -] - [[package]] name = "digest" version = "0.10.7" @@ -1515,20 +1085,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", - "const-oid", "crypto-common", "subtle", ] -[[package]] -name = "directories" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" -dependencies = [ - "dirs-sys 0.3.7", -] - [[package]] name = "directories-next" version = "2.0.0" @@ -1545,16 +1105,7 @@ version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" dependencies = [ - "dirs-sys 0.3.7", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", + "dirs-sys", ] [[package]] @@ -1568,18 +1119,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -1591,17 +1130,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "docker_credential" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31951f49556e34d90ed28342e1df7e1cb7a229c4cab0aecc627b5d91edd41d07" -dependencies = [ - "base64 0.21.7", - "serde 1.0.203", - "serde_json", -] - [[package]] name = "dotenvy" version = "0.15.7" @@ -1610,9 +1138,9 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dunce" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" @@ -1620,58 +1148,18 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - [[package]] name = "either" version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest", - "ff", - "generic-array", - "group", - "pem-rfc7468", - "pkcs8", - "rand_core 0.6.4", - "sec1", - "subtle", - "zeroize", -] - [[package]] name = "embedded-io" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - [[package]] name = "encoding_rs" version = "0.8.33" @@ -1681,27 +1169,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "enumflags2" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" -dependencies = [ - "enumflags2_derive", - "serde 1.0.203", -] - -[[package]] -name = "enumflags2_derive" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "equivalent" version = "1.0.1" @@ -1718,12 +1185,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "esaxx-rs" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6" - [[package]] name = "event-listener" version = "2.5.3" @@ -1732,54 +1193,22 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "5.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", "pin-project-lite", ] -[[package]] -name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - [[package]] name = "event-listener-strategy" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.3.0", + "event-listener 5.3.1", "pin-project-lite", ] @@ -1812,9 +1241,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fd-lock" @@ -1823,52 +1252,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" dependencies = [ "cfg-if", - "rustix 0.38.31", - "windows-sys 0.52.0", -] - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "filetime" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", + "rustix", "windows-sys 0.52.0", ] -[[package]] -name = "finl_unicode" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -1918,20 +1313,16 @@ version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "033b337d725b97690d86893f9de22b67b80dcc4e9ad815f348254c38119db8fb" dependencies = [ - "io-lifetimes 2.0.3", - "rustix 0.38.31", + "io-lifetimes", + "rustix", "windows-sys 0.52.0", ] [[package]] -name = "fs2" -version = "0.4.3" +name = "fs_extra" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" [[package]] name = "futures" @@ -2002,7 +1393,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 2.0.1", + "fastrand 2.1.0", "futures-core", "futures-io", "parking", @@ -2017,7 +1408,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -2068,7 +1459,7 @@ dependencies = [ "bitflags 2.4.2", "debugid", "fxhash", - "serde 1.0.203", + "serde", "serde_json", ] @@ -2080,7 +1471,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -2107,24 +1497,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "ggml" -version = "0.2.0-dev" -source = "git+https://github.com/rustformers/llm?rev=2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663#2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663" -dependencies = [ - "ggml-sys", - "memmap2", - "thiserror", -] - -[[package]] -name = "ggml-sys" -version = "0.2.0-dev" -source = "git+https://github.com/rustformers/llm?rev=2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663#2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663" -dependencies = [ - "cc", -] - [[package]] name = "gimli" version = "0.28.1" @@ -2143,19 +1515,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "h2" -version = "0.3.26" +name = "h2" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ @@ -2164,43 +1525,33 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http 0.2.11", + "http 0.2.12", "indexmap 2.2.6", "slab", "tokio", - "tokio-util 0.7.10", + "tokio-util", "tracing", ] [[package]] name = "h2" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", "http 1.1.0", "indexmap 2.2.6", "slab", "tokio", - "tokio-util 0.7.10", + "tokio-util", "tracing", ] -[[package]] -name = "half" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" -dependencies = [ - "cfg-if", - "crunchy", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -2224,7 +1575,7 @@ checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ "ahash", "allocator-api2", - "serde 1.0.203", + "serde", ] [[package]] @@ -2242,12 +1593,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - [[package]] name = "hermit-abi" version = "0.1.19" @@ -2264,34 +1609,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] -name = "hex" -version = "0.4.3" +name = "hermit-abi" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" [[package]] -name = "hkdf" -version = "0.12.4" +name = "hmac" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "hmac", + "digest", ] [[package]] -name = "hmac" -version = "0.12.1" +name = "home" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "digest", + "windows-sys 0.52.0", ] [[package]] name = "http" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -2309,15 +1654,6 @@ dependencies = [ "itoa", ] -[[package]] -name = "http-auth" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643c9bbf6a4ea8a656d6b4cd53d34f79e3f841ad5203c1a55fb7d761923bc255" -dependencies = [ - "memchr", -] - [[package]] name = "http-body" version = "0.4.6" @@ -2325,15 +1661,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http 0.2.11", + "http 0.2.12", "pin-project-lite", ] [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http 1.1.0", @@ -2341,14 +1677,14 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cb79eb393015dadd30fc252023adb0b2400a0caee0fa2a077e6e21a551e840" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "pin-project-lite", ] @@ -2365,7 +1701,7 @@ dependencies = [ "infer", "pin-project-lite", "rand 0.7.3", - "serde 1.0.203", + "serde", "serde_json", "serde_qs", "serde_urlencoded", @@ -2374,9 +1710,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -2386,22 +1722,22 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", "futures-core", "futures-util", "h2 0.3.26", - "http 0.2.11", + "http 0.2.12", "http-body 0.4.6", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.5", + "socket2", "tokio", "tower-service", "tracing", @@ -2410,16 +1746,16 @@ dependencies = [ [[package]] name = "hyper" -version = "1.3.1" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.4", + "h2 0.4.6", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "httparse", "httpdate", "itoa", @@ -2436,9 +1772,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http 0.2.11", - "hyper 0.14.28", - "rustls 0.21.10", + "http 0.2.12", + "hyper 0.14.30", + "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", ] @@ -2450,15 +1786,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "399c78f9338483cb7e630c8474b07268983c6bd5acee012e4211f9f7bb21b070" dependencies = [ "futures-util", - "http 0.2.11", - "hyper 0.14.28", + "http 0.2.12", + "hyper 0.14.30", "log", "rustls 0.22.4", "rustls-native-certs", "rustls-pki-types", "tokio", "tokio-rustls 0.25.0", - "webpki-roots 0.26.1", + "webpki-roots 0.26.3", ] [[package]] @@ -2467,7 +1803,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper 0.14.28", + "hyper 0.14.30", "pin-project-lite", "tokio", "tokio-io-timeout", @@ -2480,7 +1816,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper 0.14.28", + "hyper 0.14.30", "native-tls", "tokio", "tokio-native-tls", @@ -2494,7 +1830,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.3.1", + "hyper 1.4.1", "hyper-util", "native-tls", "tokio", @@ -2504,18 +1840,18 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.3" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", - "http-body 1.0.0", - "hyper 1.3.1", + "http-body 1.0.1", + "hyper 1.4.1", "pin-project-lite", - "socket2 0.5.5", + "socket2", "tokio", "tower", "tower-service", @@ -2567,20 +1903,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "im-rc" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" -dependencies = [ - "bitmaps", - "rand_core 0.6.4", - "rand_xoshiro", - "sized-chunks", - "typenum", - "version_check", -] - [[package]] name = "indexmap" version = "1.9.3" @@ -2589,7 +1911,6 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", - "serde 1.0.203", ] [[package]] @@ -2600,19 +1921,7 @@ checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", "hashbrown 0.14.3", - "serde 1.0.203", -] - -[[package]] -name = "indicatif" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b" -dependencies = [ - "console", - "lazy_static 1.4.0", - "number_prefix", - "regex", + "serde", ] [[package]] @@ -2621,46 +1930,25 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac" -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "block-padding", - "generic-array", -] - [[package]] name = "instant" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", ] [[package]] name = "io-extras" -version = "0.18.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c301e73fb90e8a29e600a9f402d095765f74310d582916a952f618836a1bd1ed" +checksum = "c9f046b9af244f13b3bd939f55d16830ac3a201e8a9ba9661bfcb03e2be72b9b" dependencies = [ - "io-lifetimes 2.0.3", + "io-lifetimes", "windows-sys 0.52.0", ] -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "io-lifetimes" version = "2.0.3" @@ -2673,48 +1961,6 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" -[[package]] -name = "is_terminal_polyfill" -version = "1.70.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" - -[[package]] -name = "itertools" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.12.1" @@ -2761,28 +2007,13 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] -[[package]] -name = "jwt" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6204285f77fe7d9784db3fdc449ecce1a0114927a51d5a41c4c7a292011c015f" -dependencies = [ - "base64 0.13.1", - "crypto-common", - "digest", - "hmac", - "serde 1.0.203", - "serde_json", - "sha2", -] - [[package]] name = "keyed_priority_queue" version = "0.4.2" @@ -2792,31 +2023,11 @@ dependencies = [ "indexmap 2.2.6", ] -[[package]] -name = "keyring" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363387f0019d714aa60cc30ab4fe501a747f4c08fc58f069dd14be971bd495a0" -dependencies = [ - "byteorder", - "lazy_static 1.4.0", - "linux-keyutils", - "secret-service", - "security-framework", - "windows-sys 0.52.0", -] - -[[package]] -name = "lazy_static" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73" - [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lazycell" @@ -2830,19 +2041,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" -[[package]] -name = "lexical-core" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" -dependencies = [ - "arrayvec", - "bitflags 1.3.2", - "cfg-if", - "ryu", - "static_assertions", -] - [[package]] name = "libc" version = "0.2.153" @@ -2851,12 +2049,12 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libloading" -version = "0.8.1" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-sys 0.48.0", + "windows-targets 0.52.4", ] [[package]] @@ -2877,9 +2075,9 @@ dependencies = [ [[package]] name = "libsql" -version = "0.3.2" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3879a4ed80a245fd4dd8c8fa139245653e86184ed3ab97a6d6ea592045d25793" +checksum = "1bd17bcc143f2a5be449680dc63b91327d953bcabebe34a69c549fca8934ec9d" dependencies = [ "async-stream", "async-trait", @@ -2888,30 +2086,30 @@ dependencies = [ "bytes", "fallible-iterator 0.3.0", "futures", - "http 0.2.11", - "hyper 0.14.28", + "http 0.2.12", + "hyper 0.14.30", "hyper-rustls 0.25.0", "libsql-hrana", "libsql-sqlite3-parser", - "serde 1.0.203", + "serde", "serde_json", "thiserror", "tokio", - "tokio-util 0.7.10", + "tokio-util", "tower", "tracing", ] [[package]] name = "libsql-hrana" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40f256c5c98e84808e067133253471d6f5961c670f0127150694210fb8e6116a" +checksum = "220a925fe6d49dbfa7523b20f5a5391f579b5d9dcf9dd1225606d00929fcab3a" dependencies = [ "base64 0.21.7", "bytes", "prost", - "serde 1.0.203", + "serde", ] [[package]] @@ -2945,380 +2143,137 @@ dependencies = [ ] [[package]] -name = "linked-hash-map" -version = "0.5.6" +name = "linux-raw-sys" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] -name = "linux-keyutils" -version = "0.2.4" +name = "lock_api" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ - "bitflags 2.4.2", - "libc", + "autocfg", + "scopeguard", ] [[package]] -name = "linux-raw-sys" -version = "0.3.8" +name = "log" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] -name = "linux-raw-sys" -version = "0.4.13" +name = "lru" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" - -[[package]] -name = "llm" -version = "0.2.0-dev" -source = "git+https://github.com/rustformers/llm?rev=2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663#2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663" +checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17" dependencies = [ - "llm-base", - "llm-bloom", - "llm-gpt2", - "llm-gptj", - "llm-gptneox", - "llm-llama", - "llm-mpt", - "serde 1.0.203", - "tracing", + "hashbrown 0.13.2", ] [[package]] -name = "llm-base" -version = "0.2.0-dev" -source = "git+https://github.com/rustformers/llm?rev=2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663#2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663" +name = "lru" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" dependencies = [ - "bytemuck", - "ggml", - "half", - "llm-samplers", - "memmap2", - "partial_sort", - "rand 0.8.5", - "regex", - "serde 1.0.203", - "serde_bytes", - "thiserror", - "tokenizers", - "tracing", + "hashbrown 0.14.3", ] [[package]] -name = "llm-bloom" -version = "0.2.0-dev" -source = "git+https://github.com/rustformers/llm?rev=2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663#2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663" +name = "mach2" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" dependencies = [ - "llm-base", + "libc", ] [[package]] -name = "llm-gpt2" -version = "0.2.0-dev" -source = "git+https://github.com/rustformers/llm?rev=2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663#2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663" +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "bytemuck", - "llm-base", + "regex-automata 0.1.10", ] [[package]] -name = "llm-gptj" -version = "0.2.0-dev" -source = "git+https://github.com/rustformers/llm?rev=2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663#2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663" -dependencies = [ - "llm-base", -] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" [[package]] -name = "llm-gptneox" -version = "0.2.0-dev" -source = "git+https://github.com/rustformers/llm?rev=2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663#2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663" -dependencies = [ - "llm-base", -] +name = "maybe-owned" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" [[package]] -name = "llm-llama" -version = "0.2.0-dev" -source = "git+https://github.com/rustformers/llm?rev=2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663#2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663" +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ - "llm-base", - "tracing", + "cfg-if", + "digest", ] [[package]] -name = "llm-mpt" -version = "0.2.0-dev" -source = "git+https://github.com/rustformers/llm?rev=2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663#2f6ffd4435799ceaa1d1bcb5a8790e5b3e0c5663" -dependencies = [ - "llm-base", -] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] -name = "llm-samplers" -version = "0.0.6" +name = "memfd" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7553f60d113c9cdc6a5402456a31cd9a273bef79f6f16d8a4f7b4bedf5f754b2" +checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "anyhow", - "num-traits 0.2.19", - "rand 0.8.5", - "thiserror", + "rustix", ] [[package]] -name = "lock_api" -version = "0.4.11" +name = "memoffset" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" dependencies = [ "autocfg", - "scopeguard", ] [[package]] -name = "log" -version = "0.4.20" +name = "mime" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] -name = "logos" -version = "0.13.0" +name = "minimal-lexical" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c000ca4d908ff18ac99b93a062cb8958d331c3220719c52e77cb19cc6ac5d2c1" -dependencies = [ - "logos-derive 0.13.0", -] +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] -name = "logos" -version = "0.14.0" +name = "miniz_oxide" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "161971eb88a0da7ae0c333e1063467c5b5727e7fb6b710b8db4814eade3a42e8" -dependencies = [ - "logos-derive 0.14.0", -] - -[[package]] -name = "logos-codegen" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68" -dependencies = [ - "beef", - "fnv", - "proc-macro2", - "quote", - "regex-syntax 0.6.29", - "syn 2.0.48", -] - -[[package]] -name = "logos-codegen" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e31badd9de5131fdf4921f6473d457e3dd85b11b7f091ceb50e4df7c3eeb12a" -dependencies = [ - "beef", - "fnv", - "lazy_static 1.4.0", - "proc-macro2", - "quote", - "regex-syntax 0.8.2", - "syn 2.0.48", -] - -[[package]] -name = "logos-derive" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbfc0d229f1f42d790440136d941afd806bc9e949e2bcb8faa813b0f00d1267e" -dependencies = [ - "logos-codegen 0.13.0", -] - -[[package]] -name = "logos-derive" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2a69b3eb68d5bd595107c9ee58d7e07fe2bb5e360cc85b0f084dedac80de0a" -dependencies = [ - "logos-codegen 0.14.0", -] - -[[package]] -name = "lru" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17" -dependencies = [ - "hashbrown 0.13.2", -] - -[[package]] -name = "lru" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" -dependencies = [ - "hashbrown 0.14.3", -] - -[[package]] -name = "mach2" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" -dependencies = [ - "libc", -] - -[[package]] -name = "macro_rules_attribute" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf0c9b980bf4f3a37fd7b1c066941dd1b1d0152ce6ee6e8fe8c49b9f6810d862" -dependencies = [ - "macro_rules_attribute-proc_macro", - "paste", -] - -[[package]] -name = "macro_rules_attribute-proc_macro" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58093314a45e00c77d5c508f76e77c3396afbbc0d01506e7fae47b018bac2b1d" - -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - -[[package]] -name = "maybe-owned" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4facc753ae494aeb6e3c22f839b158aebd4f9270f55cd3c79906c45476c47ab4" - -[[package]] -name = "md-5" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" -dependencies = [ - "cfg-if", - "digest", -] - -[[package]] -name = "memchr" -version = "2.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" - -[[package]] -name = "memfd" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" -dependencies = [ - "rustix 0.38.31", -] - -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] - -[[package]] -name = "miette" -version = "7.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4edc8853320c2a0dab800fbda86253c8938f6ea88510dc92c5f1ed20e794afc1" -dependencies = [ - "cfg-if", - "miette-derive", - "thiserror", - "unicode-width", -] - -[[package]] -name = "miette-derive" -version = "7.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mime_guess" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ - "mime", - "unicase", + "adler", ] -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] @@ -3334,31 +2289,10 @@ dependencies = [ ] [[package]] -name = "monostate" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "878c2a1f1c70e5724fa28f101ca787b6a7e8ad5c5e4ae4ca3b0fa4a419fa9075" -dependencies = [ - "monostate-impl", - "serde 1.0.203", -] - -[[package]] -name = "monostate-impl" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f686d68a09079e63b1d2c64aa305095887ce50565f00a922ebfaeeee0d9ba6ce" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "multimap" -version = "0.8.3" +name = "mirai-annotations" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" [[package]] name = "mysql_async" @@ -3373,8 +2307,8 @@ dependencies = [ "futures-sink", "futures-util", "keyed_priority_queue", - "lazy_static 1.4.0", - "lru 0.12.3", + "lazy_static", + "lru 0.12.4", "mio", "mysql_common", "native-tls", @@ -3383,13 +2317,13 @@ dependencies = [ "percent-encoding", "pin-project", "rand 0.8.5", - "serde 1.0.203", + "serde", "serde_json", - "socket2 0.5.5", + "socket2", "thiserror", "tokio", "tokio-native-tls", - "tokio-util 0.7.10", + "tokio-util", "twox-hash", "url", ] @@ -3401,7 +2335,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06f19e4cfa0ab5a76b627cec2d81331c49b034988eaf302c3bafeada684eadef" dependencies = [ "base64 0.21.7", - "bindgen", + "bindgen 0.70.1", "bitflags 2.4.2", "btoi", "byteorder", @@ -3410,13 +2344,13 @@ dependencies = [ "cmake", "crc32fast", "flate2", - "lazy_static 1.4.0", + "lazy_static", "num-bigint", - "num-traits 0.2.19", + "num-traits", "rand 0.8.5", "regex", "saturating", - "serde 1.0.203", + "serde", "serde_json", "sha1 0.10.6", "sha2", @@ -3429,11 +2363,10 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static 1.4.0", "libc", "log", "openssl", @@ -3445,18 +2378,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.7.1", -] - [[package]] name = "nix" version = "0.28.0" @@ -3469,17 +2390,6 @@ dependencies = [ "libc", ] -[[package]] -name = "nom" -version = "5.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b" -dependencies = [ - "lexical-core", - "memchr", - "version_check", -] - [[package]] name = "nom" version = "7.1.3" @@ -3490,15 +2400,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "normpath" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5831952a9476f2fed74b77d74182fa5ddc4d21c72ec45a333b250e3ed0272804" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -3509,37 +2410,14 @@ dependencies = [ "winapi", ] -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits 0.2.19", -] - [[package]] name = "num-bigint" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" -dependencies = [ - "num-integer", - "num-traits 0.2.19", -] - -[[package]] -name = "num-complex" version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "num-traits 0.2.19", + "num-integer", + "num-traits", ] [[package]] @@ -3554,38 +2432,7 @@ version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "num-traits 0.2.19", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits 0.2.19", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits 0.2.19", -] - -[[package]] -name = "num-traits" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" -dependencies = [ - "num-traits 0.2.19", + "num-traits", ] [[package]] @@ -3609,19 +2456,13 @@ dependencies = [ [[package]] name = "num_threads" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" dependencies = [ "libc", ] -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - [[package]] name = "oauth2" version = "4.4.2" @@ -3631,9 +2472,9 @@ dependencies = [ "base64 0.13.1", "chrono", "getrandom 0.2.12", - "http 0.2.11", + "http 0.2.12", "rand 0.8.5", - "serde 1.0.203", + "serde", "serde_json", "serde_path_to_error", "sha2", @@ -3662,92 +2503,17 @@ dependencies = [ "memchr", ] -[[package]] -name = "oci-distribution" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b95a2c51531af0cb93761f66094044ca6ea879320bccd35ab747ff3fcab3f422" -dependencies = [ - "bytes", - "chrono", - "futures-util", - "http 1.1.0", - "http-auth", - "jwt", - "lazy_static 1.4.0", - "olpc-cjson", - "regex", - "reqwest 0.12.4", - "serde 1.0.203", - "serde_json", - "sha2", - "thiserror", - "tokio", - "tracing", - "unicase", -] - -[[package]] -name = "oci-wasm" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91502e5352f927156f2b6a28d2558cc59558b1f441b681df3f706ced6937e07" -dependencies = [ - "anyhow", - "chrono", - "oci-distribution", - "serde 1.0.203", - "serde_json", - "sha2", - "tokio", - "wit-component 0.209.1", - "wit-parser 0.209.1", -] - -[[package]] -name = "olpc-cjson" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d637c9c15b639ccff597da8f4fa968300651ad2f1e968aefc3b4927a6fb2027a" -dependencies = [ - "serde 1.0.203", - "serde_json", - "unicode-normalization", -] - [[package]] name = "once_cell" version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -[[package]] -name = "onig" -version = "6.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f" -dependencies = [ - "bitflags 1.3.2", - "libc", - "once_cell", - "onig_sys", -] - -[[package]] -name = "onig_sys" -version = "69.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7" -dependencies = [ - "cc", - "pkg-config", -] - [[package]] name = "openssl" -version = "0.10.64" +version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ "bitflags 2.4.2", "cfg-if", @@ -3766,7 +2532,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -3777,9 +2543,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.102" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", @@ -3810,9 +2576,9 @@ checksum = "7690dc77bf776713848c4faa6501157469017eaf332baccd4eb1cea928743d94" dependencies = [ "async-trait", "bytes", - "http 0.2.11", + "http 0.2.12", "opentelemetry", - "reqwest 0.11.24", + "reqwest 0.11.27", ] [[package]] @@ -3823,14 +2589,14 @@ checksum = "1a016b8d9495c639af2145ac22387dcb88e44118e45320d9238fbf4e7889abcb" dependencies = [ "async-trait", "futures-core", - "http 0.2.11", + "http 0.2.12", "opentelemetry", "opentelemetry-http", "opentelemetry-proto", "opentelemetry-semantic-conventions", "opentelemetry_sdk", "prost", - "reqwest 0.11.24", + "reqwest 0.11.27", "thiserror", "tokio", "tonic", @@ -3868,7 +2634,7 @@ dependencies = [ "glob", "once_cell", "opentelemetry", - "ordered-float 4.2.0", + "ordered-float", "percent-encoding", "rand 0.8.5", "serde_json", @@ -3877,38 +2643,13 @@ dependencies = [ "tokio-stream", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits 0.2.19", -] - [[package]] name = "ordered-float" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e" -dependencies = [ - "num-traits 0.2.19", -] - -[[package]] -name = "ordered-stream" -version = "0.2.0" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +checksum = "4a91171844676f8c7990ce64959210cd2eaef32c2612c50f9fae9f8aaa6065a6" dependencies = [ - "futures-core", - "pin-project-lite", + "num-traits", ] [[package]] @@ -3917,112 +2658,12 @@ version = "6.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" -[[package]] -name = "outbound-http" -version = "2.8.0-pre0" -dependencies = [ - "anyhow", - "http 0.2.11", - "reqwest 0.11.24", - "spin-app", - "spin-core", - "spin-expressions", - "spin-locked-app", - "spin-outbound-networking", - "spin-telemetry", - "spin-world", - "terminal", - "tracing", - "url", -] - -[[package]] -name = "outbound-mqtt" -version = "2.8.0-pre0" -dependencies = [ - "anyhow", - "rumqttc", - "spin-app", - "spin-core", - "spin-expressions", - "spin-outbound-networking", - "spin-world", - "table", - "tokio", - "tracing", -] - -[[package]] -name = "outbound-mysql" -version = "2.8.0-pre0" -dependencies = [ - "anyhow", - "flate2", - "mysql_async", - "mysql_common", - "spin-app", - "spin-core", - "spin-expressions", - "spin-outbound-networking", - "spin-world", - "table", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "outbound-pg" -version = "2.8.0-pre0" -dependencies = [ - "anyhow", - "native-tls", - "postgres-native-tls", - "spin-app", - "spin-core", - "spin-expressions", - "spin-outbound-networking", - "spin-world", - "table", - "tokio", - "tokio-postgres", - "tracing", -] - -[[package]] -name = "outbound-redis" -version = "2.8.0-pre0" -dependencies = [ - "anyhow", - "redis", - "spin-app", - "spin-core", - "spin-expressions", - "spin-outbound-networking", - "spin-world", - "table", - "tokio", - "tracing", -] - [[package]] name = "overload" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -[[package]] -name = "p256" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2", -] - [[package]] name = "parking" version = "2.2.0" @@ -4052,119 +2693,20 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "partial_sort" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" - -[[package]] -name = "password-hash" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" -dependencies = [ - "base64ct", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "paste" version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" -[[package]] -name = "path-absolutize" -version = "3.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4af381fe79fa195b4909485d99f73a80792331df0625188e707854f0b3383f5" -dependencies = [ - "path-dedot", -] - -[[package]] -name = "path-dedot" -version = "3.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ba0ad7e047712414213ff67533e6dd477af0a4e1d14fb52343e53d30ea9397" -dependencies = [ - "once_cell", -] - -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - -[[package]] -name = "pbjson" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1030c719b0ec2a2d25a5df729d6cff1acf3cc230bf766f4f97833591f7577b90" -dependencies = [ - "base64 0.21.7", - "serde 1.0.203", -] - -[[package]] -name = "pbjson-build" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2580e33f2292d34be285c5bc3dba5259542b083cfad6037b6d70345f24dcb735" -dependencies = [ - "heck 0.4.1", - "itertools 0.11.0", - "prost", - "prost-types", -] - -[[package]] -name = "pbjson-types" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18f596653ba4ac51bdecbb4ef6773bc7f56042dc13927910de1684ad3d32aa12" -dependencies = [ - "bytes", - "chrono", - "pbjson", - "pbjson-build", - "prost", - "prost-build", - "serde 1.0.203", -] - -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest", - "hmac", - "password-hash", - "sha2", -] - [[package]] name = "pem" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8fcc794035347fb64beda2d3b462595dd2753e3f268d89c5aae77e8cf2c310" -dependencies = [ - "base64 0.21.7", - "serde 1.0.203", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" dependencies = [ - "base64ct", + "base64 0.22.1", + "serde", ] [[package]] @@ -4173,16 +2715,6 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset", - "indexmap 2.2.6", -] - [[package]] name = "phf" version = "0.11.2" @@ -4239,7 +2771,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -4256,25 +2788,15 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.1" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand 2.0.1", + "fastrand 2.1.0", "futures-io", ] -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - [[package]] name = "pkg-config" version = "0.3.29" @@ -4283,31 +2805,15 @@ checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" [[package]] name = "polling" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "concurrent-queue", - "libc", - "log", - "pin-project-lite", - "windows-sys 0.48.0", -] - -[[package]] -name = "polling" -version = "3.7.0" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.3.9", + "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.31", + "rustix", "tracing", "windows-sys 0.52.0", ] @@ -4320,7 +2826,7 @@ checksum = "a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8" dependencies = [ "cobs", "embedded-io", - "serde 1.0.203", + "serde", ] [[package]] @@ -4338,11 +2844,11 @@ dependencies = [ [[package]] name = "postgres-protocol" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520" +checksum = "acda0ebdebc28befa84bee35e651e4c5f09073d668c7aed4cf7e23c3cda84b23" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "byteorder", "bytes", "fallible-iterator 0.2.0", @@ -4356,9 +2862,9 @@ dependencies = [ [[package]] name = "postgres-types" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d2234cdee9408b523530a9b6d2d6b373d1db34f6a8e51dc03ded1828d7fb67c" +checksum = "02048d9e032fb3cc3413bbf7b83a15d84a5d419778e2628751896d856498eee9" dependencies = [ "bytes", "fallible-iterator 0.2.0", @@ -4373,42 +2879,26 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "prettyplease" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] -name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" -dependencies = [ - "elliptic-curve", -] - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "proc-macro-error" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ @@ -4432,9 +2922,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -4449,27 +2939,6 @@ dependencies = [ "prost-derive", ] -[[package]] -name = "prost-build" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" -dependencies = [ - "bytes", - "heck 0.5.0", - "itertools 0.12.1", - "log", - "multimap", - "once_cell", - "petgraph", - "prettyplease", - "prost", - "prost-types", - "regex", - "syn 2.0.48", - "tempfile", -] - [[package]] name = "prost-derive" version = "0.12.6" @@ -4477,59 +2946,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools", "proc-macro2", "quote", - "syn 2.0.48", -] - -[[package]] -name = "prost-reflect" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f5eec97d5d34bdd17ad2db2219aabf46b054c6c41bd5529767c9ce55be5898f" -dependencies = [ - "logos 0.14.0", - "miette", - "once_cell", - "prost", - "prost-types", -] - -[[package]] -name = "prost-types" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" -dependencies = [ - "prost", -] - -[[package]] -name = "protox" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a29b3c5596eb23a849deba860b53ffd468199d9ad5fe4402a7d55379e16aa2d2" -dependencies = [ - "bytes", - "miette", - "prost", - "prost-reflect", - "prost-types", - "protox-parse", - "thiserror", -] - -[[package]] -name = "protox-parse" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "033b939d76d358f7c32120c86c71f515bae45e64f2bde455200356557276276c" -dependencies = [ - "logos 0.13.0", - "miette", - "prost-types", - "thiserror", + "syn 2.0.75", ] [[package]] @@ -4541,22 +2961,6 @@ dependencies = [ "cc", ] -[[package]] -name = "ptree" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0de80796b316aec75344095a6d2ef68ec9b8f573b9e7adc821149ba3598e270" -dependencies = [ - "ansi_term", - "atty", - "config", - "directories", - "petgraph", - "serde 1.0.203", - "serde-value", - "tint", -] - [[package]] name = "quote" version = "1.0.35" @@ -4637,15 +3041,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core 0.6.4", -] - [[package]] name = "rayon" version = "1.8.1" @@ -4656,17 +3051,6 @@ dependencies = [ "rayon-core", ] -[[package]] -name = "rayon-cond" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd1259362c9065e5ea39a789ef40b1e3fd934c94beb7b5ab3ac6629d3b5e7cb7" -dependencies = [ - "either", - "itertools 0.8.2", - "rayon", -] - [[package]] name = "rayon-core" version = "1.12.1" @@ -4695,7 +3079,7 @@ dependencies = [ "sha1 0.6.1", "tokio", "tokio-native-tls", - "tokio-util 0.7.10", + "tokio-util", "url", ] @@ -4734,14 +3118,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ - "aho-corasick 1.1.2", + "aho-corasick", "memchr", "regex-automata 0.4.7", - "regex-syntax 0.8.2", + "regex-syntax 0.8.4", ] [[package]] @@ -4759,9 +3143,9 @@ version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ - "aho-corasick 1.1.2", + "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.4", ] [[package]] @@ -4772,21 +3156,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" - -[[package]] -name = "regex-syntax" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "reqwest" -version = "0.11.24" +version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ "async-compression", "base64 0.21.7", @@ -4795,9 +3173,9 @@ dependencies = [ "futures-core", "futures-util", "h2 0.3.26", - "http 0.2.11", + "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.28", + "hyper 0.14.30", "hyper-rustls 0.24.2", "hyper-tls 0.5.0", "ipnet", @@ -4808,17 +3186,17 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.10", + "rustls 0.21.12", "rustls-pemfile 1.0.4", - "serde 1.0.203", + "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "system-configuration", "tokio", "tokio-native-tls", "tokio-rustls 0.24.1", - "tokio-util 0.7.10", + "tokio-util", "tower-service", "url", "wasm-bindgen", @@ -4830,20 +3208,18 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "bytes", - "encoding_rs", "futures-core", "futures-util", - "h2 0.4.4", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", - "hyper 1.3.1", + "hyper 1.4.1", "hyper-tls 0.6.0", "hyper-util", "ipnet", @@ -4854,16 +3230,14 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile 2.1.2", - "serde 1.0.203", + "rustls-pemfile 2.1.3", + "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", - "system-configuration", + "sync_wrapper 1.0.1", "tokio", "tokio-native-tls", - "tokio-socks", - "tokio-util 0.7.10", + "tokio-util", "tower-service", "url", "wasm-bindgen", @@ -4873,16 +3247,6 @@ dependencies = [ "winreg 0.52.0", ] -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - [[package]] name = "ring" version = "0.17.8" @@ -4909,8 +3273,8 @@ dependencies = [ "futures-util", "log", "rustls-native-certs", - "rustls-pemfile 2.1.2", - "rustls-webpki 0.102.2", + "rustls-pemfile 2.1.3", + "rustls-webpki 0.102.6", "thiserror", "tokio", "tokio-rustls 0.25.0", @@ -4931,12 +3295,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "rust-ini" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2" - [[package]] name = "rustc-demangle" version = "0.1.23" @@ -4967,10 +3325,10 @@ dependencies = [ "anyhow", "async-trait", "bytes", - "http 0.2.11", - "reqwest 0.11.24", + "http 0.2.12", + "reqwest 0.11.27", "rustify_derive", - "serde 1.0.203", + "serde", "serde_json", "serde_urlencoded", "thiserror", @@ -4980,9 +3338,9 @@ dependencies = [ [[package]] name = "rustify_derive" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58135536c18c04f4634bedad182a3f41baf33ef811cc38a3ec7b7061c57134c8" +checksum = "7345f32672da54338227b727bd578c897859ddfaad8952e0b0d787fb4e58f07d" dependencies = [ "proc-macro2", "quote", @@ -4992,20 +3350,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "rustix" -version = "0.37.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes 1.0.11", - "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", -] - [[package]] name = "rustix" version = "0.38.31" @@ -5016,16 +3360,16 @@ dependencies = [ "errno", "itoa", "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys", "once_cell", "windows-sys 0.52.0", ] [[package]] name = "rustls" -version = "0.21.10" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring", @@ -5042,19 +3386,34 @@ dependencies = [ "log", "ring", "rustls-pki-types", - "rustls-webpki 0.102.2", + "rustls-webpki 0.102.6", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls" +version = "0.23.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +dependencies = [ + "aws-lc-rs", + "log", + "once_cell", + "rustls-pki-types", + "rustls-webpki 0.102.6", "subtle", "zeroize", ] [[package]] name = "rustls-native-certs" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" +checksum = "04182dffc9091a404e0fc069ea5cd60e5b866c3adf881eff99a32d048242dffa" dependencies = [ "openssl-probe", - "rustls-pemfile 2.1.2", + "rustls-pemfile 2.1.3", "rustls-pki-types", "schannel", "security-framework", @@ -5071,19 +3430,19 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" dependencies = [ - "base64 0.22.0", + "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" [[package]] name = "rustls-webpki" @@ -5097,10 +3456,11 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.2" +version = "0.102.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" dependencies = [ + "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", @@ -5108,9 +3468,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ryu" @@ -5118,22 +3478,13 @@ version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" -[[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 = "sanitize-filename" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c502bdb638f1396509467cb0580ef3b29aa2a45c5d43e5d84928241280296c" +checksum = "2ed72fbaf78e6f2d41744923916966c4fbe3d7c74e3037a8ee482f1115572603" dependencies = [ - "lazy_static 1.4.0", + "lazy_static", "regex", ] @@ -5168,54 +3519,11 @@ dependencies = [ "untrusted", ] -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", -] - -[[package]] -name = "secrecy" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" -dependencies = [ - "serde 1.0.203", - "zeroize", -] - -[[package]] -name = "secret-service" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5204d39df37f06d1944935232fd2dfe05008def7ca599bf28c0800366c8a8f9" -dependencies = [ - "aes", - "cbc", - "futures-util", - "generic-array", - "hkdf", - "num", - "once_cell", - "rand 0.8.5", - "serde 1.0.203", - "sha2", - "zbus", -] - [[package]] name = "security-framework" -version = "2.9.2" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -5226,9 +3534,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" dependencies = [ "core-foundation-sys", "libc", @@ -5239,15 +3547,6 @@ name = "semver" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde 1.0.203", -] - -[[package]] -name = "serde" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8" [[package]] name = "serde" @@ -5258,37 +3557,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-hjson" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a3a4e0ea8a88553209f6cc6cfe8724ecad22e1acf372793c27d995290fe74f8" -dependencies = [ - "lazy_static 1.4.0", - "num-traits 0.1.43", - "regex", - "serde 0.8.23", -] - -[[package]] -name = "serde-value" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" -dependencies = [ - "ordered-float 2.10.1", - "serde 1.0.203", -] - -[[package]] -name = "serde_bytes" -version = "0.11.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" -dependencies = [ - "serde 1.0.203", -] - [[package]] name = "serde_derive" version = "1.0.203" @@ -5297,7 +3565,7 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -5308,7 +3576,7 @@ checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", - "serde 1.0.203", + "serde", ] [[package]] @@ -5318,7 +3586,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" dependencies = [ "itoa", - "serde 1.0.203", + "serde", ] [[package]] @@ -5328,28 +3596,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" dependencies = [ "percent-encoding", - "serde 1.0.203", + "serde", "thiserror", ] -[[package]] -name = "serde_repr" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "serde_spanned" version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ - "serde 1.0.203", + "serde", ] [[package]] @@ -5361,50 +3618,7 @@ dependencies = [ "form_urlencoded", "itoa", "ryu", - "serde 1.0.203", -] - -[[package]] -name = "serde_with" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" -dependencies = [ - "base64 0.22.0", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.2.6", - "serde 1.0.203", - "serde_derive", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" -dependencies = [ - "darling 0.20.9", - "proc-macro2", - "quote", - "syn 2.0.48", -] - -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap 2.2.6", - "itoa", - "ryu", - "serde 1.0.203", - "unsafe-libyaml", + "serde", ] [[package]] @@ -5429,9 +3643,9 @@ dependencies = [ [[package]] name = "sha1_smol" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" [[package]] name = "sha2" @@ -5444,50 +3658,22 @@ dependencies = [ "digest", ] -[[package]] -name = "sha256" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18278f6a914fa3070aa316493f7d2ddfb9ac86ebc06fa3b83bffda487e9065b0" -dependencies = [ - "async-trait", - "bytes", - "hex", - "sha2", - "tokio", -] - [[package]] name = "sharded-slab" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ - "lazy_static 1.4.0", + "lazy_static", ] -[[package]] -name = "shell-words" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" - [[package]] name = "shellexpand" version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4" dependencies = [ - "dirs 4.0.0", -] - -[[package]] -name = "shellexpand" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" -dependencies = [ - "dirs 5.0.1", + "dirs", ] [[package]] @@ -5505,32 +3691,12 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core 0.6.4", -] - [[package]] name = "siphasher" version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" -[[package]] -name = "sized-chunks" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" -dependencies = [ - "bitmaps", - "typenum", -] - [[package]] name = "slab" version = "0.4.9" @@ -5552,17 +3718,7 @@ version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" dependencies = [ - "serde 1.0.203", -] - -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", + "serde", ] [[package]] @@ -5577,9 +3733,9 @@ dependencies = [ [[package]] name = "spdx" -version = "0.10.3" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bde1398b09b9f93fc2fc9b9da86e362693e999d3a54a8ac47a99a5a73f638b" +checksum = "47317bbaf63785b53861e1ae2d11b80d6b624211d42cb20efcd210ee6f8a14bc" dependencies = [ "smallvec", ] @@ -5599,7 +3755,7 @@ version = "2.8.0-pre0" dependencies = [ "anyhow", "async-trait", - "serde 1.0.203", + "serde", "serde_json", "spin-locked-app", "spin-serde", @@ -5611,7 +3767,7 @@ name = "spin-common" version = "2.8.0-pre0" dependencies = [ "anyhow", - "dirs 4.0.0", + "dirs", "sha2", "tempfile", "tokio", @@ -5625,9 +3781,9 @@ dependencies = [ "anyhow", "tracing", "wasm-encoder 0.200.0", - "wasm-metadata 0.200.0", + "wasm-metadata", "wasmparser 0.200.0", - "wit-component 0.200.0", + "wit-component", "wit-parser 0.200.0", ] @@ -5649,19 +3805,102 @@ dependencies = [ "async-trait", "dotenvy", "once_cell", - "serde 1.0.203", + "serde", "spin-locked-app", "thiserror", ] [[package]] -name = "spin-key-value" +name = "spin-factor-key-value" version = "2.8.0-pre0" dependencies = [ "anyhow", - "lru 0.9.0", - "spin-app", + "serde", + "spin-factors", + "spin-key-value", + "spin-world", + "toml", +] + +[[package]] +name = "spin-factor-key-value-azure" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "serde", + "spin-factor-key-value", + "spin-key-value-azure", +] + +[[package]] +name = "spin-factor-key-value-redis" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "serde", + "spin-factor-key-value", + "spin-key-value-redis", +] + +[[package]] +name = "spin-factor-key-value-spin" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "serde", + "spin-factor-key-value", + "spin-key-value-sqlite", +] + +[[package]] +name = "spin-factor-llm" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "async-trait", + "serde", + "spin-factors", + "spin-llm-remote-http", + "spin-locked-app", + "spin-world", + "tokio", + "toml", + "tracing", + "url", +] + +[[package]] +name = "spin-factor-outbound-http" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", + "reqwest 0.11.27", + "rustls 0.23.12", + "spin-factor-outbound-networking", + "spin-factors", + "spin-telemetry", + "spin-world", + "terminal", + "tokio", + "tokio-rustls 0.26.0", + "tracing", + "wasmtime", + "wasmtime-wasi", + "wasmtime-wasi-http", +] + +[[package]] +name = "spin-factor-outbound-mqtt" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "rumqttc", "spin-core", + "spin-factor-outbound-networking", + "spin-factors", "spin-world", "table", "tokio", @@ -5669,139 +3908,243 @@ dependencies = [ ] [[package]] -name = "spin-key-value-azure" +name = "spin-factor-outbound-mysql" version = "2.8.0-pre0" dependencies = [ "anyhow", - "azure_data_cosmos", - "azure_identity", - "futures", - "serde 1.0.203", + "flate2", + "mysql_async", + "mysql_common", + "spin-app", "spin-core", - "spin-key-value", + "spin-expressions", + "spin-factor-outbound-networking", + "spin-factors", + "spin-outbound-networking", + "spin-world", + "table", "tokio", "tracing", "url", ] [[package]] -name = "spin-key-value-redis" +name = "spin-factor-outbound-networking" version = "2.8.0-pre0" dependencies = [ "anyhow", - "redis", + "futures-util", + "http 1.1.0", + "ipnet", + "rustls 0.23.12", + "rustls-pemfile 2.1.3", + "rustls-pki-types", + "serde", + "spin-factor-variables", + "spin-factor-wasi", + "spin-factors", + "spin-outbound-networking", + "spin-serde", + "tracing", + "webpki-roots 0.26.3", +] + +[[package]] +name = "spin-factor-outbound-pg" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "native-tls", + "postgres-native-tls", "spin-core", - "spin-key-value", + "spin-factor-outbound-networking", + "spin-factors", "spin-world", + "table", "tokio", + "tokio-postgres", "tracing", - "url", ] [[package]] -name = "spin-key-value-sqlite" +name = "spin-factor-outbound-redis" version = "2.8.0-pre0" dependencies = [ "anyhow", - "once_cell", - "rusqlite", + "redis", "spin-core", - "spin-key-value", + "spin-factor-outbound-networking", + "spin-factors", + "spin-world", + "table", + "tracing", +] + +[[package]] +name = "spin-factor-sqlite" +version = "2.8.0-pre0" +dependencies = [ + "async-trait", + "serde", + "spin-factors", + "spin-locked-app", + "spin-sqlite", + "spin-sqlite-inproc", + "spin-sqlite-libsql", + "spin-world", + "table", + "tokio", + "toml", +] + +[[package]] +name = "spin-factor-variables" +version = "2.8.0-pre0" +dependencies = [ + "azure_core", + "azure_identity", + "azure_security_keyvault", + "dotenvy", + "serde", + "spin-expressions", + "spin-factors", "spin-world", "tokio", + "toml", "tracing", + "vaultrs", +] + +[[package]] +name = "spin-factor-wasi" +version = "2.8.0-pre0" +dependencies = [ + "async-trait", + "bytes", + "cap-primitives", + "spin-common", + "spin-factors", + "tokio", + "wasmtime", + "wasmtime-wasi", ] [[package]] -name = "spin-llm" +name = "spin-factors" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "cargo-target-dep", + "serde", + "spin-app", + "spin-factors-derive", + "thiserror", + "toml", + "tracing", + "wasmtime", +] + +[[package]] +name = "spin-factors-derive" +version = "2.8.0-pre0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.75", +] + +[[package]] +name = "spin-factors-executor" version = "2.8.0-pre0" dependencies = [ "anyhow", - "bytesize", - "llm", "spin-app", "spin-core", - "spin-world", + "spin-factors", ] [[package]] -name = "spin-llm-remote-http" +name = "spin-key-value" version = "2.8.0-pre0" dependencies = [ "anyhow", - "http 0.2.11", - "reqwest 0.11.24", - "serde 1.0.203", - "serde_json", - "spin-telemetry", + "lru 0.9.0", + "spin-app", + "spin-core", "spin-world", + "table", + "tokio", "tracing", ] [[package]] -name = "spin-loader" +name = "spin-key-value-azure" version = "2.8.0-pre0" dependencies = [ "anyhow", - "async-trait", - "bytes", - "dirs 4.0.0", - "dunce", + "azure_data_cosmos", + "azure_identity", "futures", - "glob", - "indexmap 1.9.3", - "itertools 0.10.5", - "lazy_static 1.4.0", - "mime_guess", - "path-absolutize", - "regex", - "reqwest 0.11.24", - "semver", - "serde 1.0.203", - "serde_json", - "sha2", - "shellexpand 3.1.0", - "spin-common", - "spin-locked-app", - "spin-manifest", - "spin-outbound-networking", - "tempfile", - "terminal", - "thiserror", + "serde", + "spin-core", + "spin-key-value", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "spin-key-value-redis" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "redis", + "spin-core", + "spin-key-value", + "spin-world", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "spin-key-value-sqlite" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "once_cell", + "rusqlite", + "spin-core", + "spin-key-value", + "spin-world", "tokio", - "tokio-util 0.6.10", - "toml 0.8.14", "tracing", - "walkdir", - "wasm-pkg-loader", ] [[package]] -name = "spin-locked-app" +name = "spin-llm-remote-http" version = "2.8.0-pre0" dependencies = [ "anyhow", - "async-trait", - "serde 1.0.203", + "http 0.2.12", + "reqwest 0.11.27", + "serde", "serde_json", - "spin-serde", - "thiserror", + "spin-telemetry", + "spin-world", + "tracing", ] [[package]] -name = "spin-manifest" +name = "spin-locked-app" version = "2.8.0-pre0" dependencies = [ "anyhow", - "indexmap 1.9.3", - "semver", - "serde 1.0.203", + "async-trait", + "serde", + "serde_json", "spin-serde", - "terminal", "thiserror", - "toml 0.8.14", - "url", - "wasm-pkg-common", ] [[package]] @@ -5818,12 +4161,35 @@ dependencies = [ "urlencoding", ] +[[package]] +name = "spin-runtime-config" +version = "2.8.0-pre0" +dependencies = [ + "anyhow", + "spin-factor-key-value", + "spin-factor-key-value-azure", + "spin-factor-key-value-redis", + "spin-factor-key-value-spin", + "spin-factor-llm", + "spin-factor-outbound-http", + "spin-factor-outbound-mqtt", + "spin-factor-outbound-mysql", + "spin-factor-outbound-networking", + "spin-factor-outbound-pg", + "spin-factor-outbound-redis", + "spin-factor-sqlite", + "spin-factor-variables", + "spin-factor-wasi", + "spin-factors", + "toml", +] + [[package]] name = "spin-serde" version = "2.8.0-pre0" dependencies = [ "base64 0.21.7", - "serde 1.0.203", + "serde", ] [[package]] @@ -5875,7 +4241,7 @@ name = "spin-telemetry" version = "2.8.0-pre0" dependencies = [ "anyhow", - "http 0.2.11", + "http 0.2.12", "http 1.1.0", "opentelemetry", "opentelemetry-otlp", @@ -5894,75 +4260,34 @@ name = "spin-trigger" version = "2.8.0-pre0" dependencies = [ "anyhow", - "async-trait", - "clap 3.2.25", + "clap", "ctrlc", - "dirs 4.0.0", "futures", - "http 1.1.0", - "indexmap 1.9.3", - "ipnet", - "outbound-http", - "outbound-mqtt", - "outbound-mysql", - "outbound-pg", - "outbound-redis", - "rustls-pemfile 2.1.2", - "rustls-pki-types", "sanitize-filename", - "serde 1.0.203", + "serde", "serde_json", "spin-app", "spin-common", "spin-componentize", "spin-core", - "spin-expressions", - "spin-key-value", - "spin-key-value-azure", - "spin-key-value-redis", - "spin-key-value-sqlite", - "spin-llm", - "spin-llm-remote-http", - "spin-loader", - "spin-manifest", - "spin-outbound-networking", - "spin-serde", - "spin-sqlite", - "spin-sqlite-inproc", - "spin-sqlite-libsql", + "spin-factor-key-value", + "spin-factor-llm", + "spin-factor-outbound-http", + "spin-factor-outbound-mqtt", + "spin-factor-outbound-mysql", + "spin-factor-outbound-networking", + "spin-factor-outbound-pg", + "spin-factor-outbound-redis", + "spin-factor-sqlite", + "spin-factor-variables", + "spin-factor-wasi", + "spin-factors", + "spin-factors-executor", + "spin-runtime-config", "spin-telemetry", - "spin-variables", - "spin-world", "terminal", "tokio", - "toml 0.5.11", - "tracing", - "url", - "wasmtime", - "wasmtime-wasi", - "wasmtime-wasi-http", -] - -[[package]] -name = "spin-variables" -version = "2.8.0-pre0" -dependencies = [ - "anyhow", - "async-trait", - "azure_core", - "azure_identity", - "azure_security_keyvault", - "dotenvy", - "once_cell", - "serde 1.0.203", - "spin-app", - "spin-core", - "spin-expressions", - "spin-world", - "thiserror", - "tokio", "tracing", - "vaultrs", ] [[package]] @@ -5973,28 +4298,6 @@ dependencies = [ "wasmtime", ] -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "spm_precompiled" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326" -dependencies = [ - "base64 0.13.1", - "nom 7.1.3", - "serde 1.0.203", - "unicode-segmentation", -] - [[package]] name = "sptr" version = "0.3.2" @@ -6024,13 +4327,13 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "stringprep" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" dependencies = [ - "finl_unicode", "unicode-bidi", "unicode-normalization", + "unicode-properties", ] [[package]] @@ -6039,12 +4342,6 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - [[package]] name = "subprocess" version = "0.2.9" @@ -6057,9 +4354,9 @@ dependencies = [ [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -6074,9 +4371,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.48" +version = "2.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9" dependencies = [ "proc-macro2", "quote", @@ -6089,6 +4386,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + [[package]] name = "synstructure" version = "0.12.6" @@ -6132,8 +4435,8 @@ dependencies = [ "cap-fs-ext", "cap-std", "fd-lock", - "io-lifetimes 2.0.3", - "rustix 0.38.31", + "io-lifetimes", + "rustix", "windows-sys 0.52.0", "winx", ] @@ -6142,17 +4445,6 @@ dependencies = [ name = "table" version = "2.8.0-pre0" -[[package]] -name = "tar" -version = "0.4.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" -dependencies = [ - "filetime", - "libc", - "xattr", -] - [[package]] name = "target-lexicon" version = "0.12.13" @@ -6161,13 +4453,14 @@ checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" [[package]] name = "tempfile" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" +checksum = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53" dependencies = [ "cfg-if", - "fastrand 2.0.1", - "rustix 0.38.31", + "fastrand 2.1.0", + "once_cell", + "rustix", "windows-sys 0.52.0", ] @@ -6212,7 +4505,7 @@ checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -6238,7 +4531,7 @@ dependencies = [ "num-conv", "num_threads", "powerfmt", - "serde 1.0.203", + "serde", "time-core", "time-macros", ] @@ -6259,20 +4552,11 @@ dependencies = [ "time-core", ] -[[package]] -name = "tint" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7af24570664a3074673dbbf69a65bdae0ae0b72f2949b1adfbacb736ee4d6896" -dependencies = [ - "lazy_static 0.2.11", -] - [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -6283,40 +4567,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" -[[package]] -name = "tokenizers" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aea68938177975ab09da68552b720eac941779ff386baceaf77e0f5f9cea645f" -dependencies = [ - "aho-corasick 0.7.20", - "cached-path", - "derive_builder 0.12.0", - "dirs 4.0.0", - "esaxx-rs", - "getrandom 0.2.12", - "itertools 0.9.0", - "lazy_static 1.4.0", - "log", - "macro_rules_attribute", - "monostate", - "onig", - "paste", - "rand 0.8.5", - "rayon", - "rayon-cond", - "regex", - "regex-syntax 0.7.5", - "reqwest 0.11.24", - "serde 1.0.203", - "serde_json", - "spm_precompiled", - "thiserror", - "unicode-normalization-alignments", - "unicode-segmentation", - "unicode_categories", -] - [[package]] name = "tokio" version = "1.36.0" @@ -6331,7 +4581,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2", "tokio-macros", "windows-sys 0.48.0", ] @@ -6354,7 +4604,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -6369,9 +4619,9 @@ dependencies = [ [[package]] name = "tokio-postgres" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d340244b32d920260ae7448cb72b6e238bddc3d4f7603394e7dd46ed8e48f5b8" +checksum = "03adcf0147e203b6032c0b2d30be1415ba03bc348901f3ff1cc0df6a733e60c3" dependencies = [ "async-trait", "byteorder", @@ -6387,9 +4637,9 @@ dependencies = [ "postgres-protocol", "postgres-types", "rand 0.8.5", - "socket2 0.5.5", + "socket2", "tokio", - "tokio-util 0.7.10", + "tokio-util", "whoami", ] @@ -6399,7 +4649,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.10", + "rustls 0.21.12", "tokio", ] @@ -6415,25 +4665,24 @@ dependencies = [ ] [[package]] -name = "tokio-scoped" -version = "0.2.0" +name = "tokio-rustls" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4beb8ba13bc53ac53ce1d52b42f02e5d8060f0f42138862869beb769722b256" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ + "rustls 0.23.12", + "rustls-pki-types", "tokio", - "tokio-stream", ] [[package]] -name = "tokio-socks" -version = "0.5.1" +name = "tokio-scoped" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0" +checksum = "e4beb8ba13bc53ac53ce1d52b42f02e5d8060f0f42138862869beb769722b256" dependencies = [ - "either", - "futures-util", - "thiserror", "tokio", + "tokio-stream", ] [[package]] @@ -6449,39 +4698,15 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "log", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde 1.0.203", ] [[package]] @@ -6490,11 +4715,10 @@ version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ - "indexmap 2.2.6", - "serde 1.0.203", + "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit", ] [[package]] @@ -6503,18 +4727,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ - "serde 1.0.203", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow 0.5.40", + "serde", ] [[package]] @@ -6524,10 +4737,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap 2.2.6", - "serde 1.0.203", + "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.13", + "winnow", ] [[package]] @@ -6542,9 +4755,9 @@ dependencies = [ "base64 0.21.7", "bytes", "h2 0.3.26", - "http 0.2.11", + "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.28", + "hyper 0.14.30", "hyper-timeout", "percent-encoding", "pin-project", @@ -6571,7 +4784,7 @@ dependencies = [ "rand 0.8.5", "slab", "tokio", - "tokio-util 0.7.10", + "tokio-util", "tower-layer", "tower-service", "tracing", @@ -6579,15 +4792,15 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -6621,7 +4834,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -6657,7 +4870,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" dependencies = [ - "serde 1.0.203", + "serde", "tracing-core", ] @@ -6671,7 +4884,7 @@ dependencies = [ "nu-ansi-term", "once_cell", "regex", - "serde 1.0.203", + "serde", "serde_json", "sharded-slab", "smallvec", @@ -6686,11 +4899,9 @@ name = "trigger-timer" version = "0.1.0" dependencies = [ "anyhow", - "clap 3.2.25", + "clap", "futures", - "serde 1.0.203", - "spin-app", - "spin-core", + "serde", "spin-trigger", "tokio", "tokio-scoped", @@ -6729,17 +4940,6 @@ dependencies = [ "const_fn", ] -[[package]] -name = "uds_windows" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" -dependencies = [ - "memoffset 0.9.0", - "tempfile", - "winapi", -] - [[package]] name = "uncased" version = "0.9.10" @@ -6749,15 +4949,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.15" @@ -6772,27 +4963,18 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] -name = "unicode-normalization-alignments" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de" -dependencies = [ - "smallvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.11.0" +name = "unicode-properties" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" [[package]] name = "unicode-width" @@ -6806,18 +4988,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" -[[package]] -name = "unicode_categories" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" - -[[package]] -name = "unsafe-libyaml" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" - [[package]] name = "untrusted" version = "0.9.0" @@ -6826,14 +4996,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", "percent-encoding", - "serde 1.0.203", + "serde", ] [[package]] @@ -6842,12 +5012,6 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" -[[package]] -name = "utf8parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" - [[package]] name = "uuid" version = "1.7.0" @@ -6871,191 +5035,43 @@ checksum = "267f958930e08323a44c12e6c5461f3eaaa16d88785e9ec8550215b8aafc3d0b" dependencies = [ "async-trait", "bytes", - "derive_builder 0.11.2", - "http 0.2.11", - "reqwest 0.11.24", + "derive_builder", + "http 0.2.12", + "reqwest 0.11.27", "rustify", "rustify_derive", - "serde 1.0.203", - "serde_json", - "thiserror", - "tracing", - "url", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "waker-fn" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" - -[[package]] -name = "walkdir" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "warg-api" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a22d3c9026f2f6a628cf386963844cdb7baea3b3419ba090c9096da114f977d" -dependencies = [ - "indexmap 2.2.6", - "itertools 0.12.1", - "serde 1.0.203", - "serde_with", - "thiserror", - "warg-crypto", - "warg-protocol", -] - -[[package]] -name = "warg-client" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b8b5a2b17e737e1847dbf4642e4ebe49f5df32a574520251ff080ef0a120423" -dependencies = [ - "anyhow", - "async-recursion", - "async-trait", - "bytes", - "clap 4.5.4", - "dialoguer", - "dirs 5.0.1", - "futures-util", - "indexmap 2.2.6", - "itertools 0.12.1", - "keyring", - "libc", - "normpath", - "once_cell", - "pathdiff", - "ptree", - "reqwest 0.12.4", - "secrecy", - "semver", - "serde 1.0.203", + "serde", "serde_json", - "sha256", - "tempfile", "thiserror", - "tokio", - "tokio-util 0.7.10", "tracing", "url", - "walkdir", - "warg-api", - "warg-crypto", - "warg-protocol", - "warg-transparency", - "wasm-compose", - "wasm-encoder 0.41.2", - "wasmparser 0.121.2", - "wasmprinter 0.2.80", - "windows-sys 0.52.0", ] [[package]] -name = "warg-crypto" -version = "0.7.0" +name = "vcpkg" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "834bf58863aa4bc3821732afb0c77e08a5cbf05f63ee93116acae694eab04460" -dependencies = [ - "anyhow", - "base64 0.21.7", - "digest", - "hex", - "leb128", - "once_cell", - "p256", - "rand_core 0.6.4", - "secrecy", - "serde 1.0.203", - "sha2", - "signature", - "thiserror", -] +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] -name = "warg-protobuf" -version = "0.7.0" +name = "version_check" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf8a2dee6b14f5b0b0c461711a81cdef45d45ea94f8460cb6205cada7fec732a" -dependencies = [ - "anyhow", - "pbjson", - "pbjson-build", - "pbjson-types", - "prost", - "prost-build", - "prost-types", - "protox", - "regex", - "serde 1.0.203", - "warg-crypto", -] +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] -name = "warg-protocol" -version = "0.7.0" +name = "waker-fn" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4053a3276d3fee83645411b1b5f462f72402e70fbf645164274a3a0a2fd72538" -dependencies = [ - "anyhow", - "base64 0.21.7", - "hex", - "indexmap 2.2.6", - "pbjson-types", - "prost", - "prost-types", - "semver", - "serde 1.0.203", - "serde_with", - "thiserror", - "warg-crypto", - "warg-protobuf", - "warg-transparency", - "wasmparser 0.121.2", -] +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] -name = "warg-transparency" -version = "0.7.0" +name = "want" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513ef81a5bb1ac5d7bd04f90d3c192dad8f590f4c02b3ef68d3ae4fbbb53c1d7" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "anyhow", - "indexmap 2.2.6", - "prost", - "thiserror", - "warg-crypto", - "warg-protobuf", + "try-lock", ] [[package]] @@ -7078,34 +5094,35 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" dependencies = [ "cfg-if", "js-sys", @@ -7115,9 +5132,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7125,53 +5142,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "wasm-compose" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd324927af875ebedb1b820c00e3c585992d33c2c787c5021fe6d8982527359b" -dependencies = [ - "anyhow", - "heck 0.4.1", - "im-rc", - "indexmap 2.2.6", - "log", - "petgraph", - "serde 1.0.203", - "serde_derive", - "serde_yaml", - "smallvec", - "wasm-encoder 0.41.2", - "wasmparser 0.121.2", - "wat", -] - -[[package]] -name = "wasm-encoder" -version = "0.41.2" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "972f97a5d8318f908dded23594188a90bcd09365986b1163e66d70170e5287ae" -dependencies = [ - "leb128", - "wasmparser 0.121.2", -] +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "wasm-encoder" @@ -7208,7 +5194,7 @@ checksum = "c31b8cc0c21f46d55b0aaa419cacce1eadcf28eaebd0e1488d6a6313ee71a586" dependencies = [ "anyhow", "indexmap 2.2.6", - "serde 1.0.203", + "serde", "serde_derive", "serde_json", "spdx", @@ -7216,71 +5202,6 @@ dependencies = [ "wasmparser 0.200.0", ] -[[package]] -name = "wasm-metadata" -version = "0.209.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d32029ce424f6d3c2b39b4419fb45a0e2d84fb0751e0c0a32b7ce8bd5d97f46" -dependencies = [ - "anyhow", - "indexmap 2.2.6", - "serde 1.0.203", - "serde_derive", - "serde_json", - "spdx", - "wasm-encoder 0.209.1", - "wasmparser 0.209.1", -] - -[[package]] -name = "wasm-pkg-common" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca7a687d110f68a65227a644c7040c7720220e8cb0bb8c803e2b5dcb7fd72468" -dependencies = [ - "anyhow", - "dirs 5.0.1", - "http 1.1.0", - "reqwest 0.12.4", - "semver", - "serde 1.0.203", - "serde_json", - "thiserror", - "toml 0.8.14", - "tracing", -] - -[[package]] -name = "wasm-pkg-loader" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11338b173351bc505bc752c00068a7d1da5106a9d351753f0d01267dcc4747b2" -dependencies = [ - "anyhow", - "async-trait", - "base64 0.22.0", - "bytes", - "dirs 5.0.1", - "docker_credential", - "futures-util", - "oci-distribution", - "oci-wasm", - "secrecy", - "serde 1.0.203", - "serde_json", - "sha2", - "thiserror", - "tokio", - "tokio-util 0.7.10", - "toml 0.8.14", - "tracing", - "tracing-subscriber", - "url", - "warg-client", - "warg-protocol", - "wasm-pkg-common", -] - [[package]] name = "wasm-streams" version = "0.4.0" @@ -7294,17 +5215,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wasmparser" -version = "0.121.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" -dependencies = [ - "bitflags 2.4.2", - "indexmap 2.2.6", - "semver", -] - [[package]] name = "wasmparser" version = "0.200.0" @@ -7327,17 +5237,7 @@ dependencies = [ "hashbrown 0.14.3", "indexmap 2.2.6", "semver", - "serde 1.0.203", -] - -[[package]] -name = "wasmprinter" -version = "0.2.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e73986a6b7fdfedb7c5bf9e7eb71135486507c8fbc4c0c42cffcb6532988b7" -dependencies = [ - "anyhow", - "wasmparser 0.121.2", + "serde", ] [[package]] @@ -7373,16 +5273,16 @@ dependencies = [ "log", "mach2", "memfd", - "memoffset 0.9.0", + "memoffset", "object 0.36.0", "once_cell", "paste", "postcard", "psm", "rayon", - "rustix 0.38.31", + "rustix", "semver", - "serde 1.0.203", + "serde", "serde_derive", "serde_json", "smallvec", @@ -7426,11 +5326,11 @@ dependencies = [ "directories-next", "log", "postcard", - "rustix 0.38.31", - "serde 1.0.203", + "rustix", + "serde", "serde_derive", "sha2", - "toml 0.8.14", + "toml", "windows-sys 0.52.0", "zstd 0.13.1", ] @@ -7444,7 +5344,7 @@ dependencies = [ "anyhow", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", "wasmtime-component-util", "wasmtime-wit-bindgen", "wit-parser 0.209.1", @@ -7495,12 +5395,12 @@ dependencies = [ "object 0.36.0", "postcard", "rustc-demangle", - "serde 1.0.203", + "serde", "serde_derive", "target-lexicon", "wasm-encoder 0.209.1", "wasmparser 0.209.1", - "wasmprinter 0.209.1", + "wasmprinter", "wasmtime-component-util", "wasmtime-types", ] @@ -7514,7 +5414,7 @@ dependencies = [ "anyhow", "cc", "cfg-if", - "rustix 0.38.31", + "rustix", "wasmtime-asm-macros", "wasmtime-versioned-export-macros", "windows-sys 0.52.0", @@ -7528,7 +5428,7 @@ checksum = "9bc54198c6720f098210a85efb3ba8c078d1de4d373cdb6778850a66ae088d11" dependencies = [ "object 0.36.0", "once_cell", - "rustix 0.38.31", + "rustix", "wasmtime-versioned-export-macros", ] @@ -7557,7 +5457,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "412463e9000e14cf6856be48628d2213c20c153e29ffc22b036980c892ea6964" dependencies = [ "cranelift-entity", - "serde 1.0.203", + "serde", "serde_derive", "smallvec", "wasmparser 0.209.1", @@ -7571,7 +5471,7 @@ checksum = "de5a9bc4f44ceeb168e9e8e3be4e0b4beb9095b468479663a9e24c667e36826f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] @@ -7592,9 +5492,9 @@ dependencies = [ "fs-set-times", "futures", "io-extras", - "io-lifetimes 2.0.3", + "io-lifetimes", "once_cell", - "rustix 0.38.31", + "rustix", "system-interface", "thiserror", "tokio", @@ -7616,16 +5516,16 @@ dependencies = [ "bytes", "futures", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", - "hyper 1.3.1", + "hyper 1.4.1", "rustls 0.22.4", "tokio", "tokio-rustls 0.25.0", "tracing", "wasmtime", "wasmtime-wasi", - "webpki-roots 0.26.1", + "webpki-roots 0.26.3", ] [[package]] @@ -7652,7 +5552,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc077306b38288262e5ba01d4b21532a6987416cdc0aedf04bb06c22a68fdc" dependencies = [ "anyhow", - "heck 0.4.1", + "heck", "indexmap 2.2.6", "wit-parser 0.209.1", ] @@ -7690,9 +5590,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" dependencies = [ "js-sys", "wasm-bindgen", @@ -7716,13 +5616,25 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" -version = "0.26.1" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" dependencies = [ "rustls-pki-types", ] +[[package]] +name = "which" +version = "4.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +dependencies = [ + "either", + "home", + "once_cell", + "rustix", +] + [[package]] name = "whoami" version = "1.5.1" @@ -7756,11 +5668,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "557567f2793508760cd855f7659b7a0b9dc4dbc451f53f1415d6943a15311ade" dependencies = [ "anyhow", - "heck 0.4.1", + "heck", "proc-macro2", "quote", - "shellexpand 2.1.2", - "syn 2.0.48", + "shellexpand", + "syn 2.0.75", "witx", ] @@ -7772,7 +5684,7 @@ checksum = "cc26129a8aea20b62c961d1b9ab4a3c3b56b10042ed85d004f8678af0f21ba6e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", "wiggle-generate", ] @@ -7965,15 +5877,6 @@ version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - [[package]] name = "winnow" version = "0.6.13" @@ -8023,34 +5926,15 @@ dependencies = [ "bitflags 2.4.2", "indexmap 2.2.6", "log", - "serde 1.0.203", + "serde", "serde_derive", "serde_json", "wasm-encoder 0.200.0", - "wasm-metadata 0.200.0", + "wasm-metadata", "wasmparser 0.200.0", "wit-parser 0.200.0", ] -[[package]] -name = "wit-component" -version = "0.209.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a2bb5b039f9cb03425e1d5a6e54b441ca4ca1b1d4fa6a0924db67a55168f99" -dependencies = [ - "anyhow", - "bitflags 2.4.2", - "indexmap 2.2.6", - "log", - "serde 1.0.203", - "serde_derive", - "serde_json", - "wasm-encoder 0.209.1", - "wasm-metadata 0.209.1", - "wasmparser 0.209.1", - "wit-parser 0.209.1", -] - [[package]] name = "wit-parser" version = "0.200.0" @@ -8062,7 +5946,7 @@ dependencies = [ "indexmap 2.2.6", "log", "semver", - "serde 1.0.203", + "serde", "serde_derive", "serde_json", "unicode-xid", @@ -8080,7 +5964,7 @@ dependencies = [ "indexmap 2.2.6", "log", "semver", - "serde 1.0.203", + "serde", "serde_derive", "serde_json", "unicode-xid", @@ -8099,108 +5983,13 @@ dependencies = [ "wast 35.0.2", ] -[[package]] -name = "xattr" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" -dependencies = [ - "libc", - "linux-raw-sys 0.4.13", - "rustix 0.38.31", -] - -[[package]] -name = "xdg-home" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca91dcf8f93db085f3a0a29358cd0b9d670915468f4290e8b85d118a34211ab8" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "yaml-rust" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "zbus" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" -dependencies = [ - "async-broadcast", - "async-executor", - "async-fs", - "async-io 1.13.0", - "async-lock 2.8.0", - "async-process 1.8.1", - "async-recursion", - "async-task", - "async-trait", - "blocking", - "byteorder", - "derivative", - "enumflags2", - "event-listener 2.5.3", - "futures-core", - "futures-sink", - "futures-util", - "hex", - "nix 0.26.4", - "once_cell", - "ordered-stream", - "rand 0.8.5", - "serde 1.0.203", - "serde_repr", - "sha1 0.10.6", - "static_assertions", - "tracing", - "uds_windows", - "winapi", - "xdg-home", - "zbus_macros", - "zbus_names", - "zvariant", -] - -[[package]] -name = "zbus_macros" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "regex", - "syn 1.0.109", - "zvariant_utils", -] - -[[package]] -name = "zbus_names" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" -dependencies = [ - "serde 1.0.203", - "static_assertions", - "zvariant", -] - [[package]] name = "zerocopy" version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" dependencies = [ + "byteorder", "zerocopy-derive", ] @@ -8212,42 +6001,27 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.75", ] [[package]] name = "zeroize" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" - -[[package]] -name = "zip" -version = "0.6.6" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ - "aes", - "byteorder", - "bzip2", - "constant_time_eq", - "crc32fast", - "crossbeam-utils", - "flate2", - "hmac", - "pbkdf2", - "sha1 0.10.6", - "time", - "zstd 0.11.2+zstd.1.5.2", + "zeroize_derive", ] [[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" +name = "zeroize_derive" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "zstd-safe 5.0.2+zstd.1.5.2", + "proc-macro2", + "quote", + "syn 2.0.75", ] [[package]] @@ -8268,16 +6042,6 @@ dependencies = [ "zstd-safe 7.1.0", ] -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - [[package]] name = "zstd-safe" version = "6.0.6" @@ -8306,41 +6070,3 @@ dependencies = [ "cc", "pkg-config", ] - -[[package]] -name = "zvariant" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" -dependencies = [ - "byteorder", - "enumflags2", - "libc", - "serde 1.0.203", - "static_assertions", - "zvariant_derive", -] - -[[package]] -name = "zvariant_derive" -version = "3.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 1.0.109", - "zvariant_utils", -] - -[[package]] -name = "zvariant_utils" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] diff --git a/examples/spin-timer/Cargo.toml b/examples/spin-timer/Cargo.toml index ec535dcf0..5d2d37d4b 100644 --- a/examples/spin-timer/Cargo.toml +++ b/examples/spin-timer/Cargo.toml @@ -9,9 +9,7 @@ anyhow = "1.0.68" clap = { version = "3.1.15", features = ["derive", "env"] } futures = "0.3.25" serde = "1.0.188" -spin-app = { path = "../../crates/app" } -spin-core = { path = "../../crates/core" } -# spin-trigger = { path = "../../crates/trigger" } +spin-trigger = { path = "../../crates/trigger" } tokio = { version = "1.11", features = ["full"] } tokio-scoped = "0.2.0" wasmtime = "22.0.0" diff --git a/examples/spin-timer/src/lib.rs b/examples/spin-timer/src/lib.rs index a9e9be54e..58bb7e8e9 100644 --- a/examples/spin-timer/src/lib.rs +++ b/examples/spin-timer/src/lib.rs @@ -2,9 +2,7 @@ use std::collections::HashMap; use clap::Args; use serde::{Deserialize, Serialize}; -use spin_app::MetadataKey; -use spin_core::{async_trait, InstancePre}; -use spin_trigger::{TriggerAppEngine, TriggerExecutor}; +use spin_trigger::{App, Trigger, TriggerApp}; wasmtime::component::bindgen!({ path: ".", @@ -12,9 +10,6 @@ wasmtime::component::bindgen!({ async: true }); -pub(crate) type RuntimeData = (); -pub(crate) type _Store = spin_core::Store; - #[derive(Args)] pub struct CliArgs { /// If true, run each component once and exit @@ -24,7 +19,7 @@ pub struct CliArgs { // The trigger structure with all values processed and ready pub struct TimerTrigger { - engine: TriggerAppEngine, + test: bool, speedup: u64, component_timings: HashMap, } @@ -50,45 +45,36 @@ pub struct TimerTriggerConfig { interval_secs: u64, } -const TRIGGER_METADATA_KEY: MetadataKey = MetadataKey::new("triggers"); - -#[async_trait] -impl TriggerExecutor for TimerTrigger { - const TRIGGER_TYPE: &'static str = "timer"; - - type RuntimeData = RuntimeData; +impl Trigger for TimerTrigger { + const TYPE: &'static str = "timer"; - type TriggerConfig = TimerTriggerConfig; + type CliArgs = CliArgs; - type RunConfig = CliArgs; + type InstanceState = (); - type InstancePre = InstancePre; + fn new(cli_args: Self::CliArgs, app: &App) -> anyhow::Result { + let metadata = app + .get_trigger_metadata::(Self::TYPE)? + .unwrap_or_default(); + let speedup = metadata.speedup.unwrap_or(1); - async fn new(engine: spin_trigger::TriggerAppEngine) -> anyhow::Result { - let speedup = engine - .app() - .require_metadata(TRIGGER_METADATA_KEY)? - .timer - .unwrap_or_default() - .speedup - .unwrap_or(1); - - let component_timings = engine - .trigger_configs() + let component_timings = app + .trigger_configs::(Self::TYPE)? + .into_iter() .map(|(_, config)| (config.component.clone(), config.interval_secs)) .collect(); Ok(Self { - engine, + test: cli_args.test, speedup, component_timings, }) } - async fn run(self, config: Self::RunConfig) -> anyhow::Result<()> { - if config.test { + async fn run(self, trigger_app: TriggerApp) -> anyhow::Result<()> { + if self.test { for component in self.component_timings.keys() { - self.handle_timer_event(component).await?; + self.handle_timer_event(&trigger_app, component).await?; } } else { // This trigger spawns threads, which Ctrl+C does not kill. So @@ -102,12 +88,16 @@ impl TriggerExecutor for TimerTrigger { let speedup = self.speedup; tokio_scoped::scope(|scope| { // For each component, run its own timer loop - for (c, d) in &self.component_timings { + for (component_id, interval_secs) in &self.component_timings { scope.spawn(async { - let duration = tokio::time::Duration::from_millis(*d * 1000 / speedup); + let duration = + tokio::time::Duration::from_millis(*interval_secs * 1000 / speedup); loop { tokio::time::sleep(duration).await; - self.handle_timer_event(c).await.unwrap(); + + self.handle_timer_event(&trigger_app, component_id) + .await + .unwrap(); } }); } @@ -118,11 +108,14 @@ impl TriggerExecutor for TimerTrigger { } impl TimerTrigger { - async fn handle_timer_event(&self, component_id: &str) -> anyhow::Result<()> { - // Load the guest... - let (instance, mut store) = self.engine.prepare_instance(component_id).await?; - let instance = SpinTimer::new(&mut store, &instance)?; - // ...and call the entry point - instance.call_handle_timer_request(&mut store).await + async fn handle_timer_event( + &self, + trigger_app: &TriggerApp, + component_id: &str, + ) -> anyhow::Result<()> { + let instance_builder = trigger_app.prepare(component_id)?; + let (instance, mut store) = instance_builder.instantiate(()).await?; + let timer = SpinTimer::new(&mut store, &instance)?; + timer.call_handle_timer_request(&mut store).await } } diff --git a/examples/spin-timer/src/main.rs b/examples/spin-timer/src/main.rs index 49ba3dfab..d9c7203b3 100644 --- a/examples/spin-timer/src/main.rs +++ b/examples/spin-timer/src/main.rs @@ -1,9 +1,10 @@ use anyhow::Error; use clap::Parser; -use spin_trigger::cli::TriggerExecutorCommand; +use spin_trigger::cli::FactorsTriggerCommand; + use trigger_timer::TimerTrigger; -type Command = TriggerExecutorCommand; +type Command = FactorsTriggerCommand; #[tokio::main] async fn main() -> Result<(), Error> { From 0759b927ad938dfbd534ffa31b0dcd57981f2b35 Mon Sep 17 00:00:00 2001 From: Lann Martin Date: Fri, 23 Aug 2024 10:59:40 -0400 Subject: [PATCH 2/4] factors: Fix clippy lints Signed-off-by: Lann Martin --- crates/factor-key-value-azure/src/lib.rs | 3 ++- crates/factor-key-value-redis/src/lib.rs | 3 ++- crates/factor-outbound-redis/src/lib.rs | 3 ++- crates/factor-sqlite/src/host.rs | 3 ++- crates/factor-sqlite/tests/factor_test.rs | 3 ++- crates/factor-variables/src/spin_cli/azure_key_vault.rs | 1 + crates/factor-variables/tests/factor_test.rs | 2 +- crates/runtime-config/src/lib.rs | 6 +----- 8 files changed, 13 insertions(+), 11 deletions(-) diff --git a/crates/factor-key-value-azure/src/lib.rs b/crates/factor-key-value-azure/src/lib.rs index bf5e8067a..cad2da1ee 100644 --- a/crates/factor-key-value-azure/src/lib.rs +++ b/crates/factor-key-value-azure/src/lib.rs @@ -5,6 +5,7 @@ use spin_key_value_azure::{ }; /// A key-value store that uses Azure Cosmos as the backend. +#[derive(Default)] pub struct AzureKeyValueStore { _priv: (), } @@ -12,7 +13,7 @@ pub struct AzureKeyValueStore { impl AzureKeyValueStore { /// Creates a new `AzureKeyValueStore`. pub fn new() -> Self { - Self { _priv: () } + Self::default() } } diff --git a/crates/factor-key-value-redis/src/lib.rs b/crates/factor-key-value-redis/src/lib.rs index f8da8a980..67d71ac3e 100644 --- a/crates/factor-key-value-redis/src/lib.rs +++ b/crates/factor-key-value-redis/src/lib.rs @@ -3,6 +3,7 @@ use spin_factor_key_value::runtime_config::spin::MakeKeyValueStore; use spin_key_value_redis::KeyValueRedis; /// A key-value store that uses Redis as the backend. +#[derive(Default)] pub struct RedisKeyValueStore { _priv: (), } @@ -10,7 +11,7 @@ pub struct RedisKeyValueStore { impl RedisKeyValueStore { /// Creates a new `RedisKeyValueStore`. pub fn new() -> Self { - Self { _priv: () } + Self::default() } } diff --git a/crates/factor-outbound-redis/src/lib.rs b/crates/factor-outbound-redis/src/lib.rs index c0ff5924d..1c9f13752 100644 --- a/crates/factor-outbound-redis/src/lib.rs +++ b/crates/factor-outbound-redis/src/lib.rs @@ -8,13 +8,14 @@ use spin_factors::{ }; /// The [`Factor`] for `fermyon:spin/outbound-redis`. +#[derive(Default)] pub struct OutboundRedisFactor { _priv: (), } impl OutboundRedisFactor { pub fn new() -> Self { - Self { _priv: () } + Self::default() } } diff --git a/crates/factor-sqlite/src/host.rs b/crates/factor-sqlite/src/host.rs index 8911c37c4..92d4b146d 100644 --- a/crates/factor-sqlite/src/host.rs +++ b/crates/factor-sqlite/src/host.rs @@ -44,9 +44,10 @@ impl InstanceState { fn get_connection( &self, connection: Resource, - ) -> Result<&Box, v2::Error> { + ) -> Result<&dyn Connection, v2::Error> { self.connections .get(connection.rep()) + .map(|conn| conn.as_ref()) .ok_or(v2::Error::InvalidConnection) } } diff --git a/crates/factor-sqlite/tests/factor_test.rs b/crates/factor-sqlite/tests/factor_test.rs index 5b9972c9e..e2e2ef213 100644 --- a/crates/factor-sqlite/tests/factor_test.rs +++ b/crates/factor-sqlite/tests/factor_test.rs @@ -104,7 +104,8 @@ impl FactorRuntimeConfigSource for TomlRuntimeSource<'_> { impl RuntimeConfigSourceFinalizer for TomlRuntimeSource<'_> { fn finalize(&mut self) -> anyhow::Result<()> { - Ok(self.table.validate_all_keys_used().unwrap()) + self.table.validate_all_keys_used()?; + Ok(()) } } diff --git a/crates/factor-variables/src/spin_cli/azure_key_vault.rs b/crates/factor-variables/src/spin_cli/azure_key_vault.rs index a832fa536..54fe15bbc 100644 --- a/crates/factor-variables/src/spin_cli/azure_key_vault.rs +++ b/crates/factor-variables/src/spin_cli/azure_key_vault.rs @@ -90,6 +90,7 @@ pub enum AzureKeyVaultAuthOptions { /// /// Common across each: /// - `AZURE_AUTHORITY_HOST`: (optional) the host for the identity provider. For example, for Azure public cloud the host defaults to "https://login.microsoftonline.com". + /// /// See also: https://github.com/Azure/azure-sdk-for-rust/blob/main/sdk/identity/README.md Environmental, } diff --git a/crates/factor-variables/tests/factor_test.rs b/crates/factor-variables/tests/factor_test.rs index 1ce403000..49358ee62 100644 --- a/crates/factor-variables/tests/factor_test.rs +++ b/crates/factor-variables/tests/factor_test.rs @@ -31,7 +31,7 @@ async fn static_provider_works() -> anyhow::Result<()> { }))?; let mut state = env.build_instance_state().await?; - let val = state.variables.get("baz".try_into().unwrap()).await?; + let val = state.variables.get("baz".into()).await?; assert_eq!(val, ""); Ok(()) } diff --git a/crates/runtime-config/src/lib.rs b/crates/runtime-config/src/lib.rs index 77ca2a8ec..cc5e07811 100644 --- a/crates/runtime-config/src/lib.rs +++ b/crates/runtime-config/src/lib.rs @@ -187,11 +187,7 @@ impl FactorRuntimeConfigSource for TomlRuntimeConfigSource< impl FactorRuntimeConfigSource for TomlRuntimeConfigSource<'_> { fn get_runtime_config(&mut self) -> anyhow::Result> { - Ok(llm::runtime_config_from_toml( - self.table.as_ref(), - self.state_dir.clone(), - self.use_gpu, - )?) + llm::runtime_config_from_toml(self.table.as_ref(), self.state_dir.clone(), self.use_gpu) } } From eddff506c890afd78a622549929d234f46f74c59 Mon Sep 17 00:00:00 2001 From: Lann Martin Date: Fri, 23 Aug 2024 14:36:46 -0400 Subject: [PATCH 3/4] factors: Fix wagi support Signed-off-by: Lann Martin --- crates/componentize/src/bugs.rs | 87 +++++++++---------- crates/componentize/src/lib.rs | 68 ++++++++------- crates/componentize/src/module_info.rs | 111 +++++++++++++++++++++++++ crates/http/src/config.rs | 3 +- crates/trigger-http/src/server.rs | 29 +++++-- crates/trigger-http/src/wagi.rs | 35 +++----- crates/trigger-http/src/wasi.rs | 3 +- crates/trigger/src/cli.rs | 2 +- examples/spin-wagi-http/spin.toml | 2 +- examples/wagi-http-rust/spin.toml | 2 +- 10 files changed, 229 insertions(+), 113 deletions(-) create mode 100644 crates/componentize/src/module_info.rs diff --git a/crates/componentize/src/bugs.rs b/crates/componentize/src/bugs.rs index 1e7ed9e63..053dc4aa3 100644 --- a/crates/componentize/src/bugs.rs +++ b/crates/componentize/src/bugs.rs @@ -1,6 +1,6 @@ -use anyhow::bail; -use wasm_metadata::Producers; -use wasmparser::{Encoding, ExternalKind, Parser, Payload}; +use crate::module_info::ModuleInfo; + +pub const EARLIEST_PROBABLY_SAFE_CLANG_VERSION: &str = "15.0.7"; /// Represents the detected likelihood of the allocation bug fixed in /// https://github.com/WebAssembly/wasi-libc/pull/377 being present in a Wasm @@ -8,53 +8,35 @@ use wasmparser::{Encoding, ExternalKind, Parser, Payload}; #[derive(Debug, PartialEq)] pub enum WasiLibc377Bug { ProbablySafe, - ProbablyUnsafe, + ProbablyUnsafe { clang_version: String }, Unknown, } impl WasiLibc377Bug { - pub fn detect(module: &[u8]) -> anyhow::Result { - for payload in Parser::new(0).parse_all(module) { - match payload? { - Payload::Version { encoding, .. } if encoding != Encoding::Module => { - bail!("detection only applicable to modules"); - } - Payload::ExportSection(reader) => { - for export in reader { - let export = export?; - if export.kind == ExternalKind::Func && export.name == "cabi_realloc" { - // `cabi_realloc` is a good signal that this module - // uses wit-bindgen, making it probably-safe. - tracing::debug!("Found cabi_realloc export"); - return Ok(Self::ProbablySafe); - } - } - } - Payload::CustomSection(c) if c.name() == "producers" => { - let producers = Producers::from_bytes(c.data(), c.data_offset())?; - if let Some(clang_version) = - producers.get("processed-by").and_then(|f| f.get("clang")) - { - tracing::debug!(clang_version, "Parsed producers.processed-by.clang"); - - // Clang/LLVM version is a good proxy for wasi-sdk - // version; the allocation bug was fixed in wasi-sdk-18 - // and LLVM was updated to 15.0.7 in wasi-sdk-19. - if let Some((major, minor, patch)) = parse_clang_version(clang_version) { - return if (major, minor, patch) >= (15, 0, 7) { - Ok(Self::ProbablySafe) - } else { - Ok(Self::ProbablyUnsafe) - }; - } else { - tracing::warn!( - clang_version, - "Unexpected producers.processed-by.clang version" - ); - } - } - } - _ => (), + pub fn detect(module_info: &ModuleInfo) -> anyhow::Result { + if module_info.probably_uses_wit_bindgen() { + // Modules built with wit-bindgen are probably safe. + return Ok(Self::ProbablySafe); + } + if let Some(clang_version) = &module_info.clang_version { + // Clang/LLVM version is a good proxy for wasi-sdk + // version; the allocation bug was fixed in wasi-sdk-18 + // and LLVM was updated to 15.0.7 in wasi-sdk-19. + if let Some((major, minor, patch)) = parse_clang_version(clang_version) { + let earliest_safe = + parse_clang_version(EARLIEST_PROBABLY_SAFE_CLANG_VERSION).unwrap(); + return if (major, minor, patch) >= earliest_safe { + Ok(Self::ProbablySafe) + } else { + Ok(Self::ProbablyUnsafe { + clang_version: clang_version.clone(), + }) + }; + } else { + tracing::warn!( + clang_version, + "Unexpected producers.processed-by.clang version" + ); } } Ok(Self::Unknown) @@ -98,11 +80,15 @@ mod tests { ), ( r#"(module (@producers (processed-by "clang" "15.0.6")))"#, - ProbablyUnsafe, + ProbablyUnsafe { + clang_version: "15.0.6".into(), + }, ), ( - r#"(module (@producers (processed-by "clang" "14.0.0")))"#, - ProbablyUnsafe, + r#"(module (@producers (processed-by "clang" "14.0.0 extra-stuff")))"#, + ProbablyUnsafe { + clang_version: "14.0.0 extra-stuff".into(), + }, ), ( r#"(module (@producers (processed-by "clang" "a.b.c")))"#, @@ -111,7 +97,8 @@ mod tests { ] { eprintln!("WAT: {wasm}"); let module = wat::parse_str(wasm).unwrap(); - let detected = WasiLibc377Bug::detect(&module).unwrap(); + let module_info = ModuleInfo::from_module(&module).unwrap(); + let detected = WasiLibc377Bug::detect(&module_info).unwrap(); assert_eq!(detected, expected); } } diff --git a/crates/componentize/src/lib.rs b/crates/componentize/src/lib.rs index f4be1bcb1..f59caefb7 100644 --- a/crates/componentize/src/lib.rs +++ b/crates/componentize/src/lib.rs @@ -3,6 +3,7 @@ use { anyhow::{anyhow, Context, Result}, convert::{IntoEntityType, IntoExportKind}, + module_info::ModuleInfo, std::{borrow::Cow, collections::HashSet}, wasm_encoder::{CustomSection, ExportSection, ImportSection, Module, RawSection}, wasmparser::{Encoding, Parser, Payload}, @@ -14,6 +15,7 @@ pub mod bugs; #[cfg(test)] mod abi_conformance; mod convert; +mod module_info; const SPIN_ADAPTER: &[u8] = include_bytes!(concat!( env!("OUT_DIR"), @@ -51,8 +53,9 @@ pub fn componentize_if_necessary(module_or_component: &[u8]) -> Result } pub fn componentize(module: &[u8]) -> Result> { - match WitBindgenVersion::from_module(module)? { - WitBindgenVersion::V0_2 => componentize_old_bindgen(module), + let module_info = ModuleInfo::from_module(module)?; + match WitBindgenVersion::detect(&module_info)? { + WitBindgenVersion::V0_2OrNone => componentize_old_module(module, &module_info), WitBindgenVersion::GreaterThanV0_4 => componentize_new_bindgen(module), WitBindgenVersion::Other(other) => Err(anyhow::anyhow!( "cannot adapt modules created with wit-bindgen version {other}" @@ -65,40 +68,36 @@ pub fn componentize(module: &[u8]) -> Result> { #[derive(Debug)] enum WitBindgenVersion { GreaterThanV0_4, - V0_2, + V0_2OrNone, Other(String), } impl WitBindgenVersion { - fn from_module(module: &[u8]) -> Result { - let (_, bindgen) = metadata::decode(module)?; - if let Some(producers) = bindgen.producers { - if let Some(processors) = producers.get("processed-by") { - let bindgen_version = processors.iter().find_map(|(key, value)| { - key.starts_with("wit-bindgen").then_some(value.as_str()) - }); - if let Some(v) = bindgen_version { - let mut parts = v.split('.'); - let Some(major) = parts.next().and_then(|p| p.parse::().ok()) else { - return Ok(Self::Other(v.to_owned())); - }; - let Some(minor) = parts.next().and_then(|p| p.parse::().ok()) else { - return Ok(Self::Other(v.to_owned())); - }; - if (major == 0 && minor < 5) || major >= 1 { - return Ok(Self::Other(v.to_owned())); - } - // Either there should be no patch version or nothing after patch - if parts.next().is_none() || parts.next().is_none() { - return Ok(Self::GreaterThanV0_4); - } else { - return Ok(Self::Other(v.to_owned())); - } + fn detect(module_info: &ModuleInfo) -> Result { + if let Some(processors) = module_info.bindgen_processors() { + let bindgen_version = processors + .iter() + .find_map(|(key, value)| key.starts_with("wit-bindgen").then_some(value.as_str())); + if let Some(v) = bindgen_version { + let mut parts = v.split('.'); + let Some(major) = parts.next().and_then(|p| p.parse::().ok()) else { + return Ok(Self::Other(v.to_owned())); + }; + let Some(minor) = parts.next().and_then(|p| p.parse::().ok()) else { + return Ok(Self::Other(v.to_owned())); + }; + if (major == 0 && minor < 5) || major >= 1 { + return Ok(Self::Other(v.to_owned())); + } + // Either there should be no patch version or nothing after patch + if parts.next().is_none() || parts.next().is_none() { + return Ok(Self::GreaterThanV0_4); + } else { + return Ok(Self::Other(v.to_owned())); } } } - - Ok(Self::V0_2) + Ok(Self::V0_2OrNone) } } @@ -111,6 +110,17 @@ pub fn componentize_new_bindgen(module: &[u8]) -> Result> { .encode() } +/// Modules *not* produced with wit-bindgen >= 0.5 could be old wit-bindgen or no wit-bindgen +pub fn componentize_old_module(module: &[u8], module_info: &ModuleInfo) -> Result> { + // If the module has a _start export and doesn't obviously use wit-bindgen + // it is likely an old p1 command module. + if module_info.has_start_export && !module_info.probably_uses_wit_bindgen() { + componentize_command(module) + } else { + componentize_old_bindgen(module) + } +} + /// Modules produced with wit-bindgen 0.2 need more extensive adaption pub fn componentize_old_bindgen(module: &[u8]) -> Result> { let (module, exports) = retarget_imports_and_get_exports(ADAPTER_NAME, module)?; diff --git a/crates/componentize/src/module_info.rs b/crates/componentize/src/module_info.rs new file mode 100644 index 000000000..e02ece13c --- /dev/null +++ b/crates/componentize/src/module_info.rs @@ -0,0 +1,111 @@ +use wasm_metadata::Producers; +use wasmparser::{Encoding, ExternalKind, Parser, Payload}; +use wit_component::metadata::Bindgen; + +// wit-bindgen has used both of these historically. +const CANONICAL_ABI_REALLOC_EXPORTS: &[&str] = &["cabi_realloc", "canonical_abi_realloc"]; + +/// Stores various bits of info parsed from a Wasm module that are relevant to +/// componentization. +#[derive(Default)] +pub struct ModuleInfo { + pub bindgen: Option, + pub clang_version: Option, + pub realloc_export: Option, + pub has_start_export: bool, +} + +impl ModuleInfo { + /// Parses info from the given binary module bytes. + pub fn from_module(module: &[u8]) -> anyhow::Result { + let mut info = Self::default(); + for payload in Parser::new(0).parse_all(module) { + match payload? { + Payload::Version { encoding, .. } => { + anyhow::ensure!( + encoding == Encoding::Module, + "ModuleInfo::from_module is only applicable to Modules; got a {encoding:?}" + ); + } + Payload::ExportSection(reader) => { + for export in reader { + let export = export?; + if export.kind == ExternalKind::Func { + if CANONICAL_ABI_REALLOC_EXPORTS.contains(&export.name) { + tracing::debug!( + "Found canonical ABI realloc export {:?}", + export.name + ); + info.realloc_export = Some(export.name.to_string()); + } else if export.name == "_start" { + tracing::debug!("Found _start export"); + info.has_start_export = true; + } + } + } + } + Payload::CustomSection(c) => { + let section_name = c.name(); + if section_name == "producers" { + let producers = Producers::from_bytes(c.data(), c.data_offset())?; + if let Some(clang_version) = + producers.get("processed-by").and_then(|f| f.get("clang")) + { + tracing::debug!(clang_version, "Parsed producers.processed-by.clang"); + info.clang_version = Some(clang_version.to_string()); + } + } else if section_name.starts_with("component-type") { + match decode_bindgen_custom_section(section_name, c.data()) { + Ok(bindgen) => { + tracing::debug!("Parsed bindgen section {section_name:?}"); + info.bindgen = Some(bindgen); + } + Err(err) => tracing::warn!( + "Error parsing bindgen section {section_name:?}: {err}" + ), + } + } + } + _ => (), + } + } + Ok(info) + } + + /// Returns true if the given module was heuristically probably compiled + /// with wit-bindgen. + pub fn probably_uses_wit_bindgen(&self) -> bool { + if self.bindgen.is_some() { + // Presence of bindgen metadata is a strong signal + true + } else if self.realloc_export.is_some() { + // A canonical ABI realloc export is a decent signal + true + } else { + false + } + } + + /// Returns the wit-bindgen metadata producers processed-by field, if + /// present. + pub fn bindgen_processors(&self) -> Option { + self.bindgen + .as_ref()? + .producers + .as_ref()? + .get("processed-by") + } +} + +/// This is a silly workaround for the limited public interface available in +/// [`wit_component::metadata`]. +// TODO: Make Bindgen::decode_custom_section public? +fn decode_bindgen_custom_section(name: &str, data: &[u8]) -> anyhow::Result { + let mut module = wasm_encoder::Module::new(); + module.section(&wasm_encoder::CustomSection { + name: name.into(), + data: data.into(), + }); + let (_, bindgen) = wit_component::metadata::decode(module.as_slice())?; + Ok(bindgen) +} diff --git a/crates/http/src/config.rs b/crates/http/src/config.rs index 2c675f1ca..5ccee8e57 100644 --- a/crates/http/src/config.rs +++ b/crates/http/src/config.rs @@ -63,7 +63,8 @@ pub enum HttpExecutorType { #[derive(Clone, Debug, Deserialize, Serialize)] #[serde(default, deny_unknown_fields)] pub struct WagiTriggerConfig { - /// The name of the entrypoint. + /// The name of the entrypoint. (DEPRECATED) + #[serde(skip_serializing)] pub entrypoint: String, /// A string representation of the argv array. diff --git a/crates/trigger-http/src/server.rs b/crates/trigger-http/src/server.rs index 9fab3d6f1..b9ee135b7 100644 --- a/crates/trigger-http/src/server.rs +++ b/crates/trigger-http/src/server.rs @@ -98,10 +98,21 @@ impl HttpServer { let component_trigger_configs = HashMap::from_iter(component_trigger_configs); let component_handler_types = component_trigger_configs - .keys() - .map(|component_id| { - let component = trigger_app.get_component(component_id)?; - let handler_type = HandlerType::from_component(trigger_app.engine(), component)?; + .iter() + .map(|(component_id, trigger_config)| { + let handler_type = match &trigger_config.executor { + None | Some(HttpExecutorType::Http) => { + let component = trigger_app.get_component(component_id)?; + HandlerType::from_component(trigger_app.engine(), component)? + } + Some(HttpExecutorType::Wagi(wagi_config)) => { + anyhow::ensure!( + wagi_config.entrypoint == "_start", + "Wagi component '{component_id}' cannot use deprecated 'entrypoint' field" + ); + HandlerType::Wagi + } + }; Ok((component_id.clone(), handler_type)) }) .collect::>()?; @@ -253,6 +264,7 @@ impl HttpServer { .execute(instance_builder, &route_match, req, client_addr) .await } + HandlerType::Wagi => unreachable!(), }, HttpExecutorType::Wagi(wagi_config) => { let executor = WagiHttpExecutor { @@ -446,9 +458,10 @@ pub(crate) trait HttpExecutor: Clone + Send + Sync + 'static { } /// Whether this handler uses the custom Spin http handler interface for wasi-http -#[derive(Copy, Clone)] +#[derive(Clone, Copy)] pub enum HandlerType { Spin, + Wagi, Wasi0_2, Wasi2023_11_10, Wasi2023_10_18, @@ -490,8 +503,10 @@ impl HandlerType { handler_ty.ok_or_else(|| { anyhow::anyhow!( - "Expected component to either export `{WASI_HTTP_EXPORT_2023_10_18}`, \ - `{WASI_HTTP_EXPORT_2023_11_10}`, `{WASI_HTTP_EXPORT_0_2_0}`, \ + "Expected component to export one of \ + `{WASI_HTTP_EXPORT_2023_10_18}`, \ + `{WASI_HTTP_EXPORT_2023_11_10}`, \ + `{WASI_HTTP_EXPORT_0_2_0}`, \ or `fermyon:spin/inbound-http` but it exported none of those" ) }) diff --git a/crates/trigger-http/src/wagi.rs b/crates/trigger-http/src/wagi.rs index c0a28485f..e447e27e0 100644 --- a/crates/trigger-http/src/wagi.rs +++ b/crates/trigger-http/src/wagi.rs @@ -1,6 +1,6 @@ use std::{io::Cursor, net::SocketAddr}; -use anyhow::{anyhow, ensure, Context, Result}; +use anyhow::{ensure, Result}; use http_body_util::BodyExt; use hyper::{Request, Response}; use spin_http::{config::WagiTriggerConfig, routes::RouteMatch, wagi}; @@ -83,27 +83,18 @@ impl HttpExecutor for WagiHttpExecutor { let (instance, mut store) = instance_builder.instantiate(()).await?; - let start = instance - .get_func(&mut store, &self.wagi_config.entrypoint) - .ok_or_else(|| { - anyhow::anyhow!( - "No such function '{}' in {}", - self.wagi_config.entrypoint, - component - ) - })?; + let command = wasmtime_wasi::bindings::Command::new(&mut store, &instance)?; + tracing::trace!("Calling Wasm entry point"); - start - .call_async(&mut store, &[], &mut []) + if let Err(()) = command + .wasi_cli_run() + .call_run(&mut store) .await - .or_else(ignore_successful_proc_exit_trap) - .with_context(|| { - anyhow!( - "invoking {} for component {component}", - self.wagi_config.entrypoint - ) - })?; - tracing::info!("Module execution complete"); + .or_else(ignore_successful_proc_exit_trap)? + { + tracing::error!("Wagi main function returned unsuccessful result"); + } + tracing::info!("Wagi execution complete"); // Drop the store so we're left with a unique reference to `stdout`: drop(store); @@ -119,13 +110,13 @@ impl HttpExecutor for WagiHttpExecutor { } } -fn ignore_successful_proc_exit_trap(guest_err: anyhow::Error) -> Result<()> { +fn ignore_successful_proc_exit_trap(guest_err: anyhow::Error) -> Result> { match guest_err .root_cause() .downcast_ref::() { Some(trap) => match trap.0 { - 0 => Ok(()), + 0 => Ok(Ok(())), _ => Err(guest_err), }, None => Err(guest_err), diff --git a/crates/trigger-http/src/wasi.rs b/crates/trigger-http/src/wasi.rs index 05d6b33b7..d61f3bdb2 100644 --- a/crates/trigger-http/src/wasi.rs +++ b/crates/trigger-http/src/wasi.rs @@ -93,7 +93,8 @@ impl HttpExecutor for WasiHttpExecutor { drop(exports); Handler::Latest(Proxy::new(&mut store, &instance)?) } - HandlerType::Spin => panic!("should have used execute_spin instead"), + HandlerType::Spin => unreachable!("should have used SpinHttpExecutor"), + HandlerType::Wagi => unreachable!("should have used WagiExecutor instead"), } }; diff --git a/crates/trigger/src/cli.rs b/crates/trigger/src/cli.rs index 4b6dc422b..b5800cc9c 100644 --- a/crates/trigger/src/cli.rs +++ b/crates/trigger/src/cli.rs @@ -358,7 +358,7 @@ impl TriggerAppBuilder { ) })?; let component = spin_componentize::componentize_if_necessary(&bytes)?; - spin_core::Component::new(engine, component.as_ref()) + spin_core::Component::new(engine, component) .with_context(|| format!("loading module {}", quoted_path(&path))) } } diff --git a/examples/spin-wagi-http/spin.toml b/examples/spin-wagi-http/spin.toml index e6280308f..37ecaee46 100644 --- a/examples/spin-wagi-http/spin.toml +++ b/examples/spin-wagi-http/spin.toml @@ -9,7 +9,7 @@ version = "1.0.0" [[trigger.http]] route = "/hello" component = "hello" -executor = { type = "wagi" } # _start (the default entrypoint) is automatically mapped to main() +executor = { type = "wagi" } [[trigger.http]] route = "/goodbye" diff --git a/examples/wagi-http-rust/spin.toml b/examples/wagi-http-rust/spin.toml index c1cc3f065..c5d1a7821 100644 --- a/examples/wagi-http-rust/spin.toml +++ b/examples/wagi-http-rust/spin.toml @@ -9,7 +9,7 @@ version = "1.0.0" [[trigger.http]] route = "/env" component = "env" -executor = { type = "wagi" } # _start (the default entrypoint) is automatically mapped to main() +executor = { type = "wagi" } [component.env] source = "target/wasm32-wasi/release/wagihelloworld.wasm" From c5ce6f9f01bb9d0cb96b71da8026fb5a8a8de9f2 Mon Sep 17 00:00:00 2001 From: Lann Martin Date: Fri, 23 Aug 2024 15:50:34 -0400 Subject: [PATCH 4/4] factors: Fix wasi-libc#377 bug detection Signed-off-by: Lann Martin --- crates/componentize/src/bugs.rs | 72 +++++++++++++++++++-------------- crates/componentize/src/lib.rs | 1 + crates/trigger/src/cli.rs | 5 ++- 3 files changed, 45 insertions(+), 33 deletions(-) diff --git a/crates/componentize/src/bugs.rs b/crates/componentize/src/bugs.rs index 053dc4aa3..099b4adb6 100644 --- a/crates/componentize/src/bugs.rs +++ b/crates/componentize/src/bugs.rs @@ -2,21 +2,19 @@ use crate::module_info::ModuleInfo; pub const EARLIEST_PROBABLY_SAFE_CLANG_VERSION: &str = "15.0.7"; -/// Represents the detected likelihood of the allocation bug fixed in -/// https://github.com/WebAssembly/wasi-libc/pull/377 being present in a Wasm -/// module. +/// This error represents the likely presence of the allocation bug fixed in +/// https://github.com/WebAssembly/wasi-libc/pull/377 in a Wasm module. #[derive(Debug, PartialEq)] -pub enum WasiLibc377Bug { - ProbablySafe, - ProbablyUnsafe { clang_version: String }, - Unknown, +pub struct WasiLibc377Bug { + clang_version: Option, } impl WasiLibc377Bug { - pub fn detect(module_info: &ModuleInfo) -> anyhow::Result { + /// Detects the likely presence of this bug. + pub fn check(module_info: &ModuleInfo) -> Result<(), Self> { if module_info.probably_uses_wit_bindgen() { // Modules built with wit-bindgen are probably safe. - return Ok(Self::ProbablySafe); + return Ok(()); } if let Some(clang_version) = &module_info.clang_version { // Clang/LLVM version is a good proxy for wasi-sdk @@ -25,12 +23,12 @@ impl WasiLibc377Bug { if let Some((major, minor, patch)) = parse_clang_version(clang_version) { let earliest_safe = parse_clang_version(EARLIEST_PROBABLY_SAFE_CLANG_VERSION).unwrap(); - return if (major, minor, patch) >= earliest_safe { - Ok(Self::ProbablySafe) + if (major, minor, patch) >= earliest_safe { + return Ok(()); } else { - Ok(Self::ProbablyUnsafe { - clang_version: clang_version.clone(), - }) + return Err(Self { + clang_version: Some(clang_version.clone()), + }); }; } else { tracing::warn!( @@ -39,10 +37,27 @@ impl WasiLibc377Bug { ); } } - Ok(Self::Unknown) + // If we can't assert that the module uses wit-bindgen OR was compiled + // with a new-enough wasi-sdk, conservatively assume it may be buggy. + Err(Self { + clang_version: None, + }) } } +impl std::fmt::Display for WasiLibc377Bug { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!( + f, + "This Wasm module may have been compiled with wasi-sdk version <19 which \ + contains a critical memory safety bug. For more information, see: \ + https://github.com/fermyon/spin/issues/2552" + ) + } +} + +impl std::error::Error for WasiLibc377Bug {} + fn parse_clang_version(ver: &str) -> Option<(u16, u16, u16)> { // Strip optional trailing detail after space let ver = ver.split(' ').next().unwrap(); @@ -59,47 +74,42 @@ mod tests { #[test] fn wasi_libc_377_detect() { - use WasiLibc377Bug::*; - for (wasm, expected) in [ - (r#"(module)"#, Unknown), + for (wasm, safe) in [ + (r#"(module)"#, false), ( r#"(module (func (export "cabi_realloc") (unreachable)))"#, - ProbablySafe, + true, ), ( r#"(module (func (export "some_other_function") (unreachable)))"#, - Unknown, + false, ), ( r#"(module (@producers (processed-by "clang" "16.0.0 extra-stuff")))"#, - ProbablySafe, + true, ), ( r#"(module (@producers (processed-by "clang" "15.0.7")))"#, - ProbablySafe, + true, ), ( r#"(module (@producers (processed-by "clang" "15.0.6")))"#, - ProbablyUnsafe { - clang_version: "15.0.6".into(), - }, + false, ), ( r#"(module (@producers (processed-by "clang" "14.0.0 extra-stuff")))"#, - ProbablyUnsafe { - clang_version: "14.0.0 extra-stuff".into(), - }, + false, ), ( r#"(module (@producers (processed-by "clang" "a.b.c")))"#, - Unknown, + false, ), ] { eprintln!("WAT: {wasm}"); let module = wat::parse_str(wasm).unwrap(); let module_info = ModuleInfo::from_module(&module).unwrap(); - let detected = WasiLibc377Bug::detect(&module_info).unwrap(); - assert_eq!(detected, expected); + let detected = WasiLibc377Bug::check(&module_info); + assert!(detected.is_ok() == safe, "{wasm} -> {detected:?}"); } } } diff --git a/crates/componentize/src/lib.rs b/crates/componentize/src/lib.rs index f59caefb7..e78269c25 100644 --- a/crates/componentize/src/lib.rs +++ b/crates/componentize/src/lib.rs @@ -115,6 +115,7 @@ pub fn componentize_old_module(module: &[u8], module_info: &ModuleInfo) -> Resul // If the module has a _start export and doesn't obviously use wit-bindgen // it is likely an old p1 command module. if module_info.has_start_export && !module_info.probably_uses_wit_bindgen() { + bugs::WasiLibc377Bug::check(module_info)?; componentize_command(module) } else { componentize_old_bindgen(module) diff --git a/crates/trigger/src/cli.rs b/crates/trigger/src/cli.rs index b5800cc9c..5678c6875 100644 --- a/crates/trigger/src/cli.rs +++ b/crates/trigger/src/cli.rs @@ -357,9 +357,10 @@ impl TriggerAppBuilder { quoted_path(&path) ) })?; - let component = spin_componentize::componentize_if_necessary(&bytes)?; + let component = spin_componentize::componentize_if_necessary(&bytes) + .with_context(|| format!("preparing wasm {}", quoted_path(&path)))?; spin_core::Component::new(engine, component) - .with_context(|| format!("loading module {}", quoted_path(&path))) + .with_context(|| format!("compiling wasm {}", quoted_path(&path))) } }