rivetkit 2.0.37 → 2.0.39

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.
Files changed (104) hide show
  1. package/dist/tsup/{chunk-G4N7FZMM.cjs → chunk-7E3RWMR6.cjs} +195 -93
  2. package/dist/tsup/chunk-7E3RWMR6.cjs.map +1 -0
  3. package/dist/tsup/{chunk-J6TX5EFW.js → chunk-BQ36VTSB.js} +108 -6
  4. package/dist/tsup/chunk-BQ36VTSB.js.map +1 -0
  5. package/dist/tsup/{chunk-4V7MS7SO.cjs → chunk-C64FV764.cjs} +3 -3
  6. package/dist/tsup/{chunk-4V7MS7SO.cjs.map → chunk-C64FV764.cjs.map} +1 -1
  7. package/dist/tsup/{chunk-XI335ZED.js → chunk-CDK6DRO2.js} +6 -4
  8. package/dist/tsup/chunk-CDK6DRO2.js.map +1 -0
  9. package/dist/tsup/{chunk-LYYTV7DN.cjs → chunk-DY4H3ASE.cjs} +50 -46
  10. package/dist/tsup/chunk-DY4H3ASE.cjs.map +1 -0
  11. package/dist/tsup/{chunk-B6BP74X3.cjs → chunk-KMYFL3OL.cjs} +318 -92
  12. package/dist/tsup/chunk-KMYFL3OL.cjs.map +1 -0
  13. package/dist/tsup/{chunk-22NKW7F5.cjs → chunk-MZPYVTVG.cjs} +9 -9
  14. package/dist/tsup/{chunk-22NKW7F5.cjs.map → chunk-MZPYVTVG.cjs.map} +1 -1
  15. package/dist/tsup/{chunk-RBA5AQTB.js → chunk-OJZRCEIA.js} +5 -5
  16. package/dist/tsup/{chunk-RXA3ZMCL.js → chunk-PHCD25XO.js} +2 -2
  17. package/dist/tsup/{chunk-5XGZXH74.js → chunk-PVKUXMOA.js} +264 -38
  18. package/dist/tsup/chunk-PVKUXMOA.js.map +1 -0
  19. package/dist/tsup/{chunk-FIUSIG6J.js → chunk-T7IPDBWH.js} +8 -4
  20. package/dist/tsup/{chunk-FIUSIG6J.js.map → chunk-T7IPDBWH.js.map} +1 -1
  21. package/dist/tsup/{chunk-5VVIFC6M.cjs → chunk-UAX5E3EU.cjs} +443 -369
  22. package/dist/tsup/chunk-UAX5E3EU.cjs.map +1 -0
  23. package/dist/tsup/{chunk-X5IX3YPO.cjs → chunk-X72X7I7T.cjs} +6 -4
  24. package/dist/tsup/chunk-X72X7I7T.cjs.map +1 -0
  25. package/dist/tsup/{chunk-ZQBSQ6H3.js → chunk-XU74APB4.js} +208 -134
  26. package/dist/tsup/chunk-XU74APB4.js.map +1 -0
  27. package/dist/tsup/client/mod.cjs +5 -5
  28. package/dist/tsup/client/mod.d.cts +3 -3
  29. package/dist/tsup/client/mod.d.ts +3 -3
  30. package/dist/tsup/client/mod.js +4 -4
  31. package/dist/tsup/common/log.cjs +2 -2
  32. package/dist/tsup/common/log.js +1 -1
  33. package/dist/tsup/common/websocket.cjs +3 -3
  34. package/dist/tsup/common/websocket.js +2 -2
  35. package/dist/tsup/{config--NjwiYlS.d.cts → config-BuBlMs6C.d.cts} +238 -60
  36. package/dist/tsup/{config-CRuzI6n4.d.ts → config-CBwo4ooA.d.ts} +238 -60
  37. package/dist/tsup/{driver-yKjYx9Yy.d.cts → driver-CPXmh8f8.d.cts} +1 -1
  38. package/dist/tsup/{driver-BcmckRaF.d.ts → driver-DxWa6HUO.d.ts} +1 -1
  39. package/dist/tsup/driver-helpers/mod.cjs +3 -3
  40. package/dist/tsup/driver-helpers/mod.d.cts +2 -2
  41. package/dist/tsup/driver-helpers/mod.d.ts +2 -2
  42. package/dist/tsup/driver-helpers/mod.js +2 -2
  43. package/dist/tsup/driver-test-suite/mod.cjs +81 -35
  44. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  45. package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
  46. package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
  47. package/dist/tsup/driver-test-suite/mod.js +407 -361
  48. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  49. package/dist/tsup/{kv-CTM8sCvx.d.cts → keys-Chhy4ylv.d.cts} +1 -0
  50. package/dist/tsup/{kv-CTM8sCvx.d.ts → keys-Chhy4ylv.d.ts} +1 -0
  51. package/dist/tsup/mod.cjs +19 -7
  52. package/dist/tsup/mod.cjs.map +1 -1
  53. package/dist/tsup/mod.d.cts +5 -5
  54. package/dist/tsup/mod.d.ts +5 -5
  55. package/dist/tsup/mod.js +18 -6
  56. package/dist/tsup/test/mod.cjs +7 -7
  57. package/dist/tsup/test/mod.d.cts +1 -1
  58. package/dist/tsup/test/mod.d.ts +1 -1
  59. package/dist/tsup/test/mod.js +6 -6
  60. package/dist/tsup/utils.cjs +2 -2
  61. package/dist/tsup/utils.js +1 -1
  62. package/package.json +6 -4
  63. package/src/actor/config.ts +198 -2
  64. package/src/actor/contexts/base/actor.ts +12 -0
  65. package/src/actor/instance/connection-manager.ts +1 -1
  66. package/src/actor/instance/keys.ts +29 -0
  67. package/src/actor/instance/kv.ts +240 -14
  68. package/src/actor/instance/mod.ts +5 -4
  69. package/src/actor/instance/state-manager.ts +1 -1
  70. package/src/actor/mod.ts +2 -1
  71. package/src/actor/router-websocket-endpoints.ts +2 -1
  72. package/src/client/actor-conn.ts +70 -81
  73. package/src/client/actor-handle.ts +35 -15
  74. package/src/client/actor-query.ts +47 -0
  75. package/src/client/errors.ts +22 -58
  76. package/src/client/mod.ts +1 -1
  77. package/src/client/utils.ts +33 -0
  78. package/src/driver-helpers/utils.ts +1 -1
  79. package/src/driver-test-suite/mod.ts +3 -0
  80. package/src/driver-test-suite/test-inline-client-driver.ts +3 -0
  81. package/src/driver-test-suite/tests/actor-kv.ts +44 -0
  82. package/src/driver-test-suite/utils.ts +4 -0
  83. package/src/drivers/engine/actor-driver.ts +3 -3
  84. package/src/drivers/file-system/manager.ts +5 -0
  85. package/src/manager/driver.ts +8 -3
  86. package/src/manager-api/actors.ts +1 -20
  87. package/src/registry/config/index.ts +68 -0
  88. package/src/remote-manager-driver/actor-http-client.ts +5 -3
  89. package/src/remote-manager-driver/actor-websocket-client.ts +18 -7
  90. package/src/remote-manager-driver/mod.ts +21 -1
  91. package/src/serverless/router.test.ts +166 -0
  92. package/src/serverless/router.ts +58 -5
  93. package/src/utils/env-vars.ts +4 -1
  94. package/dist/tsup/chunk-5VVIFC6M.cjs.map +0 -1
  95. package/dist/tsup/chunk-5XGZXH74.js.map +0 -1
  96. package/dist/tsup/chunk-B6BP74X3.cjs.map +0 -1
  97. package/dist/tsup/chunk-G4N7FZMM.cjs.map +0 -1
  98. package/dist/tsup/chunk-J6TX5EFW.js.map +0 -1
  99. package/dist/tsup/chunk-LYYTV7DN.cjs.map +0 -1
  100. package/dist/tsup/chunk-X5IX3YPO.cjs.map +0 -1
  101. package/dist/tsup/chunk-XI335ZED.js.map +0 -1
  102. package/dist/tsup/chunk-ZQBSQ6H3.js.map +0 -1
  103. /package/dist/tsup/{chunk-RBA5AQTB.js.map → chunk-OJZRCEIA.js.map} +0 -0
  104. /package/dist/tsup/{chunk-RXA3ZMCL.js.map → chunk-PHCD25XO.js.map} +0 -0
