rivetkit 2.0.37 → 2.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/tsup/{chunk-G4N7FZMM.cjs → chunk-7E3RWMR6.cjs} +195 -93
  2. package/dist/tsup/chunk-7E3RWMR6.cjs.map +1 -0
  3. package/dist/tsup/{chunk-J6TX5EFW.js → chunk-BQ36VTSB.js} +108 -6
  4. package/dist/tsup/chunk-BQ36VTSB.js.map +1 -0
  5. package/dist/tsup/{chunk-4V7MS7SO.cjs → chunk-C64FV764.cjs} +3 -3
  6. package/dist/tsup/{chunk-4V7MS7SO.cjs.map → chunk-C64FV764.cjs.map} +1 -1
  7. package/dist/tsup/{chunk-XI335ZED.js → chunk-CDK6DRO2.js} +6 -4
  8. package/dist/tsup/chunk-CDK6DRO2.js.map +1 -0
  9. package/dist/tsup/{chunk-LYYTV7DN.cjs → chunk-DY4H3ASE.cjs} +50 -46
  10. package/dist/tsup/chunk-DY4H3ASE.cjs.map +1 -0
  11. package/dist/tsup/{chunk-B6BP74X3.cjs → chunk-KMYFL3OL.cjs} +318 -92
  12. package/dist/tsup/chunk-KMYFL3OL.cjs.map +1 -0
  13. package/dist/tsup/{chunk-22NKW7F5.cjs → chunk-MZPYVTVG.cjs} +9 -9
  14. package/dist/tsup/{chunk-22NKW7F5.cjs.map → chunk-MZPYVTVG.cjs.map} +1 -1
  15. package/dist/tsup/{chunk-RBA5AQTB.js → chunk-OJZRCEIA.js} +5 -5
  16. package/dist/tsup/{chunk-RXA3ZMCL.js → chunk-PHCD25XO.js} +2 -2
  17. package/dist/tsup/{chunk-5XGZXH74.js → chunk-PVKUXMOA.js} +264 -38
  18. package/dist/tsup/chunk-PVKUXMOA.js.map +1 -0
  19. package/dist/tsup/{chunk-FIUSIG6J.js → chunk-T7IPDBWH.js} +8 -4
  20. package/dist/tsup/{chunk-FIUSIG6J.js.map → chunk-T7IPDBWH.js.map} +1 -1
  21. package/dist/tsup/{chunk-5VVIFC6M.cjs → chunk-UAX5E3EU.cjs} +443 -369
  22. package/dist/tsup/chunk-UAX5E3EU.cjs.map +1 -0
  23. package/dist/tsup/{chunk-X5IX3YPO.cjs → chunk-X72X7I7T.cjs} +6 -4
  24. package/dist/tsup/chunk-X72X7I7T.cjs.map +1 -0
  25. package/dist/tsup/{chunk-ZQBSQ6H3.js → chunk-XU74APB4.js} +208 -134
  26. package/dist/tsup/chunk-XU74APB4.js.map +1 -0
  27. package/dist/tsup/client/mod.cjs +5 -5
  28. package/dist/tsup/client/mod.d.cts +3 -3
  29. package/dist/tsup/client/mod.d.ts +3 -3
  30. package/dist/tsup/client/mod.js +4 -4
  31. package/dist/tsup/common/log.cjs +2 -2
  32. package/dist/tsup/common/log.js +1 -1
  33. package/dist/tsup/common/websocket.cjs +3 -3
  34. package/dist/tsup/common/websocket.js +2 -2
  35. package/dist/tsup/{config--NjwiYlS.d.cts → config-BuBlMs6C.d.cts} +238 -60
  36. package/dist/tsup/{config-CRuzI6n4.d.ts → config-CBwo4ooA.d.ts} +238 -60
  37. package/dist/tsup/{driver-yKjYx9Yy.d.cts → driver-CPXmh8f8.d.cts} +1 -1
  38. package/dist/tsup/{driver-BcmckRaF.d.ts → driver-DxWa6HUO.d.ts} +1 -1
  39. package/dist/tsup/driver-helpers/mod.cjs +3 -3
  40. package/dist/tsup/driver-helpers/mod.d.cts +2 -2
  41. package/dist/tsup/driver-helpers/mod.d.ts +2 -2
  42. package/dist/tsup/driver-helpers/mod.js +2 -2
  43. package/dist/tsup/driver-test-suite/mod.cjs +81 -35
  44. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  45. package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
  46. package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
  47. package/dist/tsup/driver-test-suite/mod.js +407 -361
  48. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  49. package/dist/tsup/{kv-CTM8sCvx.d.cts → keys-Chhy4ylv.d.cts} +1 -0
  50. package/dist/tsup/{kv-CTM8sCvx.d.ts → keys-Chhy4ylv.d.ts} +1 -0
  51. package/dist/tsup/mod.cjs +19 -7
  52. package/dist/tsup/mod.cjs.map +1 -1
  53. package/dist/tsup/mod.d.cts +5 -5
  54. package/dist/tsup/mod.d.ts +5 -5
  55. package/dist/tsup/mod.js +18 -6
  56. package/dist/tsup/test/mod.cjs +7 -7
  57. package/dist/tsup/test/mod.d.cts +1 -1
  58. package/dist/tsup/test/mod.d.ts +1 -1
  59. package/dist/tsup/test/mod.js +6 -6
  60. package/dist/tsup/utils.cjs +2 -2
  61. package/dist/tsup/utils.js +1 -1
  62. package/package.json +6 -4
  63. package/src/actor/config.ts +198 -2
  64. package/src/actor/contexts/base/actor.ts +12 -0
  65. package/src/actor/instance/connection-manager.ts +1 -1
  66. package/src/actor/instance/keys.ts +29 -0
  67. package/src/actor/instance/kv.ts +240 -14
  68. package/src/actor/instance/mod.ts +5 -4
  69. package/src/actor/instance/state-manager.ts +1 -1
  70. package/src/actor/mod.ts +2 -1
  71. package/src/actor/router-websocket-endpoints.ts +2 -1
  72. package/src/client/actor-conn.ts +70 -81
  73. package/src/client/actor-handle.ts +35 -15
  74. package/src/client/actor-query.ts +47 -0
  75. package/src/client/errors.ts +22 -58
  76. package/src/client/mod.ts +1 -1
  77. package/src/client/utils.ts +33 -0
  78. package/src/driver-helpers/utils.ts +1 -1
  79. package/src/driver-test-suite/mod.ts +3 -0
  80. package/src/driver-test-suite/test-inline-client-driver.ts +3 -0
  81. package/src/driver-test-suite/tests/actor-kv.ts +44 -0
  82. package/src/driver-test-suite/utils.ts +4 -0
  83. package/src/drivers/engine/actor-driver.ts +3 -3
  84. package/src/drivers/file-system/manager.ts +5 -0
  85. package/src/manager/driver.ts +8 -3
  86. package/src/manager-api/actors.ts +1 -20
  87. package/src/registry/config/index.ts +68 -0
  88. package/src/remote-manager-driver/actor-http-client.ts +5 -3
  89. package/src/remote-manager-driver/actor-websocket-client.ts +18 -7
  90. package/src/remote-manager-driver/mod.ts +21 -1
  91. package/src/serverless/router.test.ts +166 -0
  92. package/src/serverless/router.ts +58 -5
  93. package/src/utils/env-vars.ts +4 -1
  94. package/dist/tsup/chunk-5VVIFC6M.cjs.map +0 -1
  95. package/dist/tsup/chunk-5XGZXH74.js.map +0 -1
  96. package/dist/tsup/chunk-B6BP74X3.cjs.map +0 -1
  97. package/dist/tsup/chunk-G4N7FZMM.cjs.map +0 -1
  98. package/dist/tsup/chunk-J6TX5EFW.js.map +0 -1
  99. package/dist/tsup/chunk-LYYTV7DN.cjs.map +0 -1
  100. package/dist/tsup/chunk-X5IX3YPO.cjs.map +0 -1
  101. package/dist/tsup/chunk-XI335ZED.js.map +0 -1
  102. package/dist/tsup/chunk-ZQBSQ6H3.js.map +0 -1
  103. /package/dist/tsup/{chunk-RBA5AQTB.js.map → chunk-OJZRCEIA.js.map} +0 -0
  104. /package/dist/tsup/{chunk-RXA3ZMCL.js.map → chunk-PHCD25XO.js.map} +0 -0
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- var _chunkLYYTV7DNcjs = require('./chunk-LYYTV7DN.cjs');
13
+ var _chunkDY4H3ASEcjs = require('./chunk-DY4H3ASE.cjs');
14
14
 
