rivetkit 2.0.22-rc.1 → 2.0.22

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 (124) hide show
  1. package/dist/schemas/actor-persist/v2.ts +259 -0
  2. package/dist/tsup/{chunk-LCQDY73V.cjs → chunk-2GJILCGQ.cjs} +3 -3
  3. package/dist/tsup/{chunk-LCQDY73V.cjs.map → chunk-2GJILCGQ.cjs.map} +1 -1
  4. package/dist/tsup/{chunk-JN6GPVFY.js → chunk-2K2LR56Q.js} +3 -3
  5. package/dist/tsup/{chunk-EEXX243L.js → chunk-2WVCZCJL.js} +6 -6
  6. package/dist/tsup/{chunk-FETQGZN4.js → chunk-3BJJSSTM.js} +272 -89
  7. package/dist/tsup/chunk-3BJJSSTM.js.map +1 -0
  8. package/dist/tsup/{chunk-ZZYMCYAY.cjs → chunk-3LFMVAJV.cjs} +14 -14
  9. package/dist/tsup/{chunk-ZZYMCYAY.cjs.map → chunk-3LFMVAJV.cjs.map} +1 -1
  10. package/dist/tsup/{chunk-NDLOG2JH.js → chunk-6YQKMAMV.js} +2 -2
  11. package/dist/tsup/{chunk-C2U6KGOG.cjs → chunk-AR4S2QJ7.cjs} +3 -3
  12. package/dist/tsup/{chunk-C2U6KGOG.cjs.map → chunk-AR4S2QJ7.cjs.map} +1 -1
  13. package/dist/tsup/{chunk-PELXJCJS.cjs → chunk-B4QZKOMH.cjs} +8 -8
  14. package/dist/tsup/{chunk-PELXJCJS.cjs.map → chunk-B4QZKOMH.cjs.map} +1 -1
  15. package/dist/tsup/{chunk-5EB77IQ2.cjs → chunk-CYA35VI3.cjs} +6 -6
  16. package/dist/tsup/{chunk-5EB77IQ2.cjs.map → chunk-CYA35VI3.cjs.map} +1 -1
  17. package/dist/tsup/{chunk-UBCUW7HD.js → chunk-D7AA2DK5.js} +2 -2
  18. package/dist/tsup/{chunk-I7EJWHYV.js → chunk-EBSGEDD3.js} +51 -47
  19. package/dist/tsup/chunk-EBSGEDD3.js.map +1 -0
  20. package/dist/tsup/{chunk-R6XOZKMU.cjs → chunk-HSO2H2SB.cjs} +467 -284
  21. package/dist/tsup/chunk-HSO2H2SB.cjs.map +1 -0
  22. package/dist/tsup/{chunk-VJLGVVGP.cjs → chunk-HZ4ZM3FL.cjs} +31 -12
  23. package/dist/tsup/chunk-HZ4ZM3FL.cjs.map +1 -0
  24. package/dist/tsup/{chunk-7FEMVD3D.cjs → chunk-LMZSOCYD.cjs} +12 -12
  25. package/dist/tsup/{chunk-7FEMVD3D.cjs.map → chunk-LMZSOCYD.cjs.map} +1 -1
  26. package/dist/tsup/{chunk-ZVEDMBFT.js → chunk-PBFLG45S.js} +3 -3
  27. package/dist/tsup/{chunk-GJPOIJHZ.js → chunk-ST6FGRCH.js} +26 -7
  28. package/dist/tsup/chunk-ST6FGRCH.js.map +1 -0
  29. package/dist/tsup/{chunk-BIOPK7IB.cjs → chunk-TI72NLP3.cjs} +71 -67
  30. package/dist/tsup/chunk-TI72NLP3.cjs.map +1 -0
  31. package/dist/tsup/{chunk-RPI45FGS.js → chunk-TQ4OAC2G.js} +2 -2
  32. package/dist/tsup/{chunk-4B25D5OW.js → chunk-UB4OHFDW.js} +385 -104
  33. package/dist/tsup/chunk-UB4OHFDW.js.map +1 -0
  34. package/dist/tsup/{chunk-6Z3YA6QR.cjs → chunk-V6C34TVH.cjs} +35 -15
  35. package/dist/tsup/chunk-V6C34TVH.cjs.map +1 -0
  36. package/dist/tsup/{chunk-OAB7ECAB.cjs → chunk-WVUAO2F7.cjs} +558 -277
  37. package/dist/tsup/chunk-WVUAO2F7.cjs.map +1 -0
  38. package/dist/tsup/{chunk-JKNDUKFI.js → chunk-WWAZJHTS.js} +36 -16
  39. package/dist/tsup/chunk-WWAZJHTS.js.map +1 -0
  40. package/dist/tsup/client/mod.cjs +9 -9
  41. package/dist/tsup/client/mod.d.cts +2 -2
  42. package/dist/tsup/client/mod.d.ts +2 -2
  43. package/dist/tsup/client/mod.js +8 -8
  44. package/dist/tsup/common/log.cjs +3 -3
  45. package/dist/tsup/common/log.js +2 -2
  46. package/dist/tsup/common/websocket.cjs +4 -4
  47. package/dist/tsup/common/websocket.js +3 -3
  48. package/dist/tsup/{conn-Clu655RU.d.ts → conn-BYXlxnh0.d.ts} +111 -102
  49. package/dist/tsup/{conn-lUvFLo_q.d.cts → conn-BiazosE_.d.cts} +111 -102
  50. package/dist/tsup/driver-helpers/mod.cjs +5 -5
  51. package/dist/tsup/driver-helpers/mod.d.cts +1 -1
  52. package/dist/tsup/driver-helpers/mod.d.ts +1 -1
  53. package/dist/tsup/driver-helpers/mod.js +4 -4
  54. package/dist/tsup/driver-test-suite/mod.cjs +71 -71
  55. package/dist/tsup/driver-test-suite/mod.d.cts +1 -1
  56. package/dist/tsup/driver-test-suite/mod.d.ts +1 -1
  57. package/dist/tsup/driver-test-suite/mod.js +11 -11
  58. package/dist/tsup/inspector/mod.cjs +6 -6
  59. package/dist/tsup/inspector/mod.d.cts +2 -2
  60. package/dist/tsup/inspector/mod.d.ts +2 -2
  61. package/dist/tsup/inspector/mod.js +5 -5
  62. package/dist/tsup/mod.cjs +10 -10
  63. package/dist/tsup/mod.d.cts +3 -3
  64. package/dist/tsup/mod.d.ts +3 -3
  65. package/dist/tsup/mod.js +9 -9
  66. package/dist/tsup/test/mod.cjs +11 -11
  67. package/dist/tsup/test/mod.d.cts +1 -1
  68. package/dist/tsup/test/mod.d.ts +1 -1
  69. package/dist/tsup/test/mod.js +10 -10
  70. package/dist/tsup/utils.cjs +8 -2
  71. package/dist/tsup/utils.cjs.map +1 -1
  72. package/dist/tsup/utils.d.cts +8 -1
  73. package/dist/tsup/utils.d.ts +8 -1
  74. package/dist/tsup/utils.js +7 -1
  75. package/package.json +5 -4
  76. package/src/actor/config.ts +10 -0
  77. package/src/actor/conn-drivers.ts +43 -1
  78. package/src/actor/conn-socket.ts +1 -1
  79. package/src/actor/conn.ts +22 -2
  80. package/src/actor/context.ts +1 -1
  81. package/src/actor/driver.ts +13 -2
  82. package/src/actor/instance.ts +248 -57
  83. package/src/actor/persisted.ts +7 -0
  84. package/src/actor/router-endpoints.ts +67 -45
  85. package/src/actor/router.ts +25 -17
  86. package/src/client/actor-conn.ts +9 -5
  87. package/src/common/cors.ts +57 -0
  88. package/src/common/log.ts +26 -5
  89. package/src/common/utils.ts +5 -9
  90. package/src/common/websocket-interface.ts +10 -0
  91. package/src/driver-helpers/utils.ts +1 -0
  92. package/src/drivers/engine/actor-driver.ts +261 -14
  93. package/src/drivers/engine/config.ts +2 -4
  94. package/src/drivers/file-system/actor.ts +3 -2
  95. package/src/drivers/file-system/global-state.ts +1 -1
  96. package/src/drivers/file-system/manager.ts +3 -0
  97. package/src/engine-process/mod.ts +22 -4
  98. package/src/inspector/config.ts +0 -45
  99. package/src/manager/gateway.ts +45 -32
  100. package/src/manager/hono-websocket-adapter.ts +31 -3
  101. package/src/manager/router.ts +11 -17
  102. package/src/registry/run-config.ts +2 -8
  103. package/src/remote-manager-driver/actor-http-client.ts +5 -8
  104. package/src/remote-manager-driver/actor-websocket-client.ts +2 -14
  105. package/src/remote-manager-driver/mod.ts +0 -1
  106. package/src/schemas/actor-persist/mod.ts +1 -1
  107. package/src/schemas/actor-persist/versioned.ts +22 -10
  108. package/src/utils.ts +26 -0
  109. package/dist/tsup/chunk-4B25D5OW.js.map +0 -1
  110. package/dist/tsup/chunk-6Z3YA6QR.cjs.map +0 -1
  111. package/dist/tsup/chunk-BIOPK7IB.cjs.map +0 -1
  112. package/dist/tsup/chunk-FETQGZN4.js.map +0 -1
  113. package/dist/tsup/chunk-GJPOIJHZ.js.map +0 -1
  114. package/dist/tsup/chunk-I7EJWHYV.js.map +0 -1
  115. package/dist/tsup/chunk-JKNDUKFI.js.map +0 -1
  116. package/dist/tsup/chunk-OAB7ECAB.cjs.map +0 -1
  117. package/dist/tsup/chunk-R6XOZKMU.cjs.map +0 -1
  118. package/dist/tsup/chunk-VJLGVVGP.cjs.map +0 -1
  119. /package/dist/tsup/{chunk-JN6GPVFY.js.map → chunk-2K2LR56Q.js.map} +0 -0
  120. /package/dist/tsup/{chunk-EEXX243L.js.map → chunk-2WVCZCJL.js.map} +0 -0
  121. /package/dist/tsup/{chunk-NDLOG2JH.js.map → chunk-6YQKMAMV.js.map} +0 -0
  122. /package/dist/tsup/{chunk-UBCUW7HD.js.map → chunk-D7AA2DK5.js.map} +0 -0
  123. /package/dist/tsup/{chunk-ZVEDMBFT.js.map → chunk-PBFLG45S.js.map} +0 -0
  124. /package/dist/tsup/{chunk-RPI45FGS.js.map → chunk-TQ4OAC2G.js.map} +0 -0
@@ -3,11 +3,11 @@
3
3
 
4
4
 
5
5
 
6
- var _chunk7FEMVD3Dcjs = require('./chunk-7FEMVD3D.cjs');
6
+ var _chunkLMZSOCYDcjs = require('./chunk-LMZSOCYD.cjs');
7
7
 
8
8
 
9
9
 
10
- var _chunkC2U6KGOGcjs = require('./chunk-C2U6KGOG.cjs');
10
+ var _chunkAR4S2QJ7cjs = require('./chunk-AR4S2QJ7.cjs');
11
11
 
12
12
 
13
13
 
@@ -18,7 +18,7 @@ var _chunkC2U6KGOGcjs = require('./chunk-C2U6KGOG.cjs');
18
18
 
19
19
 
20
20
 
21
- var _chunkBIOPK7IBcjs = require('./chunk-BIOPK7IB.cjs');
21
+ var _chunkTI72NLP3cjs = require('./chunk-TI72NLP3.cjs');
22
22
 
23
23
 
24
24
 
@@ -46,16 +46,16 @@ var _chunkBIOPK7IBcjs = require('./chunk-BIOPK7IB.cjs');
46
46
 
47
47
 
48
48
 
49
+ var _chunkB4QZKOMHcjs = require('./chunk-B4QZKOMH.cjs');
49
50
 
50
51
 
51
52
 
52
53
 
53
- var _chunkPELXJCJScjs = require('./chunk-PELXJCJS.cjs');
54
+ var _chunkHZ4ZM3FLcjs = require('./chunk-HZ4ZM3FL.cjs');
54
55
 
55
56
 
56
57
 
57
58
 
58
- var _chunkVJLGVVGPcjs = require('./chunk-VJLGVVGP.cjs');
59
59
 
60
60
 
61
61
 
@@ -66,9 +66,7 @@ var _chunkVJLGVVGPcjs = require('./chunk-VJLGVVGP.cjs');
66
66
 
67
67
 
68
68
 
69
-
70
-
71
- var _chunk6Z3YA6QRcjs = require('./chunk-6Z3YA6QR.cjs');
69
+ var _chunkV6C34TVHcjs = require('./chunk-V6C34TVH.cjs');
72
70
 
73
71
 
74
72
 
@@ -89,7 +87,15 @@ var _cborx = require('cbor-x'); var cbor = _interopRequireWildcard(_cborx); var
89
87
 
90
88
  // src/actor/conn-drivers.ts
