rivetkit 2.1.3 → 2.1.5

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 (112) hide show
  1. package/dist/browser/client.d.ts +11 -0
  2. package/dist/browser/client.js +1 -1
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.js +1 -1
  5. package/dist/browser/inspector/client.js.map +1 -1
  6. package/dist/inspector.tar.gz +0 -0
  7. package/dist/tsup/{chunk-OAOF23ZY.js → chunk-2OK7S6QF.js} +2 -2
  8. package/dist/tsup/{chunk-5AZ6UPEF.cjs → chunk-7WF2QSIC.cjs} +24 -20
  9. package/dist/tsup/chunk-7WF2QSIC.cjs.map +1 -0
  10. package/dist/tsup/{chunk-IJAGZS57.cjs → chunk-D2SPAJVT.cjs} +30 -30
  11. package/dist/tsup/{chunk-IJAGZS57.cjs.map → chunk-D2SPAJVT.cjs.map} +1 -1
  12. package/dist/tsup/{chunk-YET3IZD6.js → chunk-EIATSBYZ.js} +2 -2
  13. package/dist/tsup/{chunk-YET3IZD6.js.map → chunk-EIATSBYZ.js.map} +1 -1
  14. package/dist/tsup/{chunk-DADGS67O.cjs → chunk-GQGRQDRL.cjs} +4 -4
  15. package/dist/tsup/{chunk-DADGS67O.cjs.map → chunk-GQGRQDRL.cjs.map} +1 -1
  16. package/dist/tsup/{chunk-ZSJ2OTY4.cjs → chunk-HYPIHCDT.cjs} +2 -2
  17. package/dist/tsup/{chunk-ZSJ2OTY4.cjs.map → chunk-HYPIHCDT.cjs.map} +1 -1
  18. package/dist/tsup/{chunk-HPAX7L72.cjs → chunk-IIJNPVPQ.cjs} +152 -152
  19. package/dist/tsup/{chunk-HPAX7L72.cjs.map → chunk-IIJNPVPQ.cjs.map} +1 -1
  20. package/dist/tsup/{chunk-U6VWVHVW.cjs → chunk-JC6BEPE7.cjs} +3 -3
  21. package/dist/tsup/{chunk-U6VWVHVW.cjs.map → chunk-JC6BEPE7.cjs.map} +1 -1
  22. package/dist/tsup/{chunk-N7ASEZ2Y.js → chunk-JPXO2H55.js} +5 -5
  23. package/dist/tsup/{chunk-QUDLEWGD.js → chunk-MIX2KB6U.js} +212 -47
  24. package/dist/tsup/chunk-MIX2KB6U.js.map +1 -0
  25. package/dist/tsup/{chunk-BMNB6YRQ.cjs → chunk-OAXJWGMU.cjs} +212 -305
  26. package/dist/tsup/chunk-OAXJWGMU.cjs.map +1 -0
  27. package/dist/tsup/{chunk-KSZZRTOD.cjs → chunk-PB5AEMKQ.cjs} +3 -5
  28. package/dist/tsup/chunk-PB5AEMKQ.cjs.map +1 -0
  29. package/dist/tsup/{chunk-6T3WSP5M.js → chunk-R5OQUSLN.js} +4 -4
  30. package/dist/tsup/{chunk-POUBQA6Z.js → chunk-S662Y6ZU.js} +2 -2
  31. package/dist/tsup/{chunk-GNGRMP5E.js → chunk-SRIM3GHD.js} +18 -11
  32. package/dist/tsup/chunk-SRIM3GHD.js.map +1 -0
  33. package/dist/tsup/{chunk-MAXIXG56.js → chunk-TADUYCHF.js} +2 -4
  34. package/dist/tsup/chunk-TADUYCHF.js.map +1 -0
  35. package/dist/tsup/{chunk-R64EFI6F.cjs → chunk-TI5PXQGG.cjs} +280 -115
  36. package/dist/tsup/chunk-TI5PXQGG.cjs.map +1 -0
  37. package/dist/tsup/{chunk-T6MM5RTW.cjs → chunk-U5SMSA27.cjs} +250 -243
  38. package/dist/tsup/chunk-U5SMSA27.cjs.map +1 -0
  39. package/dist/tsup/{chunk-6LHZQSWJ.js → chunk-WY2SHWXQ.js} +8 -4
  40. package/dist/tsup/chunk-WY2SHWXQ.js.map +1 -0
  41. package/dist/tsup/{chunk-YLDDENCZ.js → chunk-ZPWOYQHN.js} +126 -219
  42. package/dist/tsup/chunk-ZPWOYQHN.js.map +1 -0
  43. package/dist/tsup/client/mod.cjs +6 -6
  44. package/dist/tsup/client/mod.d.cts +2 -2
  45. package/dist/tsup/client/mod.d.ts +2 -2
  46. package/dist/tsup/client/mod.js +5 -5
  47. package/dist/tsup/common/log.cjs +2 -2
  48. package/dist/tsup/common/log.js +1 -1
  49. package/dist/tsup/common/websocket.cjs +3 -3
  50. package/dist/tsup/common/websocket.js +2 -2
  51. package/dist/tsup/{config-P3XujgRr.d.ts → config-Qj-zLJPc.d.ts} +11 -0
  52. package/dist/tsup/{config-_gfywqqI.d.cts → config-iPj5l1bL.d.cts} +11 -0
  53. package/dist/tsup/{context-uNA4TRn3.d.ts → context-CQCMuHND.d.ts} +1 -1
  54. package/dist/tsup/{context-Bxd8Cx4H.d.cts → context-DzvH1PBK.d.cts} +1 -1
  55. package/dist/tsup/{driver-CPGHKXyh.d.ts → driver-Jo8v-kbU.d.ts} +1 -1
  56. package/dist/tsup/driver-helpers/mod.cjs +4 -4
  57. package/dist/tsup/driver-helpers/mod.d.cts +4 -4
  58. package/dist/tsup/driver-helpers/mod.d.ts +4 -4
  59. package/dist/tsup/driver-helpers/mod.js +3 -3
  60. package/dist/tsup/{driver-BcLvZcKl.d.cts → driver-iV8J-WMv.d.cts} +1 -1
  61. package/dist/tsup/driver-test-suite/mod.cjs +196 -60
  62. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  63. package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
  64. package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
  65. package/dist/tsup/driver-test-suite/mod.js +971 -835
  66. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  67. package/dist/tsup/inspector/mod.cjs +3 -3
  68. package/dist/tsup/inspector/mod.js +2 -2
  69. package/dist/tsup/mod.cjs +8 -8
  70. package/dist/tsup/mod.d.cts +5 -5
  71. package/dist/tsup/mod.d.ts +5 -5
  72. package/dist/tsup/mod.js +7 -7
  73. package/dist/tsup/serve-test-suite/mod.cjs +182 -100
  74. package/dist/tsup/serve-test-suite/mod.cjs.map +1 -1
  75. package/dist/tsup/serve-test-suite/mod.js +93 -11
  76. package/dist/tsup/serve-test-suite/mod.js.map +1 -1
  77. package/dist/tsup/test/mod.cjs +10 -10
  78. package/dist/tsup/test/mod.d.cts +1 -1
  79. package/dist/tsup/test/mod.d.ts +1 -1
  80. package/dist/tsup/test/mod.js +6 -6
  81. package/dist/tsup/utils.cjs +2 -2
  82. package/dist/tsup/utils.js +1 -1
  83. package/dist/tsup/workflow/mod.cjs +5 -5
  84. package/dist/tsup/workflow/mod.d.cts +3 -3
  85. package/dist/tsup/workflow/mod.d.ts +3 -3
  86. package/dist/tsup/workflow/mod.js +4 -4
  87. package/package.json +6 -6
  88. package/src/actor/config.ts +0 -2
  89. package/src/actor/instance/mod.ts +17 -4
  90. package/src/actor/router.ts +9 -6
  91. package/src/driver-test-suite/mod.ts +3 -0
  92. package/src/driver-test-suite/tests/actor-driver.ts +4 -0
  93. package/src/driver-test-suite/tests/actor-lifecycle.ts +157 -0
  94. package/src/driver-test-suite/tests/conn-error-serialization.ts +64 -0
  95. package/src/drivers/engine/actor-driver.ts +47 -15
  96. package/src/manager/router.ts +20 -6
  97. package/src/{registry → utils}/serve.ts +38 -4
  98. package/src/workflow/context.ts +4 -0
  99. package/dist/tsup/chunk-5AZ6UPEF.cjs.map +0 -1
  100. package/dist/tsup/chunk-6LHZQSWJ.js.map +0 -1
  101. package/dist/tsup/chunk-BMNB6YRQ.cjs.map +0 -1
  102. package/dist/tsup/chunk-GNGRMP5E.js.map +0 -1
  103. package/dist/tsup/chunk-KSZZRTOD.cjs.map +0 -1
  104. package/dist/tsup/chunk-MAXIXG56.js.map +0 -1
  105. package/dist/tsup/chunk-QUDLEWGD.js.map +0 -1
  106. package/dist/tsup/chunk-R64EFI6F.cjs.map +0 -1
  107. package/dist/tsup/chunk-T6MM5RTW.cjs.map +0 -1
  108. package/dist/tsup/chunk-YLDDENCZ.js.map +0 -1
  109. /package/dist/tsup/{chunk-OAOF23ZY.js.map → chunk-2OK7S6QF.js.map} +0 -0
  110. /package/dist/tsup/{chunk-N7ASEZ2Y.js.map → chunk-JPXO2H55.js.map} +0 -0
  111. /package/dist/tsup/{chunk-6T3WSP5M.js.map → chunk-R5OQUSLN.js.map} +0 -0
  112. /package/dist/tsup/{chunk-POUBQA6Z.js.map → chunk-S662Y6ZU.js.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  ensureDirectoryExists,
6
6
  getStoragePath,
7
7
  lookupInRegistry
8
- } from "./chunk-GNGRMP5E.js";
8
+ } from "./chunk-SRIM3GHD.js";
9
9
  import {
10
10
  ClientConfigSchemaBase,
11
11
  RemoteManagerDriver,
@@ -16,7 +16,7 @@ import {
16
16
  getEndpoint,
17
17
  transformClientConfig,
18
18
  updateRunnerConfig
19
- } from "./chunk-N7ASEZ2Y.js";
19
+ } from "./chunk-JPXO2H55.js";
20
20
  import {
21
21
  CONN_STATE_MANAGER_SYMBOL,
22
22
  ENGINE_ENDPOINT,
@@ -30,7 +30,9 @@ import {
30
30
  buildActorNames,
31
31
  buildManagerRouter,
32
32
  createRouter,
33
+ crossPlatformServe,
33
34
  deserializeActorKey,
35
+ findFreePort,
34
36
  getInitialActorKvState,
35
37
  getNodeChildProcess,
36
38
  getNodeCrypto,
@@ -42,17 +44,18 @@ import {
42
44
  handleHealthRequest,
43
45
  handleMetadataRequest,
44
46
  importNodeDependencies,
47
+ logger,
45
48
  parseWebSocketProtocols,
46
49
  routeWebSocket,
47
50
  truncateRawWebSocketPathPrefix
48
- } from "./chunk-QUDLEWGD.js";
51
+ } from "./chunk-MIX2KB6U.js";
49
52
  import {
50
53
  ActorConfigSchema,
51
54
  KEYS,
52
55
  event,
53
56
  loggerWithoutContext,
54
57
  queue
55
- } from "./chunk-MAXIXG56.js";
58
+ } from "./chunk-TADUYCHF.js";
56
59
  import {
57
60
  LogLevelSchema,
58
61
  VERSION,
@@ -71,7 +74,7 @@ import {
71
74
  promiseWithResolvers,
72
75
  setLongTimeout,
73
76
  stringifyError
74
- } from "./chunk-YET3IZD6.js";
77
+ } from "./chunk-EIATSBYZ.js";
75
78
  import {
76
79
  EndpointMismatch,
77
80
  InvalidRequest,
@@ -95,7 +98,7 @@ import { WSContext } from "hono/ws";
95
98
  import invariant from "invariant";
96
99
 
97
100
  // src/drivers/engine/log.ts
98
- function logger() {
101
+ function logger2() {
99
102
  return getLogger("driver-engine");
100
103
  }
101
104
 
@@ -111,8 +114,8 @@ var EngineActorDriver = class {
111
114
  #runner;
112
115
  #actors = /* @__PURE__ */ new Map();
113
116
  #actorRouter;
114
- #runnerStarted = promiseWithResolvers((reason) => logger().warn({ msg: "unhandled runner started promise rejection", reason }));
115
- #runnerStopped = promiseWithResolvers((reason) => logger().warn({ msg: "unhandled runner stopped promise rejection", reason }));
117
+ #runnerStarted = promiseWithResolvers((reason) => logger2().warn({ msg: "unhandled runner started promise rejection", reason }));
118
+ #runnerStopped = promiseWithResolvers((reason) => logger2().warn({ msg: "unhandled runner stopped promise rejection", reason }));
116
119
  #isRunnerStopped = false;
117
120
  // HACK: Track actor stop intent locally since the runner protocol doesn't
118
121
  // pass the stop reason to onActorStop. This will be fixed when the runner
@@ -174,7 +177,7 @@ var EngineActorDriver = class {
174
177
  };
175
178
  this.#runner = new Runner(engineRunnerConfig);
176
179
  this.#runner.start();
177
- logger().debug({
180
+ logger2().debug({
178
181
  msg: "engine runner started",
179
182
  endpoint: config.endpoint,
180
183
  namespace: config.namespace,
@@ -199,7 +202,7 @@ var EngineActorDriver = class {
199
202
  async setAlarm(actor2, timestamp) {
200
203
  const handler = this.#actors.get(actor2.id);
201
204
  if (!handler) {
202
- logger().warn({
205
+ logger2().warn({
203
206
  msg: "no handler for actor to set alarm"
204
207
  });
205
208
  return;
@@ -232,7 +235,7 @@ var EngineActorDriver = class {
232
235
  new Uint8Array()
233
236
  );
234
237
  const keys = entries.map(([key]) => key);
235
- logger().info({
238
+ logger2().info({
236
239
  msg: "kvList called",
237
240
  actorId,
238
241
  keysCount: keys.length,
@@ -242,7 +245,7 @@ var EngineActorDriver = class {
242
245
  }
243
246
  async kvListPrefix(actorId, prefix) {
244
247
  const result = await this.#runner.kvListPrefix(actorId, prefix);
245
- logger().info({
248
+ logger2().info({
246
249
  msg: "kvListPrefix called",
247
250
  actorId,
248
251
  prefixStr: new TextDecoder().decode(prefix),
@@ -272,8 +275,8 @@ var EngineActorDriver = class {
272
275
  this.#runner.stopActor(actorId);
273
276
  }
274
277
  async shutdownRunner(immediate) {
275
- logger().info({ msg: "stopping engine actor driver", immediate });
276
- logger().debug({
278
+ logger2().info({ msg: "stopping engine actor driver", immediate });
279
+ logger2().debug({
277
280
  msg: "stopping all actors before shutdown",
278
281
  actorCount: this.#actors.size
279
282
  });
@@ -292,13 +295,13 @@ var EngineActorDriver = class {
292
295
  }
293
296
  }
294
297
  await Promise.all(stopPromises);
295
- logger().debug({ msg: "all actors stopped" });
298
+ logger2().debug({ msg: "all actors stopped" });
296
299
  try {
297
300
  await this.#runner.shutdown(immediate);
298
301
  } catch (error) {
299
302
  const message = error instanceof Error ? error.message : String(error);
300
303
  if (message.includes("WebSocket connection closed during shutdown")) {
301
- logger().debug({
304
+ logger2().debug({
302
305
  msg: "ignoring shutdown websocket close race",
303
306
  error: message
304
307
  });
@@ -313,7 +316,7 @@ var EngineActorDriver = class {
313
316
  )
314
317
  ]);
315
318
  if (!stopped) {
316
- logger().warn({
319
+ logger2().warn({
317
320
  msg: "timed out waiting for runner shutdown",
318
321
  waitMs: RUNNER_STOP_WAIT_MS
319
322
  });
@@ -324,7 +327,7 @@ var EngineActorDriver = class {
324
327
  stream.onAbort(() => {
325
328
  });
326
329
  c.req.raw.signal.addEventListener("abort", () => {
327
- logger().debug("SSE aborted, shutting down runner");
330
+ logger2().debug("SSE aborted, shutting down runner");
328
331
  this.shutdownRunner(false);
329
332
  });
330
333
  await this.#runnerStarted.promise;
@@ -333,13 +336,13 @@ var EngineActorDriver = class {
333
336
  await stream.writeSSE({ data: payload });
334
337
  while (true) {
335
338
  if (this.#isRunnerStopped) {
336
- logger().debug({
339
+ logger2().debug({
337
340
  msg: "runner is stopped"
338
341
  });
339
342
  break;
340
343
  }
341
344
  if (stream.closed || stream.aborted) {
342
- logger().debug({
345
+ logger2().debug({
343
346
  msg: "runner sse stream closed",
344
347
  closed: stream.closed,
345
348
  aborted: stream.aborted
@@ -354,7 +357,7 @@ var EngineActorDriver = class {
354
357
  }
355
358
  async #runnerOnActorStart(actorId, generation, actorConfig) {
356
359
  var _a;
357
- logger().debug({
360
+ logger2().debug({
358
361
  msg: "runner actor starting",
359
362
  actorId,
360
363
  name: actorConfig.name,
@@ -368,7 +371,7 @@ var EngineActorDriver = class {
368
371
  let handler = this.#actors.get(actorId);
369
372
  if (!handler) {
370
373
  handler = {
371
- actorStartPromise: promiseWithResolvers((reason) => logger().warn({ msg: "unhandled actor start promise rejection", reason }))
374
+ actorStartPromise: promiseWithResolvers((reason) => logger2().warn({ msg: "unhandled actor start promise rejection", reason }))
372
375
  };
373
376
  this.#actors.set(actorId, handler);
374
377
  }
@@ -383,12 +386,12 @@ var EngineActorDriver = class {
383
386
  if (persistDataBuffer === null) {
384
387
  const initialKvState = getInitialActorKvState(input);
385
388
  await this.#runner.kvPut(actorId, initialKvState);
386
- logger().debug({
389
+ logger2().debug({
387
390
  msg: "initialized persist data for new actor",
388
391
  actorId
389
392
  });
390
393
  } else {
391
- logger().debug({
394
+ logger2().debug({
392
395
  msg: "found existing persist data for actor",
393
396
  actorId,
394
397
  dataSize: persistDataBuffer.byteLength
@@ -396,6 +399,21 @@ var EngineActorDriver = class {
396
399
  }
397
400
  const definition = lookupInRegistry(this.#config, actorConfig.name);
398
401
  handler.actor = await definition.instantiate();
402
+ const protocolMetadata = this.#runner.getProtocolMetadata();
403
+ if (protocolMetadata) {
404
+ logger2().debug({
405
+ msg: "applying config limits from protocol",
406
+ protocolMetadata
407
+ });
408
+ const stopThresholdMax = Math.max(Number(protocolMetadata.actorStopThreshold) - 1e3, 0);
409
+ handler.actor.overrides.onSleepTimeout = stopThresholdMax;
410
+ handler.actor.overrides.onDestroyTimeout = stopThresholdMax;
411
+ if (protocolMetadata.serverlessDrainGracePeriod) {
412
+ const drainMax = Math.max(Number(protocolMetadata.serverlessDrainGracePeriod) - 1e3, 0);
413
+ handler.actor.overrides.runStopTimeout = drainMax;
414
+ handler.actor.overrides.waitUntilTimeout = drainMax;
415
+ }
416
+ }
399
417
  await handler.actor.start(
400
418
  this,
401
419
  this.#inlineClient,
@@ -405,7 +423,7 @@ var EngineActorDriver = class {
405
423
  "unknown"
406
424
  // TODO: Add regions
407
425
  );
408
- logger().debug({ msg: "runner actor started", actorId, name, key });
426
+ logger2().debug({ msg: "runner actor started", actorId, name, key });
409
427
  } catch (innerError) {
410
428
  const error = innerError instanceof Error ? new Error(
411
429
  `Failed to start actor ${actorId}: ${innerError.message}`,
@@ -415,7 +433,7 @@ var EngineActorDriver = class {
415
433
  handler.actorStartError = error;
416
434
  (_a = handler.actorStartPromise) == null ? void 0 : _a.reject(error);
417
435
  handler.actorStartPromise = void 0;
418
- logger().error({
436
+ logger2().error({
419
437
  msg: "runner actor failed to start",
420
438
  actorId,
421
439
  name,
@@ -425,7 +443,7 @@ var EngineActorDriver = class {
425
443
  try {
426
444
  this.#runner.stopActor(actorId);
427
445
  } catch (stopError) {
428
- logger().debug({
446
+ logger2().debug({
429
447
  msg: "failed to stop actor after start failure",
430
448
  actorId,
431
449
  err: stringifyError(stopError)
@@ -434,32 +452,42 @@ var EngineActorDriver = class {
434
452
  }
435
453
  }
436
454
  async #runnerOnActorStop(actorId, generation) {
437
- logger().debug({ msg: "runner actor stopping", actorId, generation });
455
+ logger2().debug({ msg: "runner actor stopping", actorId, generation });
438
456
  const reason = this.#actorStopIntent.get(actorId) ?? "sleep";
439
457
  this.#actorStopIntent.delete(actorId);
440
458
  const handler = this.#actors.get(actorId);
441
- if (handler == null ? void 0 : handler.actorStartPromise) {
442
- const startError = handler.actorStartError ?? new Error(`Actor ${actorId} stopped before start completed`);
443
- handler.actorStartError = startError;
444
- handler.actorStartPromise.reject(startError);
445
- handler.actorStartPromise = void 0;
459
+ if (!handler) {
460
+ logger2().debug({ msg: "no runner actor handler to stop", actorId, reason });
461
+ return;
462
+ }
463
+ if (handler.actorStartPromise) {
464
+ try {
465
+ logger2().debug({ msg: "runner actor stopping before it started, waiting", actorId, generation });
466
+ await handler.actorStartPromise.promise;
467
+ } catch (err) {
468
+ logger2().debug({
469
+ msg: "actor start failed during stop, cleaning up handler",
470
+ actorId,
471
+ err: stringifyError(err)
472
+ });
473
+ }
446
474
  }
447
- if (handler == null ? void 0 : handler.actor) {
475
+ if (handler.actor) {
448
476
  try {
449
477
  await handler.actor.onStop(reason);
450
478
  } catch (err) {
451
- logger().error({
479
+ logger2().error({
452
480
  msg: "error in onStop, proceeding with removing actor",
453
481
  err: stringifyError(err)
454
482
  });
455
483
  }
456
484
  }
457
- if (handler) this.#actors.delete(actorId);
458
- logger().debug({ msg: "runner actor stopped", actorId, reason });
485
+ this.#actors.delete(actorId);
486
+ logger2().debug({ msg: "runner actor stopped", actorId, reason });
459
487
  }
460
488
  // MARK: - Runner Networking
461
489
  async #runnerFetch(_runner, actorId, _gatewayIdBuf, _requestIdBuf, request) {
462
- logger().debug({
490
+ logger2().debug({
463
491
  msg: "runner fetch",
464
492
  actorId,
465
493
  url: request.url,
@@ -472,7 +500,7 @@ var EngineActorDriver = class {
472
500
  const websocket = websocketRaw;
473
501
  const wsUniqueId = `ws_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
474
502
  websocket.__rivet_ws_id = wsUniqueId;
475
- logger().debug({
503
+ logger2().debug({
476
504
  msg: "runner websocket",
477
505
  actorId,
478
506
  url: request.url,
@@ -501,7 +529,7 @@ var EngineActorDriver = class {
501
529
  isRestoringHibernatable
502
530
  );
503
531
  } catch (err) {
504
- logger().error({ msg: "building websocket handlers errored", err });
532
+ logger2().error({ msg: "building websocket handlers errored", err });
505
533
  websocketRaw.close(1011, "ws.route_error");
506
534
  return;
507
535
  }
@@ -510,7 +538,7 @@ var EngineActorDriver = class {
510
538
  const conn = wsHandler.conn;
511
539
  const actor2 = wsHandler.actor;
512
540
  const connStateManager = conn == null ? void 0 : conn[CONN_STATE_MANAGER_SYMBOL];
513
- logger().debug({
541
+ logger2().debug({
514
542
  msg: "attaching websocket event listeners",
515
543
  actorId,
516
544
  connId: conn == null ? void 0 : conn.id,
@@ -526,7 +554,7 @@ var EngineActorDriver = class {
526
554
  });
527
555
  websocket.addEventListener("message", (event3) => {
528
556
  var _a2, _b2;
529
- logger().debug({
557
+ logger2().debug({
530
558
  msg: "websocket message event listener triggered",
531
559
  connId: conn == null ? void 0 : conn.id,
532
560
  actorId: actor2 == null ? void 0 : actor2.id,
@@ -539,7 +567,7 @@ var EngineActorDriver = class {
539
567
  eventTargetWsId: (_b2 = event3.target) == null ? void 0 : _b2.__rivet_ws_id
540
568
  });
541
569
  if (actor2 == null ? void 0 : actor2.isStopping) {
542
- logger().debug({
570
+ logger2().debug({
543
571
  msg: "ignoring ws message, actor is stopping",
544
572
  connId: conn == null ? void 0 : conn.id,
545
573
  actorId: actor2 == null ? void 0 : actor2.id,
@@ -547,7 +575,7 @@ var EngineActorDriver = class {
547
575
  });
548
576
  return;
549
577
  }
550
- logger().debug({
578
+ logger2().debug({
551
579
  msg: "calling wsHandler.onMessage",
552
580
  connId: conn == null ? void 0 : conn.id,
553
581
  messageIndex: event3.rivetMessageIndex
@@ -561,7 +589,7 @@ var EngineActorDriver = class {
561
589
  );
562
590
  const previousMsgIndex = hibernate.serverMessageIndex;
563
591
  hibernate.serverMessageIndex = event3.rivetMessageIndex;
564
- logger().info({
592
+ logger2().info({
565
593
  msg: "persisting message index",
566
594
  connId: conn.id,
567
595
  previousMsgIndex,
@@ -596,7 +624,7 @@ var EngineActorDriver = class {
596
624
  wsHandler.onError(event3, wsContext);
597
625
  });
598
626
  if (isRestoringHibernatable) {
599
- logger().info({
627
+ logger2().info({
600
628
  msg: "event listeners attached to restored websocket",
601
629
  actorId,
602
630
  connId: conn == null ? void 0 : conn.id,
@@ -614,7 +642,7 @@ var EngineActorDriver = class {
614
642
  const path = url.pathname;
615
643
  const actorInstance = this.#runner.getActor(actorId);
616
644
  if (!actorInstance) {
617
- logger().warn({
645
+ logger2().warn({
618
646
  msg: "actor not found in #hwsCanHibernate",
619
647
  actorId
620
648
  });
@@ -622,20 +650,20 @@ var EngineActorDriver = class {
622
650
  }
623
651
  const handler = this.#actors.get(actorId);
624
652
  if (!handler) {
625
- logger().warn({
653
+ logger2().warn({
626
654
  msg: "actor handler not found in #hwsCanHibernate",
627
655
  actorId
628
656
  });
629
657
  return false;
630
658
  }
631
659
  if (!handler.actor) {
632
- logger().warn({
660
+ logger2().warn({
633
661
  msg: "actor not found in #hwsCanHibernate",
634
662
  actorId
635
663
  });
636
664
  return false;
637
665
  }
638
- logger().debug({
666
+ logger2().debug({
639
667
  msg: "no existing hibernatable websocket found",
640
668
  gatewayId: idToStr(gatewayId),
641
669
  requestId: idToStr(requestId)
@@ -662,7 +690,7 @@ var EngineActorDriver = class {
662
690
  const canHibernate = canHibernateWebSocket(truncatedRequest);
663
691
  return canHibernate;
664
692
  } catch (error) {
665
- logger().error({
693
+ logger2().error({
666
694
  msg: "error calling canHibernateWebSocket",
667
695
  error
668
696
  });
@@ -674,7 +702,7 @@ var EngineActorDriver = class {
674
702
  } else if (path === PATH_INSPECTOR_CONNECT) {
675
703
  return false;
676
704
  } else {
677
- logger().warn({
705
+ logger2().warn({
678
706
  msg: "unexpected path for getActorHibernationConfig",
679
707
  path
680
708
  });
@@ -716,7 +744,7 @@ var EngineActorDriver = class {
716
744
  pendingAckFromMessageIndex: false,
717
745
  pendingAckFromBufferSize: false
718
746
  });
719
- logger().debug({
747
+ logger2().debug({
720
748
  msg: "created #hwsMessageIndex entry",
721
749
  connId: conn.id,
722
750
  serverMessageIndex: hibernatable.serverMessageIndex
@@ -724,7 +752,7 @@ var EngineActorDriver = class {
724
752
  }
725
753
  onDestroyConn(conn) {
726
754
  this.#hwsMessageIndex.delete(conn.id);
727
- logger().debug({
755
+ logger2().debug({
728
756
  msg: "removed #hwsMessageIndex entry",
729
757
  connId: conn.id
730
758
  });
@@ -734,7 +762,7 @@ var EngineActorDriver = class {
734
762
  const hibernatable = stateManager.hibernatableDataOrError();
735
763
  const entry = this.#hwsMessageIndex.get(conn.id);
736
764
  if (!entry) {
737
- logger().warn({
765
+ logger2().warn({
738
766
  msg: "missing EngineActorDriver.#hwsMessageIndex entry for conn",
739
767
  connId: conn.id
740
768
  });
@@ -748,7 +776,7 @@ var EngineActorDriver = class {
748
776
  const hibernatable = stateManager.hibernatableDataOrError();
749
777
  const entry = this.#hwsMessageIndex.get(conn.id);
750
778
  if (!entry) {
751
- logger().warn({
779
+ logger2().warn({
752
780
  msg: "missing EngineActorDriver.#hwsMessageIndex entry for conn",
753
781
  connId: conn.id
754
782
  });
@@ -933,7 +961,7 @@ function chooseDefaultDriver(config) {
933
961
  }
934
962
 
935
963
  // src/engine-process/log.ts
936
- function logger2() {
964
+ function logger3() {
937
965
  return getLogger("engine-process");
938
966
  }
939
967
 
@@ -942,7 +970,7 @@ var ENGINE_BASE_URL = "https://releases.rivet.dev/rivet";
942
970
  var ENGINE_BINARY_NAME = "rivet-engine";
943
971
  async function ensureEngineProcess(options) {
944
972
  importNodeDependencies();
945
- logger2().debug({
973
+ logger3().debug({
946
974
  msg: "ensuring engine process",
947
975
  version: options.version
948
976
  });
@@ -957,13 +985,13 @@ async function ensureEngineProcess(options) {
957
985
  if (await isEngineRunning()) {
958
986
  try {
959
987
  const health = await waitForEngineHealth();
960
- logger2().debug({
988
+ logger3().debug({
961
989
  msg: "engine already running and healthy",
962
990
  version: health.version
963
991
  });
964
992
  return;
965
993
  } catch (error) {
966
- logger2().warn({
994
+ logger3().warn({
967
995
  msg: "existing engine process not healthy, cannot restart automatically",
968
996
  error
969
997
  });
@@ -985,7 +1013,7 @@ async function ensureEngineProcess(options) {
985
1013
  const stderrStream = fsSync.createWriteStream(stderrLogPath, {
986
1014
  flags: "a"
987
1015
  });
988
- logger2().debug({
1016
+ logger3().debug({
989
1017
  msg: "creating engine log files",
990
1018
  stdout: stdoutLogPath,
991
1019
  stderr: stderrLogPath
@@ -1042,7 +1070,7 @@ async function ensureEngineProcess(options) {
1042
1070
  });
1043
1071
  child.stderr.pipe(stderrStream);
1044
1072
  }
1045
- logger2().debug({
1073
+ logger3().debug({
1046
1074
  msg: "spawned engine process",
1047
1075
  pid: child.pid,
1048
1076
  cwd: path.dirname(binaryPath)
@@ -1050,7 +1078,7 @@ async function ensureEngineProcess(options) {
1050
1078
  child.once("exit", (code, signal) => {
1051
1079
  const stderrOutput = Buffer.concat(stderrChunks).toString("utf-8");
1052
1080
  if (stderrOutput.includes("LOCK: Resource temporarily unavailable")) {
1053
- logger2().error({
1081
+ logger3().error({
1054
1082
  msg: "another instance of rivet engine is unexpectedly running, this is an internal error",
1055
1083
  code,
1056
1084
  signal,
@@ -1060,7 +1088,7 @@ async function ensureEngineProcess(options) {
1060
1088
  support: "https://rivet.dev/discord"
1061
1089
  });
1062
1090
  } else if (stderrOutput.includes("Rivet Engine has been rolled back to a previous version")) {
1063
- logger2().error({
1091
+ logger3().error({
1064
1092
  msg: "rivet engine version downgrade detected",
1065
1093
  hint: `You attempted to downgrade the RivetKit version in development. To fix this, nuke the database by running: '${binaryPath}' database nuke --yes`,
1066
1094
  code,
@@ -1069,7 +1097,7 @@ async function ensureEngineProcess(options) {
1069
1097
  stderrLog: stderrLogPath
1070
1098
  });
1071
1099
  } else {
1072
- logger2().warn({
1100
+ logger3().warn({
1073
1101
  msg: "engine process exited, please report this error",
1074
1102
  code,
1075
1103
  signal,
@@ -1083,7 +1111,7 @@ async function ensureEngineProcess(options) {
1083
1111
  stderrStream.end();
1084
1112
  });
1085
1113
  child.once("error", (error) => {
1086
- logger2().error({
1114
+ logger3().error({
1087
1115
  msg: "engine process failed",
1088
1116
  error
1089
1117
  });
@@ -1091,7 +1119,7 @@ async function ensureEngineProcess(options) {
1091
1119
  stderrStream.end();
1092
1120
  });
1093
1121
  await waitForEngineHealth();
1094
- logger2().info({
1122
+ logger3().info({
1095
1123
  msg: "engine process started",
1096
1124
  pid: child.pid,
1097
1125
  version: options.version,
@@ -1104,7 +1132,7 @@ async function ensureEngineProcess(options) {
1104
1132
  async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
1105
1133
  const binaryExists = await fileExists(binaryPath);
1106
1134
  if (binaryExists) {
1107
- logger2().debug({
1135
+ logger3().debug({
1108
1136
  msg: "engine binary already cached",
1109
1137
  version,
1110
1138
  path: binaryPath
@@ -1114,7 +1142,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
1114
1142
  const { targetTriplet, extension } = resolveTargetTriplet();
1115
1143
  const remoteFile = `${ENGINE_BINARY_NAME}-${targetTriplet}${extension}`;
1116
1144
  const downloadUrl = `${ENGINE_BASE_URL}/${version}/engine/${remoteFile}`;
1117
- logger2().info({
1145
+ logger3().info({
1118
1146
  msg: "downloading engine binary",
1119
1147
  url: downloadUrl,
1120
1148
  path: binaryPath,
@@ -1129,13 +1157,13 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
1129
1157
  const crypto2 = getNodeCrypto();
1130
1158
  const tempPath = `${binaryPath}.${crypto2.randomUUID()}.tmp`;
1131
1159
  const startTime = Date.now();
1132
- logger2().debug({
1160
+ logger3().debug({
1133
1161
  msg: "starting binary download",
1134
1162
  tempPath,
1135
1163
  contentLength: response.headers.get("content-length")
1136
1164
  });
1137
1165
  const slowDownloadWarning = setTimeout(() => {
1138
- logger2().warn({
1166
+ logger3().warn({
1139
1167
  msg: "engine binary download is taking longer than expected, please be patient",
1140
1168
  version
1141
1169
  });
@@ -1155,21 +1183,21 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
1155
1183
  await fs.chmod(tempPath, 493);
1156
1184
  }
1157
1185
  await fs.rename(tempPath, binaryPath);
1158
- logger2().debug({
1186
+ logger3().debug({
1159
1187
  msg: "engine binary download complete",
1160
1188
  version,
1161
1189
  path: binaryPath,
1162
1190
  size: stats.size,
1163
1191
  durationMs: downloadDuration
1164
1192
  });
1165
- logger2().info({
1193
+ logger3().info({
1166
1194
  msg: "engine binary downloaded",
1167
1195
  version,
1168
1196
  path: binaryPath
1169
1197
  });
1170
1198
  } catch (error) {
1171
1199
  clearTimeout(slowDownloadWarning);
1172
- logger2().warn({
1200
+ logger3().warn({
1173
1201
  msg: "engine download failed, please report this error",
1174
1202
  tempPath,
1175
1203
  error,
@@ -1231,13 +1259,13 @@ async function checkIfEngineAlreadyRunningOnPort(port) {
1231
1259
  if (response.ok) {
1232
1260
  const health = await response.json();
1233
1261
  if (health.runtime === "engine") {
1234
- logger2().debug({
1262
+ logger3().debug({
1235
1263
  msg: "rivet engine already running on port",
1236
1264
  port
1237
1265
  });
1238
1266
  return true;
1239
1267
  } else if (health.runtime === "rivetkit") {
1240
- logger2().error({
1268
+ logger3().error({
1241
1269
  msg: "another rivetkit process is already running on port",
1242
1270
  port
1243
1271
  });
@@ -1265,7 +1293,7 @@ var HEALTH_MAX_WAIT = 1e4;
1265
1293
  var HEALTH_INTERVAL = 100;
1266
1294
  async function waitForEngineHealth() {
1267
1295
  const maxRetries = Math.ceil(HEALTH_MAX_WAIT / HEALTH_INTERVAL);
1268
- logger2().debug({ msg: "waiting for engine health check" });
1296
+ logger3().debug({ msg: "waiting for engine health check" });
1269
1297
  for (let i = 0; i < maxRetries; i++) {
1270
1298
  try {
1271
1299
  const response = await fetch(`${ENGINE_ENDPOINT}/health`, {
@@ -1273,11 +1301,11 @@ async function waitForEngineHealth() {
1273
1301
  });
1274
1302
  if (response.ok) {
1275
1303
  const health = await response.json();
1276
- logger2().debug({ msg: "engine health check passed" });
1304
+ logger3().debug({ msg: "engine health check passed" });
1277
1305
  return health;
1278
1306
  }
1279
1307
  } catch (error) {
1280
- logger2().debug({ msg: "engine health check failed", error });
1308
+ logger3().debug({ msg: "engine health check failed", error });
1281
1309
  if (i === maxRetries - 1) {
1282
1310
  throw new Error(
1283
1311
  `engine health check failed after ${maxRetries} retries: ${error}`
@@ -1285,7 +1313,7 @@ async function waitForEngineHealth() {
1285
1313
  }
1286
1314
  }
1287
1315
  if (i < maxRetries - 1) {
1288
- logger2().trace({
1316
+ logger3().trace({
1289
1317
  msg: "engine not ready, retrying",
1290
1318
  attempt: i + 1,
1291
1319
  maxRetries
@@ -1307,14 +1335,14 @@ function getInspectorUrl(config, managerPort) {
1307
1335
  }
1308
1336
 
1309
1337
  // src/serverless/log.ts
1310
- function logger3() {
1338
+ function logger4() {
1311
1339
  return getLogger("serverless");
1312
1340
  }
1313
1341
 
1314
1342
  // src/serverless/configure.ts
1315
1343
  import invariant2 from "invariant";
1316
1344
  async function configureServerlessRunner(config) {
1317
- logger3().debug("configuring serverless runner");
1345
+ logger4().debug("configuring serverless runner");
1318
1346
  try {
1319
1347
  if (!config.namespace) {
1320
1348
  throw new Error(
@@ -1329,13 +1357,13 @@ async function configureServerlessRunner(config) {
1329
1357
  const customConfig = config.serverless.configureRunnerPool;
1330
1358
  invariant2(customConfig, "configureRunnerPool should exist");
1331
1359
  const clientConfig = convertRegistryConfigToClientConfig(config);
1332
- logger3().debug({
1360
+ logger4().debug({
1333
1361
  msg: "fetching datacenters",
1334
1362
  endpoint: config.endpoint
1335
1363
  });
1336
1364
  const dcsRes = await getDatacenters(clientConfig);
1337
1365
  const runnerName = customConfig.name ?? "default";
1338
- logger3().debug({
1366
+ logger4().debug({
1339
1367
  msg: "configuring serverless runner",
1340
1368
  runnerName,
1341
1369
  namespace: config.namespace
@@ -1360,143 +1388,19 @@ async function configureServerlessRunner(config) {
1360
1388
  dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
1361
1389
  )
1362
1390
  });
1363
- logger3().info({
1391
+ logger4().info({
1364
1392
  msg: "serverless runner configured successfully",
1365
1393
  runnerName,
1366
1394
  namespace: config.namespace
1367
1395
  });
1368
1396
  } catch (error) {
1369
- logger3().error({
1397
+ logger4().error({
1370
1398
  msg: "failed to configure serverless runner, validate endpoint is configured correctly then restart this process",
1371
1399
  error
1372
1400
  });
1373
1401
  }
1374
1402
  }
1375
1403
 
1376
- // src/registry/log.ts
1377
- function logger4() {
1378
- return getLogger("registry");
1379
- }
1380
-
1381
- // src/registry/serve.ts
1382
- import getPort from "get-port";
1383
- var DEFAULT_PORT = 6420;
1384
- async function findFreePort(startPort = DEFAULT_PORT) {
1385
- function* portRange(start, count = 100) {
1386
- for (let i = 0; i < count; i++) {
1387
- yield start + i;
1388
- }
1389
- }
1390
- return getPort({ port: portRange(startPort) });
1391
- }
1392
- async function crossPlatformServe(config, managerPort, app) {
1393
- const runtime = detectRuntime();
1394
- logger4().debug({ msg: "detected runtime for serve", runtime });
1395
- switch (runtime) {
1396
- case "deno":
1397
- return serveDeno(config, managerPort, app);
1398
- case "bun":
1399
- return serveBun(config, managerPort, app);
1400
- case "node":
1401
- return serveNode(config, managerPort, app);
1402
- default:
1403
- return serveNode(config, managerPort, app);
1404
- }
1405
- }
1406
- async function serveNode(config, managerPort, app) {
1407
- const nodeServerModule = "@hono/node-server";
1408
- let serve;
1409
- try {
1410
- const dep = await import(
1411
- /* webpackIgnore: true */
1412
- nodeServerModule
1413
- );
1414
- serve = dep.serve;
1415
- } catch (err) {
1416
- logger4().error({
1417
- msg: "failed to import @hono/node-server. please run 'npm install @hono/node-server @hono/node-ws'",
1418
- error: stringifyError(err)
1419
- });
1420
- process.exit(1);
1421
- }
1422
- const nodeWsModule = "@hono/node-ws";
1423
- let createNodeWebSocket;
1424
- try {
1425
- const dep = await import(
1426
- /* webpackIgnore: true */
1427
- nodeWsModule
1428
- );
1429
- createNodeWebSocket = dep.createNodeWebSocket;
1430
- } catch (err) {
1431
- logger4().error({
1432
- msg: "failed to import @hono/node-ws. please run 'npm install @hono/node-server @hono/node-ws'",
1433
- error: stringifyError(err)
1434
- });
1435
- process.exit(1);
1436
- }
1437
- const { injectWebSocket, upgradeWebSocket } = createNodeWebSocket({
1438
- app
1439
- });
1440
- const port = managerPort;
1441
- const hostname = config.managerHost;
1442
- const server = serve(
1443
- { fetch: app.fetch, port, hostname },
1444
- () => logger4().info({ msg: "server listening", port, hostname })
1445
- );
1446
- injectWebSocket(server);
1447
- return { upgradeWebSocket };
1448
- }
1449
- async function serveDeno(config, managerPort, app) {
1450
- const honoDenoModule = "hono/deno";
1451
- let upgradeWebSocket;
1452
- try {
1453
- const dep = await import(
1454
- /* webpackIgnore: true */
1455
- honoDenoModule
1456
- );
1457
- upgradeWebSocket = dep.upgradeWebSocket;
1458
- } catch (err) {
1459
- logger4().error({
1460
- msg: "failed to import hono/deno",
1461
- error: stringifyError(err)
1462
- });
1463
- process.exit(1);
1464
- }
1465
- const port = config.managerPort;
1466
- const hostname = config.managerHost;
1467
- Deno.serve({ port, hostname }, app.fetch);
1468
- logger4().info({ msg: "server listening", port, hostname });
1469
- return { upgradeWebSocket };
1470
- }
1471
- async function serveBun(config, managerPort, app) {
1472
- const honoBunModule = "hono/bun";
1473
- let createBunWebSocket;
1474
- try {
1475
- const dep = await import(
1476
- /* webpackIgnore: true */
1477
- honoBunModule
1478
- );
1479
- createBunWebSocket = dep.createBunWebSocket;
1480
- } catch (err) {
1481
- logger4().error({
1482
- msg: "failed to import hono/bun",
1483
- error: stringifyError(err)
1484
- });
1485
- process.exit(1);
1486
- }
1487
- const { websocket, upgradeWebSocket } = createBunWebSocket();
1488
- const port = config.managerPort;
1489
- const hostname = config.managerHost;
1490
- Bun.serve({
1491
- fetch: app.fetch,
1492
- port,
1493
- hostname,
1494
- websocket
1495
- });
1496
- logger4().info({ msg: "server listening", port, hostname });
1497
- return { upgradeWebSocket };
1498
- }
1499
-
1500
1404
  // src/serverless/router.ts
1501
1405
  import invariant3 from "invariant";
1502
1406
 
@@ -1541,7 +1445,7 @@ function buildServerlessRouter(driverConfig, config) {
1541
1445
  );
1542
1446
  }
1543
1447
  const { endpoint, token, totalSlots, runnerName, namespace } = parseResult.data;
1544
- logger3().debug({
1448
+ logger4().debug({
1545
1449
  msg: "received serverless runner start request",
1546
1450
  endpoint,
1547
1451
  totalSlots,
@@ -1669,7 +1573,7 @@ var Runtime = class _Runtime {
1669
1573
  }
1670
1574
  static async create(registry) {
1671
1575
  var _a, _b, _c;
1672
- logger4().info("rivetkit starting");
1576
+ logger().info("rivetkit starting");
1673
1577
  const config = registry.parseConfig();
1674
1578
  if ((_a = config.logging) == null ? void 0 : _a.baseLogger) {
1675
1579
  configureBaseLogger(config.logging.baseLogger);
@@ -1685,7 +1589,7 @@ var Runtime = class _Runtime {
1685
1589
  let managerPort;
1686
1590
  if (config.serverless.spawnEngine) {
1687
1591
  managerPort = ENGINE_PORT;
1688
- logger4().debug({
1592
+ logger().debug({
1689
1593
  msg: "spawning engine",
1690
1594
  version: config.serverless.engineVersion
1691
1595
  });
@@ -1694,16 +1598,18 @@ var Runtime = class _Runtime {
1694
1598
  });
1695
1599
  } else if (config.serveManager) {
1696
1600
  const configuredManagerPort = config.managerPort;
1601
+ const serveRuntime = detectRuntime();
1697
1602
  let upgradeWebSocket;
1698
1603
  const getUpgradeWebSocket = () => upgradeWebSocket;
1699
1604
  managerDriver.setGetUpgradeWebSocket(getUpgradeWebSocket);
1700
1605
  const { router: managerRouter } = buildManagerRouter(
1701
1606
  config,
1702
1607
  managerDriver,
1703
- getUpgradeWebSocket
1608
+ getUpgradeWebSocket,
1609
+ serveRuntime
1704
1610
  );
1705
1611
  managerPort = await findFreePort(config.managerPort);
1706
- logger4().debug({
1612
+ logger().debug({
1707
1613
  msg: "serving manager",
1708
1614
  port: managerPort
1709
1615
  });
@@ -1715,7 +1621,8 @@ var Runtime = class _Runtime {
1715
1621
  const out = await crossPlatformServe(
1716
1622
  config,
1717
1623
  managerPort,
1718
- managerRouter
1624
+ managerRouter,
1625
+ serveRuntime
1719
1626
  );
1720
1627
  upgradeWebSocket = out.upgradeWebSocket;
1721
1628
  }
@@ -1727,7 +1634,7 @@ var Runtime = class _Runtime {
1727
1634
  managerPort
1728
1635
  );
1729
1636
  const driverLog = ((_c = managerDriver.extraStartupLog) == null ? void 0 : _c.call(managerDriver)) ?? {};
1730
- logger4().info({
1637
+ logger().info({
1731
1638
  msg: "rivetkit ready",
1732
1639
  driver: driver.name,
1733
1640
  definitions: Object.keys(config.use).length,
@@ -1753,7 +1660,7 @@ var Runtime = class _Runtime {
1753
1660
  invariant4(!this.#startKind, "Runtime already started as serverless");
1754
1661
  this.#startKind = "runner";
1755
1662
  if (this.#config.runner && this.#driver.autoStartActorDriver) {
1756
- logger4().debug("starting actor driver");
1663
+ logger().debug("starting actor driver");
1757
1664
  const inlineClient = createClientWithDriver(
1758
1665
  this.#managerDriver
1759
1666
  );
@@ -1925,4 +1832,4 @@ export {
1925
1832
  Registry,
1926
1833
  setup
1927
1834
  };
1928
- //# sourceMappingURL=chunk-YLDDENCZ.js.map
1835
+ //# sourceMappingURL=chunk-ZPWOYQHN.js.map