15
15
 
16
16
 
@@ -23,7 +23,7 @@ var _chunkLYYTV7DNcjs = require('./chunk-LYYTV7DN.cjs');
23
23
 
24
24
 
25
25
 
26
- var _chunk5VVIFC6Mcjs = require('./chunk-5VVIFC6M.cjs');
26
+ var _chunkUAX5E3EUcjs = require('./chunk-UAX5E3EU.cjs');
27
27
 
28
28
 
29
29
 
@@ -47,7 +47,7 @@ var _chunk5VVIFC6Mcjs = require('./chunk-5VVIFC6M.cjs');
47
47
 
48
48
 
49
49
 
50
- var _chunkB6BP74X3cjs = require('./chunk-B6BP74X3.cjs');
50
+ var _chunkKMYFL3OLcjs = require('./chunk-KMYFL3OL.cjs');
51
51
 
52
52
 
53
53
 
@@ -65,7 +65,7 @@ var _chunkB6BP74X3cjs = require('./chunk-B6BP74X3.cjs');
65
65
 
66
66
 
67
67
 
68
- var _chunkX5IX3YPOcjs = require('./chunk-X5IX3YPO.cjs');
68
+ var _chunkX72X7I7Tcjs = require('./chunk-X72X7I7T.cjs');
69
69
 
70
70
 
71
71
 
@@ -142,11 +142,94 @@ var ActorConfigSchema = _zod.z.object({
142
142
  path: ["vars"]
143
143
  }
144
144
  );
145
+ var DocActorOptionsSchema = _zod.z.object({
146
+ createVarsTimeout: _zod.z.number().optional().describe("Timeout in ms for createVars handler. Default: 5000"),
147
+ createConnStateTimeout: _zod.z.number().optional().describe(
148
+ "Timeout in ms for createConnState handler. Default: 5000"
149
+ ),
150
+ onConnectTimeout: _zod.z.number().optional().describe("Timeout in ms for onConnect handler. Default: 5000"),
151
+ onSleepTimeout: _zod.z.number().optional().describe(
152
+ "Timeout in ms for onSleep handler. Must be less than ACTOR_STOP_THRESHOLD_MS. Default: 5000"
153
+ ),
154
+ onDestroyTimeout: _zod.z.number().optional().describe("Timeout in ms for onDestroy handler. Default: 5000"),
155
+ stateSaveInterval: _zod.z.number().optional().describe(
156
+ "Interval in ms between automatic state saves. Default: 10000"
157
+ ),
158
+ actionTimeout: _zod.z.number().optional().describe("Timeout in ms for action handlers. Default: 60000"),
159
+ waitUntilTimeout: _zod.z.number().optional().describe(
160
+ "Max time in ms to wait for waitUntil background promises during shutdown. Default: 15000"
161
+ ),
162
+ connectionLivenessTimeout: _zod.z.number().optional().describe(
163
+ "Timeout in ms for connection liveness checks. Default: 2500"
164
+ ),
165
+ connectionLivenessInterval: _zod.z.number().optional().describe(
166
+ "Interval in ms between connection liveness checks. Default: 5000"
167
+ ),
168
+ noSleep: _zod.z.boolean().optional().describe("If true, the actor will never sleep. Default: false"),
169
+ sleepTimeout: _zod.z.number().optional().describe(
170
+ "Time in ms of inactivity before the actor sleeps. Default: 30000"
171
+ ),
172
+ canHibernateWebSocket: _zod.z.boolean().optional().describe(
173
+ "Whether WebSockets using onWebSocket can be hibernated. WebSockets using actions/events are hibernatable by default. Default: false"
174
+ )
175
+ }).describe("Actor options for timeouts and behavior configuration.");
176
+ var DocActorConfigSchema = _zod.z.object({
177
+ state: _zod.z.unknown().optional().describe(
178
+ "Initial state value for the actor. Cannot be used with createState."
179
+ ),
180
+ createState: _zod.z.unknown().optional().describe(
181
+ "Function to create initial state. Receives context and input. Cannot be used with state."
182
+ ),
183
+ connState: _zod.z.unknown().optional().describe(
184
+ "Initial connection state value. Cannot be used with createConnState."
185
+ ),
186
+ createConnState: _zod.z.unknown().optional().describe(
187
+ "Function to create connection state. Receives context and connection params. Cannot be used with connState."
188
+ ),
189
+ vars: _zod.z.unknown().optional().describe(
190
+ "Initial ephemeral variables value. Cannot be used with createVars."
191
+ ),
192
+ createVars: _zod.z.unknown().optional().describe(
193
+ "Function to create ephemeral variables. Receives context and driver context. Cannot be used with vars."
194
+ ),
195
+ db: _zod.z.unknown().optional().describe("Database provider instance for the actor."),
196
+ onCreate: _zod.z.unknown().optional().describe(
197
+ "Called when the actor is first initialized. Use to initialize state."
198
+ ),
199
+ onDestroy: _zod.z.unknown().optional().describe("Called when the actor is destroyed."),
200
+ onWake: _zod.z.unknown().optional().describe(
201
+ "Called when the actor wakes up and is ready to receive connections and actions."
202
+ ),
203
+ onSleep: _zod.z.unknown().optional().describe(
204
+ "Called when the actor is stopping or sleeping. Use to clean up resources."
205
+ ),
206
+ onStateChange: _zod.z.unknown().optional().describe(
207
+ "Called when the actor's state changes. State changes within this hook won't trigger recursion."
208
+ ),
209
+ onBeforeConnect: _zod.z.unknown().optional().describe(
210
+ "Called before a client connects. Throw an error to reject the connection."
211
+ ),
212
+ onConnect: _zod.z.unknown().optional().describe("Called when a client successfully connects."),
213
+ onDisconnect: _zod.z.unknown().optional().describe("Called when a client disconnects."),
214
+ onBeforeActionResponse: _zod.z.unknown().optional().describe(
215
+ "Called before sending an action response. Use to transform output."
216
+ ),
217
+ onRequest: _zod.z.unknown().optional().describe(
218
+ "Called for raw HTTP requests to /actors/{name}/http/* endpoints."
219
+ ),
220
+ onWebSocket: _zod.z.unknown().optional().describe(
221
+ "Called for raw WebSocket connections to /actors/{name}/websocket/* endpoints."
222
+ ),
223
+ actions: _zod.z.record(_zod.z.string(), _zod.z.unknown()).optional().describe(
224
+ "Map of action name to handler function. Defaults to an empty object."
225
+ ),
226
+ options: DocActorOptionsSchema.optional()
227
+ }).describe("Actor configuration passed to the actor() function.");
145
228
 