91
89
  var WEBSOCKET_DRIVER = {
92
- sendMessage: (actor, _conn, state, message) => {
90
+ sendMessage: (actor, conn, state, message) => {
91
+ if (state.websocket.readyState !== 1 /* OPEN */) {
92
+ actor.rLog.warn({
93
+ msg: "attempting to send message to closed websocket, this is likely a bug in RivetKit",
94
+ connId: conn.id,
95
+ wsReadyState: state.websocket.readyState
96
+ });
97
+ return;
98
+ }
93
99
  const serialized = message.serialize(state.encoding);
94
100
  actor.rLog.debug({
95
101
  msg: "sending websocket message",
@@ -133,12 +139,21 @@ var WEBSOCKET_DRIVER = {
133
139
  },
134
140
  getConnectionReadyState: (_actor, _conn, state) => {
135
141
  return state.websocket.readyState;
142
+ },
143
+ isHibernatable(_actor, _conn, state) {
144
+ if (state.websocket.raw) {
145
+ const raw = state.websocket.raw;
146
+ if (typeof raw.isHibernatable === "boolean") {
147
+ return raw.isHibernatable;
148
+ }
149
+ }
150
+ return false;
136
151
  }
137
152
  };
138
153
  var SSE_DRIVER = {
139
154
  sendMessage: (_actor, _conn, state, message) => {
140
155
  state.stream.writeSSE({
141
- data: _chunkPELXJCJScjs.encodeDataToString.call(void 0, message.serialize(state.encoding))
156
+ data: _chunkB4QZKOMHcjs.encodeDataToString.call(void 0, message.serialize(state.encoding))
142
157
  });
143
158
  },
144
159
  disconnect: async (_actor, _conn, state, _reason) => {
@@ -149,6 +164,9 @@ var SSE_DRIVER = {
149
164
  return 3 /* CLOSED */;
150
165
  }
151
166
  return 1 /* OPEN */;
167
+ },
168
+ isHibernatable() {
169
+ return false;
152
170
  }
153
171
  };
154
172
  var HTTP_DRIVER = {
@@ -156,6 +174,9 @@ var HTTP_DRIVER = {
156
174
  return 1 /* OPEN */;
157
175
  },
158
176
  disconnect: async () => {
177
+ },
178
+ isHibernatable() {
179
+ return false;
159
180
  }
160
181
  };
161
182
  var CONN_DRIVERS = {
@@ -167,7 +188,7 @@ function getConnDriverKindFromState(state) {
167
188
  if (0 /* WEBSOCKET */ in state) return 0 /* WEBSOCKET */;
168
189
  else if (1 /* SSE */ in state) return 1 /* SSE */;
169
190
  else if (2 /* HTTP */ in state) return 2 /* HTTP */;
170
- else _chunk6Z3YA6QRcjs.assertUnreachable.call(void 0, state);
191
+ else _chunkV6C34TVHcjs.assertUnreachable.call(void 0, state);
171
192
  }
172
193
 
173
194
  // src/actor/conn.ts
@@ -175,9 +196,9 @@ function generateConnId() {
175
196
  return crypto.randomUUID();
176
197
  }
177
198
  function generateConnToken() {
178
- return _chunkPELXJCJScjs.generateSecureToken.call(void 0, 32);
199
+ return _chunkB4QZKOMHcjs.generateSecureToken.call(void 0, 32);
179
200
  }
180
- function generateConnSocketId() {
201
+ function generateConnRequestId() {
181
202
  return crypto.randomUUID();
182
203
  }
183
204
  var Conn = (_class = class {
@@ -250,6 +271,24 @@ var Conn = (_class = class {
250
271
  get status() {
251
272
  return this.__status;
252
273
  }
274
+ /**
275
+ * @experimental
276
+ *
277
+ * If the underlying connection can hibernate.
278
+ */
279
+ get isHibernatable() {
280
+ if (this.__driverState) {
281
+ const driverKind = getConnDriverKindFromState(this.__driverState);
282
+ const driver = CONN_DRIVERS[driverKind];
283
+ return driver.isHibernatable(
284
+ this.#actor,
285
+ this,
286
+ this.__driverState[driverKind]
287
+ );
288
+ } else {
289
+ return false;
290
+ }
291
+ }
253
292
  /**
254
293
  * Timestamp of the last time the connection was seen, i.e. the last time the connection was active and checked for liveness.
255
294
  */
@@ -318,17 +357,17 @@ var Conn = (_class = class {
318
357
  connId: this.id
319
358
  });
320
359
  this._sendMessage(
321
- new (0, _chunkPELXJCJScjs.CachedSerializer)(
360
+ new (0, _chunkB4QZKOMHcjs.CachedSerializer)(
322
361
  {
323
362
  body: {
324
363
  tag: "Event",
325
364
  val: {
326
365
  name: eventName,
327
- args: _chunk6Z3YA6QRcjs.bufferToArrayBuffer.call(void 0, cbor.encode(args))
366
+ args: _chunkV6C34TVHcjs.bufferToArrayBuffer.call(void 0, cbor.encode(args))
328
367
  }
329
368
  }
330
369
  },
331
- _chunkBIOPK7IBcjs.TO_CLIENT_VERSIONED
370
+ _chunkTI72NLP3cjs.TO_CLIENT_VERSIONED
332
371
  )
333
372
  );
334
373
  }
@@ -354,7 +393,7 @@ var Conn = (_class = class {
354
393
  conn: this.id
355
394
  });
356
395
  }
357
- this.#actor.__connDisconnected(this, true, this.__socket.socketId);
396
+ this.#actor.__connDisconnected(this, true, this.__socket.requestId);
358
397
  } else {
359
398
  this.#actor.rLog.warn({
360
399
  msg: "missing connection driver state for disconnect",
@@ -395,7 +434,7 @@ function createActorInspectorRouter() {
395
434
  "/state",
396
435
  _standardvalidator.sValidator.call(void 0,
397
436
  "json",
398
- _v42.default.object({ patch: _chunk7FEMVD3Dcjs.PatchSchema }).or(_v42.default.object({ replace: _v42.default.any() }))
437
+ _v42.default.object({ patch: _chunkLMZSOCYDcjs.PatchSchema }).or(_v42.default.object({ replace: _v42.default.any() }))
399
438
  ),
400
439
  async (c) => {
401
440
  if (!await c.var.inspector.accessors.isStateEnabled()) {
@@ -445,7 +484,7 @@ function createActorInspectorRouter() {
445
484
  });
446
485
  }
447
486
  );
448
- const { promise } = _chunk6Z3YA6QRcjs.promiseWithResolvers.call(void 0, );
487
+ const { promise } = _chunkV6C34TVHcjs.promiseWithResolvers.call(void 0, );
449
488
  return promise;
450
489
  },
451
490
  async () => {
@@ -473,7 +512,7 @@ function createActorInspectorRouter() {
473
512
  });
474
513
  }
475
514
  );
476
- const { promise } = _chunk6Z3YA6QRcjs.promiseWithResolvers.call(void 0, );
515
+ const { promise } = _chunkV6C34TVHcjs.promiseWithResolvers.call(void 0, );
477
516
  return promise;
478
517
  },
479
518
  async () => {
@@ -501,7 +540,7 @@ function createActorInspectorRouter() {
501
540
  id: String(id++)
502
541
  });
503
542
  });
504
- const { promise } = _chunk6Z3YA6QRcjs.promiseWithResolvers.call(void 0, );
543
+ const { promise } = _chunkV6C34TVHcjs.promiseWithResolvers.call(void 0, );
505
544
  return promise;
506
545
  },
507
546
  async () => {
@@ -517,7 +556,7 @@ function createActorInspectorRouter() {
517
556
  }
518
557
  const db = await c.var.inspector.accessors.getDb();
519
558
  const rows = await db.execute(`PRAGMA table_list`);
520
- const tables = _chunk7FEMVD3Dcjs.TablesSchema.parse(rows).filter(
559
+ const tables = _chunkLMZSOCYDcjs.TablesSchema.parse(rows).filter(
521
560
  (table) => table.schema !== "temp" && !table.name.startsWith("sqlite_")
522
561
  );
523
562
  const tablesInfo = await Promise.all(
@@ -525,14 +564,14 @@ function createActorInspectorRouter() {
525
564
  (table) => db.execute(`PRAGMA table_info(${table.name})`)
526
565
  )
527
566
  );
528
- const columns = tablesInfo.map((def) => _chunk7FEMVD3Dcjs.ColumnsSchema.parse(def));
567
+ const columns = tablesInfo.map((def) => _chunkLMZSOCYDcjs.ColumnsSchema.parse(def));
529
568
  const foreignKeysList = await Promise.all(
530
569
  tables.map(
531
570
  (table) => db.execute(`PRAGMA foreign_key_list(${table.name})`)
532
571
  )
533
572
  );
534
573
  const foreignKeys = foreignKeysList.map(
535
- (def) => _chunk7FEMVD3Dcjs.ForeignKeysSchema.parse(def)
574
+ (def) => _chunkLMZSOCYDcjs.ForeignKeysSchema.parse(def)
536
575
  );
537
576
  const countInfo = await Promise.all(
538
577
  tables.map(
@@ -733,7 +772,7 @@ var ActorContext = class {
733
772
  * @experimental
734
773
  */
735
774
  sleep() {
736
- this.#actor._sleep();
775
+ this.#actor._startSleep();
737
776
  }
738
777
  };
739
778
 
@@ -810,6 +849,15 @@ var Schedule = class {
810
849
  };
811
850
 
812
851
  // src/actor/instance.ts
852
+ var PERSIST_SYMBOL = Symbol("persist");
853
+ var CanSleep = /* @__PURE__ */ ((CanSleep2) => {
854
+ CanSleep2[CanSleep2["Yes"] = 0] = "Yes";
855
+ CanSleep2[CanSleep2["NotReady"] = 1] = "NotReady";
856
+ CanSleep2[CanSleep2["ActiveConns"] = 2] = "ActiveConns";
857
+ CanSleep2[CanSleep2["ActiveHonoHttpRequests"] = 3] = "ActiveHonoHttpRequests";
858
+ CanSleep2[CanSleep2["ActiveRawWebSockets"] = 4] = "ActiveRawWebSockets";
859
+ return CanSleep2;
860
+ })(CanSleep || {});
813
861
  var ActorInstance = class {
814
862
  // Shared actor context for this instance
815
863
 
@@ -820,7 +868,7 @@ var ActorInstance = class {
820
868
  #sleepCalled = false;
821
869
  #stopCalled = false;
822
870
  get isStopping() {
823
- return this.#stopCalled || this.#sleepCalled;
871
+ return this.#stopCalled;
824
872
  }
825
873
  #persistChanged = false;
826
874
  #isInOnStateChange = false;
@@ -830,10 +878,13 @@ var ActorInstance = class {
830
878
  * Any data that should be stored indefinitely should be held within this object.
831
879
  */
832
880
  #persist;
881
+ get [PERSIST_SYMBOL]() {
882
+ return this.#persist;
883
+ }
833
884
  /** Raw state without the proxy wrapper */
834
885
  #persistRaw;
835
- #persistWriteQueue = new (0, _chunk6Z3YA6QRcjs.SinglePromiseQueue)();
836
- #alarmWriteQueue = new (0, _chunk6Z3YA6QRcjs.SinglePromiseQueue)();
886
+ #persistWriteQueue = new (0, _chunkV6C34TVHcjs.SinglePromiseQueue)();
887
+ #alarmWriteQueue = new (0, _chunkV6C34TVHcjs.SinglePromiseQueue)();
837
888
  #lastSaveTime = 0;
838
889
  #pendingSaveTimeout;
839
890
  #vars;
@@ -851,8 +902,11 @@ var ActorInstance = class {
851
902
  #subscriptionIndex = /* @__PURE__ */ new Map();
852
903
  #checkConnLivenessInterval;
853
904
  #sleepTimeout;
854
- // Track active raw requests so sleep logic can account for them
855
- #activeRawFetchCount = 0;
905
+ /**
906
+ * Track active HTTP requests through Hono router so sleep logic can
907
+ * account for them. Does not include WebSockets.
908
+ **/
909
+ #activeHonoHttpRequests = 0;
856
910
  #activeRawWebSockets = /* @__PURE__ */ new Set();
857
911
  #schedule;
858
912
  #db;
@@ -876,12 +930,21 @@ var ActorInstance = class {
876
930
  },
877
931
  getConnections: async () => {
878
932
  return Array.from(this.#connections.entries()).map(
879
- ([id, conn]) => ({
880
- id,
881
- stateEnabled: conn.__stateEnabled,
882
- params: conn.params,
883
- state: conn.__stateEnabled ? conn.state : void 0
884
- })
933
+ ([id, conn]) => {
934
+ var _a;
935
+ return {
936
+ id,
937
+ params: conn.params,
938
+ state: conn.__stateEnabled ? conn.state : void 0,
939
+ status: conn.status,
940
+ subscriptions: conn.subscriptions.size,
941
+ lastSeen: conn.lastSeen,
942
+ stateEnabled: conn.__stateEnabled,
943
+ isHibernatable: conn.isHibernatable,
944
+ requestId: (_a = conn.__socket) == null ? void 0 : _a.requestId,
945
+ driver: conn.__driverState ? getConnDriverKindFromState(conn.__driverState) : void 0
946
+ };
947
+ }
885
948
  );
886
949
  },
887
950
  setState: async (state) => {
@@ -890,10 +953,10 @@ var ActorInstance = class {
890
953
  await this.saveState({ immediate: true });
891
954
  },
892
955
  executeAction: async (name, params) => {
893
- const socketId = generateConnSocketId();
956
+ const requestId = generateConnRequestId();
894
957
  const conn = await this.createConn(
895
958
  {
896
- socketId,
959
+ requestId,
897
960
  driverState: { [2 /* HTTP */]: {} }
898
961
  },
899
962
  void 0,
@@ -901,12 +964,12 @@ var ActorInstance = class {
901
964
  );
902
965
  try {
903
966
  return await this.executeAction(
904
- new (0, _chunkBIOPK7IBcjs.ActionContext)(this.actorContext, conn),
967
+ new (0, _chunkTI72NLP3cjs.ActionContext)(this.actorContext, conn),
905
968
  name,
906
969
  params || []
907
970
  );
908
971
  } finally {
909
- this.__connDisconnected(conn, true, socketId);
972
+ this.__connDisconnected(conn, true, requestId);
910
973
  }
911
974
  }
912
975
  };
@@ -921,7 +984,7 @@ var ActorInstance = class {
921
984
  return this.#inspector;
922
985
  }
923
986
  get #sleepingSupported() {
924
- return this.#actorDriver.sleep !== void 0;
987
+ return this.#actorDriver.startSleep !== void 0;
925
988
  }
926
989
  /**
927
990
  * This constructor should never be used directly.
@@ -935,21 +998,23 @@ var ActorInstance = class {
935
998
  this.actorContext = new ActorContext(this);
936
999
  }
937
1000
  async start(actorDriver, inlineClient, actorId, name, key, region) {
938
- var _a, _b;
1001
+ var _a, _b, _c;
939
1002
  const logParams = {
940
1003
  actor: name,
941
1004
  key: serializeActorKey(key),
942
1005
  actorId
943
1006
  };
944
- this.#log = _chunkVJLGVVGPcjs.getBaseLogger.call(void 0, ).child(
1007
+ const extraLogParams = (_a = actorDriver.getExtraActorLogParams) == null ? void 0 : _a.call(actorDriver);
1008
+ if (extraLogParams) Object.assign(logParams, extraLogParams);
1009
+ this.#log = _chunkHZ4ZM3FLcjs.getBaseLogger.call(void 0, ).child(
945
1010
  Object.assign(
946
- _chunkVJLGVVGPcjs.getIncludeTarget.call(void 0, ) ? { target: "actor" } : {},
1011
+ _chunkHZ4ZM3FLcjs.getIncludeTarget.call(void 0, ) ? { target: "actor" } : {},
947
1012
  logParams
948
1013
  )
949
1014
  );
950
- this.#rLog = _chunkVJLGVVGPcjs.getBaseLogger.call(void 0, ).child(
1015
+ this.#rLog = _chunkHZ4ZM3FLcjs.getBaseLogger.call(void 0, ).child(
951
1016
  Object.assign(
952
- _chunkVJLGVVGPcjs.getIncludeTarget.call(void 0, ) ? { target: "actor-runtime" } : {},
1017
+ _chunkHZ4ZM3FLcjs.getIncludeTarget.call(void 0, ) ? { target: "actor-runtime" } : {},
953
1018
  logParams
954
1019
  )
955
1020
  );
@@ -969,7 +1034,7 @@ var ActorInstance = class {
969
1034
  this.#actorDriver.getContext(this.#actorId)
970
1035
  );
971
1036
  if (dataOrPromise instanceof Promise) {
972
- vars = await _chunkPELXJCJScjs.deadline.call(void 0,
1037
+ vars = await _chunkB4QZKOMHcjs.deadline.call(void 0,
973
1038
  dataOrPromise,
974
1039
  this.#config.options.createVarsTimeout
975
1040
  );
@@ -997,7 +1062,7 @@ var ActorInstance = class {
997
1062
  getDatabase: () => actorDriver.getDatabase(this.#actorId)
998
1063
  });
999
1064
  this.#rLog.info({ msg: "database migration starting" });
1000
- await ((_b = (_a = this.#config.db).onMigrate) == null ? void 0 : _b.call(_a, client));
1065
+ await ((_c = (_b = this.#config.db).onMigrate) == null ? void 0 : _c.call(_b, client));
1001
1066
  this.#rLog.info({ msg: "database migration complete" });
1002
1067
  this.#db = client;
1003
1068
  }
@@ -1107,7 +1172,7 @@ var ActorInstance = class {
1107
1172
  } catch (error) {
1108
1173
  this.actorContext.log.error({
1109
1174
  msg: "error while running event",
1110
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error),
1175
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error),
1111
1176
  event: event.eventId,
1112
1177
  timestamp: event.timestamp,
1113
1178
  action: event.kind.generic.actionName
@@ -1116,7 +1181,7 @@ var ActorInstance = class {
1116
1181
  } catch (error) {
1117
1182
  this.actorContext.log.error({
1118
1183
  msg: "internal error while running event",
1119
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error),
1184
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error),
1120
1185
  ...event
1121
1186
  });
1122
1187
  }
@@ -1129,7 +1194,7 @@ var ActorInstance = class {
1129
1194
  kind: {
1130
1195
  generic: {
1131
1196
  actionName: action,
1132
- args: _chunk6Z3YA6QRcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(args))
1197
+ args: _chunkV6C34TVHcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(args))
1133
1198
  }
1134
1199
  }
1135
1200
  });
@@ -1185,7 +1250,7 @@ var ActorInstance = class {
1185
1250
  );
1186
1251
  await this.#actorDriver.writePersistedData(
1187
1252
  this.#actorId,
1188
- _chunkBIOPK7IBcjs.PERSISTED_ACTOR_VERSIONED.serializeWithEmbeddedVersion(
1253
+ _chunkTI72NLP3cjs.PERSISTED_ACTOR_VERSIONED.serializeWithEmbeddedVersion(
1189
1254
  bareData
1190
1255
  )
1191
1256
  );
@@ -1211,7 +1276,7 @@ var ActorInstance = class {
1211
1276
  this.#persistRaw = target;
1212
1277
  if (target === null || typeof target !== "object") {
1213
1278
  let invalidPath = "";
1214
- if (!_chunk6Z3YA6QRcjs.isCborSerializable.call(void 0,
1279
+ if (!_chunkV6C34TVHcjs.isCborSerializable.call(void 0,
1215
1280
  target,
1216
1281
  (path) => {
1217
1282
  invalidPath = path;
@@ -1233,7 +1298,7 @@ var ActorInstance = class {
1233
1298
  return;
1234
1299
  }
1235
1300
  let invalidPath = "";
1236
- if (!_chunk6Z3YA6QRcjs.isCborSerializable.call(void 0,
1301
+ if (!_chunkV6C34TVHcjs.isCborSerializable.call(void 0,
1237
1302
  value,
1238
1303
  (invalidPathPart) => {
1239
1304
  invalidPath = invalidPathPart;
@@ -1259,7 +1324,7 @@ var ActorInstance = class {
1259
1324
  } catch (error) {
1260
1325
  this.#rLog.error({
1261
1326
  msg: "error in `_onStateChange`",
1262
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
1327
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
1263
1328
  });
1264
1329
  } finally {
1265
1330
  this.#isInOnStateChange = false;
@@ -1277,7 +1342,7 @@ var ActorInstance = class {
1277
1342
  persistDataBuffer !== void 0,
1278
1343
  "persist data has not been set, it should be set when initialized"
1279
1344
  );
1280
- const bareData = _chunkBIOPK7IBcjs.PERSISTED_ACTOR_VERSIONED.deserializeWithEmbeddedVersion(
1345
+ const bareData = _chunkTI72NLP3cjs.PERSISTED_ACTOR_VERSIONED.deserializeWithEmbeddedVersion(
1281
1346
  persistDataBuffer
1282
1347
  );
1283
1348
  const persistData = this.#convertFromBarePersisted(bareData);
@@ -1321,7 +1386,7 @@ var ActorInstance = class {
1321
1386
  const bareData2 = this.#convertToBarePersisted(persistData);
1322
1387
  await this.#actorDriver.writePersistedData(
1323
1388
  this.#actorId,
1324
- _chunkBIOPK7IBcjs.PERSISTED_ACTOR_VERSIONED.serializeWithEmbeddedVersion(
1389
+ _chunkTI72NLP3cjs.PERSISTED_ACTOR_VERSIONED.serializeWithEmbeddedVersion(
1325
1390
  bareData2
1326
1391
  )
1327
1392
  );
@@ -1344,13 +1409,13 @@ var ActorInstance = class {
1344
1409
  *
1345
1410
  * If not a clean disconnect, will keep the connection alive for a given interval to wait for reconnect.
1346
1411
  */
1347
- __connDisconnected(conn, wasClean, socketId) {
1348
- if (socketId && conn.__socket && socketId !== conn.__socket.socketId) {
1412
+ __connDisconnected(conn, wasClean, requestId) {
1413
+ if (requestId && conn.__socket && requestId !== conn.__socket.requestId) {
1349
1414
  this.#rLog.debug({
1350
1415
  msg: "ignoring stale disconnect event",
1351
1416
  connId: conn.id,
1352
- eventSocketId: socketId,
1353
- currentSocketId: conn.__socket.socketId
1417
+ eventRequestId: requestId,
1418
+ currentRequestId: conn.__socket.requestId
1354
1419
  });
1355
1420
  return;
1356
1421
  }
@@ -1397,14 +1462,14 @@ var ActorInstance = class {
1397
1462
  result.catch((error) => {
1398
1463
  this.#rLog.error({
1399
1464
  msg: "error in `onDisconnect`",
1400
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
1465
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
1401
1466
  });
1402
1467
  });
1403
1468
  }
1404
1469
  } catch (error) {
1405
1470
  this.#rLog.error({
1406
1471
  msg: "error in `onDisconnect`",
1407
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
1472
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
1408
1473
  });
1409
1474
  }
1410
1475
  }
@@ -1445,7 +1510,7 @@ var ActorInstance = class {
1445
1510
  this.#resetSleepTimer();
1446
1511
  this.inspector.emitter.emit("connectionUpdated");
1447
1512
  existingConn._sendMessage(
1448
- new (0, _chunkPELXJCJScjs.CachedSerializer)(
1513
+ new (0, _chunkB4QZKOMHcjs.CachedSerializer)(
1449
1514
  {
1450
1515
  body: {
1451
1516
  tag: "Init",
@@ -1456,7 +1521,7 @@ var ActorInstance = class {
1456
1521
  }
1457
1522
  }
1458
1523
  },
1459
- _chunkBIOPK7IBcjs.TO_CLIENT_VERSIONED
1524
+ _chunkTI72NLP3cjs.TO_CLIENT_VERSIONED
1460
1525
  )
1461
1526
  );
1462
1527
  return existingConn;
@@ -1490,7 +1555,7 @@ var ActorInstance = class {
1490
1555
  params
1491
1556
  );
1492
1557
  if (dataOrPromise instanceof Promise) {
1493
- connState = await _chunkPELXJCJScjs.deadline.call(void 0,
1558
+ connState = await _chunkB4QZKOMHcjs.deadline.call(void 0,
1494
1559
  dataOrPromise,
1495
1560
  this.#config.options.createConnStateTimeout
1496
1561
  );
@@ -1523,7 +1588,7 @@ var ActorInstance = class {
1523
1588
  try {
1524
1589
  const result = this.#config.onConnect(this.actorContext, conn);
1525
1590
  if (result instanceof Promise) {
1526
- _chunkPELXJCJScjs.deadline.call(void 0,
1591
+ _chunkB4QZKOMHcjs.deadline.call(void 0,
1527
1592
  result,
1528
1593
  this.#config.options.onConnectTimeout
1529
1594
  ).catch((error) => {
@@ -1537,14 +1602,14 @@ var ActorInstance = class {
1537
1602
  } catch (error) {
1538
1603
  this.#rLog.error({
1539
1604
  msg: "error in `onConnect`",
1540
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
1605
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
1541
1606
  });
1542
1607
  conn == null ? void 0 : conn.disconnect("`onConnect` failed");
1543
1608
  }
1544
1609
  }
1545
1610
  this.inspector.emitter.emit("connectionUpdated");
1546
1611
  conn._sendMessage(
1547
- new (0, _chunkPELXJCJScjs.CachedSerializer)(
1612
+ new (0, _chunkB4QZKOMHcjs.CachedSerializer)(
1548
1613
  {
1549
1614
  body: {
1550
1615
  tag: "Init",
@@ -1555,14 +1620,14 @@ var ActorInstance = class {
1555
1620
  }
1556
1621
  }
1557
1622
  },
1558
- _chunkBIOPK7IBcjs.TO_CLIENT_VERSIONED
1623
+ _chunkTI72NLP3cjs.TO_CLIENT_VERSIONED
1559
1624
  )
1560
1625
  );
1561
1626
  return conn;
1562
1627
  }
1563
1628
  // MARK: Messages
1564
1629
  async processMessage(message, conn) {
1565
- await _chunkBIOPK7IBcjs.processMessage.call(void 0, message, this, conn, {
1630
+ await _chunkTI72NLP3cjs.processMessage.call(void 0, message, this, conn, {
1566
1631
  onExecuteAction: async (ctx, name, args) => {
1567
1632
  this.inspector.emitter.emit("eventFired", {
1568
1633
  type: "action",
@@ -1644,8 +1709,6 @@ var ActorInstance = class {
1644
1709
  }
1645
1710
  #assertReady(allowStoppingState = false) {
1646
1711
  if (!this.#ready) throw new (0, _chunkKSRXX3Z4cjs.InternalError)("Actor not ready");
1647
- if (!allowStoppingState && this.#sleepCalled)
1648
- throw new (0, _chunkKSRXX3Z4cjs.InternalError)("Actor is going to sleep");
1649
1712
  if (!allowStoppingState && this.#stopCalled)
1650
1713
  throw new (0, _chunkKSRXX3Z4cjs.InternalError)("Actor is stopping");
1651
1714
  }
@@ -1655,13 +1718,18 @@ var ActorInstance = class {
1655
1718
  */
1656
1719
  #checkConnectionsLiveness() {
1657
1720
  this.#rLog.debug({ msg: "checking connections liveness" });
1721
+ let connected = 0;
1722
+ let reconnecting = 0;
1723
+ let removed = 0;
1658
1724
  for (const conn of this.#connections.values()) {
1659
1725
  if (conn.__status === "connected") {
1726
+ connected += 1;
1660
1727
  this.#rLog.debug({
1661
1728
  msg: "connection is alive",
1662
1729
  connId: conn.id
1663
1730
  });
1664
1731
  } else {
1732
+ reconnecting += 1;
1665
1733
  const lastSeen = conn.__persist.lastSeen;
1666
1734
  const sinceLastSeen = Date.now() - lastSeen;
1667
1735
  if (sinceLastSeen < this.#config.options.connectionLivenessTimeout) {
@@ -1678,9 +1746,17 @@ var ActorInstance = class {
1678
1746
  connId: conn.id,
1679
1747
  lastSeen
1680
1748
  });
1749
+ removed += 1;
1681
1750
  this.#removeConn(conn);
1682
1751
  }
1683
1752
  }
1753
+ this.#rLog.debug({
1754
+ msg: "checked connection liveness",
1755
+ total: connected + reconnecting,
1756
+ connected,
1757
+ reconnecting,
1758
+ removed
1759
+ });
1684
1760
  }
1685
1761
  /**
1686
1762
  * Check if the actor is ready to handle requests.
@@ -1738,7 +1814,7 @@ var ActorInstance = class {
1738
1814
  msg: "awaiting async action",
1739
1815
  actionName
1740
1816
  });
1741
- output = await _chunkPELXJCJScjs.deadline.call(void 0,
1817
+ output = await _chunkB4QZKOMHcjs.deadline.call(void 0,
1742
1818
  outputOrPromise,
1743
1819
  this.#config.options.actionTimeout
1744
1820
  );
@@ -1773,7 +1849,7 @@ var ActorInstance = class {
1773
1849
  } catch (error) {
1774
1850
  this.#rLog.error({
1775
1851
  msg: "error in `onBeforeActionResponse`",
1776
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
1852
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
1777
1853
  });
1778
1854
  }
1779
1855
  }
@@ -1785,13 +1861,13 @@ var ActorInstance = class {
1785
1861
  });
1786
1862
  return output;
1787
1863
  } catch (error) {
1788
- if (error instanceof _chunkPELXJCJScjs.DeadlineError) {
1864
+ if (error instanceof _chunkB4QZKOMHcjs.DeadlineError) {
1789
1865
  throw new (0, _chunkKSRXX3Z4cjs.ActionTimedOut)();
1790
1866
  }
1791
1867
  this.#rLog.error({
1792
1868
  msg: "action error",
1793
1869
  actionName,
1794
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
1870
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
1795
1871
  });
1796
1872
  throw error;
1797
1873
  } finally {
@@ -1812,8 +1888,6 @@ var ActorInstance = class {
1812
1888
  if (!this.#config.onFetch) {
1813
1889
  throw new (0, _chunkKSRXX3Z4cjs.FetchHandlerNotDefined)();
1814
1890
  }
1815
- this.#activeRawFetchCount++;
1816
- this.#resetSleepTimer();
1817
1891
  try {
1818
1892
  const response = await this.#config.onFetch(
1819
1893
  this.actorContext,
@@ -1827,15 +1901,10 @@ var ActorInstance = class {
1827
1901
  } catch (error) {
1828
1902
  this.#rLog.error({
1829
1903
  msg: "onFetch error",
1830
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
1904
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
1831
1905
  });
1832
1906
  throw error;
1833
1907
  } finally {
1834
- this.#activeRawFetchCount = Math.max(
1835
- 0,
1836
- this.#activeRawFetchCount - 1
1837
- );
1838
- this.#resetSleepTimer();
1839
1908
  this.#savePersistThrottled();
1840
1909
  }
1841
1910
  }
@@ -1851,8 +1920,81 @@ var ActorInstance = class {
1851
1920
  const stateBeforeHandler = this.#persistChanged;
1852
1921
  this.#activeRawWebSockets.add(websocket);
1853
1922
  this.#resetSleepTimer();
1854
- const onSocketClosed = () => {
1923
+ let rivetRequestId;
1924
+ let persistedHibernatableWebSocket;
1925
+ const onSocketOpened = (event) => {
1926
+ rivetRequestId = event == null ? void 0 : event.rivetRequestId;
1927
+ if (rivetRequestId) {
1928
+ const rivetRequestIdLocal = rivetRequestId;
1929
+ persistedHibernatableWebSocket = this.#persist.hibernatableWebSocket.find(
1930
+ (ws) => _chunkV6C34TVHcjs.arrayBuffersEqual.call(void 0,
1931
+ ws.requestId,
1932
+ rivetRequestIdLocal
1933
+ )
1934
+ );
1935
+ if (persistedHibernatableWebSocket) {
1936
+ persistedHibernatableWebSocket.lastSeenTimestamp = BigInt(Date.now());
1937
+ }
1938
+ }
1939
+ this.#rLog.debug({
1940
+ msg: "actor instance onSocketOpened",
1941
+ rivetRequestId,
1942
+ isHibernatable: !!persistedHibernatableWebSocket,
1943
+ hibernationMsgIndex: persistedHibernatableWebSocket == null ? void 0 : persistedHibernatableWebSocket.msgIndex
1944
+ });
1945
+ };
1946
+ const onSocketMessage = (event) => {
1947
+ if (persistedHibernatableWebSocket) {
1948
+ persistedHibernatableWebSocket.lastSeenTimestamp = BigInt(
1949
+ Date.now()
1950
+ );
1951
+ persistedHibernatableWebSocket.msgIndex = BigInt(
1952
+ event.rivetMessageIndex
1953
+ );
1954
+ }
1955
+ this.#rLog.debug({
1956
+ msg: "actor instance onSocketMessage",
1957
+ rivetRequestId,
1958
+ isHibernatable: !!persistedHibernatableWebSocket,
1959
+ hibernationMsgIndex: persistedHibernatableWebSocket == null ? void 0 : persistedHibernatableWebSocket.msgIndex
1960
+ });
1961
+ };
1962
+ const onSocketClosed = (_event) => {
1963
+ if (rivetRequestId) {
1964
+ const rivetRequestIdLocal = rivetRequestId;
1965
+ const wsIndex = this.#persist.hibernatableWebSocket.findIndex(
1966
+ (ws) => _chunkV6C34TVHcjs.arrayBuffersEqual.call(void 0,
1967
+ ws.requestId,
1968
+ rivetRequestIdLocal
1969
+ )
1970
+ );
1971
+ const removed = this.#persist.hibernatableWebSocket.splice(
1972
+ wsIndex,
1973
+ 1
1974
+ );
1975
+ if (removed.length > 0) {
1976
+ this.#rLog.debug({
1977
+ msg: "removed hibernatable websocket",
1978
+ rivetRequestId,
1979
+ hibernationMsgIndex: persistedHibernatableWebSocket == null ? void 0 : persistedHibernatableWebSocket.msgIndex
1980
+ });
1981
+ } else {
1982
+ this.#rLog.warn({
1983
+ msg: "could not find hibernatable websocket to remove",
1984
+ rivetRequestId,
1985
+ hibernationMsgIndex: persistedHibernatableWebSocket == null ? void 0 : persistedHibernatableWebSocket.msgIndex
1986
+ });
1987
+ }
1988
+ }
1989
+ this.#rLog.debug({
1990
+ msg: "actor instance onSocketMessage",
1991
+ rivetRequestId,
1992
+ isHibernatable: !!persistedHibernatableWebSocket,
1993
+ hibernatableWebSocketCount: this.#persist.hibernatableWebSocket.length
1994
+ });
1855
1995
  try {
1996
+ websocket.removeEventListener("open", onSocketOpened);
1997
+ websocket.removeEventListener("message", onSocketMessage);
1856
1998
  websocket.removeEventListener("close", onSocketClosed);
1857
1999
  websocket.removeEventListener("error", onSocketClosed);
1858
2000
  } catch (e) {
@@ -1861,6 +2003,8 @@ var ActorInstance = class {
1861
2003
  this.#resetSleepTimer();
1862
2004
  };
1863
2005
  try {
2006
+ websocket.addEventListener("open", onSocketOpened);
2007
+ websocket.addEventListener("message", onSocketMessage);
1864
2008
  websocket.addEventListener("close", onSocketClosed);
1865
2009
  websocket.addEventListener("error", onSocketClosed);
1866
2010
  } catch (e2) {
@@ -1872,7 +2016,7 @@ var ActorInstance = class {
1872
2016
  } catch (error) {
1873
2017
  this.#rLog.error({
1874
2018
  msg: "onWebSocket error",
1875
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
2019
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
1876
2020
  });
1877
2021
  throw error;
1878
2022
  } finally {
@@ -1967,17 +2111,17 @@ var ActorInstance = class {
1967
2111
  });
1968
2112
  const subscriptions = this.#subscriptionIndex.get(name);
1969
2113
  if (!subscriptions) return;
1970
- const toClientSerializer = new (0, _chunkPELXJCJScjs.CachedSerializer)(
2114
+ const toClientSerializer = new (0, _chunkB4QZKOMHcjs.CachedSerializer)(
1971
2115
  {
1972
2116
  body: {
1973
2117
  tag: "Event",
1974
2118
  val: {
1975
2119
  name,
1976
- args: _chunk6Z3YA6QRcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(args))
2120
+ args: _chunkV6C34TVHcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(args))
1977
2121
  }
1978
2122
  }
1979
2123
  },
1980
- _chunkBIOPK7IBcjs.TO_CLIENT_VERSIONED
2124
+ _chunkTI72NLP3cjs.TO_CLIENT_VERSIONED
1981
2125
  );
1982
2126
  for (const connection of subscriptions) {
1983
2127
  connection._sendMessage(toClientSerializer);
@@ -1998,7 +2142,7 @@ var ActorInstance = class {
1998
2142
  }).catch((error) => {
1999
2143
  this.#rLog.error({
2000
2144
  msg: "wait until promise failed",
2001
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
2145
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
2002
2146
  });
2003
2147
  });
2004
2148
  this.#backgroundPromises.push(nonfailablePromise);
@@ -2018,13 +2162,34 @@ var ActorInstance = class {
2018
2162
  await this.#savePersistInner();
2019
2163
  } else {
2020
2164
  if (!this.#onPersistSavedPromise) {
2021
- this.#onPersistSavedPromise = _chunk6Z3YA6QRcjs.promiseWithResolvers.call(void 0, );
2165
+ this.#onPersistSavedPromise = _chunkV6C34TVHcjs.promiseWithResolvers.call(void 0, );
2022
2166
  }
2023
2167
  this.#savePersistThrottled();
2024
2168
  await this.#onPersistSavedPromise.promise;
2025
2169
  }
2026
2170
  }
2027
2171
  }
2172
+ /**
2173
+ * Called by router middleware when an HTTP request begins.
2174
+ */
2175
+ __beginHonoHttpRequest() {
2176
+ this.#activeHonoHttpRequests++;
2177
+ this.#resetSleepTimer();
2178
+ }
2179
+ /**
2180
+ * Called by router middleware when an HTTP request ends.
2181
+ */
2182
+ __endHonoHttpRequest() {
2183
+ this.#activeHonoHttpRequests--;
2184
+ if (this.#activeHonoHttpRequests < 0) {
2185
+ this.#activeHonoHttpRequests = 0;
2186
+ this.#rLog.warn({
2187
+ msg: "active hono requests went below 0, this is a RivetKit bug",
2188
+ ..._chunkV6C34TVHcjs.EXTRA_ERROR_LOG
2189
+ });
2190
+ }
2191
+ this.#resetSleepTimer();
2192
+ }
2028
2193
  // MARK: Sleep
2029
2194
  /**
2030
2195
  * Reset timer from the last actor interaction that allows it to be put to sleep.
@@ -2041,56 +2206,68 @@ var ActorInstance = class {
2041
2206
  const canSleep = this.#canSleep();
2042
2207
  this.#rLog.debug({
2043
2208
  msg: "resetting sleep timer",
2044
- canSleep,
2045
- existingTimeout: !!this.#sleepTimeout
2209
+ canSleep: CanSleep[canSleep],
2210
+ existingTimeout: !!this.#sleepTimeout,
2211
+ timeout: this.#config.options.sleepTimeout
2046
2212
  });
2047
2213
  if (this.#sleepTimeout) {
2048
2214
  clearTimeout(this.#sleepTimeout);
2049
2215
  this.#sleepTimeout = void 0;
2050
2216
  }
2051
2217
  if (this.#sleepCalled) return;
2052
- if (canSleep) {
2218
+ if (canSleep === 0 /* Yes */) {
2053
2219
  this.#sleepTimeout = setTimeout(() => {
2054
- this._sleep().catch((error) => {
2055
- this.#rLog.error({
2056
- msg: "error during sleep",
2057
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
2058
- });
2059
- });
2220
+ this._startSleep();
2060
2221
  }, this.#config.options.sleepTimeout);
2061
2222
  }
2062
2223
  }
2063
2224
  /** If this actor can be put in a sleeping state. */
2064
2225
  #canSleep() {
2065
- if (!this.#ready) return false;
2226
+ if (!this.#ready) return 1 /* NotReady */;
2227
+ if (this.#activeHonoHttpRequests > 0)
2228
+ return 3 /* ActiveHonoHttpRequests */;
2229
+ if (this.#activeRawWebSockets.size > 0)
2230
+ return 4 /* ActiveRawWebSockets */;
2066
2231
  for (const conn of this.#connections.values()) {
2067
- if (conn.status === "connected") return false;
2232
+ if (conn.status === "connected") return 2 /* ActiveConns */;
2068
2233
  }
2069
- if (this.#activeRawFetchCount > 0) return false;
2070
- if (this.#activeRawWebSockets.size > 0) return false;
2071
- return true;
2234
+ return 0 /* Yes */;
2072
2235
  }
2073
- /** Puts an actor to sleep. This should just start the sleep sequence, most shutdown logic should be in _stop (which is called by the ActorDriver when sleeping). */
2074
- async _sleep() {
2236
+ /**
2237
+ * Puts an actor to sleep. This should just start the sleep sequence, most shutdown logic should be in _stop (which is called by the ActorDriver when sleeping).
2238
+ *
2239
+ * For the engine, this will:
2240
+ * 1. Publish EventActorIntent with ActorIntentSleep (via driver.startSleep)
2241
+ * 2. Engine runner will wait for CommandStopActor
2242
+ * 3. Engine runner will call _onStop and wait for it to finish
2243
+ * 4. Engine runner will publish EventActorStateUpdate with ActorStateSTop
2244
+ **/
2245
+ _startSleep() {
2075
2246
  var _a;
2076
- const sleep = (_a = this.#actorDriver.sleep) == null ? void 0 : _a.bind(
2077
- this.#actorDriver,
2078
- this.#actorId
2079
- );
2080
- _invariant2.default.call(void 0, this.#sleepingSupported, "sleeping not supported");
2081
- _invariant2.default.call(void 0, sleep, "no sleep on driver");
2082
2247
  if (this.#sleepCalled) {
2083
2248
  this.#rLog.warn({ msg: "already sleeping actor" });
2084
2249
  return;
2085
2250
  }
2086
2251
  this.#sleepCalled = true;
2252
+ const sleep = (_a = this.#actorDriver.startSleep) == null ? void 0 : _a.bind(
2253
+ this.#actorDriver,
2254
+ this.#actorId
2255
+ );
2256
+ _invariant2.default.call(void 0, this.#sleepingSupported, "sleeping not supported");
2257
+ _invariant2.default.call(void 0, sleep, "no sleep on driver");
2087
2258
  this.#rLog.info({ msg: "actor sleeping" });
2088
- setImmediate(async () => {
2089
- await sleep();
2259
+ setImmediate(() => {
2260
+ sleep();
2090
2261
  });
2091
2262
  }
2092
2263
  // MARK: Stop
2093
- async _stop() {
2264
+ /**
2265
+ * For the engine:
2266
+ * 1. Engine runner receives CommandStopActor
2267
+ * 2. Engine runner calls _onStop and waits for it to finish
2268
+ * 3. Engine runner publishes EventActorStateUpdate with ActorStateSTop
2269
+ */
2270
+ async _onStop() {
2094
2271
  if (this.#stopCalled) {
2095
2272
  this.#rLog.warn({ msg: "already stopping actor" });
2096
2273
  return;
@@ -2110,16 +2287,16 @@ var ActorInstance = class {
2110
2287
  this.#rLog.debug({ msg: "calling onStop" });
2111
2288
  const result = this.#config.onStop(this.actorContext);
2112
2289
  if (result instanceof Promise) {
2113
- await _chunkPELXJCJScjs.deadline.call(void 0, result, this.#config.options.onStopTimeout);
2290
+ await _chunkB4QZKOMHcjs.deadline.call(void 0, result, this.#config.options.onStopTimeout);
2114
2291
  }
2115
2292
  this.#rLog.debug({ msg: "onStop completed" });
2116
2293
  } catch (error) {
2117
- if (error instanceof _chunkPELXJCJScjs.DeadlineError) {
2294
+ if (error instanceof _chunkB4QZKOMHcjs.DeadlineError) {
2118
2295
  this.#rLog.error({ msg: "onStop timed out" });
2119
2296
  } else {
2120
2297
  this.#rLog.error({
2121
2298
  msg: "error in onStop",
2122
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
2299
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
2123
2300
  });
2124
2301
  }
2125
2302
  }
@@ -2182,14 +2359,14 @@ var ActorInstance = class {
2182
2359
  // MARK: BARE Conversion Helpers
2183
2360
  #convertToBarePersisted(persist) {
2184
2361
  return {
2185
- input: persist.input !== void 0 ? _chunk6Z3YA6QRcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(persist.input)) : null,
2362
+ input: persist.input !== void 0 ? _chunkV6C34TVHcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(persist.input)) : null,
2186
2363
  hasInitialized: persist.hasInitiated,
2187
- state: _chunk6Z3YA6QRcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(persist.state)),
2364
+ state: _chunkV6C34TVHcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(persist.state)),
2188
2365
  connections: persist.connections.map((conn) => ({
2189
2366
  id: conn.connId,
2190
2367
  token: conn.token,
2191
- parameters: _chunk6Z3YA6QRcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(conn.params || {})),
2192
- state: _chunk6Z3YA6QRcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(conn.state || {})),
2368
+ parameters: _chunkV6C34TVHcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(conn.params || {})),
2369
+ state: _chunkV6C34TVHcjs.bufferToArrayBuffer.call(void 0, cbor2.encode(conn.state || {})),
2193
2370
  subscriptions: conn.subscriptions.map((sub) => ({
2194
2371
  eventName: sub.eventName
2195
2372
  })),
@@ -2205,6 +2382,11 @@ var ActorInstance = class {
2205
2382
  args: _nullishCoalesce(event.kind.generic.args, () => ( null))
2206
2383
  }
2207
2384
  }
2385
+ })),
2386
+ hibernatableWebSocket: persist.hibernatableWebSocket.map((ws) => ({
2387
+ requestId: ws.requestId,
2388
+ lastSeenTimestamp: ws.lastSeenTimestamp,
2389
+ msgIndex: ws.msgIndex
2208
2390
  }))
2209
2391
  };
2210
2392
  }
@@ -2232,6 +2414,11 @@ var ActorInstance = class {
2232
2414
  args: event.kind.val.args
2233
2415
  }
2234
2416
  }
2417
+ })),
2418
+ hibernatableWebSocket: bareData.hibernatableWebSocket.map((ws) => ({
2419
+ requestId: ws.requestId,
2420
+ lastSeenTimestamp: ws.lastSeenTimestamp,
2421
+ msgIndex: ws.msgIndex
2235
2422
  }))
2236
2423
  };
2237
2424
  }
@@ -2311,7 +2498,7 @@ async function importEventSource() {
2311
2498
  moduleName
2312
2499
  )));
2313
2500
  _EventSource = es.EventSource;
2314
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug("using eventsource from npm");
2501
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug("using eventsource from npm");
2315
2502
  } catch (err) {
2316
2503
  _EventSource = class MockEventSource {
2317
2504
  constructor() {
@@ -2320,7 +2507,7 @@ async function importEventSource() {
2320
2507
  );
2321
2508
  }
2322
2509
  };
2323
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug("using mock eventsource");
2510
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug("using mock eventsource");
2324
2511
  }
2325
2512
  return _EventSource;
2326
2513
  })();
@@ -2329,7 +2516,7 @@ async function importEventSource() {
2329
2516
 
2330
2517
  // src/client/actor-query.ts
2331
2518
  async function queryActor(c, query, managerDriver) {
2332
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "querying actor", query: JSON.stringify(query) });
2519
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "querying actor", query: JSON.stringify(query) });
2333
2520
  let actorOutput;
2334
2521
  if ("getForId" in query) {
2335
2522
  const output = await managerDriver.getForId({
@@ -2376,7 +2563,7 @@ async function queryActor(c, query, managerDriver) {
2376
2563
  } else {
2377
2564
  throw new (0, _chunkKSRXX3Z4cjs.InvalidRequest)("Invalid query format");
2378
2565
  }
2379
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "actor query result", actorId: actorOutput.actorId });
2566
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "actor query result", actorId: actorOutput.actorId });
2380
2567
  return { actorId: actorOutput.actorId };
2381
2568
  }
2382
2569
 
@@ -2426,13 +2613,13 @@ async function rawHttpFetch(driver, actorQuery, params, input, init) {
2426
2613
  }
2427
2614
  try {
2428
2615
  const { actorId } = await queryActor(void 0, actorQuery, driver);
2429
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "found actor for raw http", actorId });
2616
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "found actor for raw http", actorId });
2430
2617
  _invariant2.default.call(void 0, actorId, "Missing actor ID");
