rivetkit 2.0.7 → 2.0.9

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 (105) hide show
  1. package/dist/tsup/{chunk-OSK2VSJF.cjs → chunk-2MJYYF2Q.cjs} +12 -12
  2. package/dist/tsup/{chunk-OSK2VSJF.cjs.map → chunk-2MJYYF2Q.cjs.map} +1 -1
  3. package/dist/tsup/{chunk-NUA6LOOJ.cjs → chunk-4PSLOAXR.cjs} +216 -204
  4. package/dist/tsup/chunk-4PSLOAXR.cjs.map +1 -0
  5. package/dist/tsup/{chunk-F7YL5G7Q.cjs → chunk-4YV6RDZL.cjs} +255 -229
  6. package/dist/tsup/chunk-4YV6RDZL.cjs.map +1 -0
  7. package/dist/tsup/{chunk-3ALZ7EGX.cjs → chunk-7OMMIAWP.cjs} +11 -11
  8. package/dist/tsup/{chunk-3ALZ7EGX.cjs.map → chunk-7OMMIAWP.cjs.map} +1 -1
  9. package/dist/tsup/{chunk-GWJTWY3G.cjs → chunk-A44TWAS5.cjs} +6 -6
  10. package/dist/tsup/{chunk-GWJTWY3G.cjs.map → chunk-A44TWAS5.cjs.map} +1 -1
  11. package/dist/tsup/{chunk-B6N6VM37.js → chunk-APHV6WXU.js} +2 -2
  12. package/dist/tsup/{chunk-ETDWYT2P.cjs → chunk-DL7TPF63.cjs} +7 -7
  13. package/dist/tsup/{chunk-ETDWYT2P.cjs.map → chunk-DL7TPF63.cjs.map} +1 -1
  14. package/dist/tsup/{chunk-YL4VZMMT.js → chunk-DLPIL3VC.js} +2 -2
  15. package/dist/tsup/{chunk-VAF63BEI.cjs → chunk-DZZQG7VH.cjs} +3 -3
  16. package/dist/tsup/{chunk-VAF63BEI.cjs.map → chunk-DZZQG7VH.cjs.map} +1 -1
  17. package/dist/tsup/{chunk-RLBM6D4L.js → chunk-E63WU5PL.js} +3 -3
  18. package/dist/tsup/chunk-E63WU5PL.js.map +1 -0
  19. package/dist/tsup/{chunk-DIHKN7NM.js → chunk-F2YZNUPU.js} +3 -3
  20. package/dist/tsup/{chunk-KHRZPP5T.js → chunk-FZP2IBIX.js} +94 -68
  21. package/dist/tsup/chunk-FZP2IBIX.js.map +1 -0
  22. package/dist/tsup/{chunk-NII4KKHD.js → chunk-KHZ2QSQ4.js} +28 -16
  23. package/dist/tsup/chunk-KHZ2QSQ4.js.map +1 -0
  24. package/dist/tsup/{chunk-4EXJ4ITR.cjs → chunk-QGRYH6TU.cjs} +3 -3
  25. package/dist/tsup/{chunk-4EXJ4ITR.cjs.map → chunk-QGRYH6TU.cjs.map} +1 -1
  26. package/dist/tsup/{chunk-NRELKXIX.js → chunk-R7OP5N25.js} +56 -46
  27. package/dist/tsup/chunk-R7OP5N25.js.map +1 -0
  28. package/dist/tsup/{chunk-NDCVQZBS.cjs → chunk-SDXTJDDR.cjs} +62 -52
  29. package/dist/tsup/chunk-SDXTJDDR.cjs.map +1 -0
  30. package/dist/tsup/{chunk-7OOBMCQI.cjs → chunk-SOC4HWCG.cjs} +23 -22
  31. package/dist/tsup/chunk-SOC4HWCG.cjs.map +1 -0
  32. package/dist/tsup/{chunk-LXAVET4A.cjs → chunk-U2IXX6DY.cjs} +3 -3
  33. package/dist/tsup/{chunk-LXAVET4A.cjs.map → chunk-U2IXX6DY.cjs.map} +1 -1
  34. package/dist/tsup/{chunk-2NL3KGJ7.js → chunk-VVCL5DXN.js} +5 -4
  35. package/dist/tsup/chunk-VVCL5DXN.js.map +1 -0
  36. package/dist/tsup/{chunk-54MAHBLL.js → chunk-WBSPHV5V.js} +2 -2
  37. package/dist/tsup/{chunk-WAT5AE7S.js → chunk-WRSWUDFA.js} +5 -5
  38. package/dist/tsup/{chunk-PD6HCAJE.js → chunk-YR2VY4XS.js} +2 -2
  39. package/dist/tsup/client/mod.cjs +9 -9
  40. package/dist/tsup/client/mod.d.cts +2 -2
  41. package/dist/tsup/client/mod.d.ts +2 -2
  42. package/dist/tsup/client/mod.js +8 -8
  43. package/dist/tsup/common/log.cjs +3 -3
  44. package/dist/tsup/common/log.js +2 -2
  45. package/dist/tsup/common/websocket.cjs +4 -4
  46. package/dist/tsup/common/websocket.js +3 -3
  47. package/dist/tsup/{conn-DCSQgIlw.d.ts → conn-Bt8rkUzm.d.ts} +19 -1
  48. package/dist/tsup/{conn-DdzHTm2E.d.cts → conn-CEh3WKbA.d.cts} +19 -1
  49. package/dist/tsup/driver-helpers/mod.cjs +7 -5
  50. package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
  51. package/dist/tsup/driver-helpers/mod.d.cts +4 -2
  52. package/dist/tsup/driver-helpers/mod.d.ts +4 -2
  53. package/dist/tsup/driver-helpers/mod.js +7 -5
  54. package/dist/tsup/driver-test-suite/mod.cjs +103 -113
  55. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  56. package/dist/tsup/driver-test-suite/mod.d.cts +3 -1
  57. package/dist/tsup/driver-test-suite/mod.d.ts +3 -1
  58. package/dist/tsup/driver-test-suite/mod.js +45 -55
  59. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  60. package/dist/tsup/inspector/mod.cjs +6 -6
  61. package/dist/tsup/inspector/mod.d.cts +2 -2
  62. package/dist/tsup/inspector/mod.d.ts +2 -2
  63. package/dist/tsup/inspector/mod.js +5 -5
  64. package/dist/tsup/mod.cjs +10 -10
  65. package/dist/tsup/mod.d.cts +5 -5
  66. package/dist/tsup/mod.d.ts +5 -5
  67. package/dist/tsup/mod.js +9 -9
  68. package/dist/tsup/test/mod.cjs +11 -11
  69. package/dist/tsup/test/mod.d.cts +1 -1
  70. package/dist/tsup/test/mod.d.ts +1 -1
  71. package/dist/tsup/test/mod.js +10 -10
  72. package/dist/tsup/utils.cjs +2 -2
  73. package/dist/tsup/utils.js +1 -1
  74. package/package.json +2 -2
  75. package/src/actor/instance.ts +20 -7
  76. package/src/actor/router-endpoints.ts +2 -1
  77. package/src/actor/router.ts +27 -24
  78. package/src/client/actor-conn.ts +5 -1
  79. package/src/client/config.ts +2 -0
  80. package/src/driver-helpers/mod.ts +1 -0
  81. package/src/driver-test-suite/mod.ts +11 -2
  82. package/src/driver-test-suite/tests/actor-schedule.ts +14 -37
  83. package/src/driver-test-suite/tests/actor-sleep.ts +18 -18
  84. package/src/drivers/engine/actor-driver.ts +39 -10
  85. package/src/drivers/file-system/manager.ts +5 -1
  86. package/src/manager/driver.ts +1 -1
  87. package/src/manager/router.ts +49 -41
  88. package/src/registry/mod.ts +11 -2
  89. package/src/remote-manager-driver/mod.ts +3 -2
  90. package/src/serde.ts +15 -0
  91. package/dist/tsup/chunk-2NL3KGJ7.js.map +0 -1
  92. package/dist/tsup/chunk-7OOBMCQI.cjs.map +0 -1
  93. package/dist/tsup/chunk-F7YL5G7Q.cjs.map +0 -1
  94. package/dist/tsup/chunk-KHRZPP5T.js.map +0 -1
  95. package/dist/tsup/chunk-NDCVQZBS.cjs.map +0 -1
  96. package/dist/tsup/chunk-NII4KKHD.js.map +0 -1
  97. package/dist/tsup/chunk-NRELKXIX.js.map +0 -1
  98. package/dist/tsup/chunk-NUA6LOOJ.cjs.map +0 -1
  99. package/dist/tsup/chunk-RLBM6D4L.js.map +0 -1
  100. /package/dist/tsup/{chunk-B6N6VM37.js.map → chunk-APHV6WXU.js.map} +0 -0
  101. /package/dist/tsup/{chunk-YL4VZMMT.js.map → chunk-DLPIL3VC.js.map} +0 -0
  102. /package/dist/tsup/{chunk-DIHKN7NM.js.map → chunk-F2YZNUPU.js.map} +0 -0
  103. /package/dist/tsup/{chunk-54MAHBLL.js.map → chunk-WBSPHV5V.js.map} +0 -0
  104. /package/dist/tsup/{chunk-WAT5AE7S.js.map → chunk-WRSWUDFA.js.map} +0 -0
  105. /package/dist/tsup/{chunk-PD6HCAJE.js.map → chunk-YR2VY4XS.js.map} +0 -0
