diff --git a/Cargo.lock b/Cargo.lock index e4a1905a4b..043aaad33d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -938,6 +938,15 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "cookie" version = "0.18.1" @@ -1041,6 +1050,16 @@ dependencies = [ "typenum", ] +[[package]] +name = "ctor" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" +dependencies = [ + "quote", + "syn 2.0.104", +] + [[package]] name = "curve25519-dalek" version = "4.1.3" @@ -1448,7 +1467,7 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" [[package]] name = "epoxy" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "axum 0.8.4", @@ -1489,7 +1508,7 @@ dependencies = [ [[package]] name = "epoxy-protocol" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "rivet-util", @@ -1753,7 +1772,7 @@ dependencies = [ [[package]] name = "gasoline" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-stream", @@ -1802,7 +1821,7 @@ dependencies = [ [[package]] name = "gasoline-macros" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "proc-macro2", "quote", @@ -1811,7 +1830,7 @@ dependencies = [ [[package]] name = "gasoline-runtime" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "epoxy", @@ -2605,6 +2624,17 @@ dependencies = [ "zstd-sys", ] +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + [[package]] name = "libz-sys" version = "1.1.22" @@ -2840,7 +2870,7 @@ dependencies = [ [[package]] name = "namespace" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "epoxy", @@ -2861,6 +2891,66 @@ dependencies = [ "vbare", ] +[[package]] +name = "napi" +version = "2.16.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55740c4ae1d8696773c78fdafd5d0e5fe9bc9f1b071c7ba493ba5c413a9184f3" +dependencies = [ + "bitflags", + "ctor", + "napi-derive", + "napi-sys", + "once_cell", + "serde", + "serde_json", + "tokio", +] + +[[package]] +name = "napi-build" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d376940fd5b723c6893cd1ee3f33abbfd86acb1cd1ec079f3ab04a2a3bc4d3b1" + +[[package]] +name = "napi-derive" +version = "2.16.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cbe2585d8ac223f7d34f13701434b9d5f4eb9c332cccce8dee57ea18ab8ab0c" +dependencies = [ + "cfg-if", + "convert_case", + "napi-derive-backend", + "proc-macro2", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "napi-derive-backend" +version = "1.0.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1639aaa9eeb76e91c6ae66da8ce3e89e921cd3885e99ec85f4abacae72fc91bf" +dependencies = [ + "convert_case", + "once_cell", + "proc-macro2", + "quote", + "regex", + "semver", + "syn 2.0.104", +] + +[[package]] +name = "napi-sys" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3" +dependencies = [ + "libloading", +] + [[package]] name = "native-tls" version = "0.2.14" @@ -3341,7 +3431,7 @@ checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "pegboard" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "base64 0.22.1", @@ -3389,7 +3479,7 @@ dependencies = [ [[package]] name = "pegboard-envoy" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-trait", @@ -3428,7 +3518,7 @@ dependencies = [ [[package]] name = "pegboard-gateway" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-trait", @@ -3462,7 +3552,7 @@ dependencies = [ [[package]] name = "pegboard-gateway2" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-trait", @@ -3496,7 +3586,7 @@ dependencies = [ [[package]] name = "pegboard-outbound" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "epoxy", @@ -3519,7 +3609,7 @@ dependencies = [ [[package]] name = "pegboard-runner" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-trait", @@ -4261,7 +4351,7 @@ dependencies = [ [[package]] name = "rivet-api-builder" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "axum 0.8.4", @@ -4304,7 +4394,7 @@ dependencies = [ [[package]] name = "rivet-api-peer" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "axum 0.8.4", @@ -4334,7 +4424,7 @@ dependencies = [ [[package]] name = "rivet-api-public" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "axum 0.8.4", @@ -4369,7 +4459,7 @@ dependencies = [ [[package]] name = "rivet-api-public-openapi-gen" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "rivet-api-public", "serde_json", @@ -4378,7 +4468,7 @@ dependencies = [ [[package]] name = "rivet-api-types" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "gasoline", @@ -4393,7 +4483,7 @@ dependencies = [ [[package]] name = "rivet-api-util" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "axum 0.8.4", @@ -4413,7 +4503,7 @@ dependencies = [ [[package]] name = "rivet-bootstrap" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "epoxy", "gasoline", @@ -4433,7 +4523,7 @@ dependencies = [ [[package]] name = "rivet-cache" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "futures-util", @@ -4476,14 +4566,14 @@ dependencies = [ [[package]] name = "rivet-cache-result" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "rivet-util", ] [[package]] name = "rivet-config" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "config", @@ -4502,7 +4592,7 @@ dependencies = [ [[package]] name = "rivet-config-schema-gen" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "rivet-config", "schemars 0.8.22", @@ -4511,7 +4601,7 @@ dependencies = [ [[package]] name = "rivet-data" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "gasoline", @@ -4525,7 +4615,7 @@ dependencies = [ [[package]] name = "rivet-engine" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-trait", @@ -4596,7 +4686,7 @@ dependencies = [ [[package]] name = "rivet-env" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "lazy_static", "uuid", @@ -4604,7 +4694,7 @@ dependencies = [ [[package]] name = "rivet-envoy-client" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "futures-util", @@ -4627,7 +4717,7 @@ dependencies = [ [[package]] name = "rivet-envoy-protocol" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "hex", @@ -4643,7 +4733,7 @@ dependencies = [ [[package]] name = "rivet-error" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "indoc", @@ -4655,7 +4745,7 @@ dependencies = [ [[package]] name = "rivet-error-macros" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "indoc", "proc-macro2", @@ -4666,7 +4756,7 @@ dependencies = [ [[package]] name = "rivet-guard" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-trait", @@ -4723,7 +4813,7 @@ dependencies = [ [[package]] name = "rivet-guard-core" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-trait", @@ -4767,7 +4857,7 @@ dependencies = [ [[package]] name = "rivet-logs" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "chrono", @@ -4781,7 +4871,7 @@ dependencies = [ [[package]] name = "rivet-metrics" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "console-subscriber", @@ -4800,7 +4890,7 @@ dependencies = [ [[package]] name = "rivet-pools" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-nats", @@ -4832,7 +4922,7 @@ dependencies = [ [[package]] name = "rivet-postgres-util" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "rustls", @@ -4843,7 +4933,7 @@ dependencies = [ [[package]] name = "rivet-runner-protocol" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "gasoline", @@ -4860,7 +4950,7 @@ dependencies = [ [[package]] name = "rivet-runtime" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "console-subscriber", @@ -4887,7 +4977,7 @@ dependencies = [ [[package]] name = "rivet-service-manager" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "chrono", @@ -4904,7 +4994,7 @@ dependencies = [ [[package]] name = "rivet-telemetry" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "rivet-config", @@ -4928,7 +5018,7 @@ dependencies = [ [[package]] name = "rivet-test-deps" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "futures-util", @@ -4946,7 +5036,7 @@ dependencies = [ [[package]] name = "rivet-test-deps-docker" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "portpicker", @@ -4959,7 +5049,7 @@ dependencies = [ [[package]] name = "rivet-test-envoy" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-stream", @@ -4993,7 +5083,7 @@ dependencies = [ [[package]] name = "rivet-tracing-utils" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "futures-util", "lazy_static", @@ -5003,7 +5093,7 @@ dependencies = [ [[package]] name = "rivet-types" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "gasoline", @@ -5020,7 +5110,7 @@ dependencies = [ [[package]] name = "rivet-ups-protocol" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "base64 0.22.1", @@ -5033,7 +5123,7 @@ dependencies = [ [[package]] name = "rivet-util" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-trait", @@ -5063,7 +5153,7 @@ dependencies = [ [[package]] name = "rivet-util-id" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "serde", "thiserror 1.0.69", @@ -5074,7 +5164,7 @@ dependencies = [ [[package]] name = "rivet-util-serde" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "indexmap 2.10.0", "serde", @@ -5084,7 +5174,7 @@ dependencies = [ [[package]] name = "rivet-workflow-worker" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "epoxy", @@ -5096,6 +5186,40 @@ dependencies = [ "tracing", ] +[[package]] +name = "rivetkit-native" +version = "2.3.0-rc.4" +dependencies = [ + "anyhow", + "async-trait", + "base64 0.22.1", + "hex", + "libsqlite3-sys", + "napi", + "napi-build", + "napi-derive", + "rivet-envoy-client", + "rivet-envoy-protocol", + "rivetkit-sqlite-native", + "serde", + "serde_json", + "tokio", + "tracing", + "tracing-subscriber", + "uuid", +] + +[[package]] +name = "rivetkit-sqlite-native" +version = "2.3.0-rc.4" +dependencies = [ + "async-trait", + "getrandom 0.2.16", + "libsqlite3-sys", + "tokio", + "tracing", +] + [[package]] name = "rocksdb" version = "0.24.0" @@ -6135,7 +6259,7 @@ dependencies = [ [[package]] name = "test-snapshot-gen" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-trait", @@ -6799,7 +6923,7 @@ checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" [[package]] name = "universaldb" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-trait", @@ -6831,7 +6955,7 @@ dependencies = [ [[package]] name = "universalpubsub" -version = "2.2.1" +version = "2.3.0-rc.4" dependencies = [ "anyhow", "async-nats", diff --git a/engine/packages/epoxy/src/ops/kv/get_local.rs b/engine/packages/epoxy/src/ops/kv/get_local.rs index c189b1b188..3ef37ed5a7 100644 --- a/engine/packages/epoxy/src/ops/kv/get_local.rs +++ b/engine/packages/epoxy/src/ops/kv/get_local.rs @@ -96,7 +96,10 @@ pub(crate) async fn read_local_value( if let Some(value) = cache_value.value { return Ok(LocalValueRead { value: None, - cache_value: Some(cache_key.deserialize(&value)?), + cache_value: Some(CachedValue { + value: Some(value), + version: cache_value.version, + }), }); } }