From 46758f4d43da2931372283ff9ca0acbd229f2837 Mon Sep 17 00:00:00 2001 From: itowlson Date: Tue, 14 Apr 2026 09:44:15 +1200 Subject: [PATCH] Asyncify the MQTT trigger Signed-off-by: itowlson --- Cargo.lock | 1109 +++++++++++++++++++++------------- Cargo.toml | 22 +- examples/mqtt-app/Cargo.lock | 223 ++----- sdk/Cargo.toml | 1 - sdk/macro/src/lib.rs | 31 +- sdk/src/lib.rs | 3 - spin-mqtt.wit | 4 +- src/lib.rs | 17 +- 8 files changed, 767 insertions(+), 643 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 20862e6..c21c45a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,6 +58,56 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "anstyle-parse" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys 0.61.2", +] + [[package]] name = "anyhow" version = "1.0.100" @@ -208,7 +258,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -225,7 +275,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -234,17 +284,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "auditable-serde" version = "0.8.0" @@ -823,12 +862,6 @@ dependencies = [ "vsimd", ] -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.10.0" @@ -907,7 +940,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -921,9 +954,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.0" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" dependencies = [ "allocator-api2", ] @@ -1065,6 +1098,12 @@ dependencies = [ "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cfg-if" version = "1.0.4" @@ -1093,42 +1132,44 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.25" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" dependencies = [ - "atty", - "bitflags 1.3.2", + "clap_builder", "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" +dependencies = [ + "anstream", + "anstyle", "clap_lex", - "indexmap 1.9.3", - "once_cell", - "strsim", - "termcolor", - "textwrap", + "strsim 0.11.1", + "terminal_size", ] [[package]] name = "clap_derive" -version = "3.2.25" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" +checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" dependencies = [ - "heck 0.4.1", - "proc-macro-error", + "heck", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.117", ] [[package]] name = "clap_lex" -version = "0.2.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "cmake" @@ -1148,6 +1189,12 @@ dependencies = [ "thiserror 2.0.17", ] +[[package]] +name = "colorchoice" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" + [[package]] name = "combine" version = "4.6.7" @@ -1204,6 +1251,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -1230,36 +1287,37 @@ dependencies = [ [[package]] name = "cranelift-assembler-x64" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b242b4c3675139f52f0b55624fb92571551a344305c5998f55ad20fa527bc55" +checksum = "046d4b584c3bb9b5eb500c8f29549bec36be11000f1ba2a927cef3d1a9875691" dependencies = [ "cranelift-assembler-x64-meta", ] [[package]] name = "cranelift-assembler-x64-meta" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "499715f19799219f32641b14f2a162f91e50bc1b61c2d2184c2be971716f5c56" +checksum = "b9b194a7870becb1490366fc0ae392ccd188065ff35f8391e77ac659db6fb977" dependencies = [ "cranelift-srcgen", ] [[package]] name = "cranelift-bforest" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ebca2ea7c62c56feb88a5b23ec380460fe6d7c18134520f6ddf4bfa35cbea68" +checksum = "bb6a4ab44c6b371e661846b97dab687387a60ac4e2f864e2d4257284aad9e889" dependencies = [ "cranelift-entity", + "wasmtime-internal-core", ] [[package]] name = "cranelift-bitset" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe11f154b62d7421d909503a746e89995393b1b71926e6f12b08a2076396d7fb" +checksum = "b8b7a44150c2f471a94023482bda1902710746e4bed9f9973d60c5a94319b06d" dependencies = [ "serde", "serde_derive", @@ -1268,9 +1326,9 @@ dependencies = [ [[package]] name = "cranelift-codegen" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f2d0da3d51979dc0183fac3076a535477eab794716b063143ecb16632408664" +checksum = "01b06598133b1dd76758b8b95f8d6747c124124aade50cea96a3d88b962da9fa" dependencies = [ "bumpalo", "cranelift-assembler-x64", @@ -1282,7 +1340,7 @@ dependencies = [ "cranelift-entity", "cranelift-isle", "gimli", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "libm", "log", "pulley-interpreter", @@ -1296,37 +1354,37 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "483b2c94a1b7f6fba0714387ba34ca56d114b2214a80be018acbb2ed40e09a1e" +checksum = "6190e2e7bcf0a678da2f715363d34ed530fedf7a2f0ab75edaefef72a70465ff" dependencies = [ "cranelift-assembler-x64-meta", "cranelift-codegen-shared", "cranelift-srcgen", - "heck 0.5.0", + "heck", "pulley-interpreter", ] [[package]] name = "cranelift-codegen-shared" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4aae718c336a52d90d4ebe9a2d8c3cf0906a4bee78f0e6867e777eebbe554fe" +checksum = "f583cf203d1aa8b79560e3b01f929bdacf9070b015eec4ea9c46e22a3f83e4a0" [[package]] name = "cranelift-control" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18e94519070dc56cddb71906a08cea6a28a1d7c58ed501b88f273fa6b45fa07" +checksum = "803159df35cc398ae54473c150b16d6c77e92ab2948be638488de126a3328fbc" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ab4e0eff1045ff2f5ddd8195bf3c97d7b5ef9b780cb044e0cce76e4d352057" +checksum = "3109e417257082d88087f5bcce677525bdaa8322b88dd7f175ed1a1fd41d546c" dependencies = [ "cranelift-bitset", "serde", @@ -1336,9 +1394,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7645a236e1ec49e660f09ec9fa979a1c5d0b612c419db7610573d4d58a03b7c" +checksum = "14db6b0e0e4994c581092df78d837be2072578f7cb2528f96a6cf895e56dee63" dependencies = [ "cranelift-codegen", "log", @@ -1348,15 +1406,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57e0b4a1a0ea01cc19084ff01aaeb640dfe22905d47d83037a419b81ba587ed0" +checksum = "ec66ea5025c7317383699778282ac98741d68444f956e3b1d7b62f12b7216e67" [[package]] name = "cranelift-native" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bdec40b396eb630ecfb0e7a81766d7287f464a7631b9eb5862f7711f1020012" +checksum = "373ade56438e6232619d85678477d0a88a31b3581936e0503e61e96b546b0800" dependencies = [ "cranelift-codegen", "libc", @@ -1365,9 +1423,9 @@ dependencies = [ [[package]] name = "cranelift-srcgen" -version = "0.129.2" +version = "0.130.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1a001a9dc4557d9e2be324bc932621c0aa9bf33b74dfefa2338f0bf8913329" +checksum = "ef53619d3cd5c78fd998c6d9420547af26b72e6456f94c2a8a2334cb76b42baa" [[package]] name = "crc32fast" @@ -1475,7 +1533,7 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim", + "strsim 0.10.0", "syn 1.0.109", ] @@ -1634,7 +1692,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ - "bitflags 2.10.0", + "bitflags", "block2", "libc", "objc2", @@ -1648,7 +1706,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -1822,6 +1880,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "foreign-types" version = "0.3.2" @@ -1947,7 +2011,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -1992,7 +2056,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25234f20a3ec0a962a61770cfe39ecf03cb529a6e474ad8cff025ed497eda557" dependencies = [ - "bitflags 2.10.0", + "bitflags", "debugid", "rustc-hash", "serde", @@ -2121,7 +2185,7 @@ checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", - "foldhash", + "foldhash 0.1.5", "serde", ] @@ -2130,6 +2194,11 @@ name = "hashbrown" version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +dependencies = [ + "foldhash 0.2.0", + "serde", + "serde_core", +] [[package]] name = "hashlink" @@ -2140,27 +2209,12 @@ dependencies = [ "hashbrown 0.15.5", ] -[[package]] -name = "heck" -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" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.5.2" @@ -2530,9 +2584,9 @@ dependencies = [ [[package]] name = "id-arena" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "ident_case" @@ -2666,6 +2720,12 @@ dependencies = [ "serde", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + [[package]] name = "itertools" version = "0.12.1" @@ -2710,6 +2770,50 @@ dependencies = [ "cc", ] +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys 0.3.1", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" +dependencies = [ + "jni-sys 0.4.1", +] + +[[package]] +name = "jni-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" +dependencies = [ + "jni-sys-macros", +] + +[[package]] +name = "jni-sys-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" +dependencies = [ + "quote", + "syn 2.0.117", +] + [[package]] name = "jobserver" version = "0.1.34" @@ -2775,7 +2879,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" dependencies = [ - "bitflags 2.10.0", + "bitflags", "libc", "redox_syscall", ] @@ -2789,7 +2893,7 @@ dependencies = [ "async-stream", "async-trait", "base64 0.21.7", - "bitflags 2.10.0", + "bitflags", "bytes", "fallible-iterator 0.3.0", "futures", @@ -2825,7 +2929,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15a90128c708356af8f7d767c9ac2946692c9112b4f74f07b99a01a60680e413" dependencies = [ - "bitflags 2.10.0", + "bitflags", "cc", "fallible-iterator 0.3.0", "indexmap 2.13.0", @@ -3034,7 +3138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34a9141e735d5bb02414a7ac03add09522466d4db65bdd827069f76ae0850e58" dependencies = [ "base64 0.22.1", - "bitflags 2.10.0", + "bitflags", "btoi", "byteorder", "bytes", @@ -3067,10 +3171,10 @@ dependencies = [ "libc", "log", "openssl", - "openssl-probe", + "openssl-probe 0.1.6", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "tempfile", ] @@ -3081,7 +3185,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.10.0", + "bitflags", "cfg-if", "cfg_aliases", "libc", @@ -3136,7 +3240,7 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.5.2", + "hermit-abi", "libc", ] @@ -3185,12 +3289,12 @@ checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" [[package]] name = "object" -version = "0.37.3" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" +checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc" dependencies = [ "crc32fast", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "indexmap 2.13.0", "memchr", ] @@ -3201,13 +3305,19 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + [[package]] name = "openssl" version = "0.10.74" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24ad14dd45412269e1a30f52ad8f0664f0f4f4a89ee8fe28c3b3527021ebb654" dependencies = [ - "bitflags 2.10.0", + "bitflags", "cfg-if", "foreign-types", "libc", @@ -3224,7 +3334,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -3233,6 +3343,12 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +[[package]] +name = "openssl-probe" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + [[package]] name = "openssl-src" version = "300.5.4+3.5.4" @@ -3354,12 +3470,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" -[[package]] -name = "os_str_bytes" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" - [[package]] name = "outref" version = "0.5.2" @@ -3528,7 +3638,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -3568,7 +3678,7 @@ checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.5.2", + "hermit-abi", "pin-project-lite", "rustix 1.1.2", "windows-sys 0.61.2", @@ -3678,7 +3788,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -3690,35 +3800,11 @@ dependencies = [ "toml_edit 0.23.7", ] -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro2" -version = "1.0.103" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -3753,7 +3839,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -3766,7 +3852,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -3791,9 +3877,9 @@ dependencies = [ [[package]] name = "pulley-interpreter" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e59a11b64c166a6e1e990303f46a255a52fb4e84d175dbd5e5ca0428e8c02ce" +checksum = "010dec3755eb61b2f1051ecb3611b718460b7a74c131e474de2af20a845938af" dependencies = [ "cranelift-bitset", "log", @@ -3803,13 +3889,13 @@ dependencies = [ [[package]] name = "pulley-macros" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "823a9d8da391be21a5f4d5e11c39d15f45b011076c6825fc2323f7e4753f09ce" +checksum = "ad360c32e85ca4b083ac0e2b6856e8f11c3d5060dafa7d5dc57b370857fa3018" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -3869,9 +3955,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.41" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] @@ -4050,7 +4136,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.10.0", + "bitflags", ] [[package]] @@ -4077,9 +4163,9 @@ dependencies = [ [[package]] name = "regalloc2" -version = "0.13.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08effbc1fa53aaebff69521a5c05640523fab037b34a4a2c109506bc938246fa" +checksum = "952ddbfc6f9f64d006c3efd8c9851a6ba2f2b944ba94730db255d55006e0ffda" dependencies = [ "allocator-api2", "bumpalo", @@ -4250,7 +4336,7 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37e34486da88d8e051c7c0e23c3f15fd806ea8546260aa2fec247e97242ec143" dependencies = [ - "bitflags 2.10.0", + "bitflags", "fallible-iterator 0.3.0", "fallible-streaming-iterator", "hashlink", @@ -4336,7 +4422,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.10.0", + "bitflags", "errno", "libc", "linux-raw-sys 0.4.15", @@ -4349,7 +4435,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.10.0", + "bitflags", "errno", "libc", "linux-raw-sys 0.11.0", @@ -4413,10 +4499,10 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ - "openssl-probe", + "openssl-probe 0.1.6", "rustls-pemfile 1.0.4", "schannel", - "security-framework", + "security-framework 2.11.1", ] [[package]] @@ -4425,11 +4511,23 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" dependencies = [ - "openssl-probe", + "openssl-probe 0.1.6", "rustls-pemfile 2.2.0", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 2.11.1", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" +dependencies = [ + "openssl-probe 0.2.1", + "rustls-pki-types", + "schannel", + "security-framework 3.5.1", ] [[package]] @@ -4460,6 +4558,33 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-platform-verifier" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" +dependencies = [ + "core-foundation 0.10.1", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls 0.23.35", + "rustls-native-certs 0.8.3", + "rustls-platform-verifier-android", + "rustls-webpki 0.103.8", + "security-framework 3.5.1", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.101.7" @@ -4504,6 +4629,15 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +[[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.5.0" @@ -4552,7 +4686,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -4583,8 +4717,21 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.10.0", - "core-foundation", + "bitflags", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" +dependencies = [ + "bitflags", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -4637,7 +4784,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -4648,7 +4795,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -4864,8 +5011,8 @@ dependencies = [ [[package]] name = "spin-app" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "serde", @@ -4875,10 +5022,11 @@ dependencies = [ [[package]] name = "spin-common" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", + "clap", "dirs", "sha2", "tempfile", @@ -4888,22 +5036,22 @@ dependencies = [ [[package]] name = "spin-componentize" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "tracing", - "wasm-encoder 0.244.0", - "wasm-metadata 0.244.0", - "wasmparser 0.244.0", + "wasm-encoder 0.245.1", + "wasm-metadata 0.245.1", + "wasmparser 0.245.1", "wit-component", "wit-parser", ] [[package]] name = "spin-compose" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "async-trait", @@ -4920,8 +5068,8 @@ dependencies = [ [[package]] name = "spin-core" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "async-trait", @@ -4929,21 +5077,10 @@ dependencies = [ "wasmtime", ] -[[package]] -name = "spin-executor" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba409d00af758cd5de128da4a801e891af0545138f66a688f025f6d4e33870b" -dependencies = [ - "futures", - "once_cell", - "wasi 0.13.1+wasi-0.2.0", -] - [[package]] name = "spin-expressions" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "async-trait", @@ -4954,8 +5091,8 @@ dependencies = [ [[package]] name = "spin-factor-key-value" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "serde", @@ -4965,18 +5102,18 @@ dependencies = [ "spin-locked-app", "spin-resource-table", "spin-telemetry", + "spin-wasi-async", "spin-world", "thiserror 2.0.17", "tokio", "toml 0.8.23", "tracing", - "wasmtime", ] [[package]] name = "spin-factor-llm" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "async-trait", @@ -4991,13 +5128,12 @@ dependencies = [ "toml 0.8.23", "tracing", "url", - "wasmtime", ] [[package]] name = "spin-factor-otel" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "indexmap 2.13.0", @@ -5011,13 +5147,12 @@ dependencies = [ "spin-world", "tracing", "tracing-opentelemetry", - "wasmtime", ] [[package]] name = "spin-factor-outbound-http" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "bytes", @@ -5047,8 +5182,8 @@ dependencies = [ [[package]] name = "spin-factor-outbound-mqtt" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "rumqttc", @@ -5060,13 +5195,12 @@ dependencies = [ "spin-world", "tokio", "tracing", - "wasmtime", ] [[package]] name = "spin-factor-outbound-mysql" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "futures", @@ -5080,13 +5214,12 @@ dependencies = [ "tokio", "tracing", "url", - "wasmtime", ] [[package]] name = "spin-factor-outbound-networking" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "futures-util", @@ -5094,6 +5227,7 @@ dependencies = [ "ip_network", "rustls 0.23.35", "rustls-pki-types", + "rustls-platform-verifier", "serde", "spin-factor-variables", "spin-factor-wasi", @@ -5109,8 +5243,8 @@ dependencies = [ [[package]] name = "spin-factor-outbound-pg" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "bytes", @@ -5123,23 +5257,27 @@ dependencies = [ "postgres_range", "rust_decimal", "serde_json", + "spin-common", "spin-core", "spin-factor-otel", "spin-factor-outbound-networking", "spin-factors", + "spin-locked-app", "spin-resource-table", + "spin-wasi-async", "spin-world", "tokio", "tokio-postgres", + "tokio-rustls 0.26.4", "tracing", + "url", "uuid", - "wasmtime", ] [[package]] name = "spin-factor-outbound-redis" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "redis", @@ -5151,43 +5289,43 @@ dependencies = [ "spin-world", "tokio", "tracing", - "wasmtime", ] [[package]] name = "spin-factor-sqlite" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "async-trait", + "spin-core", "spin-factor-otel", "spin-factors", "spin-locked-app", "spin-resource-table", + "spin-wasi-async", "spin-world", "tokio", "tracing", - "wasmtime", ] [[package]] name = "spin-factor-variables" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ + "spin-core", "spin-expressions", "spin-factor-otel", "spin-factors", "spin-telemetry", "spin-world", "tracing", - "wasmtime", ] [[package]] name = "spin-factor-wasi" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "async-trait", "bytes", @@ -5200,8 +5338,8 @@ dependencies = [ [[package]] name = "spin-factors" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "serde", @@ -5214,18 +5352,18 @@ dependencies = [ [[package]] name = "spin-factors-derive" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] name = "spin-factors-executor" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "spin-app", @@ -5238,8 +5376,8 @@ dependencies = [ [[package]] name = "spin-key-value-aws" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "async-once-cell", @@ -5249,12 +5387,13 @@ dependencies = [ "serde", "spin-core", "spin-factor-key-value", + "tokio", ] [[package]] name = "spin-key-value-azure" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "async-trait", @@ -5265,12 +5404,13 @@ dependencies = [ "reqwest", "serde", "spin-factor-key-value", + "tokio", ] [[package]] name = "spin-key-value-redis" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "redis", @@ -5283,22 +5423,23 @@ dependencies = [ [[package]] name = "spin-key-value-spin" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "rusqlite", "serde", "spin-core", "spin-factor-key-value", + "spin-wasi-async", "spin-world", "tokio", ] [[package]] name = "spin-llm-remote-http" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "futures", @@ -5312,8 +5453,8 @@ dependencies = [ [[package]] name = "spin-locked-app" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "async-trait", @@ -5326,8 +5467,8 @@ dependencies = [ [[package]] name = "spin-manifest" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "indexmap 2.13.0", @@ -5349,22 +5490,21 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "wit-bindgen 0.51.0", + "wit-bindgen 0.54.0", ] [[package]] name = "spin-mqtt-sdk" version = "0.2.0" dependencies = [ - "spin-executor", "spin-mqtt-macro", - "wit-bindgen 0.51.0", + "wit-bindgen 0.54.0", ] [[package]] name = "spin-outbound-networking-config" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "futures-util", @@ -5379,13 +5519,13 @@ dependencies = [ [[package]] name = "spin-resource-table" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" [[package]] name = "spin-runtime-config" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "serde", @@ -5419,8 +5559,8 @@ dependencies = [ [[package]] name = "spin-runtime-factors" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "clap", @@ -5448,8 +5588,8 @@ dependencies = [ [[package]] name = "spin-serde" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "base64 0.22.1", @@ -5461,8 +5601,8 @@ dependencies = [ [[package]] name = "spin-sqlite" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "serde", "spin-factor-sqlite", @@ -5474,21 +5614,23 @@ dependencies = [ [[package]] name = "spin-sqlite-inproc" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "async-trait", + "futures", "rusqlite", "spin-factor-sqlite", + "spin-wasi-async", "spin-world", "tokio", ] [[package]] name = "spin-sqlite-libsql" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "async-trait", @@ -5500,8 +5642,8 @@ dependencies = [ [[package]] name = "spin-telemetry" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "http 0.2.12", @@ -5518,13 +5660,14 @@ dependencies = [ [[package]] name = "spin-trigger" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "clap", "ctrlc", "futures", + "heck", "sanitize-filename", "serde", "serde_json", @@ -5546,8 +5689,8 @@ dependencies = [ [[package]] name = "spin-variables-azure" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "azure_core 0.20.0", "azure_identity 0.20.0", @@ -5561,8 +5704,8 @@ dependencies = [ [[package]] name = "spin-variables-env" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "dotenvy", "serde", @@ -5575,8 +5718,8 @@ dependencies = [ [[package]] name = "spin-variables-static" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "serde", "serde_json", @@ -5588,8 +5731,8 @@ dependencies = [ [[package]] name = "spin-variables-vault" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "serde", "spin-expressions", @@ -5598,10 +5741,20 @@ dependencies = [ "vaultrs", ] +[[package]] +name = "spin-wasi-async" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" +dependencies = [ + "anyhow", + "spin-core", + "tokio", +] + [[package]] name = "spin-world" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "anyhow", "async-trait", @@ -5636,6 +5789,12 @@ 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" @@ -5665,9 +5824,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.108" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -5703,7 +5862,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -5712,8 +5871,8 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.10.0", - "core-foundation", + "bitflags", + "core-foundation 0.9.4", "system-configuration-sys", ] @@ -5733,7 +5892,7 @@ version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc4592f674ce18521c2a81483873a49596655b179f71c5e05d10c1fe66c78745" dependencies = [ - "bitflags 2.10.0", + "bitflags", "cap-fs-ext", "cap-std", "fd-lock", @@ -5785,17 +5944,21 @@ dependencies = [ [[package]] name = "terminal" -version = "3.6.3" -source = "git+https://github.com/spinframework/spin?tag=v3.6.3#88d51cf1dafa23c4177f5fbf122b3beca46d1941" +version = "4.0.0-pre0" +source = "git+https://github.com/spinframework/spin?branch=main#a794d6e7a514af693f8779c4dfe9f59f391118d0" dependencies = [ "termcolor", ] [[package]] -name = "textwrap" -version = "0.16.2" +name = "terminal_size" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" +checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" +dependencies = [ + "rustix 1.1.2", + "windows-sys 0.61.2", +] [[package]] name = "thiserror" @@ -5823,7 +5986,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -5834,7 +5997,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -5930,7 +6093,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -6194,7 +6357,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ - "bitflags 2.10.0", + "bitflags", "bytes", "futures-util", "http 1.3.1", @@ -6238,7 +6401,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -6431,6 +6594,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + [[package]] name = "uuid" version = "1.18.1" @@ -6525,6 +6694,16 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + [[package]] name = "want" version = "0.3.1" @@ -6546,15 +6725,6 @@ version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" -[[package]] -name = "wasi" -version = "0.13.1+wasi-0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f43d1c36145feb89a3e61aa0ba3e582d976a8ab77f1474aa0adb80800fe0cf8" -dependencies = [ - "wit-bindgen-rt", -] - [[package]] name = "wasip2" version = "1.0.1+wasi-0.2.4" @@ -6615,7 +6785,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", "wasm-bindgen-shared", ] @@ -6630,12 +6800,12 @@ dependencies = [ [[package]] name = "wasm-compose" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92cda9c76ca8dcac01a8b497860c2cb15cd6f216dc07060517df5abbe82512ac" +checksum = "5fd23d12cc95c451c1306db5bc63075fbebb612bb70c53b4237b1ce5bc178343" dependencies = [ "anyhow", - "heck 0.5.0", + "heck", "im-rc", "indexmap 2.13.0", "log", @@ -6644,8 +6814,8 @@ dependencies = [ "serde_derive", "serde_yaml", "smallvec", - "wasm-encoder 0.244.0", - "wasmparser 0.244.0", + "wasm-encoder 0.245.1", + "wasmparser 0.245.1", "wat", ] @@ -6661,22 +6831,22 @@ dependencies = [ [[package]] name = "wasm-encoder" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +checksum = "3f9dca005e69bf015e45577e415b9af8c67e8ee3c0e38b5b0add5aa92581ed5c" dependencies = [ "leb128fmt", - "wasmparser 0.244.0", + "wasmparser 0.245.1", ] [[package]] name = "wasm-encoder" -version = "0.245.0" +version = "0.246.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95d568e113f706ee7a7df9b33547bb80721f55abffc79b3dc4d09c368690e662" +checksum = "61fb705ce81adde29d2a8e99d87995e39a6e927358c91398f374474746070ef7" dependencies = [ "leb128fmt", - "wasmparser 0.245.0", + "wasmparser 0.246.2", ] [[package]] @@ -6700,9 +6870,9 @@ dependencies = [ [[package]] name = "wasm-metadata" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +checksum = "da55e60097e8b37b475a0fa35c3420dd71d9eb7bd66109978ab55faf56a57efb" dependencies = [ "anyhow", "auditable-serde", @@ -6713,8 +6883,8 @@ dependencies = [ "serde_json", "spdx", "url", - "wasm-encoder 0.244.0", - "wasmparser 0.244.0", + "wasm-encoder 0.245.1", + "wasmparser 0.245.1", ] [[package]] @@ -6753,7 +6923,7 @@ version = "0.239.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c9d90bb93e764f6beabf1d02028c70a2156a6583e63ac4218dd07ef733368b0" dependencies = [ - "bitflags 2.10.0", + "bitflags", "hashbrown 0.15.5", "indexmap 2.13.0", "semver", @@ -6762,12 +6932,12 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +checksum = "4f08c9adee0428b7bddf3890fc27e015ac4b761cc608c822667102b8bfd6995e" dependencies = [ - "bitflags 2.10.0", - "hashbrown 0.15.5", + "bitflags", + "hashbrown 0.16.1", "indexmap 2.13.0", "semver", "serde", @@ -6775,35 +6945,35 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.245.0" +version = "0.246.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48a767a48974f0c8b66f211b96e01aa77feed58b8ccce4e7f0cff0ae55b174d4" +checksum = "71cde4757396defafd25417cfb36aa3161027d06d865b0c24baaae229aac005d" dependencies = [ - "bitflags 2.10.0", + "bitflags", "indexmap 2.13.0", "semver", ] [[package]] name = "wasmprinter" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09390d7b2bd7b938e563e4bff10aa345ef2e27a3bc99135697514ef54495e68f" +checksum = "5f41517a3716fbb8ccf46daa9c1325f760fcbff5168e75c7392288e410b91ac8" dependencies = [ "anyhow", "termcolor", - "wasmparser 0.244.0", + "wasmparser 0.245.1", ] [[package]] name = "wasmtime" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66806cf6094768e227f74d209eb017cc967276c94fea478e62a0dffede2b3d0d" +checksum = "ce205cd643d661b5ba5ba4717e13730262e8cdbc8f2eacbc7b906d45c1a74026" dependencies = [ "addr2line", "async-trait", - "bitflags 2.10.0", + "bitflags", "bumpalo", "bytes", "cc", @@ -6831,8 +7001,8 @@ dependencies = [ "target-lexicon", "tempfile", "wasm-compose", - "wasm-encoder 0.244.0", - "wasmparser 0.244.0", + "wasm-encoder 0.245.1", + "wasmparser 0.245.1", "wasmtime-environ", "wasmtime-internal-cache", "wasmtime-internal-component-macro", @@ -6851,16 +7021,17 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90d3611be7991cba09f14dbb99fe7a0fbaca9eb995ab5c548456eeda44afe20e" +checksum = "0b8b78abf3677d4a0a5db82e5015b4d085ff3a1b8b472cbb8c70d4b769f019ce" dependencies = [ "anyhow", "cpp_demangle", + "cranelift-bforest", "cranelift-bitset", "cranelift-entity", "gimli", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "indexmap 2.13.0", "log", "object", @@ -6869,10 +7040,11 @@ dependencies = [ "semver", "serde", "serde_derive", + "sha2", "smallvec", "target-lexicon", - "wasm-encoder 0.244.0", - "wasmparser 0.244.0", + "wasm-encoder 0.245.1", + "wasmparser 0.245.1", "wasmprinter", "wasmtime-internal-component-util", "wasmtime-internal-core", @@ -6880,9 +7052,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-cache" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2407af12566ff8d537b1a978eccaa087cc4c6d1f13fa57d21114a8def8bfe8a3" +checksum = "8e4fd4103ba413c0da2e636f73490c6c8e446d708cbde7573703941bc3d6a448" dependencies = [ "base64 0.22.1", "directories-next", @@ -6900,14 +7072,14 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-macro" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3616cebe594e6c4b573ddb908d2703d13b53b2abdaeb73acd1ca8b5a911bc256" +checksum = "0d3d6914f34be2f9d78d8ee9f422e834dfc204e71ccce697205fae95fed87892" dependencies = [ "anyhow", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", "wasmtime-internal-component-util", "wasmtime-internal-wit-bindgen", "wit-parser", @@ -6915,25 +7087,27 @@ dependencies = [ [[package]] name = "wasmtime-internal-component-util" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61571112f9cbf9798e48f3bd6ba5161588a08b99158585153784e3f46f955053" +checksum = "3751b0616b914fdd87fe1bf804694a078f321b000338e6476bc48a4d6e454f21" [[package]] name = "wasmtime-internal-core" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be7c68311d6220c20cefdf334e0c8021e16a050383c67edc5be42e5661ddf265" +checksum = "22632b187e1b0716f1b9ac57ad29013bed33175fcb19e10bb6896126f82fac67" dependencies = [ "anyhow", + "hashbrown 0.16.1", "libm", + "serde", ] [[package]] name = "wasmtime-internal-cranelift" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5fd90a9113379260508193bab9f4e870d34078fdd181f9fc8dd053b0f7a958c" +checksum = "8b3ca07b3e0bb3429674b173b5800577719d600774dd81bff58f775c0aaa64ee" dependencies = [ "cfg-if", "cranelift-codegen", @@ -6949,7 +7123,7 @@ dependencies = [ "smallvec", "target-lexicon", "thiserror 2.0.17", - "wasmparser 0.244.0", + "wasmparser 0.245.1", "wasmtime-environ", "wasmtime-internal-core", "wasmtime-internal-unwinder", @@ -6958,9 +7132,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-fiber" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd95ecd37e62eaae686256ca9773902b73c0398c2eb8cfbca49fbf950609c22" +checksum = "20c8b2c9704eb1f33ead025ec16038277ccb63d0a14c31e99d5b765d7c36da55" dependencies = [ "cc", "cfg-if", @@ -6973,9 +7147,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-debug" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b875a7727c043a308c81f2de5ce7260b7513cb5baaa2af32937646b8c9019a3f" +checksum = "d950310d07391d34369f62c48336ebb14eacbd4d6f772bb5f349c24e838e0664" dependencies = [ "cc", "object", @@ -6985,9 +7159,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-jit-icache-coherence" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52c0779e711777b915d017b3f54049e658057a77df99e0e7958406b3c5d7d07" +checksum = "3606662c156962d096be3127b8b8ae8ee2f8be3f896dad29259ff01ddb64abfd" dependencies = [ "cfg-if", "libc", @@ -6997,9 +7171,9 @@ dependencies = [ [[package]] name = "wasmtime-internal-unwinder" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acb031b1e9700667b3f818235b2846e3babeb30bc340c8233d3fad4c44d80ff" +checksum = "75eef0747e52dc545b075f64fd0e0cc237ae738e641266b1970e07e2d744bc32" dependencies = [ "cfg-if", "cranelift-codegen", @@ -7010,27 +7184,27 @@ dependencies = [ [[package]] name = "wasmtime-internal-versioned-export-macros" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbfbbfdb0cfd638145b0de4d3e309901ccc4e29965a33ca1eb18ab6f37057350" +checksum = "d8b0a5dab02a8fb527f547855ecc0e05f9fdc3d5bd57b8b080349408f9a6cece" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] name = "wasmtime-internal-winch" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4853af4a25f98c039cc27c7238e40df9ec783fc7981b879a813153d1d3211a" +checksum = "8007342bd12ff400293a817973f7ecd6f1d9a8549a53369a9c1af357166f1f1e" dependencies = [ "cranelift-codegen", "gimli", "log", "object", "target-lexicon", - "wasmparser 0.244.0", + "wasmparser 0.245.1", "wasmtime-environ", "wasmtime-internal-cranelift", "winch-codegen", @@ -7038,25 +7212,25 @@ dependencies = [ [[package]] name = "wasmtime-internal-wit-bindgen" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de1c8eaa54b17e3a64b6c0cfabd065bdbdfd06f5d7c685272b7309117377be0" +checksum = "7900c3e3c1d6e475bc225d73b02d6d5484815f260022e6964dca9558e50dd01a" dependencies = [ "anyhow", - "bitflags 2.10.0", - "heck 0.5.0", + "bitflags", + "heck", "indexmap 2.13.0", "wit-parser", ] [[package]] name = "wasmtime-wasi" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e144a12c39adabd2ce1f7b52bd12a60286d3010044ed0d1c2ae52e35fd6f5ce" +checksum = "ed3e3ddcfad69e9eb025bd19bff70dad45bafe1d6eacd134c0ffdfc4c161d045" dependencies = [ "async-trait", - "bitflags 2.10.0", + "bitflags", "bytes", "cap-fs-ext", "cap-net-ext", @@ -7081,9 +7255,9 @@ dependencies = [ [[package]] name = "wasmtime-wasi-http" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d74f0851af401e7b57f3b5af9352dfef2be04b1f2c3b6c5c92b4636c6503c88e" +checksum = "2b286829e05b5d8559d9519f44451e82502739ef48689b66debe96612e2b88df" dependencies = [ "async-trait", "bytes", @@ -7105,9 +7279,9 @@ dependencies = [ [[package]] name = "wasmtime-wasi-io" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "609666ef67a53449ea6c1c529541a8af24f3b109d9f627255c0b848c58b824b0" +checksum = "3ca5dd3b9f04a851c422d05f333366722742da46bff9369ae0191f32cf83565a" dependencies = [ "async-trait", "bytes", @@ -7127,24 +7301,24 @@ dependencies = [ [[package]] name = "wast" -version = "245.0.0" +version = "246.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ffc7471e16a6f3c7a3c3a230314915b5dcd158e5ef13ccda2f43358a9df00c" +checksum = "fe3fe8e3bf88ad96d031b4181ddbd64634b17cb0d06dfc3de589ef43591a9a62" dependencies = [ "bumpalo", "leb128fmt", "memchr", "unicode-width", - "wasm-encoder 0.245.0", + "wasm-encoder 0.246.2", ] [[package]] name = "wat" -version = "1.245.0" +version = "1.246.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bcac6f915e2a84a4c0d9df9d41ad7518d99cda13f3bb83e3b8c22bf8726ab6" +checksum = "4bd7fda1199b94fff395c2d19a153f05dbe7807630316fa9673367666fd2ad8c" dependencies = [ - "wast 245.0.0", + "wast 246.0.2", ] [[package]] @@ -7167,6 +7341,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-root-certs" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webpki-roots" version = "0.26.11" @@ -7198,11 +7381,11 @@ dependencies = [ [[package]] name = "wiggle" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0bbdfe34fac0937e887fd0b3b9266b775c1fff8cd2e3f80ffa5d67b35bfa7cb" +checksum = "cc1b1135efc8e5a008971897bea8d41ca56d8d501d4efb807842ae0a1c78f639" dependencies = [ - "bitflags 2.10.0", + "bitflags", "thiserror 2.0.17", "tracing", "wasmtime", @@ -7212,27 +7395,27 @@ dependencies = [ [[package]] name = "wiggle-generate" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7316746ac77a917a33ccc0cee6794bd72e300f2f533c28b8d5738f1f5fa29f" +checksum = "a7bc2b0d50ec8773b44fbfe1da6cb5cc44a92deaf8483233dcf0831e6db33172" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", "wasmtime-environ", "witx", ] [[package]] name = "wiggle-macro" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8f625d05adeddad85c8d5fbcd765a8ecf1b22260840a0a193125dc4ab06ac9d" +checksum = "2d6c7d44ea552e1fbfdcd7a2cd83f5c2d1e803d5b1a11e3462c06888b77f455f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", "wiggle-generate", ] @@ -7269,9 +7452,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "winch-codegen" -version = "42.0.2" +version = "43.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d1bc7cbb9103e6847042f0514f911126263173f6e9a18e5cfa257d3b5711c09" +checksum = "eb9f45f7172a2628c8317766e427babc0a400f9d10b1c0f0b0617c5ed5b79de6" dependencies = [ "cranelift-assembler-x64", "cranelift-codegen", @@ -7280,7 +7463,7 @@ dependencies = [ "smallvec", "target-lexicon", "thiserror 2.0.17", - "wasmparser 0.244.0", + "wasmparser 0.245.1", "wasmtime-environ", "wasmtime-internal-core", "wasmtime-internal-cranelift", @@ -7307,7 +7490,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -7318,7 +7501,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -7380,6 +7563,15 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.52.0" @@ -7416,6 +7608,21 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -7449,6 +7656,12 @@ dependencies = [ "windows_x86_64_msvc 0.53.1", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -7461,6 +7674,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -7473,6 +7692,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -7497,6 +7722,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -7509,6 +7740,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -7521,6 +7758,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -7533,6 +7776,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -7560,7 +7809,7 @@ version = "0.36.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f3fd376f71958b862e7afb20cfe5a22830e1963462f3a17f49d82a6c1d1f42d" dependencies = [ - "bitflags 2.10.0", + "bitflags", "windows-sys 0.59.0", ] @@ -7572,91 +7821,83 @@ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "wit-bindgen" -version = "0.51.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +checksum = "2bb00254d5051d69730ee32580b7373592f10ad786757c372f0f2c7b61f86a2c" dependencies = [ - "bitflags 2.10.0", + "bitflags", "wit-bindgen-rust-macro", ] [[package]] name = "wit-bindgen-core" -version = "0.51.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +checksum = "99cdef5ccf0b0e9bf30868d6f9c5ed116c84ae95f84ba29d2216d3e922de3963" dependencies = [ "anyhow", - "heck 0.5.0", + "heck", "wit-parser", ] -[[package]] -name = "wit-bindgen-rt" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0780cf7046630ed70f689a098cd8d56c5c3b22f2a7379bbdb088879963ff96" -dependencies = [ - "bitflags 2.10.0", -] - [[package]] name = "wit-bindgen-rust" -version = "0.51.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +checksum = "e76541e2f37ac1729db85765729daa0f3c2b5975d66699114d107525f6d6c8d5" dependencies = [ "anyhow", - "heck 0.5.0", + "heck", "indexmap 2.13.0", "prettyplease", - "syn 2.0.108", - "wasm-metadata 0.244.0", + "syn 2.0.117", + "wasm-metadata 0.245.1", "wit-bindgen-core", "wit-component", ] [[package]] name = "wit-bindgen-rust-macro" -version = "0.51.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +checksum = "a284e17b2bc808c72ba008f6694626fa76bcac608b3d1ed0880f9add3f558f8e" dependencies = [ "anyhow", "prettyplease", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", "wit-bindgen-core", "wit-bindgen-rust", ] [[package]] name = "wit-component" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +checksum = "4894f10d2d5cbc17c77e91f86a1e48e191a788da4425293b55c98b44ba3fcac9" dependencies = [ "anyhow", - "bitflags 2.10.0", + "bitflags", "indexmap 2.13.0", "log", "serde", "serde_derive", "serde_json", - "wasm-encoder 0.244.0", - "wasm-metadata 0.244.0", - "wasmparser 0.244.0", + "wasm-encoder 0.245.1", + "wasm-metadata 0.245.1", + "wasmparser 0.245.1", "wit-parser", ] [[package]] name = "wit-parser" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +checksum = "330698718e82983499419494dd1e3d7811a457a9bf9f69734e8c5f07a2547929" dependencies = [ "anyhow", + "hashbrown 0.16.1", "id-arena", "indexmap 2.13.0", "log", @@ -7665,7 +7906,7 @@ dependencies = [ "serde_derive", "serde_json", "unicode-xid", - "wasmparser 0.244.0", + "wasmparser 0.245.1", ] [[package]] @@ -7720,7 +7961,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", "synstructure 0.13.2", ] @@ -7741,7 +7982,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] @@ -7761,7 +8002,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", "synstructure 0.13.2", ] @@ -7801,7 +8042,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.117", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 744f102..f0dd536 100755 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,21 +6,21 @@ rust-version = { workspace = true } [dependencies] anyhow = "1.0.100" -clap = { version = "3.2.25", features = ["derive", "env"] } +clap = { version = "4", features = ["derive", "env"] } futures = "0.3.31" serde = "1.0.228" -spin-app = { git = "https://github.com/spinframework/spin", tag = "v3.6.3" } -spin-core = { git = "https://github.com/spinframework/spin", tag = "v3.6.3" } -spin-expressions = { git = "https://github.com/spinframework/spin", tag = "v3.6.3" } -spin-factors = { git = "https://github.com/spinframework/spin", tag = "v3.6.3" } -spin-runtime-factors = { git = "https://github.com/spinframework/spin", tag = "v3.6.3" } -spin-trigger = { git = "https://github.com/spinframework/spin", tag = "v3.6.3" } -spin-telemetry = { git = "https://github.com/spinframework/spin", tag = "v3.6.3" } -spin-factor-variables = { git = "https://github.com/spinframework/spin", tag = "v3.6.3" } +spin-app = { git = "https://github.com/spinframework/spin", branch = "main" } +spin-core = { git = "https://github.com/spinframework/spin", branch = "main" } +spin-expressions = { git = "https://github.com/spinframework/spin", branch = "main" } +spin-factors = { git = "https://github.com/spinframework/spin", branch = "main" } +spin-runtime-factors = { git = "https://github.com/spinframework/spin", branch = "main" } +spin-trigger = { git = "https://github.com/spinframework/spin", branch = "main" } +spin-telemetry = { git = "https://github.com/spinframework/spin", branch = "main" } +spin-factor-variables = { git = "https://github.com/spinframework/spin", branch = "main" } tokio = { version = "1", features = ["full"] } tracing = { version = "0.1.41", features = ["log"] } paho-mqtt = { version = "0.13.3", features = ["vendored-ssl"] } -wasmtime = { version = "42.0.2" } +wasmtime = { version = "43" } [workspace] members = ["sdk", "sdk/macro"] @@ -31,4 +31,4 @@ edition = "2021" rust-version = "1.91" [workspace.dependencies] -wit-bindgen = "0.51.0" +wit-bindgen = "0.54.0" diff --git a/examples/mqtt-app/Cargo.lock b/examples/mqtt-app/Cargo.lock index 38f07ac..ffeaa3f 100755 --- a/examples/mqtt-app/Cargo.lock +++ b/examples/mqtt-app/Cargo.lock @@ -84,107 +84,24 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.106", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[package]] -name = "futures-util" -version = "0.3.31" +name = "hashbrown" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", + "foldhash", ] [[package]] name = "hashbrown" -version = "0.15.4" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" -dependencies = [ - "foldhash", -] +checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" [[package]] name = "heck" @@ -217,19 +134,20 @@ dependencies = [ [[package]] name = "id-arena" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "indexmap" -version = "2.9.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.17.0", "serde", + "serde_core", ] [[package]] @@ -266,12 +184,6 @@ version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" -[[package]] -name = "memchr" -version = "2.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" - [[package]] name = "mqtt-app" version = "0.1.0" @@ -296,18 +208,6 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" -[[package]] -name = "pin-project-lite" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - [[package]] name = "prettyplease" version = "0.2.37" @@ -356,18 +256,27 @@ checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -391,26 +300,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "spin-executor" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bba409d00af758cd5de128da4a801e891af0545138f66a688f025f6d4e33870b" -dependencies = [ - "futures", - "once_cell", - "wasi", -] - [[package]] name = "spin-mqtt-macro" version = "0.2.0" @@ -425,7 +314,6 @@ dependencies = [ name = "spin-mqtt-sdk" version = "0.2.0" dependencies = [ - "spin-executor", "spin-mqtt-macro", "wit-bindgen", ] @@ -464,15 +352,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" -[[package]] -name = "wasi" -version = "0.13.1+wasi-0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f43d1c36145feb89a3e61aa0ba3e582d976a8ab77f1474aa0adb80800fe0cf8" -dependencies = [ - "wit-bindgen-rt", -] - [[package]] name = "wasm-bindgen" version = "0.2.100" @@ -533,9 +412,9 @@ dependencies = [ [[package]] name = "wasm-encoder" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +checksum = "3f9dca005e69bf015e45577e415b9af8c67e8ee3c0e38b5b0add5aa92581ed5c" dependencies = [ "leb128fmt", "wasmparser", @@ -543,9 +422,9 @@ dependencies = [ [[package]] name = "wasm-metadata" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +checksum = "da55e60097e8b37b475a0fa35c3420dd71d9eb7bd66109978ab55faf56a57efb" dependencies = [ "anyhow", "indexmap", @@ -555,12 +434,12 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +checksum = "4f08c9adee0428b7bddf3890fc27e015ac4b761cc608c822667102b8bfd6995e" dependencies = [ "bitflags", - "hashbrown", + "hashbrown 0.16.1", "indexmap", "semver", ] @@ -640,9 +519,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "wit-bindgen" -version = "0.51.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +checksum = "2bb00254d5051d69730ee32580b7373592f10ad786757c372f0f2c7b61f86a2c" dependencies = [ "bitflags", "wit-bindgen-rust-macro", @@ -650,29 +529,20 @@ dependencies = [ [[package]] name = "wit-bindgen-core" -version = "0.51.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +checksum = "99cdef5ccf0b0e9bf30868d6f9c5ed116c84ae95f84ba29d2216d3e922de3963" dependencies = [ "anyhow", "heck", "wit-parser", ] -[[package]] -name = "wit-bindgen-rt" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0780cf7046630ed70f689a098cd8d56c5c3b22f2a7379bbdb088879963ff96" -dependencies = [ - "bitflags", -] - [[package]] name = "wit-bindgen-rust" -version = "0.51.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +checksum = "e76541e2f37ac1729db85765729daa0f3c2b5975d66699114d107525f6d6c8d5" dependencies = [ "anyhow", "heck", @@ -686,9 +556,9 @@ dependencies = [ [[package]] name = "wit-bindgen-rust-macro" -version = "0.51.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +checksum = "a284e17b2bc808c72ba008f6694626fa76bcac608b3d1ed0880f9add3f558f8e" dependencies = [ "anyhow", "prettyplease", @@ -701,9 +571,9 @@ dependencies = [ [[package]] name = "wit-component" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +checksum = "4894f10d2d5cbc17c77e91f86a1e48e191a788da4425293b55c98b44ba3fcac9" dependencies = [ "anyhow", "bitflags", @@ -720,11 +590,12 @@ dependencies = [ [[package]] name = "wit-parser" -version = "0.244.0" +version = "0.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +checksum = "330698718e82983499419494dd1e3d7811a457a9bf9f69734e8c5f07a2547929" dependencies = [ "anyhow", + "hashbrown 0.16.1", "id-arena", "indexmap", "log", diff --git a/sdk/Cargo.toml b/sdk/Cargo.toml index dcc22f7..df1c879 100644 --- a/sdk/Cargo.toml +++ b/sdk/Cargo.toml @@ -9,6 +9,5 @@ include = ["../spin-mqtt.wit"] name = "spin_mqtt_sdk" [dependencies] -spin-executor = "5.2.0" spin-mqtt-macro = { path = "macro" } wit-bindgen = { workspace = true } \ No newline at end of file diff --git a/sdk/macro/src/lib.rs b/sdk/macro/src/lib.rs index 9ec7e2a..52d7dda 100644 --- a/sdk/macro/src/lib.rs +++ b/sdk/macro/src/lib.rs @@ -7,7 +7,16 @@ const WIT_PATH: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/../../spin-mqtt.wit pub fn mqtt_component(_attr: TokenStream, item: TokenStream) -> TokenStream { let func = syn::parse_macro_input!(item as syn::ItemFn); let func_name = &func.sig.ident; - let await_postfix = func.sig.asyncness.map(|_| quote!(.await)); + + if func.sig.asyncness.is_none() { + return syn::Error::new_spanned( + func.sig.fn_token, + "the `#[mqtt_component]` function must be `async`", + ) + .to_compile_error() + .into(); + } + let preamble = preamble(); quote!( @@ -17,16 +26,14 @@ pub fn mqtt_component(_attr: TokenStream, item: TokenStream) -> TokenStream { #preamble } impl self::preamble::Guest for preamble::Mqtt { - fn handle_message(payload: ::spin_mqtt_sdk::Payload, metadata: ::spin_mqtt_sdk::Metadata) -> ::std::result::Result<(), ::spin_mqtt_sdk::Error> { - ::spin_mqtt_sdk::executor::run(async move { - match super::#func_name(payload, metadata)#await_postfix { - ::std::result::Result::Ok(()) => ::std::result::Result::Ok(()), - ::std::result::Result::Err(e) => { - eprintln!("{}", e); - ::std::result::Result::Err(::spin_mqtt_sdk::Error::Other(e.to_string())) - }, - } - }) + async fn handle_message(payload: ::spin_mqtt_sdk::Payload, metadata: ::spin_mqtt_sdk::Metadata) -> ::std::result::Result<(), ::spin_mqtt_sdk::Error> { + match super::#func_name(payload, metadata).await { + ::std::result::Result::Ok(()) => ::std::result::Result::Ok(()), + ::std::result::Result::Err(e) => { + eprintln!("{}", e); + ::std::result::Result::Err(::spin_mqtt_sdk::Error::Other(e.to_string())) + }, + } } } } @@ -42,7 +49,7 @@ fn preamble() -> proc_macro2::TokenStream { path: #WIT_PATH, runtime_path: "::spin_mqtt_sdk::wit_bindgen::rt", with: { - "spin:mqtt-trigger/spin-mqtt-types": ::spin_mqtt_sdk, + "spin:mqtt-trigger/spin-mqtt-types@3.0.0": ::spin_mqtt_sdk, } }); pub struct Mqtt; diff --git a/sdk/src/lib.rs b/sdk/src/lib.rs index b142205..b14f699 100644 --- a/sdk/src/lib.rs +++ b/sdk/src/lib.rs @@ -1,8 +1,5 @@ pub use spin_mqtt_macro::mqtt_component; -#[doc(hidden)] -pub use spin_executor as executor; - #[doc(hidden)] pub mod wit { #![allow(missing_docs)] diff --git a/spin-mqtt.wit b/spin-mqtt.wit index 15e1cbd..cf13501 100755 --- a/spin-mqtt.wit +++ b/spin-mqtt.wit @@ -1,6 +1,6 @@ // WIT design guidelines https://github.com/WebAssembly/component-model/blob/main/design/mvp/WIT.md // https://component-model.bytecodealliance.org/design/wit.html -package spin:mqtt-trigger; +package spin:mqtt-trigger@3.0.0; interface spin-mqtt-types { /// General purpose error. @@ -28,7 +28,7 @@ world spin-mqtt { use spin-mqtt-types.{error, metadata, payload}; /// The entrypoint for a Mqtt handler in wasm component - export handle-message: func(message: payload, metadata: metadata) -> result<_, error>; + export handle-message: async func(message: payload, metadata: metadata) -> result<_, error>; } world spin-mqtt-sdk { diff --git a/src/lib.rs b/src/lib.rs index 17e4412..2aef120 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -113,10 +113,19 @@ impl MqttTrigger { // SpinMqtt is auto generated by bindgen as per WIT files referenced above. let instance = SpinMqtt::new(&mut store, &instance)?; - instance - .call_handle_message(store, &message, &mqtt_types::Metadata { topic }) - .await? - .map_err(|err| anyhow!("failed to execute guest: {err}")) + store + .as_mut() + .run_concurrent(async |accessor| { + instance + .call_handle_message(accessor, message, mqtt_types::Metadata { topic }) + .await + }) + .await + .map_err(|e| anyhow!("failed to execute guest: {e}"))? + .map_err(|e| anyhow!("failed to execute guest: {e}"))? + .map_err(|e| anyhow!("guest returned an error: {e}"))?; + + Ok(()) } /// Run the listener for a specific component