@@ -3,11 +3,11 @@ import {
3
3
  ForeignKeysSchema,
4
4
  PatchSchema,
5
5
  TablesSchema
6
- } from "./chunk-54MAHBLL.js";
6
+ } from "./chunk-WBSPHV5V.js";
7
7
  import {
8
8
  importWebSocket,
9
9
  logger
10
- } from "./chunk-B6N6VM37.js";
10
+ } from "./chunk-APHV6WXU.js";
11
11
  import {
12
12
  HTTP_ACTION_REQUEST_VERSIONED,
13
13
  HTTP_ACTION_RESPONSE_VERSIONED,
@@ -17,7 +17,7 @@ import {
17
17
  TO_SERVER_VERSIONED,
18
18
  inputDataToBuffer,
19
19
  processMessage
20
- } from "./chunk-2NL3KGJ7.js";
20
+ } from "./chunk-VVCL5DXN.js";
21
21
  import {
22
22
  CachedSerializer,
23
23
  DeadlineError,
@@ -47,13 +47,14 @@ import {
47
47
  generateRandomString,
48
48
  generateSecureToken,
49
49
  jsonStringifyCompat,
50
- serializeWithEncoding
51
- } from "./chunk-NRELKXIX.js";
50
+ serializeWithEncoding,
51
+ uint8ArrayToBase64
52
+ } from "./chunk-R7OP5N25.js";
52
53
  import {
53
54
  getBaseLogger,
54
55
  getIncludeTarget,
55
56
  getLogger
56
- } from "./chunk-YL4VZMMT.js";
57
+ } from "./chunk-DLPIL3VC.js";
57
58
  import {
58
59
  SinglePromiseQueue,
59
60
  assertUnreachable,
@@ -66,7 +67,7 @@ import {
66
67
  noopNext,
67
68
  promiseWithResolvers,
68
69
  stringifyError
69
- } from "./chunk-RLBM6D4L.js";
70
+ } from "./chunk-E63WU5PL.js";
70
71
  import {
71
72
  ActionNotFound,
72
73
  ActionTimedOut,
@@ -950,6 +951,7 @@ var ActorInstance = class {
950
951
  this.#config.options.connectionLivenessInterval
951
952
  );
952
953
  this.#checkConnectionsLiveness();
954
+ await this._onAlarm();
953
955
  }
