rivetkit 2.3.0-rc.6 → 2.3.0-rc.7
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/browser/client.d.ts +37 -8
- package/dist/browser/client.js +64 -34
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +4 -3
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/tsup/actor/errors.cjs +2 -2
- package/dist/tsup/actor/errors.js +1 -1
- package/dist/tsup/agent-os/index.cjs +7 -5
- package/dist/tsup/agent-os/index.cjs.map +1 -1
- package/dist/tsup/agent-os/index.d.cts +26 -5
- package/dist/tsup/agent-os/index.d.ts +26 -5
- package/dist/tsup/agent-os/index.js +7 -5
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-2G64KSZQ.cjs → chunk-2H4ISA4Y.cjs} +10 -10
- package/dist/tsup/chunk-2H4ISA4Y.cjs.map +1 -0
- package/dist/tsup/{chunk-ZI5QJMKO.js → chunk-4DJMFOSU.js} +2 -2
- package/dist/tsup/{chunk-RTC2AZGB.js → chunk-4LTY5TOO.js} +132 -4
- package/dist/tsup/chunk-4LTY5TOO.js.map +1 -0
- package/dist/tsup/{chunk-DEO7MMWQ.js → chunk-52TPEKEC.js} +2 -2
- package/dist/tsup/{chunk-HTR4YLNT.cjs → chunk-55E7IR6D.cjs} +4 -4
- package/dist/tsup/{chunk-HTR4YLNT.cjs.map → chunk-55E7IR6D.cjs.map} +1 -1
- package/dist/tsup/{chunk-QAZLM4WT.cjs → chunk-63WNTDRC.cjs} +3 -3
- package/dist/tsup/{chunk-QAZLM4WT.cjs.map → chunk-63WNTDRC.cjs.map} +1 -1
- package/dist/tsup/{chunk-EMO6E3PJ.js → chunk-CMV6N5OX.js} +3 -3
- package/dist/tsup/{chunk-T6YVRM4K.js → chunk-D5G75T7J.js} +3 -1
- package/dist/tsup/chunk-D5G75T7J.js.map +1 -0
- package/dist/tsup/{chunk-LIXXFXVR.cjs → chunk-FEOG44WH.cjs} +137 -9
- package/dist/tsup/chunk-FEOG44WH.cjs.map +1 -0
- package/dist/tsup/{chunk-M5C7YNI5.cjs → chunk-G5HUSWP4.cjs} +8 -8
- package/dist/tsup/{chunk-M5C7YNI5.cjs.map → chunk-G5HUSWP4.cjs.map} +1 -1
- package/dist/tsup/{chunk-6S25NVAP.js → chunk-HERL2VQ2.js} +7 -5
- package/dist/tsup/chunk-HERL2VQ2.js.map +1 -0
- package/dist/tsup/{chunk-JALSAX7Z.cjs → chunk-SJLPZEA3.cjs} +3 -3
- package/dist/tsup/{chunk-JALSAX7Z.cjs.map → chunk-SJLPZEA3.cjs.map} +1 -1
- package/dist/tsup/{chunk-WQ4HNA4W.cjs → chunk-SRNOPUC6.cjs} +4 -2
- package/dist/tsup/chunk-SRNOPUC6.cjs.map +1 -0
- package/dist/tsup/{chunk-KIWH5H3K.js → chunk-TMLOKTRB.js} +3 -3
- package/dist/tsup/chunk-TMLOKTRB.js.map +1 -0
- package/dist/tsup/{chunk-CAF6JDJE.js → chunk-VFIY6GWO.js} +4 -4
- package/dist/tsup/chunk-VFIY6GWO.js.map +1 -0
- package/dist/tsup/{chunk-FLODVLYW.js → chunk-VJ4Y4WBT.js} +10 -34
- package/dist/tsup/chunk-VJ4Y4WBT.js.map +1 -0
- package/dist/tsup/{chunk-K5BA2LEO.cjs → chunk-X6HIFXNK.cjs} +14 -12
- package/dist/tsup/chunk-X6HIFXNK.cjs.map +1 -0
- package/dist/tsup/{chunk-ENK7C66G.cjs → chunk-ZGPX6KAH.cjs} +169 -193
- package/dist/tsup/chunk-ZGPX6KAH.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +7 -7
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +6 -6
- package/dist/tsup/common/log.cjs +3 -3
- package/dist/tsup/common/log.js +2 -2
- package/dist/tsup/common/websocket.cjs +4 -4
- package/dist/tsup/common/websocket.js +3 -3
- package/dist/tsup/{config-0Ta55UV0.d.ts → config-Ak1lv4gF.d.ts} +27 -6
- package/dist/tsup/{config-Ca8dN4cS.d.cts → config-DU_xj4qZ.d.cts} +27 -6
- package/dist/tsup/{context-B_IWbWne.d.ts → context-DAAp4Lpg.d.ts} +1 -1
- package/dist/tsup/{context-CUrQ9MHc.d.cts → context-Dt_L55q8.d.cts} +1 -1
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/mod.cjs +470 -316
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +3 -3
- package/dist/tsup/mod.d.ts +3 -3
- package/dist/tsup/mod.js +391 -237
- package/dist/tsup/mod.js.map +1 -1
- package/dist/tsup/process-metrics-NW754INA.js +118 -0
- package/dist/tsup/process-metrics-NW754INA.js.map +1 -0
- package/dist/tsup/process-metrics-TYAGKCEJ.cjs +118 -0
- package/dist/tsup/process-metrics-TYAGKCEJ.cjs.map +1 -0
- package/dist/tsup/test/mod.cjs +10 -10
- 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 +3 -3
- package/dist/tsup/utils.js +2 -2
- package/dist/tsup/workflow/mod.cjs +41 -16
- package/dist/tsup/workflow/mod.cjs.map +1 -1
- package/dist/tsup/workflow/mod.d.cts +3 -3
- package/dist/tsup/workflow/mod.d.ts +3 -3
- package/dist/tsup/workflow/mod.js +35 -10
- package/dist/tsup/workflow/mod.js.map +1 -1
- package/package.json +11 -10
- package/src/actor/config.ts +3 -0
- package/src/actor/errors.ts +2 -2
- package/src/agent-os/actor/session.ts +2 -2
- package/src/client/actor-conn.ts +6 -34
- package/src/client/actor-handle.ts +2 -1
- package/src/client/queue.ts +2 -1
- package/src/client/utils.ts +0 -1
- package/src/common/encoding.ts +243 -5
- package/src/common/inline-websocket-adapter.ts +12 -12
- package/src/common/log.ts +1 -0
- package/src/common/router.ts +2 -2
- package/src/common/utils.ts +0 -148
- package/src/drivers/engine/actor-driver.ts +11 -11
- package/src/engine-client/actor-websocket-client.ts +2 -1
- package/src/engine-client/mod.ts +3 -2
- package/src/registry/index.ts +46 -109
- package/src/registry/napi-runtime.ts +11 -34
- package/src/registry/native.ts +193 -104
- package/src/registry/process-metrics.ts +183 -0
- package/src/registry/runtime.ts +5 -12
- package/src/registry/wasm-runtime.ts +2 -13
- package/src/registry/write-through-proxy.ts +40 -0
- package/src/serde.ts +2 -2
- package/src/workflow/context.ts +32 -5
- package/src/workflow/inspector.ts +2 -1
- package/dist/tsup/chunk-2G64KSZQ.cjs.map +0 -1
- package/dist/tsup/chunk-6S25NVAP.js.map +0 -1
- package/dist/tsup/chunk-CAF6JDJE.js.map +0 -1
- package/dist/tsup/chunk-ENK7C66G.cjs.map +0 -1
- package/dist/tsup/chunk-FLODVLYW.js.map +0 -1
- package/dist/tsup/chunk-K5BA2LEO.cjs.map +0 -1
- package/dist/tsup/chunk-KIWH5H3K.js.map +0 -1
- package/dist/tsup/chunk-LIXXFXVR.cjs.map +0 -1
- package/dist/tsup/chunk-RTC2AZGB.js.map +0 -1
- package/dist/tsup/chunk-T6YVRM4K.js.map +0 -1
- package/dist/tsup/chunk-WQ4HNA4W.cjs.map +0 -1
- /package/dist/tsup/{chunk-ZI5QJMKO.js.map → chunk-4DJMFOSU.js.map} +0 -0
- /package/dist/tsup/{chunk-DEO7MMWQ.js.map → chunk-52TPEKEC.js.map} +0 -0
- /package/dist/tsup/{chunk-EMO6E3PJ.js.map → chunk-CMV6N5OX.js.map} +0 -0
package/dist/tsup/mod.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } var _class; var _class2;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } var _class; var _class2; var _class3;
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _chunkWQ4HNA4Wcjs = require('./chunk-WQ4HNA4W.cjs');
|
|
9
8
|
|
|
9
|
+
var _chunkSRNOPUC6cjs = require('./chunk-SRNOPUC6.cjs');
|
|
10
10
|
|
|
11
|
-
var _chunkHTR4YLNTcjs = require('./chunk-HTR4YLNT.cjs');
|
|
12
11
|
|
|
12
|
+
var _chunk55E7IR6Dcjs = require('./chunk-55E7IR6D.cjs');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
@@ -18,7 +18,8 @@ var _chunkHTR4YLNTcjs = require('./chunk-HTR4YLNT.cjs');
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
|
|
22
|
+
var _chunkZGPX6KAHcjs = require('./chunk-ZGPX6KAH.cjs');
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
|
|
@@ -31,9 +32,11 @@ var _chunkLD5YASJUcjs = require('./chunk-LD5YASJU.cjs');
|
|
|
31
32
|
|
|
32
33
|
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
|
|
36
|
+
var _chunkFEOG44WHcjs = require('./chunk-FEOG44WH.cjs');
|
|
35
37
|
require('./chunk-2NDZ7JCR.cjs');
|
|
36
|
-
require('./chunk-
|
|
38
|
+
require('./chunk-SJLPZEA3.cjs');
|
|
39
|
+
|
|
37
40
|
|
|
38
41
|
|
|
39
42
|
|
|
@@ -57,7 +60,7 @@ require('./chunk-JALSAX7Z.cjs');
|
|
|
57
60
|
|
|
58
61
|
|
|
59
62
|
|
|
60
|
-
var
|
|
63
|
+
var _chunkX6HIFXNKcjs = require('./chunk-X6HIFXNK.cjs');
|
|
61
64
|
|
|
62
65
|
|
|
63
66
|
|
|
@@ -68,11 +71,11 @@ var _chunkK5BA2LEOcjs = require('./chunk-K5BA2LEO.cjs');
|
|
|
68
71
|
|
|
69
72
|
|
|
70
73
|
|
|
71
|
-
var
|
|
74
|
+
var _chunk63WNTDRCcjs = require('./chunk-63WNTDRC.cjs');
|
|
72
75
|
|
|
73
76
|
// src/actor/log.ts
|
|
74
77
|
function loggerWithoutContext() {
|
|
75
|
-
return
|
|
78
|
+
return _chunkX6HIFXNKcjs.getLogger.call(void 0, "actor-runtime");
|
|
76
79
|
}
|
|
77
80
|
|
|
78
81
|
// src/actor/definition.ts
|
|
@@ -105,7 +108,7 @@ function actor(input) {
|
|
|
105
108
|
warnDeprecatedShutdownTimeoutKeys(
|
|
106
109
|
input == null ? void 0 : input.options
|
|
107
110
|
);
|
|
108
|
-
const config =
|
|
111
|
+
const config = _chunkSRNOPUC6cjs.ActorConfigSchema.parse(input);
|
|
109
112
|
return new ActorDefinition(config);
|
|
110
113
|
}
|
|
111
114
|
function isStaticActorDefinition(definition) {
|
|
@@ -187,7 +190,7 @@ function validateSchemaSync(schemas, key, data) {
|
|
|
187
190
|
if (isStandardSchema(schema)) {
|
|
188
191
|
const result = schema["~standard"].validate(data);
|
|
189
192
|
if (isPromiseLike(result)) {
|
|
190
|
-
throw
|
|
193
|
+
throw _chunk63WNTDRCcjs.unsupportedFeature.call(void 0, "async schema validation");
|
|
191
194
|
}
|
|
192
195
|
if (result.issues) {
|
|
193
196
|
return { success: false, issues: [...result.issues] };
|
|
@@ -204,7 +207,7 @@ function validateSchemaSync(schemas, key, data) {
|
|
|
204
207
|
var _ws = require('hono/ws');
|
|
205
208
|
var _virtualwebsocket = require('@rivetkit/virtual-websocket');
|
|
206
209
|
function logger() {
|
|
207
|
-
return
|
|
210
|
+
return _chunkX6HIFXNKcjs.getLogger.call(void 0, "inline-websocket-adapter");
|
|
208
211
|
}
|
|
209
212
|
var InlineWebSocketAdapter = class {
|
|
210
213
|
#handler;
|
|
@@ -314,24 +317,24 @@ var InlineWebSocketAdapter = class {
|
|
|
314
317
|
this.#close(1011, "Internal error during initialization");
|
|
315
318
|
}
|
|
316
319
|
}
|
|
317
|
-
#handleError(
|
|
318
|
-
console.error("INLINE_WEBSOCKET_ADAPTER_ERROR",
|
|
320
|
+
#handleError(error) {
|
|
321
|
+
console.error("INLINE_WEBSOCKET_ADAPTER_ERROR", error);
|
|
319
322
|
logger().error({
|
|
320
323
|
msg: "error in websocket",
|
|
321
|
-
error
|
|
322
|
-
errorMessage:
|
|
323
|
-
stack:
|
|
324
|
+
error,
|
|
325
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
326
|
+
stack: error instanceof Error ? error.stack : void 0
|
|
324
327
|
});
|
|
325
328
|
try {
|
|
326
|
-
this.#handler.onError(
|
|
327
|
-
} catch (
|
|
329
|
+
this.#handler.onError(error, this.#wsContext);
|
|
330
|
+
} catch (error2) {
|
|
328
331
|
logger().error({
|
|
329
332
|
msg: "error in onError handler",
|
|
330
|
-
error:
|
|
333
|
+
error: error2
|
|
331
334
|
});
|
|
332
335
|
}
|
|
333
|
-
this.#clientWs.triggerError(
|
|
334
|
-
this.#actorWs.triggerError(
|
|
336
|
+
this.#clientWs.triggerError(error);
|
|
337
|
+
this.#actorWs.triggerError(error);
|
|
335
338
|
}
|
|
336
339
|
#close(code, reason) {
|
|
337
340
|
if (this.#readyState === 3 || this.#readyState === 2) {
|
|
@@ -344,8 +347,8 @@ var InlineWebSocketAdapter = class {
|
|
|
344
347
|
{ code, reason, wasClean: true },
|
|
345
348
|
this.#wsContext
|
|
346
349
|
);
|
|
347
|
-
} catch (
|
|
348
|
-
logger().error({ msg: "error closing websocket", error
|
|
350
|
+
} catch (error) {
|
|
351
|
+
logger().error({ msg: "error closing websocket", error });
|
|
349
352
|
} finally {
|
|
350
353
|
this.#readyState = 3;
|
|
351
354
|
this.#clientWs.triggerClose(code, reason);
|
|
@@ -354,13 +357,16 @@ var InlineWebSocketAdapter = class {
|
|
|
354
357
|
}
|
|
355
358
|
};
|
|
356
359
|
|
|
360
|
+
// src/registry/index.ts
|
|
361
|
+
var _hono = require('hono');
|
|
362
|
+
|
|
357
363
|
// src/common/engine.ts
|
|
358
364
|
var ENGINE_PORT = 6420;
|
|
359
365
|
var ENGINE_ENDPOINT = `http://127.0.0.1:${ENGINE_PORT}`;
|
|
360
366
|
|
|
361
367
|
// src/registry/log.ts
|
|
362
368
|
function logger2() {
|
|
363
|
-
return
|
|
369
|
+
return _chunkX6HIFXNKcjs.getLogger.call(void 0, "registry");
|
|
364
370
|
}
|
|
365
371
|
|
|
366
372
|
// src/serverless/configure.ts
|
|
@@ -397,8 +403,8 @@ async function configureServerlessPool(config) {
|
|
|
397
403
|
throw new Error("configurePool is required for serverless configuration");
|
|
398
404
|
}
|
|
399
405
|
const customConfig = config.configurePool;
|
|
400
|
-
const clientConfig =
|
|
401
|
-
const dcsRes = await
|
|
406
|
+
const clientConfig = _chunkZGPX6KAHcjs.convertRegistryConfigToClientConfig.call(void 0, config);
|
|
407
|
+
const dcsRes = await _chunkZGPX6KAHcjs.getDatacenters.call(void 0, clientConfig);
|
|
402
408
|
const poolName = _nullishCoalesce(customConfig.name, () => ( "default"));
|
|
403
409
|
const serverlessToken = _nullishCoalesce(config.token, () => ( config.publicToken));
|
|
404
410
|
const headers = {
|
|
@@ -420,7 +426,7 @@ async function configureServerlessPool(config) {
|
|
|
420
426
|
metadata: _nullishCoalesce(customConfig.metadata, () => ( {})),
|
|
421
427
|
drain_on_version_upgrade: _nullishCoalesce(customConfig.drainOnVersionUpgrade, () => ( true))
|
|
422
428
|
};
|
|
423
|
-
await
|
|
429
|
+
await _chunkZGPX6KAHcjs.updateRunnerConfig.call(void 0, clientConfig, poolName, {
|
|
424
430
|
datacenters: Object.fromEntries(
|
|
425
431
|
dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
|
|
426
432
|
)
|
|
@@ -437,7 +443,7 @@ async function configureServerlessPool(config) {
|
|
|
437
443
|
logger2().warn({
|
|
438
444
|
msg: "serverless pool configuration attempt failed",
|
|
439
445
|
attempts,
|
|
440
|
-
error:
|
|
446
|
+
error: _chunkX6HIFXNKcjs.stringifyError.call(void 0, error)
|
|
441
447
|
});
|
|
442
448
|
await sleep(CONFIGURE_RETRY_DELAY_MS);
|
|
443
449
|
}
|
|
@@ -445,11 +451,150 @@ async function configureServerlessPool(config) {
|
|
|
445
451
|
logger2().error({
|
|
446
452
|
msg: "failed to configure serverless pool, validate endpoint is configured correctly then restart this process",
|
|
447
453
|
attempts,
|
|
448
|
-
error:
|
|
454
|
+
error: _chunkX6HIFXNKcjs.stringifyError.call(void 0, lastError)
|
|
449
455
|
});
|
|
450
456
|
throw lastError;
|
|
451
457
|
}
|
|
452
458
|
|
|
459
|
+
// src/utils/serve.ts
|
|
460
|
+
var _getport = require('get-port'); var _getport2 = _interopRequireDefault(_getport);
|
|
461
|
+
var serveStaticLoaderPromises = {};
|
|
462
|
+
async function crossPlatformServe(config, httpPort, app, runtime = _chunkX6HIFXNKcjs.detectRuntime.call(void 0, )) {
|
|
463
|
+
logger2().debug({ msg: "detected runtime for serve", runtime });
|
|
464
|
+
switch (runtime) {
|
|
465
|
+
case "deno":
|
|
466
|
+
return serveDeno(config, httpPort, app);
|
|
467
|
+
case "bun":
|
|
468
|
+
return serveBun(config, httpPort, app);
|
|
469
|
+
case "node":
|
|
470
|
+
return serveNode(config, httpPort, app);
|
|
471
|
+
default:
|
|
472
|
+
return serveNode(config, httpPort, app);
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
async function loadRuntimeServeStatic(runtime) {
|
|
476
|
+
if (!serveStaticLoaderPromises[runtime]) {
|
|
477
|
+
if (runtime === "node") {
|
|
478
|
+
const nodeServeStaticModule = "@hono/node-server/serve-static";
|
|
479
|
+
serveStaticLoaderPromises[runtime] = Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
480
|
+
/* webpackIgnore: true */
|
|
481
|
+
nodeServeStaticModule
|
|
482
|
+
))).then((x) => x.serveStatic);
|
|
483
|
+
} else if (runtime === "bun") {
|
|
484
|
+
const bunModule = "hono/bun";
|
|
485
|
+
serveStaticLoaderPromises[runtime] = Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
486
|
+
/* webpackIgnore: true */
|
|
487
|
+
bunModule
|
|
488
|
+
))).then((x) => x.serveStatic);
|
|
489
|
+
} else if (runtime === "deno") {
|
|
490
|
+
const denoModule = "hono/deno";
|
|
491
|
+
serveStaticLoaderPromises[runtime] = Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
492
|
+
/* webpackIgnore: true */
|
|
493
|
+
denoModule
|
|
494
|
+
))).then((x) => x.serveStatic);
|
|
495
|
+
} else {
|
|
496
|
+
throw new Error(`unsupported runtime: ${runtime}`);
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
return await serveStaticLoaderPromises[runtime];
|
|
500
|
+
}
|
|
501
|
+
async function serveNode(config, httpPort, app) {
|
|
502
|
+
const nodeServerModule = "@hono/node-server";
|
|
503
|
+
let serve;
|
|
504
|
+
try {
|
|
505
|
+
const dep = await Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
506
|
+
/* webpackIgnore: true */
|
|
507
|
+
nodeServerModule
|
|
508
|
+
)));
|
|
509
|
+
serve = dep.serve;
|
|
510
|
+
} catch (err) {
|
|
511
|
+
logger2().error({
|
|
512
|
+
msg: "failed to import @hono/node-server. please run 'npm install @hono/node-server @hono/node-ws'",
|
|
513
|
+
error: _chunkX6HIFXNKcjs.stringifyError.call(void 0, err)
|
|
514
|
+
});
|
|
515
|
+
process.exit(1);
|
|
516
|
+
}
|
|
517
|
+
const nodeWsModule = "@hono/node-ws";
|
|
518
|
+
let createNodeWebSocket;
|
|
519
|
+
try {
|
|
520
|
+
const dep = await Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
521
|
+
/* webpackIgnore: true */
|
|
522
|
+
nodeWsModule
|
|
523
|
+
)));
|
|
524
|
+
createNodeWebSocket = dep.createNodeWebSocket;
|
|
525
|
+
} catch (err) {
|
|
526
|
+
logger2().error({
|
|
527
|
+
msg: "failed to import @hono/node-ws. please run 'npm install @hono/node-server @hono/node-ws'",
|
|
528
|
+
error: _chunkX6HIFXNKcjs.stringifyError.call(void 0, err)
|
|
529
|
+
});
|
|
530
|
+
process.exit(1);
|
|
531
|
+
}
|
|
532
|
+
const { injectWebSocket, upgradeWebSocket } = createNodeWebSocket({
|
|
533
|
+
app
|
|
534
|
+
});
|
|
535
|
+
const port = httpPort;
|
|
536
|
+
const hostname = config.httpHost;
|
|
537
|
+
const server = serve(
|
|
538
|
+
{ fetch: app.fetch, port, hostname },
|
|
539
|
+
() => logger2().info({ msg: "server listening", port, hostname })
|
|
540
|
+
);
|
|
541
|
+
injectWebSocket(server);
|
|
542
|
+
const closeServer = () => {
|
|
543
|
+
server.close();
|
|
544
|
+
};
|
|
545
|
+
return { upgradeWebSocket, closeServer };
|
|
546
|
+
}
|
|
547
|
+
async function serveDeno(config, httpPort, app) {
|
|
548
|
+
const honoDenoModule = "hono/deno";
|
|
549
|
+
let upgradeWebSocket;
|
|
550
|
+
try {
|
|
551
|
+
const dep = await Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
552
|
+
/* webpackIgnore: true */
|
|
553
|
+
honoDenoModule
|
|
554
|
+
)));
|
|
555
|
+
upgradeWebSocket = dep.upgradeWebSocket;
|
|
556
|
+
} catch (err) {
|
|
557
|
+
logger2().error({
|
|
558
|
+
msg: "failed to import hono/deno",
|
|
559
|
+
error: _chunkX6HIFXNKcjs.stringifyError.call(void 0, err)
|
|
560
|
+
});
|
|
561
|
+
process.exit(1);
|
|
562
|
+
}
|
|
563
|
+
const port = httpPort;
|
|
564
|
+
const hostname = config.httpHost;
|
|
565
|
+
Deno.serve({ port, hostname }, app.fetch);
|
|
566
|
+
logger2().info({ msg: "server listening", port, hostname });
|
|
567
|
+
return { upgradeWebSocket };
|
|
568
|
+
}
|
|
569
|
+
async function serveBun(config, httpPort, app) {
|
|
570
|
+
const honoBunModule = "hono/bun";
|
|
571
|
+
let createBunWebSocket;
|
|
572
|
+
try {
|
|
573
|
+
const dep = await Promise.resolve().then(() => _interopRequireWildcard(require(
|
|
574
|
+
/* webpackIgnore: true */
|
|
575
|
+
honoBunModule
|
|
576
|
+
)));
|
|
577
|
+
createBunWebSocket = dep.createBunWebSocket;
|
|
578
|
+
} catch (err) {
|
|
579
|
+
logger2().error({
|
|
580
|
+
msg: "failed to import hono/bun",
|
|
581
|
+
error: _chunkX6HIFXNKcjs.stringifyError.call(void 0, err)
|
|
582
|
+
});
|
|
583
|
+
process.exit(1);
|
|
584
|
+
}
|
|
585
|
+
const { websocket, upgradeWebSocket } = createBunWebSocket();
|
|
586
|
+
const port = httpPort;
|
|
587
|
+
const hostname = config.httpHost;
|
|
588
|
+
Bun.serve({
|
|
589
|
+
fetch: app.fetch,
|
|
590
|
+
port,
|
|
591
|
+
hostname,
|
|
592
|
+
websocket
|
|
593
|
+
});
|
|
594
|
+
logger2().info({ msg: "server listening", port, hostname });
|
|
595
|
+
return { upgradeWebSocket };
|
|
596
|
+
}
|
|
597
|
+
|
|
453
598
|
// src/registry/config/index.ts
|
|
454
599
|
var _zod = require('zod');
|
|
455
600
|
|
|
@@ -457,20 +602,20 @@ var _zod = require('zod');
|
|
|
457
602
|
var _v4 = require('zod/v4');
|
|
458
603
|
var warnedMissingVersion = false;
|
|
459
604
|
var EnvoyConfigSchema = _v4.z.object({
|
|
460
|
-
poolName: _v4.z.string().default(() => _nullishCoalesce(
|
|
605
|
+
poolName: _v4.z.string().default(() => _nullishCoalesce(_chunkX6HIFXNKcjs.getRivetPool.call(void 0, ), () => ( "default"))),
|
|
461
606
|
version: _v4.z.number().default(() => {
|
|
462
|
-
const version =
|
|
607
|
+
const version = _chunkX6HIFXNKcjs.getRivetEnvoyVersion.call(void 0, );
|
|
463
608
|
if (version !== void 0) return version;
|
|
464
|
-
if (
|
|
609
|
+
if (_chunkX6HIFXNKcjs.getNodeEnv.call(void 0, ) === "production" && !warnedMissingVersion) {
|
|
465
610
|
warnedMissingVersion = true;
|
|
466
|
-
|
|
611
|
+
_chunkX6HIFXNKcjs.getLogger.call(void 0, "rivetkit").error(
|
|
467
612
|
"RIVET_ENVOY_VERSION is not set. Actors will not be versioned, which means they won't be drained on deploy. This is only needed when self-hosting or using a custom envoy (not needed for Rivet Compute). Set this as a build arg in your Dockerfile. See https://rivet.dev/docs/actors/versions"
|
|
468
613
|
);
|
|
469
614
|
}
|
|
470
615
|
return 1;
|
|
471
616
|
}),
|
|
472
617
|
// Deprecated.
|
|
473
|
-
totalSlots: _v4.z.number().default(() => _nullishCoalesce(
|
|
618
|
+
totalSlots: _v4.z.number().default(() => _nullishCoalesce(_chunkX6HIFXNKcjs.getRivetTotalSlots.call(void 0, ), () => ( 1e5))),
|
|
474
619
|
envoyKey: _v4.z.string().optional()
|
|
475
620
|
});
|
|
476
621
|
|
|
@@ -508,7 +653,7 @@ var ServerlessConfigSchema = _v4.z.object({
|
|
|
508
653
|
*
|
|
509
654
|
* Can also be set via RIVET_PUBLIC_ENDPOINT environment variable.
|
|
510
655
|
*/
|
|
511
|
-
publicEndpoint: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => (
|
|
656
|
+
publicEndpoint: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkX6HIFXNKcjs.getRivetPublicEndpoint.call(void 0, )))),
|
|
512
657
|
/**
|
|
513
658
|
* Token that clients should use when connecting via the public endpoint.
|
|
514
659
|
*
|
|
@@ -516,7 +661,7 @@ var ServerlessConfigSchema = _v4.z.object({
|
|
|
516
661
|
*
|
|
517
662
|
* Can also be specified in the publicEndpoint URL as `https://namespace:token@host`.
|
|
518
663
|
*/
|
|
519
|
-
publicToken: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => (
|
|
664
|
+
publicToken: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkX6HIFXNKcjs.getRivetPublicToken.call(void 0, ))))
|
|
520
665
|
// There is no publicNamespace config option because the frontend and backend
|
|
521
666
|
// cannot use different namespaces. The namespace is extracted from the
|
|
522
667
|
// publicEndpoint URL auth syntax if provided.
|
|
@@ -570,7 +715,7 @@ var RegistryConfigSchema = _zod.z.object({
|
|
|
570
715
|
* Runtime binding to use for RivetKit core.
|
|
571
716
|
* */
|
|
572
717
|
runtime: RuntimeKindSchema.optional().transform((val, ctx) => {
|
|
573
|
-
const rawRuntime = _nullishCoalesce(val, () => (
|
|
718
|
+
const rawRuntime = _nullishCoalesce(val, () => ( _chunkX6HIFXNKcjs.getRivetkitRuntime.call(void 0, )));
|
|
574
719
|
if (rawRuntime === void 0) {
|
|
575
720
|
return "auto";
|
|
576
721
|
}
|
|
@@ -607,7 +752,7 @@ var RegistryConfigSchema = _zod.z.object({
|
|
|
607
752
|
* */
|
|
608
753
|
logging: _zod.z.object({
|
|
609
754
|
baseLogger: _zod.z.custom().optional(),
|
|
610
|
-
level:
|
|
755
|
+
level: _chunkX6HIFXNKcjs.LogLevelSchema.optional()
|
|
611
756
|
}).optional().default(() => ({})),
|
|
612
757
|
// MARK: Routing
|
|
613
758
|
// // This is a function to allow for lazy configuration of upgradeWebSocket on the
|
|
@@ -625,9 +770,9 @@ var RegistryConfigSchema = _zod.z.object({
|
|
|
625
770
|
*
|
|
626
771
|
* Can also be set via RIVET_ENDPOINT environment variables.
|
|
627
772
|
*/
|
|
628
|
-
endpoint: _zod.z.string().optional().transform((val) => _nullishCoalesce(_nullishCoalesce(val, () => (
|
|
629
|
-
token: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => (
|
|
630
|
-
namespace: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => (
|
|
773
|
+
endpoint: _zod.z.string().optional().transform((val) => _nullishCoalesce(_nullishCoalesce(val, () => ( _chunkX6HIFXNKcjs.getRivetEngine.call(void 0, ))), () => ( _chunkX6HIFXNKcjs.getRivetEndpoint.call(void 0, )))),
|
|
774
|
+
token: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkX6HIFXNKcjs.getRivetToken.call(void 0, )))),
|
|
775
|
+
namespace: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkX6HIFXNKcjs.getRivetNamespace.call(void 0, )))),
|
|
631
776
|
headers: _zod.z.record(_zod.z.string(), _zod.z.string()).optional().default({}),
|
|
632
777
|
// MARK: Client
|
|
633
778
|
// TODO:
|
|
@@ -667,9 +812,9 @@ var RegistryConfigSchema = _zod.z.object({
|
|
|
667
812
|
*
|
|
668
813
|
* Starts the full Rust engine process locally.
|
|
669
814
|
*/
|
|
670
|
-
startEngine: _zod.z.boolean().default(() =>
|
|
815
|
+
startEngine: _zod.z.boolean().default(() => _chunkX6HIFXNKcjs.getRivetRunEngine.call(void 0, )),
|
|
671
816
|
/** @experimental */
|
|
672
|
-
engineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(
|
|
817
|
+
engineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkX6HIFXNKcjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunkX6HIFXNKcjs.VERSION))),
|
|
673
818
|
/**
|
|
674
819
|
* @experimental
|
|
675
820
|
*
|
|
@@ -717,7 +862,7 @@ var RegistryConfigSchema = _zod.z.object({
|
|
|
717
862
|
}))
|
|
718
863
|
}).transform((config, ctx) => {
|
|
719
864
|
var _a, _b, _c;
|
|
720
|
-
const isDevEnv =
|
|
865
|
+
const isDevEnv = _chunkX6HIFXNKcjs.isDev.call(void 0, );
|
|
721
866
|
const sqliteBackend = _nullishCoalesce(((_a = config.sqlite) == null ? void 0 : _a.backend), () => ( ((_b = config.test) == null ? void 0 : _b.sqliteBackend)));
|
|
722
867
|
if (config.runtime === "wasm" && sqliteBackend === "local") {
|
|
723
868
|
ctx.addIssue({
|
|
@@ -727,7 +872,7 @@ var RegistryConfigSchema = _zod.z.object({
|
|
|
727
872
|
});
|
|
728
873
|
}
|
|
729
874
|
const sqlite = config.runtime === "wasm" && config.sqlite === void 0 ? { backend: "remote" } : config.sqlite;
|
|
730
|
-
const parsedEndpoint = config.endpoint ?
|
|
875
|
+
const parsedEndpoint = config.endpoint ? _chunkZGPX6KAHcjs.tryParseEndpoint.call(void 0, ctx, {
|
|
731
876
|
endpoint: config.endpoint,
|
|
732
877
|
path: ["endpoint"],
|
|
733
878
|
namespace: config.namespace,
|
|
@@ -751,7 +896,7 @@ var RegistryConfigSchema = _zod.z.object({
|
|
|
751
896
|
);
|
|
752
897
|
const namespace = _nullishCoalesce(_nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.namespace), () => ( config.namespace)), () => ( "default"));
|
|
753
898
|
const token = _nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.token), () => ( config.token));
|
|
754
|
-
const parsedPublicEndpoint = config.serverless.publicEndpoint ?
|
|
899
|
+
const parsedPublicEndpoint = config.serverless.publicEndpoint ? _chunkZGPX6KAHcjs.tryParseEndpoint.call(void 0, ctx, {
|
|
755
900
|
endpoint: config.serverless.publicEndpoint,
|
|
756
901
|
path: ["serverless", "publicEndpoint"]
|
|
757
902
|
}) : void 0;
|
|
@@ -786,7 +931,7 @@ function buildActorNames(config) {
|
|
|
786
931
|
Object.keys(config.use).map((actorName) => {
|
|
787
932
|
const definition = config.use[actorName];
|
|
788
933
|
const options = _nullishCoalesce(definition.config.options, () => ( {}));
|
|
789
|
-
const runMeta =
|
|
934
|
+
const runMeta = _chunkSRNOPUC6cjs.getRunMetadata.call(void 0, definition.config.run);
|
|
790
935
|
const metadata = {};
|
|
791
936
|
metadata.icon = _nullishCoalesce(options.icon, () => ( runMeta.icon));
|
|
792
937
|
metadata.name = _nullishCoalesce(options.name, () => ( runMeta.name));
|
|
@@ -879,7 +1024,7 @@ var DocRegistryConfigSchema = _zod.z.object({
|
|
|
879
1024
|
noWelcome: _zod.z.boolean().optional().describe("Disable the welcome message on startup. Default: false"),
|
|
880
1025
|
sqlite: DocSqliteConfigSchema,
|
|
881
1026
|
logging: _zod.z.object({
|
|
882
|
-
level:
|
|
1027
|
+
level: _chunkX6HIFXNKcjs.LogLevelSchema.optional().describe(
|
|
883
1028
|
"Log level for RivetKit. Default: 'warn'"
|
|
884
1029
|
)
|
|
885
1030
|
}).optional().describe("Logging configuration."),
|
|
@@ -924,7 +1069,7 @@ function shouldAttachNativeKvError(message) {
|
|
|
924
1069
|
function enrichNativeDatabaseError(database, error) {
|
|
925
1070
|
var _a;
|
|
926
1071
|
const bridgeReason = typeof error === "string" ? error : error instanceof Error ? error.message : void 0;
|
|
927
|
-
const bridged = bridgeReason === void 0 ? void 0 :
|
|
1072
|
+
const bridged = bridgeReason === void 0 ? void 0 : _chunk63WNTDRCcjs.decodeBridgeRivetError.call(void 0, bridgeReason);
|
|
928
1073
|
if (bridged) {
|
|
929
1074
|
throw bridged;
|
|
930
1075
|
}
|
|
@@ -1154,6 +1299,29 @@ function lastInsertRowIdColumnName(sql) {
|
|
|
1154
1299
|
return alias;
|
|
1155
1300
|
}
|
|
1156
1301
|
|
|
1302
|
+
// src/registry/write-through-proxy.ts
|
|
1303
|
+
var _onchange = require('@rivetkit/on-change'); var _onchange2 = _interopRequireDefault(_onchange);
|
|
1304
|
+
function createWriteThroughProxy(value, commit, beforeChange) {
|
|
1305
|
+
if (!value || typeof value !== "object") {
|
|
1306
|
+
return value;
|
|
1307
|
+
}
|
|
1308
|
+
return _onchange2.default.call(void 0,
|
|
1309
|
+
value,
|
|
1310
|
+
() => {
|
|
1311
|
+
commit(value);
|
|
1312
|
+
},
|
|
1313
|
+
{
|
|
1314
|
+
// Rejection is throw-based: beforeChange throws to prevent the
|
|
1315
|
+
// mutation. We always return true so on-change applies the change
|
|
1316
|
+
// if beforeChange did not throw.
|
|
1317
|
+
onValidate(_path, newValue) {
|
|
1318
|
+
beforeChange == null ? void 0 : beforeChange(newValue);
|
|
1319
|
+
return true;
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
);
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1157
1325
|
// src/registry/runtime.ts
|
|
1158
1326
|
function normalizeRuntimeSqlExecuteResult(result) {
|
|
1159
1327
|
return result;
|
|
@@ -1274,32 +1442,15 @@ var NapiCoreRuntime = (_class = class {
|
|
|
1274
1442
|
async shutdownRegistry(registry) {
|
|
1275
1443
|
await asNativeRegistry(registry).shutdown();
|
|
1276
1444
|
}
|
|
1277
|
-
async
|
|
1278
|
-
|
|
1279
|
-
}
|
|
1280
|
-
async registryHealth(registry) {
|
|
1281
|
-
const response = await asNativeRegistry(registry).health();
|
|
1445
|
+
async registryDiagnostics(registry) {
|
|
1446
|
+
const diagnostics = await asNativeRegistry(registry).diagnostics();
|
|
1282
1447
|
return {
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
body: response.body
|
|
1448
|
+
mode: diagnostics.mode,
|
|
1449
|
+
envoyActiveActorCount: diagnostics.envoyActiveActorCount
|
|
1286
1450
|
};
|
|
1287
1451
|
}
|
|
1288
|
-
async
|
|
1289
|
-
|
|
1290
|
-
return {
|
|
1291
|
-
status: response.status,
|
|
1292
|
-
headers: response.headers,
|
|
1293
|
-
body: response.body
|
|
1294
|
-
};
|
|
1295
|
-
}
|
|
1296
|
-
async registryMetrics(registry) {
|
|
1297
|
-
const response = asNativeRegistry(registry).metrics();
|
|
1298
|
-
return {
|
|
1299
|
-
status: response.status,
|
|
1300
|
-
headers: response.headers,
|
|
1301
|
-
body: response.body
|
|
1302
|
-
};
|
|
1452
|
+
async registryActorStopThresholdMs(registry) {
|
|
1453
|
+
return await _asyncNullishCoalesce(await asNativeRegistry(registry).actorStopThresholdMs(), async () => ( void 0));
|
|
1303
1454
|
}
|
|
1304
1455
|
async handleServerlessRequest(registry, req, onStreamEvent, cancelToken, config) {
|
|
1305
1456
|
return await asNativeRegistry(registry).handleServerlessRequest(
|
|
@@ -1675,7 +1826,7 @@ function validateQueueComplete(schemas, name, response) {
|
|
|
1675
1826
|
return result.data;
|
|
1676
1827
|
}
|
|
1677
1828
|
function validationError(target, issues) {
|
|
1678
|
-
return new (0,
|
|
1829
|
+
return new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
1679
1830
|
"actor",
|
|
1680
1831
|
"validation_error",
|
|
1681
1832
|
`Invalid ${target}`,
|
|
@@ -1749,16 +1900,16 @@ function normalizeQueueMessage(message) {
|
|
|
1749
1900
|
}
|
|
1750
1901
|
function normalizeWasmBridgeError(error) {
|
|
1751
1902
|
if (typeof error === "string") {
|
|
1752
|
-
return _nullishCoalesce(
|
|
1903
|
+
return _nullishCoalesce(_chunk63WNTDRCcjs.decodeBridgeRivetError.call(void 0, error), () => ( error));
|
|
1753
1904
|
}
|
|
1754
1905
|
if (error instanceof Error) {
|
|
1755
|
-
const bridged =
|
|
1906
|
+
const bridged = _chunk63WNTDRCcjs.decodeBridgeRivetError.call(void 0, error.message);
|
|
1756
1907
|
if (bridged) {
|
|
1757
1908
|
return bridged;
|
|
1758
1909
|
}
|
|
1759
1910
|
}
|
|
1760
1911
|
if (typeof error === "object" && error !== null && "reason" in error && typeof error.reason === "string") {
|
|
1761
|
-
const bridged =
|
|
1912
|
+
const bridged = _chunk63WNTDRCcjs.decodeBridgeRivetError.call(void 0, error.reason);
|
|
1762
1913
|
if (bridged) {
|
|
1763
1914
|
return bridged;
|
|
1764
1915
|
}
|
|
@@ -1780,7 +1931,7 @@ function callWasmSync(invoke) {
|
|
|
1780
1931
|
}
|
|
1781
1932
|
}
|
|
1782
1933
|
function unsupportedWasmMethod(method2) {
|
|
1783
|
-
throw new (0,
|
|
1934
|
+
throw new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
1784
1935
|
"runtime",
|
|
1785
1936
|
"unsupported",
|
|
1786
1937
|
`Unsupported wasm runtime method: ${method2}`,
|
|
@@ -1841,18 +1992,8 @@ var WasmCoreRuntime = (_class2 = class {
|
|
|
1841
1992
|
async shutdownRegistry(registry) {
|
|
1842
1993
|
await callWasm(() => asWasmRegistry(registry).shutdown());
|
|
1843
1994
|
}
|
|
1844
|
-
async
|
|
1845
|
-
return {
|
|
1846
|
-
status: 200,
|
|
1847
|
-
headers: { "content-type": "application/json" },
|
|
1848
|
-
body: new TextEncoder().encode(
|
|
1849
|
-
JSON.stringify({
|
|
1850
|
-
status: "ok",
|
|
1851
|
-
runtime: "rivetkit",
|
|
1852
|
-
version: "wasm"
|
|
1853
|
-
})
|
|
1854
|
-
)
|
|
1855
|
-
};
|
|
1995
|
+
async registryDiagnostics() {
|
|
1996
|
+
return { mode: "wasm", envoyActiveActorCount: null };
|
|
1856
1997
|
}
|
|
1857
1998
|
async handleServerlessRequest(registry, req, onStreamEvent, cancelToken, config) {
|
|
1858
1999
|
return await callHandleAsync(
|
|
@@ -2281,7 +2422,7 @@ function loadedRuntimeKind(runtime) {
|
|
|
2281
2422
|
case "wasm":
|
|
2282
2423
|
return "wasm";
|
|
2283
2424
|
}
|
|
2284
|
-
throw new (0,
|
|
2425
|
+
throw new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
2285
2426
|
"config",
|
|
2286
2427
|
"unknown_runtime",
|
|
2287
2428
|
"RivetKit runtime must be NAPI or wasm.",
|
|
@@ -2321,7 +2462,7 @@ function normalizeRuntimeConfigForKind(config, runtimeKind) {
|
|
|
2321
2462
|
return config;
|
|
2322
2463
|
}
|
|
2323
2464
|
if (sqliteBackendForConfig(config) === "local") {
|
|
2324
|
-
throw new (0,
|
|
2465
|
+
throw new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
2325
2466
|
"config",
|
|
2326
2467
|
"wasm_local_sqlite",
|
|
2327
2468
|
"WebAssembly runtime cannot use local SQLite. Use remote SQLite instead.",
|
|
@@ -2387,22 +2528,30 @@ function getNativeConnPersistState(runtime, ctx, conn) {
|
|
|
2387
2528
|
return connState;
|
|
2388
2529
|
}
|
|
2389
2530
|
function stateMutationReentrantError() {
|
|
2390
|
-
return new (0,
|
|
2531
|
+
return new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
2391
2532
|
"actor",
|
|
2392
2533
|
"state_mutation_reentrant",
|
|
2393
2534
|
"State mutations are not allowed inside onStateChange."
|
|
2394
2535
|
);
|
|
2395
2536
|
}
|
|
2396
2537
|
function databaseNotConfiguredError() {
|
|
2397
|
-
return new (0,
|
|
2538
|
+
return new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
2398
2539
|
"actor",
|
|
2399
2540
|
"database_not_configured",
|
|
2400
2541
|
"database is not configured for this actor",
|
|
2401
2542
|
{ public: true }
|
|
2402
2543
|
);
|
|
2403
2544
|
}
|
|
2545
|
+
function databaseClientNotReadyError() {
|
|
2546
|
+
return new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
2547
|
+
"actor",
|
|
2548
|
+
"database_client_not_ready",
|
|
2549
|
+
"actor database client was not initialized before user code ran. this is an internal lifecycle error; the migration callback should have pre-warmed the client. file an issue if you can reproduce.",
|
|
2550
|
+
{ public: true }
|
|
2551
|
+
);
|
|
2552
|
+
}
|
|
2404
2553
|
function stateNotEnabledError() {
|
|
2405
|
-
return new (0,
|
|
2554
|
+
return new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
2406
2555
|
"actor",
|
|
2407
2556
|
"state_not_enabled",
|
|
2408
2557
|
"State not enabled. Must implement `createState` or `state` to use state. (https://www.rivet.dev/docs/actors/state/#initializing-state)",
|
|
@@ -2410,7 +2559,7 @@ function stateNotEnabledError() {
|
|
|
2410
2559
|
);
|
|
2411
2560
|
}
|
|
2412
2561
|
function nativeClientNotConfiguredError() {
|
|
2413
|
-
return new (0,
|
|
2562
|
+
return new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
2414
2563
|
"native",
|
|
2415
2564
|
"client_not_configured",
|
|
2416
2565
|
"native actor client is not configured",
|
|
@@ -2418,7 +2567,7 @@ function nativeClientNotConfiguredError() {
|
|
|
2418
2567
|
);
|
|
2419
2568
|
}
|
|
2420
2569
|
function nativeEndpointNotConfiguredError() {
|
|
2421
|
-
return new (0,
|
|
2570
|
+
return new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
2422
2571
|
"native",
|
|
2423
2572
|
"endpoint_not_configured",
|
|
2424
2573
|
"registry endpoint is required for native envoy startup",
|
|
@@ -2453,7 +2602,20 @@ function clearNativeRuntimeState(runtime, ctx) {
|
|
|
2453
2602
|
callNativeSync(() => runtime.actorClearRuntimeState(ctx));
|
|
2454
2603
|
}
|
|
2455
2604
|
async function cleanupNativeSleepRuntimeState(runtime, ctx) {
|
|
2456
|
-
|
|
2605
|
+
const waitStarted = Date.now();
|
|
2606
|
+
const drained = await runtime.actorWaitForTrackedShutdownWork(ctx);
|
|
2607
|
+
const waitMs = Date.now() - waitStarted;
|
|
2608
|
+
if (drained) {
|
|
2609
|
+
logger2().debug({
|
|
2610
|
+
msg: "sleep cleanup: tracked shutdown work drained",
|
|
2611
|
+
waitMs
|
|
2612
|
+
});
|
|
2613
|
+
} else {
|
|
2614
|
+
logger2().warn({
|
|
2615
|
+
msg: "sleep cleanup: shutdown deadline reached before tracked work drained; closing DB anyway",
|
|
2616
|
+
waitMs
|
|
2617
|
+
});
|
|
2618
|
+
}
|
|
2457
2619
|
await closeNativeDatabaseClient(runtime, ctx);
|
|
2458
2620
|
await closeNativeSqlDatabase(runtime, ctx);
|
|
2459
2621
|
clearNativeRuntimeState(runtime, ctx);
|
|
@@ -2558,10 +2720,10 @@ function decodeValue(value) {
|
|
|
2558
2720
|
if (!value || value.length === 0) {
|
|
2559
2721
|
return void 0;
|
|
2560
2722
|
}
|
|
2561
|
-
return
|
|
2723
|
+
return _chunkFEOG44WHcjs.decodeCborJsonCompat.call(void 0, value);
|
|
2562
2724
|
}
|
|
2563
2725
|
function encodeValue(value) {
|
|
2564
|
-
return
|
|
2726
|
+
return _chunkFEOG44WHcjs.encodeCborCompat.call(void 0, value);
|
|
2565
2727
|
}
|
|
2566
2728
|
function unwrapTsfnPayload(error, payload) {
|
|
2567
2729
|
if (error !== null && error !== void 0) {
|
|
@@ -2571,16 +2733,16 @@ function unwrapTsfnPayload(error, payload) {
|
|
|
2571
2733
|
}
|
|
2572
2734
|
function normalizeNativeBridgeError(error) {
|
|
2573
2735
|
if (typeof error === "string") {
|
|
2574
|
-
return _nullishCoalesce(
|
|
2736
|
+
return _nullishCoalesce(_chunk63WNTDRCcjs.decodeBridgeRivetError.call(void 0, error), () => ( error));
|
|
2575
2737
|
}
|
|
2576
2738
|
if (error instanceof Error) {
|
|
2577
|
-
const bridged =
|
|
2739
|
+
const bridged = _chunk63WNTDRCcjs.decodeBridgeRivetError.call(void 0, error.message);
|
|
2578
2740
|
if (bridged) {
|
|
2579
2741
|
return bridged;
|
|
2580
2742
|
}
|
|
2581
2743
|
}
|
|
2582
2744
|
if (typeof error === "object" && error !== null && "reason" in error && typeof error.reason === "string") {
|
|
2583
|
-
const bridged =
|
|
2745
|
+
const bridged = _chunk63WNTDRCcjs.decodeBridgeRivetError.call(void 0, error.reason);
|
|
2584
2746
|
if (bridged) {
|
|
2585
2747
|
return bridged;
|
|
2586
2748
|
}
|
|
@@ -2588,14 +2750,14 @@ function normalizeNativeBridgeError(error) {
|
|
|
2588
2750
|
return error;
|
|
2589
2751
|
}
|
|
2590
2752
|
function isStructuredBridgeError(error) {
|
|
2591
|
-
if (error instanceof
|
|
2753
|
+
if (error instanceof _chunk63WNTDRCcjs.RivetError) {
|
|
2592
2754
|
return true;
|
|
2593
2755
|
}
|
|
2594
|
-
return
|
|
2756
|
+
return _chunk63WNTDRCcjs.isRivetErrorLike.call(void 0, error) && "__type" in error && (error.__type === "RivetError" || error.__type === "ActorError");
|
|
2595
2757
|
}
|
|
2596
2758
|
function encodeNativeCallbackError(error) {
|
|
2597
|
-
const structuredError = isStructuredBridgeError(error) ? error :
|
|
2598
|
-
const bridgeError = new Error(
|
|
2759
|
+
const structuredError = isStructuredBridgeError(error) ? error : _chunkX6HIFXNKcjs.deconstructError.call(void 0, error, true);
|
|
2760
|
+
const bridgeError = new Error(_chunk63WNTDRCcjs.encodeBridgeRivetError.call(void 0, structuredError), {
|
|
2599
2761
|
cause: error instanceof Error ? error : void 0
|
|
2600
2762
|
});
|
|
2601
2763
|
return Object.assign(bridgeError, {
|
|
@@ -2625,9 +2787,9 @@ function actorAbortedError() {
|
|
|
2625
2787
|
});
|
|
2626
2788
|
}
|
|
2627
2789
|
function isClosedTaskRegistrationError(error) {
|
|
2628
|
-
const metadata = error instanceof
|
|
2790
|
+
const metadata = error instanceof _chunk63WNTDRCcjs.RivetError ? error.metadata : void 0;
|
|
2629
2791
|
const metadataError = metadata && typeof metadata === "object" && "error" in metadata ? metadata.error : void 0;
|
|
2630
|
-
return error instanceof
|
|
2792
|
+
return error instanceof _chunk63WNTDRCcjs.RivetError && error.group === "core" && error.code === _chunk63WNTDRCcjs.INTERNAL_ERROR_CODE && typeof metadataError === "string" && /actor task registration is (closed|not configured)/.test(metadataError);
|
|
2631
2793
|
}
|
|
2632
2794
|
async function createCancellationTokenHandle(runtime, signal) {
|
|
2633
2795
|
if (!signal) {
|
|
@@ -2650,7 +2812,7 @@ function decodeWorkflowCbor(data) {
|
|
|
2650
2812
|
return null;
|
|
2651
2813
|
}
|
|
2652
2814
|
try {
|
|
2653
|
-
return
|
|
2815
|
+
return _chunkFEOG44WHcjs.decodeCborCompat.call(void 0, new Uint8Array(data));
|
|
2654
2816
|
} catch (e3) {
|
|
2655
2817
|
return null;
|
|
2656
2818
|
}
|
|
@@ -2755,7 +2917,7 @@ function serializeWorkflowHistoryForJson(data) {
|
|
|
2755
2917
|
if (data === null) {
|
|
2756
2918
|
return null;
|
|
2757
2919
|
}
|
|
2758
|
-
const history =
|
|
2920
|
+
const history = _chunk55E7IR6Dcjs.decodeWorkflowHistoryTransport.call(void 0, data);
|
|
2759
2921
|
return {
|
|
2760
2922
|
nameRegistry: [...history.nameRegistry],
|
|
2761
2923
|
entries: history.entries.map((entry) => ({
|
|
@@ -2833,44 +2995,6 @@ function decodeArgs(value) {
|
|
|
2833
2995
|
const decoded = decodeValue(value);
|
|
2834
2996
|
return Array.isArray(decoded) ? decoded : decoded === void 0 ? [] : [decoded];
|
|
2835
2997
|
}
|
|
2836
|
-
function createWriteThroughProxy(value, commit, beforeChange) {
|
|
2837
|
-
if (!value || typeof value !== "object") {
|
|
2838
|
-
return value;
|
|
2839
|
-
}
|
|
2840
|
-
const proxies = /* @__PURE__ */ new WeakMap();
|
|
2841
|
-
const wrap = (target) => {
|
|
2842
|
-
const cached = proxies.get(target);
|
|
2843
|
-
if (cached) {
|
|
2844
|
-
return cached;
|
|
2845
|
-
}
|
|
2846
|
-
const proxy = new Proxy(target, {
|
|
2847
|
-
get(innerTarget, property, receiver) {
|
|
2848
|
-
const result = Reflect.get(innerTarget, property, receiver);
|
|
2849
|
-
return result && typeof result === "object" ? wrap(result) : result;
|
|
2850
|
-
},
|
|
2851
|
-
set(innerTarget, property, nextValue, receiver) {
|
|
2852
|
-
beforeChange == null ? void 0 : beforeChange();
|
|
2853
|
-
const updated = Reflect.set(
|
|
2854
|
-
innerTarget,
|
|
2855
|
-
property,
|
|
2856
|
-
nextValue,
|
|
2857
|
-
receiver
|
|
2858
|
-
);
|
|
2859
|
-
commit(value);
|
|
2860
|
-
return updated;
|
|
2861
|
-
},
|
|
2862
|
-
deleteProperty(innerTarget, property) {
|
|
2863
|
-
beforeChange == null ? void 0 : beforeChange();
|
|
2864
|
-
const updated = Reflect.deleteProperty(innerTarget, property);
|
|
2865
|
-
commit(value);
|
|
2866
|
-
return updated;
|
|
2867
|
-
}
|
|
2868
|
-
});
|
|
2869
|
-
proxies.set(target, proxy);
|
|
2870
|
-
return proxy;
|
|
2871
|
-
};
|
|
2872
|
-
return wrap(value);
|
|
2873
|
-
}
|
|
2874
2998
|
function buildRequest(init) {
|
|
2875
2999
|
const url = init.uri.startsWith("http") ? init.uri : new URL(init.uri, "http://127.0.0.1").toString();
|
|
2876
3000
|
const body = init.body && init.body.length > 0 ? runtimeBytesToArrayBuffer(init.body) : void 0;
|
|
@@ -2906,7 +3030,7 @@ var NativeConnAdapter = class {
|
|
|
2906
3030
|
this.#schemas = schemas;
|
|
2907
3031
|
this.#ctx = ctx;
|
|
2908
3032
|
this.#queueHibernationRemoval = queueHibernationRemoval;
|
|
2909
|
-
this[
|
|
3033
|
+
this[_chunkSRNOPUC6cjs.CONN_STATE_MANAGER_SYMBOL] = {
|
|
2910
3034
|
stateEnabled: true,
|
|
2911
3035
|
get state() {
|
|
2912
3036
|
return thisConn.state;
|
|
@@ -2923,13 +3047,19 @@ var NativeConnAdapter = class {
|
|
|
2923
3047
|
decodeValue(this.#runtime.connParams(this.#conn))
|
|
2924
3048
|
);
|
|
2925
3049
|
}
|
|
3050
|
+
[_chunkSRNOPUC6cjs.RAW_STATE_SYMBOL]() {
|
|
3051
|
+
return this.#readState();
|
|
3052
|
+
}
|
|
2926
3053
|
get state() {
|
|
2927
3054
|
const nextState = this.#readState();
|
|
2928
3055
|
return createWriteThroughProxy(nextState, (nextValue) => {
|
|
2929
3056
|
this.#writeState(nextValue, { writeNative: true });
|
|
3057
|
+
}, (newValue) => {
|
|
3058
|
+
_chunkFEOG44WHcjs.assertJsonCompatValue.call(void 0, newValue);
|
|
2930
3059
|
});
|
|
2931
3060
|
}
|
|
2932
3061
|
set state(value) {
|
|
3062
|
+
_chunkFEOG44WHcjs.assertJsonCompatValue.call(void 0, value);
|
|
2933
3063
|
this.#writeState(value, { writeNative: true });
|
|
2934
3064
|
}
|
|
2935
3065
|
initializeState(value) {
|
|
@@ -3219,7 +3349,7 @@ var NativeQueueAdapter = class {
|
|
|
3219
3349
|
async nextBatch(options) {
|
|
3220
3350
|
const completable = (options == null ? void 0 : options.completable) === true;
|
|
3221
3351
|
if (this.#pendingCompletableMessageIds.size > 0) {
|
|
3222
|
-
throw new (0,
|
|
3352
|
+
throw new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
3223
3353
|
"queue",
|
|
3224
3354
|
"previous_message_not_completed",
|
|
3225
3355
|
"Previous completable queue message is not completed. Call `message.complete(...)` before receiving the next message.",
|
|
@@ -3388,7 +3518,7 @@ var NativeQueueAdapter = class {
|
|
|
3388
3518
|
}
|
|
3389
3519
|
yield message;
|
|
3390
3520
|
} catch (error) {
|
|
3391
|
-
if (
|
|
3521
|
+
if (_chunk63WNTDRCcjs.isRivetErrorLike.call(void 0, error) && error.group === "actor" && error.code === "aborted") {
|
|
3392
3522
|
return;
|
|
3393
3523
|
}
|
|
3394
3524
|
throw error;
|
|
@@ -3409,7 +3539,7 @@ var NativeQueueAdapter = class {
|
|
|
3409
3539
|
...message,
|
|
3410
3540
|
complete: async (response) => {
|
|
3411
3541
|
if (typeof message.complete !== "function") {
|
|
3412
|
-
throw new (0,
|
|
3542
|
+
throw new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
3413
3543
|
"queue",
|
|
3414
3544
|
"complete_not_configured",
|
|
3415
3545
|
`Queue '${message.name}' does not support completion responses.`,
|
|
@@ -3421,7 +3551,7 @@ var NativeQueueAdapter = class {
|
|
|
3421
3551
|
);
|
|
3422
3552
|
}
|
|
3423
3553
|
if (completed) {
|
|
3424
|
-
throw new (0,
|
|
3554
|
+
throw new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
3425
3555
|
"queue",
|
|
3426
3556
|
"already_completed",
|
|
3427
3557
|
"Queue message was already completed.",
|
|
@@ -3753,6 +3883,70 @@ var TrackedWebSocketHandleAdapter = class {
|
|
|
3753
3883
|
return typeof value === "object" && value !== null && "then" in value && typeof value.then === "function";
|
|
3754
3884
|
}
|
|
3755
3885
|
};
|
|
3886
|
+
var NativeConnectionMap = (_class3 = class {
|
|
3887
|
+
#runtime;
|
|
3888
|
+
#ctx;
|
|
3889
|
+
#schemas;
|
|
3890
|
+
constructor(runtime, ctx, schemas) {;_class3.prototype.__init3.call(this);
|
|
3891
|
+
this.#runtime = runtime;
|
|
3892
|
+
this.#ctx = ctx;
|
|
3893
|
+
this.#schemas = schemas;
|
|
3894
|
+
}
|
|
3895
|
+
#connToAdapter(conn) {
|
|
3896
|
+
return new NativeConnAdapter(
|
|
3897
|
+
this.#runtime,
|
|
3898
|
+
conn,
|
|
3899
|
+
this.#schemas,
|
|
3900
|
+
this.#ctx,
|
|
3901
|
+
(connId) => callNativeSync(
|
|
3902
|
+
() => this.#runtime.actorQueueHibernationRemoval(
|
|
3903
|
+
this.#ctx,
|
|
3904
|
+
connId
|
|
3905
|
+
)
|
|
3906
|
+
)
|
|
3907
|
+
);
|
|
3908
|
+
}
|
|
3909
|
+
get size() {
|
|
3910
|
+
return callNativeSync(() => this.#runtime.actorConns(this.#ctx)).length;
|
|
3911
|
+
}
|
|
3912
|
+
get(key) {
|
|
3913
|
+
const conns = callNativeSync(() => this.#runtime.actorConns(this.#ctx));
|
|
3914
|
+
const conn = conns.find(
|
|
3915
|
+
(c) => this.#runtime.connId(c) === key
|
|
3916
|
+
);
|
|
3917
|
+
if (!conn) return void 0;
|
|
3918
|
+
return this.#connToAdapter(conn);
|
|
3919
|
+
}
|
|
3920
|
+
has(key) {
|
|
3921
|
+
const conns = callNativeSync(() => this.#runtime.actorConns(this.#ctx));
|
|
3922
|
+
return conns.some((c) => this.#runtime.connId(c) === key);
|
|
3923
|
+
}
|
|
3924
|
+
keys() {
|
|
3925
|
+
const conns = callNativeSync(() => this.#runtime.actorConns(this.#ctx));
|
|
3926
|
+
return conns.map((c) => this.#runtime.connId(c))[Symbol.iterator]();
|
|
3927
|
+
}
|
|
3928
|
+
values() {
|
|
3929
|
+
const conns = callNativeSync(() => this.#runtime.actorConns(this.#ctx));
|
|
3930
|
+
return conns.map((c) => this.#connToAdapter(c))[Symbol.iterator]();
|
|
3931
|
+
}
|
|
3932
|
+
entries() {
|
|
3933
|
+
const conns = callNativeSync(() => this.#runtime.actorConns(this.#ctx));
|
|
3934
|
+
return conns.map(
|
|
3935
|
+
(c) => [this.#runtime.connId(c), this.#connToAdapter(c)]
|
|
3936
|
+
)[Symbol.iterator]();
|
|
3937
|
+
}
|
|
3938
|
+
forEach(callback, thisArg) {
|
|
3939
|
+
const conns = callNativeSync(() => this.#runtime.actorConns(this.#ctx));
|
|
3940
|
+
for (const conn of conns) {
|
|
3941
|
+
const id = this.#runtime.connId(conn);
|
|
3942
|
+
callback.call(thisArg, this.#connToAdapter(conn), id, this);
|
|
3943
|
+
}
|
|
3944
|
+
}
|
|
3945
|
+
[Symbol.iterator]() {
|
|
3946
|
+
return this.entries();
|
|
3947
|
+
}
|
|
3948
|
+
__init3() {this[Symbol.toStringTag] = "NativeConnectionMap"}
|
|
3949
|
+
}, _class3);
|
|
3756
3950
|
var ActorContextHandleAdapter = class {
|
|
3757
3951
|
#runtime;
|
|
3758
3952
|
#ctx;
|
|
@@ -3761,9 +3955,9 @@ var ActorContextHandleAdapter = class {
|
|
|
3761
3955
|
#abortSignalCleanup;
|
|
3762
3956
|
#client;
|
|
3763
3957
|
#clientFactory;
|
|
3958
|
+
#connMap;
|
|
3764
3959
|
#databaseProvider;
|
|
3765
3960
|
#db;
|
|
3766
|
-
#dbProxy;
|
|
3767
3961
|
#dispatchCancelToken;
|
|
3768
3962
|
#kv;
|
|
3769
3963
|
#queue;
|
|
@@ -3786,7 +3980,7 @@ var ActorContextHandleAdapter = class {
|
|
|
3786
3980
|
this.#databaseProvider = databaseProvider;
|
|
3787
3981
|
}
|
|
3788
3982
|
this.#request = request;
|
|
3789
|
-
this[
|
|
3983
|
+
this[_chunkSRNOPUC6cjs.ACTOR_CONTEXT_INTERNAL_SYMBOL] = new NativeWorkflowRuntimeAdapter(
|
|
3790
3984
|
this
|
|
3791
3985
|
);
|
|
3792
3986
|
}
|
|
@@ -3806,30 +4000,22 @@ var ActorContextHandleAdapter = class {
|
|
|
3806
4000
|
if (!this.#databaseProvider) {
|
|
3807
4001
|
throw databaseNotConfiguredError();
|
|
3808
4002
|
}
|
|
3809
|
-
if (
|
|
3810
|
-
this.#
|
|
3811
|
-
{},
|
|
3812
|
-
{
|
|
3813
|
-
get: (_target, property) => {
|
|
3814
|
-
if (property === "then") {
|
|
3815
|
-
return void 0;
|
|
3816
|
-
}
|
|
3817
|
-
return async (...args) => {
|
|
3818
|
-
const client = await this.ensureDatabaseClient();
|
|
3819
|
-
const value = Reflect.get(
|
|
3820
|
-
client,
|
|
3821
|
-
property
|
|
3822
|
-
);
|
|
3823
|
-
if (typeof value !== "function") {
|
|
3824
|
-
return value;
|
|
3825
|
-
}
|
|
3826
|
-
return await value.apply(client, args);
|
|
3827
|
-
};
|
|
3828
|
-
}
|
|
3829
|
-
}
|
|
3830
|
-
);
|
|
4003
|
+
if (this.#db) {
|
|
4004
|
+
return this.#db;
|
|
3831
4005
|
}
|
|
3832
|
-
|
|
4006
|
+
const runtimeState = getNativeRuntimeState(this.#runtime, this.#ctx);
|
|
4007
|
+
const cachedClient = runtimeState.databaseClient;
|
|
4008
|
+
if (cachedClient) {
|
|
4009
|
+
this.#db = cachedClient.client;
|
|
4010
|
+
return this.#db;
|
|
4011
|
+
}
|
|
4012
|
+
throw databaseClientNotReadyError();
|
|
4013
|
+
}
|
|
4014
|
+
[_chunkSRNOPUC6cjs.RAW_STATE_SYMBOL]() {
|
|
4015
|
+
if (!this.#stateEnabled) {
|
|
4016
|
+
throw stateNotEnabledError();
|
|
4017
|
+
}
|
|
4018
|
+
return this.#readState();
|
|
3833
4019
|
}
|
|
3834
4020
|
get state() {
|
|
3835
4021
|
if (!this.#stateEnabled) {
|
|
@@ -3841,8 +4027,9 @@ var ActorContextHandleAdapter = class {
|
|
|
3841
4027
|
(nextValue) => {
|
|
3842
4028
|
this.#writeState(nextValue, { scheduleSave: true });
|
|
3843
4029
|
},
|
|
3844
|
-
() => {
|
|
4030
|
+
(newValue) => {
|
|
3845
4031
|
this.#assertCanMutateState();
|
|
4032
|
+
_chunkFEOG44WHcjs.assertJsonCompatValue.call(void 0, newValue);
|
|
3846
4033
|
}
|
|
3847
4034
|
);
|
|
3848
4035
|
}
|
|
@@ -3851,6 +4038,7 @@ var ActorContextHandleAdapter = class {
|
|
|
3851
4038
|
throw stateNotEnabledError();
|
|
3852
4039
|
}
|
|
3853
4040
|
this.#assertCanMutateState();
|
|
4041
|
+
_chunkFEOG44WHcjs.assertJsonCompatValue.call(void 0, value);
|
|
3854
4042
|
this.#writeState(value, { scheduleSave: true });
|
|
3855
4043
|
}
|
|
3856
4044
|
initializeState(value) {
|
|
@@ -3907,25 +4095,10 @@ var ActorContextHandleAdapter = class {
|
|
|
3907
4095
|
return callNativeSync(() => this.#runtime.actorRegion(this.#ctx));
|
|
3908
4096
|
}
|
|
3909
4097
|
get conns() {
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3914
|
-
new NativeConnAdapter(
|
|
3915
|
-
this.#runtime,
|
|
3916
|
-
conn,
|
|
3917
|
-
this.#schemas,
|
|
3918
|
-
this.#ctx,
|
|
3919
|
-
(connId) => callNativeSync(
|
|
3920
|
-
() => this.#runtime.actorQueueHibernationRemoval(
|
|
3921
|
-
this.#ctx,
|
|
3922
|
-
connId
|
|
3923
|
-
)
|
|
3924
|
-
)
|
|
3925
|
-
)
|
|
3926
|
-
]
|
|
3927
|
-
)
|
|
3928
|
-
);
|
|
4098
|
+
if (!this.#connMap) {
|
|
4099
|
+
this.#connMap = new NativeConnectionMap(this.#runtime, this.#ctx, this.#schemas);
|
|
4100
|
+
}
|
|
4101
|
+
return this.#connMap;
|
|
3929
4102
|
}
|
|
3930
4103
|
get log() {
|
|
3931
4104
|
return logger2();
|
|
@@ -4123,20 +4296,39 @@ var ActorContextHandleAdapter = class {
|
|
|
4123
4296
|
});
|
|
4124
4297
|
}
|
|
4125
4298
|
keepAwake(promise) {
|
|
4126
|
-
const
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
|
|
4299
|
+
const startedAt = Date.now();
|
|
4300
|
+
logger2().debug({
|
|
4301
|
+
msg: "keepAwake registered",
|
|
4302
|
+
at: startedAt
|
|
4303
|
+
});
|
|
4304
|
+
const trackedPromise = Promise.resolve(promise).then(
|
|
4305
|
+
() => {
|
|
4306
|
+
logger2().debug({
|
|
4307
|
+
msg: "keepAwake promise resolved",
|
|
4308
|
+
durationMs: Date.now() - startedAt
|
|
4309
|
+
});
|
|
4310
|
+
},
|
|
4311
|
+
(error) => {
|
|
4312
|
+
logger2().warn({
|
|
4313
|
+
msg: "keepAwake promise rejected",
|
|
4314
|
+
durationMs: Date.now() - startedAt,
|
|
4315
|
+
error: _chunkX6HIFXNKcjs.stringifyError.call(void 0, error)
|
|
4316
|
+
});
|
|
4317
|
+
}
|
|
4318
|
+
).then(() => null);
|
|
4132
4319
|
try {
|
|
4133
4320
|
callNativeSync(
|
|
4134
4321
|
() => this.#runtime.actorKeepAwake(this.#ctx, trackedPromise)
|
|
4135
4322
|
);
|
|
4136
4323
|
} catch (error) {
|
|
4137
|
-
if (
|
|
4138
|
-
|
|
4324
|
+
if (isClosedTaskRegistrationError(error)) {
|
|
4325
|
+
logger2().warn({
|
|
4326
|
+
msg: "keepAwake registration dropped (teardown already started); promise will not delay grace",
|
|
4327
|
+
error: _chunkX6HIFXNKcjs.stringifyError.call(void 0, error)
|
|
4328
|
+
});
|
|
4329
|
+
return promise;
|
|
4139
4330
|
}
|
|
4331
|
+
throw error;
|
|
4140
4332
|
}
|
|
4141
4333
|
return promise;
|
|
4142
4334
|
}
|
|
@@ -4485,9 +4677,9 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
4485
4677
|
const actionHandlers = Object.fromEntries(
|
|
4486
4678
|
Object.entries(_nullishCoalesce(config.actions, () => ( {}))).map(([name, handler]) => [name, handler])
|
|
4487
4679
|
);
|
|
4488
|
-
const createClient = () =>
|
|
4489
|
-
new (0,
|
|
4490
|
-
|
|
4680
|
+
const createClient = () => _chunkZGPX6KAHcjs.createClientWithDriver.call(void 0,
|
|
4681
|
+
new (0, _chunkZGPX6KAHcjs.RemoteEngineControlClient)(
|
|
4682
|
+
_chunkZGPX6KAHcjs.convertRegistryConfigToClientConfig.call(void 0, registryConfig)
|
|
4491
4683
|
),
|
|
4492
4684
|
{ encoding: "bare" }
|
|
4493
4685
|
);
|
|
@@ -4497,7 +4689,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
4497
4689
|
), () => ( false));
|
|
4498
4690
|
const getNativeWorkflowInspector = (ctx) => {
|
|
4499
4691
|
var _a2;
|
|
4500
|
-
return (_a2 =
|
|
4692
|
+
return (_a2 = _chunkSRNOPUC6cjs.getRunInspectorConfig.call(void 0,
|
|
4501
4693
|
config.run,
|
|
4502
4694
|
callNativeSync(() => runtime.actorId(ctx))
|
|
4503
4695
|
)) == null ? void 0 : _a2.workflow;
|
|
@@ -4550,7 +4742,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
4550
4742
|
}
|
|
4551
4743
|
});
|
|
4552
4744
|
const errorResponse = (error, status) => {
|
|
4553
|
-
const rivetError =
|
|
4745
|
+
const rivetError = _chunk63WNTDRCcjs.toRivetError.call(void 0, error);
|
|
4554
4746
|
return jsonResponse(
|
|
4555
4747
|
{
|
|
4556
4748
|
group: rivetError.group,
|
|
@@ -4660,6 +4852,10 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
4660
4852
|
isWorkflowEnabled: getNativeWorkflowInspector(ctx) !== void 0
|
|
4661
4853
|
});
|
|
4662
4854
|
} catch (error) {
|
|
4855
|
+
logger2().error({
|
|
4856
|
+
msg: "error replaying workflow history",
|
|
4857
|
+
error
|
|
4858
|
+
});
|
|
4663
4859
|
return errorResponse(error);
|
|
4664
4860
|
}
|
|
4665
4861
|
}
|
|
@@ -4791,7 +4987,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
4791
4987
|
const action = actionHandlers[actionName];
|
|
4792
4988
|
if (!action) {
|
|
4793
4989
|
return errorResponse(
|
|
4794
|
-
new (0,
|
|
4990
|
+
new (0, _chunk63WNTDRCcjs.RivetError)(
|
|
4795
4991
|
"action",
|
|
4796
4992
|
"action_not_found",
|
|
4797
4993
|
`Action ${actionName} not found`
|
|
@@ -4811,6 +5007,10 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
4811
5007
|
);
|
|
4812
5008
|
return jsonResponse({ output });
|
|
4813
5009
|
} catch (error) {
|
|
5010
|
+
logger2().error({
|
|
5011
|
+
msg: "Error handling inspector action request",
|
|
5012
|
+
error
|
|
5013
|
+
});
|
|
4814
5014
|
return errorResponse(error);
|
|
4815
5015
|
}
|
|
4816
5016
|
}
|
|
@@ -4824,6 +5024,10 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
4824
5024
|
{ status: 404 }
|
|
4825
5025
|
);
|
|
4826
5026
|
} catch (error) {
|
|
5027
|
+
logger2().error({
|
|
5028
|
+
msg: "Error handling inspector request",
|
|
5029
|
+
error
|
|
5030
|
+
});
|
|
4827
5031
|
return errorResponse(error);
|
|
4828
5032
|
} finally {
|
|
4829
5033
|
await actorCtx.dispose();
|
|
@@ -5128,7 +5332,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
5128
5332
|
);
|
|
5129
5333
|
}
|
|
5130
5334
|
if (!result) {
|
|
5131
|
-
throw
|
|
5335
|
+
throw _chunk63WNTDRCcjs.forbiddenError.call(void 0, );
|
|
5132
5336
|
}
|
|
5133
5337
|
} finally {
|
|
5134
5338
|
await actorCtx.dispose();
|
|
@@ -5174,7 +5378,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
5174
5378
|
new Response(null, { status: 404 })
|
|
5175
5379
|
);
|
|
5176
5380
|
}
|
|
5177
|
-
const rawConnParams = jsRequest.headers.get(
|
|
5381
|
+
const rawConnParams = jsRequest.headers.get(_chunkZGPX6KAHcjs.HEADER_CONN_PARAMS);
|
|
5178
5382
|
let requestCtx;
|
|
5179
5383
|
let conn;
|
|
5180
5384
|
try {
|
|
@@ -5239,7 +5443,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
5239
5443
|
}
|
|
5240
5444
|
) : void 0,
|
|
5241
5445
|
run: (() => {
|
|
5242
|
-
const run =
|
|
5446
|
+
const run = _chunkSRNOPUC6cjs.getRunFunction.call(void 0, config.run);
|
|
5243
5447
|
if (!run) {
|
|
5244
5448
|
return void 0;
|
|
5245
5449
|
}
|
|
@@ -5258,7 +5462,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
5258
5462
|
}
|
|
5259
5463
|
);
|
|
5260
5464
|
})(),
|
|
5261
|
-
getWorkflowHistory:
|
|
5465
|
+
getWorkflowHistory: _chunkSRNOPUC6cjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
|
|
5262
5466
|
async (error, payload) => {
|
|
5263
5467
|
var _a2;
|
|
5264
5468
|
const { ctx } = unwrapTsfnPayload(error, payload);
|
|
@@ -5266,7 +5470,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
5266
5470
|
return history == null ? void 0 : encodeValue(history);
|
|
5267
5471
|
}
|
|
5268
5472
|
) : void 0,
|
|
5269
|
-
replayWorkflow:
|
|
5473
|
+
replayWorkflow: _chunkSRNOPUC6cjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
|
|
5270
5474
|
async (error, payload) => {
|
|
5271
5475
|
const { ctx, entryId } = unwrapTsfnPayload(
|
|
5272
5476
|
error,
|
|
@@ -5341,7 +5545,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
|
|
|
5341
5545
|
name
|
|
5342
5546
|
);
|
|
5343
5547
|
if (canPublish && !await canPublish(actorCtx)) {
|
|
5344
|
-
throw
|
|
5548
|
+
throw _chunk63WNTDRCcjs.forbiddenError.call(void 0, );
|
|
5345
5549
|
}
|
|
5346
5550
|
const decodedBody = decodeValue(body);
|
|
5347
5551
|
if (wait) {
|
|
@@ -5401,7 +5605,7 @@ async function buildServeConfig(config) {
|
|
|
5401
5605
|
poolName: config.envoy.poolName,
|
|
5402
5606
|
handleInspectorHttpInRuntime: true,
|
|
5403
5607
|
serverlessBasePath: config.serverless.basePath,
|
|
5404
|
-
serverlessPackageVersion:
|
|
5608
|
+
serverlessPackageVersion: _chunkX6HIFXNKcjs.VERSION,
|
|
5405
5609
|
serverlessClientEndpoint: config.publicEndpoint,
|
|
5406
5610
|
serverlessClientNamespace: config.publicNamespace,
|
|
5407
5611
|
serverlessClientToken: config.publicToken,
|
|
@@ -5413,13 +5617,13 @@ async function buildServeConfig(config) {
|
|
|
5413
5617
|
serveConfig.engineBinaryPath = getEnginePath();
|
|
5414
5618
|
}
|
|
5415
5619
|
if ((_a = config.test) == null ? void 0 : _a.enabled) {
|
|
5416
|
-
serveConfig.inspectorTestToken = _nullishCoalesce(
|
|
5620
|
+
serveConfig.inspectorTestToken = _nullishCoalesce(_chunkX6HIFXNKcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN"), () => ( "token"));
|
|
5417
5621
|
}
|
|
5418
5622
|
return serveConfig;
|
|
5419
5623
|
}
|
|
5420
5624
|
async function buildRegistryWithRuntime(config, runtime) {
|
|
5421
5625
|
var _a;
|
|
5422
|
-
if (((_a = config.test) == null ? void 0 : _a.enabled) &&
|
|
5626
|
+
if (((_a = config.test) == null ? void 0 : _a.enabled) && _chunkX6HIFXNKcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN") === void 0) {
|
|
5423
5627
|
trySetProcessEnv("_RIVET_TEST_INSPECTOR_TOKEN", "token");
|
|
5424
5628
|
}
|
|
5425
5629
|
const registry = runtime.createRegistry();
|
|
@@ -5438,6 +5642,10 @@ async function buildRegistryWithRuntime(config, runtime) {
|
|
|
5438
5642
|
}
|
|
5439
5643
|
async function buildConfiguredRegistry(config) {
|
|
5440
5644
|
const runtime = await loadConfiguredRuntime(config);
|
|
5645
|
+
if (runtime.kind === "napi") {
|
|
5646
|
+
const { startProcessMetrics } = await Promise.resolve().then(() => _interopRequireWildcard(require("./process-metrics-TYAGKCEJ.cjs")));
|
|
5647
|
+
startProcessMetrics();
|
|
5648
|
+
}
|
|
5441
5649
|
return buildRegistryWithRuntime(
|
|
5442
5650
|
normalizeRuntimeConfig(config, runtime),
|
|
5443
5651
|
runtime
|
|
@@ -5461,7 +5669,6 @@ function finishShutdownSignal(signal) {
|
|
|
5461
5669
|
}
|
|
5462
5670
|
var Registry = class {
|
|
5463
5671
|
#config;
|
|
5464
|
-
|
|
5465
5672
|
get config() {
|
|
5466
5673
|
return this.#config;
|
|
5467
5674
|
}
|
|
@@ -5478,11 +5685,6 @@ var Registry = class {
|
|
|
5478
5685
|
#signalHandlers = {};
|
|
5479
5686
|
constructor(config) {
|
|
5480
5687
|
this.#config = config;
|
|
5481
|
-
this.routes = {
|
|
5482
|
-
health: () => this.#healthRoute(),
|
|
5483
|
-
metadata: () => this.#metadataRoute(),
|
|
5484
|
-
prometheusMetrics: (request) => this.#prometheusMetricsRoute(request)
|
|
5485
|
-
};
|
|
5486
5688
|
}
|
|
5487
5689
|
#ensureServerlessPoolConfigured(config) {
|
|
5488
5690
|
if (!config.configurePool) return void 0;
|
|
@@ -5676,88 +5878,46 @@ var Registry = class {
|
|
|
5676
5878
|
};
|
|
5677
5879
|
}
|
|
5678
5880
|
/**
|
|
5679
|
-
*
|
|
5680
|
-
|
|
5681
|
-
|
|
5682
|
-
|
|
5683
|
-
|
|
5684
|
-
|
|
5685
|
-
|
|
5686
|
-
|
|
5687
|
-
|
|
5688
|
-
|
|
5689
|
-
|
|
5690
|
-
|
|
5691
|
-
|
|
5692
|
-
return jsonRouteResponse(501, {
|
|
5693
|
-
status: "unsupported",
|
|
5694
|
-
runtime: "rivetkit",
|
|
5695
|
-
version: _chunkK5BA2LEOcjs.VERSION
|
|
5696
|
-
});
|
|
5697
|
-
}
|
|
5698
|
-
const response = await runtime.registryHealth(registry);
|
|
5699
|
-
return new Response(new Uint8Array(response.body), {
|
|
5700
|
-
status: response.status,
|
|
5701
|
-
headers: response.headers
|
|
5702
|
-
});
|
|
5703
|
-
}
|
|
5704
|
-
/**
|
|
5705
|
-
* Returns serverless metadata suitable for mounting in a user-owned router.
|
|
5706
|
-
*/
|
|
5707
|
-
async #metadataRoute() {
|
|
5708
|
-
const configured = await this.#activeConfiguredRegistry();
|
|
5709
|
-
if (!configured) {
|
|
5710
|
-
return new Response("registry not started\n", {
|
|
5711
|
-
status: 503,
|
|
5712
|
-
headers: { "content-type": "text/plain; charset=utf-8" }
|
|
5713
|
-
});
|
|
5714
|
-
}
|
|
5715
|
-
const { runtime, registry } = configured;
|
|
5716
|
-
if (!runtime.registryMetadata) {
|
|
5717
|
-
return new Response("metadata is not supported by this runtime\n", {
|
|
5718
|
-
status: 501,
|
|
5719
|
-
headers: { "content-type": "text/plain; charset=utf-8" }
|
|
5720
|
-
});
|
|
5721
|
-
}
|
|
5722
|
-
const response = await runtime.registryMetadata(registry);
|
|
5723
|
-
return new Response(new Uint8Array(response.body), {
|
|
5724
|
-
status: response.status,
|
|
5725
|
-
headers: response.headers
|
|
5726
|
-
});
|
|
5727
|
-
}
|
|
5728
|
-
/**
|
|
5729
|
-
* Returns a Prometheus metrics response suitable for mounting in a user-owned router.
|
|
5881
|
+
* Starts an HTTP server that dispatches every request through the
|
|
5882
|
+
* serverless handler. Uses `crossPlatformServe` to pick the right
|
|
5883
|
+
* runtime (Node, Bun, Deno).
|
|
5884
|
+
*
|
|
5885
|
+
* @param opts.port Port to listen on. Defaults to 3000.
|
|
5886
|
+
* @param opts.publicDir If set, serves static files from this directory
|
|
5887
|
+
* before falling through to the registry handler.
|
|
5888
|
+
*
|
|
5889
|
+
* @example
|
|
5890
|
+
* ```ts
|
|
5891
|
+
* await registry.listen();
|
|
5892
|
+
* await registry.listen({ port: 8080, publicDir: "./public" });
|
|
5893
|
+
* ```
|
|
5730
5894
|
*/
|
|
5731
|
-
async
|
|
5732
|
-
const
|
|
5733
|
-
|
|
5734
|
-
|
|
5735
|
-
|
|
5736
|
-
|
|
5737
|
-
|
|
5738
|
-
|
|
5739
|
-
const { runtime, registry } = configured;
|
|
5740
|
-
if (!runtime.registryMetrics) {
|
|
5741
|
-
return new Response("metrics are not supported by this runtime\n", {
|
|
5742
|
-
status: 501,
|
|
5743
|
-
headers: { "content-type": "text/plain; charset=utf-8" }
|
|
5744
|
-
});
|
|
5895
|
+
async listen(opts = {}) {
|
|
5896
|
+
const port = _nullishCoalesce(opts.port, () => ( 3e3));
|
|
5897
|
+
const config = this.parseConfig();
|
|
5898
|
+
const runtime = _chunkX6HIFXNKcjs.detectRuntime.call(void 0, );
|
|
5899
|
+
const app = new (0, _hono.Hono)();
|
|
5900
|
+
if (opts.publicDir) {
|
|
5901
|
+
const serveStatic = await loadRuntimeServeStatic(runtime);
|
|
5902
|
+
app.use("*", serveStatic({ root: opts.publicDir }));
|
|
5745
5903
|
}
|
|
5746
|
-
|
|
5747
|
-
|
|
5748
|
-
status: response.status,
|
|
5749
|
-
headers: response.headers
|
|
5750
|
-
});
|
|
5904
|
+
app.all("*", (c) => this.handler(c.req.raw));
|
|
5905
|
+
await crossPlatformServe(config, port, app, runtime);
|
|
5751
5906
|
}
|
|
5752
|
-
async
|
|
5907
|
+
async diagnostics() {
|
|
5908
|
+
var _a;
|
|
5753
5909
|
const candidates = [
|
|
5754
5910
|
this.#runtimeServerlessPromise,
|
|
5755
5911
|
this.#runtimeServeConfiguredPromise
|
|
5756
5912
|
].filter(
|
|
5757
5913
|
(candidate) => candidate !== void 0
|
|
5758
5914
|
);
|
|
5759
|
-
|
|
5760
|
-
|
|
5915
|
+
for (const candidate of candidates) {
|
|
5916
|
+
const { runtime, registry } = await candidate;
|
|
5917
|
+
const diagnostics = await ((_a = runtime.registryDiagnostics) == null ? void 0 : _a.call(runtime, registry));
|
|
5918
|
+
if (diagnostics) return diagnostics;
|
|
5919
|
+
}
|
|
5920
|
+
return { mode: "not_started", envoyActiveActorCount: null };
|
|
5761
5921
|
}
|
|
5762
5922
|
/**
|
|
5763
5923
|
* Starts an actor envoy for standalone server deployments.
|
|
@@ -5768,8 +5928,8 @@ var Registry = class {
|
|
|
5768
5928
|
this.#runtimeServeConfiguredPromise = configuredRegistryPromise;
|
|
5769
5929
|
this.#runtimeServePromise = configuredRegistryPromise.then(async ({ runtime, registry, serveConfig }) => {
|
|
5770
5930
|
await runtime.serveRegistry(registry, serveConfig);
|
|
5771
|
-
}).catch((
|
|
5772
|
-
logger2().warn({
|
|
5931
|
+
}).catch((error) => {
|
|
5932
|
+
logger2().warn({ error }, "runtime registry serve errored");
|
|
5773
5933
|
});
|
|
5774
5934
|
this.#installSignalHandlers(config, configuredRegistryPromise);
|
|
5775
5935
|
}
|
|
@@ -5807,8 +5967,8 @@ var Registry = class {
|
|
|
5807
5967
|
signal,
|
|
5808
5968
|
config,
|
|
5809
5969
|
configuredRegistryPromise
|
|
5810
|
-
).catch((
|
|
5811
|
-
logger2().warn({
|
|
5970
|
+
).catch((error) => {
|
|
5971
|
+
logger2().warn({ error }, "shutdown error");
|
|
5812
5972
|
});
|
|
5813
5973
|
}
|
|
5814
5974
|
async #runShutdown(signal, config, configuredRegistryPromise) {
|
|
@@ -5820,9 +5980,9 @@ var Registry = class {
|
|
|
5820
5980
|
try {
|
|
5821
5981
|
const { runtime, registry } = await configuredRegistryPromise;
|
|
5822
5982
|
await runtime.shutdownRegistry(registry);
|
|
5823
|
-
} catch (
|
|
5983
|
+
} catch (error) {
|
|
5824
5984
|
logger2().warn(
|
|
5825
|
-
{
|
|
5985
|
+
{ error },
|
|
5826
5986
|
"runtime registry shutdown errored (mode A)"
|
|
5827
5987
|
);
|
|
5828
5988
|
}
|
|
@@ -5837,7 +5997,7 @@ var Registry = class {
|
|
|
5837
5997
|
await runtime.shutdownRegistry(registry);
|
|
5838
5998
|
} catch (err) {
|
|
5839
5999
|
logger2().warn(
|
|
5840
|
-
{ err },
|
|
6000
|
+
{ error: err },
|
|
5841
6001
|
"runtime registry shutdown errored (mode B)"
|
|
5842
6002
|
);
|
|
5843
6003
|
}
|
|
@@ -5911,7 +6071,7 @@ var Registry = class {
|
|
|
5911
6071
|
};
|
|
5912
6072
|
console.log();
|
|
5913
6073
|
console.log(
|
|
5914
|
-
` RivetKit ${
|
|
6074
|
+
` RivetKit ${_chunkX6HIFXNKcjs.VERSION} (Engine - ${kind === "serverless" ? "Serverless" : "Serverful"})`
|
|
5915
6075
|
);
|
|
5916
6076
|
if (config.namespace !== "default") {
|
|
5917
6077
|
logLine("Namespace", config.namespace);
|
|
@@ -5939,12 +6099,6 @@ function isServerlessMetadataRequest(request, basePath) {
|
|
|
5939
6099
|
const normalizedBase = basePath === "/" ? "" : `/${basePath.replace(/^\/+|\/+$/g, "")}`;
|
|
5940
6100
|
return parsed.pathname === `${normalizedBase}/metadata`;
|
|
5941
6101
|
}
|
|
5942
|
-
function jsonRouteResponse(status, body) {
|
|
5943
|
-
return new Response(JSON.stringify(body), {
|
|
5944
|
-
status,
|
|
5945
|
-
headers: { "content-type": "application/json" }
|
|
5946
|
-
});
|
|
5947
|
-
}
|
|
5948
6102
|
function setup(input) {
|
|
5949
6103
|
return new Registry(input);
|
|
5950
6104
|
}
|
|
@@ -5979,5 +6133,5 @@ function setup(input) {
|
|
|
5979
6133
|
|
|
5980
6134
|
|
|
5981
6135
|
|
|
5982
|
-
exports.ALLOWED_PUBLIC_HEADERS =
|
|
6136
|
+
exports.ALLOWED_PUBLIC_HEADERS = _chunkZGPX6KAHcjs.ALLOWED_PUBLIC_HEADERS; exports.ActorDefinition = ActorDefinition; exports.ActorError = _chunk63WNTDRCcjs.RivetError; exports.ActorsSchema = ActorsSchema; exports.DocConfigurePoolSchema = DocConfigurePoolSchema; exports.DocEnvoyConfigSchema = DocEnvoyConfigSchema; exports.DocRegistryConfigSchema = DocRegistryConfigSchema; exports.DocServerlessConfigSchema = DocServerlessConfigSchema; exports.DocSqliteConfigSchema = DocSqliteConfigSchema; exports.InlineWebSocketAdapter = InlineWebSocketAdapter; exports.Registry = Registry; exports.RegistryConfigSchema = RegistryConfigSchema; exports.RivetError = _chunk63WNTDRCcjs.RivetError; exports.RuntimeKindSchema = RuntimeKindSchema; exports.SqliteBackendSchema = SqliteBackendSchema; exports.SqliteConfigSchema = SqliteConfigSchema; exports.TestConfigSchema = TestConfigSchema; exports.UserError = _chunk63WNTDRCcjs.UserError; exports.WasmRuntimeConfigSchema = WasmRuntimeConfigSchema; exports.actor = actor; exports.buildActorNames = buildActorNames; exports.createClientWithDriver = _chunkZGPX6KAHcjs.createClientWithDriver; exports.event = event; exports.isStaticActorDefinition = isStaticActorDefinition; exports.isStaticActorInstance = isStaticActorInstance; exports.lookupInRegistry = lookupInRegistry; exports.noopNext = _chunkX6HIFXNKcjs.noopNext; exports.queue = queue; exports.setup = setup; exports.toUint8Array = _chunkX6HIFXNKcjs.toUint8Array;
|
|
5983
6137
|
//# sourceMappingURL=mod.cjs.map
|