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