@@ -1,19 +1,19 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
- var _chunk22NKW7F5cjs = require('../chunk-22NKW7F5.cjs');
3
+ var _chunkMZPYVTVGcjs = require('../chunk-MZPYVTVG.cjs');
4
4
 
5
5
 
6
- var _chunkG4N7FZMMcjs = require('../chunk-G4N7FZMM.cjs');
7
- require('../chunk-LYYTV7DN.cjs');
6
+ var _chunk7E3RWMR6cjs = require('../chunk-7E3RWMR6.cjs');
7
+ require('../chunk-DY4H3ASE.cjs');
8
8
 
9
9
 
10
10
 
11
11
 
12
12
 
13
- var _chunk5VVIFC6Mcjs = require('../chunk-5VVIFC6M.cjs');
13
+ var _chunkUAX5E3EUcjs = require('../chunk-UAX5E3EU.cjs');
14
14
 
15
15
 
16
- var _chunk4V7MS7SOcjs = require('../chunk-4V7MS7SO.cjs');
16
+ var _chunkC64FV764cjs = require('../chunk-C64FV764.cjs');
17
17
 
18
18
 
19
19
 
@@ -24,13 +24,13 @@ var _chunk4V7MS7SOcjs = require('../chunk-4V7MS7SO.cjs');
24
24
 