146
229
  // src/actor/mod.ts
147
230
  function actor(input) {
148
231
  const config = ActorConfigSchema.parse(input);
149
- return new (0, _chunk5VVIFC6Mcjs.ActorDefinition)(config);
232
+ return new (0, _chunkUAX5E3EUcjs.ActorDefinition)(config);
150
233
  }
151
234
 
152
235
  // src/drivers/engine/actor-driver.ts
@@ -158,7 +241,7 @@ var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(
158
241
 
159
242
  // src/drivers/engine/log.ts
160
243
  function logger() {
161
- return _chunkX5IX3YPOcjs.getLogger.call(void 0, "driver-engine");
244
+ return _chunkX72X7I7Tcjs.getLogger.call(void 0, "driver-engine");
162
245
  }
163
246
 
164
247
  // src/drivers/engine/actor-driver.ts
@@ -172,8 +255,8 @@ var EngineActorDriver = class {
172
255
  #runner;
173
256
  #actors = /* @__PURE__ */ new Map();
174
257
  #actorRouter;
175
- #runnerStarted = _chunkX5IX3YPOcjs.promiseWithResolvers.call(void 0, );
176
- #runnerStopped = _chunkX5IX3YPOcjs.promiseWithResolvers.call(void 0, );
258
+ #runnerStarted = _chunkX72X7I7Tcjs.promiseWithResolvers.call(void 0, );
259
+ #runnerStopped = _chunkX72X7I7Tcjs.promiseWithResolvers.call(void 0, );
177
260
  #isRunnerStopped = false;
178
261
  // HACK: Track actor stop intent locally since the runner protocol doesn't
179
262
  // pass the stop reason to onActorStop. This will be fixed when the runner
@@ -197,7 +280,7 @@ var EngineActorDriver = class {
197
280
  this.#managerDriver = managerDriver;
198
281
  this.#inlineClient = inlineClient;
199
282
  const token = config.token;
200
- this.#actorRouter = _chunkLYYTV7DNcjs.createActorRouter.call(void 0,
283
+ this.#actorRouter = _chunkDY4H3ASEcjs.createActorRouter.call(void 0,
201
284
  config,
202
285
  this,
203
286
  void 0,
@@ -205,16 +288,16 @@ var EngineActorDriver = class {
205
288
  );
206
289
  const engineRunnerConfig = {
207
290
  version: config.runner.version,
208
- endpoint: _chunk5VVIFC6Mcjs.getEndpoint.call(void 0, config),
291
+ endpoint: _chunkUAX5E3EUcjs.getEndpoint.call(void 0, config),
209
292
  token,
210
293
  namespace: config.namespace,
211
294
  totalSlots: config.runner.totalSlots,
212
295
  runnerName: config.runner.runnerName,
213
296
  runnerKey: _nullishCoalesce(config.runner.runnerKey, () => ( crypto.randomUUID())),
214
297
  metadata: {
215
- rivetkit: { version: _chunkX5IX3YPOcjs.VERSION }
298
+ rivetkit: { version: _chunkX72X7I7Tcjs.VERSION }
216
299
  },
217
- prepopulateActorNames: _chunkB6BP74X3cjs.buildActorNames.call(void 0, config),
300
+ prepopulateActorNames: _chunkKMYFL3OLcjs.buildActorNames.call(void 0, config),
218
301
  onConnected: () => {
219
302
  this.#runnerStarted.resolve(void 0);
220
303
  },
@@ -231,7 +314,7 @@ var EngineActorDriver = class {
231
314
  },
232
315
  onActorStart: this.#runnerOnActorStart.bind(this),
233
316
  onActorStop: this.#runnerOnActorStop.bind(this),
234
- logger: _chunkX5IX3YPOcjs.getLogger.call(void 0, "engine-runner")
317
+ logger: _chunkX72X7I7Tcjs.getLogger.call(void 0, "engine-runner")
235
318
  };
236
319
  this.#runner = new (0, _enginerunner.Runner)(engineRunnerConfig);
237
320
  this.#runner.start();
@@ -269,7 +352,7 @@ var EngineActorDriver = class {
269
352
  handler.alarmTimeout = void 0;
270
353
  }
271
354
  const delay = Math.max(0, timestamp - Date.now());
272
- handler.alarmTimeout = _chunkX5IX3YPOcjs.setLongTimeout.call(void 0, () => {
355
+ handler.alarmTimeout = _chunkX72X7I7Tcjs.setLongTimeout.call(void 0, () => {
273
356
  actor2.onAlarm();
274
357
  handler.alarmTimeout = void 0;
275
358
  }, delay);
@@ -341,7 +424,7 @@ var EngineActorDriver = class {
341
424
  var _a;
342
425
  (_a = handler.actor) == null ? void 0 : _a.rLog.error({
343
426
  msg: "onStop errored",
344
- error: _chunkX5IX3YPOcjs.stringifyError.call(void 0, err)
427
+ error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
345
428
  });
346
429
  })
347
430
  );
@@ -399,18 +482,18 @@ var EngineActorDriver = class {
399
482
  let handler = this.#actors.get(actorId);
400
483
  if (!handler) {
401
484
  handler = {
402
- actorStartPromise: _chunkX5IX3YPOcjs.promiseWithResolvers.call(void 0, )
485
+ actorStartPromise: _chunkX72X7I7Tcjs.promiseWithResolvers.call(void 0, )
403
486
  };
404
487
  this.#actors.set(actorId, handler);
405
488
  }
406
489
  const name = actorConfig.name;
407
490
  _invariant2.default.call(void 0, actorConfig.key, "actor should have a key");
408
- const key = _chunkB6BP74X3cjs.deserializeActorKey.call(void 0, actorConfig.key);
491
+ const key = _chunkKMYFL3OLcjs.deserializeActorKey.call(void 0, actorConfig.key);
409
492
  const [persistDataBuffer] = await this.#runner.kvGet(actorId, [
410
- _chunkB6BP74X3cjs.KEYS.PERSIST_DATA
493
+ _chunkKMYFL3OLcjs.KEYS.PERSIST_DATA
411
494
  ]);
412
495
  if (persistDataBuffer === null) {
413
- const initialKvState = _chunkB6BP74X3cjs.getInitialActorKvState.call(void 0, input);
496
+ const initialKvState = _chunkKMYFL3OLcjs.getInitialActorKvState.call(void 0, input);
414
497
  await this.#runner.kvPut(actorId, initialKvState);
415
498
  logger().debug({
416
499
  msg: "initialized persist data for new actor",
@@ -423,7 +506,7 @@ var EngineActorDriver = class {
423
506
  dataSize: persistDataBuffer.byteLength
424
507
  });
425
508
  }
426
- const definition = _chunk5VVIFC6Mcjs.lookupInRegistry.call(void 0, this.#config, actorConfig.name);
509
+ const definition = _chunkUAX5E3EUcjs.lookupInRegistry.call(void 0, this.#config, actorConfig.name);
427
510
  handler.actor = definition.instantiate();
428
511
  await handler.actor.start(
429
512
  this,
@@ -447,7 +530,7 @@ var EngineActorDriver = class {
447
530
  } catch (err) {
448
531
  logger().error({
449
532
  msg: "error in onStop, proceeding with removing actor",
450
- err: _chunkX5IX3YPOcjs.stringifyError.call(void 0, err)
533
+ err: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
451
534
  });
452
535
  }
453
536
  this.#actors.delete(actorId);
@@ -480,10 +563,10 @@ var EngineActorDriver = class {
480
563
  websocketProps: websocketRaw ? Object.keys(websocketRaw).join(", ") : "null"
481
564
  });
482
565
  const protocols = request.headers.get("sec-websocket-protocol");
483
- const { encoding, connParams } = _chunkB6BP74X3cjs.parseWebSocketProtocols.call(void 0, protocols);
566
+ const { encoding, connParams } = _chunkKMYFL3OLcjs.parseWebSocketProtocols.call(void 0, protocols);
484
567
  let wsHandler;
485
568
  try {
486
- wsHandler = await _chunkB6BP74X3cjs.routeWebSocket.call(void 0,
569
+ wsHandler = await _chunkKMYFL3OLcjs.routeWebSocket.call(void 0,
487
570
  request,
488
571
  requestPath,
489
572
  requestHeaders,
@@ -506,7 +589,7 @@ var EngineActorDriver = class {
506
589
  const wsContext = new (0, _ws.WSContext)(websocket);
507
590
  const conn = wsHandler.conn;
508
591
  const actor2 = wsHandler.actor;
509
- const connStateManager = conn == null ? void 0 : conn[_chunkB6BP74X3cjs.CONN_STATE_MANAGER_SYMBOL];
592
+ const connStateManager = conn == null ? void 0 : conn[_chunkKMYFL3OLcjs.CONN_STATE_MANAGER_SYMBOL];
510
593
  logger().debug({
511
594
  msg: "attaching websocket event listeners",
512
595
  actorId,
@@ -566,7 +649,7 @@ var EngineActorDriver = class {
566
649
  });
567
650
  const entry = this.#hwsMessageIndex.get(conn.id);
568
651
  if (entry) {
569
- const messageLength = _chunkB6BP74X3cjs.getValueLength.call(void 0, event.data);
652
+ const messageLength = _chunkKMYFL3OLcjs.getValueLength.call(void 0, event.data);
570
653
  entry.bufferedMessageSize += messageLength;
571
654
  if (entry.bufferedMessageSize >= CONN_BUFFERED_MESSAGE_SIZE_THRESHOLD) {
572
655
  entry.bufferedMessageSize = 0;
@@ -637,10 +720,10 @@ var EngineActorDriver = class {
637
720
  gatewayId: _enginerunner.idToStr.call(void 0, gatewayId),
638
721
  requestId: _enginerunner.idToStr.call(void 0, requestId)
639
722
  });
640
- if (path === _chunkB6BP74X3cjs.PATH_CONNECT) {
723
+ if (path === _chunkKMYFL3OLcjs.PATH_CONNECT) {
641
724
  return true;
642
- } else if (path === _chunkB6BP74X3cjs.PATH_WEBSOCKET_BASE || path.startsWith(_chunkB6BP74X3cjs.PATH_WEBSOCKET_PREFIX)) {
643
- const definition = _chunk5VVIFC6Mcjs.lookupInRegistry.call(void 0,
725
+ } else if (path === _chunkKMYFL3OLcjs.PATH_WEBSOCKET_BASE || path.startsWith(_chunkKMYFL3OLcjs.PATH_WEBSOCKET_PREFIX)) {
726
+ const definition = _chunkUAX5E3EUcjs.lookupInRegistry.call(void 0,
644
727
  this.#config,
645
728
  actorInstance.config.name
646
729
  );
@@ -649,7 +732,7 @@ var EngineActorDriver = class {
649
732
  return true;
650
733
  } else if (typeof canHibernateWebSocket === "function") {
651
734
  try {
652
- const newPath = _chunkB6BP74X3cjs.truncateRawWebSocketPathPrefix.call(void 0,
735
+ const newPath = _chunkKMYFL3OLcjs.truncateRawWebSocketPathPrefix.call(void 0,
653
736
  url.pathname
654
737
  );
655
738
  const truncatedRequest = new Request(
@@ -668,7 +751,7 @@ var EngineActorDriver = class {
668
751
  } else {
669
752
  return false;
670
753
  }
671
- } else if (path === _chunkB6BP74X3cjs.PATH_INSPECTOR_CONNECT) {
754
+ } else if (path === _chunkKMYFL3OLcjs.PATH_INSPECTOR_CONNECT) {
672
755
  return false;
673
756
  } else {
674
757
  logger().warn({
@@ -681,7 +764,7 @@ var EngineActorDriver = class {
681
764
  async #hwsLoadAll(actorId) {
682
765
  const actor2 = await this.loadActor(actorId);
683
766
  return actor2.conns.values().map((conn) => {
684
- const connStateManager = conn[_chunkB6BP74X3cjs.CONN_STATE_MANAGER_SYMBOL];
767
+ const connStateManager = conn[_chunkKMYFL3OLcjs.CONN_STATE_MANAGER_SYMBOL];
685
768
  const hibernatable = connStateManager.hibernatableData;
686
769
  if (!hibernatable) return void 0;
687
770
  return {
@@ -704,7 +787,7 @@ var EngineActorDriver = class {
704
787
  await this.#runner.restoreHibernatingRequests(actor2.id, metaEntries);
705
788
  }
706
789
  onCreateConn(conn) {
707
- const hibernatable = conn[_chunkB6BP74X3cjs.CONN_STATE_MANAGER_SYMBOL].hibernatableData;
790
+ const hibernatable = conn[_chunkKMYFL3OLcjs.CONN_STATE_MANAGER_SYMBOL].hibernatableData;
708
791
  if (!hibernatable) return;
709
792
  this.#hwsMessageIndex.set(conn.id, {
710
793
  serverMessageIndex: hibernatable.serverMessageIndex,
@@ -726,7 +809,7 @@ var EngineActorDriver = class {
726
809
  });
727
810
  }
728
811
  onBeforePersistConn(conn) {
729
- const stateManager = conn[_chunkB6BP74X3cjs.CONN_STATE_MANAGER_SYMBOL];
812
+ const stateManager = conn[_chunkKMYFL3OLcjs.CONN_STATE_MANAGER_SYMBOL];
730
813
  const hibernatable = stateManager.hibernatableDataOrError();
731
814
  const entry = this.#hwsMessageIndex.get(conn.id);
732
815
  if (!entry) {
@@ -740,7 +823,7 @@ var EngineActorDriver = class {
740
823
  entry.serverMessageIndex = hibernatable.serverMessageIndex;
741
824
  }
742
825
  onAfterPersistConn(conn) {
743
- const stateManager = conn[_chunkB6BP74X3cjs.CONN_STATE_MANAGER_SYMBOL];
826
+ const stateManager = conn[_chunkKMYFL3OLcjs.CONN_STATE_MANAGER_SYMBOL];
744
827
  const hibernatable = stateManager.hibernatableDataOrError();
745
828
  const entry = this.#hwsMessageIndex.get(conn.id);
746
829
  if (!entry) {
@@ -765,9 +848,9 @@ var EngineActorDriver = class {
765
848
 
766
849
  // src/drivers/engine/config.ts
767
850
 
768
- var EngineConfigSchemaBase = _chunk5VVIFC6Mcjs.ClientConfigSchemaBase.extend({
851
+ var EngineConfigSchemaBase = _chunkUAX5E3EUcjs.ClientConfigSchemaBase.extend({
769
852
  /** Unique key for this runner. Runners connecting a given key will replace any other runner connected with the same key. */
770
- runnerKey: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkX5IX3YPOcjs.getRivetRunnerKey.call(void 0, )))),
853
+ runnerKey: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkX72X7I7Tcjs.getRivetRunnerKey.call(void 0, )))),
771
854
  /** How many actors this runner can run. */
772
855
  totalSlots: _zod.z.number().default(1e5)
773
856
  });
@@ -779,7 +862,7 @@ var EngineConfigSchema = EngineConfigSchemaTransformed.default(
779
862
  );
780
863
  function transformEngineConfig(config, ctx) {
781
864
  return {
782
- ..._chunk5VVIFC6Mcjs.transformClientConfig.call(void 0, config, ctx),
865
+ ..._chunkUAX5E3EUcjs.transformClientConfig.call(void 0, config, ctx),
783
866
  runnerKey: config.runnerKey
784
867
  };
785
868
  }
@@ -790,8 +873,8 @@ function createEngineDriver() {
790
873
  name: "engine",
791
874
  displayName: "Engine",
792
875
  manager: (config) => {
793
- const clientConfig = _chunk5VVIFC6Mcjs.convertRegistryConfigToClientConfig.call(void 0, config);
794
- return new (0, _chunk5VVIFC6Mcjs.RemoteManagerDriver)(clientConfig);
876
+ const clientConfig = _chunkUAX5E3EUcjs.convertRegistryConfigToClientConfig.call(void 0, config);
877
+ return new (0, _chunkUAX5E3EUcjs.RemoteManagerDriver)(clientConfig);
795
878
  },
796
879
  actor: (config, managerDriver, inlineClient) => {
797
880
  return new EngineActorDriver(
@@ -819,15 +902,15 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
819
902
  /** @experimental */
820
903
  maxOutgoingMessageSize: _zod.z.number().optional().default(1048576),
821
904
  /** @experimental */
822
- inspector: _chunkB6BP74X3cjs.InspectorConfigSchema,
905
+ inspector: _chunkKMYFL3OLcjs.InspectorConfigSchema,
823
906
  /** @experimental */
824
907
  disableDefaultServer: _zod.z.boolean().optional().default(false),
825
908
  /** @experimental */
826
909
  defaultServerPort: _zod.z.number().default(6420),
827
910
  /** @experimental */
828
- runEngine: _zod.z.boolean().optional().default(() => _chunkX5IX3YPOcjs.getRivetRunEngine.call(void 0, )),
911
+ runEngine: _zod.z.boolean().optional().default(() => _chunkX72X7I7Tcjs.getRivetRunEngine.call(void 0, )),
829
912
  /** @experimental */
830
- runEngineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkX5IX3YPOcjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunkX5IX3YPOcjs.VERSION))),
913
+ runEngineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkX72X7I7Tcjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunkX72X7I7Tcjs.VERSION))),
831
914
  /** @experimental */
832
915
  overrideServerAddress: _zod.z.string().optional(),
833
916
  /** @experimental */
@@ -839,7 +922,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
839
922
  * serverlessly (by the Rivet Engine for example).
840
923
  */
841
924
  runnerKind: _zod.z.enum(["serverless", "normal"]).optional().default(
842
- () => _chunkX5IX3YPOcjs.getRivetRunnerKind.call(void 0, ) === "serverless" ? "serverless" : "normal"
925
+ () => _chunkX72X7I7Tcjs.getRivetRunnerKind.call(void 0, ) === "serverless" ? "serverless" : "normal"
843
926
  ),
844
927
  totalSlots: _zod.z.number().optional(),
845
928
  /**
@@ -861,7 +944,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
861
944
  * */
862
945
  logging: _zod.z.object({
863
946
  baseLogger: _zod.z.custom().optional(),
864
- level: _chunkX5IX3YPOcjs.LogLevelSchema.optional()
947
+ level: _chunkX72X7I7Tcjs.LogLevelSchema.optional()
865
948
  }).optional().default(() => ({})),
866
949
  /**
867
950
  * @experimental
@@ -889,7 +972,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
889
972
  // created or must be imported async using `await import(...)`
890
973
  getUpgradeWebSocket: _zod.z.custom().optional(),
891
974
  /** @experimental */
892
- token: _zod.z.string().optional().transform((v) => v || _chunkX5IX3YPOcjs.getRivetToken.call(void 0, ))
975
+ token: _zod.z.string().optional().transform((v) => v || _chunkX72X7I7Tcjs.getRivetToken.call(void 0, ))
893
976
  }).merge(EngineConfigSchemaBase);
894
977
  var LegacyRunnerConfigSchemaTransformed = LegacyRunnerConfigSchemaUnmerged.transform((config, ctx) => ({
895
978
  ...config,
@@ -913,38 +996,38 @@ function chooseDefaultDriver(config) {
913
996
  return config.driver;
914
997
  }
915
998
  if (config.endpoint || config.token) {
916
- _chunkB6BP74X3cjs.loggerWithoutContext.call(void 0, ).debug({
999
+ _chunkKMYFL3OLcjs.loggerWithoutContext.call(void 0, ).debug({
917
1000
  msg: "using rivet engine driver",
918
1001
  endpoint: config.endpoint
919
1002
  });
920
1003
  return createEngineDriver();
921
1004
  }
922
- _chunkB6BP74X3cjs.loggerWithoutContext.call(void 0, ).debug({ msg: "using default file system driver" });
923
- return _chunkLYYTV7DNcjs.createFileSystemOrMemoryDriver.call(void 0, true);
1005
+ _chunkKMYFL3OLcjs.loggerWithoutContext.call(void 0, ).debug({ msg: "using default file system driver" });
1006
+ return _chunkDY4H3ASEcjs.createFileSystemOrMemoryDriver.call(void 0, true);
924
1007
  }
925
1008
 
926
1009
  // src/engine-process/log.ts
927
1010
  function logger2() {
928
- return _chunkX5IX3YPOcjs.getLogger.call(void 0, "engine-process");
1011
+ return _chunkX72X7I7Tcjs.getLogger.call(void 0, "engine-process");
929
1012
  }
930
1013
 
931
1014
  // src/engine-process/mod.ts
932
1015
  var ENGINE_BASE_URL = "https://releases.rivet.dev/rivet";
933
1016
  var ENGINE_BINARY_NAME = "rivet-engine";
934
1017
  async function ensureEngineProcess(options) {
935
- _chunkLYYTV7DNcjs.importNodeDependencies.call(void 0, );
1018
+ _chunkDY4H3ASEcjs.importNodeDependencies.call(void 0, );
936
1019
  logger2().debug({
937
1020
  msg: "ensuring engine process",
938
1021
  version: options.version
939
1022
  });
940
- const path = _chunkLYYTV7DNcjs.getNodePath.call(void 0, );
941
- const storageRoot = _chunkLYYTV7DNcjs.getStoragePath.call(void 0, );
1023
+ const path = _chunkDY4H3ASEcjs.getNodePath.call(void 0, );
1024
+ const storageRoot = _chunkDY4H3ASEcjs.getStoragePath.call(void 0, );
942
1025
  const binDir = path.join(storageRoot, "bin");
943
1026
  const varDir = path.join(storageRoot, "var");
944
1027
  const logsDir = path.join(varDir, "logs", "rivet-engine");
945
- await _chunkLYYTV7DNcjs.ensureDirectoryExists.call(void 0, binDir);
946
- await _chunkLYYTV7DNcjs.ensureDirectoryExists.call(void 0, varDir);
947
- await _chunkLYYTV7DNcjs.ensureDirectoryExists.call(void 0, logsDir);
1028
+ await _chunkDY4H3ASEcjs.ensureDirectoryExists.call(void 0, binDir);
1029
+ await _chunkDY4H3ASEcjs.ensureDirectoryExists.call(void 0, varDir);
1030
+ await _chunkDY4H3ASEcjs.ensureDirectoryExists.call(void 0, logsDir);
948
1031
  if (await isEngineRunning()) {
949
1032
  try {
950
1033
  const health = await waitForEngineHealth();
@@ -969,7 +1052,7 @@ async function ensureEngineProcess(options) {
969
1052
  const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/:/g, "-").replace(/\./g, "-");
970
1053
  const stdoutLogPath = path.join(logsDir, `engine-${timestamp}-stdout.log`);
971
1054
  const stderrLogPath = path.join(logsDir, `engine-${timestamp}-stderr.log`);
972
- const fsSync = _chunkLYYTV7DNcjs.getNodeFsSync.call(void 0, );
1055
+ const fsSync = _chunkDY4H3ASEcjs.getNodeFsSync.call(void 0, );
973
1056
  const stdoutStream = fsSync.createWriteStream(stdoutLogPath, {
974
1057
  flags: "a"
975
1058
  });
@@ -981,7 +1064,7 @@ async function ensureEngineProcess(options) {
981
1064
  stdout: stdoutLogPath,
982
1065
  stderr: stderrLogPath
983
1066
  });
984
- const childProcess = _chunkLYYTV7DNcjs.getNodeChildProcess.call(void 0, );
1067
+ const childProcess = _chunkDY4H3ASEcjs.getNodeChildProcess.call(void 0, );
985
1068
  const child = childProcess.spawn(binaryPath, ["start"], {
986
1069
  cwd: path.dirname(binaryPath),
987
1070
  stdio: ["inherit", "pipe", "pipe"],
@@ -1058,7 +1141,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
1058
1141
  `failed to download rivet engine binary from ${downloadUrl}: ${response.status} ${response.statusText}`
1059
1142
  );
1060
1143
  }
1061
- const crypto2 = _chunkLYYTV7DNcjs.getNodeCrypto.call(void 0, );
1144
+ const crypto2 = _chunkDY4H3ASEcjs.getNodeCrypto.call(void 0, );
1062
1145
  const tempPath = `${binaryPath}.${crypto2.randomUUID()}.tmp`;
1063
1146
  const startTime = Date.now();
1064
1147
  logger2().debug({
@@ -1073,14 +1156,14 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
1073
1156
  });
1074
1157
  }, 5e3);
1075
1158
  try {
1076
- const stream = _chunkLYYTV7DNcjs.getNodeStream.call(void 0, );
1077
- const fsSync = _chunkLYYTV7DNcjs.getNodeFsSync.call(void 0, );
1159
+ const stream = _chunkDY4H3ASEcjs.getNodeStream.call(void 0, );
1160
+ const fsSync = _chunkDY4H3ASEcjs.getNodeFsSync.call(void 0, );
1078
1161
  await stream.pipeline(
1079
1162
  response.body,
1080
1163
  fsSync.createWriteStream(tempPath)
1081
1164
  );
1082
1165
  clearTimeout(slowDownloadWarning);
1083
- const fs = _chunkLYYTV7DNcjs.getNodeFs.call(void 0, );
1166
+ const fs = _chunkDY4H3ASEcjs.getNodeFs.call(void 0, );
1084
1167
  const stats = await fs.stat(tempPath);
1085
1168
  const downloadDuration = Date.now() - startTime;
1086
1169
  if (process.platform !== "win32") {
@@ -1109,7 +1192,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
1109
1192
  support: "https://rivet.dev/discord"
1110
1193
  });
1111
1194
  try {
1112
- const fs = _chunkLYYTV7DNcjs.getNodeFs.call(void 0, );
1195
+ const fs = _chunkDY4H3ASEcjs.getNodeFs.call(void 0, );
1113
1196
  await fs.unlink(tempPath);
1114
1197
  } catch (unlinkError) {
1115
1198
  }
@@ -1151,7 +1234,7 @@ function resolveTargetTripletFor(platform, arch) {
1151
1234
  );
1152
1235
  }
1153
1236
  async function isEngineRunning() {
1154
- return await checkIfEngineAlreadyRunningOnPort(_chunkB6BP74X3cjs.ENGINE_PORT);
1237
+ return await checkIfEngineAlreadyRunningOnPort(_chunkKMYFL3OLcjs.ENGINE_PORT);
1155
1238
  }
1156
1239
  async function checkIfEngineAlreadyRunningOnPort(port) {
1157
1240
  let response;
@@ -1186,7 +1269,7 @@ async function checkIfEngineAlreadyRunningOnPort(port) {
1186
1269
  }
1187
1270
  async function fileExists(filePath) {
1188
1271
  try {
1189
- const fs = _chunkLYYTV7DNcjs.getNodeFs.call(void 0, );
1272
+ const fs = _chunkDY4H3ASEcjs.getNodeFs.call(void 0, );
1190
1273
  await fs.access(filePath);
1191
1274
  return true;
1192
1275
  } catch (e) {
@@ -1200,7 +1283,7 @@ async function waitForEngineHealth() {
1200
1283
  logger2().debug({ msg: "waiting for engine health check" });
1201
1284
  for (let i = 0; i < maxRetries; i++) {
1202
1285
  try {
1203
- const response = await fetch(`${_chunkB6BP74X3cjs.ENGINE_ENDPOINT}/health`, {
1286
+ const response = await fetch(`${_chunkKMYFL3OLcjs.ENGINE_ENDPOINT}/health`, {
1204
1287
  signal: AbortSignal.timeout(1e3)
1205
1288
  });
1206
1289
  if (response.ok) {
@@ -1244,7 +1327,7 @@ function getInspectorUrl(config, managerPort) {
1244
1327
 
1245
1328
  // src/serverless/log.ts
1246
1329
  function logger3() {
1247
- return _chunkX5IX3YPOcjs.getLogger.call(void 0, "serverless");
1330
+ return _chunkX72X7I7Tcjs.getLogger.call(void 0, "serverless");
1248
1331
  }
1249
1332
 
1250
1333
  // src/serverless/configure.ts
@@ -1264,12 +1347,12 @@ async function configureServerlessRunner(config) {
1264
1347
  }
1265
1348
  const customConfig = config.serverless.configureRunnerPool;
1266
1349
  _invariant2.default.call(void 0, customConfig, "configureRunnerPool should exist");
1267
- const clientConfig = _chunk5VVIFC6Mcjs.convertRegistryConfigToClientConfig.call(void 0, config);
1350
+ const clientConfig = _chunkUAX5E3EUcjs.convertRegistryConfigToClientConfig.call(void 0, config);
1268
1351
  logger3().debug({
1269
1352
  msg: "fetching datacenters",
1270
1353
  endpoint: config.endpoint
1271
1354
  });
1272
- const dcsRes = await _chunk5VVIFC6Mcjs.getDatacenters.call(void 0, clientConfig);
1355
+ const dcsRes = await _chunkUAX5E3EUcjs.getDatacenters.call(void 0, clientConfig);
1273
1356
  const runnerName = _nullishCoalesce(customConfig.name, () => ( "default"));
1274
1357
  logger3().debug({
1275
1358
  msg: "configuring serverless runner",
@@ -1288,7 +1371,7 @@ async function configureServerlessRunner(config) {
1288
1371
  },
1289
1372
  metadata: _nullishCoalesce(customConfig.metadata, () => ( {}))
1290
1373
  };
1291
- await _chunk5VVIFC6Mcjs.updateRunnerConfig.call(void 0, clientConfig, runnerName, {
1374
+ await _chunkUAX5E3EUcjs.updateRunnerConfig.call(void 0, clientConfig, runnerName, {
1292
1375
  datacenters: Object.fromEntries(
1293
1376
  dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
1294
1377
  )
@@ -1308,7 +1391,7 @@ async function configureServerlessRunner(config) {
1308
1391
 
1309
1392
  // src/registry/log.ts
1310
1393
  function logger4() {
1311
- return _chunkX5IX3YPOcjs.getLogger.call(void 0, "registry");
1394
+ return _chunkX72X7I7Tcjs.getLogger.call(void 0, "registry");
1312
1395
  }
1313
1396
 
1314
1397
  // src/registry/serve.ts
@@ -1323,7 +1406,7 @@ async function findFreePort(startPort = DEFAULT_PORT) {
1323
1406
  return _getport2.default.call(void 0, { port: portRange(startPort) });
1324
1407
  }
1325
1408
  async function crossPlatformServe(config, managerPort, app) {
1326
- const runtime = _chunkX5IX3YPOcjs.detectRuntime.call(void 0, );
1409
+ const runtime = _chunkX72X7I7Tcjs.detectRuntime.call(void 0, );
1327
1410
  logger4().debug({ msg: "detected runtime for serve", runtime });
1328
1411
  switch (runtime) {
1329
1412
  case "deno":
@@ -1348,7 +1431,7 @@ async function serveNode(config, managerPort, app) {
1348
1431
  } catch (err) {
1349
1432
  logger4().error({
1350
1433
  msg: "failed to import @hono/node-server. please run 'npm install @hono/node-server @hono/node-ws'",
1351
- error: _chunkX5IX3YPOcjs.stringifyError.call(void 0, err)
1434
+ error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
1352
1435
  });
1353
1436
  process.exit(1);
1354
1437
  }
@@ -1363,7 +1446,7 @@ async function serveNode(config, managerPort, app) {
1363
1446
  } catch (err) {
1364
1447
  logger4().error({
1365
1448
  msg: "failed to import @hono/node-ws. please run 'npm install @hono/node-server @hono/node-ws'",
1366
- error: _chunkX5IX3YPOcjs.stringifyError.call(void 0, err)
1449
+ error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
1367
1450
  });
1368
1451
  process.exit(1);
1369
1452
  }
@@ -1390,7 +1473,7 @@ async function serveDeno(config, managerPort, app) {
1390
1473
  } catch (err) {
1391
1474
  logger4().error({
1392
1475
  msg: "failed to import hono/deno",
1393
- error: _chunkX5IX3YPOcjs.stringifyError.call(void 0, err)
1476
+ error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
1394
1477
  });
1395
1478
  process.exit(1);
1396
1479
  }
@@ -1411,7 +1494,7 @@ async function serveBun(config, managerPort, app) {
1411
1494
  } catch (err) {
1412
1495
  logger4().error({
1413
1496
  msg: "failed to import hono/bun",
1414
- error: _chunkX5IX3YPOcjs.stringifyError.call(void 0, err)
1497
+ error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
1415
1498
  });
1416
1499
  process.exit(1);
1417
1500
  }
@@ -1449,7 +1532,7 @@ var ServerlessStartHeadersSchema = _zod.z.object({
1449
1532
 
1450
1533
  // src/serverless/router.ts
1451
1534
  function buildServerlessRouter(driverConfig, config) {
1452
- return _chunkB6BP74X3cjs.createRouter.call(void 0, config.serverless.basePath, (router) => {
1535
+ return _chunkKMYFL3OLcjs.createRouter.call(void 0, config.serverless.basePath, (router) => {
1453
1536
  router.get("/", (c) => {
1454
1537
  return c.text(
1455
1538
  "This is a RivetKit server.\n\nLearn more at https://rivetkit.org"
@@ -1498,10 +1581,10 @@ function buildServerlessRouter(driverConfig, config) {
1498
1581
  runnerKey: void 0
1499
1582
  }
1500
1583
  };
1501
- const managerDriver = new (0, _chunk5VVIFC6Mcjs.RemoteManagerDriver)(
1502
- _chunk5VVIFC6Mcjs.convertRegistryConfigToClientConfig.call(void 0, newConfig)
1584
+ const managerDriver = new (0, _chunkUAX5E3EUcjs.RemoteManagerDriver)(
1585
+ _chunkUAX5E3EUcjs.convertRegistryConfigToClientConfig.call(void 0, newConfig)
1503
1586
  );
1504
- const client = _chunk5VVIFC6Mcjs.createClientWithDriver.call(void 0, managerDriver);
1587
+ const client = _chunkUAX5E3EUcjs.createClientWithDriver.call(void 0, managerDriver);
1505
1588
  const actorDriver = driverConfig.actor(
1506
1589
  newConfig,
1507
1590
  managerDriver,
@@ -1513,10 +1596,10 @@ function buildServerlessRouter(driverConfig, config) {
1513
1596
  );
1514
1597
  return await actorDriver.serverlessHandleStart(c);
1515
1598
  });
1516
- router.get("/health", (c) => _chunkB6BP74X3cjs.handleHealthRequest.call(void 0, c));
1599
+ router.get("/health", (c) => _chunkKMYFL3OLcjs.handleHealthRequest.call(void 0, c));
1517
1600
  router.get(
1518
1601
  "/metadata",
1519
- (c) => _chunkB6BP74X3cjs.handleMetadataRequest.call(void 0,
1602
+ (c) => _chunkKMYFL3OLcjs.handleMetadataRequest.call(void 0,
1520
1603
  c,
1521
1604
  config,
1522
1605
  { serverless: {} },
@@ -1531,13 +1614,29 @@ function normalizeEndpointUrl(url) {
1531
1614
  try {
1532
1615
  const parsed = new URL(url);
1533
1616
  const pathname = parsed.pathname === "/" ? "/" : parsed.pathname.replace(/\/+$/, "");
1534
- const hostname = parsed.hostname === "127.0.0.1" || parsed.hostname === "0.0.0.0" ? "localhost" : parsed.hostname;
1617
+ let hostname = isLoopbackAddress(parsed.hostname) ? "localhost" : parsed.hostname;
1618
+ hostname = normalizeRegionalHostname(hostname);
1535
1619
  const host = parsed.port ? `${hostname}:${parsed.port}` : hostname;
1536
1620
  return `${parsed.protocol}//${host}${pathname}`;
1537
1621
  } catch (e2) {
1538
1622
  return null;
1539
1623
  }
1540
1624
  }
1625
+ function normalizeRegionalHostname(hostname) {
1626
+ if (!hostname.endsWith(".rivet.dev")) {
1627
+ return hostname;
1628
+ }
1629
+ if (!hostname.startsWith("api-")) {
1630
+ return hostname;
1631
+ }
1632
+ const withoutPrefix = hostname.slice(4);
1633
+ const firstDotIndex = withoutPrefix.indexOf(".");
1634
+ if (firstDotIndex === -1) {
1635
+ return hostname;
1636
+ }
1637
+ const domain = withoutPrefix.slice(firstDotIndex + 1);
1638
+ return `api.${domain}`;
1639
+ }
1541
1640
  function endpointsMatch(a, b) {
1542
1641
  const normalizedA = normalizeEndpointUrl(a);
1543
1642
  const normalizedB = normalizeEndpointUrl(b);
@@ -1546,6 +1645,9 @@ function endpointsMatch(a, b) {
1546
1645
  }
1547
1646
  return normalizedA === normalizedB;
1548
1647
  }
1648
+ function isLoopbackAddress(hostname) {
1649
+ return hostname === "127.0.0.1" || hostname === "0.0.0.0" || hostname === "::1" || hostname === "[::1]";
1650
+ }
1549
1651
 
1550
1652
  // runtime/index.ts
1551
1653
  function logLine(label, value) {
@@ -1582,9 +1684,9 @@ var Runtime = class _Runtime {
1582
1684
  logger4().info("rivetkit starting");
1583
1685
  const config = registry.parseConfig();
1584
1686
  if ((_a = config.logging) == null ? void 0 : _a.baseLogger) {
1585
- _chunkX5IX3YPOcjs.configureBaseLogger.call(void 0, config.logging.baseLogger);
1687
+ _chunkX72X7I7Tcjs.configureBaseLogger.call(void 0, config.logging.baseLogger);
1586
1688
  } else {
1587
- _chunkX5IX3YPOcjs.configureDefaultLogger.call(void 0, (_b = config.logging) == null ? void 0 : _b.level);
1689
+ _chunkX72X7I7Tcjs.configureDefaultLogger.call(void 0, (_b = config.logging) == null ? void 0 : _b.level);
1588
1690
  }
1589
1691
  _invariant2.default.call(void 0,
1590
1692
  !(config.serverless.spawnEngine && config.serveManager),
@@ -1594,7 +1696,7 @@ var Runtime = class _Runtime {
1594
1696
  const managerDriver = driver.manager(config);
1595
1697
  let managerPort;
1596
1698
  if (config.serverless.spawnEngine) {
1597
- managerPort = _chunkB6BP74X3cjs.ENGINE_PORT;
1699
+ managerPort = _chunkKMYFL3OLcjs.ENGINE_PORT;
1598
1700
  logger4().debug({
1599
1701
  msg: "spawning engine",
1600
1702
  version: config.serverless.engineVersion
@@ -1606,7 +1708,7 @@ var Runtime = class _Runtime {
1606
1708
  let upgradeWebSocket;
1607
1709
  const getUpgradeWebSocket = () => upgradeWebSocket;
1608
1710
  managerDriver.setGetUpgradeWebSocket(getUpgradeWebSocket);
1609
- const { router: managerRouter } = _chunkB6BP74X3cjs.buildManagerRouter.call(void 0,
1711
+ const { router: managerRouter } = _chunkKMYFL3OLcjs.buildManagerRouter.call(void 0,
1610
1712
  config,
1611
1713
  managerDriver,
1612
1714
  getUpgradeWebSocket
@@ -1658,7 +1760,7 @@ var Runtime = class _Runtime {
1658
1760
  this.#startKind = "runner";
1659
1761
  if (this.#config.runner && this.#driver.autoStartActorDriver) {
1660
1762
  logger4().debug("starting actor driver");
1661
- const inlineClient = _chunk5VVIFC6Mcjs.createClientWithDriver.call(void 0,
1763
+ const inlineClient = _chunkUAX5E3EUcjs.createClientWithDriver.call(void 0,
1662
1764
  this.#managerDriver
1663
1765
  );
1664
1766
  this.#driver.actor(this.#config, this.#managerDriver, inlineClient);
@@ -1670,7 +1772,7 @@ var Runtime = class _Runtime {
1670
1772
  const inspectorUrl = this.managerPort ? getInspectorUrl(this.#config, this.managerPort) : void 0;
1671
1773
  console.log();
1672
1774
  console.log(
1673
- ` RivetKit ${_chunkX5IX3YPOcjs.package_default.version} (${this.#driver.displayName} - ${this.#startKind === "serverless" ? "Serverless" : "Runner"})`
1775
+ ` RivetKit ${_chunkX72X7I7Tcjs.package_default.version} (${this.#driver.displayName} - ${this.#startKind === "serverless" ? "Serverless" : "Runner"})`
1674
1776
  );
1675
1777
  if (this.#config.namespace !== "default") {
1676
1778
  logLine("Namespace", this.#config.namespace);
@@ -1711,7 +1813,7 @@ var Registry = class {
1711
1813
  return this.#config;
1712
1814
  }
1713
1815
  parseConfig() {
1714
- return _chunkB6BP74X3cjs.RegistryConfigSchema.parse(this.#config);
1816
+ return _chunkKMYFL3OLcjs.RegistryConfigSchema.parse(this.#config);
1715
1817
  }
1716
1818
  // Shared runtime instance
1717
1819
  #runtime;
@@ -1777,7 +1879,7 @@ var Registry = class {
1777
1879
  "autoConfigureServerless can only be configured when runnerKind is 'serverless'"
1778
1880
  );
1779
1881
  }
1780
- const isDevEnv = _chunkX5IX3YPOcjs.isDev.call(void 0, );
1882
+ const isDevEnv = _chunkX72X7I7Tcjs.isDev.call(void 0, );
1781
1883
  if (isDevEnv && config.runnerKind === "serverless") {
1782
1884
  if ((inputConfig == null ? void 0 : inputConfig.runEngine) === void 0) config.runEngine = true;
1783
1885
  if ((inputConfig == null ? void 0 : inputConfig.autoConfigureServerless) === void 0)
@@ -1790,7 +1892,7 @@ var Registry = class {
1790
1892
  }
1791
1893
  }
1792
1894
  #legacyStartServerless(config, _inputConfig) {
1793
- const client = _chunk5VVIFC6Mcjs.createClient.call(void 0, {
1895
+ const client = _chunkUAX5E3EUcjs.createClient.call(void 0, {
1794
1896
  endpoint: config.endpoint,
1795
1897
  token: config.token,
1796
1898
  namespace: config.namespace,
@@ -1803,7 +1905,7 @@ var Registry = class {
1803
1905
  }
1804
1906
  #legacyStartNormal(config) {
1805
1907
  this.#ensureRuntime().then((runtime) => runtime.startRunner());
1806
- const client = _chunk5VVIFC6Mcjs.createClient.call(void 0, {
1908
+ const client = _chunkUAX5E3EUcjs.createClient.call(void 0, {
1807
1909
  endpoint: config.endpoint,
1808
1910
  token: config.token,
1809
1911
  namespace: config.namespace,
@@ -1825,4 +1927,4 @@ function setup(input) {
1825
1927
 
1826
1928
 
1827
1929
  exports.actor = actor; exports.createEngineDriver = createEngineDriver; exports.Registry = Registry; exports.setup = setup;
1828
- //# sourceMappingURL=chunk-G4N7FZMM.cjs.map
1930
+ //# sourceMappingURL=chunk-7E3RWMR6.cjs.map