2431
2618
  const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
2432
2619
  const url = new URL(`http://actor/raw/http/${normalizedPath}`);
2433
2620
  const proxyRequestHeaders = new Headers(mergedInit.headers);
2434
2621
  if (params) {
2435
- proxyRequestHeaders.set(_chunkPELXJCJScjs.HEADER_CONN_PARAMS, JSON.stringify(params));
2622
+ proxyRequestHeaders.set(_chunkB4QZKOMHcjs.HEADER_CONN_PARAMS, JSON.stringify(params));
2436
2623
  }
2437
2624
  const proxyRequest = new Request(url, {
2438
2625
  ...mergedInit,
@@ -2440,9 +2627,9 @@ async function rawHttpFetch(driver, actorQuery, params, input, init) {
2440
2627
  });
2441
2628
  return driver.sendRequest(actorId, proxyRequest);
2442
2629
  } catch (err) {
2443
- const { group, code, message, metadata } = _chunk6Z3YA6QRcjs.deconstructError.call(void 0,
2630
+ const { group, code, message, metadata } = _chunkV6C34TVHcjs.deconstructError.call(void 0,
2444
2631
  err,
2445
- _chunkC2U6KGOGcjs.logger.call(void 0, ),
2632
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ),
2446
2633
  {},
2447
2634
  true
2448
2635
  );
@@ -2452,7 +2639,7 @@ async function rawHttpFetch(driver, actorQuery, params, input, init) {
2452
2639
  async function rawWebSocket(driver, actorQuery, params, path, protocols) {
2453
2640
  const encoding = "bare";
2454
2641
  const { actorId } = await queryActor(void 0, actorQuery, driver);
2455
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "found actor for action", actorId });
2642
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "found actor for action", actorId });
2456
2643
  _invariant2.default.call(void 0, actorId, "Missing actor ID");
