rivetkit 2.0.38 → 2.0.40
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-IWXMFQDT.cjs → chunk-4KNL47JA.cjs} +274 -80
- package/dist/tsup/chunk-4KNL47JA.cjs.map +1 -0
- package/dist/tsup/{chunk-UUEZVDRL.js → chunk-4T4UWXHN.js} +8 -4
- package/dist/tsup/{chunk-UUEZVDRL.js.map → chunk-4T4UWXHN.js.map} +1 -1
- package/dist/tsup/{chunk-LULP6HM2.cjs → chunk-6NBNCWEC.cjs} +313 -289
- package/dist/tsup/chunk-6NBNCWEC.cjs.map +1 -0
- package/dist/tsup/{chunk-WIZ4JGP6.js → chunk-7Q7R3QYT.js} +2 -2
- package/dist/tsup/{chunk-6WLJW57U.cjs → chunk-B5BMSBR4.cjs} +230 -128
- package/dist/tsup/chunk-B5BMSBR4.cjs.map +1 -0
- package/dist/tsup/{chunk-FZQHTGQX.cjs → chunk-D2HB4PM5.cjs} +9 -9
- package/dist/tsup/{chunk-FZQHTGQX.cjs.map → chunk-D2HB4PM5.cjs.map} +1 -1
- package/dist/tsup/{chunk-IRTVRBJA.cjs → chunk-FB4TVPDQ.cjs} +50 -46
- package/dist/tsup/chunk-FB4TVPDQ.cjs.map +1 -0
- package/dist/tsup/{chunk-O433HWWG.cjs → chunk-HZOBB3KP.cjs} +2 -2
- package/dist/tsup/{chunk-O433HWWG.cjs.map → chunk-HZOBB3KP.cjs.map} +1 -1
- package/dist/tsup/{chunk-K2RNF2ZR.js → chunk-J2R742IE.js} +5 -5
- package/dist/tsup/{chunk-FA6FGAEC.js → chunk-J6YRLC6K.js} +143 -41
- package/dist/tsup/chunk-J6YRLC6K.js.map +1 -0
- package/dist/tsup/{chunk-MIOU6BF3.js → chunk-KVB2SG32.js} +219 -25
- package/dist/tsup/chunk-KVB2SG32.js.map +1 -0
- package/dist/tsup/{chunk-GFKZZG2A.cjs → chunk-XCDGPOZT.cjs} +3 -3
- package/dist/tsup/{chunk-GFKZZG2A.cjs.map → chunk-XCDGPOZT.cjs.map} +1 -1
- package/dist/tsup/{chunk-EEL32AJM.js → chunk-XCRJ245S.js} +74 -50
- package/dist/tsup/chunk-XCRJ245S.js.map +1 -0
- package/dist/tsup/{chunk-4U45T5KW.js → chunk-ZUMPCWKF.js} +2 -2
- package/dist/tsup/{chunk-4U45T5KW.js.map → chunk-ZUMPCWKF.js.map} +1 -1
- package/dist/tsup/client/mod.cjs +5 -5
- package/dist/tsup/client/mod.d.cts +3 -3
- package/dist/tsup/client/mod.d.ts +3 -3
- 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-CbIHPGKl.d.ts → config-OR5ZtHFa.d.ts} +75 -5
- package/dist/tsup/{config-CwJCQyP1.d.cts → config-cizn-tcF.d.cts} +75 -5
- package/dist/tsup/{driver-Lw_oORox.d.cts → driver-Bg4evbcN.d.cts} +1 -1
- package/dist/tsup/{driver-CMN823Lc.d.ts → driver-BrAG8ioa.d.ts} +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 +109 -35
- 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 +435 -361
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/{kv-CTM8sCvx.d.cts → keys-Chhy4ylv.d.cts} +1 -0
- package/dist/tsup/{kv-CTM8sCvx.d.ts → keys-Chhy4ylv.d.ts} +1 -0
- package/dist/tsup/mod.cjs +9 -7
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +5 -5
- package/dist/tsup/mod.d.ts +5 -5
- package/dist/tsup/mod.js +8 -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 +2 -2
- package/src/actor/config.ts +183 -34
- package/src/actor/contexts/base/actor.ts +12 -0
- package/src/actor/instance/connection-manager.ts +1 -1
- package/src/actor/instance/keys.ts +29 -0
- package/src/actor/instance/kv.ts +240 -14
- package/src/actor/instance/mod.ts +5 -4
- package/src/actor/instance/schedule-manager.ts +2 -1
- package/src/actor/instance/state-manager.ts +1 -1
- package/src/actor/mod.ts +2 -1
- package/src/actor/router-websocket-endpoints.test.ts +54 -0
- package/src/actor/router-websocket-endpoints.ts +11 -5
- package/src/client/actor-handle.ts +13 -3
- package/src/client/mod.ts +1 -1
- package/src/driver-helpers/utils.ts +1 -1
- package/src/driver-test-suite/mod.ts +3 -0
- package/src/driver-test-suite/test-inline-client-driver.ts +3 -0
- package/src/driver-test-suite/tests/actor-kv.ts +44 -0
- package/src/driver-test-suite/tests/raw-websocket.ts +40 -0
- package/src/driver-test-suite/utils.ts +4 -0
- package/src/drivers/engine/actor-driver.ts +3 -3
- package/src/drivers/file-system/manager.ts +5 -0
- package/src/engine-process/mod.ts +62 -7
- package/src/manager/driver.ts +7 -0
- package/src/registry/config/index.ts +6 -0
- package/src/registry/serve.ts +9 -5
- package/src/remote-manager-driver/actor-http-client.ts +5 -3
- package/src/remote-manager-driver/actor-websocket-client.ts +18 -7
- package/src/remote-manager-driver/mod.ts +10 -0
- package/dist/tsup/chunk-6WLJW57U.cjs.map +0 -1
- package/dist/tsup/chunk-EEL32AJM.js.map +0 -1
- package/dist/tsup/chunk-FA6FGAEC.js.map +0 -1
- package/dist/tsup/chunk-IRTVRBJA.cjs.map +0 -1
- package/dist/tsup/chunk-IWXMFQDT.cjs.map +0 -1
- package/dist/tsup/chunk-LULP6HM2.cjs.map +0 -1
- package/dist/tsup/chunk-MIOU6BF3.js.map +0 -1
- /package/dist/tsup/{chunk-WIZ4JGP6.js.map → chunk-7Q7R3QYT.js.map} +0 -0
- /package/dist/tsup/{chunk-K2RNF2ZR.js.map → chunk-J2R742IE.js.map} +0 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _chunkFB4TVPDQcjs = require('./chunk-FB4TVPDQ.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -23,7 +23,7 @@ var _chunkIRTVRBJAcjs = require('./chunk-IRTVRBJA.cjs');
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunk6NBNCWECcjs = require('./chunk-6NBNCWEC.cjs');
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
@@ -47,7 +47,7 @@ var _chunkLULP6HM2cjs = require('./chunk-LULP6HM2.cjs');
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _chunk4KNL47JAcjs = require('./chunk-4KNL47JA.cjs');
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
|
|
@@ -65,7 +65,7 @@ var _chunkIWXMFQDTcjs = require('./chunk-IWXMFQDT.cjs');
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
|
|
68
|
-
var
|
|
68
|
+
var _chunkHZOBB3KPcjs = require('./chunk-HZOBB3KP.cjs');
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
|
|
@@ -144,46 +144,92 @@ var ActorConfigSchema = _zod.z.object({
|
|
|
144
144
|
);
|
|
145
145
|
var DocActorOptionsSchema = _zod.z.object({
|
|
146
146
|
createVarsTimeout: _zod.z.number().optional().describe("Timeout in ms for createVars handler. Default: 5000"),
|
|
147
|
-
createConnStateTimeout: _zod.z.number().optional().describe(
|
|
147
|
+
createConnStateTimeout: _zod.z.number().optional().describe(
|
|
148
|
+
"Timeout in ms for createConnState handler. Default: 5000"
|
|
149
|
+
),
|
|
148
150
|
onConnectTimeout: _zod.z.number().optional().describe("Timeout in ms for onConnect handler. Default: 5000"),
|
|
149
|
-
onSleepTimeout: _zod.z.number().optional().describe(
|
|
151
|
+
onSleepTimeout: _zod.z.number().optional().describe(
|
|
152
|
+
"Timeout in ms for onSleep handler. Must be less than ACTOR_STOP_THRESHOLD_MS. Default: 5000"
|
|
153
|
+
),
|
|
150
154
|
onDestroyTimeout: _zod.z.number().optional().describe("Timeout in ms for onDestroy handler. Default: 5000"),
|
|
151
|
-
stateSaveInterval: _zod.z.number().optional().describe(
|
|
155
|
+
stateSaveInterval: _zod.z.number().optional().describe(
|
|
156
|
+
"Interval in ms between automatic state saves. Default: 10000"
|
|
157
|
+
),
|
|
152
158
|
actionTimeout: _zod.z.number().optional().describe("Timeout in ms for action handlers. Default: 60000"),
|
|
153
|
-
waitUntilTimeout: _zod.z.number().optional().describe(
|
|
154
|
-
|
|
155
|
-
|
|
159
|
+
waitUntilTimeout: _zod.z.number().optional().describe(
|
|
160
|
+
"Max time in ms to wait for waitUntil background promises during shutdown. Default: 15000"
|
|
161
|
+
),
|
|
162
|
+
connectionLivenessTimeout: _zod.z.number().optional().describe(
|
|
163
|
+
"Timeout in ms for connection liveness checks. Default: 2500"
|
|
164
|
+
),
|
|
165
|
+
connectionLivenessInterval: _zod.z.number().optional().describe(
|
|
166
|
+
"Interval in ms between connection liveness checks. Default: 5000"
|
|
167
|
+
),
|
|
156
168
|
noSleep: _zod.z.boolean().optional().describe("If true, the actor will never sleep. Default: false"),
|
|
157
|
-
sleepTimeout: _zod.z.number().optional().describe(
|
|
158
|
-
|
|
169
|
+
sleepTimeout: _zod.z.number().optional().describe(
|
|
170
|
+
"Time in ms of inactivity before the actor sleeps. Default: 30000"
|
|
171
|
+
),
|
|
172
|
+
canHibernateWebSocket: _zod.z.boolean().optional().describe(
|
|
173
|
+
"Whether WebSockets using onWebSocket can be hibernated. WebSockets using actions/events are hibernatable by default. Default: false"
|
|
174
|
+
)
|
|
159
175
|
}).describe("Actor options for timeouts and behavior configuration.");
|
|
160
176
|
var DocActorConfigSchema = _zod.z.object({
|
|
161
|
-
state: _zod.z.unknown().optional().describe(
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
177
|
+
state: _zod.z.unknown().optional().describe(
|
|
178
|
+
"Initial state value for the actor. Cannot be used with createState."
|
|
179
|
+
),
|
|
180
|
+
createState: _zod.z.unknown().optional().describe(
|
|
181
|
+
"Function to create initial state. Receives context and input. Cannot be used with state."
|
|
182
|
+
),
|
|
183
|
+
connState: _zod.z.unknown().optional().describe(
|
|
184
|
+
"Initial connection state value. Cannot be used with createConnState."
|
|
185
|
+
),
|
|
186
|
+
createConnState: _zod.z.unknown().optional().describe(
|
|
187
|
+
"Function to create connection state. Receives context and connection params. Cannot be used with connState."
|
|
188
|
+
),
|
|
189
|
+
vars: _zod.z.unknown().optional().describe(
|
|
190
|
+
"Initial ephemeral variables value. Cannot be used with createVars."
|
|
191
|
+
),
|
|
192
|
+
createVars: _zod.z.unknown().optional().describe(
|
|
193
|
+
"Function to create ephemeral variables. Receives context and driver context. Cannot be used with vars."
|
|
194
|
+
),
|
|
167
195
|
db: _zod.z.unknown().optional().describe("Database provider instance for the actor."),
|
|
168
|
-
onCreate: _zod.z.unknown().optional().describe(
|
|
196
|
+
onCreate: _zod.z.unknown().optional().describe(
|
|
197
|
+
"Called when the actor is first initialized. Use to initialize state."
|
|
198
|
+
),
|
|
169
199
|
onDestroy: _zod.z.unknown().optional().describe("Called when the actor is destroyed."),
|
|
170
|
-
onWake: _zod.z.unknown().optional().describe(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
200
|
+
onWake: _zod.z.unknown().optional().describe(
|
|
201
|
+
"Called when the actor wakes up and is ready to receive connections and actions."
|
|
202
|
+
),
|
|
203
|
+
onSleep: _zod.z.unknown().optional().describe(
|
|
204
|
+
"Called when the actor is stopping or sleeping. Use to clean up resources."
|
|
205
|
+
),
|
|
206
|
+
onStateChange: _zod.z.unknown().optional().describe(
|
|
207
|
+
"Called when the actor's state changes. State changes within this hook won't trigger recursion."
|
|
208
|
+
),
|
|
209
|
+
onBeforeConnect: _zod.z.unknown().optional().describe(
|
|
210
|
+
"Called before a client connects. Throw an error to reject the connection."
|
|
211
|
+
),
|
|
174
212
|
onConnect: _zod.z.unknown().optional().describe("Called when a client successfully connects."),
|
|
175
213
|
onDisconnect: _zod.z.unknown().optional().describe("Called when a client disconnects."),
|
|
176
|
-
onBeforeActionResponse: _zod.z.unknown().optional().describe(
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
214
|
+
onBeforeActionResponse: _zod.z.unknown().optional().describe(
|
|
215
|
+
"Called before sending an action response. Use to transform output."
|
|
216
|
+
),
|
|
217
|
+
onRequest: _zod.z.unknown().optional().describe(
|
|
218
|
+
"Called for raw HTTP requests to /actors/{name}/http/* endpoints."
|
|
219
|
+
),
|
|
220
|
+
onWebSocket: _zod.z.unknown().optional().describe(
|
|
221
|
+
"Called for raw WebSocket connections to /actors/{name}/websocket/* endpoints."
|
|
222
|
+
),
|
|
223
|
+
actions: _zod.z.record(_zod.z.string(), _zod.z.unknown()).optional().describe(
|
|
224
|
+
"Map of action name to handler function. Defaults to an empty object."
|
|
225
|
+
),
|
|
180
226
|
options: DocActorOptionsSchema.optional()
|
|
181
227
|
}).describe("Actor configuration passed to the actor() function.");
|
|
182
228
|
|
|
183
229
|
// src/actor/mod.ts
|
|
184
230
|
function actor(input) {
|
|
185
231
|
const config = ActorConfigSchema.parse(input);
|
|
186
|
-
return new (0,
|
|
232
|
+
return new (0, _chunk6NBNCWECcjs.ActorDefinition)(config);
|
|
187
233
|
}
|
|
188
234
|
|
|
189
235
|
// src/drivers/engine/actor-driver.ts
|
|
@@ -195,7 +241,7 @@ var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(
|
|
|
195
241
|
|
|
196
242
|
// src/drivers/engine/log.ts
|
|
197
243
|
function logger() {
|
|
198
|
-
return
|
|
244
|
+
return _chunkHZOBB3KPcjs.getLogger.call(void 0, "driver-engine");
|
|
199
245
|
}
|
|
200
246
|
|
|
201
247
|
// src/drivers/engine/actor-driver.ts
|
|
@@ -209,8 +255,8 @@ var EngineActorDriver = class {
|
|
|
209
255
|
#runner;
|
|
210
256
|
#actors = /* @__PURE__ */ new Map();
|
|
211
257
|
#actorRouter;
|
|
212
|
-
#runnerStarted =
|
|
213
|
-
#runnerStopped =
|
|
258
|
+
#runnerStarted = _chunkHZOBB3KPcjs.promiseWithResolvers.call(void 0, );
|
|
259
|
+
#runnerStopped = _chunkHZOBB3KPcjs.promiseWithResolvers.call(void 0, );
|
|
214
260
|
#isRunnerStopped = false;
|
|
215
261
|
// HACK: Track actor stop intent locally since the runner protocol doesn't
|
|
216
262
|
// pass the stop reason to onActorStop. This will be fixed when the runner
|
|
@@ -234,7 +280,7 @@ var EngineActorDriver = class {
|
|
|
234
280
|
this.#managerDriver = managerDriver;
|
|
235
281
|
this.#inlineClient = inlineClient;
|
|
236
282
|
const token = config.token;
|
|
237
|
-
this.#actorRouter =
|
|
283
|
+
this.#actorRouter = _chunkFB4TVPDQcjs.createActorRouter.call(void 0,
|
|
238
284
|
config,
|
|
239
285
|
this,
|
|
240
286
|
void 0,
|
|
@@ -242,16 +288,16 @@ var EngineActorDriver = class {
|
|
|
242
288
|
);
|
|
243
289
|
const engineRunnerConfig = {
|
|
244
290
|
version: config.runner.version,
|
|
245
|
-
endpoint:
|
|
291
|
+
endpoint: _chunk6NBNCWECcjs.getEndpoint.call(void 0, config),
|
|
246
292
|
token,
|
|
247
293
|
namespace: config.namespace,
|
|
248
294
|
totalSlots: config.runner.totalSlots,
|
|
249
295
|
runnerName: config.runner.runnerName,
|
|
250
296
|
runnerKey: _nullishCoalesce(config.runner.runnerKey, () => ( crypto.randomUUID())),
|
|
251
297
|
metadata: {
|
|
252
|
-
rivetkit: { version:
|
|
298
|
+
rivetkit: { version: _chunkHZOBB3KPcjs.VERSION }
|
|
253
299
|
},
|
|
254
|
-
prepopulateActorNames:
|
|
300
|
+
prepopulateActorNames: _chunk4KNL47JAcjs.buildActorNames.call(void 0, config),
|
|
255
301
|
onConnected: () => {
|
|
256
302
|
this.#runnerStarted.resolve(void 0);
|
|
257
303
|
},
|
|
@@ -268,7 +314,7 @@ var EngineActorDriver = class {
|
|
|
268
314
|
},
|
|
269
315
|
onActorStart: this.#runnerOnActorStart.bind(this),
|
|
270
316
|
onActorStop: this.#runnerOnActorStop.bind(this),
|
|
271
|
-
logger:
|
|
317
|
+
logger: _chunkHZOBB3KPcjs.getLogger.call(void 0, "engine-runner")
|
|
272
318
|
};
|
|
273
319
|
this.#runner = new (0, _enginerunner.Runner)(engineRunnerConfig);
|
|
274
320
|
this.#runner.start();
|
|
@@ -306,7 +352,7 @@ var EngineActorDriver = class {
|
|
|
306
352
|
handler.alarmTimeout = void 0;
|
|
307
353
|
}
|
|
308
354
|
const delay = Math.max(0, timestamp - Date.now());
|
|
309
|
-
handler.alarmTimeout =
|
|
355
|
+
handler.alarmTimeout = _chunkHZOBB3KPcjs.setLongTimeout.call(void 0, () => {
|
|
310
356
|
actor2.onAlarm();
|
|
311
357
|
handler.alarmTimeout = void 0;
|
|
312
358
|
}, delay);
|
|
@@ -378,7 +424,7 @@ var EngineActorDriver = class {
|
|
|
378
424
|
var _a;
|
|
379
425
|
(_a = handler.actor) == null ? void 0 : _a.rLog.error({
|
|
380
426
|
msg: "onStop errored",
|
|
381
|
-
error:
|
|
427
|
+
error: _chunkHZOBB3KPcjs.stringifyError.call(void 0, err)
|
|
382
428
|
});
|
|
383
429
|
})
|
|
384
430
|
);
|
|
@@ -436,18 +482,18 @@ var EngineActorDriver = class {
|
|
|
436
482
|
let handler = this.#actors.get(actorId);
|
|
437
483
|
if (!handler) {
|
|
438
484
|
handler = {
|
|
439
|
-
actorStartPromise:
|
|
485
|
+
actorStartPromise: _chunkHZOBB3KPcjs.promiseWithResolvers.call(void 0, )
|
|
440
486
|
};
|
|
441
487
|
this.#actors.set(actorId, handler);
|
|
442
488
|
}
|
|
443
489
|
const name = actorConfig.name;
|
|
444
490
|
_invariant2.default.call(void 0, actorConfig.key, "actor should have a key");
|
|
445
|
-
const key =
|
|
491
|
+
const key = _chunk4KNL47JAcjs.deserializeActorKey.call(void 0, actorConfig.key);
|
|
446
492
|
const [persistDataBuffer] = await this.#runner.kvGet(actorId, [
|
|
447
|
-
|
|
493
|
+
_chunk4KNL47JAcjs.KEYS.PERSIST_DATA
|
|
448
494
|
]);
|
|
449
495
|
if (persistDataBuffer === null) {
|
|
450
|
-
const initialKvState =
|
|
496
|
+
const initialKvState = _chunk4KNL47JAcjs.getInitialActorKvState.call(void 0, input);
|
|
451
497
|
await this.#runner.kvPut(actorId, initialKvState);
|
|
452
498
|
logger().debug({
|
|
453
499
|
msg: "initialized persist data for new actor",
|
|
@@ -460,7 +506,7 @@ var EngineActorDriver = class {
|
|
|
460
506
|
dataSize: persistDataBuffer.byteLength
|
|
461
507
|
});
|
|
462
508
|
}
|
|
463
|
-
const definition =
|
|
509
|
+
const definition = _chunk6NBNCWECcjs.lookupInRegistry.call(void 0, this.#config, actorConfig.name);
|
|
464
510
|
handler.actor = definition.instantiate();
|
|
465
511
|
await handler.actor.start(
|
|
466
512
|
this,
|
|
@@ -484,7 +530,7 @@ var EngineActorDriver = class {
|
|
|
484
530
|
} catch (err) {
|
|
485
531
|
logger().error({
|
|
486
532
|
msg: "error in onStop, proceeding with removing actor",
|
|
487
|
-
err:
|
|
533
|
+
err: _chunkHZOBB3KPcjs.stringifyError.call(void 0, err)
|
|
488
534
|
});
|
|
489
535
|
}
|
|
490
536
|
this.#actors.delete(actorId);
|
|
@@ -517,10 +563,10 @@ var EngineActorDriver = class {
|
|
|
517
563
|
websocketProps: websocketRaw ? Object.keys(websocketRaw).join(", ") : "null"
|
|
518
564
|
});
|
|
519
565
|
const protocols = request.headers.get("sec-websocket-protocol");
|
|
520
|
-
const { encoding, connParams } =
|
|
566
|
+
const { encoding, connParams } = _chunk4KNL47JAcjs.parseWebSocketProtocols.call(void 0, protocols);
|
|
521
567
|
let wsHandler;
|
|
522
568
|
try {
|
|
523
|
-
wsHandler = await
|
|
569
|
+
wsHandler = await _chunk4KNL47JAcjs.routeWebSocket.call(void 0,
|
|
524
570
|
request,
|
|
525
571
|
requestPath,
|
|
526
572
|
requestHeaders,
|
|
@@ -543,7 +589,7 @@ var EngineActorDriver = class {
|
|
|
543
589
|
const wsContext = new (0, _ws.WSContext)(websocket);
|
|
544
590
|
const conn = wsHandler.conn;
|
|
545
591
|
const actor2 = wsHandler.actor;
|
|
546
|
-
const connStateManager = conn == null ? void 0 : conn[
|
|
592
|
+
const connStateManager = conn == null ? void 0 : conn[_chunk4KNL47JAcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
547
593
|
logger().debug({
|
|
548
594
|
msg: "attaching websocket event listeners",
|
|
549
595
|
actorId,
|
|
@@ -603,7 +649,7 @@ var EngineActorDriver = class {
|
|
|
603
649
|
});
|
|
604
650
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
605
651
|
if (entry) {
|
|
606
|
-
const messageLength =
|
|
652
|
+
const messageLength = _chunk4KNL47JAcjs.getValueLength.call(void 0, event.data);
|
|
607
653
|
entry.bufferedMessageSize += messageLength;
|
|
608
654
|
if (entry.bufferedMessageSize >= CONN_BUFFERED_MESSAGE_SIZE_THRESHOLD) {
|
|
609
655
|
entry.bufferedMessageSize = 0;
|
|
@@ -674,10 +720,10 @@ var EngineActorDriver = class {
|
|
|
674
720
|
gatewayId: _enginerunner.idToStr.call(void 0, gatewayId),
|
|
675
721
|
requestId: _enginerunner.idToStr.call(void 0, requestId)
|
|
676
722
|
});
|
|
677
|
-
if (path ===
|
|
723
|
+
if (path === _chunk4KNL47JAcjs.PATH_CONNECT) {
|
|
678
724
|
return true;
|
|
679
|
-
} else if (path ===
|
|
680
|
-
const definition =
|
|
725
|
+
} else if (path === _chunk4KNL47JAcjs.PATH_WEBSOCKET_BASE || path.startsWith(_chunk4KNL47JAcjs.PATH_WEBSOCKET_PREFIX)) {
|
|
726
|
+
const definition = _chunk6NBNCWECcjs.lookupInRegistry.call(void 0,
|
|
681
727
|
this.#config,
|
|
682
728
|
actorInstance.config.name
|
|
683
729
|
);
|
|
@@ -686,7 +732,7 @@ var EngineActorDriver = class {
|
|
|
686
732
|
return true;
|
|
687
733
|
} else if (typeof canHibernateWebSocket === "function") {
|
|
688
734
|
try {
|
|
689
|
-
const newPath =
|
|
735
|
+
const newPath = _chunk4KNL47JAcjs.truncateRawWebSocketPathPrefix.call(void 0,
|
|
690
736
|
url.pathname
|
|
691
737
|
);
|
|
692
738
|
const truncatedRequest = new Request(
|
|
@@ -705,7 +751,7 @@ var EngineActorDriver = class {
|
|
|
705
751
|
} else {
|
|
706
752
|
return false;
|
|
707
753
|
}
|
|
708
|
-
} else if (path ===
|
|
754
|
+
} else if (path === _chunk4KNL47JAcjs.PATH_INSPECTOR_CONNECT) {
|
|
709
755
|
return false;
|
|
710
756
|
} else {
|
|
711
757
|
logger().warn({
|
|
@@ -718,7 +764,7 @@ var EngineActorDriver = class {
|
|
|
718
764
|
async #hwsLoadAll(actorId) {
|
|
719
765
|
const actor2 = await this.loadActor(actorId);
|
|
720
766
|
return actor2.conns.values().map((conn) => {
|
|
721
|
-
const connStateManager = conn[
|
|
767
|
+
const connStateManager = conn[_chunk4KNL47JAcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
722
768
|
const hibernatable = connStateManager.hibernatableData;
|
|
723
769
|
if (!hibernatable) return void 0;
|
|
724
770
|
return {
|
|
@@ -741,7 +787,7 @@ var EngineActorDriver = class {
|
|
|
741
787
|
await this.#runner.restoreHibernatingRequests(actor2.id, metaEntries);
|
|
742
788
|
}
|
|
743
789
|
onCreateConn(conn) {
|
|
744
|
-
const hibernatable = conn[
|
|
790
|
+
const hibernatable = conn[_chunk4KNL47JAcjs.CONN_STATE_MANAGER_SYMBOL].hibernatableData;
|
|
745
791
|
if (!hibernatable) return;
|
|
746
792
|
this.#hwsMessageIndex.set(conn.id, {
|
|
747
793
|
serverMessageIndex: hibernatable.serverMessageIndex,
|
|
@@ -763,7 +809,7 @@ var EngineActorDriver = class {
|
|
|
763
809
|
});
|
|
764
810
|
}
|
|
765
811
|
onBeforePersistConn(conn) {
|
|
766
|
-
const stateManager = conn[
|
|
812
|
+
const stateManager = conn[_chunk4KNL47JAcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
767
813
|
const hibernatable = stateManager.hibernatableDataOrError();
|
|
768
814
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
769
815
|
if (!entry) {
|
|
@@ -777,7 +823,7 @@ var EngineActorDriver = class {
|
|
|
777
823
|
entry.serverMessageIndex = hibernatable.serverMessageIndex;
|
|
778
824
|
}
|
|
779
825
|
onAfterPersistConn(conn) {
|
|
780
|
-
const stateManager = conn[
|
|
826
|
+
const stateManager = conn[_chunk4KNL47JAcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
781
827
|
const hibernatable = stateManager.hibernatableDataOrError();
|
|
782
828
|
const entry = this.#hwsMessageIndex.get(conn.id);
|
|
783
829
|
if (!entry) {
|
|
@@ -802,9 +848,9 @@ var EngineActorDriver = class {
|
|
|
802
848
|
|
|
803
849
|
// src/drivers/engine/config.ts
|
|
804
850
|
|
|
805
|
-
var EngineConfigSchemaBase =
|
|
851
|
+
var EngineConfigSchemaBase = _chunk6NBNCWECcjs.ClientConfigSchemaBase.extend({
|
|
806
852
|
/** Unique key for this runner. Runners connecting a given key will replace any other runner connected with the same key. */
|
|
807
|
-
runnerKey: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => (
|
|
853
|
+
runnerKey: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkHZOBB3KPcjs.getRivetRunnerKey.call(void 0, )))),
|
|
808
854
|
/** How many actors this runner can run. */
|
|
809
855
|
totalSlots: _zod.z.number().default(1e5)
|
|
810
856
|
});
|
|
@@ -816,7 +862,7 @@ var EngineConfigSchema = EngineConfigSchemaTransformed.default(
|
|
|
816
862
|
);
|
|
817
863
|
function transformEngineConfig(config, ctx) {
|
|
818
864
|
return {
|
|
819
|
-
...
|
|
865
|
+
..._chunk6NBNCWECcjs.transformClientConfig.call(void 0, config, ctx),
|
|
820
866
|
runnerKey: config.runnerKey
|
|
821
867
|
};
|
|
822
868
|
}
|
|
@@ -827,8 +873,8 @@ function createEngineDriver() {
|
|
|
827
873
|
name: "engine",
|
|
828
874
|
displayName: "Engine",
|
|
829
875
|
manager: (config) => {
|
|
830
|
-
const clientConfig =
|
|
831
|
-
return new (0,
|
|
876
|
+
const clientConfig = _chunk6NBNCWECcjs.convertRegistryConfigToClientConfig.call(void 0, config);
|
|
877
|
+
return new (0, _chunk6NBNCWECcjs.RemoteManagerDriver)(clientConfig);
|
|
832
878
|
},
|
|
833
879
|
actor: (config, managerDriver, inlineClient) => {
|
|
834
880
|
return new EngineActorDriver(
|
|
@@ -856,15 +902,15 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
856
902
|
/** @experimental */
|
|
857
903
|
maxOutgoingMessageSize: _zod.z.number().optional().default(1048576),
|
|
858
904
|
/** @experimental */
|
|
859
|
-
inspector:
|
|
905
|
+
inspector: _chunk4KNL47JAcjs.InspectorConfigSchema,
|
|
860
906
|
/** @experimental */
|
|
861
907
|
disableDefaultServer: _zod.z.boolean().optional().default(false),
|
|
862
908
|
/** @experimental */
|
|
863
909
|
defaultServerPort: _zod.z.number().default(6420),
|
|
864
910
|
/** @experimental */
|
|
865
|
-
runEngine: _zod.z.boolean().optional().default(() =>
|
|
911
|
+
runEngine: _zod.z.boolean().optional().default(() => _chunkHZOBB3KPcjs.getRivetRunEngine.call(void 0, )),
|
|
866
912
|
/** @experimental */
|
|
867
|
-
runEngineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(
|
|
913
|
+
runEngineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkHZOBB3KPcjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunkHZOBB3KPcjs.VERSION))),
|
|
868
914
|
/** @experimental */
|
|
869
915
|
overrideServerAddress: _zod.z.string().optional(),
|
|
870
916
|
/** @experimental */
|
|
@@ -876,7 +922,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
876
922
|
* serverlessly (by the Rivet Engine for example).
|
|
877
923
|
*/
|
|
878
924
|
runnerKind: _zod.z.enum(["serverless", "normal"]).optional().default(
|
|
879
|
-
() =>
|
|
925
|
+
() => _chunkHZOBB3KPcjs.getRivetRunnerKind.call(void 0, ) === "serverless" ? "serverless" : "normal"
|
|
880
926
|
),
|
|
881
927
|
totalSlots: _zod.z.number().optional(),
|
|
882
928
|
/**
|
|
@@ -898,7 +944,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
898
944
|
* */
|
|
899
945
|
logging: _zod.z.object({
|
|
900
946
|
baseLogger: _zod.z.custom().optional(),
|
|
901
|
-
level:
|
|
947
|
+
level: _chunkHZOBB3KPcjs.LogLevelSchema.optional()
|
|
902
948
|
}).optional().default(() => ({})),
|
|
903
949
|
/**
|
|
904
950
|
* @experimental
|
|
@@ -926,7 +972,7 @@ var LegacyRunnerConfigSchemaUnmerged = _zod.z.object({
|
|
|
926
972
|
// created or must be imported async using `await import(...)`
|
|
927
973
|
getUpgradeWebSocket: _zod.z.custom().optional(),
|
|
928
974
|
/** @experimental */
|
|
929
|
-
token: _zod.z.string().optional().transform((v) => v ||
|
|
975
|
+
token: _zod.z.string().optional().transform((v) => v || _chunkHZOBB3KPcjs.getRivetToken.call(void 0, ))
|
|
930
976
|
}).merge(EngineConfigSchemaBase);
|
|
931
977
|
var LegacyRunnerConfigSchemaTransformed = LegacyRunnerConfigSchemaUnmerged.transform((config, ctx) => ({
|
|
932
978
|
...config,
|
|
@@ -950,38 +996,38 @@ function chooseDefaultDriver(config) {
|
|
|
950
996
|
return config.driver;
|
|
951
997
|
}
|
|
952
998
|
if (config.endpoint || config.token) {
|
|
953
|
-
|
|
999
|
+
_chunk4KNL47JAcjs.loggerWithoutContext.call(void 0, ).debug({
|
|
954
1000
|
msg: "using rivet engine driver",
|
|
955
1001
|
endpoint: config.endpoint
|
|
956
1002
|
});
|
|
957
1003
|
return createEngineDriver();
|
|
958
1004
|
}
|
|
959
|
-
|
|
960
|
-
return
|
|
1005
|
+
_chunk4KNL47JAcjs.loggerWithoutContext.call(void 0, ).debug({ msg: "using default file system driver" });
|
|
1006
|
+
return _chunkFB4TVPDQcjs.createFileSystemOrMemoryDriver.call(void 0, true);
|
|
961
1007
|
}
|
|
962
1008
|
|
|
963
1009
|
// src/engine-process/log.ts
|
|
964
1010
|
function logger2() {
|
|
965
|
-
return
|
|
1011
|
+
return _chunkHZOBB3KPcjs.getLogger.call(void 0, "engine-process");
|
|
966
1012
|
}
|
|
967
1013
|
|
|
968
1014
|
// src/engine-process/mod.ts
|
|
969
1015
|
var ENGINE_BASE_URL = "https://releases.rivet.dev/rivet";
|
|
970
1016
|
var ENGINE_BINARY_NAME = "rivet-engine";
|
|
971
1017
|
async function ensureEngineProcess(options) {
|
|
972
|
-
|
|
1018
|
+
_chunkFB4TVPDQcjs.importNodeDependencies.call(void 0, );
|
|
973
1019
|
logger2().debug({
|
|
974
1020
|
msg: "ensuring engine process",
|
|
975
1021
|
version: options.version
|
|
976
1022
|
});
|
|
977
|
-
const path =
|
|
978
|
-
const storageRoot =
|
|
1023
|
+
const path = _chunkFB4TVPDQcjs.getNodePath.call(void 0, );
|
|
1024
|
+
const storageRoot = _chunkFB4TVPDQcjs.getStoragePath.call(void 0, );
|
|
979
1025
|
const binDir = path.join(storageRoot, "bin");
|
|
980
1026
|
const varDir = path.join(storageRoot, "var");
|
|
981
1027
|
const logsDir = path.join(varDir, "logs", "rivet-engine");
|
|
982
|
-
await
|
|
983
|
-
await
|
|
984
|
-
await
|
|
1028
|
+
await _chunkFB4TVPDQcjs.ensureDirectoryExists.call(void 0, binDir);
|
|
1029
|
+
await _chunkFB4TVPDQcjs.ensureDirectoryExists.call(void 0, varDir);
|
|
1030
|
+
await _chunkFB4TVPDQcjs.ensureDirectoryExists.call(void 0, logsDir);
|
|
985
1031
|
if (await isEngineRunning()) {
|
|
986
1032
|
try {
|
|
987
1033
|
const health = await waitForEngineHealth();
|
|
@@ -1006,7 +1052,7 @@ async function ensureEngineProcess(options) {
|
|
|
1006
1052
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/:/g, "-").replace(/\./g, "-");
|
|
1007
1053
|
const stdoutLogPath = path.join(logsDir, `engine-${timestamp}-stdout.log`);
|
|
1008
1054
|
const stderrLogPath = path.join(logsDir, `engine-${timestamp}-stderr.log`);
|
|
1009
|
-
const fsSync =
|
|
1055
|
+
const fsSync = _chunkFB4TVPDQcjs.getNodeFsSync.call(void 0, );
|
|
1010
1056
|
const stdoutStream = fsSync.createWriteStream(stdoutLogPath, {
|
|
1011
1057
|
flags: "a"
|
|
1012
1058
|
});
|
|
@@ -1018,12 +1064,36 @@ async function ensureEngineProcess(options) {
|
|
|
1018
1064
|
stdout: stdoutLogPath,
|
|
1019
1065
|
stderr: stderrLogPath
|
|
1020
1066
|
});
|
|
1021
|
-
const childProcess =
|
|
1067
|
+
const childProcess = _chunkFB4TVPDQcjs.getNodeChildProcess.call(void 0, );
|
|
1022
1068
|
const child = childProcess.spawn(binaryPath, ["start"], {
|
|
1023
1069
|
cwd: path.dirname(binaryPath),
|
|
1024
1070
|
stdio: ["inherit", "pipe", "pipe"],
|
|
1025
1071
|
env: {
|
|
1026
|
-
...process.env
|
|
1072
|
+
...process.env,
|
|
1073
|
+
// In development, runners can be terminated without a graceful
|
|
1074
|
+
// shutdown (i.e. SIGKILL instead of SIGTERM). This is treated as a
|
|
1075
|
+
// crash by Rivet Engine in production and implements a backoff for
|
|
1076
|
+
// rescheduling actors in case of a crash loop.
|
|
1077
|
+
//
|
|
1078
|
+
// This is problematic in development since this will cause actors
|
|
1079
|
+
// to become unresponsive if frequently killing your dev server.
|
|
1080
|
+
//
|
|
1081
|
+
// We reduce the timeouts for resetting a runner as healthy in
|
|
1082
|
+
// order to account for this.
|
|
1083
|
+
RIVET__PEGBOARD__RETRY_RESET_DURATION: "100",
|
|
1084
|
+
RIVET__PEGBOARD__BASE_RETRY_TIMEOUT: "100",
|
|
1085
|
+
// Set max exponent to 1 to have a maximum of base_retry_timeout
|
|
1086
|
+
RIVET__PEGBOARD__RESCHEDULE_BACKOFF_MAX_EXPONENT: "1",
|
|
1087
|
+
// Reduce thresholds for faster development iteration
|
|
1088
|
+
//
|
|
1089
|
+
// Default ping interval is 3s, this gives a 2s & 4s grace
|
|
1090
|
+
RIVET__PEGBOARD__RUNNER_ELIGIBLE_THRESHOLD: "5000",
|
|
1091
|
+
RIVET__PEGBOARD__RUNNER_LOST_THRESHOLD: "7000",
|
|
1092
|
+
// Reduce shutdown durations for faster development iteration (in seconds)
|
|
1093
|
+
RIVET__RUNTIME__WORKER_SHUTDOWN_DURATION: "1",
|
|
1094
|
+
RIVET__RUNTIME__GUARD_SHUTDOWN_DURATION: "1",
|
|
1095
|
+
// Force exit after this duration (must be > worker and guard shutdown durations)
|
|
1096
|
+
RIVET__RUNTIME__FORCE_SHUTDOWN_DURATION: "2"
|
|
1027
1097
|
}
|
|
1028
1098
|
});
|
|
1029
1099
|
if (!child.pid) {
|
|
@@ -1032,7 +1102,11 @@ async function ensureEngineProcess(options) {
|
|
|
1032
1102
|
if (child.stdout) {
|
|
1033
1103
|
child.stdout.pipe(stdoutStream);
|
|
1034
1104
|
}
|
|
1105
|
+
const stderrChunks = [];
|
|
1035
1106
|
if (child.stderr) {
|
|
1107
|
+
child.stderr.on("data", (chunk) => {
|
|
1108
|
+
stderrChunks.push(chunk);
|
|
1109
|
+
});
|
|
1036
1110
|
child.stderr.pipe(stderrStream);
|
|
1037
1111
|
}
|
|
1038
1112
|
logger2().debug({
|
|
@@ -1041,13 +1115,37 @@ async function ensureEngineProcess(options) {
|
|
|
1041
1115
|
cwd: path.dirname(binaryPath)
|
|
1042
1116
|
});
|
|
1043
1117
|
child.once("exit", (code, signal) => {
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1118
|
+
const stderrOutput = Buffer.concat(stderrChunks).toString("utf-8");
|
|
1119
|
+
if (stderrOutput.includes("failed to open rocksdb") && stderrOutput.includes("LOCK: Resource temporarily unavailable")) {
|
|
1120
|
+
logger2().error({
|
|
1121
|
+
msg: "another instance of rivet engine is unexpectedly running, this is an internal error",
|
|
1122
|
+
code,
|
|
1123
|
+
signal,
|
|
1124
|
+
stdoutLog: stdoutLogPath,
|
|
1125
|
+
stderrLog: stderrLogPath,
|
|
1126
|
+
issues: "https://github.com/rivet-dev/rivetkit/issues",
|
|
1127
|
+
support: "https://rivet.dev/discord"
|
|
1128
|
+
});
|
|
1129
|
+
} else if (stderrOutput.includes("Rivet Engine has been rolled back to a previous version")) {
|
|
1130
|
+
logger2().error({
|
|
1131
|
+
msg: "rivet engine version downgrade detected",
|
|
1132
|
+
hint: `You attempted to downgrade the RivetKit version in development. To fix this, nuke the database by running: '${binaryPath}' database nuke --yes`,
|
|
1133
|
+
code,
|
|
1134
|
+
signal,
|
|
1135
|
+
stdoutLog: stdoutLogPath,
|
|
1136
|
+
stderrLog: stderrLogPath
|
|
1137
|
+
});
|
|
1138
|
+
} else {
|
|
1139
|
+
logger2().warn({
|
|
1140
|
+
msg: "engine process exited, please report this error",
|
|
1141
|
+
code,
|
|
1142
|
+
signal,
|
|
1143
|
+
stdoutLog: stdoutLogPath,
|
|
1144
|
+
stderrLog: stderrLogPath,
|
|
1145
|
+
issues: "https://github.com/rivet-dev/rivetkit/issues",
|
|
1146
|
+
support: "https://rivet.dev/discord"
|
|
1147
|
+
});
|
|
1148
|
+
}
|
|
1051
1149
|
stdoutStream.end();
|
|
1052
1150
|
stderrStream.end();
|
|
1053
1151
|
});
|
|
@@ -1095,7 +1193,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1095
1193
|
`failed to download rivet engine binary from ${downloadUrl}: ${response.status} ${response.statusText}`
|
|
1096
1194
|
);
|
|
1097
1195
|
}
|
|
1098
|
-
const crypto2 =
|
|
1196
|
+
const crypto2 = _chunkFB4TVPDQcjs.getNodeCrypto.call(void 0, );
|
|
1099
1197
|
const tempPath = `${binaryPath}.${crypto2.randomUUID()}.tmp`;
|
|
1100
1198
|
const startTime = Date.now();
|
|
1101
1199
|
logger2().debug({
|
|
@@ -1110,14 +1208,14 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1110
1208
|
});
|
|
1111
1209
|
}, 5e3);
|
|
1112
1210
|
try {
|
|
1113
|
-
const stream =
|
|
1114
|
-
const fsSync =
|
|
1211
|
+
const stream = _chunkFB4TVPDQcjs.getNodeStream.call(void 0, );
|
|
1212
|
+
const fsSync = _chunkFB4TVPDQcjs.getNodeFsSync.call(void 0, );
|
|
1115
1213
|
await stream.pipeline(
|
|
1116
1214
|
response.body,
|
|
1117
1215
|
fsSync.createWriteStream(tempPath)
|
|
1118
1216
|
);
|
|
1119
1217
|
clearTimeout(slowDownloadWarning);
|
|
1120
|
-
const fs =
|
|
1218
|
+
const fs = _chunkFB4TVPDQcjs.getNodeFs.call(void 0, );
|
|
1121
1219
|
const stats = await fs.stat(tempPath);
|
|
1122
1220
|
const downloadDuration = Date.now() - startTime;
|
|
1123
1221
|
if (process.platform !== "win32") {
|
|
@@ -1146,7 +1244,7 @@ async function downloadEngineBinaryIfNeeded(binaryPath, version, varDir) {
|
|
|
1146
1244
|
support: "https://rivet.dev/discord"
|
|
1147
1245
|
});
|
|
1148
1246
|
try {
|
|
1149
|
-
const fs =
|
|
1247
|
+
const fs = _chunkFB4TVPDQcjs.getNodeFs.call(void 0, );
|
|
1150
1248
|
await fs.unlink(tempPath);
|
|
1151
1249
|
} catch (unlinkError) {
|
|
1152
1250
|
}
|
|
@@ -1188,7 +1286,7 @@ function resolveTargetTripletFor(platform, arch) {
|
|
|
1188
1286
|
);
|
|
1189
1287
|
}
|
|
1190
1288
|
async function isEngineRunning() {
|
|
1191
|
-
return await checkIfEngineAlreadyRunningOnPort(
|
|
1289
|
+
return await checkIfEngineAlreadyRunningOnPort(_chunk4KNL47JAcjs.ENGINE_PORT);
|
|
1192
1290
|
}
|
|
1193
1291
|
async function checkIfEngineAlreadyRunningOnPort(port) {
|
|
1194
1292
|
let response;
|
|
@@ -1223,7 +1321,7 @@ async function checkIfEngineAlreadyRunningOnPort(port) {
|
|
|
1223
1321
|
}
|
|
1224
1322
|
async function fileExists(filePath) {
|
|
1225
1323
|
try {
|
|
1226
|
-
const fs =
|
|
1324
|
+
const fs = _chunkFB4TVPDQcjs.getNodeFs.call(void 0, );
|
|
1227
1325
|
await fs.access(filePath);
|
|
1228
1326
|
return true;
|
|
1229
1327
|
} catch (e) {
|
|
@@ -1237,7 +1335,7 @@ async function waitForEngineHealth() {
|
|
|
1237
1335
|
logger2().debug({ msg: "waiting for engine health check" });
|
|
1238
1336
|
for (let i = 0; i < maxRetries; i++) {
|
|
1239
1337
|
try {
|
|
1240
|
-
const response = await fetch(`${
|
|
1338
|
+
const response = await fetch(`${_chunk4KNL47JAcjs.ENGINE_ENDPOINT}/health`, {
|
|
1241
1339
|
signal: AbortSignal.timeout(1e3)
|
|
1242
1340
|
});
|
|
1243
1341
|
if (response.ok) {
|
|
@@ -1281,7 +1379,7 @@ function getInspectorUrl(config, managerPort) {
|
|
|
1281
1379
|
|
|
1282
1380
|
// src/serverless/log.ts
|
|
1283
1381
|
function logger3() {
|
|
1284
|
-
return
|
|
1382
|
+
return _chunkHZOBB3KPcjs.getLogger.call(void 0, "serverless");
|
|
1285
1383
|
}
|
|
1286
1384
|
|
|
1287
1385
|
// src/serverless/configure.ts
|
|
@@ -1301,12 +1399,12 @@ async function configureServerlessRunner(config) {
|
|
|
1301
1399
|
}
|
|
1302
1400
|
const customConfig = config.serverless.configureRunnerPool;
|
|
1303
1401
|
_invariant2.default.call(void 0, customConfig, "configureRunnerPool should exist");
|
|
1304
|
-
const clientConfig =
|
|
1402
|
+
const clientConfig = _chunk6NBNCWECcjs.convertRegistryConfigToClientConfig.call(void 0, config);
|
|
1305
1403
|
logger3().debug({
|
|
1306
1404
|
msg: "fetching datacenters",
|
|
1307
1405
|
endpoint: config.endpoint
|
|
1308
1406
|
});
|
|
1309
|
-
const dcsRes = await
|
|
1407
|
+
const dcsRes = await _chunk6NBNCWECcjs.getDatacenters.call(void 0, clientConfig);
|
|
1310
1408
|
const runnerName = _nullishCoalesce(customConfig.name, () => ( "default"));
|
|
1311
1409
|
logger3().debug({
|
|
1312
1410
|
msg: "configuring serverless runner",
|
|
@@ -1325,7 +1423,7 @@ async function configureServerlessRunner(config) {
|
|
|
1325
1423
|
},
|
|
1326
1424
|
metadata: _nullishCoalesce(customConfig.metadata, () => ( {}))
|
|
1327
1425
|
};
|
|
1328
|
-
await
|
|
1426
|
+
await _chunk6NBNCWECcjs.updateRunnerConfig.call(void 0, clientConfig, runnerName, {
|
|
1329
1427
|
datacenters: Object.fromEntries(
|
|
1330
1428
|
dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
|
|
1331
1429
|
)
|
|
@@ -1345,7 +1443,7 @@ async function configureServerlessRunner(config) {
|
|
|
1345
1443
|
|
|
1346
1444
|
// src/registry/log.ts
|
|
1347
1445
|
function logger4() {
|
|
1348
|
-
return
|
|
1446
|
+
return _chunkHZOBB3KPcjs.getLogger.call(void 0, "registry");
|
|
1349
1447
|
}
|
|
1350
1448
|
|
|
1351
1449
|
// src/registry/serve.ts
|
|
@@ -1360,7 +1458,7 @@ async function findFreePort(startPort = DEFAULT_PORT) {
|
|
|
1360
1458
|
return _getport2.default.call(void 0, { port: portRange(startPort) });
|
|
1361
1459
|
}
|
|
1362
1460
|
async function crossPlatformServe(config, managerPort, app) {
|
|
1363
|
-
const runtime =
|
|
1461
|
+
const runtime = _chunkHZOBB3KPcjs.detectRuntime.call(void 0, );
|
|
1364
1462
|
logger4().debug({ msg: "detected runtime for serve", runtime });
|
|
1365
1463
|
switch (runtime) {
|
|
1366
1464
|
case "deno":
|
|
@@ -1385,7 +1483,7 @@ async function serveNode(config, managerPort, app) {
|
|
|
1385
1483
|
} catch (err) {
|
|
1386
1484
|
logger4().error({
|
|
1387
1485
|
msg: "failed to import @hono/node-server. please run 'npm install @hono/node-server @hono/node-ws'",
|
|
1388
|
-
error:
|
|
1486
|
+
error: _chunkHZOBB3KPcjs.stringifyError.call(void 0, err)
|
|
1389
1487
|
});
|
|
1390
1488
|
process.exit(1);
|
|
1391
1489
|
}
|
|
@@ -1400,7 +1498,7 @@ async function serveNode(config, managerPort, app) {
|
|
|
1400
1498
|
} catch (err) {
|
|
1401
1499
|
logger4().error({
|
|
1402
1500
|
msg: "failed to import @hono/node-ws. please run 'npm install @hono/node-server @hono/node-ws'",
|
|
1403
|
-
error:
|
|
1501
|
+
error: _chunkHZOBB3KPcjs.stringifyError.call(void 0, err)
|
|
1404
1502
|
});
|
|
1405
1503
|
process.exit(1);
|
|
1406
1504
|
}
|
|
@@ -1408,9 +1506,10 @@ async function serveNode(config, managerPort, app) {
|
|
|
1408
1506
|
app
|
|
1409
1507
|
});
|
|
1410
1508
|
const port = managerPort;
|
|
1509
|
+
const hostname = config.managerHost;
|
|
1411
1510
|
const server = serve(
|
|
1412
|
-
{ fetch: app.fetch, port },
|
|
1413
|
-
() => logger4().info({ msg: "server listening", port })
|
|
1511
|
+
{ fetch: app.fetch, port, hostname },
|
|
1512
|
+
() => logger4().info({ msg: "server listening", port, hostname })
|
|
1414
1513
|
);
|
|
1415
1514
|
injectWebSocket(server);
|
|
1416
1515
|
return { upgradeWebSocket };
|
|
@@ -1427,13 +1526,14 @@ async function serveDeno(config, managerPort, app) {
|
|
|
1427
1526
|
} catch (err) {
|
|
1428
1527
|
logger4().error({
|
|
1429
1528
|
msg: "failed to import hono/deno",
|
|
1430
|
-
error:
|
|
1529
|
+
error: _chunkHZOBB3KPcjs.stringifyError.call(void 0, err)
|
|
1431
1530
|
});
|
|
1432
1531
|
process.exit(1);
|
|
1433
1532
|
}
|
|
1434
1533
|
const port = config.managerPort;
|
|
1435
|
-
|
|
1436
|
-
|
|
1534
|
+
const hostname = config.managerHost;
|
|
1535
|
+
Deno.serve({ port, hostname }, app.fetch);
|
|
1536
|
+
logger4().info({ msg: "server listening", port, hostname });
|
|
1437
1537
|
return { upgradeWebSocket };
|
|
1438
1538
|
}
|
|
1439
1539
|
async function serveBun(config, managerPort, app) {
|
|
@@ -1448,18 +1548,20 @@ async function serveBun(config, managerPort, app) {
|
|
|
1448
1548
|
} catch (err) {
|
|
1449
1549
|
logger4().error({
|
|
1450
1550
|
msg: "failed to import hono/bun",
|
|
1451
|
-
error:
|
|
1551
|
+
error: _chunkHZOBB3KPcjs.stringifyError.call(void 0, err)
|
|
1452
1552
|
});
|
|
1453
1553
|
process.exit(1);
|
|
1454
1554
|
}
|
|
1455
1555
|
const { websocket, upgradeWebSocket } = createBunWebSocket();
|
|
1456
1556
|
const port = config.managerPort;
|
|
1557
|
+
const hostname = config.managerHost;
|
|
1457
1558
|
Bun.serve({
|
|
1458
1559
|
fetch: app.fetch,
|
|
1459
1560
|
port,
|
|
1561
|
+
hostname,
|
|
1460
1562
|
websocket
|
|
1461
1563
|
});
|
|
1462
|
-
logger4().info({ msg: "server listening", port });
|
|
1564
|
+
logger4().info({ msg: "server listening", port, hostname });
|
|
1463
1565
|
return { upgradeWebSocket };
|
|
1464
1566
|
}
|
|
1465
1567
|
|
|
@@ -1486,7 +1588,7 @@ var ServerlessStartHeadersSchema = _zod.z.object({
|
|
|
1486
1588
|
|
|
1487
1589
|
// src/serverless/router.ts
|
|
1488
1590
|
function buildServerlessRouter(driverConfig, config) {
|
|
1489
|
-
return
|
|
1591
|
+
return _chunk4KNL47JAcjs.createRouter.call(void 0, config.serverless.basePath, (router) => {
|
|
1490
1592
|
router.get("/", (c) => {
|
|
1491
1593
|
return c.text(
|
|
1492
1594
|
"This is a RivetKit server.\n\nLearn more at https://rivetkit.org"
|
|
@@ -1535,10 +1637,10 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1535
1637
|
runnerKey: void 0
|
|
1536
1638
|
}
|
|
1537
1639
|
};
|
|
1538
|
-
const managerDriver = new (0,
|
|
1539
|
-
|
|
1640
|
+
const managerDriver = new (0, _chunk6NBNCWECcjs.RemoteManagerDriver)(
|
|
1641
|
+
_chunk6NBNCWECcjs.convertRegistryConfigToClientConfig.call(void 0, newConfig)
|
|
1540
1642
|
);
|
|
1541
|
-
const client =
|
|
1643
|
+
const client = _chunk6NBNCWECcjs.createClientWithDriver.call(void 0, managerDriver);
|
|
1542
1644
|
const actorDriver = driverConfig.actor(
|
|
1543
1645
|
newConfig,
|
|
1544
1646
|
managerDriver,
|
|
@@ -1550,10 +1652,10 @@ function buildServerlessRouter(driverConfig, config) {
|
|
|
1550
1652
|
);
|
|
1551
1653
|
return await actorDriver.serverlessHandleStart(c);
|
|
1552
1654
|
});
|
|
1553
|
-
router.get("/health", (c) =>
|
|
1655
|
+
router.get("/health", (c) => _chunk4KNL47JAcjs.handleHealthRequest.call(void 0, c));
|
|
1554
1656
|
router.get(
|
|
1555
1657
|
"/metadata",
|
|
1556
|
-
(c) =>
|
|
1658
|
+
(c) => _chunk4KNL47JAcjs.handleMetadataRequest.call(void 0,
|
|
1557
1659
|
c,
|
|
1558
1660
|
config,
|
|
1559
1661
|
{ serverless: {} },
|
|
@@ -1638,9 +1740,9 @@ var Runtime = class _Runtime {
|
|
|
1638
1740
|
logger4().info("rivetkit starting");
|
|
1639
1741
|
const config = registry.parseConfig();
|
|
1640
1742
|
if ((_a = config.logging) == null ? void 0 : _a.baseLogger) {
|
|
1641
|
-
|
|
1743
|
+
_chunkHZOBB3KPcjs.configureBaseLogger.call(void 0, config.logging.baseLogger);
|
|
1642
1744
|
} else {
|
|
1643
|
-
|
|
1745
|
+
_chunkHZOBB3KPcjs.configureDefaultLogger.call(void 0, (_b = config.logging) == null ? void 0 : _b.level);
|
|
1644
1746
|
}
|
|
1645
1747
|
_invariant2.default.call(void 0,
|
|
1646
1748
|
!(config.serverless.spawnEngine && config.serveManager),
|
|
@@ -1650,7 +1752,7 @@ var Runtime = class _Runtime {
|
|
|
1650
1752
|
const managerDriver = driver.manager(config);
|
|
1651
1753
|
let managerPort;
|
|
1652
1754
|
if (config.serverless.spawnEngine) {
|
|
1653
|
-
managerPort =
|
|
1755
|
+
managerPort = _chunk4KNL47JAcjs.ENGINE_PORT;
|
|
1654
1756
|
logger4().debug({
|
|
1655
1757
|
msg: "spawning engine",
|
|
1656
1758
|
version: config.serverless.engineVersion
|
|
@@ -1662,7 +1764,7 @@ var Runtime = class _Runtime {
|
|
|
1662
1764
|
let upgradeWebSocket;
|
|
1663
1765
|
const getUpgradeWebSocket = () => upgradeWebSocket;
|
|
1664
1766
|
managerDriver.setGetUpgradeWebSocket(getUpgradeWebSocket);
|
|
1665
|
-
const { router: managerRouter } =
|
|
1767
|
+
const { router: managerRouter } = _chunk4KNL47JAcjs.buildManagerRouter.call(void 0,
|
|
1666
1768
|
config,
|
|
1667
1769
|
managerDriver,
|
|
1668
1770
|
getUpgradeWebSocket
|
|
@@ -1714,7 +1816,7 @@ var Runtime = class _Runtime {
|
|
|
1714
1816
|
this.#startKind = "runner";
|
|
1715
1817
|
if (this.#config.runner && this.#driver.autoStartActorDriver) {
|
|
1716
1818
|
logger4().debug("starting actor driver");
|
|
1717
|
-
const inlineClient =
|
|
1819
|
+
const inlineClient = _chunk6NBNCWECcjs.createClientWithDriver.call(void 0,
|
|
1718
1820
|
this.#managerDriver
|
|
1719
1821
|
);
|
|
1720
1822
|
this.#driver.actor(this.#config, this.#managerDriver, inlineClient);
|
|
@@ -1726,7 +1828,7 @@ var Runtime = class _Runtime {
|
|
|
1726
1828
|
const inspectorUrl = this.managerPort ? getInspectorUrl(this.#config, this.managerPort) : void 0;
|
|
1727
1829
|
console.log();
|
|
1728
1830
|
console.log(
|
|
1729
|
-
` RivetKit ${
|
|
1831
|
+
` RivetKit ${_chunkHZOBB3KPcjs.package_default.version} (${this.#driver.displayName} - ${this.#startKind === "serverless" ? "Serverless" : "Runner"})`
|
|
1730
1832
|
);
|
|
1731
1833
|
if (this.#config.namespace !== "default") {
|
|
1732
1834
|
logLine("Namespace", this.#config.namespace);
|
|
@@ -1767,7 +1869,7 @@ var Registry = class {
|
|
|
1767
1869
|
return this.#config;
|
|
1768
1870
|
}
|
|
1769
1871
|
parseConfig() {
|
|
1770
|
-
return
|
|
1872
|
+
return _chunk4KNL47JAcjs.RegistryConfigSchema.parse(this.#config);
|
|
1771
1873
|
}
|
|
1772
1874
|
// Shared runtime instance
|
|
1773
1875
|
#runtime;
|
|
@@ -1833,7 +1935,7 @@ var Registry = class {
|
|
|
1833
1935
|
"autoConfigureServerless can only be configured when runnerKind is 'serverless'"
|
|
1834
1936
|
);
|
|
1835
1937
|
}
|
|
1836
|
-
const isDevEnv =
|
|
1938
|
+
const isDevEnv = _chunkHZOBB3KPcjs.isDev.call(void 0, );
|
|
1837
1939
|
if (isDevEnv && config.runnerKind === "serverless") {
|
|
1838
1940
|
if ((inputConfig == null ? void 0 : inputConfig.runEngine) === void 0) config.runEngine = true;
|
|
1839
1941
|
if ((inputConfig == null ? void 0 : inputConfig.autoConfigureServerless) === void 0)
|
|
@@ -1846,7 +1948,7 @@ var Registry = class {
|
|
|
1846
1948
|
}
|
|
1847
1949
|
}
|
|
1848
1950
|
#legacyStartServerless(config, _inputConfig) {
|
|
1849
|
-
const client =
|
|
1951
|
+
const client = _chunk6NBNCWECcjs.createClient.call(void 0, {
|
|
1850
1952
|
endpoint: config.endpoint,
|
|
1851
1953
|
token: config.token,
|
|
1852
1954
|
namespace: config.namespace,
|
|
@@ -1859,7 +1961,7 @@ var Registry = class {
|
|
|
1859
1961
|
}
|
|
1860
1962
|
#legacyStartNormal(config) {
|
|
1861
1963
|
this.#ensureRuntime().then((runtime) => runtime.startRunner());
|
|
1862
|
-
const client =
|
|
1964
|
+
const client = _chunk6NBNCWECcjs.createClient.call(void 0, {
|
|
1863
1965
|
endpoint: config.endpoint,
|
|
1864
1966
|
token: config.token,
|
|
1865
1967
|
namespace: config.namespace,
|
|
@@ -1881,4 +1983,4 @@ function setup(input) {
|
|
|
1881
1983
|
|
|
1882
1984
|
|
|
1883
1985
|
exports.actor = actor; exports.createEngineDriver = createEngineDriver; exports.Registry = Registry; exports.setup = setup;
|
|
1884
|
-
//# sourceMappingURL=chunk-
|
|
1986
|
+
//# sourceMappingURL=chunk-B5BMSBR4.cjs.map
|