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
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- var _chunk4EXJ4ITRcjs = require('./chunk-4EXJ4ITR.cjs');
7
+ var _chunkQGRYH6TUcjs = require('./chunk-QGRYH6TU.cjs');
8
8
 
9
9
 
10
10
 
@@ -14,10 +14,10 @@ var _chunk4EXJ4ITRcjs = require('./chunk-4EXJ4ITR.cjs');
14
14
 
15
15
 
16
16
 
17
- var _chunkNUA6LOOJcjs = require('./chunk-NUA6LOOJ.cjs');
17
+ var _chunk4PSLOAXRcjs = require('./chunk-4PSLOAXR.cjs');
18
18
 
19
19
 
20
- var _chunkOSK2VSJFcjs = require('./chunk-OSK2VSJF.cjs');
20
+ var _chunk2MJYYF2Qcjs = require('./chunk-2MJYYF2Q.cjs');
21
21
 
22
22
 
23
23
 
@@ -28,7 +28,7 @@ var _chunkOSK2VSJFcjs = require('./chunk-OSK2VSJF.cjs');
28
28
 
29
29
 
30
30
 
31
- var _chunk7OOBMCQIcjs = require('./chunk-7OOBMCQI.cjs');
31
+ var _chunkSOC4HWCGcjs = require('./chunk-SOC4HWCG.cjs');
32
32
 
33
33
 
34
34
 
@@ -54,12 +54,12 @@ var _chunk7OOBMCQIcjs = require('./chunk-7OOBMCQI.cjs');
54
54
 
55
55
 
56
56
 
57
- var _chunkNDCVQZBScjs = require('./chunk-NDCVQZBS.cjs');
57
+ var _chunkSDXTJDDRcjs = require('./chunk-SDXTJDDR.cjs');
58
58
 
59
59
 
60
60
 
61
61
 
62
- var _chunkETDWYT2Pcjs = require('./chunk-ETDWYT2P.cjs');
62
+ var _chunkDL7TPF63cjs = require('./chunk-DL7TPF63.cjs');
63
63
 
64
64
 
65
65
 
@@ -69,7 +69,7 @@ var _chunkETDWYT2Pcjs = require('./chunk-ETDWYT2P.cjs');
69
69
 
70
70
 
71
71
 
72
- var _chunkLXAVET4Acjs = require('./chunk-LXAVET4A.cjs');
72
+ var _chunkU2IXX6DYcjs = require('./chunk-U2IXX6DY.cjs');
73
73
 
74
74
 
75
75
 
@@ -151,7 +151,7 @@ var _streaming = require('hono/streaming');
151
151
 
152
152
  // src/manager/log.ts
153
153
  function logger() {
154
- return _chunkETDWYT2Pcjs.getLogger.call(void 0, "actor-manager");
154
+ return _chunkDL7TPF63cjs.getLogger.call(void 0, "actor-manager");
155
155
  }
156
156
 
157
157
  // src/manager/hono-websocket-adapter.ts
@@ -439,14 +439,14 @@ async function handleWebSocketConnect(req, runConfig, actorDriver, actorId, enco
439
439
  promise: handlersPromise,
440
440
  resolve: handlersResolve,
441
441
  reject: handlersReject
442
- } = _chunkLXAVET4Acjs.promiseWithResolvers.call(void 0, );
442
+ } = _chunkU2IXX6DYcjs.promiseWithResolvers.call(void 0, );
443
443
  let actor2;
