rivetkit 2.0.39 → 2.0.41
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.
- package/dist/schemas/actor-persist/v1.js +167 -0
- package/dist/schemas/actor-persist/v2.js +200 -0
- package/dist/schemas/actor-persist/v3.js +200 -0
- package/dist/schemas/client-protocol/v1.js +301 -0
- package/dist/schemas/client-protocol/v2.js +299 -0
- package/dist/schemas/file-system-driver/v1.js +76 -0
- package/dist/schemas/file-system-driver/v2.js +103 -0
- package/dist/schemas/file-system-driver/v3.js +122 -0
- package/dist/tsup/actor/errors.cjs.map +1 -1
- package/dist/tsup/{chunk-OJZRCEIA.js → chunk-4J5EFV3E.js} +5 -5
- package/dist/tsup/{chunk-7E3RWMR6.cjs → chunk-4UHJ3ADW.cjs} +173 -107
- package/dist/tsup/chunk-4UHJ3ADW.cjs.map +1 -0
- package/dist/tsup/{chunk-BQ36VTSB.js → chunk-7KIR3QLO.js} +86 -20
- package/dist/tsup/{chunk-BQ36VTSB.js.map → chunk-7KIR3QLO.js.map} +1 -1
- package/dist/tsup/{chunk-KMYFL3OL.cjs → chunk-B5UXC4QV.cjs} +75 -64
- package/dist/tsup/chunk-B5UXC4QV.cjs.map +1 -0
- package/dist/tsup/{chunk-C64FV764.cjs → chunk-DSNSFYDL.cjs} +3 -3
- package/dist/tsup/chunk-DSNSFYDL.cjs.map +1 -0
- package/dist/tsup/chunk-GBENOENJ.cjs.map +1 -1
- package/dist/tsup/{chunk-DY4H3ASE.cjs → chunk-GTQKDCM4.cjs} +46 -46
- package/dist/tsup/chunk-GTQKDCM4.cjs.map +1 -0
- package/dist/tsup/chunk-KDFWJKMJ.cjs.map +1 -1
- package/dist/tsup/{chunk-CDK6DRO2.js → chunk-LMG4QMDO.js} +2 -2
- package/dist/tsup/{chunk-CDK6DRO2.js.map → chunk-LMG4QMDO.js.map} +1 -1
- package/dist/tsup/{chunk-T7IPDBWH.js → chunk-NRP2OHSW.js} +4 -4
- package/dist/tsup/{chunk-PVKUXMOA.js → chunk-OXN6EZUB.js} +19 -8
- package/dist/tsup/chunk-OXN6EZUB.js.map +1 -0
- package/dist/tsup/{chunk-MZPYVTVG.cjs → chunk-QDVKDX7G.cjs} +9 -9
- package/dist/tsup/chunk-QDVKDX7G.cjs.map +1 -0
- package/dist/tsup/{chunk-X72X7I7T.cjs → chunk-S6F7EKC7.cjs} +2 -2
- package/dist/tsup/chunk-S6F7EKC7.cjs.map +1 -0
- package/dist/tsup/chunk-SNAUKDDK.cjs.map +1 -1
- package/dist/tsup/{chunk-XU74APB4.js → chunk-UGOCTUBG.js} +6 -5
- package/dist/tsup/chunk-UGOCTUBG.js.map +1 -0
- package/dist/tsup/{chunk-UAX5E3EU.cjs → chunk-WYZLRPQM.cjs} +250 -249
- package/dist/tsup/chunk-WYZLRPQM.cjs.map +1 -0
- package/dist/tsup/{chunk-PHCD25XO.js → chunk-Y7ZDTLD2.js} +2 -2
- package/dist/tsup/client/mod.cjs +5 -5
- package/dist/tsup/client/mod.cjs.map +1 -1
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +4 -4
- package/dist/tsup/common/log.cjs +2 -2
- package/dist/tsup/common/log.cjs.map +1 -1
- package/dist/tsup/common/log.d.cts +2 -2
- package/dist/tsup/common/log.d.ts +2 -2
- package/dist/tsup/common/log.js +1 -1
- package/dist/tsup/common/websocket.cjs +3 -3
- package/dist/tsup/common/websocket.cjs.map +1 -1
- package/dist/tsup/common/websocket.js +2 -2
- package/dist/tsup/{config-BuBlMs6C.d.cts → config-COyis_uH.d.cts} +22 -10
- package/dist/tsup/{config-CBwo4ooA.d.ts → config-D43N-CFi.d.ts} +22 -10
- package/dist/tsup/{driver-CPXmh8f8.d.cts → driver-Bt7B-qMd.d.cts} +1 -1
- package/dist/tsup/{driver-DxWa6HUO.d.ts → driver-KyM2v645.d.ts} +1 -1
- package/dist/tsup/driver-helpers/mod.cjs +3 -3
- package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
- package/dist/tsup/driver-helpers/mod.d.cts +2 -2
- package/dist/tsup/driver-helpers/mod.d.ts +2 -2
- package/dist/tsup/driver-helpers/mod.js +2 -2
- package/dist/tsup/driver-test-suite/mod.cjs +62 -34
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
- package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
- package/dist/tsup/driver-test-suite/mod.js +35 -7
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs.map +1 -1
- package/dist/tsup/mod.cjs +7 -7
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +4 -4
- package/dist/tsup/mod.d.ts +4 -4
- package/dist/tsup/mod.js +6 -6
- package/dist/tsup/test/mod.cjs +7 -7
- package/dist/tsup/test/mod.cjs.map +1 -1
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +6 -6
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.cjs.map +1 -1
- package/dist/tsup/utils.js +1 -1
- package/package.json +2 -2
- package/src/actor/instance/schedule-manager.ts +2 -1
- package/src/actor/router-websocket-endpoints.test.ts +54 -0
- package/src/actor/router-websocket-endpoints.ts +9 -4
- package/src/common/router.ts +2 -0
- package/src/driver-test-suite/tests/raw-websocket.ts +40 -0
- package/src/engine-process/mod.ts +69 -7
- package/src/registry/config/index.ts +7 -0
- package/src/registry/config/serverless.ts +2 -0
- package/src/registry/serve.ts +9 -5
- package/src/remote-manager-driver/api-endpoints.ts +2 -0
- package/src/serverless/configure.ts +3 -0
- package/dist/tsup/chunk-7E3RWMR6.cjs.map +0 -1
- package/dist/tsup/chunk-C64FV764.cjs.map +0 -1
- package/dist/tsup/chunk-DY4H3ASE.cjs.map +0 -1
- package/dist/tsup/chunk-KMYFL3OL.cjs.map +0 -1
- package/dist/tsup/chunk-MZPYVTVG.cjs.map +0 -1
- package/dist/tsup/chunk-PVKUXMOA.js.map +0 -1
- package/dist/tsup/chunk-UAX5E3EU.cjs.map +0 -1
- package/dist/tsup/chunk-X72X7I7T.cjs.map +0 -1
- package/dist/tsup/chunk-XU74APB4.js.map +0 -1
- /package/dist/tsup/{chunk-OJZRCEIA.js.map → chunk-4J5EFV3E.js.map} +0 -0
- /package/dist/tsup/{chunk-T7IPDBWH.js.map → chunk-NRP2OHSW.js.map} +0 -0
- /package/dist/tsup/{chunk-PHCD25XO.js.map → chunk-Y7ZDTLD2.js.map} +0 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkGTQKDCM4cjs = require('./chunk-GTQKDCM4.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -23,7 +23,7 @@ var _chunkDY4H3ASEcjs = require('./chunk-DY4H3ASE.cjs');
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunkWYZLRPQMcjs = require('./chunk-WYZLRPQM.cjs');
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
@@ -47,7 +47,7 @@ var _chunkUAX5E3EUcjs = require('./chunk-UAX5E3EU.cjs');
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _chunkB5UXC4QVcjs = require('./chunk-B5UXC4QV.cjs');
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
|
|
@@ -65,7 +65,7 @@ var _chunkKMYFL3OLcjs = require('./chunk-KMYFL3OL.cjs');
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
|
|
68
|
-
var
|
|
68
|
+
var _chunkS6F7EKC7cjs = require('./chunk-S6F7EKC7.cjs');
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
|
|
@@ -229,7 +229,7 @@ var DocActorConfigSchema = _zod.z.object({
|
|
|
229
229
|
// src/actor/mod.ts
|
|
230
230
|
function actor(input) {
|
|
231
231
|
const config = ActorConfigSchema.parse(input);
|
|
232
|
-
return new (0,
|
|
232
|
+
return new (0, _chunkWYZLRPQMcjs.ActorDefinition)(config);
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
// src/drivers/engine/actor-driver.ts
|
|
@@ -241,7 +241,7 @@ var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(
|
|
|
241
241
|
|
|
242
242
|
// src/drivers/engine/log.ts
|
|
243
243
|
function logger() {
|
|
244
|
-
return
|
|
244
|
+
return _chunkS6F7EKC7cjs.getLogger.call(void 0, "driver-engine");
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
// src/drivers/engine/actor-driver.ts
|
|
@@ -255,8 +255,8 @@ var EngineActorDriver = class {
|
|
|
255
255
|
#runner;
|
|
256
256
|
#actors = /* @__PURE__ */ new Map();
|
|
257
257
|
#actorRouter;
|
|
258
|
-
#runnerStarted =
|
|
259
|
-
#runnerStopped =
|
|
258
|
+
#runnerStarted = _chunkS6F7EKC7cjs.promiseWithResolvers.call(void 0, );
|
|
259
|
+
#runnerStopped = _chunkS6F7EKC7cjs.promiseWithResolvers.call(void 0, );
|
|
260
260
|
#isRunnerStopped = false;
|
|
261
261
|
// HACK: Track actor stop intent locally since the runner protocol doesn't
|
|
262
262
|
// pass the stop reason to onActorStop. This will be fixed when the runner
|
|
@@ -280,7 +280,7 @@ var EngineActorDriver = class {
|
|
|
280
280
|
this.#managerDriver = managerDriver;
|
|
281
281
|
this.#inlineClient = inlineClient;
|
|
282
282
|
const token = config.token;
|
|
283
|
-
this.#actorRouter =
|
|
283
|
+
this.#actorRouter = _chunkGTQKDCM4cjs.createActorRouter.call(void 0,
|
|
284
284
|
config,
|
|
285
285
|
this,
|
|
286
286
|
void 0,
|
|
@@ -288,16 +288,16 @@ var EngineActorDriver = class {
|
|
|
288
288
|
);
|
|
289
289
|
const engineRunnerConfig = {
|
|
290
290
|
version: config.runner.version,
|
|
291
|
-
endpoint:
|
|
291
|
+
endpoint: _chunkWYZLRPQMcjs.getEndpoint.call(void 0, config),
|
|
292
292
|
token,
|
|
293
293
|
namespace: config.namespace,
|
|
294
294
|
totalSlots: config.runner.totalSlots,
|
|
295
295
|
runnerName: config.runner.runnerName,
|
|
296
296
|
runnerKey: _nullishCoalesce(config.runner.runnerKey, () => ( crypto.randomUUID())),
|
|
297
297
|
metadata: {
|
|
298
|
-
rivetkit: { version:
|
|
298
|
+
rivetkit: { version: _chunkS6F7EKC7cjs.VERSION }
|
|
299
299
|
},
|
|
300
|
-
prepopulateActorNames:
|
|
300
|
+
prepopulateActorNames: _chunkB5UXC4QVcjs.buildActorNames.call(void 0, config),
|
|
301
301
|
onConnected: () => {
|
|
302
302
|
this.#runnerStarted.resolve(void 0);
|
|
303
303
|
},
|
|
@@ -314,7 +314,7 @@ var EngineActorDriver = class {
|
|
|
314
314
|
},
|
|
315
315
|
onActorStart: this.#runnerOnActorStart.bind(this),
|
|
316
316
|
onActorStop: this.#runnerOnActorStop.bind(this),
|
|
317
|
-
logger:
|
|
317
|
+
logger: _chunkS6F7EKC7cjs.getLogger.call(void 0, "engine-runner")
|
|
318
318
|
};
|
|
319
319
|
this.#runner = new (0, _enginerunner.Runner)(engineRunnerConfig);
|
|
320
320
|
this.#runner.start();
|
|
@@ -352,7 +352,7 @@ var EngineActorDriver = class {
|
|
|
352
352
|
handler.alarmTimeout = void 0;
|
|
353
353
|
}
|
|
354
354
|
const delay = Math.max(0, timestamp - Date.now());
|
|
355
|
-
handler.alarmTimeout =
|
|
355
|
+
handler.alarmTimeout = _chunkS6F7EKC7cjs.setLongTimeout.call(void 0, () => {
|
|
356
356
|
actor2.onAlarm();
|
|
357
357
|
handler.alarmTimeout = void 0;
|
|
358
358
|
}, delay);
|
|
@@ -424,7 +424,7 @@ var EngineActorDriver = class {
|
|
|
424
424
|
var _a;
|
|
425
425
|
(_a = handler.actor) == null ? void 0 : _a.rLog.error({
|
|
426
426
|
msg: "onStop errored",
|
|
427
|
-
error:
|
|
427
|
+
error: _chunkS6F7EKC7cjs.stringifyError.call(void 0, err)
|
|
428
428
|
});
|
|
429
429
|
})
|
|
430
430
|
);
|
|
@@ -482,18 +482,18 @@ var EngineActorDriver = class {
|
|
|
482
482
|
let handler = this.#actors.get(actorId);
|
|
483
483
|
if (!handler) {
|
|
484
484
|
handler = {
|
|
485
|
-
actorStartPromise:
|
|
485
|
+
actorStartPromise: _chunkS6F7EKC7cjs.promiseWithResolvers.call(void 0, )
|
|
486
486
|
};
|
|
487
487
|
this.#actors.set(actorId, handler);
|
|
488
488
|
}
|
|
489
489
|
const name = actorConfig.name;
|
|
490
490
|
_invariant2.default.call(void 0, actorConfig.key, "actor should have a key");
|
|
491
|
-
const key =
|
|
491
|
+
const key = _chunkB5UXC4QVcjs.deserializeActorKey.call(void 0, actorConfig.key);
|
|
492
492
|
const [persistDataBuffer] = await this.#runner.kvGet(actorId, [
|
|
493
|
-
|
|
493
|
+
_chunkB5UXC4QVcjs.KEYS.PERSIST_DATA
|
|
494
494
|
]);
|
|
495
495
|
if (persistDataBuffer === null) {
|
|
496
|
-
const initialKvState =
|
|
496
|
+
const initialKvState = _chunkB5UXC4QVcjs.getInitialActorKvState.call(void 0, input);
|
|
497
497
|
await this.#runner.kvPut(actorId, initialKvState);
|
|
498
498
|
logger().debug({
|
|
499
499
|
msg: "initialized persist data for new actor",
|
|
@@ -506,7 +506,7 @@ var EngineActorDriver = class {
|
|
|
506
506
|
dataSize: persistDataBuffer.byteLength
|
|
507
507
|
});
|
|
508
508
|
}
|
|
509
|
-
const definition =
|
|
509
|
+
const definition = _chunkWYZLRPQMcjs.lookupInRegistry.call(void 0, this.#config, actorConfig.name);
|
|
510
510
|
handler.actor = definition.instantiate();
|
|
511
511
|
await handler.actor.start(
|
|
512
512
|
this,
|
|
@@ -530,7 +530,7 @@ var EngineActorDriver = class {
|
|
|
530
530
|
} catch (err) {
|
|
531
531
|
logger().error({
|
|
532
532
|
msg: "error in onStop, proceeding with removing actor",
|
|
533
|
-
err:
|
|
533
|
+
err: _chunkS6F7EKC7cjs.stringifyError.call(void 0, err)
|
|
534
534
|
});
|
|
535
535
|
}
|
|
536
536
|
this.#actors.delete(actorId);
|
|
@@ -563,10 +563,10 @@ var EngineActorDriver = class {
|
|
|
563
563
|
websocketProps: websocketRaw ? Object.keys(websocketRaw).join(", ") : "null"
|
|
564
564
|
});
|
|
565
565
|
const protocols = request.headers.get("sec-websocket-protocol");
|
|
566
|
-
const { encoding, connParams } =
|
|
566
|
+
const { encoding, connParams } = _chunkB5UXC4QVcjs.parseWebSocketProtocols.call(void 0, protocols);
|
|
567
567
|
let wsHandler;
|
|
568
568
|
try {
|
|
569
|
-
wsHandler = await
|
|
569
|
+
wsHandler = await _chunkB5UXC4QVcjs.routeWebSocket.call(void 0,
|
|
570
570
|
request,
|
|
571
571
|
requestPath,
|
|
572
572
|
requestHeaders,
|
|
@@ -589,7 +589,7 @@ var EngineActorDriver = class {
|
|
|
589
589
|
const wsContext = new (0, _ws.WSContext)(websocket);
|
|
590
590
|
const conn = wsHandler.conn;
|
|
591
591
|
const actor2 = wsHandler.actor;
|
|
592
|
-
const connStateManager = conn == null ? void 0 : conn[
|
|
592
|
+
const connStateManager = conn == null ? void 0 : conn[_chunkB5UXC4QVcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
593
593
|
logger().debug({
|
|
594
594
|
msg: "attaching websocket event listeners",
|
|
595
595
|
actorId,
|
|
@@ -649,7 +649,7 @@ var EngineActorDriver = class {
|
|
|
649
649
|
});
|
|
650
650
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
651
651
|
if (entry) {
|
|
652
|
-
const messageLength =
|
|
652
|
+
const messageLength = _chunkB5UXC4QVcjs.getValueLength.call(void 0, event.data);
|
|
653
653
|
entry.bufferedMessageSize += messageLength;
|
|
654
654
|
if (entry.bufferedMessageSize >= CONN_BUFFERED_MESSAGE_SIZE_THRESHOLD) {
|
|
655
655
|
entry.bufferedMessageSize = 0;
|
|
@@ -720,10 +720,10 @@ var EngineActorDriver = class {
|
|
|
720
720
|
gatewayId: _enginerunner.idToStr.call(void 0, gatewayId),
|
|
721
721
|
requestId: _enginerunner.idToStr.call(void 0, requestId)
|
|
722
722
|
});
|
|
723
|
-
if (path ===
|
|
723
|
+
if (path === _chunkB5UXC4QVcjs.PATH_CONNECT) {
|
|
724
724
|
return true;
|
|
725
|
-
} else if (path ===
|
|
726
|
-
const definition =
|
|
725
|
+
} else if (path === _chunkB5UXC4QVcjs.PATH_WEBSOCKET_BASE || path.startsWith(_chunkB5UXC4QVcjs.PATH_WEBSOCKET_PREFIX)) {
|
|
726
|
+
const definition = _chunkWYZLRPQMcjs.lookupInRegistry.call(void 0,
|
|
727
727
|
this.#config,
|
|
728
728
|
actorInstance.config.name
|
|
729
729
|
);
|
|
@@ -732,7 +732,7 @@ var EngineActorDriver = class {
|
|
|
732
732
|
return true;
|
|
733
733
|
} else if (typeof canHibernateWebSocket === "function") {
|
|
734
734
|
try {
|
|
735
|
-
const newPath =
|
|
735
|
+
const newPath = _chunkB5UXC4QVcjs.truncateRawWebSocketPathPrefix.call(void 0,
|
|
736
736
|
url.pathname
|
|
737
737
|
);
|
|
738
738
|
const truncatedRequest = new Request(
|
|
@@ -751,7 +751,7 @@ var EngineActorDriver = class {
|
|
|
751
751
|
} else {
|
|
752
752
|
return false;
|
|
753
753
|
}
|
|
754
|
-
} else if (path ===
|
|
754
|
+
} else if (path === _chunkB5UXC4QVcjs.PATH_INSPECTOR_CONNECT) {
|
|
755
755
|
return false;
|
|
756
756
|
} else {
|
|
757
757
|
logger().warn({
|
|
@@ -764,7 +764,7 @@ var EngineActorDriver = class {
|
|
|
764
764
|
async #hwsLoadAll(actorId) {
|
|
765
765
|
const actor2 = await this.loadActor(actorId);
|
|
766
766
|
return actor2.conns.values().map((conn) => {
|
|
767
|
-
const connStateManager = conn[
|
|
767
|
+
const connStateManager = conn[_chunkB5UXC4QVcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
768
768
|
const hibernatable = connStateManager.hibernatableData;
|
|
769
769
|
if (!hibernatable) return void 0;
|
|
770
770
|
return {
|
|
@@ -787,7 +787,7 @@ var EngineActorDriver = class {
|
|
|
787
787
|
await this.#runner.restoreHibernatingRequests(actor2.id, metaEntries);
|
|
788
788
|
}
|
|
789
789
|
onCreateConn(conn) {
|
|
790
|
-
const hibernatable = conn[
|
|
790
|
+
const hibernatable = conn[_chunkB5UXC4QVcjs.CONN_STATE_MANAGER_SYMBOL].hibernatableData;
|
|
791
791
|
if (!hibernatable) return;
|
|
792
792
|
this.#hwsMessageIndex.set(conn.id, {
|
|
793
793
|
serverMessageIndex: hibernatable.serverMessageIndex,
|
|
@@ -809,7 +809,7 @@ var EngineActorDriver = class {
|
|
|
809
809
|
});
|
|
810
810
|
}
|
|
811
811
|
onBeforePersistConn(conn) {
|
|
812
|
-
const stateManager = conn[
|
|
812
|
+
const stateManager = conn[_chunkB5UXC4QVcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
813
813
|
const hibernatable = stateManager.hibernatableDataOrError();
|
|
814
814
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
815
815
|
if (!entry) {
|
|
@@ -823,7 +823,7 @@ var EngineActorDriver = class {
|
|
|
823
823
|
entry.serverMessageIndex = hibernatable.serverMessageIndex;
|
|
824
824
|
}
|
|
825
825
|
onAfterPersistConn(conn) {
|
|
826
|
-
const stateManager = conn[
|
|
826
|
+
const stateManager = conn[_chunkB5UXC4QVcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
827
827
|
const hibernatable = stateManager.hibernatableDataOrError();
|
|
828
828
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
829
829
|
if (!entry) {
|
|
@@ -848,9 +848,9 @@ var EngineActorDriver = class {
|
|
|
848
848
|
|
|
849
849
|
// src/drivers/engine/config.ts
|
|
850
850
|
|
|
851
|
-
var EngineConfigSchemaBase =
|
|
851
|
+
var EngineConfigSchemaBase = _chunkWYZLRPQMcjs.ClientConfigSchemaBase.extend({
|
|
852
852
|
/** Unique key for this runner. Runners connecting a given key will replace any other runner connected with the same key. */
|
|
853
|
-
runnerKey: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => (
|
|
853
|
+
runnerKey: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkS6F7EKC7cjs.getRivetRunnerKey.call(void 0, )))),
|
|
854
854
|
/** How many actors this runner can run. */
|
|
855
855
|
totalSlots: _zod.z.number().default(1e5)
|
|
856
856
|
});
|
|
@@ -862,7 +862,7 @@ var EngineConfigSchema = EngineConfigSchemaTransformed.default(
|
|
|
862
862
|
);
|
|
863
863
|
function transformEngineConfig(config, ctx) {
|
|
864
864
|
return {
|
|
865
|
-
...
|
|
865
|
+
..._chunkWYZLRPQMcjs.transformClientConfig.call(void 0, config, ctx),
|
|
866
866
|
runnerKey: config.runnerKey
|
|
867
867
|
};
|
|
868
868
|
}
|
|
@@ -873,8 +873,8 @@ function createEngineDriver() {
|
|
|
873
873
|
name: "engine",
|
|
874
874
|
displayName: "Engine",
|
|
875
875
|
manager: (config) => {
|
|
876
|
-
const clientConfig =
|
|
877
|
-
return new (0,
|
|
876
|
+
const clientConfig = _chunkWYZLRPQMcjs.convertRegistryConfigToClientConfig.call(void 0, config);
|
|
877
|
+
return new (0, _chunkWYZLRPQMcjs.RemoteManagerDriver)(clientConfig);
|
|
878
878
|
},
|
|
879
879
|
actor: (config, managerDriver, inlineClient) => {
|
|
880
880
|
return new EngineActorDriver(
|
|
@@ -902,15 +902,15 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
902
902
|
/** @experimental */
|
|
903
903
|
maxOutgoingMessageSize: _zod.z.number().optional().default(1048576),
|
|
904
904
|
/** @experimental */
|
|
905
|
-
inspector:
|
|
905
|
+
inspector: _chunkB5UXC4QVcjs.InspectorConfigSchema,
|
|
906
906
|
/** @experimental */
|
|
907
907
|
disableDefaultServer: _zod.z.boolean().optional().default(false),
|
|
908
908
|
/** @experimental */
|
|
909
909
|
defaultServerPort: _zod.z.number().default(6420),
|
|
910
910
|
/** @experimental */
|
|
911
|
-
runEngine: _zod.z.boolean().optional().default(() =>
|
|
911
|
+
runEngine: _zod.z.boolean().optional().default(() => _chunkS6F7EKC7cjs.getRivetRunEngine.call(void 0, )),
|
|
912
912
|
/** @experimental */
|
|
913
|
-
runEngineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(
|
|
913
|
+
runEngineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkS6F7EKC7cjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunkS6F7EKC7cjs.VERSION))),
|
|
914
914
|
/** @experimental */
|
|
915
915
|
overrideServerAddress: _zod.z.string().optional(),
|
|
916
916
|
/** @experimental */
|
|
@@ -922,7 +922,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
922
922
|
* serverlessly (by the Rivet Engine for example).
|
|
923
923
|
*/
|
|
924
924
|
runnerKind: _zod.z.enum(["serverless", "normal"]).optional().default(
|
|
925
|
-
() =>
|
|
925
|
+
() => _chunkS6F7EKC7cjs.getRivetRunnerKind.call(void 0, ) === "serverless" ? "serverless" : "normal"
|
|
926
926
|
),
|
|
927
927
|
totalSlots: _zod.z.number().optional(),
|
|
928
928
|
/**
|
|
@@ -944,7 +944,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
944
944
|
* */
|
|
945
945
|
logging: _zod.z.object({
|
|
946
946
|
baseLogger: _zod.z.custom().optional(),
|
|
947
|
-
level:
|
|
947
|
+
level: _chunkS6F7EKC7cjs.LogLevelSchema.optional()
|
|
948
948
|
}).optional().default(() => ({})),
|
|
949
949
|
/**
|
|
950
950
|
* @experimental
|
|
@@ -972,7 +972,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
972
972
|
// created or must be imported async using `await import(...)`
|
|
973
973
|
getUpgradeWebSocket: _zod.z.custom().optional(),
|
|
974
974
|
/** @experimental */
|
|
975
|
-
token: _zod.z.string().optional().transform((v) => v ||
|
|
975
|
+
token: _zod.z.string().optional().transform((v) => v || _chunkS6F7EKC7cjs.getRivetToken.call(void 0, ))
|
|
976
976
|
}).merge(EngineConfigSchemaBase);
|
|
977
977
|
var LegacyRunnerConfigSchemaTransformed = LegacyRunnerConfigSchemaUnmerged.transform((config, ctx) => ({
|
|
978
978
|
...config,
|
|
@@ -996,38 +996,38 @@ function chooseDefaultDriver(config) {
|
|
|
996
996
|
return config.driver;
|
|
997
997
|
}
|
|
998
998
|
if (config.endpoint || config.token) {
|
|
999
|
-
|
|
999
|
+
_chunkB5UXC4QVcjs.loggerWithoutContext.call(void 0, ).debug({
|
|
1000
1000
|
msg: "using rivet engine driver",
|
|
1001
1001
|
endpoint: config.endpoint
|
|
1002
1002
|
});
|
|
1003
1003
|
return createEngineDriver();
|
|
1004
1004
|
}
|
|
1005
|
-
|
|
1006
|
-
return
|
|
1005
|
+
_chunkB5UXC4QVcjs.loggerWithoutContext.call(void 0, ).debug({ msg: "using default file system driver" });
|
|
1006
|
+
return _chunkGTQKDCM4cjs.createFileSystemOrMemoryDriver.call(void 0, true);
|
|
1007
1007
|
}
|
|
1008
1008
|
|
|
1009
1009
|
// src/engine-process/log.ts
|
|
1010
1010
|
function logger2() {
|
|
1011
|
-
return
|
|
1011
|
+
return _chunkS6F7EKC7cjs.getLogger.call(void 0, "engine-process");
|
|
1012
1012
|
}
|
|
1013
1013
|
|
|
1014
1014
|
// src/engine-process/mod.ts
|
|
1015
1015
|
var ENGINE_BASE_URL = "https://releases.rivet.dev/rivet";
|
|
1016
1016
|
var ENGINE_BINARY_NAME = "rivet-engine";
|
|
1017
1017
|
async function ensureEngineProcess(options) {
|
|
1018
|
-
|
|
1018
|
+
_chunkGTQKDCM4cjs.importNodeDependencies.call(void 0, );
|
|
1019
1019
|
logger2().debug({
|
|
1020
1020
|
msg: "ensuring engine process",
|
|
1021
1021
|
version: options.version
|
|
1022
1022
|
});
|
|
1023
|
-
const path =
|
|
1024
|
-
const storageRoot =
|
|
1023
|
+
const path = _chunkGTQKDCM4cjs.getNodePath.call(void 0, );
|
|
1024
|
+
const storageRoot = _chunkGTQKDCM4cjs.getStoragePath.call(void 0, );
|
|
1025
1025
|
const binDir = path.join(storageRoot, "bin");
|
|
1026
1026
|
const varDir = path.join(storageRoot, "var");
|
|
1027
1027
|
const logsDir = path.join(varDir, "logs", "rivet-engine");
|
|
1028
|
-
await
|
|
1029
|
-
await
|
|
1030
|
-
await
|
|
1028
|
+
await _chunkGTQKDCM4cjs.ensureDirectoryExists.call(void 0, binDir);
|
|
1029
|
+
await _chunkGTQKDCM4cjs.ensureDirectoryExists.call(void 0, varDir);
|
|
1030
|
+
await _chunkGTQKDCM4cjs.ensureDirectoryExists.call(void 0, logsDir);
|
|
1031
1031
|
if (await isEngineRunning()) {
|
|
1032
1032
|
try {
|
|
1033
1033
|
const health = await waitForEngineHealth();
|
|
@@ -1052,7 +1052,7 @@ async function ensureEngineProcess(options) {
|
|
|
1052
1052
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/:/g, "-").replace(/\./g, "-");
|
|
1053
1053
|
const stdoutLogPath = path.join(logsDir, `engine-${timestamp}-stdout.log`);
|
|
1054
1054
|
const stderrLogPath = path.join(logsDir, `engine-${timestamp}-stderr.log`);
|
|
1055
|
-
const fsSync =
|
|
1055
|
+
const fsSync = _chunkGTQKDCM4cjs.getNodeFsSync.call(void 0, );
|
|
1056
1056
|
const stdoutStream = fsSync.createWriteStream(stdoutLogPath, {
|
|
1057
1057
|
flags: "a"
|
|
1058
1058
|
});
|
|
@@ -1064,12 +1064,43 @@ async function ensureEngineProcess(options) {
|
|
|
1064
1064
|
stdout: stdoutLogPath,
|
|
1065
1065
|
stderr: stderrLogPath
|
|
1066
1066
|
});
|
|
1067
|
-
const childProcess =
|
|
1067
|
+
const childProcess = _chunkGTQKDCM4cjs.getNodeChildProcess.call(void 0, );
|
|
1068
1068
|
const child = childProcess.spawn(binaryPath, ["start"], {
|
|
1069
1069
|
cwd: path.dirname(binaryPath),
|
|
1070
1070
|
stdio: ["inherit", "pipe", "pipe"],
|
|
1071
1071
|
env: {
|
|
1072
|
-
...process.env
|
|
1072
|
+
...process.env,
|
|
1073
|
+
// Development environment overrides for Rivet Engine.
|
|
1074
|
+
//
|
|
1075
|
+
// NOTE: When modifying these env vars, also update scripts/run/dev-env.sh
|
|
1076
|
+
// to keep them in sync for manual engine runs.
|
|
1077
|
+
//
|
|
1078
|
+
// In development, runners can be terminated without a graceful
|
|
1079
|
+
// shutdown (i.e. SIGKILL instead of SIGTERM). This is treated as a
|
|
1080
|
+
// crash by Rivet Engine in production and implements a backoff for
|
|
1081
|
+
// rescheduling actors in case of a crash loop.
|
|
1082
|
+
//
|
|
1083
|
+
// This is problematic in development since this will cause actors
|
|
1084
|
+
// to become unresponsive if frequently killing your dev server.
|
|
1085
|
+
//
|
|
1086
|
+
// We reduce the timeouts for resetting a runner as healthy in
|
|
1087
|
+
// order to account for this.
|
|
1088
|
+
RIVET__PEGBOARD__RETRY_RESET_DURATION: "100",
|
|
1089
|
+
RIVET__PEGBOARD__BASE_RETRY_TIMEOUT: "100",
|
|
1090
|
+
// Set max exponent to 1 to have a maximum of base_retry_timeout
|
|
1091
|
+
RIVET__PEGBOARD__RESCHEDULE_BACKOFF_MAX_EXPONENT: "1",
|
|
1092
|
+
// Reduce thresholds for faster development iteration
|
|
1093
|
+
//
|
|
1094
|
+
// Default ping interval is 3s, this gives a 2s & 4s grace
|
|
1095
|
+
RIVET__PEGBOARD__RUNNER_ELIGIBLE_THRESHOLD: "5000",
|
|
1096
|
+
RIVET__PEGBOARD__RUNNER_LOST_THRESHOLD: "7000",
|
|
1097
|
+
// Allow faster metadata polling for hot-reload in development (in milliseconds)
|
|
1098
|
+
RIVET__PEGBOARD__MIN_METADATA_POLL_INTERVAL: "1000",
|
|
1099
|
+
// Reduce shutdown durations for faster development iteration (in seconds)
|
|
1100
|
+
RIVET__RUNTIME__WORKER_SHUTDOWN_DURATION: "1",
|
|
1101
|
+
RIVET__RUNTIME__GUARD_SHUTDOWN_DURATION: "1",
|
|
1102
|
+
// Force exit after this duration (must be > worker and guard shutdown durations)
|
|
1103
|
+
RIVET__RUNTIME__FORCE_SHUTDOWN_DURATION: "2"
|
|
1073
1104
|
}
|
|
1074
1105
|
});
|
|
1075
1106
|
if (!child.pid) {
|
|
@@ -1078,7 +1109,11 @@ async function ensureEngineProcess(options) {
|
|
|
1078
1109
|
if (child.stdout) {
|
|
1079
1110
|
child.stdout.pipe(stdoutStream);
|
|
1080
1111
|
}
|
|
1112
|
+
const stderrChunks = [];
|
|
1081
1113
|
if (child.stderr) {
|
|
1114
|
+
child.stderr.on("data", (chunk) => {
|
|
1115
|
+
stderrChunks.push(chunk);
|
|
1116
|
+
});
|
|
1082
1117
|
child.stderr.pipe(stderrStream);
|
|
1083
1118
|
}
|
|
1084
1119
|
logger2().debug({
|
|
@@ -1087,13 +1122,37 @@ async function ensureEngineProcess(options) {
|
|
|
1087
1122
|
cwd: path.dirname(binaryPath)
|
|
1088
1123
|
});
|
|
1089
1124
|
child.once("exit", (code, signal) => {
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1125
|
+
const stderrOutput = Buffer.concat(stderrChunks).toString("utf-8");
|
|
1126
|
+
if (stderrOutput.includes("LOCK: Resource temporarily unavailable")) {
|
|
1127
|
+
logger2().error({
|
|
1128
|
+
msg: "another instance of rivet engine is unexpectedly running, this is an internal error",
|
|
1129
|
+
code,
|
|
1130
|
+
signal,
|
|
1131
|
+
stdoutLog: stdoutLogPath,
|
|
1132
|
+
stderrLog: stderrLogPath,
|
|
1133
|
+
issues: "https://github.com/rivet-dev/rivetkit/issues",
|
|
1134
|
+
support: "https://rivet.dev/discord"
|
|
1135
|
+
});
|
|
1136
|
+
} else if (stderrOutput.includes("Rivet Engine has been rolled back to a previous version")) {
|
|
1137
|
+
logger2().error({
|
|
1138
|
+
msg: "rivet engine version downgrade detected",
|
|
1139
|
+
hint: `You attempted to downgrade the RivetKit version in development. To fix this, nuke the database by running: '${binaryPath}' database nuke --yes`,
|
|
1140
|
+
code,
|
|
1141
|
+
signal,
|
|
1142
|
+
stdoutLog: stdoutLogPath,
|
|
1143
|
+
stderrLog: stderrLogPath
|
|
1144
|
+
});
|
|
1145
|
+
} else {
|
|
1146
|
+
logger2().warn({
|
|
1147
|
+
msg: "engine process exited, please report this error",
|
|
1148
|
+
code,
|
|
1149
|
+
signal,
|
|
1150
|
+
stdoutLog: stdoutLogPath,
|
|
1151
|
+
stderrLog: stderrLogPath,
|
|
1152
|
+
issues: "https://github.com/rivet-dev/rivetkit/issues",
|
|
1153
|
+
support: "https://rivet.dev/discord"
|
|
1154
|
+
});
|
|
1155
|
+
}
|
|
1097
1156
|
stdoutStream.end();
|
|
1098
1157
|
stderrStream.end();
|
|
1099
1158
|
});
|
|
@@ -1141,7 +1200,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1141
1200
|
`failed to download rivet engine binary from ${downloadUrl}: ${response.status} ${response.statusText}`
|
|
1142
1201
|
);
|
|
1143
1202
|
}
|
|
1144
|
-
const crypto2 =
|
|
1203
|
+
const crypto2 = _chunkGTQKDCM4cjs.getNodeCrypto.call(void 0, );
|
|
1145
1204
|
const tempPath = `${binaryPath}.${crypto2.randomUUID()}.tmp`;
|
|
1146
1205
|
const startTime = Date.now();
|
|
1147
1206
|
logger2().debug({
|
|
@@ -1156,14 +1215,14 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1156
1215
|
});
|
|
1157
1216
|
}, 5e3);
|
|
1158
1217
|
try {
|
|
1159
|
-
const stream =
|
|
1160
|
-
const fsSync =
|
|
1218
|
+
const stream = _chunkGTQKDCM4cjs.getNodeStream.call(void 0, );
|
|
1219
|
+
const fsSync = _chunkGTQKDCM4cjs.getNodeFsSync.call(void 0, );
|
|
1161
1220
|
await stream.pipeline(
|
|
1162
1221
|
response.body,
|
|
1163
1222
|
fsSync.createWriteStream(tempPath)
|
|
1164
1223
|
);
|
|
1165
1224
|
clearTimeout(slowDownloadWarning);
|
|
1166
|
-
const fs =
|
|
1225
|
+
const fs = _chunkGTQKDCM4cjs.getNodeFs.call(void 0, );
|
|
1167
1226
|
const stats = await fs.stat(tempPath);
|
|
1168
1227
|
const downloadDuration = Date.now() - startTime;
|
|
1169
1228
|
if (process.platform !== "win32") {
|
|
@@ -1192,7 +1251,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1192
1251
|
support: "https://rivet.dev/discord"
|
|
1193
1252
|
});
|
|
1194
1253
|
try {
|
|
1195
|
-
const fs =
|
|
1254
|
+
const fs = _chunkGTQKDCM4cjs.getNodeFs.call(void 0, );
|
|
1196
1255
|
await fs.unlink(tempPath);
|
|
1197
1256
|
} catch (unlinkError) {
|
|
1198
1257
|
}
|
|
@@ -1234,7 +1293,7 @@ function resolveTargetTripletFor(platform, arch) {
|
|
|
1234
1293
|
);
|
|
1235
1294
|
}
|
|
1236
1295
|
async function isEngineRunning() {
|
|
1237
|
-
return await checkIfEngineAlreadyRunningOnPort(
|
|
1296
|
+
return await checkIfEngineAlreadyRunningOnPort(_chunkB5UXC4QVcjs.ENGINE_PORT);
|
|
1238
1297
|
}
|
|
1239
1298
|
async function checkIfEngineAlreadyRunningOnPort(port) {
|
|
1240
1299
|
let response;
|
|
@@ -1269,7 +1328,7 @@ async function checkIfEngineAlreadyRunningOnPort(port) {
|
|
|
1269
1328
|
}
|
|
1270
1329
|
async function fileExists(filePath) {
|
|
1271
1330
|
try {
|
|
1272
|
-
const fs =
|
|
1331
|
+
const fs = _chunkGTQKDCM4cjs.getNodeFs.call(void 0, );
|
|
1273
1332
|
await fs.access(filePath);
|
|
1274
1333
|
return true;
|
|
1275
1334
|
} catch (e) {
|
|
@@ -1283,7 +1342,7 @@ async function waitForEngineHealth() {
|
|
|
1283
1342
|
logger2().debug({ msg: "waiting for engine health check" });
|
|
1284
1343
|
for (let i = 0; i < maxRetries; i++) {
|
|
1285
1344
|
try {
|
|
1286
|
-
const response = await fetch(`${
|
|
1345
|
+
const response = await fetch(`${_chunkB5UXC4QVcjs.ENGINE_ENDPOINT}/health`, {
|
|
1287
1346
|
signal: AbortSignal.timeout(1e3)
|
|
1288
1347
|
});
|
|
1289
1348
|
if (response.ok) {
|
|
@@ -1327,7 +1386,7 @@ function getInspectorUrl(config, managerPort) {
|
|
|
1327
1386
|
|
|
1328
1387
|
// src/serverless/log.ts
|
|
1329
1388
|
function logger3() {
|
|
1330
|
-
return
|
|
1389
|
+
return _chunkS6F7EKC7cjs.getLogger.call(void 0, "serverless");
|
|
1331
1390
|
}
|
|
1332
1391
|
|
|
1333
1392
|
// src/serverless/configure.ts
|
|
@@ -1347,12 +1406,12 @@ async function configureServerlessRunner(config) {
|
|
|
1347
1406
|
}
|
|
1348
1407
|
const customConfig = config.serverless.configureRunnerPool;
|
|
1349
1408
|
_invariant2.default.call(void 0, customConfig, "configureRunnerPool should exist");
|
|
1350
|
-
const clientConfig =
|
|
1409
|
+
const clientConfig = _chunkWYZLRPQMcjs.convertRegistryConfigToClientConfig.call(void 0, config);
|
|
1351
1410
|
logger3().debug({
|
|
1352
1411
|
msg: "fetching datacenters",
|
|
1353
1412
|
endpoint: config.endpoint
|
|
1354
1413
|
});
|
|
1355
|
-
const dcsRes = await
|
|
1414
|
+
const dcsRes = await _chunkWYZLRPQMcjs.getDatacenters.call(void 0, clientConfig);
|
|
1356
1415
|
const runnerName = _nullishCoalesce(customConfig.name, () => ( "default"));
|
|
1357
1416
|
logger3().debug({
|
|
1358
1417
|
msg: "configuring serverless runner",
|
|
@@ -1367,11 +1426,14 @@ async function configureServerlessRunner(config) {
|
|
|
1367
1426
|
min_runners: _nullishCoalesce(customConfig.minRunners, () => ( 0)),
|
|
1368
1427
|
request_lifespan: _nullishCoalesce(customConfig.requestLifespan, () => ( 15 * 60)),
|
|
1369
1428
|
runners_margin: _nullishCoalesce(customConfig.runnersMargin, () => ( 0)),
|
|
1370
|
-
slots_per_runner: _nullishCoalesce(customConfig.slotsPerRunner, () => ( 1))
|
|
1429
|
+
slots_per_runner: _nullishCoalesce(customConfig.slotsPerRunner, () => ( 1)),
|
|
1430
|
+
metadata_poll_interval: _nullishCoalesce(customConfig.metadataPollInterval, () => ( 1e3))
|
|
1371
1431
|
},
|
|
1372
|
-
metadata: _nullishCoalesce(customConfig.metadata, () => ( {}))
|
|
1432
|
+
metadata: _nullishCoalesce(customConfig.metadata, () => ( {})),
|
|
1433
|
+
drain_on_version_upgrade: _nullishCoalesce(customConfig.drainOnVersionUpgrade, () => ( true)),
|
|
1434
|
+
metadataPollInterval: _nullishCoalesce(customConfig.metadataPollInterval, () => ( 1e3))
|
|
1373
1435
|
};
|
|
1374
|
-
await
|
|
1436
|
+
await _chunkWYZLRPQMcjs.updateRunnerConfig.call(void 0, clientConfig, runnerName, {
|
|
1375
1437
|
datacenters: Object.fromEntries(
|
|
1376
1438
|
dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
|
|
1377
1439
|
)
|
|
@@ -1391,7 +1453,7 @@ async function configureServerlessRunner(config) {
|
|
|
1391
1453
|
|
|
1392
1454
|
// src/registry/log.ts
|
|
1393
1455
|
function logger4() {
|
|
1394
|
-
return
|
|
1456
|
+
return _chunkS6F7EKC7cjs.getLogger.call(void 0, "registry");
|
|
1395
1457
|
}
|
|
1396
1458
|
|
|
1397
1459
|
// src/registry/serve.ts
|
|
@@ -1406,7 +1468,7 @@ async function findFreePort(startPort = DEFAULT_PORT) {
|
|
|
1406
1468
|
return _getport2.default.call(void 0, { port: portRange(startPort) });
|
|
1407
1469
|
}
|
|
1408
1470
|
async function crossPlatformServe(config, managerPort, app) {
|
|
1409
|
-
const runtime =
|
|
1471
|
+
const runtime = _chunkS6F7EKC7cjs.detectRuntime.call(void 0, );
|
|
1410
1472
|
logger4().debug({ msg: "detected runtime for serve", runtime });
|
|
1411
1473
|
switch (runtime) {
|
|
1412
1474
|
case "deno":
|
|
@@ -1431,7 +1493,7 @@ async function serveNode(config, managerPort, app) {
|
|
|
1431
1493
|
} catch (err) {
|
|
1432
1494
|
logger4().error({
|
|
1433
1495
|
msg: "failed to import @hono/node-server. please run 'npm install @hono/node-server @hono/node-ws'",
|
|
1434
|
-
error:
|
|
1496
|
+
error: _chunkS6F7EKC7cjs.stringifyError.call(void 0, err)
|
|
1435
1497
|
});
|
|
1436
1498
|
process.exit(1);
|
|
1437
1499
|
}
|
|
@@ -1446,7 +1508,7 @@ async function serveNode(config, managerPort, app) {
|
|
|
1446
1508
|
} catch (err) {
|
|
1447
1509
|
logger4().error({
|
|
1448
1510
|
msg: "failed to import @hono/node-ws. please run 'npm install @hono/node-server @hono/node-ws'",
|
|
1449
|
-
error:
|
|
1511
|
+
error: _chunkS6F7EKC7cjs.stringifyError.call(void 0, err)
|
|
1450
1512
|
});
|
|
1451
1513
|
process.exit(1);
|
|
1452
1514
|
}
|
|
@@ -1454,9 +1516,10 @@ async function serveNode(config, managerPort, app) {
|
|
|
1454
1516
|
app
|
|
1455
1517
|
});
|
|
1456
1518
|
const port = managerPort;
|
|
1519
|
+
const hostname = config.managerHost;
|
|
1457
1520
|
const server = serve(
|
|
1458
|
-
{ fetch: app.fetch, port },
|
|
1459
|
-
() => logger4().info({ msg: "server listening", port })
|
|
1521
|
+
{ fetch: app.fetch, port, hostname },
|
|
1522
|
+
() => logger4().info({ msg: "server listening", port, hostname })
|
|
1460
1523
|
);
|
|
1461
1524
|
injectWebSocket(server);
|
|
1462
1525
|
return { upgradeWebSocket };
|
|
@@ -1473,13 +1536,14 @@ async function serveDeno(config, managerPort, app) {
|
|
|
1473
1536
|
} catch (err) {
|
|
1474
1537
|
logger4().error({
|
|
1475
1538
|
msg: "failed to import hono/deno",
|
|
1476
|
-
error:
|
|
1539
|
+
error: _chunkS6F7EKC7cjs.stringifyError.call(void 0, err)
|
|
1477
1540
|
});
|
|
1478
1541
|
process.exit(1);
|
|
1479
1542
|
}
|
|
1480
1543
|
const port = config.managerPort;
|
|
1481
|
-
|
|
1482
|
-
|
|
1544
|
+
const hostname = config.managerHost;
|
|
1545
|
+
Deno.serve({ port, hostname }, app.fetch);
|
|
1546
|
+
logger4().info({ msg: "server listening", port, hostname });
|
|
1483
1547
|
return { upgradeWebSocket };
|
|
1484
1548
|
}
|
|
1485
1549
|
async function serveBun(config, managerPort, app) {
|
|
@@ -1494,18 +1558,20 @@ async function serveBun(config, managerPort, app) {
|
|
|
1494
1558
|
} catch (err) {
|
|
1495
1559
|
logger4().error({
|
|
1496
1560
|
msg: "failed to import hono/bun",
|
|
1497
|
-
error:
|
|
1561
|
+
error: _chunkS6F7EKC7cjs.stringifyError.call(void 0, err)
|
|
1498
1562
|
});
|
|
1499
1563
|
process.exit(1);
|
|
1500
1564
|
}
|
|
1501
1565
|
const { websocket, upgradeWebSocket } = createBunWebSocket();
|
|
1502
1566
|
const port = config.managerPort;
|
|
1567
|
+
const hostname = config.managerHost;
|
|
1503
1568
|
Bun.serve({
|
|
1504
1569
|
fetch: app.fetch,
|
|
1505
1570
|
port,
|
|
1571
|
+
hostname,
|
|
1506
1572
|
websocket
|
|
1507
1573
|
});
|
|
1508
|
-
logger4().info({ msg: "server listening", port });
|
|
1574
|
+
logger4().info({ msg: "server listening", port, hostname });
|
|
1509
1575
|
return { upgradeWebSocket };
|
|
1510
1576
|
}
|
|
1511
1577
|
|
|
@@ -1532,7 +1598,7 @@ var ServerlessStartHeadersSchema = _zod.z.object({
|
|
|
1532
1598
|
|
|
1533
1599
|
// src/serverless/router.ts
|
|
1534
1600
|
function buildServerlessRouter(driverConfig, config) {
|
|
1535
|
-
return
|
|
1601
|
+
return _chunkB5UXC4QVcjs.createRouter.call(void 0, config.serverless.basePath, (router) => {
|
|
1536
1602
|
router.get("/", (c) => {
|
|
1537
1603
|
return c.text(
|
|
1538
1604
|
"This is a RivetKit server.\n\nLearn more at https://rivetkit.org"
|
|
@@ -1581,10 +1647,10 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1581
1647
|
runnerKey: void 0
|
|
1582
1648
|
}
|
|
1583
1649
|
};
|
|
1584
|
-
const managerDriver = new (0,
|
|
1585
|
-
|
|
1650
|
+
const managerDriver = new (0, _chunkWYZLRPQMcjs.RemoteManagerDriver)(
|
|
1651
|
+
_chunkWYZLRPQMcjs.convertRegistryConfigToClientConfig.call(void 0, newConfig)
|
|
1586
1652
|
);
|
|
1587
|
-
const client =
|
|
1653
|
+
const client = _chunkWYZLRPQMcjs.createClientWithDriver.call(void 0, managerDriver);
|
|
1588
1654
|
const actorDriver = driverConfig.actor(
|
|
1589
1655
|
newConfig,
|
|
1590
1656
|
managerDriver,
|
|
@@ -1596,10 +1662,10 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1596
1662
|
);
|
|
1597
1663
|
return await actorDriver.serverlessHandleStart(c);
|
|
1598
1664
|
});
|
|
1599
|
-
router.get("/health", (c) =>
|
|
1665
|
+
router.get("/health", (c) => _chunkB5UXC4QVcjs.handleHealthRequest.call(void 0, c));
|
|
1600
1666
|
router.get(
|
|
1601
1667
|
"/metadata",
|
|
1602
|
-
(c) =>
|
|
1668
|
+
(c) => _chunkB5UXC4QVcjs.handleMetadataRequest.call(void 0,
|
|
1603
1669
|
c,
|
|
1604
1670
|
config,
|
|
1605
1671
|
{ serverless: {} },
|
|
@@ -1684,9 +1750,9 @@ var Runtime = class _Runtime {
|
|
|
1684
1750
|
logger4().info("rivetkit starting");
|
|
1685
1751
|
const config = registry.parseConfig();
|
|
1686
1752
|
if ((_a = config.logging) == null ? void 0 : _a.baseLogger) {
|
|
1687
|
-
|
|
1753
|
+
_chunkS6F7EKC7cjs.configureBaseLogger.call(void 0, config.logging.baseLogger);
|
|
1688
1754
|
} else {
|
|
1689
|
-
|
|
1755
|
+
_chunkS6F7EKC7cjs.configureDefaultLogger.call(void 0, (_b = config.logging) == null ? void 0 : _b.level);
|
|
1690
1756
|
}
|
|
1691
1757
|
_invariant2.default.call(void 0,
|
|
1692
1758
|
!(config.serverless.spawnEngine && config.serveManager),
|
|
@@ -1696,7 +1762,7 @@ var Runtime = class _Runtime {
|
|
|
1696
1762
|
const managerDriver = driver.manager(config);
|
|
1697
1763
|
let managerPort;
|
|
1698
1764
|
if (config.serverless.spawnEngine) {
|
|
1699
|
-
managerPort =
|
|
1765
|
+
managerPort = _chunkB5UXC4QVcjs.ENGINE_PORT;
|
|
1700
1766
|
logger4().debug({
|
|
1701
1767
|
msg: "spawning engine",
|
|
1702
1768
|
version: config.serverless.engineVersion
|
|
@@ -1708,7 +1774,7 @@ var Runtime = class _Runtime {
|
|
|
1708
1774
|
let upgradeWebSocket;
|
|
1709
1775
|
const getUpgradeWebSocket = () => upgradeWebSocket;
|
|
1710
1776
|
managerDriver.setGetUpgradeWebSocket(getUpgradeWebSocket);
|
|
1711
|
-
const { router: managerRouter } =
|
|
1777
|
+
const { router: managerRouter } = _chunkB5UXC4QVcjs.buildManagerRouter.call(void 0,
|
|
1712
1778
|
config,
|
|
1713
1779
|
managerDriver,
|
|
1714
1780
|
getUpgradeWebSocket
|
|
@@ -1760,7 +1826,7 @@ var Runtime = class _Runtime {
|
|
|
1760
1826
|
this.#startKind = "runner";
|
|
1761
1827
|
if (this.#config.runner && this.#driver.autoStartActorDriver) {
|
|
1762
1828
|
logger4().debug("starting actor driver");
|
|
1763
|
-
const inlineClient =
|
|
1829
|
+
const inlineClient = _chunkWYZLRPQMcjs.createClientWithDriver.call(void 0,
|
|
1764
1830
|
this.#managerDriver
|
|
1765
1831
|
);
|
|
1766
1832
|
this.#driver.actor(this.#config, this.#managerDriver, inlineClient);
|
|
@@ -1772,7 +1838,7 @@ var Runtime = class _Runtime {
|
|
|
1772
1838
|
const inspectorUrl = this.managerPort ? getInspectorUrl(this.#config, this.managerPort) : void 0;
|
|
1773
1839
|
console.log();
|
|
1774
1840
|
console.log(
|
|
1775
|
-
` RivetKit ${
|
|
1841
|
+
` RivetKit ${_chunkS6F7EKC7cjs.package_default.version} (${this.#driver.displayName} - ${this.#startKind === "serverless" ? "Serverless" : "Runner"})`
|
|
1776
1842
|
);
|
|
1777
1843
|
if (this.#config.namespace !== "default") {
|
|
1778
1844
|
logLine("Namespace", this.#config.namespace);
|
|
@@ -1813,7 +1879,7 @@ var Registry = class {
|
|
|
1813
1879
|
return this.#config;
|
|
1814
1880
|
}
|
|
1815
1881
|
parseConfig() {
|
|
1816
|
-
return
|
|
1882
|
+
return _chunkB5UXC4QVcjs.RegistryConfigSchema.parse(this.#config);
|
|
1817
1883
|
}
|
|
1818
1884
|
// Shared runtime instance
|
|
1819
1885
|
#runtime;
|
|
@@ -1879,7 +1945,7 @@ var Registry = class {
|
|
|
1879
1945
|
"autoConfigureServerless can only be configured when runnerKind is 'serverless'"
|
|
1880
1946
|
);
|
|
1881
1947
|
}
|
|
1882
|
-
const isDevEnv =
|
|
1948
|
+
const isDevEnv = _chunkS6F7EKC7cjs.isDev.call(void 0, );
|
|
1883
1949
|
if (isDevEnv && config.runnerKind === "serverless") {
|
|
1884
1950
|
if ((inputConfig == null ? void 0 : inputConfig.runEngine) === void 0) config.runEngine = true;
|
|
1885
1951
|
if ((inputConfig == null ? void 0 : inputConfig.autoConfigureServerless) === void 0)
|
|
@@ -1892,7 +1958,7 @@ var Registry = class {
|
|
|
1892
1958
|
}
|
|
1893
1959
|
}
|
|
1894
1960
|
#legacyStartServerless(config, _inputConfig) {
|
|
1895
|
-
const client =
|
|
1961
|
+
const client = _chunkWYZLRPQMcjs.createClient.call(void 0, {
|
|
1896
1962
|
endpoint: config.endpoint,
|
|
1897
1963
|
token: config.token,
|
|
1898
1964
|
namespace: config.namespace,
|
|
@@ -1905,7 +1971,7 @@ var Registry = class {
|
|
|
1905
1971
|
}
|
|
1906
1972
|
#legacyStartNormal(config) {
|
|
1907
1973
|
this.#ensureRuntime().then((runtime) => runtime.startRunner());
|
|
1908
|
-
const client =
|
|
1974
|
+
const client = _chunkWYZLRPQMcjs.createClient.call(void 0, {
|
|
1909
1975
|
endpoint: config.endpoint,
|
|
1910
1976
|
token: config.token,
|
|
1911
1977
|
namespace: config.namespace,
|
|
@@ -1927,4 +1993,4 @@ function setup(input) {
|
|
|
1927
1993
|
|
|
1928
1994
|
|
|
1929
1995
|
exports.actor = actor; exports.createEngineDriver = createEngineDriver; exports.Registry = Registry; exports.setup = setup;
|
|
1930
|
-
//# sourceMappingURL=chunk-
|
|
1996
|
+
//# sourceMappingURL=chunk-4UHJ3ADW.cjs.map
|