rivetkit 2.0.13 → 2.0.15
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/actor/errors.cjs +2 -2
- package/dist/tsup/actor/errors.d.cts +0 -8
- package/dist/tsup/actor/errors.d.ts +0 -8
- package/dist/tsup/actor/errors.js +1 -1
- package/dist/tsup/{chunk-W5AMA5MD.js → chunk-7MDKUHE4.js} +147 -145
- package/dist/tsup/chunk-7MDKUHE4.js.map +1 -0
- package/dist/tsup/{chunk-QLCMNNEA.js → chunk-AMLE3HUH.js} +2 -2
- package/dist/tsup/{chunk-QVMIMEYZ.cjs → chunk-BPQTS4VW.cjs} +274 -272
- package/dist/tsup/chunk-BPQTS4VW.cjs.map +1 -0
- package/dist/tsup/{chunk-SDB3B7ZO.js → chunk-BTEDNZSI.js} +2 -2
- package/dist/tsup/{chunk-2ALBSAT7.cjs → chunk-C66P3AU6.cjs} +10 -10
- package/dist/tsup/{chunk-2ALBSAT7.cjs.map → chunk-C66P3AU6.cjs.map} +1 -1
- package/dist/tsup/{chunk-HASQHAZF.cjs → chunk-CJJW2HVJ.cjs} +12 -12
- package/dist/tsup/{chunk-HASQHAZF.cjs.map → chunk-CJJW2HVJ.cjs.map} +1 -1
- package/dist/tsup/{chunk-XW5IS7NH.js → chunk-FUF4YPTZ.js} +2 -2
- package/dist/tsup/{chunk-YPZFLUO6.js → chunk-G64QUEDJ.js} +1 -11
- package/dist/tsup/chunk-G64QUEDJ.js.map +1 -0
- package/dist/tsup/{chunk-Y5JPI3EV.js → chunk-HMGH3AWC.js} +8 -6
- package/dist/tsup/chunk-HMGH3AWC.js.map +1 -0
- package/dist/tsup/{chunk-E7CPGIQE.js → chunk-IESTGXF3.js} +3 -3
- package/dist/tsup/{chunk-5QGQK44L.cjs → chunk-KSRXX3Z4.cjs} +1 -11
- package/dist/tsup/chunk-KSRXX3Z4.cjs.map +1 -0
- package/dist/tsup/{chunk-5VER7GR2.cjs → chunk-NRYLXYDB.cjs} +6 -6
- package/dist/tsup/{chunk-5VER7GR2.cjs.map → chunk-NRYLXYDB.cjs.map} +1 -1
- package/dist/tsup/{chunk-PL46WM3W.cjs → chunk-PBAZ6FDY.cjs} +3 -3
- package/dist/tsup/{chunk-PL46WM3W.cjs.map → chunk-PBAZ6FDY.cjs.map} +1 -1
- package/dist/tsup/{chunk-V4GFUBOJ.cjs → chunk-QLIJ6I3M.cjs} +3 -3
- package/dist/tsup/{chunk-V4GFUBOJ.cjs.map → chunk-QLIJ6I3M.cjs.map} +1 -1
- package/dist/tsup/{chunk-HBRZOISM.cjs → chunk-RQRDBVMA.cjs} +8 -8
- package/dist/tsup/{chunk-HBRZOISM.cjs.map → chunk-RQRDBVMA.cjs.map} +1 -1
- package/dist/tsup/{chunk-PKH3YCMG.cjs → chunk-T7MZMA5D.cjs} +17 -13
- package/dist/tsup/chunk-T7MZMA5D.cjs.map +1 -0
- package/dist/tsup/{chunk-WFADCZPK.js → chunk-TD5RNAZU.js} +2 -2
- package/dist/tsup/{chunk-W76ULFDH.js → chunk-U7ZDMHVJ.js} +104 -17
- package/dist/tsup/chunk-U7ZDMHVJ.js.map +1 -0
- package/dist/tsup/{chunk-IZKFTUF7.js → chunk-UBBJE54L.js} +3 -3
- package/dist/tsup/{chunk-IZKFTUF7.js.map → chunk-UBBJE54L.js.map} +1 -1
- package/dist/tsup/{chunk-QBDLQRFN.cjs → chunk-UWGWDHYS.cjs} +321 -234
- package/dist/tsup/{chunk-W76ULFDH.js.map → chunk-UWGWDHYS.cjs.map} +1 -1
- package/dist/tsup/{chunk-4LAWCEKE.cjs → chunk-WMEMX7ND.cjs} +7 -7
- package/dist/tsup/{chunk-4LAWCEKE.cjs.map → chunk-WMEMX7ND.cjs.map} +1 -1
- package/dist/tsup/{chunk-T33JFOMB.cjs → chunk-XR6ZIZEK.cjs} +34 -32
- package/dist/tsup/chunk-XR6ZIZEK.cjs.map +1 -0
- package/dist/tsup/{chunk-YCQL4TJR.js → chunk-YAUIBXG3.js} +4 -4
- package/dist/tsup/{chunk-CL67HHVB.js → chunk-ZT77CQXR.js} +11 -7
- package/dist/tsup/chunk-ZT77CQXR.js.map +1 -0
- package/dist/tsup/client/mod.cjs +10 -10
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +9 -9
- package/dist/tsup/common/log.cjs +4 -4
- package/dist/tsup/common/log.js +3 -3
- package/dist/tsup/common/websocket.cjs +5 -5
- package/dist/tsup/common/websocket.js +4 -4
- package/dist/tsup/{conn-Cc9WHuN4.d.cts → conn-CxCsTz2s.d.cts} +27 -24
- package/dist/tsup/{conn-DfPG71FA.d.ts → conn-DhdZYlSX.d.ts} +27 -24
- package/dist/tsup/driver-helpers/mod.cjs +6 -6
- package/dist/tsup/driver-helpers/mod.d.cts +1 -1
- package/dist/tsup/driver-helpers/mod.d.ts +1 -1
- package/dist/tsup/driver-helpers/mod.js +5 -5
- package/dist/tsup/driver-test-suite/mod.cjs +77 -73
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +1 -1
- package/dist/tsup/driver-test-suite/mod.d.ts +1 -1
- package/dist/tsup/driver-test-suite/mod.js +17 -13
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/inspector/mod.cjs +7 -7
- package/dist/tsup/inspector/mod.d.cts +2 -2
- package/dist/tsup/inspector/mod.d.ts +2 -2
- package/dist/tsup/inspector/mod.js +6 -6
- package/dist/tsup/mod.cjs +11 -11
- package/dist/tsup/mod.d.cts +2 -2
- package/dist/tsup/mod.d.ts +2 -2
- package/dist/tsup/mod.js +10 -10
- package/dist/tsup/test/mod.cjs +12 -12
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +11 -11
- package/dist/tsup/utils.cjs +3 -3
- package/dist/tsup/utils.js +2 -2
- package/package.json +1 -1
- package/src/actor/errors.ts +0 -11
- package/src/client/client.ts +4 -8
- package/src/client/config.ts +3 -0
- package/src/client/utils.ts +8 -3
- package/src/common/router.ts +60 -1
- package/src/driver-test-suite/mod.ts +5 -1
- package/src/drivers/default.ts +5 -7
- package/src/drivers/engine/actor-driver.ts +18 -17
- package/src/drivers/file-system/manager.ts +5 -1
- package/src/manager/router.ts +13 -15
- package/src/registry/config.ts +8 -0
- package/src/registry/mod.ts +32 -48
- package/src/remote-manager-driver/api-endpoints.ts +50 -0
- package/src/remote-manager-driver/mod.ts +104 -1
- package/src/test/mod.ts +5 -1
- package/dist/tsup/chunk-5QGQK44L.cjs.map +0 -1
- package/dist/tsup/chunk-CL67HHVB.js.map +0 -1
- package/dist/tsup/chunk-PKH3YCMG.cjs.map +0 -1
- package/dist/tsup/chunk-QBDLQRFN.cjs.map +0 -1
- package/dist/tsup/chunk-QVMIMEYZ.cjs.map +0 -1
- package/dist/tsup/chunk-T33JFOMB.cjs.map +0 -1
- package/dist/tsup/chunk-W5AMA5MD.js.map +0 -1
- package/dist/tsup/chunk-Y5JPI3EV.js.map +0 -1
- package/dist/tsup/chunk-YPZFLUO6.js.map +0 -1
- /package/dist/tsup/{chunk-QLCMNNEA.js.map → chunk-AMLE3HUH.js.map} +0 -0
- /package/dist/tsup/{chunk-SDB3B7ZO.js.map → chunk-BTEDNZSI.js.map} +0 -0
- /package/dist/tsup/{chunk-XW5IS7NH.js.map → chunk-FUF4YPTZ.js.map} +0 -0
- /package/dist/tsup/{chunk-E7CPGIQE.js.map → chunk-IESTGXF3.js.map} +0 -0
- /package/dist/tsup/{chunk-WFADCZPK.js.map → chunk-TD5RNAZU.js.map} +0 -0
- /package/dist/tsup/{chunk-YCQL4TJR.js.map → chunk-YAUIBXG3.js.map} +0 -0
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _chunkKSRXX3Z4cjs = require('../chunk-KSRXX3Z4.cjs');
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
|
|
@@ -73,5 +73,5 @@ var _chunk5QGQK44Lcjs = require('../chunk-5QGQK44L.cjs');
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
exports.ActionNotFound =
|
|
76
|
+
exports.ActionNotFound = _chunkKSRXX3Z4cjs.ActionNotFound; exports.ActionTimedOut = _chunkKSRXX3Z4cjs.ActionTimedOut; exports.ActorAlreadyExists = _chunkKSRXX3Z4cjs.ActorAlreadyExists; exports.ActorError = _chunkKSRXX3Z4cjs.ActorError; exports.ActorNotFound = _chunkKSRXX3Z4cjs.ActorNotFound; exports.ConnNotFound = _chunkKSRXX3Z4cjs.ConnNotFound; exports.ConnStateNotEnabled = _chunkKSRXX3Z4cjs.ConnStateNotEnabled; exports.DatabaseNotEnabled = _chunkKSRXX3Z4cjs.DatabaseNotEnabled; exports.FeatureNotImplemented = _chunkKSRXX3Z4cjs.FeatureNotImplemented; exports.FetchHandlerNotDefined = _chunkKSRXX3Z4cjs.FetchHandlerNotDefined; exports.Forbidden = _chunkKSRXX3Z4cjs.Forbidden; exports.INTERNAL_ERROR_CODE = _chunkKSRXX3Z4cjs.INTERNAL_ERROR_CODE; exports.INTERNAL_ERROR_DESCRIPTION = _chunkKSRXX3Z4cjs.INTERNAL_ERROR_DESCRIPTION; exports.IncorrectConnToken = _chunkKSRXX3Z4cjs.IncorrectConnToken; exports.InternalError = _chunkKSRXX3Z4cjs.InternalError; exports.InvalidActionRequest = _chunkKSRXX3Z4cjs.InvalidActionRequest; exports.InvalidEncoding = _chunkKSRXX3Z4cjs.InvalidEncoding; exports.InvalidFetchResponse = _chunkKSRXX3Z4cjs.InvalidFetchResponse; exports.InvalidParams = _chunkKSRXX3Z4cjs.InvalidParams; exports.InvalidQueryJSON = _chunkKSRXX3Z4cjs.InvalidQueryJSON; exports.InvalidRequest = _chunkKSRXX3Z4cjs.InvalidRequest; exports.InvalidStateType = _chunkKSRXX3Z4cjs.InvalidStateType; exports.MalformedMessage = _chunkKSRXX3Z4cjs.MalformedMessage; exports.MessageTooLong = _chunkKSRXX3Z4cjs.MessageTooLong; exports.MissingActorHeader = _chunkKSRXX3Z4cjs.MissingActorHeader; exports.ProxyError = _chunkKSRXX3Z4cjs.ProxyError; exports.RouteNotFound = _chunkKSRXX3Z4cjs.RouteNotFound; exports.StateNotEnabled = _chunkKSRXX3Z4cjs.StateNotEnabled; exports.USER_ERROR_CODE = _chunkKSRXX3Z4cjs.USER_ERROR_CODE; exports.Unauthorized = _chunkKSRXX3Z4cjs.Unauthorized; exports.Unreachable = _chunkKSRXX3Z4cjs.Unreachable; exports.Unsupported = _chunkKSRXX3Z4cjs.Unsupported; exports.UserError = _chunkKSRXX3Z4cjs.UserError; exports.VarsNotEnabled = _chunkKSRXX3Z4cjs.VarsNotEnabled; exports.WebSocketHandlerNotDefined = _chunkKSRXX3Z4cjs.WebSocketHandlerNotDefined; exports.WebSocketsNotEnabled = _chunkKSRXX3Z4cjs.WebSocketsNotEnabled;
|
|
77
77
|
//# sourceMappingURL=errors.cjs.map
|
|
@@ -22,14 +22,6 @@ declare class ActorError extends Error {
|
|
|
22
22
|
static isActorError(error: unknown): error is ActorError | DeconstructedError;
|
|
23
23
|
constructor(group: string, code: string, message: string, opts?: ActorErrorOptions);
|
|
24
24
|
toString(): string;
|
|
25
|
-
/**
|
|
26
|
-
* Serialize error for HTTP response
|
|
27
|
-
*/
|
|
28
|
-
serializeForHttp(): {
|
|
29
|
-
type: string;
|
|
30
|
-
message: string;
|
|
31
|
-
metadata: unknown;
|
|
32
|
-
};
|
|
33
25
|
}
|
|
34
26
|
declare class InternalError extends ActorError {
|
|
35
27
|
constructor(message: string);
|
|
@@ -22,14 +22,6 @@ declare class ActorError extends Error {
|
|
|
22
22
|
static isActorError(error: unknown): error is ActorError | DeconstructedError;
|
|
23
23
|
constructor(group: string, code: string, message: string, opts?: ActorErrorOptions);
|
|
24
24
|
toString(): string;
|
|
25
|
-
/**
|
|
26
|
-
* Serialize error for HTTP response
|
|
27
|
-
*/
|
|
28
|
-
serializeForHttp(): {
|
|
29
|
-
type: string;
|
|
30
|
-
message: string;
|
|
31
|
-
metadata: unknown;
|
|
32
|
-
};
|
|
33
25
|
}
|
|
34
26
|
declare class InternalError extends ActorError {
|
|
35
27
|
constructor(message: string);
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
inspectorLogger,
|
|
5
5
|
isInspectorEnabled,
|
|
6
6
|
secureInspector
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BTEDNZSI.js";
|
|
8
8
|
import {
|
|
9
9
|
ActorDefinition,
|
|
10
10
|
RemoteManagerDriver,
|
|
@@ -12,15 +12,18 @@ import {
|
|
|
12
12
|
createClientWithDriver,
|
|
13
13
|
deserializeActorKey,
|
|
14
14
|
generateConnSocketId,
|
|
15
|
+
getDatacenters,
|
|
15
16
|
getEndpoint,
|
|
16
17
|
lookupInRegistry,
|
|
17
|
-
serializeActorKey
|
|
18
|
-
|
|
18
|
+
serializeActorKey,
|
|
19
|
+
updateRunnerConfig
|
|
20
|
+
} from "./chunk-U7ZDMHVJ.js";
|
|
19
21
|
import {
|
|
20
22
|
CreateActorSchema
|
|
21
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-TD5RNAZU.js";
|
|
22
24
|
import {
|
|
23
25
|
ActionContext,
|
|
26
|
+
ClientConfigSchema,
|
|
24
27
|
HTTP_ACTION_REQUEST_VERSIONED,
|
|
25
28
|
HTTP_ACTION_RESPONSE_VERSIONED,
|
|
26
29
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
@@ -29,7 +32,7 @@ import {
|
|
|
29
32
|
createVersionedDataHandler,
|
|
30
33
|
parseMessage,
|
|
31
34
|
serializeEmptyPersistData
|
|
32
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-HMGH3AWC.js";
|
|
33
36
|
import {
|
|
34
37
|
EncodingSchema,
|
|
35
38
|
HEADER_ACTOR_ID,
|
|
@@ -55,12 +58,12 @@ import {
|
|
|
55
58
|
generateRandomString,
|
|
56
59
|
loggerWithoutContext,
|
|
57
60
|
serializeWithEncoding
|
|
58
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-YAUIBXG3.js";
|
|
59
62
|
import {
|
|
60
63
|
configureBaseLogger,
|
|
61
64
|
configureDefaultLogger,
|
|
62
65
|
getLogger
|
|
63
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-AMLE3HUH.js";
|
|
64
67
|
import {
|
|
65
68
|
VERSION,
|
|
66
69
|
assertUnreachable,
|
|
@@ -71,7 +74,7 @@ import {
|
|
|
71
74
|
promiseWithResolvers,
|
|
72
75
|
setLongTimeout,
|
|
73
76
|
stringifyError
|
|
74
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-UBBJE54L.js";
|
|
75
78
|
import {
|
|
76
79
|
ActorAlreadyExists,
|
|
77
80
|
ConnNotFound,
|
|
@@ -84,7 +87,7 @@ import {
|
|
|
84
87
|
Unsupported,
|
|
85
88
|
UserError,
|
|
86
89
|
WebSocketsNotEnabled
|
|
87
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-G64QUEDJ.js";
|
|
88
91
|
|
|
89
92
|
// src/actor/config.ts
|
|
90
93
|
import { z } from "zod";
|
|
@@ -828,6 +831,32 @@ function getRequestConnParams(req) {
|
|
|
828
831
|
|
|
829
832
|
// src/common/router.ts
|
|
830
833
|
import * as cbor2 from "cbor-x";
|
|
834
|
+
|
|
835
|
+
// src/registry/config.ts
|
|
836
|
+
import { z as z2 } from "zod";
|
|
837
|
+
var ActorsSchema = z2.record(
|
|
838
|
+
z2.string(),
|
|
839
|
+
z2.custom()
|
|
840
|
+
);
|
|
841
|
+
var TestConfigSchema = z2.object({ enabled: z2.boolean() });
|
|
842
|
+
var RegistryConfigSchema = z2.object({
|
|
843
|
+
use: z2.record(z2.string(), z2.custom()),
|
|
844
|
+
// TODO: Find a better way of passing around the test config
|
|
845
|
+
/**
|
|
846
|
+
* Test configuration.
|
|
847
|
+
*
|
|
848
|
+
* DO NOT MANUALLY ENABLE. THIS IS USED INTERNALLY.
|
|
849
|
+
* @internal
|
|
850
|
+
**/
|
|
851
|
+
test: TestConfigSchema.optional().default({ enabled: false })
|
|
852
|
+
});
|
|
853
|
+
function buildActorNames(registryConfig) {
|
|
854
|
+
return Object.fromEntries(
|
|
855
|
+
Object.keys(registryConfig.use).map((name) => [name, { metadata: {} }])
|
|
856
|
+
);
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
// src/common/router.ts
|
|
831
860
|
function logger2() {
|
|
832
861
|
return getLogger("router");
|
|
833
862
|
}
|
|
@@ -883,6 +912,26 @@ function handleRouteError(error, c) {
|
|
|
883
912
|
);
|
|
884
913
|
return c.body(output, { status: statusCode });
|
|
885
914
|
}
|
|
915
|
+
function handleMetadataRequest(c, registryConfig, runConfig) {
|
|
916
|
+
const response = {
|
|
917
|
+
runtime: "rivetkit",
|
|
918
|
+
version: VERSION,
|
|
919
|
+
runner: {
|
|
920
|
+
kind: runConfig.runnerKind === "serverless" ? { serverless: {} } : { normal: {} }
|
|
921
|
+
},
|
|
922
|
+
actorNames: buildActorNames(registryConfig),
|
|
923
|
+
// Do not return client endpoint if default server disabled
|
|
924
|
+
clientEndpoint: runConfig.overrideServerAddress ?? (runConfig.disableDefaultServer ? void 0 : getEndpoint(runConfig))
|
|
925
|
+
};
|
|
926
|
+
return c.json(response);
|
|
927
|
+
}
|
|
928
|
+
function handleHealthRequest(c) {
|
|
929
|
+
return c.json({
|
|
930
|
+
status: "ok",
|
|
931
|
+
runtime: "rivetkit",
|
|
932
|
+
version: VERSION
|
|
933
|
+
});
|
|
934
|
+
}
|
|
886
935
|
|
|
887
936
|
// src/actor/router.ts
|
|
888
937
|
function createActorRouter(runConfig, actorDriver, isTest) {
|
|
@@ -1471,12 +1520,7 @@ var EngineActorDriver = class {
|
|
|
1471
1520
|
metadata: {
|
|
1472
1521
|
inspectorToken: this.#runConfig.inspector.token()
|
|
1473
1522
|
},
|
|
1474
|
-
prepopulateActorNames:
|
|
1475
|
-
Object.keys(this.#registryConfig.use).map((name) => [
|
|
1476
|
-
name,
|
|
1477
|
-
{ metadata: {} }
|
|
1478
|
-
])
|
|
1479
|
-
),
|
|
1523
|
+
prepopulateActorNames: buildActorNames(registryConfig),
|
|
1480
1524
|
onConnected: () => {
|
|
1481
1525
|
if (hasDisconnected) {
|
|
1482
1526
|
logger4().info({
|
|
@@ -1537,14 +1581,7 @@ var EngineActorDriver = class {
|
|
|
1537
1581
|
async readPersistedData(actorId) {
|
|
1538
1582
|
const handler = this.#actors.get(actorId);
|
|
1539
1583
|
if (!handler) throw new Error(`Actor ${actorId} not loaded`);
|
|
1540
|
-
|
|
1541
|
-
const [value] = await this.#runner.kvGet(actorId, [KEYS.PERSIST_DATA]);
|
|
1542
|
-
if (value !== null) {
|
|
1543
|
-
handler.persistedData = value;
|
|
1544
|
-
return value;
|
|
1545
|
-
} else {
|
|
1546
|
-
return void 0;
|
|
1547
|
-
}
|
|
1584
|
+
return handler.persistedData;
|
|
1548
1585
|
}
|
|
1549
1586
|
async writePersistedData(actorId, data) {
|
|
1550
1587
|
const handler = this.#actors.get(actorId);
|
|
@@ -1585,9 +1622,13 @@ var EngineActorDriver = class {
|
|
|
1585
1622
|
if (!handler) {
|
|
1586
1623
|
handler = {
|
|
1587
1624
|
actorStartPromise: promiseWithResolvers(),
|
|
1588
|
-
persistedData:
|
|
1625
|
+
persistedData: void 0
|
|
1589
1626
|
};
|
|
1590
1627
|
this.#actors.set(actorId, handler);
|
|
1628
|
+
const [persistedValue] = await this.#runner.kvGet(actorId, [
|
|
1629
|
+
KEYS.PERSIST_DATA
|
|
1630
|
+
]);
|
|
1631
|
+
handler.persistedData = persistedValue !== null ? persistedValue : serializeEmptyPersistData(input);
|
|
1591
1632
|
}
|
|
1592
1633
|
const name = runConfig.name;
|
|
1593
1634
|
invariant3(runConfig.key, "actor should have a key");
|
|
@@ -2547,7 +2588,10 @@ var FileSystemManagerDriver = class {
|
|
|
2547
2588
|
};
|
|
2548
2589
|
});
|
|
2549
2590
|
}
|
|
2550
|
-
const inlineClient = createClientWithDriver(
|
|
2591
|
+
const inlineClient = createClientWithDriver(
|
|
2592
|
+
this,
|
|
2593
|
+
ClientConfigSchema.parse({})
|
|
2594
|
+
);
|
|
2551
2595
|
this.#actorDriver = this.#driverConfig.actor(
|
|
2552
2596
|
registryConfig,
|
|
2553
2597
|
runConfig,
|
|
@@ -2744,15 +2788,10 @@ function chooseDefaultDriver(runConfig) {
|
|
|
2744
2788
|
"Cannot specify both 'endpoint' and 'driver' in configuration"
|
|
2745
2789
|
);
|
|
2746
2790
|
}
|
|
2747
|
-
if (runConfig.runnerKind === "serverless" && !runConfig.endpoint) {
|
|
2748
|
-
throw new UserError(
|
|
2749
|
-
"Cannot use 'serverless' runnerKind without the 'endpoint' config set."
|
|
2750
|
-
);
|
|
2751
|
-
}
|
|
2752
2791
|
if (runConfig.driver) {
|
|
2753
2792
|
return runConfig.driver;
|
|
2754
2793
|
}
|
|
2755
|
-
if (runConfig.endpoint || runConfig.token) {
|
|
2794
|
+
if (runConfig.endpoint || runConfig.token || runConfig.runnerKind === "serverless") {
|
|
2756
2795
|
loggerWithoutContext().debug({
|
|
2757
2796
|
msg: "using rivet engine driver",
|
|
2758
2797
|
endpoint: runConfig.endpoint
|
|
@@ -3021,53 +3060,53 @@ import {
|
|
|
3021
3060
|
import { cors as corsMiddleware } from "hono/cors";
|
|
3022
3061
|
import { createMiddleware } from "hono/factory";
|
|
3023
3062
|
import invariant6 from "invariant";
|
|
3024
|
-
import { z as
|
|
3063
|
+
import { z as z6 } from "zod";
|
|
3025
3064
|
|
|
3026
3065
|
// src/manager-api/actors.ts
|
|
3027
|
-
import { z as
|
|
3066
|
+
import { z as z4 } from "zod";
|
|
3028
3067
|
|
|
3029
3068
|
// src/manager-api/common.ts
|
|
3030
|
-
import { z as
|
|
3031
|
-
var RivetIdSchema =
|
|
3069
|
+
import { z as z3 } from "zod";
|
|
3070
|
+
var RivetIdSchema = z3.string();
|
|
3032
3071
|
|
|
3033
3072
|
// src/manager-api/actors.ts
|
|
3034
|
-
var ActorSchema =
|
|
3073
|
+
var ActorSchema = z4.object({
|
|
3035
3074
|
actor_id: RivetIdSchema,
|
|
3036
|
-
name:
|
|
3037
|
-
key:
|
|
3075
|
+
name: z4.string(),
|
|
3076
|
+
key: z4.string(),
|
|
3038
3077
|
namespace_id: RivetIdSchema,
|
|
3039
|
-
runner_name_selector:
|
|
3040
|
-
create_ts:
|
|
3041
|
-
connectable_ts:
|
|
3042
|
-
destroy_ts:
|
|
3043
|
-
sleep_ts:
|
|
3044
|
-
start_ts:
|
|
3078
|
+
runner_name_selector: z4.string(),
|
|
3079
|
+
create_ts: z4.number(),
|
|
3080
|
+
connectable_ts: z4.number().nullable().optional(),
|
|
3081
|
+
destroy_ts: z4.number().nullable().optional(),
|
|
3082
|
+
sleep_ts: z4.number().nullable().optional(),
|
|
3083
|
+
start_ts: z4.number().nullable().optional()
|
|
3045
3084
|
});
|
|
3046
|
-
var ActorsListResponseSchema =
|
|
3047
|
-
actors:
|
|
3085
|
+
var ActorsListResponseSchema = z4.object({
|
|
3086
|
+
actors: z4.array(ActorSchema)
|
|
3048
3087
|
});
|
|
3049
|
-
var ActorsCreateRequestSchema =
|
|
3050
|
-
name:
|
|
3051
|
-
runner_name_selector:
|
|
3052
|
-
crash_policy:
|
|
3053
|
-
key:
|
|
3054
|
-
input:
|
|
3088
|
+
var ActorsCreateRequestSchema = z4.object({
|
|
3089
|
+
name: z4.string(),
|
|
3090
|
+
runner_name_selector: z4.string(),
|
|
3091
|
+
crash_policy: z4.string(),
|
|
3092
|
+
key: z4.string().nullable().optional(),
|
|
3093
|
+
input: z4.string().nullable().optional()
|
|
3055
3094
|
});
|
|
3056
|
-
var ActorsCreateResponseSchema =
|
|
3095
|
+
var ActorsCreateResponseSchema = z4.object({
|
|
3057
3096
|
actor: ActorSchema
|
|
3058
3097
|
});
|
|
3059
|
-
var ActorsGetOrCreateRequestSchema =
|
|
3060
|
-
name:
|
|
3061
|
-
key:
|
|
3062
|
-
runner_name_selector:
|
|
3063
|
-
crash_policy:
|
|
3064
|
-
input:
|
|
3098
|
+
var ActorsGetOrCreateRequestSchema = z4.object({
|
|
3099
|
+
name: z4.string(),
|
|
3100
|
+
key: z4.string(),
|
|
3101
|
+
runner_name_selector: z4.string(),
|
|
3102
|
+
crash_policy: z4.string(),
|
|
3103
|
+
input: z4.string().nullable().optional()
|
|
3065
3104
|
});
|
|
3066
|
-
var ActorsGetOrCreateResponseSchema =
|
|
3105
|
+
var ActorsGetOrCreateResponseSchema = z4.object({
|
|
3067
3106
|
actor: ActorSchema,
|
|
3068
|
-
created:
|
|
3107
|
+
created: z4.boolean()
|
|
3069
3108
|
});
|
|
3070
|
-
var ActorsDeleteResponseSchema =
|
|
3109
|
+
var ActorsDeleteResponseSchema = z4.object({});
|
|
3071
3110
|
|
|
3072
3111
|
// src/manager/gateway.ts
|
|
3073
3112
|
async function actorGateway(runConfig, managerDriver, c, next) {
|
|
@@ -3352,17 +3391,17 @@ async function createTestWebSocketProxy(clientWsPromise) {
|
|
|
3352
3391
|
}
|
|
3353
3392
|
|
|
3354
3393
|
// src/manager/router-schema.ts
|
|
3355
|
-
import { z as
|
|
3356
|
-
var ServerlessStartHeadersSchema =
|
|
3357
|
-
endpoint:
|
|
3358
|
-
token:
|
|
3359
|
-
totalSlots:
|
|
3394
|
+
import { z as z5 } from "zod";
|
|
3395
|
+
var ServerlessStartHeadersSchema = z5.object({
|
|
3396
|
+
endpoint: z5.string({ required_error: "x-rivet-endpoint header is required" }),
|
|
3397
|
+
token: z5.string({ invalid_type_error: "x-rivet-token header must be a string" }).optional(),
|
|
3398
|
+
totalSlots: z5.coerce.number({
|
|
3360
3399
|
invalid_type_error: "x-rivet-total-slots header must be a number"
|
|
3361
3400
|
}).int("x-rivet-total-slots header must be an integer").gte(1, "x-rivet-total-slots header must be positive"),
|
|
3362
|
-
runnerName:
|
|
3401
|
+
runnerName: z5.string({
|
|
3363
3402
|
required_error: "x-rivet-runner-name header is required"
|
|
3364
3403
|
}),
|
|
3365
|
-
namespace:
|
|
3404
|
+
namespace: z5.string({
|
|
3366
3405
|
required_error: "x-rivet-namespace-id header is required"
|
|
3367
3406
|
})
|
|
3368
3407
|
});
|
|
@@ -3468,13 +3507,11 @@ function addServerlessRoutes(driverConfig, registryConfig, runConfig, managerDri
|
|
|
3468
3507
|
);
|
|
3469
3508
|
return await actorDriver.serverlessHandleStart(c);
|
|
3470
3509
|
});
|
|
3471
|
-
router.get("/health", (c) =>
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
});
|
|
3477
|
-
});
|
|
3510
|
+
router.get("/health", (c) => handleHealthRequest(c));
|
|
3511
|
+
router.get(
|
|
3512
|
+
"/metadata",
|
|
3513
|
+
(c) => handleMetadataRequest(c, registryConfig, runConfig)
|
|
3514
|
+
);
|
|
3478
3515
|
}
|
|
3479
3516
|
function addManagerRoutes(registryConfig, runConfig, managerDriver, router) {
|
|
3480
3517
|
var _a;
|
|
@@ -3502,10 +3539,10 @@ function addManagerRoutes(registryConfig, runConfig, managerDriver, router) {
|
|
|
3502
3539
|
method: "get",
|
|
3503
3540
|
path: "/actors",
|
|
3504
3541
|
request: {
|
|
3505
|
-
query:
|
|
3506
|
-
name:
|
|
3507
|
-
actor_ids:
|
|
3508
|
-
key:
|
|
3542
|
+
query: z6.object({
|
|
3543
|
+
name: z6.string(),
|
|
3544
|
+
actor_ids: z6.string().optional(),
|
|
3545
|
+
key: z6.string().optional()
|
|
3509
3546
|
})
|
|
3510
3547
|
},
|
|
3511
3548
|
responses: buildOpenApiResponses(ActorsListResponseSchema)
|
|
@@ -3790,14 +3827,11 @@ function addManagerRoutes(registryConfig, runConfig, managerDriver, router) {
|
|
|
3790
3827
|
}
|
|
3791
3828
|
});
|
|
3792
3829
|
}
|
|
3793
|
-
router.get("/health", (c) =>
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
|
|
3797
|
-
|
|
3798
|
-
}
|
|
3799
|
-
});
|
|
3800
|
-
});
|
|
3830
|
+
router.get("/health", (c) => handleHealthRequest(c));
|
|
3831
|
+
router.get(
|
|
3832
|
+
"/metadata",
|
|
3833
|
+
(c) => handleMetadataRequest(c, registryConfig, runConfig)
|
|
3834
|
+
);
|
|
3801
3835
|
(_a = managerDriver.modifyManagerRouter) == null ? void 0 : _a.call(
|
|
3802
3836
|
managerDriver,
|
|
3803
3837
|
registryConfig,
|
|
@@ -3820,25 +3854,6 @@ function createApiActor(actor2, runnerName = "default") {
|
|
|
3820
3854
|
};
|
|
3821
3855
|
}
|
|
3822
3856
|
|
|
3823
|
-
// src/registry/config.ts
|
|
3824
|
-
import { z as z6 } from "zod";
|
|
3825
|
-
var ActorsSchema = z6.record(
|
|
3826
|
-
z6.string(),
|
|
3827
|
-
z6.custom()
|
|
3828
|
-
);
|
|
3829
|
-
var TestConfigSchema = z6.object({ enabled: z6.boolean() });
|
|
3830
|
-
var RegistryConfigSchema = z6.object({
|
|
3831
|
-
use: z6.record(z6.string(), z6.custom()),
|
|
3832
|
-
// TODO: Find a better way of passing around the test config
|
|
3833
|
-
/**
|
|
3834
|
-
* Test configuration.
|
|
3835
|
-
*
|
|
3836
|
-
* DO NOT MANUALLY ENABLE. THIS IS USED INTERNALLY.
|
|
3837
|
-
* @internal
|
|
3838
|
-
**/
|
|
3839
|
-
test: TestConfigSchema.optional().default({ enabled: false })
|
|
3840
|
-
});
|
|
3841
|
-
|
|
3842
3857
|
// src/registry/log.ts
|
|
3843
3858
|
function logger7() {
|
|
3844
3859
|
return getLogger("registry");
|
|
@@ -3969,7 +3984,7 @@ var Registry = class {
|
|
|
3969
3984
|
console.log();
|
|
3970
3985
|
console.log(` RivetKit ${package_default.version} (${displayInfo.name})`);
|
|
3971
3986
|
if (!config2.disableDefaultServer) {
|
|
3972
|
-
console.log(` - Endpoint: ${config2
|
|
3987
|
+
console.log(` - Endpoint: ${getEndpoint(config2)}`);
|
|
3973
3988
|
} else if (config2.overrideServerAddress) {
|
|
3974
3989
|
console.log(` - Endpoint: ${config2.overrideServerAddress}`);
|
|
3975
3990
|
}
|
|
@@ -4027,23 +4042,28 @@ async function configureServerlessRunner(config2) {
|
|
|
4027
4042
|
throw new Error("endpoint is required for serverless configuration");
|
|
4028
4043
|
}
|
|
4029
4044
|
const customConfig = typeof config2.autoConfigureServerless === "object" ? config2.autoConfigureServerless : {};
|
|
4030
|
-
const
|
|
4045
|
+
const clientConfig = {
|
|
4046
|
+
endpoint: config2.endpoint,
|
|
4047
|
+
token: config2.token,
|
|
4048
|
+
namespace: config2.namespace,
|
|
4049
|
+
runnerName: config2.runnerName,
|
|
4050
|
+
encoding: config2.encoding,
|
|
4051
|
+
transport: config2.transport,
|
|
4052
|
+
headers: config2.headers,
|
|
4053
|
+
getUpgradeWebSocket: config2.getUpgradeWebSocket,
|
|
4054
|
+
disableHealthCheck: true
|
|
4055
|
+
// We don't need health check for this operation
|
|
4056
|
+
};
|
|
4031
4057
|
logger7().debug({
|
|
4032
4058
|
msg: "fetching datacenters",
|
|
4033
|
-
|
|
4059
|
+
endpoint: config2.endpoint
|
|
4034
4060
|
});
|
|
4035
|
-
const
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4061
|
+
const dcsRes = await getDatacenters(clientConfig);
|
|
4062
|
+
logger7().debug({
|
|
4063
|
+
msg: "configuring serverless runner",
|
|
4064
|
+
runnerName: config2.runnerName,
|
|
4065
|
+
namespace: config2.namespace
|
|
4039
4066
|
});
|
|
4040
|
-
if (!dcsResponse.ok) {
|
|
4041
|
-
const errorText = await dcsResponse.text();
|
|
4042
|
-
throw new Error(
|
|
4043
|
-
`failed to configure serverless runner: ${dcsResponse.status} ${dcsResponse.statusText} - ${errorText}`
|
|
4044
|
-
);
|
|
4045
|
-
}
|
|
4046
|
-
const dcsRes = await dcsResponse.json();
|
|
4047
4067
|
const serverlessConfig = {
|
|
4048
4068
|
serverless: {
|
|
4049
4069
|
url: customConfig.url || `http://localhost:${config2.defaultServerPort}/start`,
|
|
@@ -4055,29 +4075,11 @@ async function configureServerlessRunner(config2) {
|
|
|
4055
4075
|
slots_per_runner: customConfig.slotsPerRunner ?? config2.totalSlots ?? 1e3
|
|
4056
4076
|
}
|
|
4057
4077
|
};
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
logger7().debug({
|
|
4063
|
-
msg: "configuring serverless runner",
|
|
4064
|
-
url: configUrl,
|
|
4065
|
-
config: serverlessConfig.serverless
|
|
4066
|
-
});
|
|
4067
|
-
const response = await fetch(configUrl, {
|
|
4068
|
-
method: "PUT",
|
|
4069
|
-
headers: {
|
|
4070
|
-
"Content-Type": "application/json",
|
|
4071
|
-
...config2.token ? { Authorization: `Bearer ${config2.token}` } : {}
|
|
4072
|
-
},
|
|
4073
|
-
body: JSON.stringify(requestBody)
|
|
4078
|
+
await updateRunnerConfig(clientConfig, config2.runnerName, {
|
|
4079
|
+
datacenters: Object.fromEntries(
|
|
4080
|
+
dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
|
|
4081
|
+
)
|
|
4074
4082
|
});
|
|
4075
|
-
if (!response.ok) {
|
|
4076
|
-
const errorText = await response.text();
|
|
4077
|
-
throw new Error(
|
|
4078
|
-
`failed to configure serverless runner: ${response.status} ${response.statusText} - ${errorText}`
|
|
4079
|
-
);
|
|
4080
|
-
}
|
|
4081
4083
|
logger7().info({
|
|
4082
4084
|
msg: "serverless runner configured successfully",
|
|
4083
4085
|
runnerName: config2.runnerName,
|
|
@@ -4099,6 +4101,7 @@ function setup(input) {
|
|
|
4099
4101
|
export {
|
|
4100
4102
|
handleWebSocketConnect,
|
|
4101
4103
|
handleRawWebSocketHandler,
|
|
4104
|
+
RegistryConfigSchema,
|
|
4102
4105
|
createActorRouter,
|
|
4103
4106
|
actor,
|
|
4104
4107
|
InlineWebSocketAdapter2,
|
|
@@ -4107,9 +4110,8 @@ export {
|
|
|
4107
4110
|
createFileSystemDriver,
|
|
4108
4111
|
createMemoryDriver,
|
|
4109
4112
|
createManagerRouter,
|
|
4110
|
-
RegistryConfigSchema,
|
|
4111
4113
|
Registry,
|
|
4112
4114
|
setup
|
|
4113
4115
|
};
|
|
4114
4116
|
//! These configs configs hold anything that's not platform-specific about running actors.
|
|
4115
|
-
//# sourceMappingURL=chunk-
|
|
4117
|
+
//# sourceMappingURL=chunk-7MDKUHE4.js.map
|