rivetkit 2.0.36 → 2.0.38
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/tsup/{chunk-UDKWYSU3.js → chunk-4U45T5KW.js} +6 -4
- package/dist/tsup/chunk-4U45T5KW.js.map +1 -0
- package/dist/tsup/{chunk-OYJU4B2I.cjs → chunk-6WLJW57U.cjs} +170 -95
- package/dist/tsup/chunk-6WLJW57U.cjs.map +1 -0
- package/dist/tsup/{chunk-DSPZ7BZN.js → chunk-EEL32AJM.js} +145 -94
- package/dist/tsup/chunk-EEL32AJM.js.map +1 -0
- package/dist/tsup/{chunk-EO5JABFU.js → chunk-FA6FGAEC.js} +83 -8
- package/dist/tsup/chunk-FA6FGAEC.js.map +1 -0
- package/dist/tsup/{chunk-65O3MUPO.cjs → chunk-FZQHTGQX.cjs} +9 -9
- package/dist/tsup/{chunk-65O3MUPO.cjs.map → chunk-FZQHTGQX.cjs.map} +1 -1
- package/dist/tsup/{chunk-VIUUUBXQ.cjs → chunk-GFKZZG2A.cjs} +3 -3
- package/dist/tsup/{chunk-VIUUUBXQ.cjs.map → chunk-GFKZZG2A.cjs.map} +1 -1
- package/dist/tsup/{chunk-7EGXCVJL.cjs → chunk-IRTVRBJA.cjs} +46 -46
- package/dist/tsup/{chunk-7EGXCVJL.cjs.map → chunk-IRTVRBJA.cjs.map} +1 -1
- package/dist/tsup/{chunk-6TLJAB64.cjs → chunk-IWXMFQDT.cjs} +115 -76
- package/dist/tsup/chunk-IWXMFQDT.cjs.map +1 -0
- package/dist/tsup/{chunk-Z5CSXFVY.js → chunk-K2RNF2ZR.js} +5 -5
- package/dist/tsup/{chunk-RTSLQIZ5.cjs → chunk-LULP6HM2.cjs} +386 -335
- package/dist/tsup/chunk-LULP6HM2.cjs.map +1 -0
- package/dist/tsup/{chunk-KJLJLNHR.js → chunk-MIOU6BF3.js} +59 -20
- package/dist/tsup/chunk-MIOU6BF3.js.map +1 -0
- package/dist/tsup/{chunk-WRYYREBN.cjs → chunk-O433HWWG.cjs} +6 -4
- package/dist/tsup/chunk-O433HWWG.cjs.map +1 -0
- package/dist/tsup/{chunk-X5GKJWTG.js → chunk-UUEZVDRL.js} +4 -4
- package/dist/tsup/{chunk-D35UUQOR.js → chunk-WIZ4JGP6.js} +2 -2
- package/dist/tsup/client/mod.cjs +5 -5
- 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.js +1 -1
- package/dist/tsup/common/websocket.cjs +3 -3
- package/dist/tsup/common/websocket.js +2 -2
- package/dist/tsup/{config-CRuzI6n4.d.ts → config-CbIHPGKl.d.ts} +167 -56
- package/dist/tsup/{config--NjwiYlS.d.cts → config-CwJCQyP1.d.cts} +167 -56
- package/dist/tsup/{driver-BcmckRaF.d.ts → driver-CMN823Lc.d.ts} +1 -1
- package/dist/tsup/{driver-yKjYx9Yy.d.cts → driver-Lw_oORox.d.cts} +1 -1
- package/dist/tsup/driver-helpers/mod.cjs +3 -3
- 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 +34 -34
- 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 +7 -7
- package/dist/tsup/mod.cjs +17 -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 +16 -6
- package/dist/tsup/test/mod.cjs +7 -7
- 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.js +1 -1
- package/package.json +7 -5
- package/src/actor/config.ts +47 -0
- package/src/client/actor-conn.ts +70 -81
- package/src/client/actor-handle.ts +22 -12
- package/src/client/actor-query.ts +47 -0
- package/src/client/config.ts +6 -4
- package/src/client/errors.ts +22 -58
- package/src/client/utils.ts +33 -0
- package/src/engine-process/constants.ts +1 -1
- package/src/engine-process/mod.ts +1 -1
- package/src/inspector/utils.ts +1 -1
- package/src/manager/driver.ts +1 -3
- package/src/manager-api/actors.ts +1 -20
- package/src/registry/config/index.ts +71 -3
- package/src/remote-manager-driver/mod.ts +11 -1
- package/src/serverless/router.test.ts +299 -0
- package/src/serverless/router.ts +93 -1
- package/src/utils/env-vars.ts +4 -1
- package/dist/tsup/chunk-6TLJAB64.cjs.map +0 -1
- package/dist/tsup/chunk-DSPZ7BZN.js.map +0 -1
- package/dist/tsup/chunk-EO5JABFU.js.map +0 -1
- package/dist/tsup/chunk-KJLJLNHR.js.map +0 -1
- package/dist/tsup/chunk-OYJU4B2I.cjs.map +0 -1
- package/dist/tsup/chunk-RTSLQIZ5.cjs.map +0 -1
- package/dist/tsup/chunk-UDKWYSU3.js.map +0 -1
- package/dist/tsup/chunk-WRYYREBN.cjs.map +0 -1
- /package/dist/tsup/{chunk-Z5CSXFVY.js.map → chunk-K2RNF2ZR.js.map} +0 -0
- /package/dist/tsup/{chunk-X5GKJWTG.js.map → chunk-UUEZVDRL.js.map} +0 -0
- /package/dist/tsup/{chunk-D35UUQOR.js.map → chunk-WIZ4JGP6.js.map} +0 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkIRTVRBJAcjs = require('./chunk-IRTVRBJA.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -23,7 +23,7 @@ var _chunk7EGXCVJLcjs = require('./chunk-7EGXCVJL.cjs');
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunkLULP6HM2cjs = require('./chunk-LULP6HM2.cjs');
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
@@ -47,7 +47,7 @@ var _chunkRTSLQIZ5cjs = require('./chunk-RTSLQIZ5.cjs');
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _chunkIWXMFQDTcjs = require('./chunk-IWXMFQDT.cjs');
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
|
|
@@ -65,7 +65,7 @@ var _chunk6TLJAB64cjs = require('./chunk-6TLJAB64.cjs');
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
|
|
68
|
-
var
|
|
68
|
+
var _chunkO433HWWGcjs = require('./chunk-O433HWWG.cjs');
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
|
|
@@ -142,11 +142,48 @@ 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("Timeout in ms for createConnState handler. Default: 5000"),
|
|
148
|
+
onConnectTimeout: _zod.z.number().optional().describe("Timeout in ms for onConnect handler. Default: 5000"),
|
|
149
|
+
onSleepTimeout: _zod.z.number().optional().describe("Timeout in ms for onSleep handler. Must be less than ACTOR_STOP_THRESHOLD_MS. Default: 5000"),
|
|
150
|
+
onDestroyTimeout: _zod.z.number().optional().describe("Timeout in ms for onDestroy handler. Default: 5000"),
|
|
151
|
+
stateSaveInterval: _zod.z.number().optional().describe("Interval in ms between automatic state saves. Default: 10000"),
|
|
152
|
+
actionTimeout: _zod.z.number().optional().describe("Timeout in ms for action handlers. Default: 60000"),
|
|
153
|
+
waitUntilTimeout: _zod.z.number().optional().describe("Max time in ms to wait for waitUntil background promises during shutdown. Default: 15000"),
|
|
154
|
+
connectionLivenessTimeout: _zod.z.number().optional().describe("Timeout in ms for connection liveness checks. Default: 2500"),
|
|
155
|
+
connectionLivenessInterval: _zod.z.number().optional().describe("Interval in ms between connection liveness checks. Default: 5000"),
|
|
156
|
+
noSleep: _zod.z.boolean().optional().describe("If true, the actor will never sleep. Default: false"),
|
|
157
|
+
sleepTimeout: _zod.z.number().optional().describe("Time in ms of inactivity before the actor sleeps. Default: 30000"),
|
|
158
|
+
canHibernateWebSocket: _zod.z.boolean().optional().describe("Whether WebSockets using onWebSocket can be hibernated. WebSockets using actions/events are hibernatable by default. Default: false")
|
|
159
|
+
}).describe("Actor options for timeouts and behavior configuration.");
|
|
160
|
+
var DocActorConfigSchema = _zod.z.object({
|
|
161
|
+
state: _zod.z.unknown().optional().describe("Initial state value for the actor. Cannot be used with createState."),
|
|
162
|
+
createState: _zod.z.unknown().optional().describe("Function to create initial state. Receives context and input. Cannot be used with state."),
|
|
163
|
+
connState: _zod.z.unknown().optional().describe("Initial connection state value. Cannot be used with createConnState."),
|
|
164
|
+
createConnState: _zod.z.unknown().optional().describe("Function to create connection state. Receives context and connection params. Cannot be used with connState."),
|
|
165
|
+
vars: _zod.z.unknown().optional().describe("Initial ephemeral variables value. Cannot be used with createVars."),
|
|
166
|
+
createVars: _zod.z.unknown().optional().describe("Function to create ephemeral variables. Receives context and driver context. Cannot be used with vars."),
|
|
167
|
+
db: _zod.z.unknown().optional().describe("Database provider instance for the actor."),
|
|
168
|
+
onCreate: _zod.z.unknown().optional().describe("Called when the actor is first initialized. Use to initialize state."),
|
|
169
|
+
onDestroy: _zod.z.unknown().optional().describe("Called when the actor is destroyed."),
|
|
170
|
+
onWake: _zod.z.unknown().optional().describe("Called when the actor wakes up and is ready to receive connections and actions."),
|
|
171
|
+
onSleep: _zod.z.unknown().optional().describe("Called when the actor is stopping or sleeping. Use to clean up resources."),
|
|
172
|
+
onStateChange: _zod.z.unknown().optional().describe("Called when the actor's state changes. State changes within this hook won't trigger recursion."),
|
|
173
|
+
onBeforeConnect: _zod.z.unknown().optional().describe("Called before a client connects. Throw an error to reject the connection."),
|
|
174
|
+
onConnect: _zod.z.unknown().optional().describe("Called when a client successfully connects."),
|
|
175
|
+
onDisconnect: _zod.z.unknown().optional().describe("Called when a client disconnects."),
|
|
176
|
+
onBeforeActionResponse: _zod.z.unknown().optional().describe("Called before sending an action response. Use to transform output."),
|
|
177
|
+
onRequest: _zod.z.unknown().optional().describe("Called for raw HTTP requests to /actors/{name}/http/* endpoints."),
|
|
178
|
+
onWebSocket: _zod.z.unknown().optional().describe("Called for raw WebSocket connections to /actors/{name}/websocket/* endpoints."),
|
|
179
|
+
actions: _zod.z.record(_zod.z.string(), _zod.z.unknown()).optional().describe("Map of action name to handler function."),
|
|
180
|
+
options: DocActorOptionsSchema.optional()
|
|
181
|
+
}).describe("Actor configuration passed to the actor() function.");
|
|
145
182
|
|
|
146
183
|
// src/actor/mod.ts
|
|
147
184
|
function actor(input) {
|
|
148
185
|
const config = ActorConfigSchema.parse(input);
|
|
149
|
-
return new (0,
|
|
186
|
+
return new (0, _chunkLULP6HM2cjs.ActorDefinition)(config);
|
|
150
187
|
}
|
|
151
188
|
|
|
152
189
|
// src/drivers/engine/actor-driver.ts
|
|
@@ -158,7 +195,7 @@ var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(
|
|
|
158
195
|
|
|
159
196
|
// src/drivers/engine/log.ts
|
|
160
197
|
function logger() {
|
|
161
|
-
return
|
|
198
|
+
return _chunkO433HWWGcjs.getLogger.call(void 0, "driver-engine");
|
|
162
199
|
}
|
|
163
200
|
|
|
164
201
|
// src/drivers/engine/actor-driver.ts
|
|
@@ -172,8 +209,8 @@ var EngineActorDriver = class {
|
|
|
172
209
|
#runner;
|
|
173
210
|
#actors = /* @__PURE__ */ new Map();
|
|
174
211
|
#actorRouter;
|
|
175
|
-
#runnerStarted =
|
|
176
|
-
#runnerStopped =
|
|
212
|
+
#runnerStarted = _chunkO433HWWGcjs.promiseWithResolvers.call(void 0, );
|
|
213
|
+
#runnerStopped = _chunkO433HWWGcjs.promiseWithResolvers.call(void 0, );
|
|
177
214
|
#isRunnerStopped = false;
|
|
178
215
|
// HACK: Track actor stop intent locally since the runner protocol doesn't
|
|
179
216
|
// pass the stop reason to onActorStop. This will be fixed when the runner
|
|
@@ -197,7 +234,7 @@ var EngineActorDriver = class {
|
|
|
197
234
|
this.#managerDriver = managerDriver;
|
|
198
235
|
this.#inlineClient = inlineClient;
|
|
199
236
|
const token = config.token;
|
|
200
|
-
this.#actorRouter =
|
|
237
|
+
this.#actorRouter = _chunkIRTVRBJAcjs.createActorRouter.call(void 0,
|
|
201
238
|
config,
|
|
202
239
|
this,
|
|
203
240
|
void 0,
|
|
@@ -205,16 +242,16 @@ var EngineActorDriver = class {
|
|
|
205
242
|
);
|
|
206
243
|
const engineRunnerConfig = {
|
|
207
244
|
version: config.runner.version,
|
|
208
|
-
endpoint:
|
|
245
|
+
endpoint: _chunkLULP6HM2cjs.getEndpoint.call(void 0, config),
|
|
209
246
|
token,
|
|
210
247
|
namespace: config.namespace,
|
|
211
248
|
totalSlots: config.runner.totalSlots,
|
|
212
249
|
runnerName: config.runner.runnerName,
|
|
213
250
|
runnerKey: _nullishCoalesce(config.runner.runnerKey, () => ( crypto.randomUUID())),
|
|
214
251
|
metadata: {
|
|
215
|
-
rivetkit: { version:
|
|
252
|
+
rivetkit: { version: _chunkO433HWWGcjs.VERSION }
|
|
216
253
|
},
|
|
217
|
-
prepopulateActorNames:
|
|
254
|
+
prepopulateActorNames: _chunkIWXMFQDTcjs.buildActorNames.call(void 0, config),
|
|
218
255
|
onConnected: () => {
|
|
219
256
|
this.#runnerStarted.resolve(void 0);
|
|
220
257
|
},
|
|
@@ -231,7 +268,7 @@ var EngineActorDriver = class {
|
|
|
231
268
|
},
|
|
232
269
|
onActorStart: this.#runnerOnActorStart.bind(this),
|
|
233
270
|
onActorStop: this.#runnerOnActorStop.bind(this),
|
|
234
|
-
logger:
|
|
271
|
+
logger: _chunkO433HWWGcjs.getLogger.call(void 0, "engine-runner")
|
|
235
272
|
};
|
|
236
273
|
this.#runner = new (0, _enginerunner.Runner)(engineRunnerConfig);
|
|
237
274
|
this.#runner.start();
|
|
@@ -269,7 +306,7 @@ var EngineActorDriver = class {
|
|
|
269
306
|
handler.alarmTimeout = void 0;
|
|
270
307
|
}
|
|
271
308
|
const delay = Math.max(0, timestamp - Date.now());
|
|
272
|
-
handler.alarmTimeout =
|
|
309
|
+
handler.alarmTimeout = _chunkO433HWWGcjs.setLongTimeout.call(void 0, () => {
|
|
273
310
|
actor2.onAlarm();
|
|
274
311
|
handler.alarmTimeout = void 0;
|
|
275
312
|
}, delay);
|
|
@@ -341,7 +378,7 @@ var EngineActorDriver = class {
|
|
|
341
378
|
var _a;
|
|
342
379
|
(_a = handler.actor) == null ? void 0 : _a.rLog.error({
|
|
343
380
|
msg: "onStop errored",
|
|
344
|
-
error:
|
|
381
|
+
error: _chunkO433HWWGcjs.stringifyError.call(void 0, err)
|
|
345
382
|
});
|
|
346
383
|
})
|
|
347
384
|
);
|
|
@@ -399,18 +436,18 @@ var EngineActorDriver = class {
|
|
|
399
436
|
let handler = this.#actors.get(actorId);
|
|
400
437
|
if (!handler) {
|
|
401
438
|
handler = {
|
|
402
|
-
actorStartPromise:
|
|
439
|
+
actorStartPromise: _chunkO433HWWGcjs.promiseWithResolvers.call(void 0, )
|
|
403
440
|
};
|
|
404
441
|
this.#actors.set(actorId, handler);
|
|
405
442
|
}
|
|
406
443
|
const name = actorConfig.name;
|
|
407
444
|
_invariant2.default.call(void 0, actorConfig.key, "actor should have a key");
|
|
408
|
-
const key =
|
|
445
|
+
const key = _chunkIWXMFQDTcjs.deserializeActorKey.call(void 0, actorConfig.key);
|
|
409
446
|
const [persistDataBuffer] = await this.#runner.kvGet(actorId, [
|
|
410
|
-
|
|
447
|
+
_chunkIWXMFQDTcjs.KEYS.PERSIST_DATA
|
|
411
448
|
]);
|
|
412
449
|
if (persistDataBuffer === null) {
|
|
413
|
-
const initialKvState =
|
|
450
|
+
const initialKvState = _chunkIWXMFQDTcjs.getInitialActorKvState.call(void 0, input);
|
|
414
451
|
await this.#runner.kvPut(actorId, initialKvState);
|
|
415
452
|
logger().debug({
|
|
416
453
|
msg: "initialized persist data for new actor",
|
|
@@ -423,7 +460,7 @@ var EngineActorDriver = class {
|
|
|
423
460
|
dataSize: persistDataBuffer.byteLength
|
|
424
461
|
});
|
|
425
462
|
}
|
|
426
|
-
const definition =
|
|
463
|
+
const definition = _chunkLULP6HM2cjs.lookupInRegistry.call(void 0, this.#config, actorConfig.name);
|
|
427
464
|
handler.actor = definition.instantiate();
|
|
428
465
|
await handler.actor.start(
|
|
429
466
|
this,
|
|
@@ -447,7 +484,7 @@ var EngineActorDriver = class {
|
|
|
447
484
|
} catch (err) {
|
|
448
485
|
logger().error({
|
|
449
486
|
msg: "error in onStop, proceeding with removing actor",
|
|
450
|
-
err:
|
|
487
|
+
err: _chunkO433HWWGcjs.stringifyError.call(void 0, err)
|
|
451
488
|
});
|
|
452
489
|
}
|
|
453
490
|
this.#actors.delete(actorId);
|
|
@@ -480,10 +517,10 @@ var EngineActorDriver = class {
|
|
|
480
517
|
websocketProps: websocketRaw ? Object.keys(websocketRaw).join(", ") : "null"
|
|
481
518
|
});
|
|
482
519
|
const protocols = request.headers.get("sec-websocket-protocol");
|
|
483
|
-
const { encoding, connParams } =
|
|
520
|
+
const { encoding, connParams } = _chunkIWXMFQDTcjs.parseWebSocketProtocols.call(void 0, protocols);
|
|
484
521
|
let wsHandler;
|
|
485
522
|
try {
|
|
486
|
-
wsHandler = await
|
|
523
|
+
wsHandler = await _chunkIWXMFQDTcjs.routeWebSocket.call(void 0,
|
|
487
524
|
request,
|
|
488
525
|
requestPath,
|
|
489
526
|
requestHeaders,
|
|
@@ -506,7 +543,7 @@ var EngineActorDriver = class {
|
|
|
506
543
|
const wsContext = new (0, _ws.WSContext)(websocket);
|
|
507
544
|
const conn = wsHandler.conn;
|
|
508
545
|
const actor2 = wsHandler.actor;
|
|
509
|
-
const connStateManager = conn == null ? void 0 : conn[
|
|
546
|
+
const connStateManager = conn == null ? void 0 : conn[_chunkIWXMFQDTcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
510
547
|
logger().debug({
|
|
511
548
|
msg: "attaching websocket event listeners",
|
|
512
549
|
actorId,
|
|
@@ -566,7 +603,7 @@ var EngineActorDriver = class {
|
|
|
566
603
|
});
|
|
567
604
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
568
605
|
if (entry) {
|
|
569
|
-
const messageLength =
|
|
606
|
+
const messageLength = _chunkIWXMFQDTcjs.getValueLength.call(void 0, event.data);
|
|
570
607
|
entry.bufferedMessageSize += messageLength;
|
|
571
608
|
if (entry.bufferedMessageSize >= CONN_BUFFERED_MESSAGE_SIZE_THRESHOLD) {
|
|
572
609
|
entry.bufferedMessageSize = 0;
|
|
@@ -637,10 +674,10 @@ var EngineActorDriver = class {
|
|
|
637
674
|
gatewayId: _enginerunner.idToStr.call(void 0, gatewayId),
|
|
638
675
|
requestId: _enginerunner.idToStr.call(void 0, requestId)
|
|
639
676
|
});
|
|
640
|
-
if (path ===
|
|
677
|
+
if (path === _chunkIWXMFQDTcjs.PATH_CONNECT) {
|
|
641
678
|
return true;
|
|
642
|
-
} else if (path ===
|
|
643
|
-
const definition =
|
|
679
|
+
} else if (path === _chunkIWXMFQDTcjs.PATH_WEBSOCKET_BASE || path.startsWith(_chunkIWXMFQDTcjs.PATH_WEBSOCKET_PREFIX)) {
|
|
680
|
+
const definition = _chunkLULP6HM2cjs.lookupInRegistry.call(void 0,
|
|
644
681
|
this.#config,
|
|
645
682
|
actorInstance.config.name
|
|
646
683
|
);
|
|
@@ -649,7 +686,7 @@ var EngineActorDriver = class {
|
|
|
649
686
|
return true;
|
|
650
687
|
} else if (typeof canHibernateWebSocket === "function") {
|
|
651
688
|
try {
|
|
652
|
-
const newPath =
|
|
689
|
+
const newPath = _chunkIWXMFQDTcjs.truncateRawWebSocketPathPrefix.call(void 0,
|
|
653
690
|
url.pathname
|
|
654
691
|
);
|
|
655
692
|
const truncatedRequest = new Request(
|
|
@@ -668,7 +705,7 @@ var EngineActorDriver = class {
|
|
|
668
705
|
} else {
|
|
669
706
|
return false;
|
|
670
707
|
}
|
|
671
|
-
} else if (path ===
|
|
708
|
+
} else if (path === _chunkIWXMFQDTcjs.PATH_INSPECTOR_CONNECT) {
|
|
672
709
|
return false;
|
|
673
710
|
} else {
|
|
674
711
|
logger().warn({
|
|
@@ -681,7 +718,7 @@ var EngineActorDriver = class {
|
|
|
681
718
|
async #hwsLoadAll(actorId) {
|
|
682
719
|
const actor2 = await this.loadActor(actorId);
|
|
683
720
|
return actor2.conns.values().map((conn) => {
|
|
684
|
-
const connStateManager = conn[
|
|
721
|
+
const connStateManager = conn[_chunkIWXMFQDTcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
685
722
|
const hibernatable = connStateManager.hibernatableData;
|
|
686
723
|
if (!hibernatable) return void 0;
|
|
687
724
|
return {
|
|
@@ -704,7 +741,7 @@ var EngineActorDriver = class {
|
|
|
704
741
|
await this.#runner.restoreHibernatingRequests(actor2.id, metaEntries);
|
|
705
742
|
}
|
|
706
743
|
onCreateConn(conn) {
|
|
707
|
-
const hibernatable = conn[
|
|
744
|
+
const hibernatable = conn[_chunkIWXMFQDTcjs.CONN_STATE_MANAGER_SYMBOL].hibernatableData;
|
|
708
745
|
if (!hibernatable) return;
|
|
709
746
|
this.#hwsMessageIndex.set(conn.id, {
|
|
710
747
|
serverMessageIndex: hibernatable.serverMessageIndex,
|
|
@@ -726,7 +763,7 @@ var EngineActorDriver = class {
|
|
|
726
763
|
});
|
|
727
764
|
}
|
|
728
765
|
onBeforePersistConn(conn) {
|
|
729
|
-
const stateManager = conn[
|
|
766
|
+
const stateManager = conn[_chunkIWXMFQDTcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
730
767
|
const hibernatable = stateManager.hibernatableDataOrError();
|
|
731
768
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
732
769
|
if (!entry) {
|
|
@@ -740,7 +777,7 @@ var EngineActorDriver = class {
|
|
|
740
777
|
entry.serverMessageIndex = hibernatable.serverMessageIndex;
|
|
741
778
|
}
|
|
742
779
|
onAfterPersistConn(conn) {
|
|
743
|
-
const stateManager = conn[
|
|
780
|
+
const stateManager = conn[_chunkIWXMFQDTcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
744
781
|
const hibernatable = stateManager.hibernatableDataOrError();
|
|
745
782
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
746
783
|
if (!entry) {
|
|
@@ -765,9 +802,9 @@ var EngineActorDriver = class {
|
|
|
765
802
|
|
|
766
803
|
// src/drivers/engine/config.ts
|
|
767
804
|
|
|
768
|
-
var EngineConfigSchemaBase =
|
|
805
|
+
var EngineConfigSchemaBase = _chunkLULP6HM2cjs.ClientConfigSchemaBase.extend({
|
|
769
806
|
/** 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, () => (
|
|
807
|
+
runnerKey: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkO433HWWGcjs.getRivetRunnerKey.call(void 0, )))),
|
|
771
808
|
/** How many actors this runner can run. */
|
|
772
809
|
totalSlots: _zod.z.number().default(1e5)
|
|
773
810
|
});
|
|
@@ -779,7 +816,7 @@ var EngineConfigSchema = EngineConfigSchemaTransformed.default(
|
|
|
779
816
|
);
|
|
780
817
|
function transformEngineConfig(config, ctx) {
|
|
781
818
|
return {
|
|
782
|
-
...
|
|
819
|
+
..._chunkLULP6HM2cjs.transformClientConfig.call(void 0, config, ctx),
|
|
783
820
|
runnerKey: config.runnerKey
|
|
784
821
|
};
|
|
785
822
|
}
|
|
@@ -790,8 +827,8 @@ function createEngineDriver() {
|
|
|
790
827
|
name: "engine",
|
|
791
828
|
displayName: "Engine",
|
|
792
829
|
manager: (config) => {
|
|
793
|
-
const clientConfig =
|
|
794
|
-
return new (0,
|
|
830
|
+
const clientConfig = _chunkLULP6HM2cjs.convertRegistryConfigToClientConfig.call(void 0, config);
|
|
831
|
+
return new (0, _chunkLULP6HM2cjs.RemoteManagerDriver)(clientConfig);
|
|
795
832
|
},
|
|
796
833
|
actor: (config, managerDriver, inlineClient) => {
|
|
797
834
|
return new EngineActorDriver(
|
|
@@ -819,15 +856,15 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
819
856
|
/** @experimental */
|
|
820
857
|
maxOutgoingMessageSize: _zod.z.number().optional().default(1048576),
|
|
821
858
|
/** @experimental */
|
|
822
|
-
inspector:
|
|
859
|
+
inspector: _chunkIWXMFQDTcjs.InspectorConfigSchema,
|
|
823
860
|
/** @experimental */
|
|
824
861
|
disableDefaultServer: _zod.z.boolean().optional().default(false),
|
|
825
862
|
/** @experimental */
|
|
826
863
|
defaultServerPort: _zod.z.number().default(6420),
|
|
827
864
|
/** @experimental */
|
|
828
|
-
runEngine: _zod.z.boolean().optional().default(() =>
|
|
865
|
+
runEngine: _zod.z.boolean().optional().default(() => _chunkO433HWWGcjs.getRivetRunEngine.call(void 0, )),
|
|
829
866
|
/** @experimental */
|
|
830
|
-
runEngineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(
|
|
867
|
+
runEngineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkO433HWWGcjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunkO433HWWGcjs.VERSION))),
|
|
831
868
|
/** @experimental */
|
|
832
869
|
overrideServerAddress: _zod.z.string().optional(),
|
|
833
870
|
/** @experimental */
|
|
@@ -839,7 +876,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
839
876
|
* serverlessly (by the Rivet Engine for example).
|
|
840
877
|
*/
|
|
841
878
|
runnerKind: _zod.z.enum(["serverless", "normal"]).optional().default(
|
|
842
|
-
() =>
|
|
879
|
+
() => _chunkO433HWWGcjs.getRivetRunnerKind.call(void 0, ) === "serverless" ? "serverless" : "normal"
|
|
843
880
|
),
|
|
844
881
|
totalSlots: _zod.z.number().optional(),
|
|
845
882
|
/**
|
|
@@ -861,7 +898,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
861
898
|
* */
|
|
862
899
|
logging: _zod.z.object({
|
|
863
900
|
baseLogger: _zod.z.custom().optional(),
|
|
864
|
-
level:
|
|
901
|
+
level: _chunkO433HWWGcjs.LogLevelSchema.optional()
|
|
865
902
|
}).optional().default(() => ({})),
|
|
866
903
|
/**
|
|
867
904
|
* @experimental
|
|
@@ -889,7 +926,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
889
926
|
// created or must be imported async using `await import(...)`
|
|
890
927
|
getUpgradeWebSocket: _zod.z.custom().optional(),
|
|
891
928
|
/** @experimental */
|
|
892
|
-
token: _zod.z.string().optional().transform((v) => v ||
|
|
929
|
+
token: _zod.z.string().optional().transform((v) => v || _chunkO433HWWGcjs.getRivetToken.call(void 0, ))
|
|
893
930
|
}).merge(EngineConfigSchemaBase);
|
|
894
931
|
var LegacyRunnerConfigSchemaTransformed = LegacyRunnerConfigSchemaUnmerged.transform((config, ctx) => ({
|
|
895
932
|
...config,
|
|
@@ -913,38 +950,38 @@ function chooseDefaultDriver(config) {
|
|
|
913
950
|
return config.driver;
|
|
914
951
|
}
|
|
915
952
|
if (config.endpoint || config.token) {
|
|
916
|
-
|
|
953
|
+
_chunkIWXMFQDTcjs.loggerWithoutContext.call(void 0, ).debug({
|
|
917
954
|
msg: "using rivet engine driver",
|
|
918
955
|
endpoint: config.endpoint
|
|
919
956
|
});
|
|
920
957
|
return createEngineDriver();
|
|
921
958
|
}
|
|
922
|
-
|
|
923
|
-
return
|
|
959
|
+
_chunkIWXMFQDTcjs.loggerWithoutContext.call(void 0, ).debug({ msg: "using default file system driver" });
|
|
960
|
+
return _chunkIRTVRBJAcjs.createFileSystemOrMemoryDriver.call(void 0, true);
|
|
924
961
|
}
|
|
925
962
|
|
|
926
963
|
// src/engine-process/log.ts
|
|
927
964
|
function logger2() {
|
|
928
|
-
return
|
|
965
|
+
return _chunkO433HWWGcjs.getLogger.call(void 0, "engine-process");
|
|
929
966
|
}
|
|
930
967
|
|
|
931
968
|
// src/engine-process/mod.ts
|
|
932
969
|
var ENGINE_BASE_URL = "https://releases.rivet.dev/rivet";
|
|
933
970
|
var ENGINE_BINARY_NAME = "rivet-engine";
|
|
934
971
|
async function ensureEngineProcess(options) {
|
|
935
|
-
|
|
972
|
+
_chunkIRTVRBJAcjs.importNodeDependencies.call(void 0, );
|
|
936
973
|
logger2().debug({
|
|
937
974
|
msg: "ensuring engine process",
|
|
938
975
|
version: options.version
|
|
939
976
|
});
|
|
940
|
-
const path =
|
|
941
|
-
const storageRoot =
|
|
977
|
+
const path = _chunkIRTVRBJAcjs.getNodePath.call(void 0, );
|
|
978
|
+
const storageRoot = _chunkIRTVRBJAcjs.getStoragePath.call(void 0, );
|
|
942
979
|
const binDir = path.join(storageRoot, "bin");
|
|
943
980
|
const varDir = path.join(storageRoot, "var");
|
|
944
981
|
const logsDir = path.join(varDir, "logs", "rivet-engine");
|
|
945
|
-
await
|
|
946
|
-
await
|
|
947
|
-
await
|
|
982
|
+
await _chunkIRTVRBJAcjs.ensureDirectoryExists.call(void 0, binDir);
|
|
983
|
+
await _chunkIRTVRBJAcjs.ensureDirectoryExists.call(void 0, varDir);
|
|
984
|
+
await _chunkIRTVRBJAcjs.ensureDirectoryExists.call(void 0, logsDir);
|
|
948
985
|
if (await isEngineRunning()) {
|
|
949
986
|
try {
|
|
950
987
|
const health = await waitForEngineHealth();
|
|
@@ -969,7 +1006,7 @@ async function ensureEngineProcess(options) {
|
|
|
969
1006
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/:/g, "-").replace(/\./g, "-");
|
|
970
1007
|
const stdoutLogPath = path.join(logsDir, `engine-${timestamp}-stdout.log`);
|
|
971
1008
|
const stderrLogPath = path.join(logsDir, `engine-${timestamp}-stderr.log`);
|
|
972
|
-
const fsSync =
|
|
1009
|
+
const fsSync = _chunkIRTVRBJAcjs.getNodeFsSync.call(void 0, );
|
|
973
1010
|
const stdoutStream = fsSync.createWriteStream(stdoutLogPath, {
|
|
974
1011
|
flags: "a"
|
|
975
1012
|
});
|
|
@@ -981,7 +1018,7 @@ async function ensureEngineProcess(options) {
|
|
|
981
1018
|
stdout: stdoutLogPath,
|
|
982
1019
|
stderr: stderrLogPath
|
|
983
1020
|
});
|
|
984
|
-
const childProcess =
|
|
1021
|
+
const childProcess = _chunkIRTVRBJAcjs.getNodeChildProcess.call(void 0, );
|
|
985
1022
|
const child = childProcess.spawn(binaryPath, ["start"], {
|
|
986
1023
|
cwd: path.dirname(binaryPath),
|
|
987
1024
|
stdio: ["inherit", "pipe", "pipe"],
|
|
@@ -1058,7 +1095,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1058
1095
|
`failed to download rivet engine binary from ${downloadUrl}: ${response.status} ${response.statusText}`
|
|
1059
1096
|
);
|
|
1060
1097
|
}
|
|
1061
|
-
const crypto2 =
|
|
1098
|
+
const crypto2 = _chunkIRTVRBJAcjs.getNodeCrypto.call(void 0, );
|
|
1062
1099
|
const tempPath = `${binaryPath}.${crypto2.randomUUID()}.tmp`;
|
|
1063
1100
|
const startTime = Date.now();
|
|
1064
1101
|
logger2().debug({
|
|
@@ -1073,14 +1110,14 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1073
1110
|
});
|
|
1074
1111
|
}, 5e3);
|
|
1075
1112
|
try {
|
|
1076
|
-
const stream =
|
|
1077
|
-
const fsSync =
|
|
1113
|
+
const stream = _chunkIRTVRBJAcjs.getNodeStream.call(void 0, );
|
|
1114
|
+
const fsSync = _chunkIRTVRBJAcjs.getNodeFsSync.call(void 0, );
|
|
1078
1115
|
await stream.pipeline(
|
|
1079
1116
|
response.body,
|
|
1080
1117
|
fsSync.createWriteStream(tempPath)
|
|
1081
1118
|
);
|
|
1082
1119
|
clearTimeout(slowDownloadWarning);
|
|
1083
|
-
const fs =
|
|
1120
|
+
const fs = _chunkIRTVRBJAcjs.getNodeFs.call(void 0, );
|
|
1084
1121
|
const stats = await fs.stat(tempPath);
|
|
1085
1122
|
const downloadDuration = Date.now() - startTime;
|
|
1086
1123
|
if (process.platform !== "win32") {
|
|
@@ -1109,7 +1146,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1109
1146
|
support: "https://rivet.dev/discord"
|
|
1110
1147
|
});
|
|
1111
1148
|
try {
|
|
1112
|
-
const fs =
|
|
1149
|
+
const fs = _chunkIRTVRBJAcjs.getNodeFs.call(void 0, );
|
|
1113
1150
|
await fs.unlink(tempPath);
|
|
1114
1151
|
} catch (unlinkError) {
|
|
1115
1152
|
}
|
|
@@ -1151,12 +1188,12 @@ function resolveTargetTripletFor(platform, arch) {
|
|
|
1151
1188
|
);
|
|
1152
1189
|
}
|
|
1153
1190
|
async function isEngineRunning() {
|
|
1154
|
-
return await checkIfEngineAlreadyRunningOnPort(
|
|
1191
|
+
return await checkIfEngineAlreadyRunningOnPort(_chunkIWXMFQDTcjs.ENGINE_PORT);
|
|
1155
1192
|
}
|
|
1156
1193
|
async function checkIfEngineAlreadyRunningOnPort(port) {
|
|
1157
1194
|
let response;
|
|
1158
1195
|
try {
|
|
1159
|
-
response = await fetch(`http://
|
|
1196
|
+
response = await fetch(`http://127.0.0.1:${port}/health`);
|
|
1160
1197
|
} catch (err) {
|
|
1161
1198
|
return false;
|
|
1162
1199
|
}
|
|
@@ -1186,7 +1223,7 @@ async function checkIfEngineAlreadyRunningOnPort(port) {
|
|
|
1186
1223
|
}
|
|
1187
1224
|
async function fileExists(filePath) {
|
|
1188
1225
|
try {
|
|
1189
|
-
const fs =
|
|
1226
|
+
const fs = _chunkIRTVRBJAcjs.getNodeFs.call(void 0, );
|
|
1190
1227
|
await fs.access(filePath);
|
|
1191
1228
|
return true;
|
|
1192
1229
|
} catch (e) {
|
|
@@ -1200,7 +1237,7 @@ async function waitForEngineHealth() {
|
|
|
1200
1237
|
logger2().debug({ msg: "waiting for engine health check" });
|
|
1201
1238
|
for (let i = 0; i < maxRetries; i++) {
|
|
1202
1239
|
try {
|
|
1203
|
-
const response = await fetch(`${
|
|
1240
|
+
const response = await fetch(`${_chunkIWXMFQDTcjs.ENGINE_ENDPOINT}/health`, {
|
|
1204
1241
|
signal: AbortSignal.timeout(1e3)
|
|
1205
1242
|
});
|
|
1206
1243
|
if (response.ok) {
|
|
@@ -1235,7 +1272,7 @@ var _factory = require('hono/factory');
|
|
|
1235
1272
|
function getInspectorUrl(config, managerPort) {
|
|
1236
1273
|
if (!config.inspector.enabled) return void 0;
|
|
1237
1274
|
const url = new URL("https://inspect.rivet.dev");
|
|
1238
|
-
const endpoint = _nullishCoalesce(config.inspector.defaultEndpoint, () => ( (config.managerPort !== 6420 ? `http://
|
|
1275
|
+
const endpoint = _nullishCoalesce(config.inspector.defaultEndpoint, () => ( (config.managerPort !== 6420 ? `http://127.0.0.1:${managerPort}` : void 0)));
|
|
1239
1276
|
if (endpoint) {
|
|
1240
1277
|
url.searchParams.set("u", endpoint);
|
|
1241
1278
|
}
|
|
@@ -1244,7 +1281,7 @@ function getInspectorUrl(config, managerPort) {
|
|
|
1244
1281
|
|
|
1245
1282
|
// src/serverless/log.ts
|
|
1246
1283
|
function logger3() {
|
|
1247
|
-
return
|
|
1284
|
+
return _chunkO433HWWGcjs.getLogger.call(void 0, "serverless");
|
|
1248
1285
|
}
|
|
1249
1286
|
|
|
1250
1287
|
// src/serverless/configure.ts
|
|
@@ -1264,12 +1301,12 @@ async function configureServerlessRunner(config) {
|
|
|
1264
1301
|
}
|
|
1265
1302
|
const customConfig = config.serverless.configureRunnerPool;
|
|
1266
1303
|
_invariant2.default.call(void 0, customConfig, "configureRunnerPool should exist");
|
|
1267
|
-
const clientConfig =
|
|
1304
|
+
const clientConfig = _chunkLULP6HM2cjs.convertRegistryConfigToClientConfig.call(void 0, config);
|
|
1268
1305
|
logger3().debug({
|
|
1269
1306
|
msg: "fetching datacenters",
|
|
1270
1307
|
endpoint: config.endpoint
|
|
1271
1308
|
});
|
|
1272
|
-
const dcsRes = await
|
|
1309
|
+
const dcsRes = await _chunkLULP6HM2cjs.getDatacenters.call(void 0, clientConfig);
|
|
1273
1310
|
const runnerName = _nullishCoalesce(customConfig.name, () => ( "default"));
|
|
1274
1311
|
logger3().debug({
|
|
1275
1312
|
msg: "configuring serverless runner",
|
|
@@ -1288,7 +1325,7 @@ async function configureServerlessRunner(config) {
|
|
|
1288
1325
|
},
|
|
1289
1326
|
metadata: _nullishCoalesce(customConfig.metadata, () => ( {}))
|
|
1290
1327
|
};
|
|
1291
|
-
await
|
|
1328
|
+
await _chunkLULP6HM2cjs.updateRunnerConfig.call(void 0, clientConfig, runnerName, {
|
|
1292
1329
|
datacenters: Object.fromEntries(
|
|
1293
1330
|
dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
|
|
1294
1331
|
)
|
|
@@ -1308,7 +1345,7 @@ async function configureServerlessRunner(config) {
|
|
|
1308
1345
|
|
|
1309
1346
|
// src/registry/log.ts
|
|
1310
1347
|
function logger4() {
|
|
1311
|
-
return
|
|
1348
|
+
return _chunkO433HWWGcjs.getLogger.call(void 0, "registry");
|
|
1312
1349
|
}
|
|
1313
1350
|
|
|
1314
1351
|
// src/registry/serve.ts
|
|
@@ -1323,7 +1360,7 @@ async function findFreePort(startPort = DEFAULT_PORT) {
|
|
|
1323
1360
|
return _getport2.default.call(void 0, { port: portRange(startPort) });
|
|
1324
1361
|
}
|
|
1325
1362
|
async function crossPlatformServe(config, managerPort, app) {
|
|
1326
|
-
const runtime =
|
|
1363
|
+
const runtime = _chunkO433HWWGcjs.detectRuntime.call(void 0, );
|
|
1327
1364
|
logger4().debug({ msg: "detected runtime for serve", runtime });
|
|
1328
1365
|
switch (runtime) {
|
|
1329
1366
|
case "deno":
|
|
@@ -1348,7 +1385,7 @@ async function serveNode(config, managerPort, app) {
|
|
|
1348
1385
|
} catch (err) {
|
|
1349
1386
|
logger4().error({
|
|
1350
1387
|
msg: "failed to import @hono/node-server. please run 'npm install @hono/node-server @hono/node-ws'",
|
|
1351
|
-
error:
|
|
1388
|
+
error: _chunkO433HWWGcjs.stringifyError.call(void 0, err)
|
|
1352
1389
|
});
|
|
1353
1390
|
process.exit(1);
|
|
1354
1391
|
}
|
|
@@ -1363,7 +1400,7 @@ async function serveNode(config, managerPort, app) {
|
|
|
1363
1400
|
} catch (err) {
|
|
1364
1401
|
logger4().error({
|
|
1365
1402
|
msg: "failed to import @hono/node-ws. please run 'npm install @hono/node-server @hono/node-ws'",
|
|
1366
|
-
error:
|
|
1403
|
+
error: _chunkO433HWWGcjs.stringifyError.call(void 0, err)
|
|
1367
1404
|
});
|
|
1368
1405
|
process.exit(1);
|
|
1369
1406
|
}
|
|
@@ -1390,7 +1427,7 @@ async function serveDeno(config, managerPort, app) {
|
|
|
1390
1427
|
} catch (err) {
|
|
1391
1428
|
logger4().error({
|
|
1392
1429
|
msg: "failed to import hono/deno",
|
|
1393
|
-
error:
|
|
1430
|
+
error: _chunkO433HWWGcjs.stringifyError.call(void 0, err)
|
|
1394
1431
|
});
|
|
1395
1432
|
process.exit(1);
|
|
1396
1433
|
}
|
|
@@ -1411,7 +1448,7 @@ async function serveBun(config, managerPort, app) {
|
|
|
1411
1448
|
} catch (err) {
|
|
1412
1449
|
logger4().error({
|
|
1413
1450
|
msg: "failed to import hono/bun",
|
|
1414
|
-
error:
|
|
1451
|
+
error: _chunkO433HWWGcjs.stringifyError.call(void 0, err)
|
|
1415
1452
|
});
|
|
1416
1453
|
process.exit(1);
|
|
1417
1454
|
}
|
|
@@ -1449,7 +1486,7 @@ var ServerlessStartHeadersSchema = _zod.z.object({
|
|
|
1449
1486
|
|
|
1450
1487
|
// src/serverless/router.ts
|
|
1451
1488
|
function buildServerlessRouter(driverConfig, config) {
|
|
1452
|
-
return
|
|
1489
|
+
return _chunkIWXMFQDTcjs.createRouter.call(void 0, config.serverless.basePath, (router) => {
|
|
1453
1490
|
router.get("/", (c) => {
|
|
1454
1491
|
return c.text(
|
|
1455
1492
|
"This is a RivetKit server.\n\nLearn more at https://rivetkit.org"
|
|
@@ -1478,7 +1515,7 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1478
1515
|
namespace
|
|
1479
1516
|
});
|
|
1480
1517
|
if (config.endpoint) {
|
|
1481
|
-
if (endpoint
|
|
1518
|
+
if (!endpointsMatch(endpoint, config.endpoint)) {
|
|
1482
1519
|
throw new (0, _chunkSNAUKDDKcjs.EndpointMismatch)(config.endpoint, endpoint);
|
|
1483
1520
|
}
|
|
1484
1521
|
if (namespace !== config.namespace) {
|
|
@@ -1498,10 +1535,10 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1498
1535
|
runnerKey: void 0
|
|
1499
1536
|
}
|
|
1500
1537
|
};
|
|
1501
|
-
const managerDriver = new (0,
|
|
1502
|
-
|
|
1538
|
+
const managerDriver = new (0, _chunkLULP6HM2cjs.RemoteManagerDriver)(
|
|
1539
|
+
_chunkLULP6HM2cjs.convertRegistryConfigToClientConfig.call(void 0, newConfig)
|
|
1503
1540
|
);
|
|
1504
|
-
const client =
|
|
1541
|
+
const client = _chunkLULP6HM2cjs.createClientWithDriver.call(void 0, managerDriver);
|
|
1505
1542
|
const actorDriver = driverConfig.actor(
|
|
1506
1543
|
newConfig,
|
|
1507
1544
|
managerDriver,
|
|
@@ -1513,10 +1550,10 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1513
1550
|
);
|
|
1514
1551
|
return await actorDriver.serverlessHandleStart(c);
|
|
1515
1552
|
});
|
|
1516
|
-
router.get("/health", (c) =>
|
|
1553
|
+
router.get("/health", (c) => _chunkIWXMFQDTcjs.handleHealthRequest.call(void 0, c));
|
|
1517
1554
|
router.get(
|
|
1518
1555
|
"/metadata",
|
|
1519
|
-
(c) =>
|
|
1556
|
+
(c) => _chunkIWXMFQDTcjs.handleMetadataRequest.call(void 0,
|
|
1520
1557
|
c,
|
|
1521
1558
|
config,
|
|
1522
1559
|
{ serverless: {} },
|
|
@@ -1527,6 +1564,44 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1527
1564
|
);
|
|
1528
1565
|
});
|
|
1529
1566
|
}
|
|
1567
|
+
function normalizeEndpointUrl(url) {
|
|
1568
|
+
try {
|
|
1569
|
+
const parsed = new URL(url);
|
|
1570
|
+
const pathname = parsed.pathname === "/" ? "/" : parsed.pathname.replace(/\/+$/, "");
|
|
1571
|
+
let hostname = isLoopbackAddress(parsed.hostname) ? "localhost" : parsed.hostname;
|
|
1572
|
+
hostname = normalizeRegionalHostname(hostname);
|
|
1573
|
+
const host = parsed.port ? `${hostname}:${parsed.port}` : hostname;
|
|
1574
|
+
return `${parsed.protocol}//${host}${pathname}`;
|
|
1575
|
+
} catch (e2) {
|
|
1576
|
+
return null;
|
|
1577
|
+
}
|
|
1578
|
+
}
|
|
1579
|
+
function normalizeRegionalHostname(hostname) {
|
|
1580
|
+
if (!hostname.endsWith(".rivet.dev")) {
|
|
1581
|
+
return hostname;
|
|
1582
|
+
}
|
|
1583
|
+
if (!hostname.startsWith("api-")) {
|
|
1584
|
+
return hostname;
|
|
1585
|
+
}
|
|
1586
|
+
const withoutPrefix = hostname.slice(4);
|
|
1587
|
+
const firstDotIndex = withoutPrefix.indexOf(".");
|
|
1588
|
+
if (firstDotIndex === -1) {
|
|
1589
|
+
return hostname;
|
|
1590
|
+
}
|
|
1591
|
+
const domain = withoutPrefix.slice(firstDotIndex + 1);
|
|
1592
|
+
return `api.${domain}`;
|
|
1593
|
+
}
|
|
1594
|
+
function endpointsMatch(a, b) {
|
|
1595
|
+
const normalizedA = normalizeEndpointUrl(a);
|
|
1596
|
+
const normalizedB = normalizeEndpointUrl(b);
|
|
1597
|
+
if (normalizedA === null || normalizedB === null) {
|
|
1598
|
+
return a === b;
|
|
1599
|
+
}
|
|
1600
|
+
return normalizedA === normalizedB;
|
|
1601
|
+
}
|
|
1602
|
+
function isLoopbackAddress(hostname) {
|
|
1603
|
+
return hostname === "127.0.0.1" || hostname === "0.0.0.0" || hostname === "::1" || hostname === "[::1]";
|
|
1604
|
+
}
|
|
1530
1605
|
|
|
1531
1606
|
// runtime/index.ts
|
|
1532
1607
|
function logLine(label, value) {
|
|
@@ -1563,9 +1638,9 @@ var Runtime = class _Runtime {
|
|
|
1563
1638
|
logger4().info("rivetkit starting");
|
|
1564
1639
|
const config = registry.parseConfig();
|
|
1565
1640
|
if ((_a = config.logging) == null ? void 0 : _a.baseLogger) {
|
|
1566
|
-
|
|
1641
|
+
_chunkO433HWWGcjs.configureBaseLogger.call(void 0, config.logging.baseLogger);
|
|
1567
1642
|
} else {
|
|
1568
|
-
|
|
1643
|
+
_chunkO433HWWGcjs.configureDefaultLogger.call(void 0, (_b = config.logging) == null ? void 0 : _b.level);
|
|
1569
1644
|
}
|
|
1570
1645
|
_invariant2.default.call(void 0,
|
|
1571
1646
|
!(config.serverless.spawnEngine && config.serveManager),
|
|
@@ -1575,7 +1650,7 @@ var Runtime = class _Runtime {
|
|
|
1575
1650
|
const managerDriver = driver.manager(config);
|
|
1576
1651
|
let managerPort;
|
|
1577
1652
|
if (config.serverless.spawnEngine) {
|
|
1578
|
-
managerPort =
|
|
1653
|
+
managerPort = _chunkIWXMFQDTcjs.ENGINE_PORT;
|
|
1579
1654
|
logger4().debug({
|
|
1580
1655
|
msg: "spawning engine",
|
|
1581
1656
|
version: config.serverless.engineVersion
|
|
@@ -1587,7 +1662,7 @@ var Runtime = class _Runtime {
|
|
|
1587
1662
|
let upgradeWebSocket;
|
|
1588
1663
|
const getUpgradeWebSocket = () => upgradeWebSocket;
|
|
1589
1664
|
managerDriver.setGetUpgradeWebSocket(getUpgradeWebSocket);
|
|
1590
|
-
const { router: managerRouter } =
|
|
1665
|
+
const { router: managerRouter } = _chunkIWXMFQDTcjs.buildManagerRouter.call(void 0,
|
|
1591
1666
|
config,
|
|
1592
1667
|
managerDriver,
|
|
1593
1668
|
getUpgradeWebSocket
|
|
@@ -1639,7 +1714,7 @@ var Runtime = class _Runtime {
|
|
|
1639
1714
|
this.#startKind = "runner";
|
|
1640
1715
|
if (this.#config.runner && this.#driver.autoStartActorDriver) {
|
|
1641
1716
|
logger4().debug("starting actor driver");
|
|
1642
|
-
const inlineClient =
|
|
1717
|
+
const inlineClient = _chunkLULP6HM2cjs.createClientWithDriver.call(void 0,
|
|
1643
1718
|
this.#managerDriver
|
|
1644
1719
|
);
|
|
1645
1720
|
this.#driver.actor(this.#config, this.#managerDriver, inlineClient);
|
|
@@ -1651,7 +1726,7 @@ var Runtime = class _Runtime {
|
|
|
1651
1726
|
const inspectorUrl = this.managerPort ? getInspectorUrl(this.#config, this.managerPort) : void 0;
|
|
1652
1727
|
console.log();
|
|
1653
1728
|
console.log(
|
|
1654
|
-
` RivetKit ${
|
|
1729
|
+
` RivetKit ${_chunkO433HWWGcjs.package_default.version} (${this.#driver.displayName} - ${this.#startKind === "serverless" ? "Serverless" : "Runner"})`
|
|
1655
1730
|
);
|
|
1656
1731
|
if (this.#config.namespace !== "default") {
|
|
1657
1732
|
logLine("Namespace", this.#config.namespace);
|
|
@@ -1692,7 +1767,7 @@ var Registry = class {
|
|
|
1692
1767
|
return this.#config;
|
|
1693
1768
|
}
|
|
1694
1769
|
parseConfig() {
|
|
1695
|
-
return
|
|
1770
|
+
return _chunkIWXMFQDTcjs.RegistryConfigSchema.parse(this.#config);
|
|
1696
1771
|
}
|
|
1697
1772
|
// Shared runtime instance
|
|
1698
1773
|
#runtime;
|
|
@@ -1758,7 +1833,7 @@ var Registry = class {
|
|
|
1758
1833
|
"autoConfigureServerless can only be configured when runnerKind is 'serverless'"
|
|
1759
1834
|
);
|
|
1760
1835
|
}
|
|
1761
|
-
const isDevEnv =
|
|
1836
|
+
const isDevEnv = _chunkO433HWWGcjs.isDev.call(void 0, );
|
|
1762
1837
|
if (isDevEnv && config.runnerKind === "serverless") {
|
|
1763
1838
|
if ((inputConfig == null ? void 0 : inputConfig.runEngine) === void 0) config.runEngine = true;
|
|
1764
1839
|
if ((inputConfig == null ? void 0 : inputConfig.autoConfigureServerless) === void 0)
|
|
@@ -1771,7 +1846,7 @@ var Registry = class {
|
|
|
1771
1846
|
}
|
|
1772
1847
|
}
|
|
1773
1848
|
#legacyStartServerless(config, _inputConfig) {
|
|
1774
|
-
const client =
|
|
1849
|
+
const client = _chunkLULP6HM2cjs.createClient.call(void 0, {
|
|
1775
1850
|
endpoint: config.endpoint,
|
|
1776
1851
|
token: config.token,
|
|
1777
1852
|
namespace: config.namespace,
|
|
@@ -1784,7 +1859,7 @@ var Registry = class {
|
|
|
1784
1859
|
}
|
|
1785
1860
|
#legacyStartNormal(config) {
|
|
1786
1861
|
this.#ensureRuntime().then((runtime) => runtime.startRunner());
|
|
1787
|
-
const client =
|
|
1862
|
+
const client = _chunkLULP6HM2cjs.createClient.call(void 0, {
|
|
1788
1863
|
endpoint: config.endpoint,
|
|
1789
1864
|
token: config.token,
|
|
1790
1865
|
namespace: config.namespace,
|
|
@@ -1806,4 +1881,4 @@ function setup(input) {
|
|
|
1806
1881
|
|
|
1807
1882
|
|
|
1808
1883
|
exports.actor = actor; exports.createEngineDriver = createEngineDriver; exports.Registry = Registry; exports.setup = setup;
|
|
1809
|
-
//# sourceMappingURL=chunk-
|
|
1884
|
+
//# sourceMappingURL=chunk-6WLJW57U.cjs.map
|