2457
2644
  let pathPortion = "";
2458
2645
  let queryPortion = "";
@@ -2468,8 +2655,8 @@ async function rawWebSocket(driver, actorQuery, params, path, protocols) {
2468
2655
  pathPortion = pathPortion.slice(1);
2469
2656
  }
2470
2657
  }
2471
- const fullPath = `${_chunkPELXJCJScjs.PATH_RAW_WEBSOCKET_PREFIX}${pathPortion}${queryPortion}`;
2472
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
2658
+ const fullPath = `${_chunkB4QZKOMHcjs.PATH_RAW_WEBSOCKET_PREFIX}${pathPortion}${queryPortion}`;
2659
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
2473
2660
  msg: "opening websocket",
2474
2661
  actorId,
2475
2662
  encoding,
@@ -2495,10 +2682,10 @@ function messageLength(message) {
2495
2682
  if (typeof message === "string") {
2496
2683
  return message.length;
2497
2684
  }
2498
- _chunk6Z3YA6QRcjs.assertUnreachable.call(void 0, message);
2685
+ _chunkV6C34TVHcjs.assertUnreachable.call(void 0, message);
2499
2686
  }
2500
2687
  async function sendHttpRequest(opts) {
2501
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
2688
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
2502
2689
  msg: "sending http request",
2503
2690
  url: opts.url,
2504
2691
  encoding: opts.encoding
@@ -2507,8 +2694,8 @@ async function sendHttpRequest(opts) {
2507
2694
  let bodyData;
2508
2695
  if (opts.method === "POST" || opts.method === "PUT") {
2509
2696
  _invariant2.default.call(void 0, opts.body !== void 0, "missing body");
2510
- contentType = _chunkPELXJCJScjs.contentTypeForEncoding.call(void 0, opts.encoding);
2511
- bodyData = _chunkPELXJCJScjs.serializeWithEncoding.call(void 0,
2697
+ contentType = _chunkB4QZKOMHcjs.contentTypeForEncoding.call(void 0, opts.encoding);
2698
+ bodyData = _chunkB4QZKOMHcjs.serializeWithEncoding.call(void 0,
2512
2699
  opts.encoding,
2513
2700
  opts.body,
2514
2701
  opts.requestVersionedDataHandler
@@ -2524,7 +2711,7 @@ async function sendHttpRequest(opts) {
2524
2711
  ...contentType ? {
2525
2712
  "Content-Type": contentType
2526
2713
  } : {},
2527
- "User-Agent": _chunk6Z3YA6QRcjs.httpUserAgent.call(void 0, )
2714
+ "User-Agent": _chunkV6C34TVHcjs.httpUserAgent.call(void 0, )
2528
2715
  },
2529
2716
  body: bodyData,
2530
2717
  credentials: "include",
@@ -2540,10 +2727,10 @@ async function sendHttpRequest(opts) {
2540
2727
  const bufferResponse = await response.arrayBuffer();
2541
2728
  let responseData;
2542
2729
  try {
2543
- responseData = _chunkPELXJCJScjs.deserializeWithEncoding.call(void 0,
2730
+ responseData = _chunkB4QZKOMHcjs.deserializeWithEncoding.call(void 0,
2544
2731
  opts.encoding,
2545
2732
  new Uint8Array(bufferResponse),
2546
- _chunkBIOPK7IBcjs.HTTP_RESPONSE_ERROR_VERSIONED
2733
+ _chunkTI72NLP3cjs.HTTP_RESPONSE_ERROR_VERSIONED
2547
2734
  );
2548
2735
  } catch (error) {
2549
2736
  const textResponse = new TextDecoder("utf-8", {
@@ -2563,7 +2750,7 @@ ${textResponse}`
2563
2750
  }
2564
2751
  }
2565
2752
  let decodedMetadata;
2566
- if (responseData.metadata && _chunkPELXJCJScjs.encodingIsBinary.call(void 0, opts.encoding)) {
2753
+ if (responseData.metadata && _chunkB4QZKOMHcjs.encodingIsBinary.call(void 0, opts.encoding)) {
2567
2754
  decodedMetadata = cbor3.decode(
2568
2755
  new Uint8Array(responseData.metadata)
2569
2756
  );
@@ -2580,7 +2767,7 @@ ${textResponse}`
2580
2767
  }
2581
2768
  try {
2582
2769
  const buffer = new Uint8Array(await response.arrayBuffer());
2583
- return _chunkPELXJCJScjs.deserializeWithEncoding.call(void 0,
2770
+ return _chunkB4QZKOMHcjs.deserializeWithEncoding.call(void 0,
2584
2771
  opts.encoding,
2585
2772
  buffer,
2586
2773
  opts.responseVersionedDataHandler
@@ -2627,9 +2814,9 @@ var ActorHandleRaw = class {
2627
2814
  this.#actorQuery,
2628
2815
  this.#driver
2629
2816
  );
2630
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "found actor for action", actorId });
2817
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "found actor for action", actorId });
2631
2818
  _invariant2.default.call(void 0, actorId, "Missing actor ID");
2632
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
2819
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
2633
2820
  msg: "handling action",
2634
2821
  name: opts.name,
2635
2822
  encoding: this.#encoding
@@ -2638,11 +2825,11 @@ var ActorHandleRaw = class {
2638
2825
  url: `http://actor/action/${encodeURIComponent(opts.name)}`,
2639
2826
  method: "POST",
2640
2827
  headers: {
2641
- [_chunkPELXJCJScjs.HEADER_ENCODING]: this.#encoding,
2642
- ...this.#params !== void 0 ? { [_chunkPELXJCJScjs.HEADER_CONN_PARAMS]: JSON.stringify(this.#params) } : {}
2828
+ [_chunkB4QZKOMHcjs.HEADER_ENCODING]: this.#encoding,
2829
+ ...this.#params !== void 0 ? { [_chunkB4QZKOMHcjs.HEADER_CONN_PARAMS]: JSON.stringify(this.#params) } : {}
2643
2830
  },
2644
2831
  body: {
2645
- args: _chunk6Z3YA6QRcjs.bufferToArrayBuffer.call(void 0, cbor4.encode(opts.args))
2832
+ args: _chunkV6C34TVHcjs.bufferToArrayBuffer.call(void 0, cbor4.encode(opts.args))
2646
2833
  },
2647
2834
  encoding: this.#encoding,
2648
2835
  customFetch: this.#driver.sendRequest.bind(
@@ -2650,14 +2837,14 @@ var ActorHandleRaw = class {
2650
2837
  actorId
2651
2838
  ),
2652
2839
  signal: opts == null ? void 0 : opts.signal,
2653
- requestVersionedDataHandler: _chunkBIOPK7IBcjs.HTTP_ACTION_REQUEST_VERSIONED,
2654
- responseVersionedDataHandler: _chunkBIOPK7IBcjs.HTTP_ACTION_RESPONSE_VERSIONED
2840
+ requestVersionedDataHandler: _chunkTI72NLP3cjs.HTTP_ACTION_REQUEST_VERSIONED,
2841
+ responseVersionedDataHandler: _chunkTI72NLP3cjs.HTTP_ACTION_RESPONSE_VERSIONED
2655
2842
  });
2656
2843
  return cbor4.decode(new Uint8Array(responseData.output));
2657
2844
  } catch (err) {
2658
- const { group, code, message, metadata } = _chunk6Z3YA6QRcjs.deconstructError.call(void 0,
2845
+ const { group, code, message, metadata } = _chunkV6C34TVHcjs.deconstructError.call(void 0,
2659
2846
  err,
2660
- _chunkC2U6KGOGcjs.logger.call(void 0, ),
2847
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ),
2661
2848
  {},
2662
2849
  true
2663
2850
  );
@@ -2671,7 +2858,7 @@ var ActorHandleRaw = class {
2671
2858
  * @returns {ActorConn<AD>} A connection to the actor.
2672
2859
  */
2673
2860
  connect() {
2674
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
2861
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
2675
2862
  msg: "establishing connection from handle",
2676
2863
  query: this.#actorQuery
2677
2864
  });
@@ -2731,7 +2918,7 @@ var ActorHandleRaw = class {
2731
2918
  } else if ("getOrCreateForKey" in this.#actorQuery) {
2732
2919
  name = this.#actorQuery.getOrCreateForKey.name;
2733
2920
  } else {
2734
- _chunkPELXJCJScjs.assertUnreachable.call(void 0, this.#actorQuery);
2921
+ _chunkB4QZKOMHcjs.assertUnreachable.call(void 0, this.#actorQuery);
2735
2922
  }
2736
2923
  const { actorId } = await queryActor(
2737
2924
  void 0,
@@ -2745,7 +2932,7 @@ var ActorHandleRaw = class {
2745
2932
  } else if ("create" in this.#actorQuery) {
2746
2933
  _invariant2.default.call(void 0, false, "actorQuery cannot be create");
2747
2934
  } else {
2748
- _chunkPELXJCJScjs.assertUnreachable.call(void 0, this.#actorQuery);
2935
+ _chunkB4QZKOMHcjs.assertUnreachable.call(void 0, this.#actorQuery);
2749
2936
  }
2750
2937
  }
2751
2938
  };
@@ -2778,7 +2965,7 @@ var ClientRaw = (_class4 = class {
2778
2965
  * @returns {ActorHandle<AD>} - A handle to the actor.
2779
2966
  */
2780
2967
  getForId(name, actorId, opts) {
2781
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
2968
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
2782
2969
  msg: "get handle to actor with id",
2783
2970
  name,
2784
2971
  actorId,
@@ -2804,7 +2991,7 @@ var ClientRaw = (_class4 = class {
2804
2991
  */
2805
2992
  get(name, key, opts) {
2806
2993
  const keyArray = typeof key === "string" ? [key] : key || [];
2807
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
2994
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
2808
2995
  msg: "get handle to actor",
2809
2996
  name,
2810
2997
  key: keyArray,
@@ -2830,7 +3017,7 @@ var ClientRaw = (_class4 = class {
2830
3017
  */
2831
3018
  getOrCreate(name, key, opts) {
2832
3019
  const keyArray = typeof key === "string" ? [key] : key || [];
2833
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3020
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
2834
3021
  msg: "get or create handle to actor",
2835
3022
  name,
2836
3023
  key: keyArray,
@@ -2868,7 +3055,7 @@ var ClientRaw = (_class4 = class {
2868
3055
  key: keyArray
2869
3056
  }
2870
3057
  };
2871
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3058
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
2872
3059
  msg: "create actor handle",
2873
3060
  name,
2874
3061
  key: keyArray,
@@ -2880,7 +3067,7 @@ var ClientRaw = (_class4 = class {
2880
3067
  createQuery,
2881
3068
  this.#driver
2882
3069
  );
2883
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3070
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
2884
3071
  msg: "created actor with ID",
2885
3072
  name,
2886
3073
  key: keyArray,
@@ -2917,11 +3104,11 @@ var ClientRaw = (_class4 = class {
2917
3104
  */
2918
3105
  async dispose() {
2919
3106
  if (this.#disposed) {
2920
- _chunkC2U6KGOGcjs.logger.call(void 0, ).warn({ msg: "client already disconnected" });
3107
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).warn({ msg: "client already disconnected" });
2921
3108
  return;
2922
3109
  }
2923
3110
  this.#disposed = true;
2924
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "disposing client" });
3111
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "disposing client" });
2925
3112
  const disposePromises = [];
2926
3113
  for (const conn of this[ACTOR_CONNS_SYMBOL].values()) {
2927
3114
  disposePromises.push(conn.dispose());
@@ -3081,10 +3268,10 @@ var ActorConnRaw = class {
3081
3268
  * @returns {Promise<Response>} - A promise that resolves to the response of the action function.
3082
3269
  */
3083
3270
  async action(opts) {
3084
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "action", name: opts.name, args: opts.args });
3271
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "action", name: opts.name, args: opts.args });
3085
3272
  const actionId = this.#actionIdCounter;
3086
3273
  this.#actionIdCounter += 1;
3087
- const { promise, resolve, reject } = _chunk6Z3YA6QRcjs.promiseWithResolvers.call(void 0, );
3274
+ const { promise, resolve, reject } = _chunkV6C34TVHcjs.promiseWithResolvers.call(void 0, );
3088
3275
  this.#actionsInFlight.set(actionId, {
3089
3276
  name: opts.name,
3090
3277
  resolve,
@@ -3096,7 +3283,7 @@ var ActorConnRaw = class {
3096
3283
  val: {
3097
3284
  id: BigInt(actionId),
3098
3285
  name: opts.name,
3099
- args: _chunk6Z3YA6QRcjs.bufferToArrayBuffer.call(void 0, cbor5.encode(opts.args))
3286
+ args: _chunkV6C34TVHcjs.bufferToArrayBuffer.call(void 0, cbor5.encode(opts.args))
3100
3287
  }
3101
3288
  }
3102
3289
  });
@@ -3125,10 +3312,10 @@ var ActorConnRaw = class {
3125
3312
  minTimeout: 250,
3126
3313
  maxTimeout: 3e4,
3127
3314
  onFailedAttempt: (error) => {
3128
- _chunkC2U6KGOGcjs.logger.call(void 0, ).warn({
3315
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).warn({
3129
3316
  msg: "failed to reconnect",
3130
3317
  attempt: error.attemptNumber,
3131
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
3318
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
3132
3319
  });
3133
3320
  },
3134
3321
  // Cancel retry if aborted
@@ -3136,7 +3323,7 @@ var ActorConnRaw = class {
3136
3323
  });
3137
3324
  } catch (err) {
3138
3325
  if (err.name === "AbortError") {
3139
- _chunkC2U6KGOGcjs.logger.call(void 0, ).info({ msg: "connection retry aborted" });
3326
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).info({ msg: "connection retry aborted" });
3140
3327
  return;
3141
3328
  } else {
3142
3329
  throw err;
@@ -3148,13 +3335,13 @@ var ActorConnRaw = class {
3148
3335
  try {
3149
3336
  if (this.#onOpenPromise)
3150
3337
  throw new Error("#onOpenPromise already defined");
3151
- this.#onOpenPromise = _chunk6Z3YA6QRcjs.promiseWithResolvers.call(void 0, );
3338
+ this.#onOpenPromise = _chunkV6C34TVHcjs.promiseWithResolvers.call(void 0, );
3152
3339
  if (this.#client[TRANSPORT_SYMBOL] === "websocket") {
3153
3340
  await this.#connectWebSocket();
3154
3341
  } else if (this.#client[TRANSPORT_SYMBOL] === "sse") {
3155
3342
  await this.#connectSse();
3156
3343
  } else {
3157
- _chunk6Z3YA6QRcjs.assertUnreachable.call(void 0, this.#client[TRANSPORT_SYMBOL]);
3344
+ _chunkV6C34TVHcjs.assertUnreachable.call(void 0, this.#client[TRANSPORT_SYMBOL]);
3158
3345
  }
3159
3346
  await this.#onOpenPromise.promise;
3160
3347
  } finally {
@@ -3169,13 +3356,13 @@ var ActorConnRaw = class {
3169
3356
  );
3170
3357
  const isReconnection = this.#connectionId && this.#connectionToken;
3171
3358
  if (isReconnection) {
3172
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3359
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3173
3360
  msg: "attempting websocket reconnection",
3174
3361
  connectionId: this.#connectionId
3175
3362
  });
3176
3363
  }
3177
3364
  const ws = await this.#driver.openWebSocket(
3178
- _chunkPELXJCJScjs.PATH_CONNECT_WEBSOCKET,
3365
+ _chunkB4QZKOMHcjs.PATH_CONNECT_WEBSOCKET,
3179
3366
  actorId,
3180
3367
  this.#encoding,
3181
3368
  this.#params,
@@ -3183,7 +3370,7 @@ var ActorConnRaw = class {
3183
3370
  isReconnection ? this.#connectionId : void 0,
3184
3371
  isReconnection ? this.#connectionToken : void 0
3185
3372
  );
3186
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3373
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3187
3374
  msg: "transport set to new websocket",
3188
3375
  connectionId: this.#connectionId,
3189
3376
  readyState: ws.readyState,
@@ -3191,7 +3378,7 @@ var ActorConnRaw = class {
3191
3378
  });
3192
3379
  this.#transport = { websocket: ws };
3193
3380
  ws.addEventListener("open", () => {
3194
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3381
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3195
3382
  msg: "client websocket open",
3196
3383
  connectionId: this.#connectionId
3197
3384
  });
@@ -3200,9 +3387,9 @@ var ActorConnRaw = class {
3200
3387
  try {
3201
3388
  await this.#handleOnMessage(ev.data);
3202
3389
  } catch (err) {
3203
- _chunkC2U6KGOGcjs.logger.call(void 0, ).error({
3390
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).error({
3204
3391
  msg: "error in websocket message handler",
3205
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, err)
3392
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, err)
3206
3393
  });
3207
3394
  }
3208
3395
  });
@@ -3210,9 +3397,9 @@ var ActorConnRaw = class {
3210
3397
  try {
3211
3398
  this.#handleOnClose(ev);
3212
3399
  } catch (err) {
3213
- _chunkC2U6KGOGcjs.logger.call(void 0, ).error({
3400
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).error({
3214
3401
  msg: "error in websocket close handler",
3215
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, err)
3402
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, err)
3216
3403
  });
3217
3404
  }
3218
3405
  });
@@ -3220,9 +3407,9 @@ var ActorConnRaw = class {
3220
3407
  try {
3221
3408
  this.#handleOnError();
3222
3409
  } catch (err) {
3223
- _chunkC2U6KGOGcjs.logger.call(void 0, ).error({
3410
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).error({
3224
3411
  msg: "error in websocket error handler",
3225
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, err)
3412
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, err)
3226
3413
  });
3227
3414
  }
3228
3415
  });
@@ -3234,9 +3421,9 @@ var ActorConnRaw = class {
3234
3421
  this.#actorQuery,
3235
3422
  this.#driver
3236
3423
  );
3237
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "found actor for sse connection", actorId });
3424
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "found actor for sse connection", actorId });
3238
3425
  _invariant2.default.call(void 0, actorId, "Missing actor ID");
3239
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3426
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3240
3427
  msg: "opening sse connection",
3241
3428
  actorId,
3242
3429
  encoding: this.#encoding
@@ -3250,16 +3437,16 @@ var ActorConnRaw = class {
3250
3437
  ...init,
3251
3438
  headers: {
3252
3439
  ...init == null ? void 0 : init.headers,
3253
- "User-Agent": _chunk6Z3YA6QRcjs.httpUserAgent.call(void 0, ),
3254
- [_chunkPELXJCJScjs.HEADER_ENCODING]: this.#encoding,
3440
+ "User-Agent": _chunkV6C34TVHcjs.httpUserAgent.call(void 0, ),
3441
+ [_chunkB4QZKOMHcjs.HEADER_ENCODING]: this.#encoding,
3255
3442
  ...this.#params !== void 0 ? {
3256
- [_chunkPELXJCJScjs.HEADER_CONN_PARAMS]: JSON.stringify(
3443
+ [_chunkB4QZKOMHcjs.HEADER_CONN_PARAMS]: JSON.stringify(
3257
3444
  this.#params
3258
3445
  )
3259
3446
  } : {},
3260
3447
  ...isReconnection ? {
3261
- [_chunkPELXJCJScjs.HEADER_CONN_ID]: this.#connectionId,
3262
- [_chunkPELXJCJScjs.HEADER_CONN_TOKEN]: this.#connectionToken
3448
+ [_chunkB4QZKOMHcjs.HEADER_CONN_ID]: this.#connectionId,
3449
+ [_chunkB4QZKOMHcjs.HEADER_CONN_TOKEN]: this.#connectionToken
3263
3450
  } : {}
3264
3451
  }
3265
3452
  })
@@ -3277,7 +3464,7 @@ var ActorConnRaw = class {
3277
3464
  }
3278
3465
  /** Called by the onopen event from drivers. */
3279
3466
  #handleOnOpen() {
3280
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3467
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3281
3468
  msg: "socket open",
3282
3469
  messageQueueLength: this.#messageQueue.length,
3283
3470
  connectionId: this.#connectionId
@@ -3285,14 +3472,14 @@ var ActorConnRaw = class {
3285
3472
  if (this.#onOpenPromise) {
3286
3473
  this.#onOpenPromise.resolve(void 0);
3287
3474
  } else {
3288
- _chunkC2U6KGOGcjs.logger.call(void 0, ).warn({ msg: "#onOpenPromise is undefined" });
3475
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).warn({ msg: "#onOpenPromise is undefined" });
3289
3476
  }
3290
3477
  for (const eventName of this.#eventSubscriptions.keys()) {
3291
3478
  this.#sendSubscription(eventName, true);
3292
3479
  }
3293
3480
  const queue = this.#messageQueue;
3294
3481
  this.#messageQueue = [];
3295
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3482
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3296
3483
  msg: "flushing message queue",
3297
3484
  queueLength: queue.length
3298
3485
  });
@@ -3302,24 +3489,24 @@ var ActorConnRaw = class {
3302
3489
  }
3303
3490
  /** Called by the onmessage event from drivers. */
3304
3491
  async #handleOnMessage(data) {
3305
- _chunkC2U6KGOGcjs.logger.call(void 0, ).trace({
3492
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).trace({
3306
3493
  msg: "received message",
3307
3494
  dataType: typeof data,
3308
3495
  isBlob: data instanceof Blob,
3309
3496
  isArrayBuffer: data instanceof ArrayBuffer
3310
3497
  });
3311
3498
  const response = await this.#parseMessage(data);
3312
- _chunkC2U6KGOGcjs.logger.call(void 0, ).trace(
3313
- _chunk6Z3YA6QRcjs.getEnvUniversal.call(void 0, "_RIVETKIT_LOG_MESSAGE") ? {
3499
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).trace(
3500
+ _chunkV6C34TVHcjs.getEnvUniversal.call(void 0, "_RIVETKIT_LOG_MESSAGE") ? {
3314
3501
  msg: "parsed message",
3315
- message: _chunkPELXJCJScjs.jsonStringifyCompat.call(void 0, response).substring(0, 100) + "..."
3502
+ message: _chunkB4QZKOMHcjs.jsonStringifyCompat.call(void 0, response).substring(0, 100) + "..."
3316
3503
  } : { msg: "parsed message" }
3317
3504
  );
3318
3505
  if (response.body.tag === "Init") {
3319
3506
  this.#actorId = response.body.val.actorId;
3320
3507
  this.#connectionId = response.body.val.connectionId;
3321
3508
  this.#connectionToken = response.body.val.connectionToken;
3322
- _chunkC2U6KGOGcjs.logger.call(void 0, ).trace({
3509
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).trace({
3323
3510
  msg: "received init message",
3324
3511
  actorId: this.#actorId,
3325
3512
  connectionId: this.#connectionId
@@ -3329,7 +3516,7 @@ var ActorConnRaw = class {
3329
3516
  const { group, code, message, metadata, actionId } = response.body.val;
3330
3517
  if (actionId) {
3331
3518
  const inFlight = this.#takeActionInFlight(Number(actionId));
3332
- _chunkC2U6KGOGcjs.logger.call(void 0, ).warn({
3519
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).warn({
3333
3520
  msg: "action error",
3334
3521
  actionId,
3335
3522
  actionName: inFlight == null ? void 0 : inFlight.name,
@@ -3342,7 +3529,7 @@ var ActorConnRaw = class {
3342
3529
  new ActorError(group, code, message, metadata)
3343
3530
  );
3344
3531
  } else {
3345
- _chunkC2U6KGOGcjs.logger.call(void 0, ).warn({
3532
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).warn({
3346
3533
  msg: "connection error",
3347
3534
  group,
3348
3535
  code,
@@ -3366,35 +3553,39 @@ var ActorConnRaw = class {
3366
3553
  }
3367
3554
  } else if (response.body.tag === "ActionResponse") {
3368
3555
  const { id: actionId } = response.body.val;
3369
- _chunkC2U6KGOGcjs.logger.call(void 0, ).trace({
3556
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).trace({
3370
3557
  msg: "received action response",
3371
3558
  actionId
3372
3559
  });
3373
3560
  const inFlight = this.#takeActionInFlight(Number(actionId));
3374
- _chunkC2U6KGOGcjs.logger.call(void 0, ).trace({
3561
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).trace({
3375
3562
  msg: "resolving action promise",
3376
3563
  actionId,
3377
3564
  actionName: inFlight == null ? void 0 : inFlight.name
3378
3565
  });
3379
3566
  inFlight.resolve(response.body.val);
3380
3567
  } else if (response.body.tag === "Event") {
3381
- _chunkC2U6KGOGcjs.logger.call(void 0, ).trace({
3568
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).trace({
3382
3569
  msg: "received event",
3383
3570
  name: response.body.val.name
3384
3571
  });
3385
3572
  this.#dispatchEvent(response.body.val);
3386
3573
  } else {
3387
- _chunk6Z3YA6QRcjs.assertUnreachable.call(void 0, response.body);
3574
+ _chunkV6C34TVHcjs.assertUnreachable.call(void 0, response.body);
3388
3575
  }
3389
3576
  }
3390
3577
  /** Called by the onclose event from drivers. */
3391
3578
  #handleOnClose(event) {
3392
- if (this.#onOpenPromise) {
3393
- this.#onOpenPromise.reject(new Error("Closed"));
3394
- }
3395
3579
  const closeEvent = event;
3396
3580
  const wasClean = closeEvent.wasClean;
3397
- _chunkC2U6KGOGcjs.logger.call(void 0, ).info({
3581
+ if (this.#onOpenPromise) {
3582
+ this.#onOpenPromise.reject(
3583
+ new Error(
3584
+ `websocket closed with code ${closeEvent.code}: ${closeEvent.reason}`
3585
+ )
3586
+ );
3587
+ }
3588
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).info({
3398
3589
  msg: "socket closed",
3399
3590
  code: closeEvent.code,
3400
3591
  reason: closeEvent.reason,
@@ -3404,7 +3595,7 @@ var ActorConnRaw = class {
3404
3595
  actionsInFlight: this.#actionsInFlight.size
3405
3596
  });
3406
3597
  if (this.#actionsInFlight.size > 0) {
3407
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3598
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3408
3599
  msg: "rejecting in-flight actions after disconnect",
3409
3600
  count: this.#actionsInFlight.size,
3410
3601
  connectionId: this.#connectionId,
@@ -3420,7 +3611,7 @@ var ActorConnRaw = class {
3420
3611
  }
3421
3612
  this.#transport = void 0;
3422
3613
  if (!this.#disposed && !this.#connecting) {
3423
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3614
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3424
3615
  msg: "triggering reconnect",
3425
3616
  connectionId: this.#connectionId,
3426
3617
  messageQueueLength: this.#messageQueue.length
@@ -3431,7 +3622,7 @@ var ActorConnRaw = class {
3431
3622
  /** Called by the onerror event from drivers. */
3432
3623
  #handleOnError() {
3433
3624
  if (this.#disposed) return;
3434
- _chunkC2U6KGOGcjs.logger.call(void 0, ).warn("socket error");
3625
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).warn("socket error");
3435
3626
  }
3436
3627
  #takeActionInFlight(id) {
3437
3628
  const inFlight = this.#actionsInFlight.get(id);
@@ -3461,9 +3652,9 @@ var ActorConnRaw = class {
3461
3652
  try {
3462
3653
  handler(error);
3463
3654
  } catch (err) {
3464
- _chunkC2U6KGOGcjs.logger.call(void 0, ).error({
3655
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).error({
3465
3656
  msg: "error in connection error handler",
3466
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, err)
3657
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, err)
3467
3658
  });
3468
3659
  }
3469
3660
  }
@@ -3534,11 +3725,11 @@ var ActorConnRaw = class {
3534
3725
  }
3535
3726
  let queueMessage = false;
3536
3727
  if (!this.#transport) {
3537
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "no transport, queueing message" });
3728
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "no transport, queueing message" });
3538
3729
  queueMessage = true;
3539
3730
  } else if ("websocket" in this.#transport) {
3540
3731
  const readyState = this.#transport.websocket.readyState;
3541
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3732
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3542
3733
  msg: "websocket send attempt",
3543
3734
  readyState,
3544
3735
  readyStateString: readyState === 0 ? "CONNECTING" : readyState === 1 ? "OPEN" : readyState === 2 ? "CLOSING" : "CLOSED",
@@ -3548,18 +3739,18 @@ var ActorConnRaw = class {
3548
3739
  });
3549
3740
  if (readyState === 1) {
3550
3741
  try {
3551
- const messageSerialized = _chunkPELXJCJScjs.serializeWithEncoding.call(void 0,
3742
+ const messageSerialized = _chunkB4QZKOMHcjs.serializeWithEncoding.call(void 0,
3552
3743
  this.#encoding,
3553
3744
  message,
3554
- _chunkBIOPK7IBcjs.TO_SERVER_VERSIONED
3745
+ _chunkTI72NLP3cjs.TO_SERVER_VERSIONED
3555
3746
  );
3556
3747
  this.#transport.websocket.send(messageSerialized);
3557
- _chunkC2U6KGOGcjs.logger.call(void 0, ).trace({
3748
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).trace({
3558
3749
  msg: "sent websocket message",
3559
3750
  len: messageLength(messageSerialized)
3560
3751
  });
3561
3752
  } catch (error) {
3562
- _chunkC2U6KGOGcjs.logger.call(void 0, ).warn({
3753
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).warn({
3563
3754
  msg: "failed to send message, added to queue",
3564
3755
  error,
3565
3756
  connectionId: this.#connectionId
@@ -3567,7 +3758,7 @@ var ActorConnRaw = class {
3567
3758
  queueMessage = true;
3568
3759
  }
3569
3760
  } else {
3570
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3761
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3571
3762
  msg: "websocket not open, queueing message",
3572
3763
  readyState
3573
3764
  });
@@ -3580,11 +3771,11 @@ var ActorConnRaw = class {
3580
3771
  queueMessage = true;
3581
3772
  }
3582
3773
  } else {
3583
- _chunk6Z3YA6QRcjs.assertUnreachable.call(void 0, this.#transport);
3774
+ _chunkV6C34TVHcjs.assertUnreachable.call(void 0, this.#transport);
3584
3775
  }
3585
3776
  if (!(opts == null ? void 0 : opts.ephemeral) && queueMessage) {
3586
3777
  this.#messageQueue.push(message);
3587
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3778
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3588
3779
  msg: "queued connection message",
3589
3780
  queueLength: this.#messageQueue.length,
3590
3781
  connectionId: this.#connectionId,
@@ -3599,13 +3790,13 @@ var ActorConnRaw = class {
3599
3790
  throw new InternalError2(
3600
3791
  "Missing connection ID or token."
3601
3792
  );
3602
- _chunkC2U6KGOGcjs.logger.call(void 0, ).trace(
3603
- _chunk6Z3YA6QRcjs.getEnvUniversal.call(void 0, "_RIVETKIT_LOG_MESSAGE") ? {
3793
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).trace(
3794
+ _chunkV6C34TVHcjs.getEnvUniversal.call(void 0, "_RIVETKIT_LOG_MESSAGE") ? {
3604
3795
  msg: "sent http message",
3605
- message: `${_chunkPELXJCJScjs.jsonStringifyCompat.call(void 0, message).substring(0, 100)}...`
3796
+ message: `${_chunkB4QZKOMHcjs.jsonStringifyCompat.call(void 0, message).substring(0, 100)}...`
3606
3797
  } : { msg: "sent http message" }
3607
3798
  );
3608
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({
3799
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({
3609
3800
  msg: "sending http message",
3610
3801
  actorId: this.#actorId,
3611
3802
  connectionId: this.#connectionId
@@ -3614,9 +3805,9 @@ var ActorConnRaw = class {
3614
3805
  url: "http://actor/connections/message",
3615
3806
  method: "POST",
3616
3807
  headers: {
3617
- [_chunkPELXJCJScjs.HEADER_ENCODING]: this.#encoding,
3618
- [_chunkPELXJCJScjs.HEADER_CONN_ID]: this.#connectionId,
3619
- [_chunkPELXJCJScjs.HEADER_CONN_TOKEN]: this.#connectionToken
3808
+ [_chunkB4QZKOMHcjs.HEADER_ENCODING]: this.#encoding,
3809
+ [_chunkB4QZKOMHcjs.HEADER_CONN_ID]: this.#connectionId,
3810
+ [_chunkB4QZKOMHcjs.HEADER_CONN_TOKEN]: this.#connectionToken
3620
3811
  },
3621
3812
  body: message,
3622
3813
  encoding: this.#encoding,
@@ -3625,11 +3816,11 @@ var ActorConnRaw = class {
3625
3816
  this.#driver,
3626
3817
  this.#actorId
3627
3818
  ),
3628
- requestVersionedDataHandler: _chunkBIOPK7IBcjs.TO_SERVER_VERSIONED,
3629
- responseVersionedDataHandler: _chunkBIOPK7IBcjs.TO_CLIENT_VERSIONED
3819
+ requestVersionedDataHandler: _chunkTI72NLP3cjs.TO_SERVER_VERSIONED,
3820
+ responseVersionedDataHandler: _chunkTI72NLP3cjs.TO_CLIENT_VERSIONED
3630
3821
  });
3631
3822
  } catch (error) {
3632
- _chunkC2U6KGOGcjs.logger.call(void 0, ).warn({
3823
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).warn({
3633
3824
  msg: "failed to send message, added to queue",
3634
3825
  error
3635
3826
  });
@@ -3640,7 +3831,7 @@ var ActorConnRaw = class {
3640
3831
  }
3641
3832
  async #parseMessage(data) {
3642
3833
  _invariant2.default.call(void 0, this.#transport, "transport must be defined");
3643
- if (_chunkPELXJCJScjs.encodingIsBinary.call(void 0, this.#encoding) && "sse" in this.#transport) {
3834
+ if (_chunkB4QZKOMHcjs.encodingIsBinary.call(void 0, this.#encoding) && "sse" in this.#transport) {
3644
3835
  if (typeof data === "string") {
3645
3836
  const binaryString = atob(data);
3646
3837
  data = new Uint8Array(
@@ -3652,11 +3843,11 @@ var ActorConnRaw = class {
3652
3843
  );
3653
3844
  }
3654
3845
  }
3655
- const buffer = await _chunkBIOPK7IBcjs.inputDataToBuffer.call(void 0, data);
3656
- return _chunkPELXJCJScjs.deserializeWithEncoding.call(void 0,
3846
+ const buffer = await _chunkTI72NLP3cjs.inputDataToBuffer.call(void 0, data);
3847
+ return _chunkB4QZKOMHcjs.deserializeWithEncoding.call(void 0,
3657
3848
  this.#encoding,
3658
3849
  buffer,
3659
- _chunkBIOPK7IBcjs.TO_CLIENT_VERSIONED
3850
+ _chunkTI72NLP3cjs.TO_CLIENT_VERSIONED
3660
3851
  );
3661
3852
  }
3662
3853
  /**
@@ -3680,39 +3871,39 @@ var ActorConnRaw = class {
3680
3871
  */
3681
3872
  async dispose() {
3682
3873
  if (this.#disposed) {
3683
- _chunkC2U6KGOGcjs.logger.call(void 0, ).warn({ msg: "connection already disconnected" });
3874
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).warn({ msg: "connection already disconnected" });
3684
3875
  return;
3685
3876
  }
3686
3877
  this.#disposed = true;
3687
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "disposing actor conn" });
3878
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "disposing actor conn" });
3688
3879
  clearInterval(this.#keepNodeAliveInterval);
3689
3880
  this.#abortController.abort();
3690
3881
  this.#client[ACTOR_CONNS_SYMBOL].delete(this);
3691
3882
  if (!this.#transport) {
3692
3883
  } else if ("websocket" in this.#transport) {
3693
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug("closing ws");
3884
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug("closing ws");
3694
3885
  const ws = this.#transport.websocket;
3695
3886
  if (ws.readyState === 2 || ws.readyState === 3) {
3696
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "ws already closed or closing" });
3887
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "ws already closed or closing" });
3697
3888
  } else {
3698
- const { promise, resolve } = _chunk6Z3YA6QRcjs.promiseWithResolvers.call(void 0, );
3889
+ const { promise, resolve } = _chunkV6C34TVHcjs.promiseWithResolvers.call(void 0, );
3699
3890
  ws.addEventListener("close", () => {
3700
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug({ msg: "ws closed" });
3891
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug({ msg: "ws closed" });
3701
3892
  resolve(void 0);
3702
3893
  });
3703
3894
  ws.close(1e3, "Normal closure");
3704
3895
  await promise;
3705
3896
  }
3706
3897
  } else if ("sse" in this.#transport) {
3707
- _chunkC2U6KGOGcjs.logger.call(void 0, ).debug("closing sse");
3898
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).debug("closing sse");
3708
3899
  if (this.#connectionId && this.#connectionToken) {
3709
3900
  try {
3710
3901
  await sendHttpRequest({
3711
3902
  url: "http://actor/connections/close",
3712
3903
  method: "POST",
3713
3904
  headers: {
3714
- [_chunkPELXJCJScjs.HEADER_CONN_ID]: this.#connectionId,
3715
- [_chunkPELXJCJScjs.HEADER_CONN_TOKEN]: this.#connectionToken
3905
+ [_chunkB4QZKOMHcjs.HEADER_CONN_ID]: this.#connectionId,
3906
+ [_chunkB4QZKOMHcjs.HEADER_CONN_TOKEN]: this.#connectionToken
3716
3907
  },
3717
3908
  encoding: this.#encoding,
3718
3909
  skipParseResponse: true,
@@ -3720,11 +3911,11 @@ var ActorConnRaw = class {
3720
3911
  this.#driver,
3721
3912
  this.#actorId
3722
3913
  ),
3723
- requestVersionedDataHandler: _chunkBIOPK7IBcjs.TO_SERVER_VERSIONED,
3724
- responseVersionedDataHandler: _chunkBIOPK7IBcjs.TO_CLIENT_VERSIONED
3914
+ requestVersionedDataHandler: _chunkTI72NLP3cjs.TO_SERVER_VERSIONED,
3915
+ responseVersionedDataHandler: _chunkTI72NLP3cjs.TO_CLIENT_VERSIONED
3725
3916
  });
3726
3917
  } catch (error) {
3727
- _chunkC2U6KGOGcjs.logger.call(void 0, ).warn({
3918
+ _chunkAR4S2QJ7cjs.logger.call(void 0, ).warn({
3728
3919
  msg: "failed to send close request",
3729
3920
  error
3730
3921
  });
@@ -3732,7 +3923,7 @@ var ActorConnRaw = class {
3732
3923
  }
3733
3924
  this.#transport.sse.close();
3734
3925
  } else {
3735
- _chunk6Z3YA6QRcjs.assertUnreachable.call(void 0, this.#transport);
3926
+ _chunkV6C34TVHcjs.assertUnreachable.call(void 0, this.#transport);
3736
3927
  }
3737
3928
  this.#transport = void 0;
3738
3929
  }
@@ -3758,7 +3949,7 @@ var ActorConnRaw = class {
3758
3949
 
3759
3950
  // src/remote-manager-driver/log.ts
3760
3951
  function logger2() {
3761
- return _chunkVJLGVVGPcjs.getLogger.call(void 0, "remote-manager-driver");
3952
+ return _chunkHZ4ZM3FLcjs.getLogger.call(void 0, "remote-manager-driver");
3762
3953
  }
3763
3954
 
3764
3955
  // src/remote-manager-driver/api-utils.ts
@@ -3775,7 +3966,7 @@ function getEndpoint(config) {
3775
3966
  }
3776
3967
  async function apiCall(config, method, path, body) {
3777
3968
  const endpoint = getEndpoint(config);
3778
- const url = _chunk6Z3YA6QRcjs.combineUrlPath.call(void 0, endpoint, path, {
3969
+ const url = _chunkV6C34TVHcjs.combineUrlPath.call(void 0, endpoint, path, {
3779
3970
  namespace: config.namespace
3780
3971
  });
3781
3972
  logger2().debug({ msg: "making api call", method, url });
@@ -3801,7 +3992,10 @@ async function apiCall(config, method, path, body) {
3801
3992
  async function sendHttpRequestToActor(runConfig, actorId, actorRequest) {
3802
3993
  const url = new URL(actorRequest.url);
3803
3994
  const endpoint = getEndpoint(runConfig);
3804
- const guardUrl = _chunk6Z3YA6QRcjs.combineUrlPath.call(void 0, endpoint, url.pathname + url.search);
3995
+ const guardUrl = _chunkV6C34TVHcjs.combineUrlPath.call(void 0,
3996
+ endpoint,
3997
+ `/gateway/${actorId}${url.pathname}${url.search}`
3998
+ );
3805
3999
  let bodyToSend = null;
3806
4000
  const guardHeaders = buildGuardHeadersForHttp(
3807
4001
  runConfig,
@@ -3838,19 +4032,17 @@ function buildGuardHeadersForHttp(runConfig, actorRequest, actorId) {
3838
4032
  for (const [key, value] of Object.entries(runConfig.headers)) {
3839
4033
  headers.set(key, value);
3840
4034
  }
3841
- headers.set(_chunkPELXJCJScjs.HEADER_RIVET_TARGET, "actor");
3842
- headers.set(_chunkPELXJCJScjs.HEADER_RIVET_ACTOR, actorId);
3843
4035
  if (runConfig.token) {
3844
- headers.set(_chunkPELXJCJScjs.HEADER_RIVET_TOKEN, runConfig.token);
4036
+ headers.set(_chunkB4QZKOMHcjs.HEADER_RIVET_TOKEN, runConfig.token);
3845
4037
  }
3846
4038
  return headers;
3847
4039
  }
3848
4040
 
3849
4041
  // src/remote-manager-driver/actor-websocket-client.ts
3850
4042
  async function openWebSocketToActor(runConfig, path, actorId, encoding, params, connId, connToken) {
3851
- const WebSocket2 = await _chunkC2U6KGOGcjs.importWebSocket.call(void 0, );
4043
+ const WebSocket2 = await _chunkAR4S2QJ7cjs.importWebSocket.call(void 0, );
3852
4044
  const endpoint = getEndpoint(runConfig);
3853
- const guardUrl = _chunk6Z3YA6QRcjs.combineUrlPath.call(void 0, endpoint, path);
4045
+ const guardUrl = _chunkV6C34TVHcjs.combineUrlPath.call(void 0, endpoint, `/gateway/${actorId}${path}`);
3854
4046
  logger2().debug({
3855
4047
  msg: "opening websocket to actor via guard",
3856
4048
  actorId,
@@ -3859,38 +4051,29 @@ async function openWebSocketToActor(runConfig, path, actorId, encoding, params,
3859
4051
  });
3860
4052
  const ws = new WebSocket2(
3861
4053
  guardUrl,
3862
- buildWebSocketProtocols(
3863
- runConfig,
3864
- actorId,
3865
- encoding,
3866
- params,
3867
- connId,
3868
- connToken
3869
- )
4054
+ buildWebSocketProtocols(runConfig, encoding, params, connId, connToken)
3870
4055
  );
3871
4056
  ws.binaryType = "arraybuffer";
3872
4057
  logger2().debug({ msg: "websocket connection opened", actorId });
3873
4058
  return ws;
3874
4059
  }
3875
- function buildWebSocketProtocols(runConfig, actorId, encoding, params, connId, connToken) {
4060
+ function buildWebSocketProtocols(runConfig, encoding, params, connId, connToken) {
3876
4061
  const protocols = [];
3877
- protocols.push(_chunkPELXJCJScjs.WS_PROTOCOL_STANDARD);
3878
- protocols.push(`${_chunkPELXJCJScjs.WS_PROTOCOL_TARGET}actor`);
3879
- protocols.push(`${_chunkPELXJCJScjs.WS_PROTOCOL_ACTOR}${actorId}`);
3880
- protocols.push(`${_chunkPELXJCJScjs.WS_PROTOCOL_ENCODING}${encoding}`);
4062
+ protocols.push(_chunkB4QZKOMHcjs.WS_PROTOCOL_STANDARD);
4063
+ protocols.push(`${_chunkB4QZKOMHcjs.WS_PROTOCOL_ENCODING}${encoding}`);
3881
4064
  if (runConfig.token) {
3882
- protocols.push(`${_chunkPELXJCJScjs.WS_PROTOCOL_TOKEN}${runConfig.token}`);
4065
+ protocols.push(`${_chunkB4QZKOMHcjs.WS_PROTOCOL_TOKEN}${runConfig.token}`);
3883
4066
  }
3884
4067
  if (params) {
3885
4068
  protocols.push(
3886
- `${_chunkPELXJCJScjs.WS_PROTOCOL_CONN_PARAMS}${encodeURIComponent(JSON.stringify(params))}`
4069
+ `${_chunkB4QZKOMHcjs.WS_PROTOCOL_CONN_PARAMS}${encodeURIComponent(JSON.stringify(params))}`
3887
4070
  );
3888
4071
  }
3889
4072
  if (connId) {
3890
- protocols.push(`${_chunkPELXJCJScjs.WS_PROTOCOL_CONN_ID}${connId}`);
4073
+ protocols.push(`${_chunkB4QZKOMHcjs.WS_PROTOCOL_CONN_ID}${connId}`);
3891
4074
  }
3892
4075
  if (connToken) {
3893
- protocols.push(`${_chunkPELXJCJScjs.WS_PROTOCOL_CONN_TOKEN}${connToken}`);
4076
+ protocols.push(`${_chunkB4QZKOMHcjs.WS_PROTOCOL_CONN_TOKEN}${connToken}`);
3894
4077
  }
3895
4078
  return protocols;
3896
4079
  }
@@ -3951,7 +4134,7 @@ async function updateRunnerConfig(config, runnerName, request) {
3951
4134
 
3952
4135
  // src/remote-manager-driver/ws-proxy.ts
3953
4136
  async function createWebSocketProxy(c, targetUrl, protocols) {
3954
- const WebSocket2 = await _chunkC2U6KGOGcjs.importWebSocket.call(void 0, );
4137
+ const WebSocket2 = await _chunkAR4S2QJ7cjs.importWebSocket.call(void 0, );
3955
4138
  const state = {};
3956
4139
  return {
3957
4140
  onOpen: async (event, clientWs) => {
@@ -4014,7 +4197,7 @@ async function createWebSocketProxy(c, targetUrl, protocols) {
4014
4197
  logger2().error({
4015
4198
  msg: "target websocket error",
4016
4199
  targetUrl,
4017
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
4200
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
4018
4201
  });
4019
4202
  closeWebSocketIfOpen(clientWs, 1011, "Target WebSocket error");
4020
4203
  });
@@ -4094,7 +4277,7 @@ var RemoteManagerDriver = class {
4094
4277
  #config;
4095
4278
  #metadataPromise;
4096
4279
  constructor(runConfig) {
4097
- if (_chunk6Z3YA6QRcjs.getEnvUniversal.call(void 0, "NEXT_PHASE") === "phase-production-build") {
4280
+ if (_chunkV6C34TVHcjs.getEnvUniversal.call(void 0, "NEXT_PHASE") === "phase-production-build") {
4098
4281
  logger2().info(
4099
4282
  "detected next.js build phase, disabling health check"
4100
4283
  );
@@ -4137,7 +4320,7 @@ var RemoteManagerDriver = class {
4137
4320
  logger2().error({
4138
4321
  msg: "health check failed, validate the Rivet endpoint is configured correctly",
4139
4322
  endpoint,
4140
- error: _chunk6Z3YA6QRcjs.stringifyError.call(void 0, error)
4323
+ error: _chunkV6C34TVHcjs.stringifyError.call(void 0, error)
4141
4324
  });
4142
4325
  }
4143
4326
  })();
@@ -4220,7 +4403,7 @@ var RemoteManagerDriver = class {
4220
4403
  name,
4221
4404
  key: serializeActorKey(key),
4222
4405
  runner_name_selector: this.#config.runnerName,
4223
- input: actorInput ? _chunkPELXJCJScjs.uint8ArrayToBase64.call(void 0, cbor6.encode(actorInput)) : void 0,
4406
+ input: actorInput ? _chunkB4QZKOMHcjs.uint8ArrayToBase64.call(void 0, cbor6.encode(actorInput)) : void 0,
4224
4407
  crash_policy: "sleep"
4225
4408
  });
4226
4409
  const actorId = actor.actor_id;
@@ -4253,7 +4436,7 @@ var RemoteManagerDriver = class {
4253
4436
  name,
4254
4437
  runner_name_selector: this.#config.runnerName,
4255
4438
  key: serializeActorKey(key),
4256
- input: input ? _chunkPELXJCJScjs.uint8ArrayToBase64.call(void 0, cbor6.encode(input)) : void 0,
4439
+ input: input ? _chunkB4QZKOMHcjs.uint8ArrayToBase64.call(void 0, cbor6.encode(input)) : void 0,
4257
4440
  crash_policy: "sleep"
4258
4441
  });
4259
4442
  const actorId = result.actor.actor_id;
@@ -4314,7 +4497,7 @@ var RemoteManagerDriver = class {
4314
4497
  const upgradeWebSocket = (_b = (_a = this.#config).getUpgradeWebSocket) == null ? void 0 : _b.call(_a);
4315
4498
  _invariant2.default.call(void 0, upgradeWebSocket, "missing getUpgradeWebSocket");
4316
4499
  const endpoint = getEndpoint(this.#config);
4317
- const guardUrl = _chunk6Z3YA6QRcjs.combineUrlPath.call(void 0, endpoint, path);
4500
+ const guardUrl = _chunkV6C34TVHcjs.combineUrlPath.call(void 0, endpoint, path);
4318
4501
  const wsGuardUrl = guardUrl.replace("http://", "ws://");
4319
4502
  logger2().debug({
4320
4503
  msg: "forwarding websocket to actor via guard",
@@ -4324,20 +4507,19 @@ var RemoteManagerDriver = class {
4324
4507
  });
4325
4508
  const protocols = buildWebSocketProtocols(
4326
4509
  this.#config,
4327
- actorId,
4328
4510
  encoding,
4329
4511
  params,
4330
4512
  connId,
4331
4513
  connToken
4332
4514
  );
4333
4515
  const args = await createWebSocketProxy(c, wsGuardUrl, protocols);
4334
- return await upgradeWebSocket(() => args)(c, _chunk6Z3YA6QRcjs.noopNext.call(void 0, ));
4516
+ return await upgradeWebSocket(() => args)(c, _chunkV6C34TVHcjs.noopNext.call(void 0, ));
4335
4517
  }
4336
4518
  displayInformation() {
4337
4519
  return { name: "Remote", properties: {} };
4338
4520
  }
4339
4521
  getOrCreateInspectorAccessToken() {
4340
- return _chunkPELXJCJScjs.generateRandomString.call(void 0, );
4522
+ return _chunkB4QZKOMHcjs.generateRandomString.call(void 0, );
4341
4523
  }
4342
4524
  };
4343
4525
 
@@ -4362,5 +4544,6 @@ var RemoteManagerDriver = class {
4362
4544
 
4363
4545
 
4364
4546
 
4365
- exports.generateConnId = generateConnId; exports.generateConnToken = generateConnToken; exports.generateConnSocketId = generateConnSocketId; exports.createActorInspectorRouter = createActorInspectorRouter; exports.serializeActorKey = serializeActorKey; exports.deserializeActorKey = deserializeActorKey; exports.ActorDefinition = ActorDefinition; exports.lookupInRegistry = lookupInRegistry; exports.ActorClientError = ActorClientError; exports.InternalError = InternalError2; exports.ManagerError = ManagerError; exports.MalformedResponseMessage = MalformedResponseMessage; exports.ActorError = ActorError; exports.getEndpoint = getEndpoint; exports.ActorConnRaw = ActorConnRaw; exports.ActorHandleRaw = ActorHandleRaw; exports.createClientWithDriver = createClientWithDriver; exports.getDatacenters = getDatacenters; exports.updateRunnerConfig = updateRunnerConfig; exports.RemoteManagerDriver = RemoteManagerDriver;
4366
- //# sourceMappingURL=chunk-R6XOZKMU.cjs.map
4547
+
4548
+ exports.generateConnId = generateConnId; exports.generateConnToken = generateConnToken; exports.generateConnRequestId = generateConnRequestId; exports.createActorInspectorRouter = createActorInspectorRouter; exports.serializeActorKey = serializeActorKey; exports.deserializeActorKey = deserializeActorKey; exports.PERSIST_SYMBOL = PERSIST_SYMBOL; exports.ActorDefinition = ActorDefinition; exports.lookupInRegistry = lookupInRegistry; exports.ActorClientError = ActorClientError; exports.InternalError = InternalError2; exports.ManagerError = ManagerError; exports.MalformedResponseMessage = MalformedResponseMessage; exports.ActorError = ActorError; exports.getEndpoint = getEndpoint; exports.ActorConnRaw = ActorConnRaw; exports.ActorHandleRaw = ActorHandleRaw; exports.createClientWithDriver = createClientWithDriver; exports.getDatacenters = getDatacenters; exports.updateRunnerConfig = updateRunnerConfig; exports.RemoteManagerDriver = RemoteManagerDriver;
4549
+ //# sourceMappingURL=chunk-HSO2H2SB.cjs.map