25
25
 
26
26
 
27
- var _chunkB6BP74X3cjs = require('../chunk-B6BP74X3.cjs');
27
+ var _chunkKMYFL3OLcjs = require('../chunk-KMYFL3OL.cjs');
28
28
  require('../chunk-KDFWJKMJ.cjs');
29
29
 
30
30
 
31
31
 
32
32
 
33
- var _chunkX5IX3YPOcjs = require('../chunk-X5IX3YPO.cjs');
33
+ var _chunkX72X7I7Tcjs = require('../chunk-X72X7I7T.cjs');
34
34
 
35
35
 
36
36
 
@@ -45,7 +45,7 @@ var _vitest = require('vitest');
45
45
 
46
46
  // src/driver-test-suite/log.ts
47
47
  function logger() {
48
- return _chunkX5IX3YPOcjs.getLogger.call(void 0, "test-suite");
48
+ return _chunkX72X7I7Tcjs.getLogger.call(void 0, "test-suite");
49
49
  }
50
50
 
51
51
  // src/driver-test-suite/tests/action-features.ts
@@ -97,7 +97,7 @@ function createTestInlineClientDriver(endpoint, encoding) {
97
97
  to: url
98
98
  });
99
99
  const headers = new Headers(actorRequest.headers);
100
- headers.set(_chunkB6BP74X3cjs.HEADER_ACTOR_ID, actorId);
100
+ headers.set(_chunkKMYFL3OLcjs.HEADER_ACTOR_ID, actorId);
101
101
  const response = await fetch(
102
102
  new Request(url, {
103
103
  method: actorRequest.method,
@@ -113,7 +113,7 @@ function createTestInlineClientDriver(endpoint, encoding) {
113
113
  const errorData = await clonedResponse.json();
114
114
  if (errorData.error) {
115
115
  if (typeof errorData.error === "object") {
116
- throw new (0, _chunk5VVIFC6Mcjs.ActorError)(
116
+ throw new (0, _chunkUAX5E3EUcjs.ActorError)(
117
117
  errorData.error.code,
118
118
  errorData.error.message,
119
119
  errorData.error.metadata
@@ -121,7 +121,7 @@ function createTestInlineClientDriver(endpoint, encoding) {
121
121
  }
122
122
  }
123
123
  } catch (e) {
124
- if (!(e instanceof _chunk5VVIFC6Mcjs.ActorError)) {
124
+ if (!(e instanceof _chunkUAX5E3EUcjs.ActorError)) {
125
125
  return response;
126
126
  }
127
127
  throw e;
@@ -130,7 +130,7 @@ function createTestInlineClientDriver(endpoint, encoding) {
130
130
  return response;
131
131
  },
132
132
  async openWebSocket(path, actorId, encoding2, params) {
133
- const WebSocket2 = await _chunk4V7MS7SOcjs.importWebSocket.call(void 0, );
133
+ const WebSocket2 = await _chunkC64FV764cjs.importWebSocket.call(void 0, );
134
134
  const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
135
135
  const wsUrl = new URL(
136
136
  `${endpoint}/.test/inline-driver/connect-websocket/ws`
@@ -142,18 +142,18 @@ function createTestInlineClientDriver(endpoint, encoding) {
142
142
  const wsProtocol = wsUrl.protocol === "https:" ? "wss:" : "ws:";
143
143
  const finalWsUrl = `${wsProtocol}//${wsUrl.host}${wsUrl.pathname}`;
144
144
  const protocols = [];
145
- protocols.push(_chunkB6BP74X3cjs.WS_PROTOCOL_STANDARD);
146
- protocols.push(`${_chunkB6BP74X3cjs.WS_PROTOCOL_TARGET}actor`);
145
+ protocols.push(_chunkKMYFL3OLcjs.WS_PROTOCOL_STANDARD);
146
+ protocols.push(`${_chunkKMYFL3OLcjs.WS_PROTOCOL_TARGET}actor`);
147
147
  protocols.push(
148
- `${_chunkB6BP74X3cjs.WS_PROTOCOL_ACTOR}${encodeURIComponent(actorId)}`
148
+ `${_chunkKMYFL3OLcjs.WS_PROTOCOL_ACTOR}${encodeURIComponent(actorId)}`
149
149
  );
150
- protocols.push(`${_chunkB6BP74X3cjs.WS_PROTOCOL_ENCODING}${encoding2}`);
150
+ protocols.push(`${_chunkKMYFL3OLcjs.WS_PROTOCOL_ENCODING}${encoding2}`);
151
151
  protocols.push(
152
- `${_chunkB6BP74X3cjs.WS_TEST_PROTOCOL_PATH}${encodeURIComponent(normalizedPath)}`
152
+ `${_chunkKMYFL3OLcjs.WS_TEST_PROTOCOL_PATH}${encodeURIComponent(normalizedPath)}`
153
153
  );
154
154
  if (params !== void 0) {
155
155
  protocols.push(
156
- `${_chunkB6BP74X3cjs.WS_PROTOCOL_CONN_PARAMS}${encodeURIComponent(JSON.stringify(params))}`
156
+ `${_chunkKMYFL3OLcjs.WS_PROTOCOL_CONN_PARAMS}${encodeURIComponent(JSON.stringify(params))}`
157
157
  );
158
158
  }
159
159
  logger().debug({
@@ -176,7 +176,10 @@ function createTestInlineClientDriver(endpoint, encoding) {
176
176
  encoding2,
177
177
  params
178
178
  );
179
- return upgradeWebSocket(() => wsHandler)(c, _chunkX5IX3YPOcjs.noopNext.call(void 0, ));
179
+ return upgradeWebSocket(() => wsHandler)(c, _chunkX72X7I7Tcjs.noopNext.call(void 0, ));
180
+ },
181
+ async buildGatewayUrl(actorId) {
182
+ return `${endpoint}/gateway/${actorId}`;
180
183
  },
181
184
  displayInformation() {
182
185
  return { properties: {} };
@@ -220,14 +223,14 @@ async function makeInlineRequest(endpoint, encoding, method, args) {
220
223
  if ("ok" in callResponse) {
221
224
  return callResponse.ok;
222
225
  } else if ("err" in callResponse) {
223
- throw new (0, _chunk5VVIFC6Mcjs.ActorError)(
226
+ throw new (0, _chunkUAX5E3EUcjs.ActorError)(
224
227
  callResponse.err.group,
225
228
  callResponse.err.code,
226
229
  callResponse.err.message,
227
230
  callResponse.err.metadata
228
231
  );
229
232
  } else {
230
- _chunkB6BP74X3cjs.assertUnreachable.call(void 0, callResponse);
233
+ _chunkKMYFL3OLcjs.assertUnreachable.call(void 0, callResponse);
231
234
  }
232
235
  }
233
236
 
@@ -245,21 +248,25 @@ async function setupDriverTest(c, driverTestConfig) {
245
248
  });
246
249
  let client;
247
250
  if (driverTestConfig.clientType === "http") {
248
- client = _chunk5VVIFC6Mcjs.createClient.call(void 0, {
251
+ client = _chunkUAX5E3EUcjs.createClient.call(void 0, {
249
252
  endpoint,
250
253
  namespace,
251
254
  runnerName,
252
- encoding: driverTestConfig.encoding
255
+ encoding: driverTestConfig.encoding,
256
+ // Disable metadata lookup to prevent redirect to the wrong port.
257
+ // Each test starts a new server on a dynamic port, but the
258
+ // registry's publicEndpoint defaults to port 6420.
259
+ disableMetadataLookup: true
253
260
  });
254
261
  } else if (driverTestConfig.clientType === "inline") {
255
262
  const encoding = _nullishCoalesce(driverTestConfig.encoding, () => ( "bare"));
256
263
  const managerDriver = createTestInlineClientDriver(endpoint, encoding);
257
- const runConfig = _chunk5VVIFC6Mcjs.ClientConfigSchema.parse({
264
+ const runConfig = _chunkUAX5E3EUcjs.ClientConfigSchema.parse({
258
265
  encoding
259
266
  });
260
- client = _chunk5VVIFC6Mcjs.createClientWithDriver.call(void 0, managerDriver, runConfig);
267
+ client = _chunkUAX5E3EUcjs.createClientWithDriver.call(void 0, managerDriver, runConfig);
261
268
  } else {
262
- _chunkB6BP74X3cjs.assertUnreachable.call(void 0, driverTestConfig.clientType);
269
+ _chunkKMYFL3OLcjs.assertUnreachable.call(void 0, driverTestConfig.clientType);
263
270
  }
264
271
  if (!driverTestConfig.HACK_skipCleanupNet) {
265
272
  c.onTestFinished(async () => await client.dispose());
@@ -783,7 +790,7 @@ function runActorConnTests(driverTestConfig) {
783
790
 
784
791
  // fixtures/driver-test-suite/hibernation.ts
785
792
  var HIBERNATION_SLEEP_TIMEOUT = 500;
786
- var hibernationActor = _chunkG4N7FZMMcjs.actor.call(void 0, {
793
+ var hibernationActor = _chunk7E3RWMR6cjs.actor.call(void 0, {
787
794
  state: {
788
795
  sleepCount: 0,
789
796
  wakeCount: 0
@@ -1366,7 +1373,7 @@ function runActorScheduleTests(driverTestConfig) {
1366
1373
 
1367
1374
  // fixtures/driver-test-suite/sleep.ts
1368
1375
  var SLEEP_TIMEOUT = 1e3;
1369
- var sleep = _chunkG4N7FZMMcjs.actor.call(void 0, {
1376
+ var sleep = _chunk7E3RWMR6cjs.actor.call(void 0, {
1370
1377
  state: { startCount: 0, sleepCount: 0 },
1371
1378
  onWake: (c) => {
1372
1379
  c.state.startCount += 1;
@@ -1395,7 +1402,7 @@ var sleep = _chunkG4N7FZMMcjs.actor.call(void 0, {
1395
1402
  sleepTimeout: SLEEP_TIMEOUT
1396
1403
  }
1397
1404
  });
1398
- var sleepWithLongRpc = _chunkG4N7FZMMcjs.actor.call(void 0, {
1405
+ var sleepWithLongRpc = _chunk7E3RWMR6cjs.actor.call(void 0, {
1399
1406
  state: { startCount: 0, sleepCount: 0 },
1400
1407
  createVars: () => ({}),
1401
1408
  onWake: (c) => {
@@ -1413,7 +1420,7 @@ var sleepWithLongRpc = _chunkG4N7FZMMcjs.actor.call(void 0, {
1413
1420
  },
1414
1421
  longRunningRpc: async (c) => {
1415
1422
  c.log.info("starting long running rpc");
1416
- c.vars.longRunningResolve = _chunkX5IX3YPOcjs.promiseWithResolvers.call(void 0, );
1423
+ c.vars.longRunningResolve = _chunkX72X7I7Tcjs.promiseWithResolvers.call(void 0, );
1417
1424
  c.broadcast("waiting");
1418
1425
  await c.vars.longRunningResolve.promise;
1419
1426
  c.log.info("finished long running rpc");
@@ -1427,7 +1434,7 @@ var sleepWithLongRpc = _chunkG4N7FZMMcjs.actor.call(void 0, {
1427
1434
  sleepTimeout: SLEEP_TIMEOUT
1428
1435
  }
1429
1436
  });
1430
- var sleepWithRawHttp = _chunkG4N7FZMMcjs.actor.call(void 0, {
1437
+ var sleepWithRawHttp = _chunk7E3RWMR6cjs.actor.call(void 0, {
1431
1438
  state: { startCount: 0, sleepCount: 0, requestCount: 0 },
1432
1439
  onWake: (c) => {
1433
1440
  c.state.startCount += 1;
@@ -1464,7 +1471,7 @@ var sleepWithRawHttp = _chunkG4N7FZMMcjs.actor.call(void 0, {
1464
1471
  sleepTimeout: SLEEP_TIMEOUT
1465
1472
  }
1466
1473
  });
1467
- var sleepWithRawWebSocket = _chunkG4N7FZMMcjs.actor.call(void 0, {
1474
+ var sleepWithRawWebSocket = _chunk7E3RWMR6cjs.actor.call(void 0, {
1468
1475
  state: { startCount: 0, sleepCount: 0, connectionCount: 0 },
1469
1476
  onWake: (c) => {
1470
1477
  c.state.startCount += 1;
@@ -1527,7 +1534,7 @@ var sleepWithRawWebSocket = _chunkG4N7FZMMcjs.actor.call(void 0, {
1527
1534
  sleepTimeout: SLEEP_TIMEOUT
1528
1535
  }
1529
1536
  });
1530
- var sleepWithNoSleepOption = _chunkG4N7FZMMcjs.actor.call(void 0, {
1537
+ var sleepWithNoSleepOption = _chunk7E3RWMR6cjs.actor.call(void 0, {
1531
1538
  state: { startCount: 0, sleepCount: 0 },
1532
1539
  onWake: (c) => {
1533
1540
  c.state.startCount += 1;
@@ -2258,6 +2265,44 @@ function runActorInspectorTests(driverTestConfig) {
2258
2265
  });
2259
2266
  }
2260
2267
 
2268
+ // src/driver-test-suite/tests/actor-kv.ts
2269
+
2270
+ function runActorKvTests(driverTestConfig) {
2271
+ _vitest.describe.call(void 0, "Actor KV Tests", () => {
2272
+ _vitest.test.call(void 0, "supports text encoding and decoding", async (c) => {
2273
+ const { client } = await setupDriverTest(c, driverTestConfig);
2274
+ const kvHandle = client.kvActor.getOrCreate(["kv-text"]);
2275
+ await kvHandle.putText("greeting", "hello");
2276
+ const value = await kvHandle.getText("greeting");
2277
+ _vitest.expect.call(void 0, value).toBe("hello");
2278
+ await kvHandle.putText("prefix-a", "alpha");
2279
+ await kvHandle.putText("prefix-b", "beta");
2280
+ const results = await kvHandle.listText("prefix-");
2281
+ const sorted = results.sort((a, b) => a.key.localeCompare(b.key));
2282
+ _vitest.expect.call(void 0, sorted).toEqual([
2283
+ { key: "prefix-a", value: "alpha" },
2284
+ { key: "prefix-b", value: "beta" }
2285
+ ]);
2286
+ });
2287
+ _vitest.test.call(void 0,
2288
+ "supports arrayBuffer encoding and decoding",
2289
+ async (c) => {
2290
+ const { client } = await setupDriverTest(c, driverTestConfig);
2291
+ const kvHandle = client.kvActor.getOrCreate(["kv-array-buffer"]);
2292
+ const values = await kvHandle.roundtripArrayBuffer("bytes", [
2293
+ 4,
2294
+ 8,
2295
+ 15,
2296
+ 16,
2297
+ 23,
2298
+ 42
2299
+ ]);
2300
+ _vitest.expect.call(void 0, values).toEqual([4, 8, 15, 16, 23, 42]);
2301
+ }
2302
+ );
2303
+ });
2304
+ }
2305
+
2261
2306
  // src/driver-test-suite/tests/actor-metadata.ts
2262
2307
 
2263
2308
  function runActorMetadataTests(driverTestConfig) {
@@ -3741,6 +3786,7 @@ function runDriverTests(driverTestConfigPartial) {
3741
3786
  runActorOnStateChangeTests(driverTestConfig);
3742
3787
  runActorErrorHandlingTests(driverTestConfig);
3743
3788
  runActorInlineClientTests(driverTestConfig);
3789
+ runActorKvTests(driverTestConfig);
3744
3790
  runRawHttpTests(driverTestConfig);
3745
3791
  runRawHttpRequestPropertiesTests(driverTestConfig);
3746
3792
  runRawWebSocketTests(driverTestConfig);
@@ -3778,7 +3824,7 @@ async function createTestRuntime(registryPath, driverFactory) {
3778
3824
  const parsedConfig = registry.parseConfig();
3779
3825
  const managerDriver = (_a = driver.manager) == null ? void 0 : _a.call(driver, parsedConfig);
3780
3826
  _invariant2.default.call(void 0, managerDriver, "missing manager driver");
3781
- const { router } = _chunkB6BP74X3cjs.buildManagerRouter.call(void 0,
3827
+ const { router } = _chunkKMYFL3OLcjs.buildManagerRouter.call(void 0,
3782
3828
  parsedConfig,
3783
3829
  managerDriver,
3784
3830
  () => upgradeWebSocket
@@ -3786,7 +3832,7 @@ async function createTestRuntime(registryPath, driverFactory) {
3786
3832
  const nodeWebSocket = _nodews.createNodeWebSocket.call(void 0, { app: router });
3787
3833
  upgradeWebSocket = nodeWebSocket.upgradeWebSocket;
3788
3834
  managerDriver.setGetUpgradeWebSocket(() => upgradeWebSocket);
3789
- const port = await _chunk22NKW7F5cjs.getPort.call(void 0, );
3835
+ const port = await _chunkMZPYVTVGcjs.getPort.call(void 0, );
3790
3836
  const server = _nodeserver.serve.call(void 0, {
3791
3837
  fetch: router.fetch,
3792
3838
  hostname: "127.0.0.1",