444
444
  try {
445
445
  actor2 = await actorDriver.loadActor(actorId);
446
446
  } catch (error) {
447
447
  return {
448
448
  onOpen: (_evt, ws) => {
449
- const { code } = _chunkLXAVET4Acjs.deconstructError.call(void 0,
449
+ const { code } = _chunkU2IXX6DYcjs.deconstructError.call(void 0,
450
450
  error,
451
451
  actor2.rLog,
452
452
  {
@@ -465,8 +465,8 @@ async function handleWebSocketConnect(req, runConfig, actorDriver, actorId, enco
465
465
  }
466
466
  };
467
467
  }
468
- const closePromise = _chunkLXAVET4Acjs.promiseWithResolvers.call(void 0, );
469
- const socketId = _chunkNUA6LOOJcjs.generateConnSocketId.call(void 0, );
468
+ const closePromise = _chunkU2IXX6DYcjs.promiseWithResolvers.call(void 0, );
469
+ const socketId = _chunk4PSLOAXRcjs.generateConnSocketId.call(void 0, );
470
470
  return {
471
471
  onOpen: (_evt, ws) => {
472
472
  actor2.rLog.debug("actor websocket open");
@@ -497,7 +497,7 @@ async function handleWebSocketConnect(req, runConfig, actorDriver, actorId, enco
497
497
  handlersResolve({ conn, actor: actor2, connId: conn.id });
498
498
  } catch (error) {
499
499
  handlersReject(error);
500
- const { code } = _chunkLXAVET4Acjs.deconstructError.call(void 0,
500
+ const { code } = _chunkU2IXX6DYcjs.deconstructError.call(void 0,
501
501
  error,
502
502
  actor2.rLog,
503
503
  {
@@ -513,12 +513,12 @@ async function handleWebSocketConnect(req, runConfig, actorDriver, actorId, enco
513
513
  handlersPromise.then(({ conn, actor: actor3 }) => {
514
514
  actor3.rLog.debug({ msg: "received message" });
515
515
  const value = evt.data.valueOf();
516
- _chunk7OOBMCQIcjs.parseMessage.call(void 0, value, {
516
+ _chunkSOC4HWCGcjs.parseMessage.call(void 0, value, {
517
517
  encoding,
518
518
  maxIncomingMessageSize: runConfig.maxIncomingMessageSize
519
519
  }).then((message) => {
520
520
  actor3.processMessage(message, conn).catch((error) => {
521
- const { code } = _chunkLXAVET4Acjs.deconstructError.call(void 0,
521
+ const { code } = _chunkU2IXX6DYcjs.deconstructError.call(void 0,
522
522
  error,
523
523
  actor3.rLog,
524
524
  {
@@ -529,7 +529,7 @@ async function handleWebSocketConnect(req, runConfig, actorDriver, actorId, enco
529
529
  ws.close(1011, code);
530
530
  });
531
531
  }).catch((error) => {
532
- const { code } = _chunkLXAVET4Acjs.deconstructError.call(void 0,
532
+ const { code } = _chunkU2IXX6DYcjs.deconstructError.call(void 0,
533
533
  error,
534
534
  actor3.rLog,
535
535
  {
@@ -540,7 +540,7 @@ async function handleWebSocketConnect(req, runConfig, actorDriver, actorId, enco
540
540
  ws.close(1011, code);
541
541
  });
542
542
  }).catch((error) => {
543
- const { code } = _chunkLXAVET4Acjs.deconstructError.call(void 0,
543
+ const { code } = _chunkU2IXX6DYcjs.deconstructError.call(void 0,
544
544
  error,
545
545
  actor2.rLog,
546
546
  {
@@ -571,9 +571,10 @@ async function handleWebSocketConnect(req, runConfig, actorDriver, actorId, enco
571
571
  }
572
572
  ws.close(1e3, "hack_force_close");
573
573
  handlersPromise.then(({ conn, actor: actor3 }) => {
574
- actor3.__connDisconnected(conn, event.wasClean, socketId);
574
+ const wasClean = event.wasClean || event.code === 1e3;
575
+ actor3.__connDisconnected(conn, wasClean, socketId);
575
576
  }).catch((error) => {
576
- _chunkLXAVET4Acjs.deconstructError.call(void 0,
577
+ _chunkU2IXX6DYcjs.deconstructError.call(void 0,
577
578
  error,
578
579
  actor2.rLog,
579
580
  { wsEvent: "close" },
@@ -585,7 +586,7 @@ async function handleWebSocketConnect(req, runConfig, actorDriver, actorId, enco
585
586
  try {
586
587
  actor2.rLog.warn({ msg: "websocket error" });
587
588
  } catch (error) {
588
- _chunkLXAVET4Acjs.deconstructError.call(void 0,
589
+ _chunkU2IXX6DYcjs.deconstructError.call(void 0,
589
590
  error,
590
591
  actor2.rLog,
591
592
  { wsEvent: "error" },
@@ -599,9 +600,9 @@ async function handleSseConnect(c, _runConfig, actorDriver, actorId) {
599
600
  c.header("Content-Encoding", "Identity");
600
601
  const encoding = getRequestEncoding(c.req);
601
602
  const parameters = getRequestConnParams(c.req);
602
- const socketId = _chunkNUA6LOOJcjs.generateConnSocketId.call(void 0, );
603
- const connId = c.req.header(_chunkNDCVQZBScjs.HEADER_CONN_ID);
604
- const connToken = c.req.header(_chunkNDCVQZBScjs.HEADER_CONN_TOKEN);
603
+ const socketId = _chunk4PSLOAXRcjs.generateConnSocketId.call(void 0, );
604
+ const connId = c.req.header(_chunkSDXTJDDRcjs.HEADER_CONN_ID);
605
+ const connToken = c.req.header(_chunkSDXTJDDRcjs.HEADER_CONN_TOKEN);
605
606
  return _streaming.streamSSE.call(void 0, c, async (stream) => {
606
607
  let actor2;
607
608
  let conn;
@@ -626,12 +627,12 @@ async function handleSseConnect(c, _runConfig, actorDriver, actorId) {
626
627
  connId,
627
628
  connToken
628
629
  );
629
- const abortResolver = _chunkLXAVET4Acjs.promiseWithResolvers.call(void 0, );
630
+ const abortResolver = _chunkU2IXX6DYcjs.promiseWithResolvers.call(void 0, );
630
631
  stream.onAbort(() => {
631
632
  });
632
633
  c.req.raw.signal.addEventListener("abort", async () => {
633
634
  _invariant2.default.call(void 0, actor2, "actor should exist");
634
- const rLog = _nullishCoalesce(actor2.rLog, () => ( _chunkNDCVQZBScjs.loggerWithoutContext.call(void 0, )));
635
+ const rLog = _nullishCoalesce(actor2.rLog, () => ( _chunkSDXTJDDRcjs.loggerWithoutContext.call(void 0, )));
635
636
  try {
636
637
  rLog.debug("sse stream aborted");
637
638
  if (conn) {
@@ -656,7 +657,7 @@ async function handleSseConnect(c, _runConfig, actorDriver, actorId) {
656
657
  await stream.sleep(SSE_PING_INTERVAL);
657
658
  }
658
659
  } catch (error) {
659
- _chunkNDCVQZBScjs.loggerWithoutContext.call(void 0, ).error({ msg: "error in sse connection", error });
660
+ _chunkSDXTJDDRcjs.loggerWithoutContext.call(void 0, ).error({ msg: "error in sse connection", error });
660
661
  if (conn && actor2 !== void 0) {
661
662
  actor2.__connDisconnected(conn, false, socketId);
662
663
  }
@@ -668,13 +669,13 @@ async function handleAction(c, _runConfig, actorDriver, actionName, actorId) {
668
669
  const encoding = getRequestEncoding(c.req);
669
670
  const parameters = getRequestConnParams(c.req);
670
671
  const arrayBuffer = await c.req.arrayBuffer();
671
- const request = _chunkNDCVQZBScjs.deserializeWithEncoding.call(void 0,
672
+ const request = _chunkSDXTJDDRcjs.deserializeWithEncoding.call(void 0,
672
673
  encoding,
673
674
  new Uint8Array(arrayBuffer),
674
- _chunk7OOBMCQIcjs.HTTP_ACTION_REQUEST_VERSIONED
675
+ _chunkSOC4HWCGcjs.HTTP_ACTION_REQUEST_VERSIONED
675
676
  );
676
677
  const actionArgs = cbor.decode(new Uint8Array(request.args));
677
- const socketId = _chunkNUA6LOOJcjs.generateConnSocketId.call(void 0, );
678
+ const socketId = _chunk4PSLOAXRcjs.generateConnSocketId.call(void 0, );
678
679
  let actor2;
679
680
  let conn;
680
681
  let output;
@@ -689,7 +690,7 @@ async function handleAction(c, _runConfig, actorDriver, actionName, actorId) {
689
690
  parameters,
690
691
  c.req.raw
691
692
  );
692
- const ctx = new (0, _chunk7OOBMCQIcjs.ActionContext)(actor2.actorContext, conn);
693
+ const ctx = new (0, _chunkSOC4HWCGcjs.ActionContext)(actor2.actorContext, conn);
693
694
  output = await actor2.executeAction(ctx, actionName, actionArgs);
694
695
  } finally {
695
696
  if (conn) {
@@ -697,24 +698,24 @@ async function handleAction(c, _runConfig, actorDriver, actionName, actorId) {
697
698
  }
698
699
  }
699
700
  const responseData = {
700
- output: _chunkLXAVET4Acjs.bufferToArrayBuffer.call(void 0, cbor.encode(output))
701
+ output: _chunkU2IXX6DYcjs.bufferToArrayBuffer.call(void 0, cbor.encode(output))
701
702
  };
702
- const serialized = _chunkNDCVQZBScjs.serializeWithEncoding.call(void 0,
703
+ const serialized = _chunkSDXTJDDRcjs.serializeWithEncoding.call(void 0,
703
704
  encoding,
704
705
  responseData,
705
- _chunk7OOBMCQIcjs.HTTP_ACTION_RESPONSE_VERSIONED
706
+ _chunkSOC4HWCGcjs.HTTP_ACTION_RESPONSE_VERSIONED
706
707
  );
707
708
  return c.body(serialized, 200, {
708
- "Content-Type": _chunkNDCVQZBScjs.contentTypeForEncoding.call(void 0, encoding)
709
+ "Content-Type": _chunkSDXTJDDRcjs.contentTypeForEncoding.call(void 0, encoding)
709
710
  });
710
711
  }
711
712
  async function handleConnectionMessage(c, _runConfig, actorDriver, connId, connToken, actorId) {
712
713
  const encoding = getRequestEncoding(c.req);
713
714
  const arrayBuffer = await c.req.arrayBuffer();
714
- const message = _chunkNDCVQZBScjs.deserializeWithEncoding.call(void 0,
715
+ const message = _chunkSDXTJDDRcjs.deserializeWithEncoding.call(void 0,
715
716
  encoding,
716
717
  new Uint8Array(arrayBuffer),
717
- _chunk7OOBMCQIcjs.TO_SERVER_VERSIONED
718
+ _chunkSOC4HWCGcjs.TO_SERVER_VERSIONED
718
719
  );
719
720
  const actor2 = await actorDriver.loadActor(actorId);
720
721
  const conn = actor2.conns.get(connId);
@@ -795,11 +796,11 @@ async function handleRawWebSocketHandler(req, path3, actorDriver, actorId) {
795
796
  };
796
797
  }
797
798
  function getRequestEncoding(req) {
798
- const encodingParam = req.header(_chunkNDCVQZBScjs.HEADER_ENCODING);
799
+ const encodingParam = req.header(_chunkSDXTJDDRcjs.HEADER_ENCODING);
799
800
  if (!encodingParam) {
800
801
  throw new (0, _chunk5QGQK44Lcjs.InvalidEncoding)("undefined");
801
802
  }
802
- const result = _chunkNDCVQZBScjs.EncodingSchema.safeParse(encodingParam);
803
+ const result = _chunkSDXTJDDRcjs.EncodingSchema.safeParse(encodingParam);
803
804
  if (!result.success) {
804
805
  throw new (0, _chunk5QGQK44Lcjs.InvalidEncoding)(encodingParam);
805
806
  }
@@ -809,7 +810,7 @@ function getRequestExposeInternalError(_req) {
809
810
  return false;
810
811
  }
811
812
  function getRequestConnParams(req) {
812
- const paramsParam = req.header(_chunkNDCVQZBScjs.HEADER_CONN_PARAMS);
813
+ const paramsParam = req.header(_chunkSDXTJDDRcjs.HEADER_CONN_PARAMS);
813
814
  if (!paramsParam) {
814
815
  return null;
815
816
  }
@@ -817,7 +818,7 @@ function getRequestConnParams(req) {
817
818
  return JSON.parse(paramsParam);
818
819
  } catch (err) {
819
820
  throw new (0, _chunk5QGQK44Lcjs.InvalidParams)(
820
- `Invalid params JSON: ${_chunkLXAVET4Acjs.stringifyError.call(void 0, err)}`
821
+ `Invalid params JSON: ${_chunkU2IXX6DYcjs.stringifyError.call(void 0, err)}`
821
822
  );
822
823
  }
823
824
  }
@@ -825,7 +826,7 @@ function getRequestConnParams(req) {
825
826
  // src/common/router.ts
826
827
 
827
828
  function logger2() {
828
- return _chunkETDWYT2Pcjs.getLogger.call(void 0, "router");
829
+ return _chunkDL7TPF63cjs.getLogger.call(void 0, "router");
829
830
  }
830
831
  function loggerMiddleware(logger7) {
831
832
  return async (c, next) => {
@@ -851,7 +852,7 @@ function handleRouteNotFound(c) {
851
852
  }
852
853
  function handleRouteError(error, c) {
853
854
  const exposeInternalError = getRequestExposeInternalError(c.req.raw);
854
- const { statusCode, group, code, message, metadata } = _chunkLXAVET4Acjs.deconstructError.call(void 0,
855
+ const { statusCode, group, code, message, metadata } = _chunkU2IXX6DYcjs.deconstructError.call(void 0,
855
856
  error,
856
857
  logger2(),
857
858
  {
@@ -866,24 +867,24 @@ function handleRouteError(error, c) {
866
867
  } catch (_) {
867
868
  encoding = "json";
868
869
  }
869
- const output = _chunkNDCVQZBScjs.serializeWithEncoding.call(void 0,
870
+ const output = _chunkSDXTJDDRcjs.serializeWithEncoding.call(void 0,
870
871
  encoding,
871
872
  {
872
873
  group,
873
874
  code,
874
875
  message,
875
876
  // TODO: Cannot serialize non-binary meta since it requires ArrayBuffer atm
876
- metadata: _chunkNDCVQZBScjs.encodingIsBinary.call(void 0, encoding) ? _chunkLXAVET4Acjs.bufferToArrayBuffer.call(void 0, cbor2.encode(metadata)) : null
877
+ metadata: _chunkSDXTJDDRcjs.encodingIsBinary.call(void 0, encoding) ? _chunkU2IXX6DYcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(metadata)) : null
877
878
  },
878
- _chunk7OOBMCQIcjs.HTTP_RESPONSE_ERROR_VERSIONED
879
+ _chunkSOC4HWCGcjs.HTTP_RESPONSE_ERROR_VERSIONED
879
880
  );
880
881
  return c.body(output, { status: statusCode });
881
882
  }
882
883
 
883
884
  // src/actor/router.ts
884
- function createActorRouter(runConfig, actorDriver) {
885
+ function createActorRouter(runConfig, actorDriver, isTest) {
885
886
  const router = new (0, _hono.Hono)({ strict: false });
886
- router.use("*", loggerMiddleware(_chunkNDCVQZBScjs.loggerWithoutContext.call(void 0, )));
887
+ router.use("*", loggerMiddleware(_chunkSDXTJDDRcjs.loggerWithoutContext.call(void 0, )));
887
888
  router.get("/", (c) => {
888
889
  return c.text(
889
890
  "This is an RivetKit actor.\n\nLearn more at https://rivetkit.org"
@@ -892,27 +893,29 @@ function createActorRouter(runConfig, actorDriver) {
892
893
  router.get("/health", (c) => {
893
894
  return c.text("ok");
894
895
  });
895
- router.post("/.test/force-disconnect", async (c) => {
896
- const connId = c.req.query("conn");
897
- if (!connId) {
898
- return c.text("Missing conn query parameter", 400);
899
- }
900
- const actor2 = await actorDriver.loadActor(c.env.actorId);
901
- const conn = actor2.__getConnForId(connId);
902
- if (!conn) {
903
- return c.text(`Connection not found: ${connId}`, 404);
904
- }
905
- const driverState = conn.__driverState;
906
- if (driverState && 0 /* WEBSOCKET */ in driverState) {
907
- const ws = driverState[0 /* WEBSOCKET */].websocket;
908
- ws.raw.terminate();
909
- } else if (driverState && 1 /* SSE */ in driverState) {
910
- const stream = driverState[1 /* SSE */].stream;
911
- stream.abort();
912
- }
913
- return c.json({ success: true });
914
- });
915
- router.get(_chunkNDCVQZBScjs.PATH_CONNECT_WEBSOCKET, async (c) => {
896
+ if (isTest) {
897
+ router.post("/.test/force-disconnect", async (c) => {
898
+ const connId = c.req.query("conn");
899
+ if (!connId) {
900
+ return c.text("Missing conn query parameter", 400);
901
+ }
902
+ const actor2 = await actorDriver.loadActor(c.env.actorId);
903
+ const conn = actor2.__getConnForId(connId);
904
+ if (!conn) {
905
+ return c.text(`Connection not found: ${connId}`, 404);
906
+ }
907
+ const driverState = conn.__driverState;
908
+ if (driverState && 0 /* WEBSOCKET */ in driverState) {
909
+ const ws = driverState[0 /* WEBSOCKET */].websocket;
910
+ ws.raw.terminate();
911
+ } else if (driverState && 1 /* SSE */ in driverState) {
912
+ const stream = driverState[1 /* SSE */].stream;
913
+ stream.abort();
914
+ }
915
+ return c.json({ success: true });
916
+ });
917
+ }
918
+ router.get(_chunkSDXTJDDRcjs.PATH_CONNECT_WEBSOCKET, async (c) => {
916
919
  var _a;
917
920
  const upgradeWebSocket = (_a = runConfig.getUpgradeWebSocket) == null ? void 0 : _a.call(runConfig);
918
921
  if (upgradeWebSocket) {
@@ -925,20 +928,20 @@ function createActorRouter(runConfig, actorDriver) {
925
928
  if (protocols) {
926
929
  const protocolList = protocols.split(",").map((p) => p.trim());
927
930
  for (const protocol of protocolList) {
928
- if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_ENCODING)) {
929
- encodingRaw = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_ENCODING.length);
930
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_PARAMS)) {
931
+ if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_ENCODING)) {
932
+ encodingRaw = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_ENCODING.length);
933
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_PARAMS)) {
931
934
  connParamsRaw = decodeURIComponent(
932
- protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_PARAMS.length)
935
+ protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_PARAMS.length)
933
936
  );
934
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_ID)) {
935
- connIdRaw = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_ID.length);
936
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_TOKEN)) {
937
- connTokenRaw = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_TOKEN.length);
937
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_ID)) {
938
+ connIdRaw = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_ID.length);
939
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_TOKEN)) {
940
+ connTokenRaw = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_TOKEN.length);
938
941
  }
939
942
  }
940
943
  }
941
- const encoding = _chunkNDCVQZBScjs.EncodingSchema.parse(encodingRaw);
944
+ const encoding = _chunkSDXTJDDRcjs.EncodingSchema.parse(encodingRaw);
942
945
  const connParams = connParamsRaw ? JSON.parse(connParamsRaw) : void 0;
943
946
  return await handleWebSocketConnect(
944
947
  c2.req.raw,
@@ -950,7 +953,7 @@ function createActorRouter(runConfig, actorDriver) {
950
953
  connIdRaw,
951
954
  connTokenRaw
952
955
  );
953
- })(c, _chunkLXAVET4Acjs.noopNext.call(void 0, ));
956
+ })(c, _chunkU2IXX6DYcjs.noopNext.call(void 0, ));
954
957
  } else {
955
958
  return c.text(
956
959
  "WebSockets are not enabled for this driver. Use SSE instead.",
@@ -966,8 +969,8 @@ function createActorRouter(runConfig, actorDriver) {
966
969
  return handleAction(c, runConfig, actorDriver, actionName, c.env.actorId);
967
970
  });
968
971
  router.post("/connections/message", async (c) => {
969
- const connId = c.req.header(_chunkNDCVQZBScjs.HEADER_CONN_ID);
970
- const connToken = c.req.header(_chunkNDCVQZBScjs.HEADER_CONN_TOKEN);
972
+ const connId = c.req.header(_chunkSDXTJDDRcjs.HEADER_CONN_ID);
973
+ const connToken = c.req.header(_chunkSDXTJDDRcjs.HEADER_CONN_TOKEN);
971
974
  if (!connId || !connToken) {
972
975
  throw new Error("Missing required parameters");
973
976
  }
@@ -981,8 +984,8 @@ function createActorRouter(runConfig, actorDriver) {
981
984
  );
982
985
  });
983
986
  router.post("/connections/close", async (c) => {
984
- const connId = c.req.header(_chunkNDCVQZBScjs.HEADER_CONN_ID);
985
- const connToken = c.req.header(_chunkNDCVQZBScjs.HEADER_CONN_TOKEN);
987
+ const connId = c.req.header(_chunkSDXTJDDRcjs.HEADER_CONN_ID);
988
+ const connToken = c.req.header(_chunkSDXTJDDRcjs.HEADER_CONN_TOKEN);
986
989
  if (!connId || !connToken) {
987
990
  throw new Error("Missing required parameters");
988
991
  }
@@ -1006,7 +1009,7 @@ function createActorRouter(runConfig, actorDriver) {
1006
1009
  body: c.req.raw.body,
1007
1010
  duplex: "half"
1008
1011
  });
1009
- _chunkNDCVQZBScjs.loggerWithoutContext.call(void 0, ).debug({
1012
+ _chunkSDXTJDDRcjs.loggerWithoutContext.call(void 0, ).debug({
1010
1013
  msg: "rewriting http url",
1011
1014
  from: c.req.url,
1012
1015
  to: correctedRequest.url
@@ -1017,14 +1020,14 @@ function createActorRouter(runConfig, actorDriver) {
1017
1020
  }
1018
1021
  return response;
1019
1022
  });
1020
- router.get(`${_chunkNDCVQZBScjs.PATH_RAW_WEBSOCKET_PREFIX}*`, async (c) => {
1023
+ router.get(`${_chunkSDXTJDDRcjs.PATH_RAW_WEBSOCKET_PREFIX}*`, async (c) => {
1021
1024
  var _a;
1022
1025
  const upgradeWebSocket = (_a = runConfig.getUpgradeWebSocket) == null ? void 0 : _a.call(runConfig);
1023
1026
  if (upgradeWebSocket) {
1024
1027
  return upgradeWebSocket(async (c2) => {
1025
1028
  const url = new URL(c2.req.url);
1026
1029
  const pathWithQuery = c2.req.path + url.search;
1027
- _chunkNDCVQZBScjs.loggerWithoutContext.call(void 0, ).debug({
1030
+ _chunkSDXTJDDRcjs.loggerWithoutContext.call(void 0, ).debug({
1028
1031
  msg: "actor router raw websocket",
1029
1032
  path: c2.req.path,
1030
1033
  url: c2.req.url,
@@ -1037,7 +1040,7 @@ function createActorRouter(runConfig, actorDriver) {
1037
1040
  actorDriver,
1038
1041
  c2.env.actorId
1039
1042
  );
1040
- })(c, _chunkLXAVET4Acjs.noopNext.call(void 0, ));
1043
+ })(c, _chunkU2IXX6DYcjs.noopNext.call(void 0, ));
1041
1044
  } else {
1042
1045
  return c.text(
1043
1046
  "WebSockets are not enabled for this driver. Use SSE instead.",
@@ -1045,19 +1048,19 @@ function createActorRouter(runConfig, actorDriver) {
1045
1048
  );
1046
1049
  }
1047
1050
  });
1048
- if (_chunk4EXJ4ITRcjs.isInspectorEnabled.call(void 0, runConfig, "actor")) {
1051
+ if (_chunkQGRYH6TUcjs.isInspectorEnabled.call(void 0, runConfig, "actor")) {
1049
1052
  router.route(
1050
1053
  "/inspect",
1051
1054
  new (0, _hono.Hono)().use(
1052
1055
  _cors.cors.call(void 0, runConfig.inspector.cors),
1053
- _chunk4EXJ4ITRcjs.secureInspector.call(void 0, runConfig),
1056
+ _chunkQGRYH6TUcjs.secureInspector.call(void 0, runConfig),
1054
1057
  async (c, next) => {
1055
1058
  const inspector = (await actorDriver.loadActor(c.env.actorId)).inspector;
1056
1059
  _invariant2.default.call(void 0, inspector, "inspector not supported on this platform");
1057
1060
  c.set("inspector", inspector);
1058
1061
  return next();
1059
1062
  }
1060
- ).route("/", _chunkNUA6LOOJcjs.createActorInspectorRouter.call(void 0, ))
1063
+ ).route("/", _chunk4PSLOAXRcjs.createActorInspectorRouter.call(void 0, ))
1061
1064
  );
1062
1065
  }
1063
1066
  router.notFound(handleRouteNotFound);
@@ -1068,13 +1071,13 @@ function createActorRouter(runConfig, actorDriver) {
1068
1071
  // src/actor/mod.ts
1069
1072
  function actor(input) {
1070
1073
  const config2 = ActorConfigSchema.parse(input);
1071
- return new (0, _chunkNUA6LOOJcjs.ActorDefinition)(config2);
1074
+ return new (0, _chunk4PSLOAXRcjs.ActorDefinition)(config2);
1072
1075
  }
1073
1076
 
1074
1077
  // src/common/inline-websocket-adapter2.ts
1075
1078
  var _ws2 = require('hono/ws');
1076
1079
  function logger3() {
1077
- return _chunkETDWYT2Pcjs.getLogger.call(void 0, "fake-event-source2");
1080
+ return _chunkDL7TPF63cjs.getLogger.call(void 0, "fake-event-source2");
1078
1081
  }
1079
1082
  var InlineWebSocketAdapter2 = (_class2 = class {
1080
1083
  // WebSocket readyState values
@@ -1422,7 +1425,7 @@ var KEYS = {
1422
1425
 
1423
1426
  // src/drivers/engine/log.ts
1424
1427
  function logger4() {
1425
- return _chunkETDWYT2Pcjs.getLogger.call(void 0, "driver-engine");
1428
+ return _chunkDL7TPF63cjs.getLogger.call(void 0, "driver-engine");
1426
1429
  }
1427
1430
 
1428
1431
  // src/drivers/engine/actor-driver.ts
@@ -1437,6 +1440,7 @@ var EngineActorDriver = class {
1437
1440
  #actorRouter;
1438
1441
  #version = 1;
1439
1442
  // Version for the runner protocol
1443
+ #alarmTimeout;
1440
1444
  #runnerStarted = Promise.withResolvers();
1441
1445
  #runnerStopped = Promise.withResolvers();
1442
1446
  constructor(registryConfig, runConfig, managerDriver, inlineClient, config2) {
@@ -1445,15 +1449,19 @@ var EngineActorDriver = class {
1445
1449
  this.#managerDriver = managerDriver;
1446
1450
  this.#inlineClient = inlineClient;
1447
1451
  this.#config = config2;
1448
- this.#actorRouter = createActorRouter(runConfig, this);
1452
+ this.#actorRouter = createActorRouter(
1453
+ runConfig,
1454
+ this,
1455
+ registryConfig.test.enabled
1456
+ );
1449
1457
  let hasDisconnected = false;
1450
1458
  const runnerConfig = {
1451
1459
  version: this.#version,
1452
1460
  endpoint: config2.endpoint,
1453
- token: config2.token,
1461
+ token: _nullishCoalesce(runConfig.token, () => ( config2.token)),
1454
1462
  pegboardEndpoint: config2.pegboardEndpoint,
1455
1463
  namespace: config2.namespace,
1456
- totalSlots: config2.totalSlots,
1464
+ totalSlots: _nullishCoalesce(runConfig.totalSlots, () => ( config2.totalSlots)),
1457
1465
  runnerName: config2.runnerName,
1458
1466
  runnerKey: config2.runnerKey,
1459
1467
  metadata: {
@@ -1496,7 +1504,7 @@ var EngineActorDriver = class {
1496
1504
  websocket: this.#runnerWebSocket.bind(this),
1497
1505
  onActorStart: this.#runnerOnActorStart.bind(this),
1498
1506
  onActorStop: this.#runnerOnActorStop.bind(this),
1499
- logger: _chunkETDWYT2Pcjs.getLogger.call(void 0, "engine-runner")
1507
+ logger: _chunkDL7TPF63cjs.getLogger.call(void 0, "engine-runner")
1500
1508
  };
1501
1509
  this.#runner = new (0, _enginerunner.Runner)(runnerConfig);
1502
1510
  this.#runner.start();
@@ -1541,6 +1549,16 @@ var EngineActorDriver = class {
1541
1549
  await this.#runner.kvPut(actorId, [[KEYS.PERSIST_DATA, data]]);
1542
1550
  }
1543
1551
  async setAlarm(actor2, timestamp) {
1552
+ if (this.#alarmTimeout) {
1553
+ this.#alarmTimeout.abort();
1554
+ this.#alarmTimeout = void 0;
1555
+ }
1556
+ const delay = Math.max(0, timestamp - Date.now());
1557
+ this.#alarmTimeout = _chunkU2IXX6DYcjs.setLongTimeout.call(void 0, () => {
1558
+ actor2._onAlarm();
1559
+ this.#alarmTimeout = void 0;
1560
+ }, delay);
1561
+ this.#runner.setAlarm(actor2.id, timestamp);
1544
1562
  }
1545
1563
  async getDatabase(_actorId) {
1546
1564
  return void 0;
@@ -1562,15 +1580,15 @@ var EngineActorDriver = class {
1562
1580
  let handler = this.#actors.get(actorId);
1563
1581
  if (!handler) {
1564
1582
  handler = {
1565
- actorStartPromise: _chunkLXAVET4Acjs.promiseWithResolvers.call(void 0, ),
1566
- persistedData: _chunk7OOBMCQIcjs.serializeEmptyPersistData.call(void 0, input)
1583
+ actorStartPromise: _chunkU2IXX6DYcjs.promiseWithResolvers.call(void 0, ),
1584
+ persistedData: _chunkSOC4HWCGcjs.serializeEmptyPersistData.call(void 0, input)
1567
1585
  };
1568
1586
  this.#actors.set(actorId, handler);
1569
1587
  }
1570
1588
  const name = config2.name;
1571
1589
  _invariant2.default.call(void 0, config2.key, "actor should have a key");
1572
- const key = _chunkNUA6LOOJcjs.deserializeActorKey.call(void 0, config2.key);
1573
- const definition = _chunkNUA6LOOJcjs.lookupInRegistry.call(void 0,
1590
+ const key = _chunk4PSLOAXRcjs.deserializeActorKey.call(void 0, config2.key);
1591
+ const definition = _chunk4PSLOAXRcjs.lookupInRegistry.call(void 0,
1574
1592
  this.#registryConfig,
1575
1593
  config2.name
1576
1594
  // TODO: Remove cast
@@ -1619,19 +1637,19 @@ var EngineActorDriver = class {
1619
1637
  if (protocols) {
1620
1638
  const protocolList = protocols.split(",").map((p) => p.trim());
1621
1639
  for (const protocol of protocolList) {
1622
- if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_ENCODING)) {
1623
- encodingRaw = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_ENCODING.length);
1624
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_PARAMS)) {
1640
+ if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_ENCODING)) {
1641
+ encodingRaw = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_ENCODING.length);
1642
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_PARAMS)) {
1625
1643
  connParamsRaw = decodeURIComponent(
1626
- protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_PARAMS.length)
1644
+ protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_PARAMS.length)
1627
1645
  );
1628
1646
  }
1629
1647
  }
1630
1648
  }
1631
- const encoding = _chunkNDCVQZBScjs.EncodingSchema.parse(encodingRaw);
1649
+ const encoding = _chunkSDXTJDDRcjs.EncodingSchema.parse(encodingRaw);
1632
1650
  const connParams = connParamsRaw ? JSON.parse(connParamsRaw) : void 0;
1633
1651
  let wsHandlerPromise;
1634
- if (url.pathname === _chunkNDCVQZBScjs.PATH_CONNECT_WEBSOCKET) {
1652
+ if (url.pathname === _chunkSDXTJDDRcjs.PATH_CONNECT_WEBSOCKET) {
1635
1653
  wsHandlerPromise = handleWebSocketConnect(
1636
1654
  request,
1637
1655
  this.#runConfig,
@@ -1643,7 +1661,7 @@ var EngineActorDriver = class {
1643
1661
  void 0,
1644
1662
  void 0
1645
1663
  );
1646
- } else if (url.pathname.startsWith(_chunkNDCVQZBScjs.PATH_RAW_WEBSOCKET_PREFIX)) {
1664
+ } else if (url.pathname.startsWith(_chunkSDXTJDDRcjs.PATH_RAW_WEBSOCKET_PREFIX)) {
1647
1665
  wsHandlerPromise = handleRawWebSocketHandler(
1648
1666
  request,
1649
1667
  url.pathname + url.search,
@@ -1700,9 +1718,9 @@ var EngineActorDriver = class {
1700
1718
  async serverlessHandleStart(c) {
1701
1719
  await this.#runnerStarted.promise;
1702
1720
  return _streaming.streamSSE.call(void 0, c, async (stream) => {
1703
- const runnerId = this.#runner.runnerId;
1704
- _invariant2.default.call(void 0, runnerId, "runnerId not set");
1705
- stream.writeSSE({ data: runnerId });
1721
+ const payload = this.#runner.getServerlessInitPacket();
1722
+ _invariant2.default.call(void 0, payload, "runnerId not set");
1723
+ stream.writeSSE({ data: payload });
1706
1724
  return this.#runnerStopped.promise;
1707
1725
  });
1708
1726
  }
@@ -1713,15 +1731,15 @@ var EngineActorDriver = class {
1713
1731
  var ConfigSchema = _zod.z.object({
1714
1732
  app: _zod.z.custom().optional(),
1715
1733
  endpoint: _zod.z.string().default(
1716
- () => _nullishCoalesce(_chunkLXAVET4Acjs.getEnvUniversal.call(void 0, "RIVET_ENGINE"), () => ( "http://localhost:6420"))
1734
+ () => _nullishCoalesce(_chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVET_ENGINE"), () => ( "http://localhost:6420"))
1717
1735
  ),
1718
- token: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkLXAVET4Acjs.getEnvUniversal.call(void 0, "RIVET_TOKEN")))),
1736
+ token: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVET_TOKEN")))),
1719
1737
  pegboardEndpoint: _zod.z.string().optional(),
1720
- namespace: _zod.z.string().default(() => _nullishCoalesce(_chunkLXAVET4Acjs.getEnvUniversal.call(void 0, "RIVET_NAMESPACE"), () => ( "default"))),
1721
- runnerName: _zod.z.string().default(() => _nullishCoalesce(_chunkLXAVET4Acjs.getEnvUniversal.call(void 0, "RIVET_RUNNER"), () => ( "rivetkit"))),
1738
+ namespace: _zod.z.string().default(() => _nullishCoalesce(_chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVET_NAMESPACE"), () => ( "default"))),
1739
+ runnerName: _zod.z.string().default(() => _nullishCoalesce(_chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVET_RUNNER"), () => ( "rivetkit"))),
1722
1740
  // TODO: Automatically attempt to determine key by common env vars (e.g. k8s pod name)
1723
1741
  runnerKey: _zod.z.string().default(
1724
- () => _nullishCoalesce(_chunkLXAVET4Acjs.getEnvUniversal.call(void 0, "RIVET_RUNNER_KEY"), () => ( crypto.randomUUID()))
1742
+ () => _nullishCoalesce(_chunkU2IXX6DYcjs.getEnvUniversal.call(void 0, "RIVET_RUNNER_KEY"), () => ( crypto.randomUUID()))
1725
1743
  ),
1726
1744
  totalSlots: _zod.z.number().default(1e5)
1727
1745
  }).default({});
@@ -1732,7 +1750,7 @@ function createEngineDriver(inputConfig) {
1732
1750
  return {
1733
1751
  name: "engine",
1734
1752
  manager: (_registryConfig, runConfig) => {
1735
- return new (0, _chunkNUA6LOOJcjs.RemoteManagerDriver)(runConfig);
1753
+ return new (0, _chunk4PSLOAXRcjs.RemoteManagerDriver)(runConfig);
1736
1754
  },
1737
1755
  actor: (registryConfig, runConfig, managerDriver, inlineClient) => {
1738
1756
  return new EngineActorDriver(
@@ -1787,7 +1805,7 @@ var FileSystemActorDriver = class {
1787
1805
  const state = await this.#state.loadActorStateOrError(actorId);
1788
1806
  await this.#state.writeActor(actorId, {
1789
1807
  ...state,
1790
- persistedData: _chunkLXAVET4Acjs.bufferToArrayBuffer.call(void 0, data)
1808
+ persistedData: _chunkU2IXX6DYcjs.bufferToArrayBuffer.call(void 0, data)
1791
1809
  });
1792
1810
  }
1793
1811
  async setAlarm(actor2, timestamp) {
@@ -1890,13 +1908,13 @@ function decodeActorAlarm(bytes) {
1890
1908
  // src/schemas/file-system-driver/versioned.ts
1891
1909
  var CURRENT_VERSION = 1;
1892
1910
  var migrations = /* @__PURE__ */ new Map();
1893
- var ACTOR_STATE_VERSIONED = _chunk7OOBMCQIcjs.createVersionedDataHandler.call(void 0, {
1911
+ var ACTOR_STATE_VERSIONED = _chunkSOC4HWCGcjs.createVersionedDataHandler.call(void 0, {
1894
1912
  currentVersion: CURRENT_VERSION,
1895
1913
  migrations,
1896
1914
  serializeVersion: (data) => encodeActorState(data),
1897
1915
  deserializeVersion: (bytes) => decodeActorState(bytes)
1898
1916
  });
1899
- var ACTOR_ALARM_VERSIONED = _chunk7OOBMCQIcjs.createVersionedDataHandler.call(void 0, {
1917
+ var ACTOR_ALARM_VERSIONED = _chunkSOC4HWCGcjs.createVersionedDataHandler.call(void 0, {
1900
1918
  currentVersion: CURRENT_VERSION,
1901
1919
  migrations,
1902
1920
  serializeVersion: (data) => encodeActorAlarm(data),
@@ -1905,7 +1923,7 @@ var ACTOR_ALARM_VERSIONED = _chunk7OOBMCQIcjs.createVersionedDataHandler.call(vo
1905
1923
 
1906
1924
  // src/drivers/file-system/log.ts
1907
1925
  function logger5() {
1908
- return _chunkETDWYT2Pcjs.getLogger.call(void 0, "driver-fs");
1926
+ return _chunkDL7TPF63cjs.getLogger.call(void 0, "driver-fs");
1909
1927
  }
1910
1928
 
1911
1929
  // src/drivers/file-system/utils.ts
@@ -2075,7 +2093,7 @@ var FileSystemGlobalState = class {
2075
2093
  name,
2076
2094
  key,
2077
2095
  createdAt: BigInt(Date.now()),
2078
- persistedData: _chunkLXAVET4Acjs.bufferToArrayBuffer.call(void 0, _chunk7OOBMCQIcjs.serializeEmptyPersistData.call(void 0, input))
2096
+ persistedData: _chunkU2IXX6DYcjs.bufferToArrayBuffer.call(void 0, _chunkSOC4HWCGcjs.serializeEmptyPersistData.call(void 0, input))
2079
2097
  };
2080
2098
  await this.writeActor(actorId, entry.state);
2081
2099
  return entry;
@@ -2123,7 +2141,7 @@ var FileSystemGlobalState = class {
2123
2141
  name,
2124
2142
  key,
2125
2143
  createdAt: BigInt(Date.now()),
2126
- persistedData: _chunkLXAVET4Acjs.bufferToArrayBuffer.call(void 0, _chunk7OOBMCQIcjs.serializeEmptyPersistData.call(void 0, input))
2144
+ persistedData: _chunkU2IXX6DYcjs.bufferToArrayBuffer.call(void 0, _chunkSOC4HWCGcjs.serializeEmptyPersistData.call(void 0, input))
2127
2145
  };
2128
2146
  await this.writeActor(actorId, entry.state);
2129
2147
  }
@@ -2247,9 +2265,9 @@ var FileSystemGlobalState = class {
2247
2265
  if (entry.actor) {
2248
2266
  return entry.actor;
2249
2267
  }
2250
- entry.startPromise = _chunkLXAVET4Acjs.promiseWithResolvers.call(void 0, );
2268
+ entry.startPromise = _chunkU2IXX6DYcjs.promiseWithResolvers.call(void 0, );
2251
2269
  try {
2252
- const definition = _chunkNUA6LOOJcjs.lookupInRegistry.call(void 0, registryConfig, entry.state.name);
2270
+ const definition = _chunk4PSLOAXRcjs.lookupInRegistry.call(void 0, registryConfig, entry.state.name);
2253
2271
  entry.actor = definition.instantiate();
2254
2272
  await entry.actor.start(
2255
2273
  actorDriver,
@@ -2309,7 +2327,7 @@ var FileSystemGlobalState = class {
2309
2327
  logger5().error({
2310
2328
  msg: "failed to read alarm file",
2311
2329
  file,
2312
- error: _chunkLXAVET4Acjs.stringifyError.call(void 0, err)
2330
+ error: _chunkU2IXX6DYcjs.stringifyError.call(void 0, err)
2313
2331
  });
2314
2332
  }
2315
2333
  }
@@ -2336,7 +2354,7 @@ var FileSystemGlobalState = class {
2336
2354
  (_a = entry.alarmTimeout) == null ? void 0 : _a.abort();
2337
2355
  entry.alarmTimestamp = timestamp;
2338
2356
  const delay = Math.max(0, timestamp - Date.now());
2339
- entry.alarmTimeout = _chunkLXAVET4Acjs.setLongTimeout.call(void 0, async () => {
2357
+ entry.alarmTimeout = _chunkU2IXX6DYcjs.setLongTimeout.call(void 0, async () => {
2340
2358
  entry.alarmTimestamp = void 0;
2341
2359
  if (this.#persist) {
2342
2360
  try {
@@ -2346,7 +2364,7 @@ var FileSystemGlobalState = class {
2346
2364
  logger5().debug({
2347
2365
  msg: "failed to remove alarm file",
2348
2366
  actorId,
2349
- error: _chunkLXAVET4Acjs.stringifyError.call(void 0, err)
2367
+ error: _chunkU2IXX6DYcjs.stringifyError.call(void 0, err)
2350
2368
  });
2351
2369
  }
2352
2370
  }
@@ -2372,7 +2390,7 @@ var FileSystemGlobalState = class {
2372
2390
  logger5().error({
2373
2391
  msg: "failed to handle alarm",
2374
2392
  actorId,
2375
- error: _chunkLXAVET4Acjs.stringifyError.call(void 0, err)
2393
+ error: _chunkU2IXX6DYcjs.stringifyError.call(void 0, err)
2376
2394
  });
2377
2395
  }
2378
2396
  }, delay);
@@ -2382,7 +2400,7 @@ var FileSystemGlobalState = class {
2382
2400
  if (fsSync2.existsSync(tokenPath)) {
2383
2401
  return fsSync2.readFileSync(tokenPath, "utf-8");
2384
2402
  }
2385
- const newToken = _chunkNDCVQZBScjs.generateRandomString.call(void 0, );
2403
+ const newToken = _chunkSDXTJDDRcjs.generateRandomString.call(void 0, );
2386
2404
  fsSync2.writeFileSync(tokenPath, newToken);
2387
2405
  return newToken;
2388
2406
  }
@@ -2444,10 +2462,10 @@ function createManagerInspectorRouter() {
2444
2462
  });
2445
2463
  return c.json(actors, 200);
2446
2464
  } catch (error) {
2447
- _chunk4EXJ4ITRcjs.inspectorLogger.call(void 0, ).error({ msg: "Failed to fetch actors", error });
2465
+ _chunkQGRYH6TUcjs.inspectorLogger.call(void 0, ).error({ msg: "Failed to fetch actors", error });
2448
2466
  return c.json("Failed to fetch actors", 500);
2449
2467
  }
2450
- }).post("/actors", _standardvalidator.sValidator.call(void 0, "json", _chunkOSK2VSJFcjs.CreateActorSchema), async (c) => {
2468
+ }).post("/actors", _standardvalidator.sValidator.call(void 0, "json", _chunk2MJYYF2Qcjs.CreateActorSchema), async (c) => {
2451
2469
  const actor2 = await c.var.inspector.accessors.createActor(
2452
2470
  c.req.valid("json")
2453
2471
  );
@@ -2473,7 +2491,7 @@ var ManagerInspector = class {
2473
2491
 
2474
2492
  constructor(accessors) {
2475
2493
  this.accessors = accessors();
2476
- _chunk4EXJ4ITRcjs.inspectorLogger.call(void 0, ).debug({ msg: "Manager Inspector enabled and ready" });
2494
+ _chunkQGRYH6TUcjs.inspectorLogger.call(void 0, ).debug({ msg: "Manager Inspector enabled and ready" });
2477
2495
  }
2478
2496
  };
2479
2497
 
@@ -2548,14 +2566,18 @@ var FileSystemManagerDriver = class {
2548
2566
  };
2549
2567
  });
2550
2568
  }
2551
- const inlineClient = _chunkNUA6LOOJcjs.createClientWithDriver.call(void 0, this);
2569
+ const inlineClient = _chunk4PSLOAXRcjs.createClientWithDriver.call(void 0, this);
2552
2570
  this.#actorDriver = this.#driverConfig.actor(
2553
2571
  registryConfig,
2554
2572
  runConfig,
2555
2573
  this,
2556
2574
  inlineClient
2557
2575
  );
2558
- this.#actorRouter = createActorRouter(this.#runConfig, this.#actorDriver);
2576
+ this.#actorRouter = createActorRouter(
2577
+ this.#runConfig,
2578
+ this.#actorDriver,
2579
+ registryConfig.test.enabled
2580
+ );
2559
2581
  }
2560
2582
  async sendRequest(actorId, actorRequest) {
2561
2583
  return await this.#actorRouter.fetch(actorRequest, {
@@ -2565,7 +2587,7 @@ var FileSystemManagerDriver = class {
2565
2587
  async openWebSocket(path3, actorId, encoding, params, connId, connToken) {
2566
2588
  const pathOnly = path3.split("?")[0];
2567
2589
  const normalizedPath = pathOnly.startsWith("/") ? pathOnly : `/${pathOnly}`;
2568
- if (normalizedPath === _chunkNDCVQZBScjs.PATH_CONNECT_WEBSOCKET) {
2590
+ if (normalizedPath === _chunkSDXTJDDRcjs.PATH_CONNECT_WEBSOCKET) {
2569
2591
  const wsHandler = await handleWebSocketConnect(
2570
2592
  void 0,
2571
2593
  this.#runConfig,
@@ -2577,7 +2599,7 @@ var FileSystemManagerDriver = class {
2577
2599
  connToken
2578
2600
  );
2579
2601
  return new InlineWebSocketAdapter2(wsHandler);
2580
- } else if (normalizedPath.startsWith(_chunkNDCVQZBScjs.PATH_RAW_WEBSOCKET_PREFIX) || normalizedPath === "/raw/websocket") {
2602
+ } else if (normalizedPath.startsWith(_chunkSDXTJDDRcjs.PATH_RAW_WEBSOCKET_PREFIX) || normalizedPath === "/raw/websocket") {
2581
2603
  const wsHandler = await handleRawWebSocketHandler(
2582
2604
  void 0,
2583
2605
  path3,
@@ -2600,7 +2622,7 @@ var FileSystemManagerDriver = class {
2600
2622
  _invariant2.default.call(void 0, upgradeWebSocket, "missing getUpgradeWebSocket");
2601
2623
  const pathOnly = path3.split("?")[0];
2602
2624
  const normalizedPath = pathOnly.startsWith("/") ? pathOnly : `/${pathOnly}`;
2603
- if (normalizedPath === _chunkNDCVQZBScjs.PATH_CONNECT_WEBSOCKET) {
2625
+ if (normalizedPath === _chunkSDXTJDDRcjs.PATH_CONNECT_WEBSOCKET) {
2604
2626
  const wsHandler = await handleWebSocketConnect(
2605
2627
  c.req.raw,
2606
2628
  this.#runConfig,
@@ -2611,15 +2633,15 @@ var FileSystemManagerDriver = class {
2611
2633
  connId,
2612
2634
  connToken
2613
2635
  );
2614
- return upgradeWebSocket(() => wsHandler)(c, _chunkLXAVET4Acjs.noopNext.call(void 0, ));
2615
- } else if (normalizedPath.startsWith(_chunkNDCVQZBScjs.PATH_RAW_WEBSOCKET_PREFIX) || normalizedPath === "/raw/websocket") {
2636
+ return upgradeWebSocket(() => wsHandler)(c, _chunkU2IXX6DYcjs.noopNext.call(void 0, ));
2637
+ } else if (normalizedPath.startsWith(_chunkSDXTJDDRcjs.PATH_RAW_WEBSOCKET_PREFIX) || normalizedPath === "/raw/websocket") {
2616
2638
  const wsHandler = await handleRawWebSocketHandler(
2617
2639
  c.req.raw,
2618
2640
  path3,
2619
2641
  this.#actorDriver,
2620
2642
  actorId
2621
2643
  );
2622
- return upgradeWebSocket(() => wsHandler)(c, _chunkLXAVET4Acjs.noopNext.call(void 0, ));
2644
+ return upgradeWebSocket(() => wsHandler)(c, _chunkU2IXX6DYcjs.noopNext.call(void 0, ));
2623
2645
  } else {
2624
2646
  throw new Error(`Unreachable path: ${path3}`);
2625
2647
  }
@@ -2742,7 +2764,7 @@ function chooseDefaultDriver(runConfig) {
2742
2764
  return runConfig.driver;
2743
2765
  }
2744
2766
  if (runConfig.endpoint) {
2745
- _chunkNDCVQZBScjs.loggerWithoutContext.call(void 0, ).debug({
2767
+ _chunkSDXTJDDRcjs.loggerWithoutContext.call(void 0, ).debug({
2746
2768
  msg: "using rivet engine driver",
2747
2769
  endpoint: runConfig.endpoint
2748
2770
  });
@@ -2751,7 +2773,7 @@ function chooseDefaultDriver(runConfig) {
2751
2773
  token: runConfig.token
2752
2774
  });
2753
2775
  }
2754
- _chunkNDCVQZBScjs.loggerWithoutContext.call(void 0, ).debug({ msg: "using default file system driver" });
2776
+ _chunkSDXTJDDRcjs.loggerWithoutContext.call(void 0, ).debug({ msg: "using default file system driver" });
2755
2777
  return createFileSystemOrMemoryDriver(true);
2756
2778
  }
2757
2779
 
@@ -2762,7 +2784,6 @@ var _zodopenapi = require('@hono/zod-openapi');
2762
2784
 
2763
2785
 
2764
2786
 
2765
- var _factory = require('hono/factory');
2766
2787
 
2767
2788
 
2768
2789
 
@@ -2838,20 +2859,20 @@ async function handleWebSocketGateway(runConfig, managerDriver, c) {
2838
2859
  if (protocols) {
2839
2860
  const protocolList = protocols.split(",").map((p) => p.trim());
2840
2861
  for (const protocol of protocolList) {
2841
- if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_TARGET)) {
2842
- target = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_TARGET.length);
2843
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_ACTOR)) {
2844
- actorId = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_ACTOR.length);
2845
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_ENCODING)) {
2846
- encodingRaw = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_ENCODING.length);
2847
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_PARAMS)) {
2862
+ if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_TARGET)) {
2863
+ target = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_TARGET.length);
2864
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_ACTOR)) {
2865
+ actorId = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_ACTOR.length);
2866
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_ENCODING)) {
2867
+ encodingRaw = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_ENCODING.length);
2868
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_PARAMS)) {
2848
2869
  connParamsRaw = decodeURIComponent(
2849
- protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_PARAMS.length)
2870
+ protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_PARAMS.length)
2850
2871
  );
2851
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_ID)) {
2852
- connIdRaw = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_ID.length);
2853
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_TOKEN)) {
2854
- connTokenRaw = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_TOKEN.length);
2872
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_ID)) {
2873
+ connIdRaw = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_ID.length);
2874
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_TOKEN)) {
2875
+ connTokenRaw = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_TOKEN.length);
2855
2876
  }
2856
2877
  }
2857
2878
  }
@@ -2882,8 +2903,8 @@ async function handleWebSocketGateway(runConfig, managerDriver, c) {
2882
2903
  );
2883
2904
  }
2884
2905
  async function handleHttpGateway(managerDriver, c, next) {
2885
- const target = c.req.header(_chunkNDCVQZBScjs.HEADER_RIVET_TARGET);
2886
- const actorId = c.req.header(_chunkNDCVQZBScjs.HEADER_RIVET_ACTOR);
2906
+ const target = c.req.header(_chunkSDXTJDDRcjs.HEADER_RIVET_TARGET);
2907
+ const actorId = c.req.header(_chunkSDXTJDDRcjs.HEADER_RIVET_ACTOR);
2887
2908
  if (target !== "actor") {
2888
2909
  return next();
2889
2910
  }
@@ -2897,8 +2918,8 @@ async function handleHttpGateway(managerDriver, c, next) {
2897
2918
  method: c.req.method
2898
2919
  });
2899
2920
  const proxyHeaders = new Headers(c.req.raw.headers);
2900
- proxyHeaders.delete(_chunkNDCVQZBScjs.HEADER_RIVET_TARGET);
2901
- proxyHeaders.delete(_chunkNDCVQZBScjs.HEADER_RIVET_ACTOR);
2921
+ proxyHeaders.delete(_chunkSDXTJDDRcjs.HEADER_RIVET_TARGET);
2922
+ proxyHeaders.delete(_chunkSDXTJDDRcjs.HEADER_RIVET_ACTOR);
2902
2923
  const url = new URL(c.req.url);
2903
2924
  const proxyUrl = new URL(`http://actor${url.pathname}${url.search}`);
2904
2925
  const proxyRequest = new Request(proxyUrl, {
@@ -2915,7 +2936,7 @@ async function createTestWebSocketProxy(clientWsPromise) {
2915
2936
  promise: serverWsPromise,
2916
2937
  resolve: serverWsResolve,
2917
2938
  reject: serverWsReject
2918
- } = _chunkLXAVET4Acjs.promiseWithResolvers.call(void 0, );
2939
+ } = _chunkU2IXX6DYcjs.promiseWithResolvers.call(void 0, );
2919
2940
  try {
2920
2941
  logger().debug({ msg: "awaiting client websocket promise" });
2921
2942
  const ws = await clientWsPromise;
@@ -3105,45 +3126,62 @@ function createManagerRouter(registryConfig, runConfig, managerDriver, serverles
3105
3126
  runConfig.basePath
3106
3127
  );
3107
3128
  router.use("*", loggerMiddleware(logger()));
3108
- const cors2 = runConfig.cors ? _cors.cors.call(void 0, runConfig.cors) : _factory.createMiddleware.call(void 0, (_c, next) => next());
3109
3129
  if (serverlessActorDriverBuilder) {
3110
- addServerlessRoutes(serverlessActorDriverBuilder, router, cors2);
3130
+ addServerlessRoutes(runConfig, serverlessActorDriverBuilder, router);
3111
3131
  } else {
3112
- addManagerRoutes(registryConfig, runConfig, managerDriver, router, cors2);
3132
+ addManagerRoutes(registryConfig, runConfig, managerDriver, router);
3113
3133
  }
3114
3134
  router.notFound(handleRouteNotFound);
3115
3135
  router.onError(handleRouteError);
3116
- return { router, openapi: router, cors: cors2 };
3136
+ return { router, openapi: router };
3117
3137
  }
3118
- function addServerlessRoutes(serverlessActorDriverBuilder, router, cors2) {
3119
- router.get("/", cors2, (c) => {
3138
+ function addServerlessRoutes(runConfig, serverlessActorDriverBuilder, router) {
3139
+ if (runConfig.cors) router.use("*", _cors.cors.call(void 0, runConfig.cors));
3140
+ router.get("/", (c) => {
3120
3141
  return c.text(
3121
3142
  "This is a RivetKit server.\n\nLearn more at https://rivetkit.org"
3122
3143
  );
3123
3144
  });
3124
- router.get("/start", cors2, async (c) => {
3125
- const actorDriver = serverlessActorDriverBuilder();
3145
+ router.get("/start", async (c) => {
3146
+ const token = c.req.header("x-rivet-token");
3147
+ let totalSlots = parseInt(
3148
+ c.req.header("x-rivetkit-total-slots")
3149
+ );
3150
+ if (isNaN(totalSlots)) totalSlots = void 0;
3151
+ const actorDriver = serverlessActorDriverBuilder(token, totalSlots);
3126
3152
  _invariant2.default.call(void 0,
3127
3153
  actorDriver.serverlessHandleStart,
3128
3154
  "missing serverlessHandleStart on ActorDriver"
3129
3155
  );
3130
3156
  return await actorDriver.serverlessHandleStart(c);
3131
3157
  });
3132
- router.get("/health", cors2, (c) => {
3158
+ router.get("/health", (c) => {
3133
3159
  return c.text("ok");
3134
3160
  });
3135
3161
  }
3136
- function addManagerRoutes(registryConfig, runConfig, managerDriver, router, cors2) {
3162
+ function addManagerRoutes(registryConfig, runConfig, managerDriver, router) {
3137
3163
  var _a;
3138
- router.use("*", cors2, actorGateway.bind(void 0, runConfig, managerDriver));
3139
- router.get("/", cors2, (c) => {
3164
+ if (_chunkQGRYH6TUcjs.isInspectorEnabled.call(void 0, runConfig, "manager")) {
3165
+ if (!managerDriver.inspector) {
3166
+ throw new (0, _chunk5QGQK44Lcjs.Unsupported)("inspector");
3167
+ }
3168
+ router.route(
3169
+ "/inspect",
3170
+ new (0, _hono.Hono)().use(_cors.cors.call(void 0, runConfig.inspector.cors)).use(_chunkQGRYH6TUcjs.secureInspector.call(void 0, runConfig)).use((c, next) => {
3171
+ c.set("inspector", managerDriver.inspector);
3172
+ return next();
3173
+ }).route("/", createManagerInspectorRouter())
3174
+ );
3175
+ }
3176
+ if (runConfig.cors) router.use("*", _cors.cors.call(void 0, runConfig.cors));
3177
+ router.use("*", actorGateway.bind(void 0, runConfig, managerDriver));
3178
+ router.get("/", (c) => {
3140
3179
  return c.text(
3141
3180
  "This is a RivetKit server.\n\nLearn more at https://rivetkit.org"
3142
3181
  );
3143
3182
  });
3144
3183
  {
3145
3184
  const route = _zodopenapi.createRoute.call(void 0, {
3146
- middleware: [cors2],
3147
3185
  method: "get",
3148
3186
  path: "/actors",
3149
3187
  request: {
@@ -3203,7 +3241,6 @@ function addManagerRoutes(registryConfig, runConfig, managerDriver, router, cors
3203
3241
  }
3204
3242
  {
3205
3243
  const route = _zodopenapi.createRoute.call(void 0, {
3206
- middleware: [cors2],
3207
3244
  method: "put",
3208
3245
  path: "/actors",
3209
3246
  request: {
@@ -3248,7 +3285,6 @@ function addManagerRoutes(registryConfig, runConfig, managerDriver, router, cors
3248
3285
  }
3249
3286
  {
3250
3287
  const route = _zodopenapi.createRoute.call(void 0, {
3251
- middleware: [cors2],
3252
3288
  method: "post",
3253
3289
  path: "/actors",
3254
3290
  request: {
@@ -3293,7 +3329,7 @@ function addManagerRoutes(registryConfig, runConfig, managerDriver, router, cors
3293
3329
  const output = await managerDriver[method](...args);
3294
3330
  response = { ok: output };
3295
3331
  } catch (rawErr) {
3296
- const err = _chunkLXAVET4Acjs.deconstructError.call(void 0, rawErr, logger(), {}, true);
3332
+ const err = _chunkU2IXX6DYcjs.deconstructError.call(void 0, rawErr, logger(), {}, true);
3297
3333
  response = { err };
3298
3334
  }
3299
3335
  return c.body(cbor4.encode(response));
@@ -3313,29 +3349,29 @@ function addManagerRoutes(registryConfig, runConfig, managerDriver, router, cors
3313
3349
  let connId;
3314
3350
  let connToken;
3315
3351
  for (const protocol of protocols) {
3316
- if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_ACTOR)) {
3317
- actorId = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_ACTOR.length);
3318
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_ENCODING)) {
3352
+ if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_ACTOR)) {
3353
+ actorId = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_ACTOR.length);
3354
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_ENCODING)) {
3319
3355
  encoding = protocol.substring(
3320
- _chunkNDCVQZBScjs.WS_PROTOCOL_ENCODING.length
3356
+ _chunkSDXTJDDRcjs.WS_PROTOCOL_ENCODING.length
3321
3357
  );
3322
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_TRANSPORT)) {
3358
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_TRANSPORT)) {
3323
3359
  transport = protocol.substring(
3324
- _chunkNDCVQZBScjs.WS_PROTOCOL_TRANSPORT.length
3360
+ _chunkSDXTJDDRcjs.WS_PROTOCOL_TRANSPORT.length
3325
3361
  );
3326
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_PATH)) {
3362
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_PATH)) {
3327
3363
  path3 = decodeURIComponent(
3328
- protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_PATH.length)
3364
+ protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_PATH.length)
3329
3365
  );
3330
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_PARAMS)) {
3366
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_PARAMS)) {
3331
3367
  const paramsRaw = decodeURIComponent(
3332
- protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_PARAMS.length)
3368
+ protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_PARAMS.length)
3333
3369
  );
3334
3370
  params = JSON.parse(paramsRaw);
3335
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_ID)) {
3336
- connId = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_ID.length);
3337
- } else if (protocol.startsWith(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_TOKEN)) {
3338
- connToken = protocol.substring(_chunkNDCVQZBScjs.WS_PROTOCOL_CONN_TOKEN.length);
3371
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_ID)) {
3372
+ connId = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_ID.length);
3373
+ } else if (protocol.startsWith(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_TOKEN)) {
3374
+ connToken = protocol.substring(_chunkSDXTJDDRcjs.WS_PROTOCOL_CONN_TOKEN.length);
3339
3375
  }
3340
3376
  }
3341
3377
  logger().debug({
@@ -3355,10 +3391,10 @@ function addManagerRoutes(registryConfig, runConfig, managerDriver, router, cors
3355
3391
  connToken
3356
3392
  );
3357
3393
  return await createTestWebSocketProxy(clientWsPromise);
3358
- })(c, _chunkLXAVET4Acjs.noopNext.call(void 0, ));
3394
+ })(c, _chunkU2IXX6DYcjs.noopNext.call(void 0, ));
3359
3395
  });
3360
3396
  router.all(".test/inline-driver/send-request/*", async (c) => {
3361
- const actorId = c.req.header(_chunkNDCVQZBScjs.HEADER_ACTOR_ID);
3397
+ const actorId = c.req.header(_chunkSDXTJDDRcjs.HEADER_ACTOR_ID);
3362
3398
  if (!actorId) {
3363
3399
  return c.text("Missing required headers", 400);
3364
3400
  }
@@ -3385,9 +3421,9 @@ function addManagerRoutes(registryConfig, runConfig, managerDriver, router, cors
3385
3421
  } catch (error) {
3386
3422
  logger().error({
3387
3423
  msg: "error in test inline raw http",
3388
- error: _chunkLXAVET4Acjs.stringifyError.call(void 0, error)
3424
+ error: _chunkU2IXX6DYcjs.stringifyError.call(void 0, error)
3389
3425
  });
3390
- const err = _chunkLXAVET4Acjs.deconstructError.call(void 0, error, logger(), {}, true);
3426
+ const err = _chunkU2IXX6DYcjs.deconstructError.call(void 0, error, logger(), {}, true);
3391
3427
  return c.json(
3392
3428
  {
3393
3429
  error: {
@@ -3429,13 +3465,13 @@ function addManagerRoutes(registryConfig, runConfig, managerDriver, router, cors
3429
3465
  } catch (error) {
3430
3466
  logger().error({
3431
3467
  msg: "error forcing disconnect",
3432
- error: _chunkLXAVET4Acjs.stringifyError.call(void 0, error)
3468
+ error: _chunkU2IXX6DYcjs.stringifyError.call(void 0, error)
3433
3469
  });
3434
3470
  return c.text(`Error: ${error}`, 500);
3435
3471
  }
3436
3472
  });
3437
3473
  }
3438
- router.get("/health", cors2, (c) => {
3474
+ router.get("/health", (c) => {
3439
3475
  return c.text("ok");
3440
3476
  });
3441
3477
  (_a = managerDriver.modifyManagerRouter) == null ? void 0 : _a.call(
@@ -3443,24 +3479,12 @@ function addManagerRoutes(registryConfig, runConfig, managerDriver, router, cors
3443
3479
  registryConfig,
3444
3480
  router
3445
3481
  );
3446
- if (_chunk4EXJ4ITRcjs.isInspectorEnabled.call(void 0, runConfig, "manager")) {
3447
- if (!managerDriver.inspector) {
3448
- throw new (0, _chunk5QGQK44Lcjs.Unsupported)("inspector");
3449
- }
3450
- router.route(
3451
- "/inspect",
3452
- new (0, _hono.Hono)().use(_cors.cors.call(void 0, runConfig.inspector.cors)).use(_chunk4EXJ4ITRcjs.secureInspector.call(void 0, runConfig)).use((c, next) => {
3453
- c.set("inspector", managerDriver.inspector);
3454
- return next();
3455
- }).route("/", createManagerInspectorRouter())
3456
- );
3457
- }
3458
3482
  }
3459
3483
  function createApiActor(actor2) {
3460
3484
  return {
3461
3485
  actor_id: actor2.actorId,
3462
3486
  name: actor2.name,
3463
- key: _chunkNUA6LOOJcjs.serializeActorKey.call(void 0, actor2.key),
3487
+ key: _chunk4PSLOAXRcjs.serializeActorKey.call(void 0, actor2.key),
3464
3488
  namespace_id: "default",
3465
3489
  // Assert default namespace
3466
3490
  runner_name_selector: "rivetkit",
@@ -3494,7 +3518,7 @@ var RegistryConfigSchema = _zod.z.object({
3494
3518
 
3495
3519
  // src/registry/log.ts
3496
3520
  function logger6() {
3497
- return _chunkETDWYT2Pcjs.getLogger.call(void 0, "registry");
3521
+ return _chunkDL7TPF63cjs.getLogger.call(void 0, "registry");
3498
3522
  }
3499
3523
 
3500
3524
  // src/registry/serve.ts
@@ -3554,11 +3578,11 @@ var Registry = class {
3554
3578
  */
3555
3579
  start(inputConfig) {
3556
3580
  var _a, _b, _c;
3557
- const config2 = _chunk7OOBMCQIcjs.RunConfigSchema.parse(inputConfig);
3581
+ const config2 = _chunkSOC4HWCGcjs.RunConfigSchema.parse(inputConfig);
3558
3582
  if ((_a = config2.logging) == null ? void 0 : _a.baseLogger) {
3559
- _chunkETDWYT2Pcjs.configureBaseLogger.call(void 0, config2.logging.baseLogger);
3583
+ _chunkDL7TPF63cjs.configureBaseLogger.call(void 0, config2.logging.baseLogger);
3560
3584
  } else {
3561
- _chunkETDWYT2Pcjs.configureDefaultLogger.call(void 0, (_b = config2.logging) == null ? void 0 : _b.level);
3585
+ _chunkDL7TPF63cjs.configureDefaultLogger.call(void 0, (_b = config2.logging) == null ? void 0 : _b.level);
3562
3586
  }
3563
3587
  const driver = chooseDefaultDriver(config2);
3564
3588
  if (driver.name === "engine") {
@@ -3576,8 +3600,8 @@ var Registry = class {
3576
3600
  config2.getUpgradeWebSocket = () => upgradeWebSocket;
3577
3601
  }
3578
3602
  const managerDriver = driver.manager(this.#config, config2);
3579
- _chunk4EXJ4ITRcjs.configureInspectorAccessToken.call(void 0, config2, managerDriver);
3580
- const client = _chunkNUA6LOOJcjs.createClientWithDriver.call(void 0, managerDriver, config2);
3603
+ _chunkQGRYH6TUcjs.configureInspectorAccessToken.call(void 0, config2, managerDriver);
3604
+ const client = _chunk4PSLOAXRcjs.createClientWithDriver.call(void 0, managerDriver, config2);
3581
3605
  const driverLog = _nullishCoalesce(((_c = managerDriver.extraStartupLog) == null ? void 0 : _c.call(managerDriver)), () => ( {}));
3582
3606
  logger6().info({
3583
3607
  msg: "rivetkit ready",
@@ -3585,20 +3609,20 @@ var Registry = class {
3585
3609
  definitions: Object.keys(this.#config.use).length,
3586
3610
  ...driverLog
3587
3611
  });
3588
- if (_chunk4EXJ4ITRcjs.isInspectorEnabled.call(void 0, config2, "manager") && managerDriver.inspector) {
3589
- logger6().info({ msg: "inspector ready", url: _chunk4EXJ4ITRcjs.getInspectorUrl.call(void 0, config2) });
3612
+ if (_chunkQGRYH6TUcjs.isInspectorEnabled.call(void 0, config2, "manager") && managerDriver.inspector) {
3613
+ logger6().info({ msg: "inspector ready", url: _chunkQGRYH6TUcjs.getInspectorUrl.call(void 0, config2) });
3590
3614
  }
3591
3615
  if (!config2.noWelcome) {
3592
3616
  const displayInfo = managerDriver.displayInformation();
3593
3617
  console.log();
3594
- console.log(` RivetKit ${_chunkLXAVET4Acjs.package_default.version} (${displayInfo.name})`);
3618
+ console.log(` RivetKit ${_chunkU2IXX6DYcjs.package_default.version} (${displayInfo.name})`);
3595
3619
  console.log(` - Endpoint: http://127.0.0.1:6420`);
3596
3620
  for (const [k, v] of Object.entries(displayInfo.properties)) {
3597
3621
  const padding = " ".repeat(Math.max(0, 13 - k.length));
3598
3622
  console.log(` - ${k}:${padding}${v}`);
3599
3623
  }
3600
- if (_chunk4EXJ4ITRcjs.isInspectorEnabled.call(void 0, config2, "manager") && managerDriver.inspector) {
3601
- console.log(` - Inspector: ${_chunk4EXJ4ITRcjs.getInspectorUrl.call(void 0, config2)}`);
3624
+ if (_chunkQGRYH6TUcjs.isInspectorEnabled.call(void 0, config2, "manager") && managerDriver.inspector) {
3625
+ console.log(` - Inspector: ${_chunkQGRYH6TUcjs.getInspectorUrl.call(void 0, config2)}`);
3602
3626
  }
3603
3627
  console.log();
3604
3628
  }
@@ -3629,11 +3653,11 @@ var Registry = class {
3629
3653
  }
3630
3654
  startServerless(inputConfig) {
3631
3655
  var _a, _b, _c, _d, _e;
3632
- const config2 = _chunk7OOBMCQIcjs.RunConfigSchema.parse(inputConfig);
3656
+ const config2 = _chunkSOC4HWCGcjs.RunConfigSchema.parse(inputConfig);
3633
3657
  if ((_a = config2.logging) == null ? void 0 : _a.baseLogger) {
3634
- _chunkETDWYT2Pcjs.configureBaseLogger.call(void 0, config2.logging.baseLogger);
3658
+ _chunkDL7TPF63cjs.configureBaseLogger.call(void 0, config2.logging.baseLogger);
3635
3659
  } else {
3636
- _chunkETDWYT2Pcjs.configureDefaultLogger.call(void 0, (_b = config2.logging) == null ? void 0 : _b.level);
3660
+ _chunkDL7TPF63cjs.configureDefaultLogger.call(void 0, (_b = config2.logging) == null ? void 0 : _b.level);
3637
3661
  }
3638
3662
  const driver = chooseDefaultDriver(config2);
3639
3663
  if (driver.name === "engine") {
@@ -3652,7 +3676,7 @@ var Registry = class {
3652
3676
  config2.getUpgradeWebSocket = () => upgradeWebSocket;
3653
3677
  }
3654
3678
  const managerDriver = driver.manager(this.#config, config2);
3655
- const client = _chunkNUA6LOOJcjs.createClientWithDriver.call(void 0, managerDriver, config2);
3679
+ const client = _chunk4PSLOAXRcjs.createClientWithDriver.call(void 0, managerDriver, config2);
3656
3680
  const driverLog = _nullishCoalesce(((_c = managerDriver.extraStartupLog) == null ? void 0 : _c.call(managerDriver)), () => ( {}));
3657
3681
  logger6().info({
3658
3682
  msg: "rivetkit ready",
@@ -3661,23 +3685,25 @@ var Registry = class {
3661
3685
  ...driverLog
3662
3686
  });
3663
3687
  if (((_d = config2.inspector) == null ? void 0 : _d.enabled) && managerDriver.inspector) {
3664
- logger6().info({ msg: "inspector ready", url: _chunk4EXJ4ITRcjs.getInspectorUrl.call(void 0, config2) });
3688
+ logger6().info({ msg: "inspector ready", url: _chunkQGRYH6TUcjs.getInspectorUrl.call(void 0, config2) });
3665
3689
  }
3666
3690
  if (!config2.noWelcome) {
3667
3691
  const displayInfo = managerDriver.displayInformation();
3668
3692
  console.log();
3669
- console.log(` RivetKit ${_chunkLXAVET4Acjs.package_default.version} (${displayInfo.name})`);
3693
+ console.log(` RivetKit ${_chunkU2IXX6DYcjs.package_default.version} (${displayInfo.name})`);
3670
3694
  console.log(` - Endpoint: http://127.0.0.1:6420`);
3671
3695
  for (const [k, v] of Object.entries(displayInfo.properties)) {
3672
3696
  const padding = " ".repeat(Math.max(0, 13 - k.length));
3673
3697
  console.log(` - ${k}:${padding}${v}`);
3674
3698
  }
3675
3699
  if (((_e = config2.inspector) == null ? void 0 : _e.enabled) && managerDriver.inspector) {
3676
- console.log(` - Inspector: ${_chunk4EXJ4ITRcjs.getInspectorUrl.call(void 0, config2)}`);
3700
+ console.log(` - Inspector: ${_chunkQGRYH6TUcjs.getInspectorUrl.call(void 0, config2)}`);
3677
3701
  }
3678
3702
  console.log();
3679
3703
  }
3680
- let serverlessActorDriverBuilder = () => {
3704
+ let serverlessActorDriverBuilder = (token, totalSlots) => {
3705
+ if (token) config2.token = token;
3706
+ if (totalSlots) config2.totalSlots = totalSlots;
3681
3707
  return driver.actor(this.#config, config2, managerDriver, client);
3682
3708
  };
3683
3709
  if (!config2.disableActorDriver) {
@@ -3723,4 +3749,4 @@ function setup(input) {
3723
3749
 
3724
3750
  exports.handleWebSocketConnect = handleWebSocketConnect; exports.handleRawWebSocketHandler = handleRawWebSocketHandler; exports.createActorRouter = createActorRouter; exports.actor = actor; exports.InlineWebSocketAdapter2 = InlineWebSocketAdapter2; exports.createEngineDriver = createEngineDriver; exports.createFileSystemOrMemoryDriver = createFileSystemOrMemoryDriver; exports.createFileSystemDriver = createFileSystemDriver; exports.createMemoryDriver = createMemoryDriver; exports.createManagerRouter = createManagerRouter; exports.RegistryConfigSchema = RegistryConfigSchema; exports.Registry = Registry; exports.setup = setup;
3725
3751
  //! These configs configs hold anything that's not platform-specific about running actors.
3726
- //# sourceMappingURL=chunk-F7YL5G7Q.cjs.map
3752
+ //# sourceMappingURL=chunk-4YV6RDZL.cjs.map