954
956
  async #scheduleEventInner(newEvent) {
955
957
  this.actorContext.log.info({ msg: "scheduling event", ...newEvent });
@@ -970,6 +972,12 @@ var ActorInstance = class {
970
972
  await this.#queueSetAlarm(newEvent.timestamp);
971
973
  }
972
974
  }
975
+ /**
976
+ * Triggers any pending alarms.
977
+ *
978
+ * This method is idempotent. It's called automatically when the actor wakes
979
+ * in order to trigger any pending alarms.
980
+ */
973
981
  async _onAlarm() {
974
982
  const now = Date.now();
975
983
  this.actorContext.log.debug({
@@ -982,10 +990,10 @@ var ActorInstance = class {
982
990
  (x) => x.timestamp <= now
983
991
  );
984
992
  if (runIndex === -1) {
985
- this.#rLog.warn({ msg: "no events are due yet, time may have broken" });
993
+ this.#rLog.debug({ msg: "no events are due yet" });
986
994
  if (this.#persist.scheduledEvents.length > 0) {
987
995
  const nextTs = this.#persist.scheduledEvents[0].timestamp;
988
- this.actorContext.log.warn({
996
+ this.actorContext.log.debug({
989
997
  msg: "alarm fired early, rescheduling for next event",
990
998
  now,
991
999
  nextTs,
@@ -1253,7 +1261,7 @@ var ActorInstance = class {
1253
1261
  return this.#connections.get(id);
1254
1262
  }
1255
1263
  /**
1256
- * Connection disconnected.
1264
+ * Call when conn is disconnected. Used by transports.
1257
1265
  *
1258
1266
  * If a clean diconnect, will be removed immediately.
1259
1267
  *
@@ -1261,7 +1269,7 @@ var ActorInstance = class {
1261
1269
  */
1262
1270
  __connDisconnected(conn, wasClean, socketId) {
1263
1271
  if (socketId && conn.__socket && socketId !== conn.__socket.socketId) {
1264
- this.rLog.debug({
1272
+ this.#rLog.debug({
1265
1273
  msg: "ignoring stale disconnect event",
1266
1274
  connId: conn.id,
1267
1275
  eventSocketId: socketId,
@@ -1277,6 +1285,7 @@ var ActorInstance = class {
1277
1285
  }
1278
1286
  conn.__persist.lastSeen = Date.now();
1279
1287
  conn.__socket = void 0;
1288
+ this.#resetSleepTimer();
1280
1289
  }
1281
1290
  }
1282
1291
  /**
@@ -1296,6 +1305,7 @@ var ActorInstance = class {
1296
1305
  });
1297
1306
  }
1298
1307
  this.#connections.delete(conn.id);
1308
+ this.#rLog.debug({ msg: "removed conn", connId: conn.id });
1299
1309
  for (const eventName of [...conn.subscriptions.values()]) {
1300
1310
  this.#removeSubscription(eventName, conn, true);
1301
1311
  }
@@ -1579,7 +1589,7 @@ var ActorInstance = class {
1579
1589
  });
1580
1590
  continue;
1581
1591
  }
1582
- this.#rLog.warn({
1592
+ this.#rLog.info({
1583
1593
  msg: "connection is dead, removing",
1584
1594
  connId: conn.id,
1585
1595
  lastSeen
@@ -3518,6 +3528,7 @@ var ActorConnRaw = class {
3518
3528
  this.#client[ACTOR_CONNS_SYMBOL].delete(this);
3519
3529
  if (!this.#transport) {
3520
3530
  } else if ("websocket" in this.#transport) {
3531
+ logger().debug("closing ws");
3521
3532
  const ws = this.#transport.websocket;
3522
3533
  if (ws.readyState === 2 || ws.readyState === 3) {
3523
3534
  logger().debug({ msg: "ws already closed or closing" });
@@ -3527,10 +3538,11 @@ var ActorConnRaw = class {
3527
3538
  logger().debug({ msg: "ws closed" });
3528
3539
  resolve(void 0);
3529
3540
  });
3530
- ws.close();
3541
+ ws.close(1e3, "Normal closure");
3531
3542
  await promise;
3532
3543
  }
3533
3544
  } else if ("sse" in this.#transport) {
3545
+ logger().debug("closing sse");
3534
3546
  if (this.#connectionId && this.#connectionToken) {
3535
3547
  try {
3536
3548
  await sendHttpRequest({
@@ -3956,7 +3968,7 @@ var RemoteManagerDriver = class {
3956
3968
  name,
3957
3969
  key: serializeActorKey(key),
3958
3970
  runner_name_selector: this.#config.runnerName,
3959
- input: actorInput ? cbor6.encode(actorInput).toString("base64") : void 0,
3971
+ input: actorInput ? uint8ArrayToBase64(cbor6.encode(actorInput)) : void 0,
3960
3972
  crash_policy: "sleep"
3961
3973
  });
3962
3974
  const actorId = actor.actor_id;
@@ -3984,7 +3996,7 @@ var RemoteManagerDriver = class {
3984
3996
  name,
3985
3997
  runner_name_selector: this.#config.runnerName,
3986
3998
  key: serializeActorKey(key),
3987
- input: input ? cbor6.encode(input).toString("base64") : null,
3999
+ input: input ? uint8ArrayToBase64(cbor6.encode(input)) : void 0,
3988
4000
  crash_policy: "sleep"
3989
4001
  });
3990
4002
  const actorId = result.actor.actor_id;
@@ -4068,4 +4080,4 @@ export {
4068
4080
  createClientWithDriver,
4069
4081
  RemoteManagerDriver
4070
4082
  };
4071
- //# sourceMappingURL=chunk-NII4KKHD.js.map
4083
+ //# sourceMappingURL=chunk-KHZ2QSQ4.js.map