@rivetkit/rivetkit-native 0.0.0-pr.4673.028a93e → 0.0.0-pr.4673.d7d209b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rivetkit/rivetkit-native",
3
- "version": "0.0.0-pr.4673.028a93e",
3
+ "version": "0.0.0-pr.4673.d7d209b",
4
4
  "description": "Native N-API addon for RivetKit providing envoy client and SQLite access",
5
5
  "license": "Apache-2.0",
6
6
  "main": "index.js",
@@ -49,15 +49,15 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@napi-rs/cli": "^2.18.4",
52
- "@rivetkit/engine-envoy-protocol": "0.0.0-pr.4673.028a93e"
52
+ "@rivetkit/engine-envoy-protocol": "0.0.0-pr.4673.d7d209b"
53
53
  },
54
54
  "optionalDependencies": {
55
- "@rivetkit/rivetkit-native-darwin-arm64": "0.0.0-pr.4673.028a93e",
56
- "@rivetkit/rivetkit-native-darwin-x64": "0.0.0-pr.4673.028a93e",
57
- "@rivetkit/rivetkit-native-linux-arm64-gnu": "0.0.0-pr.4673.028a93e",
58
- "@rivetkit/rivetkit-native-linux-arm64-musl": "0.0.0-pr.4673.028a93e",
59
- "@rivetkit/rivetkit-native-linux-x64-gnu": "0.0.0-pr.4673.028a93e",
60
- "@rivetkit/rivetkit-native-linux-x64-musl": "0.0.0-pr.4673.028a93e",
61
- "@rivetkit/rivetkit-native-win32-x64-msvc": "0.0.0-pr.4673.028a93e"
55
+ "@rivetkit/rivetkit-native-darwin-arm64": "0.0.0-pr.4673.d7d209b",
56
+ "@rivetkit/rivetkit-native-darwin-x64": "0.0.0-pr.4673.d7d209b",
57
+ "@rivetkit/rivetkit-native-linux-arm64-gnu": "0.0.0-pr.4673.d7d209b",
58
+ "@rivetkit/rivetkit-native-linux-arm64-musl": "0.0.0-pr.4673.d7d209b",
59
+ "@rivetkit/rivetkit-native-linux-x64-gnu": "0.0.0-pr.4673.d7d209b",
60
+ "@rivetkit/rivetkit-native-linux-x64-musl": "0.0.0-pr.4673.d7d209b",
61
+ "@rivetkit/rivetkit-native-win32-x64-msvc": "0.0.0-pr.4673.d7d209b"
62
62
  }
63
63
  }
package/wrapper.d.ts CHANGED
@@ -119,6 +119,10 @@ export interface EnvoyConfig {
119
119
  preloadedKv:
120
120
  | import("@rivetkit/engine-envoy-protocol").PreloadedKv
121
121
  | null,
122
+ sqliteSchemaVersion: number,
123
+ sqliteStartupData:
124
+ | import("@rivetkit/engine-envoy-protocol").SqliteStartupData
125
+ | null,
122
126
  ) => Promise<void>;
123
127
  onActorStop: (
124
128
  envoyHandle: EnvoyHandle,
package/wrapper.js CHANGED
@@ -194,6 +194,32 @@ function decodePreloadedKv(preloadedKv) {
194
194
  };
195
195
  }
196
196
 
197
+ function decodeSqliteStartupData(sqliteStartupData) {
198
+ if (!sqliteStartupData) {
199
+ return null;
200
+ }
201
+
202
+ const decodeBytes = (value) => Uint8Array.from(Buffer.from(value, "base64"));
203
+
204
+ return {
205
+ generation: sqliteStartupData.generation,
206
+ meta: {
207
+ schemaVersion: sqliteStartupData.meta.schemaVersion,
208
+ generation: sqliteStartupData.meta.generation,
209
+ headTxid: sqliteStartupData.meta.headTxid,
210
+ materializedTxid: sqliteStartupData.meta.materializedTxid,
211
+ dbSizePages: sqliteStartupData.meta.dbSizePages,
212
+ pageSize: sqliteStartupData.meta.pageSize,
213
+ creationTsMs: sqliteStartupData.meta.creationTsMs,
214
+ maxDeltaBytes: sqliteStartupData.meta.maxDeltaBytes,
215
+ },
216
+ preloadedPages: (sqliteStartupData.preloadedPages || []).map((page) => ({
217
+ pgno: page.pgno,
218
+ bytes: page.bytes ? decodeBytes(page.bytes) : null,
219
+ })),
220
+ };
221
+ }
222
+
197
223
  /**
198
224
  * Route callback envelopes from the native addon to EnvoyConfig callbacks.
199
225
  */
@@ -216,6 +242,8 @@ function handleEvent(event, config, wrappedHandle) {
216
242
  event.generation,
217
243
  actorConfig,
218
244
  decodePreloadedKv(event.preloadedKv),
245
+ event.sqliteSchemaVersion,
246
+ decodeSqliteStartupData(event.sqliteStartupData),
219
247
  ),
220
248
  ).then(
221
249
  async () => {