rivetkit 2.0.27 → 2.0.29-rc.1
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/schemas/file-system-driver/v3.ts +167 -0
- package/dist/tsup/actor/errors.cjs +2 -2
- package/dist/tsup/actor/errors.js +1 -1
- package/dist/tsup/{chunk-TJ2PJ5C7.cjs → chunk-2Q6FJITJ.cjs} +3 -3
- package/dist/tsup/{chunk-TJ2PJ5C7.cjs.map → chunk-2Q6FJITJ.cjs.map} +1 -1
- package/dist/tsup/{chunk-GUH2PNPG.js → chunk-5RN6O2RW.js} +3 -3
- package/dist/tsup/{chunk-F3SQLO3X.cjs → chunk-AJ36VBHL.cjs} +13 -12
- package/dist/tsup/chunk-AJ36VBHL.cjs.map +1 -0
- package/dist/tsup/{chunk-4GJQDTAG.cjs → chunk-BAEMOCS7.cjs} +666 -342
- package/dist/tsup/chunk-BAEMOCS7.cjs.map +1 -0
- package/dist/tsup/chunk-CGIRSKRW.js +891 -0
- package/dist/tsup/chunk-CGIRSKRW.js.map +1 -0
- package/dist/tsup/{chunk-BBTOBXEO.js → chunk-CHPLLKNL.js} +579 -103
- package/dist/tsup/chunk-CHPLLKNL.js.map +1 -0
- package/dist/tsup/{chunk-D7A47BVR.js → chunk-EU7VV5PU.js} +2 -2
- package/dist/tsup/{chunk-2NNICHGY.js → chunk-EVQJYFFP.js} +2 -2
- package/dist/tsup/{chunk-C3UREFUI.js → chunk-HXWPIIEM.js} +15 -6
- package/dist/tsup/chunk-HXWPIIEM.js.map +1 -0
- package/dist/tsup/chunk-IRGPMCKQ.cjs +129 -0
- package/dist/tsup/chunk-IRGPMCKQ.cjs.map +1 -0
- package/dist/tsup/{chunk-QC4AE54W.cjs → chunk-J3M5ATO5.cjs} +3 -3
- package/dist/tsup/{chunk-QC4AE54W.cjs.map → chunk-J3M5ATO5.cjs.map} +1 -1
- package/dist/tsup/{chunk-DRJCTDDT.cjs → chunk-J74MGKP5.cjs} +20 -11
- package/dist/tsup/chunk-J74MGKP5.cjs.map +1 -0
- package/dist/tsup/{chunk-XJMYGATE.cjs → chunk-MAQSR26X.cjs} +8 -3
- package/dist/tsup/chunk-MAQSR26X.cjs.map +1 -0
- package/dist/tsup/{chunk-XNKWXMIT.cjs → chunk-MG2TWYPF.cjs} +794 -318
- package/dist/tsup/chunk-MG2TWYPF.cjs.map +1 -0
- package/dist/tsup/{chunk-LQOCWGP6.js → chunk-P2RZJPYI.js} +1 -1
- package/dist/tsup/{chunk-XU4GGB6J.js → chunk-QKDCNAPW.js} +504 -181
- package/dist/tsup/chunk-QKDCNAPW.js.map +1 -0
- package/dist/tsup/{chunk-G7YZSSWV.cjs → chunk-QT7PPLSB.cjs} +6 -6
- package/dist/tsup/{chunk-G7YZSSWV.cjs.map → chunk-QT7PPLSB.cjs.map} +1 -1
- package/dist/tsup/{chunk-VRZNWBDK.js → chunk-SDJFBUFE.js} +45 -46
- package/dist/tsup/chunk-SDJFBUFE.js.map +1 -0
- package/dist/tsup/chunk-SE37OCA2.cjs +891 -0
- package/dist/tsup/chunk-SE37OCA2.cjs.map +1 -0
- package/dist/tsup/{chunk-6F2NCX7R.js → chunk-WUFUT7CZ.js} +2 -2
- package/dist/tsup/{chunk-LZADH4QA.cjs → chunk-XVBIJET6.cjs} +10 -10
- package/dist/tsup/{chunk-LZADH4QA.cjs.map → chunk-XVBIJET6.cjs.map} +1 -1
- package/dist/tsup/{chunk-KSQQU7NC.js → chunk-YJXB7BPR.js} +8 -7
- package/dist/tsup/chunk-YJXB7BPR.js.map +1 -0
- package/dist/tsup/client/mod.cjs +9 -9
- package/dist/tsup/client/mod.d.cts +3 -2
- package/dist/tsup/client/mod.d.ts +3 -2
- package/dist/tsup/client/mod.js +8 -8
- package/dist/tsup/common/log.cjs +3 -3
- package/dist/tsup/common/log.d.cts +9 -1
- package/dist/tsup/common/log.d.ts +9 -1
- 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-Bo-blHpJ.d.ts → config-CcMdKDv9.d.ts} +301 -899
- package/dist/tsup/{config-BRDYDraU.d.cts → config-DxlmiJS1.d.cts} +301 -899
- package/dist/tsup/driver-helpers/mod.cjs +5 -5
- package/dist/tsup/driver-helpers/mod.d.cts +2 -1
- package/dist/tsup/driver-helpers/mod.d.ts +2 -1
- package/dist/tsup/driver-helpers/mod.js +4 -4
- package/dist/tsup/driver-test-suite/mod.cjs +74 -74
- package/dist/tsup/driver-test-suite/mod.d.cts +2 -1
- package/dist/tsup/driver-test-suite/mod.d.ts +2 -1
- package/dist/tsup/driver-test-suite/mod.js +11 -11
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.d.cts +5 -4
- package/dist/tsup/inspector/mod.d.ts +5 -4
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/mod.cjs +10 -10
- package/dist/tsup/mod.d.cts +3 -2
- package/dist/tsup/mod.d.ts +3 -2
- package/dist/tsup/mod.js +9 -9
- package/dist/tsup/test/mod.cjs +12 -11
- package/dist/tsup/test/mod.cjs.map +1 -1
- package/dist/tsup/test/mod.d.cts +2 -6
- package/dist/tsup/test/mod.d.ts +2 -6
- package/dist/tsup/test/mod.js +11 -10
- package/dist/tsup/utils.cjs +3 -3
- package/dist/tsup/utils.js +2 -2
- package/package.json +7 -6
- package/src/actor/config.ts +21 -20
- package/src/actor/conn/mod.ts +5 -1
- package/src/actor/instance/connection-manager.ts +5 -1
- package/src/actor/instance/event-manager.ts +5 -1
- package/src/actor/instance/state-manager.ts +19 -3
- package/src/actor/protocol/old.ts +3 -0
- package/src/actor/protocol/serde.ts +5 -1
- package/src/actor/router-endpoints.ts +2 -0
- package/src/client/actor-conn.ts +2 -0
- package/src/client/actor-handle.ts +3 -0
- package/src/client/config.ts +1 -1
- package/src/client/utils.ts +4 -1
- package/src/common/router.ts +5 -1
- package/src/driver-helpers/utils.ts +8 -2
- package/src/drivers/engine/config.ts +6 -3
- package/src/drivers/file-system/global-state.ts +46 -1
- package/src/drivers/file-system/manager.ts +4 -0
- package/src/inspector/config.ts +1 -2
- package/src/manager/driver.ts +4 -0
- package/src/manager/router-schema.ts +7 -7
- package/src/manager/router.ts +4 -4
- package/src/registry/run-config.ts +9 -5
- package/src/remote-manager-driver/actor-http-client.ts +1 -1
- package/src/remote-manager-driver/api-utils.ts +2 -0
- package/src/schemas/actor-persist/versioned.ts +126 -54
- package/src/schemas/client-protocol/versioned.ts +173 -42
- package/src/schemas/file-system-driver/mod.ts +1 -1
- package/src/schemas/file-system-driver/versioned.ts +129 -45
- package/src/serde.ts +9 -2
- package/src/test/config.ts +13 -12
- package/src/test/mod.ts +56 -82
- package/dist/tsup/chunk-2TZH6VO6.cjs +0 -514
- package/dist/tsup/chunk-2TZH6VO6.cjs.map +0 -1
- package/dist/tsup/chunk-4GJQDTAG.cjs.map +0 -1
- package/dist/tsup/chunk-5YDKTW6Y.js +0 -514
- package/dist/tsup/chunk-5YDKTW6Y.js.map +0 -1
- package/dist/tsup/chunk-BBTOBXEO.js.map +0 -1
- package/dist/tsup/chunk-C3UREFUI.js.map +0 -1
- package/dist/tsup/chunk-DRJCTDDT.cjs.map +0 -1
- package/dist/tsup/chunk-F3SQLO3X.cjs.map +0 -1
- package/dist/tsup/chunk-FYZLEH57.cjs +0 -130
- package/dist/tsup/chunk-FYZLEH57.cjs.map +0 -1
- package/dist/tsup/chunk-KSQQU7NC.js.map +0 -1
- package/dist/tsup/chunk-VRZNWBDK.js.map +0 -1
- package/dist/tsup/chunk-XJMYGATE.cjs.map +0 -1
- package/dist/tsup/chunk-XNKWXMIT.cjs.map +0 -1
- package/dist/tsup/chunk-XU4GGB6J.js.map +0 -1
- package/src/common/versioned-data.ts +0 -95
- /package/dist/tsup/{chunk-GUH2PNPG.js.map → chunk-5RN6O2RW.js.map} +0 -0
- /package/dist/tsup/{chunk-D7A47BVR.js.map → chunk-EU7VV5PU.js.map} +0 -0
- /package/dist/tsup/{chunk-2NNICHGY.js.map → chunk-EVQJYFFP.js.map} +0 -0
- /package/dist/tsup/{chunk-LQOCWGP6.js.map → chunk-P2RZJPYI.js.map} +0 -0
- /package/dist/tsup/{chunk-6F2NCX7R.js.map → chunk-WUFUT7CZ.js.map} +0 -0
|
@@ -4,12 +4,13 @@ import {
|
|
|
4
4
|
inspectorLogger,
|
|
5
5
|
isInspectorEnabled,
|
|
6
6
|
secureInspector
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EVQJYFFP.js";
|
|
8
8
|
import {
|
|
9
9
|
ActionContext,
|
|
10
10
|
ActorDefinition,
|
|
11
11
|
CONN_DRIVER_SYMBOL,
|
|
12
12
|
CONN_STATE_MANAGER_SYMBOL,
|
|
13
|
+
CURRENT_VERSION,
|
|
13
14
|
HTTP_ACTION_REQUEST_VERSIONED,
|
|
14
15
|
HTTP_ACTION_RESPONSE_VERSIONED,
|
|
15
16
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
@@ -28,17 +29,16 @@ import {
|
|
|
28
29
|
parseMessage,
|
|
29
30
|
serializeActorKey,
|
|
30
31
|
updateRunnerConfig
|
|
31
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-CHPLLKNL.js";
|
|
32
33
|
import {
|
|
33
34
|
CreateActorSchema
|
|
34
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-WUFUT7CZ.js";
|
|
35
36
|
import {
|
|
36
37
|
ClientConfigSchema,
|
|
37
38
|
KEYS,
|
|
38
39
|
RunnerConfigSchema,
|
|
39
|
-
createVersionedDataHandler,
|
|
40
40
|
getInitialActorKvState
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-CGIRSKRW.js";
|
|
42
42
|
import {
|
|
43
43
|
EncodingSchema,
|
|
44
44
|
HEADER_ACTOR_ID,
|
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
generateRandomString,
|
|
61
61
|
loggerWithoutContext,
|
|
62
62
|
serializeWithEncoding
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-HXWPIIEM.js";
|
|
64
64
|
import {
|
|
65
65
|
VERSION,
|
|
66
66
|
arrayBuffersEqual,
|
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
promiseWithResolvers,
|
|
77
77
|
setLongTimeout,
|
|
78
78
|
stringifyError
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-YJXB7BPR.js";
|
|
80
80
|
import {
|
|
81
81
|
ActorDuplicateKey,
|
|
82
82
|
ActorStopping,
|
|
@@ -87,30 +87,31 @@ import {
|
|
|
87
87
|
Unsupported,
|
|
88
88
|
UserError,
|
|
89
89
|
WebSocketsNotEnabled
|
|
90
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-P2RZJPYI.js";
|
|
91
91
|
|
|
92
92
|
// src/actor/config.ts
|
|
93
93
|
import { z } from "zod";
|
|
94
|
+
var zFunction = () => z.custom((val) => typeof val === "function");
|
|
94
95
|
var ActorConfigSchema = z.object({
|
|
95
|
-
onCreate:
|
|
96
|
-
onDestroy:
|
|
97
|
-
onWake:
|
|
98
|
-
onSleep:
|
|
99
|
-
onStateChange:
|
|
100
|
-
onBeforeConnect:
|
|
101
|
-
onConnect:
|
|
102
|
-
onDisconnect:
|
|
103
|
-
onBeforeActionResponse:
|
|
104
|
-
onRequest:
|
|
105
|
-
onWebSocket:
|
|
106
|
-
actions: z.record(z.
|
|
96
|
+
onCreate: zFunction().optional(),
|
|
97
|
+
onDestroy: zFunction().optional(),
|
|
98
|
+
onWake: zFunction().optional(),
|
|
99
|
+
onSleep: zFunction().optional(),
|
|
100
|
+
onStateChange: zFunction().optional(),
|
|
101
|
+
onBeforeConnect: zFunction().optional(),
|
|
102
|
+
onConnect: zFunction().optional(),
|
|
103
|
+
onDisconnect: zFunction().optional(),
|
|
104
|
+
onBeforeActionResponse: zFunction().optional(),
|
|
105
|
+
onRequest: zFunction().optional(),
|
|
106
|
+
onWebSocket: zFunction().optional(),
|
|
107
|
+
actions: z.record(z.string(), zFunction()).default(() => ({})),
|
|
107
108
|
state: z.any().optional(),
|
|
108
|
-
createState:
|
|
109
|
+
createState: zFunction().optional(),
|
|
109
110
|
connState: z.any().optional(),
|
|
110
|
-
createConnState:
|
|
111
|
+
createConnState: zFunction().optional(),
|
|
111
112
|
vars: z.any().optional(),
|
|
112
113
|
db: z.any().optional(),
|
|
113
|
-
createVars:
|
|
114
|
+
createVars: zFunction().optional(),
|
|
114
115
|
options: z.object({
|
|
115
116
|
createVarsTimeout: z.number().positive().default(5e3),
|
|
116
117
|
createConnStateTimeout: z.number().positive().default(5e3),
|
|
@@ -135,9 +136,9 @@ var ActorConfigSchema = z.object({
|
|
|
135
136
|
**/
|
|
136
137
|
canHibernateWebSocket: z.union([
|
|
137
138
|
z.boolean(),
|
|
138
|
-
|
|
139
|
+
zFunction()
|
|
139
140
|
]).default(false)
|
|
140
|
-
}).strict().
|
|
141
|
+
}).strict().prefault(() => ({}))
|
|
141
142
|
}).strict().refine(
|
|
142
143
|
(data) => !(data.state !== void 0 && data.createState !== void 0),
|
|
143
144
|
{
|
|
@@ -190,7 +191,7 @@ async function handleAction(c, _runConfig, actorDriver, actionName, actorId) {
|
|
|
190
191
|
// JSON: args is already the decoded value (raw object/array)
|
|
191
192
|
(json) => json.args,
|
|
192
193
|
// BARE/CBOR: args is ArrayBuffer that needs CBOR-decoding
|
|
193
|
-
(
|
|
194
|
+
(bare4) => cbor.decode(new Uint8Array(bare4.args))
|
|
194
195
|
);
|
|
195
196
|
const actionArgs = request;
|
|
196
197
|
let actor2;
|
|
@@ -217,6 +218,7 @@ async function handleAction(c, _runConfig, actorDriver, actionName, actorId) {
|
|
|
217
218
|
encoding,
|
|
218
219
|
output,
|
|
219
220
|
HTTP_ACTION_RESPONSE_VERSIONED,
|
|
221
|
+
CURRENT_VERSION,
|
|
220
222
|
HttpActionResponseSchema,
|
|
221
223
|
// JSON: output is the raw value (will be serialized by jsonStringifyCompat)
|
|
222
224
|
(value) => ({ output: value }),
|
|
@@ -353,6 +355,7 @@ function handleRouteError(error, c) {
|
|
|
353
355
|
encoding,
|
|
354
356
|
errorData,
|
|
355
357
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
358
|
+
CURRENT_VERSION,
|
|
356
359
|
HttpResponseErrorSchema,
|
|
357
360
|
// JSON: metadata is the raw value (will be serialized by jsonStringifyCompat)
|
|
358
361
|
(value) => ({
|
|
@@ -885,8 +888,8 @@ function createActorRouter(runConfig, actorDriver, isTest) {
|
|
|
885
888
|
|
|
886
889
|
// src/actor/mod.ts
|
|
887
890
|
function actor(input) {
|
|
888
|
-
const
|
|
889
|
-
return new ActorDefinition(
|
|
891
|
+
const config4 = ActorConfigSchema.parse(input);
|
|
892
|
+
return new ActorDefinition(config4);
|
|
890
893
|
}
|
|
891
894
|
|
|
892
895
|
// src/common/inline-websocket-adapter.ts
|
|
@@ -2031,19 +2034,12 @@ var FileSystemActorDriver = class {
|
|
|
2031
2034
|
// src/drivers/file-system/global-state.ts
|
|
2032
2035
|
import invariant4 from "invariant";
|
|
2033
2036
|
|
|
2034
|
-
//
|
|
2037
|
+
// src/schemas/file-system-driver/versioned.ts
|
|
2038
|
+
import { createVersionedDataHandler } from "vbare";
|
|
2039
|
+
|
|
2040
|
+
// dist/schemas/file-system-driver/v1.ts
|
|
2035
2041
|
import * as bare from "@bare-ts/lib";
|
|
2036
2042
|
var config = /* @__PURE__ */ bare.Config({});
|
|
2037
|
-
function readActorKvEntry(bc) {
|
|
2038
|
-
return {
|
|
2039
|
-
key: bare.readData(bc),
|
|
2040
|
-
value: bare.readData(bc)
|
|
2041
|
-
};
|
|
2042
|
-
}
|
|
2043
|
-
function writeActorKvEntry(bc, x) {
|
|
2044
|
-
bare.writeData(bc, x.key);
|
|
2045
|
-
bare.writeData(bc, x.value);
|
|
2046
|
-
}
|
|
2047
2043
|
function read0(bc) {
|
|
2048
2044
|
const len = bare.readUintSafe(bc);
|
|
2049
2045
|
if (len === 0) {
|
|
@@ -2061,29 +2057,12 @@ function write0(bc, x) {
|
|
|
2061
2057
|
bare.writeString(bc, x[i]);
|
|
2062
2058
|
}
|
|
2063
2059
|
}
|
|
2064
|
-
function read1(bc) {
|
|
2065
|
-
const len = bare.readUintSafe(bc);
|
|
2066
|
-
if (len === 0) {
|
|
2067
|
-
return [];
|
|
2068
|
-
}
|
|
2069
|
-
const result = [readActorKvEntry(bc)];
|
|
2070
|
-
for (let i = 1; i < len; i++) {
|
|
2071
|
-
result[i] = readActorKvEntry(bc);
|
|
2072
|
-
}
|
|
2073
|
-
return result;
|
|
2074
|
-
}
|
|
2075
|
-
function write1(bc, x) {
|
|
2076
|
-
bare.writeUintSafe(bc, x.length);
|
|
2077
|
-
for (let i = 0; i < x.length; i++) {
|
|
2078
|
-
writeActorKvEntry(bc, x[i]);
|
|
2079
|
-
}
|
|
2080
|
-
}
|
|
2081
2060
|
function readActorState(bc) {
|
|
2082
2061
|
return {
|
|
2083
2062
|
actorId: bare.readString(bc),
|
|
2084
2063
|
name: bare.readString(bc),
|
|
2085
2064
|
key: read0(bc),
|
|
2086
|
-
|
|
2065
|
+
persistedData: bare.readData(bc),
|
|
2087
2066
|
createdAt: bare.readU64(bc)
|
|
2088
2067
|
};
|
|
2089
2068
|
}
|
|
@@ -2091,7 +2070,7 @@ function writeActorState(bc, x) {
|
|
|
2091
2070
|
bare.writeString(bc, x.actorId);
|
|
2092
2071
|
bare.writeString(bc, x.name);
|
|
2093
2072
|
write0(bc, x.key);
|
|
2094
|
-
|
|
2073
|
+
bare.writeData(bc, x.persistedData);
|
|
2095
2074
|
bare.writeU64(bc, x.createdAt);
|
|
2096
2075
|
}
|
|
2097
2076
|
function encodeActorState(x) {
|
|
@@ -2137,41 +2116,344 @@ function decodeActorAlarm(bytes) {
|
|
|
2137
2116
|
return result;
|
|
2138
2117
|
}
|
|
2139
2118
|
|
|
2119
|
+
// dist/schemas/file-system-driver/v2.ts
|
|
2120
|
+
import * as bare2 from "@bare-ts/lib";
|
|
2121
|
+
var config2 = /* @__PURE__ */ bare2.Config({});
|
|
2122
|
+
function readActorKvEntry(bc) {
|
|
2123
|
+
return {
|
|
2124
|
+
key: bare2.readData(bc),
|
|
2125
|
+
value: bare2.readData(bc)
|
|
2126
|
+
};
|
|
2127
|
+
}
|
|
2128
|
+
function writeActorKvEntry(bc, x) {
|
|
2129
|
+
bare2.writeData(bc, x.key);
|
|
2130
|
+
bare2.writeData(bc, x.value);
|
|
2131
|
+
}
|
|
2132
|
+
function read02(bc) {
|
|
2133
|
+
const len = bare2.readUintSafe(bc);
|
|
2134
|
+
if (len === 0) {
|
|
2135
|
+
return [];
|
|
2136
|
+
}
|
|
2137
|
+
const result = [bare2.readString(bc)];
|
|
2138
|
+
for (let i = 1; i < len; i++) {
|
|
2139
|
+
result[i] = bare2.readString(bc);
|
|
2140
|
+
}
|
|
2141
|
+
return result;
|
|
2142
|
+
}
|
|
2143
|
+
function write02(bc, x) {
|
|
2144
|
+
bare2.writeUintSafe(bc, x.length);
|
|
2145
|
+
for (let i = 0; i < x.length; i++) {
|
|
2146
|
+
bare2.writeString(bc, x[i]);
|
|
2147
|
+
}
|
|
2148
|
+
}
|
|
2149
|
+
function read1(bc) {
|
|
2150
|
+
const len = bare2.readUintSafe(bc);
|
|
2151
|
+
if (len === 0) {
|
|
2152
|
+
return [];
|
|
2153
|
+
}
|
|
2154
|
+
const result = [readActorKvEntry(bc)];
|
|
2155
|
+
for (let i = 1; i < len; i++) {
|
|
2156
|
+
result[i] = readActorKvEntry(bc);
|
|
2157
|
+
}
|
|
2158
|
+
return result;
|
|
2159
|
+
}
|
|
2160
|
+
function write1(bc, x) {
|
|
2161
|
+
bare2.writeUintSafe(bc, x.length);
|
|
2162
|
+
for (let i = 0; i < x.length; i++) {
|
|
2163
|
+
writeActorKvEntry(bc, x[i]);
|
|
2164
|
+
}
|
|
2165
|
+
}
|
|
2166
|
+
function readActorState2(bc) {
|
|
2167
|
+
return {
|
|
2168
|
+
actorId: bare2.readString(bc),
|
|
2169
|
+
name: bare2.readString(bc),
|
|
2170
|
+
key: read02(bc),
|
|
2171
|
+
kvStorage: read1(bc),
|
|
2172
|
+
createdAt: bare2.readU64(bc)
|
|
2173
|
+
};
|
|
2174
|
+
}
|
|
2175
|
+
function writeActorState2(bc, x) {
|
|
2176
|
+
bare2.writeString(bc, x.actorId);
|
|
2177
|
+
bare2.writeString(bc, x.name);
|
|
2178
|
+
write02(bc, x.key);
|
|
2179
|
+
write1(bc, x.kvStorage);
|
|
2180
|
+
bare2.writeU64(bc, x.createdAt);
|
|
2181
|
+
}
|
|
2182
|
+
function encodeActorState2(x) {
|
|
2183
|
+
const bc = new bare2.ByteCursor(
|
|
2184
|
+
new Uint8Array(config2.initialBufferLength),
|
|
2185
|
+
config2
|
|
2186
|
+
);
|
|
2187
|
+
writeActorState2(bc, x);
|
|
2188
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2189
|
+
}
|
|
2190
|
+
function decodeActorState2(bytes) {
|
|
2191
|
+
const bc = new bare2.ByteCursor(bytes, config2);
|
|
2192
|
+
const result = readActorState2(bc);
|
|
2193
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2194
|
+
throw new bare2.BareError(bc.offset, "remaining bytes");
|
|
2195
|
+
}
|
|
2196
|
+
return result;
|
|
2197
|
+
}
|
|
2198
|
+
function readActorAlarm2(bc) {
|
|
2199
|
+
return {
|
|
2200
|
+
actorId: bare2.readString(bc),
|
|
2201
|
+
timestamp: bare2.readUint(bc)
|
|
2202
|
+
};
|
|
2203
|
+
}
|
|
2204
|
+
function writeActorAlarm2(bc, x) {
|
|
2205
|
+
bare2.writeString(bc, x.actorId);
|
|
2206
|
+
bare2.writeUint(bc, x.timestamp);
|
|
2207
|
+
}
|
|
2208
|
+
function encodeActorAlarm2(x) {
|
|
2209
|
+
const bc = new bare2.ByteCursor(
|
|
2210
|
+
new Uint8Array(config2.initialBufferLength),
|
|
2211
|
+
config2
|
|
2212
|
+
);
|
|
2213
|
+
writeActorAlarm2(bc, x);
|
|
2214
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2215
|
+
}
|
|
2216
|
+
function decodeActorAlarm2(bytes) {
|
|
2217
|
+
const bc = new bare2.ByteCursor(bytes, config2);
|
|
2218
|
+
const result = readActorAlarm2(bc);
|
|
2219
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2220
|
+
throw new bare2.BareError(bc.offset, "remaining bytes");
|
|
2221
|
+
}
|
|
2222
|
+
return result;
|
|
2223
|
+
}
|
|
2224
|
+
|
|
2225
|
+
// dist/schemas/file-system-driver/v3.ts
|
|
2226
|
+
import * as bare3 from "@bare-ts/lib";
|
|
2227
|
+
var config3 = /* @__PURE__ */ bare3.Config({});
|
|
2228
|
+
function readActorKvEntry2(bc) {
|
|
2229
|
+
return {
|
|
2230
|
+
key: bare3.readData(bc),
|
|
2231
|
+
value: bare3.readData(bc)
|
|
2232
|
+
};
|
|
2233
|
+
}
|
|
2234
|
+
function writeActorKvEntry2(bc, x) {
|
|
2235
|
+
bare3.writeData(bc, x.key);
|
|
2236
|
+
bare3.writeData(bc, x.value);
|
|
2237
|
+
}
|
|
2238
|
+
function read03(bc) {
|
|
2239
|
+
const len = bare3.readUintSafe(bc);
|
|
2240
|
+
if (len === 0) {
|
|
2241
|
+
return [];
|
|
2242
|
+
}
|
|
2243
|
+
const result = [bare3.readString(bc)];
|
|
2244
|
+
for (let i = 1; i < len; i++) {
|
|
2245
|
+
result[i] = bare3.readString(bc);
|
|
2246
|
+
}
|
|
2247
|
+
return result;
|
|
2248
|
+
}
|
|
2249
|
+
function write03(bc, x) {
|
|
2250
|
+
bare3.writeUintSafe(bc, x.length);
|
|
2251
|
+
for (let i = 0; i < x.length; i++) {
|
|
2252
|
+
bare3.writeString(bc, x[i]);
|
|
2253
|
+
}
|
|
2254
|
+
}
|
|
2255
|
+
function read12(bc) {
|
|
2256
|
+
const len = bare3.readUintSafe(bc);
|
|
2257
|
+
if (len === 0) {
|
|
2258
|
+
return [];
|
|
2259
|
+
}
|
|
2260
|
+
const result = [readActorKvEntry2(bc)];
|
|
2261
|
+
for (let i = 1; i < len; i++) {
|
|
2262
|
+
result[i] = readActorKvEntry2(bc);
|
|
2263
|
+
}
|
|
2264
|
+
return result;
|
|
2265
|
+
}
|
|
2266
|
+
function write12(bc, x) {
|
|
2267
|
+
bare3.writeUintSafe(bc, x.length);
|
|
2268
|
+
for (let i = 0; i < x.length; i++) {
|
|
2269
|
+
writeActorKvEntry2(bc, x[i]);
|
|
2270
|
+
}
|
|
2271
|
+
}
|
|
2272
|
+
function read2(bc) {
|
|
2273
|
+
return bare3.readBool(bc) ? bare3.readU64(bc) : null;
|
|
2274
|
+
}
|
|
2275
|
+
function write2(bc, x) {
|
|
2276
|
+
bare3.writeBool(bc, x !== null);
|
|
2277
|
+
if (x !== null) {
|
|
2278
|
+
bare3.writeU64(bc, x);
|
|
2279
|
+
}
|
|
2280
|
+
}
|
|
2281
|
+
function readActorState3(bc) {
|
|
2282
|
+
return {
|
|
2283
|
+
actorId: bare3.readString(bc),
|
|
2284
|
+
name: bare3.readString(bc),
|
|
2285
|
+
key: read03(bc),
|
|
2286
|
+
kvStorage: read12(bc),
|
|
2287
|
+
createdAt: bare3.readU64(bc),
|
|
2288
|
+
startTs: read2(bc),
|
|
2289
|
+
connectableTs: read2(bc),
|
|
2290
|
+
sleepTs: read2(bc),
|
|
2291
|
+
destroyTs: read2(bc)
|
|
2292
|
+
};
|
|
2293
|
+
}
|
|
2294
|
+
function writeActorState3(bc, x) {
|
|
2295
|
+
bare3.writeString(bc, x.actorId);
|
|
2296
|
+
bare3.writeString(bc, x.name);
|
|
2297
|
+
write03(bc, x.key);
|
|
2298
|
+
write12(bc, x.kvStorage);
|
|
2299
|
+
bare3.writeU64(bc, x.createdAt);
|
|
2300
|
+
write2(bc, x.startTs);
|
|
2301
|
+
write2(bc, x.connectableTs);
|
|
2302
|
+
write2(bc, x.sleepTs);
|
|
2303
|
+
write2(bc, x.destroyTs);
|
|
2304
|
+
}
|
|
2305
|
+
function encodeActorState3(x) {
|
|
2306
|
+
const bc = new bare3.ByteCursor(
|
|
2307
|
+
new Uint8Array(config3.initialBufferLength),
|
|
2308
|
+
config3
|
|
2309
|
+
);
|
|
2310
|
+
writeActorState3(bc, x);
|
|
2311
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2312
|
+
}
|
|
2313
|
+
function decodeActorState3(bytes) {
|
|
2314
|
+
const bc = new bare3.ByteCursor(bytes, config3);
|
|
2315
|
+
const result = readActorState3(bc);
|
|
2316
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2317
|
+
throw new bare3.BareError(bc.offset, "remaining bytes");
|
|
2318
|
+
}
|
|
2319
|
+
return result;
|
|
2320
|
+
}
|
|
2321
|
+
function readActorAlarm3(bc) {
|
|
2322
|
+
return {
|
|
2323
|
+
actorId: bare3.readString(bc),
|
|
2324
|
+
timestamp: bare3.readUint(bc)
|
|
2325
|
+
};
|
|
2326
|
+
}
|
|
2327
|
+
function writeActorAlarm3(bc, x) {
|
|
2328
|
+
bare3.writeString(bc, x.actorId);
|
|
2329
|
+
bare3.writeUint(bc, x.timestamp);
|
|
2330
|
+
}
|
|
2331
|
+
function encodeActorAlarm3(x) {
|
|
2332
|
+
const bc = new bare3.ByteCursor(
|
|
2333
|
+
new Uint8Array(config3.initialBufferLength),
|
|
2334
|
+
config3
|
|
2335
|
+
);
|
|
2336
|
+
writeActorAlarm3(bc, x);
|
|
2337
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2338
|
+
}
|
|
2339
|
+
function decodeActorAlarm3(bytes) {
|
|
2340
|
+
const bc = new bare3.ByteCursor(bytes, config3);
|
|
2341
|
+
const result = readActorAlarm3(bc);
|
|
2342
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2343
|
+
throw new bare3.BareError(bc.offset, "remaining bytes");
|
|
2344
|
+
}
|
|
2345
|
+
return result;
|
|
2346
|
+
}
|
|
2347
|
+
|
|
2140
2348
|
// src/schemas/file-system-driver/versioned.ts
|
|
2141
|
-
var
|
|
2142
|
-
var
|
|
2143
|
-
[
|
|
2144
|
-
|
|
2145
|
-
(
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2349
|
+
var CURRENT_VERSION2 = 3;
|
|
2350
|
+
var v1ToV2 = (v1State) => {
|
|
2351
|
+
const kvStorage = [];
|
|
2352
|
+
if (v1State.persistedData) {
|
|
2353
|
+
const key = new Uint8Array([1]);
|
|
2354
|
+
kvStorage.push({
|
|
2355
|
+
key: bufferToArrayBuffer(key),
|
|
2356
|
+
value: v1State.persistedData
|
|
2357
|
+
});
|
|
2358
|
+
}
|
|
2359
|
+
return {
|
|
2360
|
+
actorId: v1State.actorId,
|
|
2361
|
+
name: v1State.name,
|
|
2362
|
+
key: v1State.key,
|
|
2363
|
+
kvStorage,
|
|
2364
|
+
createdAt: v1State.createdAt
|
|
2365
|
+
};
|
|
2366
|
+
};
|
|
2367
|
+
var v2ToV3 = (v2State) => {
|
|
2368
|
+
return {
|
|
2369
|
+
actorId: v2State.actorId,
|
|
2370
|
+
name: v2State.name,
|
|
2371
|
+
key: v2State.key,
|
|
2372
|
+
kvStorage: v2State.kvStorage,
|
|
2373
|
+
createdAt: v2State.createdAt,
|
|
2374
|
+
startTs: null,
|
|
2375
|
+
connectableTs: null,
|
|
2376
|
+
sleepTs: null,
|
|
2377
|
+
destroyTs: null
|
|
2378
|
+
};
|
|
2379
|
+
};
|
|
2380
|
+
var v3ToV2 = (v3State) => {
|
|
2381
|
+
return {
|
|
2382
|
+
actorId: v3State.actorId,
|
|
2383
|
+
name: v3State.name,
|
|
2384
|
+
key: v3State.key,
|
|
2385
|
+
kvStorage: v3State.kvStorage,
|
|
2386
|
+
createdAt: v3State.createdAt
|
|
2387
|
+
};
|
|
2388
|
+
};
|
|
2389
|
+
var v2ToV1 = (v2State) => {
|
|
2390
|
+
const persistDataEntry = v2State.kvStorage.find((entry) => {
|
|
2391
|
+
const key = new Uint8Array(entry.key);
|
|
2392
|
+
return key.length === 1 && key[0] === 1;
|
|
2393
|
+
});
|
|
2394
|
+
return {
|
|
2395
|
+
actorId: v2State.actorId,
|
|
2396
|
+
name: v2State.name,
|
|
2397
|
+
key: v2State.key,
|
|
2398
|
+
persistedData: (persistDataEntry == null ? void 0 : persistDataEntry.value) || new ArrayBuffer(0),
|
|
2399
|
+
createdAt: v2State.createdAt
|
|
2400
|
+
};
|
|
2401
|
+
};
|
|
2164
2402
|
var ACTOR_STATE_VERSIONED = createVersionedDataHandler({
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2403
|
+
deserializeVersion: (bytes, version) => {
|
|
2404
|
+
switch (version) {
|
|
2405
|
+
case 1:
|
|
2406
|
+
return decodeActorState(bytes);
|
|
2407
|
+
case 2:
|
|
2408
|
+
return decodeActorState2(bytes);
|
|
2409
|
+
case 3:
|
|
2410
|
+
return decodeActorState3(bytes);
|
|
2411
|
+
default:
|
|
2412
|
+
throw new Error(`Unknown version ${version}`);
|
|
2413
|
+
}
|
|
2414
|
+
},
|
|
2415
|
+
serializeVersion: (data, version) => {
|
|
2416
|
+
switch (version) {
|
|
2417
|
+
case 1:
|
|
2418
|
+
return encodeActorState(data);
|
|
2419
|
+
case 2:
|
|
2420
|
+
return encodeActorState2(data);
|
|
2421
|
+
case 3:
|
|
2422
|
+
return encodeActorState3(data);
|
|
2423
|
+
default:
|
|
2424
|
+
throw new Error(`Unknown version ${version}`);
|
|
2425
|
+
}
|
|
2426
|
+
},
|
|
2427
|
+
deserializeConverters: () => [v1ToV2, v2ToV3],
|
|
2428
|
+
serializeConverters: () => [v3ToV2, v2ToV1]
|
|
2169
2429
|
});
|
|
2170
2430
|
var ACTOR_ALARM_VERSIONED = createVersionedDataHandler({
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2431
|
+
deserializeVersion: (bytes, version) => {
|
|
2432
|
+
switch (version) {
|
|
2433
|
+
case 1:
|
|
2434
|
+
return decodeActorAlarm(bytes);
|
|
2435
|
+
case 2:
|
|
2436
|
+
return decodeActorAlarm2(bytes);
|
|
2437
|
+
case 3:
|
|
2438
|
+
return decodeActorAlarm3(bytes);
|
|
2439
|
+
default:
|
|
2440
|
+
throw new Error(`Unknown version ${version}`);
|
|
2441
|
+
}
|
|
2442
|
+
},
|
|
2443
|
+
serializeVersion: (data, version) => {
|
|
2444
|
+
switch (version) {
|
|
2445
|
+
case 1:
|
|
2446
|
+
return encodeActorAlarm(data);
|
|
2447
|
+
case 2:
|
|
2448
|
+
return encodeActorAlarm2(data);
|
|
2449
|
+
case 3:
|
|
2450
|
+
return encodeActorAlarm3(data);
|
|
2451
|
+
default:
|
|
2452
|
+
throw new Error(`Unknown version ${version}`);
|
|
2453
|
+
}
|
|
2454
|
+
},
|
|
2455
|
+
deserializeConverters: () => [],
|
|
2456
|
+
serializeConverters: () => []
|
|
2175
2457
|
});
|
|
2176
2458
|
|
|
2177
2459
|
// src/drivers/file-system/log.ts
|
|
@@ -2383,7 +2665,11 @@ var FileSystemGlobalState = class {
|
|
|
2383
2665
|
name,
|
|
2384
2666
|
key,
|
|
2385
2667
|
createdAt: BigInt(Date.now()),
|
|
2386
|
-
kvStorage
|
|
2668
|
+
kvStorage,
|
|
2669
|
+
startTs: null,
|
|
2670
|
+
connectableTs: null,
|
|
2671
|
+
sleepTs: null,
|
|
2672
|
+
destroyTs: null
|
|
2387
2673
|
};
|
|
2388
2674
|
entry.lifecycleState = 1 /* AWAKE */;
|
|
2389
2675
|
await this.writeActor(actorId, entry.generation, entry.state);
|
|
@@ -2453,7 +2739,11 @@ var FileSystemGlobalState = class {
|
|
|
2453
2739
|
name,
|
|
2454
2740
|
key,
|
|
2455
2741
|
createdAt: BigInt(Date.now()),
|
|
2456
|
-
kvStorage
|
|
2742
|
+
kvStorage,
|
|
2743
|
+
startTs: null,
|
|
2744
|
+
connectableTs: null,
|
|
2745
|
+
sleepTs: null,
|
|
2746
|
+
destroyTs: null
|
|
2457
2747
|
};
|
|
2458
2748
|
await this.writeActor(actorId, entry.generation, entry.state);
|
|
2459
2749
|
}
|
|
@@ -2474,6 +2764,13 @@ var FileSystemGlobalState = class {
|
|
|
2474
2764
|
if (actor2.loadPromise) await actor2.loadPromise.catch();
|
|
2475
2765
|
if ((_a = actor2.startPromise) == null ? void 0 : _a.promise)
|
|
2476
2766
|
await actor2.startPromise.promise.catch();
|
|
2767
|
+
if (actor2.state) {
|
|
2768
|
+
actor2.state = {
|
|
2769
|
+
...actor2.state,
|
|
2770
|
+
sleepTs: BigInt(Date.now())
|
|
2771
|
+
};
|
|
2772
|
+
await this.writeActor(actorId, actor2.generation, actor2.state);
|
|
2773
|
+
}
|
|
2477
2774
|
invariant4(actor2.actor, "actor should be loaded");
|
|
2478
2775
|
await actor2.actor.onStop("sleep");
|
|
2479
2776
|
this.#actors.delete(actorId);
|
|
@@ -2488,6 +2785,13 @@ var FileSystemGlobalState = class {
|
|
|
2488
2785
|
if (actor2.loadPromise) await actor2.loadPromise.catch();
|
|
2489
2786
|
if ((_a = actor2.startPromise) == null ? void 0 : _a.promise)
|
|
2490
2787
|
await actor2.startPromise.promise.catch();
|
|
2788
|
+
if (actor2.state) {
|
|
2789
|
+
actor2.state = {
|
|
2790
|
+
...actor2.state,
|
|
2791
|
+
destroyTs: BigInt(Date.now())
|
|
2792
|
+
};
|
|
2793
|
+
await this.writeActor(actorId, actor2.generation, actor2.state);
|
|
2794
|
+
}
|
|
2491
2795
|
if (actor2.actor) {
|
|
2492
2796
|
await actor2.actor.onStop("destroy");
|
|
2493
2797
|
}
|
|
@@ -2591,7 +2895,8 @@ var FileSystemGlobalState = class {
|
|
|
2591
2895
|
timestamp: BigInt(timestamp)
|
|
2592
2896
|
};
|
|
2593
2897
|
const data = ACTOR_ALARM_VERSIONED.serializeWithEmbeddedVersion(
|
|
2594
|
-
alarmData
|
|
2898
|
+
alarmData,
|
|
2899
|
+
CURRENT_VERSION2
|
|
2595
2900
|
);
|
|
2596
2901
|
const fs = getNodeFs();
|
|
2597
2902
|
await fs.writeFile(tempPath, data);
|
|
@@ -2636,9 +2941,16 @@ var FileSystemGlobalState = class {
|
|
|
2636
2941
|
name: state.name,
|
|
2637
2942
|
key: state.key,
|
|
2638
2943
|
createdAt: state.createdAt,
|
|
2639
|
-
kvStorage: state.kvStorage
|
|
2944
|
+
kvStorage: state.kvStorage,
|
|
2945
|
+
startTs: state.startTs,
|
|
2946
|
+
connectableTs: state.connectableTs,
|
|
2947
|
+
sleepTs: state.sleepTs,
|
|
2948
|
+
destroyTs: state.destroyTs
|
|
2640
2949
|
};
|
|
2641
|
-
const serializedState = ACTOR_STATE_VERSIONED.serializeWithEmbeddedVersion(
|
|
2950
|
+
const serializedState = ACTOR_STATE_VERSIONED.serializeWithEmbeddedVersion(
|
|
2951
|
+
bareState,
|
|
2952
|
+
CURRENT_VERSION2
|
|
2953
|
+
);
|
|
2642
2954
|
const fs = getNodeFs();
|
|
2643
2955
|
await fs.writeFile(tempPath, serializedState);
|
|
2644
2956
|
if (!this.isGenerationCurrentAndNotDestroyed(actorId, generation)) {
|
|
@@ -2719,6 +3031,13 @@ var FileSystemGlobalState = class {
|
|
|
2719
3031
|
entry.state.key,
|
|
2720
3032
|
"unknown"
|
|
2721
3033
|
);
|
|
3034
|
+
const now = BigInt(Date.now());
|
|
3035
|
+
entry.state = {
|
|
3036
|
+
...entry.state,
|
|
3037
|
+
startTs: now,
|
|
3038
|
+
connectableTs: now
|
|
3039
|
+
};
|
|
3040
|
+
await this.writeActor(actorId, entry.generation, entry.state);
|
|
2722
3041
|
entry.startPromise.resolve();
|
|
2723
3042
|
entry.startPromise = void 0;
|
|
2724
3043
|
return entry.actor;
|
|
@@ -3293,7 +3612,11 @@ var FileSystemManagerDriver = class {
|
|
|
3293
3612
|
actorId: actor2.actorId,
|
|
3294
3613
|
name: actor2.name,
|
|
3295
3614
|
key: actor2.key,
|
|
3296
|
-
createTs: Number(actor2.createdAt)
|
|
3615
|
+
createTs: Number(actor2.createdAt),
|
|
3616
|
+
startTs: actor2.startTs !== null ? Number(actor2.startTs) : null,
|
|
3617
|
+
connectableTs: actor2.connectableTs !== null ? Number(actor2.connectableTs) : null,
|
|
3618
|
+
sleepTs: actor2.sleepTs !== null ? Number(actor2.sleepTs) : null,
|
|
3619
|
+
destroyTs: actor2.destroyTs !== null ? Number(actor2.destroyTs) : null
|
|
3297
3620
|
});
|
|
3298
3621
|
}
|
|
3299
3622
|
}
|
|
@@ -4237,17 +4560,17 @@ async function createTestWebSocketProxy(clientWsPromise) {
|
|
|
4237
4560
|
import { z as z5 } from "zod";
|
|
4238
4561
|
var ServerlessStartHeadersSchema = z5.object({
|
|
4239
4562
|
endpoint: z5.string({
|
|
4240
|
-
|
|
4563
|
+
error: "x-rivet-endpoint header is required"
|
|
4241
4564
|
}),
|
|
4242
|
-
token: z5.string({
|
|
4565
|
+
token: z5.string({ error: "x-rivet-token header must be a string" }).optional(),
|
|
4243
4566
|
totalSlots: z5.coerce.number({
|
|
4244
|
-
|
|
4245
|
-
}).int("x-rivet-total-slots header must be an integer").gte(1, "x-rivet-total-slots header must be positive"),
|
|
4567
|
+
error: "x-rivet-total-slots header must be a number"
|
|
4568
|
+
}).int({ error: "x-rivet-total-slots header must be an integer" }).gte(1, { error: "x-rivet-total-slots header must be positive" }),
|
|
4246
4569
|
runnerName: z5.string({
|
|
4247
|
-
|
|
4570
|
+
error: "x-rivet-runner-name header is required"
|
|
4248
4571
|
}),
|
|
4249
4572
|
namespace: z5.string({
|
|
4250
|
-
|
|
4573
|
+
error: "x-rivet-namespace-name header is required"
|
|
4251
4574
|
})
|
|
4252
4575
|
});
|
|
4253
4576
|
|
|
@@ -4754,10 +5077,10 @@ function createApiActor(actor2, runnerName = "default") {
|
|
|
4754
5077
|
// Assert default namespace
|
|
4755
5078
|
runner_name_selector: runnerName,
|
|
4756
5079
|
create_ts: actor2.createTs ?? Date.now(),
|
|
4757
|
-
connectable_ts: null,
|
|
4758
|
-
destroy_ts: null,
|
|
4759
|
-
sleep_ts: null,
|
|
4760
|
-
start_ts: null
|
|
5080
|
+
connectable_ts: actor2.connectableTs ?? null,
|
|
5081
|
+
destroy_ts: actor2.destroyTs ?? null,
|
|
5082
|
+
sleep_ts: actor2.sleepTs ?? null,
|
|
5083
|
+
start_ts: actor2.startTs ?? null
|
|
4761
5084
|
};
|
|
4762
5085
|
}
|
|
4763
5086
|
|
|
@@ -4814,76 +5137,76 @@ var Registry = class {
|
|
|
4814
5137
|
get config() {
|
|
4815
5138
|
return this.#config;
|
|
4816
5139
|
}
|
|
4817
|
-
constructor(
|
|
4818
|
-
this.#config =
|
|
5140
|
+
constructor(config4) {
|
|
5141
|
+
this.#config = config4;
|
|
4819
5142
|
}
|
|
4820
5143
|
/**
|
|
4821
5144
|
* Runs the registry for a server.
|
|
4822
5145
|
*/
|
|
4823
5146
|
start(inputConfig) {
|
|
4824
5147
|
var _a, _b, _c;
|
|
4825
|
-
const
|
|
4826
|
-
if (
|
|
5148
|
+
const config4 = RunnerConfigSchema.parse(inputConfig);
|
|
5149
|
+
if (config4.autoConfigureServerless && config4.runnerKind !== "serverless") {
|
|
4827
5150
|
throw new Error(
|
|
4828
5151
|
"autoConfigureServerless can only be configured when runnerKind is 'serverless'"
|
|
4829
5152
|
);
|
|
4830
5153
|
}
|
|
4831
5154
|
const readyPromises = [];
|
|
4832
|
-
if (
|
|
5155
|
+
if (config4.runnerKind === "serverless") {
|
|
4833
5156
|
logger7().debug("disabling health check since using serverless");
|
|
4834
|
-
|
|
5157
|
+
config4.disableMetadataLookup = true;
|
|
4835
5158
|
}
|
|
4836
|
-
if (process.env.NODE_ENV !== "production" &&
|
|
4837
|
-
if ((inputConfig == null ? void 0 : inputConfig.runEngine) === void 0)
|
|
5159
|
+
if (process.env.NODE_ENV !== "production" && config4.runnerKind === "serverless") {
|
|
5160
|
+
if ((inputConfig == null ? void 0 : inputConfig.runEngine) === void 0) config4.runEngine = true;
|
|
4838
5161
|
if ((inputConfig == null ? void 0 : inputConfig.autoConfigureServerless) === void 0)
|
|
4839
|
-
|
|
5162
|
+
config4.autoConfigureServerless = true;
|
|
4840
5163
|
}
|
|
4841
|
-
if (
|
|
5164
|
+
if (config4.runEngine) {
|
|
4842
5165
|
logger7().debug({
|
|
4843
5166
|
msg: "run engine requested",
|
|
4844
|
-
version:
|
|
5167
|
+
version: config4.runEngineVersion
|
|
4845
5168
|
});
|
|
4846
5169
|
invariant7(
|
|
4847
|
-
|
|
5170
|
+
config4.endpoint === void 0,
|
|
4848
5171
|
"cannot specify 'endpoint' with 'runEngine'"
|
|
4849
5172
|
);
|
|
4850
|
-
|
|
4851
|
-
|
|
5173
|
+
config4.endpoint = ENGINE_ENDPOINT;
|
|
5174
|
+
config4.disableActorDriver = true;
|
|
4852
5175
|
const engineProcessPromise = ensureEngineProcess({
|
|
4853
|
-
version:
|
|
5176
|
+
version: config4.runEngineVersion
|
|
4854
5177
|
});
|
|
4855
5178
|
readyPromises.push(engineProcessPromise);
|
|
4856
5179
|
}
|
|
4857
|
-
if (
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
|
|
5180
|
+
if (config4.runnerKind === "serverless") {
|
|
5181
|
+
config4.defaultServerPort = 8080;
|
|
5182
|
+
config4.overrideServerAddress = config4.endpoint;
|
|
5183
|
+
config4.disableActorDriver = true;
|
|
4861
5184
|
}
|
|
4862
|
-
if ((_a =
|
|
4863
|
-
configureBaseLogger(
|
|
5185
|
+
if ((_a = config4.logging) == null ? void 0 : _a.baseLogger) {
|
|
5186
|
+
configureBaseLogger(config4.logging.baseLogger);
|
|
4864
5187
|
} else {
|
|
4865
|
-
configureDefaultLogger((_b =
|
|
5188
|
+
configureDefaultLogger((_b = config4.logging) == null ? void 0 : _b.level);
|
|
4866
5189
|
}
|
|
4867
|
-
const driver = chooseDefaultDriver(
|
|
5190
|
+
const driver = chooseDefaultDriver(config4);
|
|
4868
5191
|
if (driver.name === "engine") {
|
|
4869
|
-
|
|
4870
|
-
if (
|
|
4871
|
-
|
|
5192
|
+
config4.inspector.enabled = { manager: false, actor: true };
|
|
5193
|
+
if (config4.runnerKind !== "serverless") {
|
|
5194
|
+
config4.disableDefaultServer = true;
|
|
4872
5195
|
}
|
|
4873
5196
|
}
|
|
4874
5197
|
if (driver.name === "cloudflare-workers") {
|
|
4875
|
-
|
|
4876
|
-
|
|
4877
|
-
|
|
4878
|
-
|
|
5198
|
+
config4.inspector.enabled = { manager: false, actor: true };
|
|
5199
|
+
config4.disableDefaultServer = true;
|
|
5200
|
+
config4.disableActorDriver = true;
|
|
5201
|
+
config4.noWelcome = true;
|
|
4879
5202
|
}
|
|
4880
5203
|
let upgradeWebSocket;
|
|
4881
|
-
if (!
|
|
4882
|
-
|
|
5204
|
+
if (!config4.getUpgradeWebSocket) {
|
|
5205
|
+
config4.getUpgradeWebSocket = () => upgradeWebSocket;
|
|
4883
5206
|
}
|
|
4884
|
-
const managerDriver = driver.manager(this.#config,
|
|
4885
|
-
configureInspectorAccessToken(
|
|
4886
|
-
const client = createClientWithDriver(managerDriver,
|
|
5207
|
+
const managerDriver = driver.manager(this.#config, config4);
|
|
5208
|
+
configureInspectorAccessToken(config4, managerDriver);
|
|
5209
|
+
const client = createClientWithDriver(managerDriver, config4);
|
|
4887
5210
|
const driverLog = ((_c = managerDriver.extraStartupLog) == null ? void 0 : _c.call(managerDriver)) ?? {};
|
|
4888
5211
|
logger7().info({
|
|
4889
5212
|
msg: "rivetkit ready",
|
|
@@ -4891,59 +5214,59 @@ var Registry = class {
|
|
|
4891
5214
|
definitions: Object.keys(this.#config.use).length,
|
|
4892
5215
|
...driverLog
|
|
4893
5216
|
});
|
|
4894
|
-
if (isInspectorEnabled(
|
|
5217
|
+
if (isInspectorEnabled(config4, "manager") && managerDriver.inspector) {
|
|
4895
5218
|
logger7().info({
|
|
4896
5219
|
msg: "inspector ready",
|
|
4897
|
-
url: getInspectorUrl(
|
|
5220
|
+
url: getInspectorUrl(config4)
|
|
4898
5221
|
});
|
|
4899
5222
|
}
|
|
4900
|
-
if (!
|
|
5223
|
+
if (!config4.noWelcome) {
|
|
4901
5224
|
const displayInfo = managerDriver.displayInformation();
|
|
4902
5225
|
console.log();
|
|
4903
5226
|
console.log(` RivetKit ${package_default.version} (${displayInfo.name})`);
|
|
4904
|
-
if (!
|
|
4905
|
-
console.log(` - Endpoint: ${getEndpoint(
|
|
4906
|
-
} else if (
|
|
5227
|
+
if (!config4.disableDefaultServer) {
|
|
5228
|
+
console.log(` - Endpoint: ${getEndpoint(config4)}`);
|
|
5229
|
+
} else if (config4.overrideServerAddress) {
|
|
4907
5230
|
console.log(
|
|
4908
|
-
` - Endpoint: ${
|
|
5231
|
+
` - Endpoint: ${config4.overrideServerAddress}`
|
|
4909
5232
|
);
|
|
4910
5233
|
}
|
|
4911
|
-
if (
|
|
5234
|
+
if (config4.runEngine) {
|
|
4912
5235
|
const padding = " ".repeat(Math.max(0, 13 - "Engine".length));
|
|
4913
|
-
console.log(` - Engine:${padding}v${
|
|
5236
|
+
console.log(` - Engine:${padding}v${config4.runEngineVersion}`);
|
|
4914
5237
|
}
|
|
4915
5238
|
for (const [k, v] of Object.entries(displayInfo.properties)) {
|
|
4916
5239
|
const padding = " ".repeat(Math.max(0, 13 - k.length));
|
|
4917
5240
|
console.log(` - ${k}:${padding}${v}`);
|
|
4918
5241
|
}
|
|
4919
|
-
if (isInspectorEnabled(
|
|
4920
|
-
console.log(` - Inspector: ${getInspectorUrl(
|
|
5242
|
+
if (isInspectorEnabled(config4, "manager") && managerDriver.inspector) {
|
|
5243
|
+
console.log(` - Inspector: ${getInspectorUrl(config4)}`);
|
|
4921
5244
|
}
|
|
4922
5245
|
console.log();
|
|
4923
5246
|
}
|
|
4924
5247
|
const { router: hono } = createManagerRouter(
|
|
4925
5248
|
this.#config,
|
|
4926
|
-
|
|
5249
|
+
config4,
|
|
4927
5250
|
managerDriver,
|
|
4928
5251
|
driver,
|
|
4929
5252
|
client
|
|
4930
5253
|
);
|
|
4931
|
-
if (!
|
|
5254
|
+
if (!config4.disableDefaultServer) {
|
|
4932
5255
|
const serverPromise = (async () => {
|
|
4933
|
-
const out = await crossPlatformServe(
|
|
5256
|
+
const out = await crossPlatformServe(config4, hono);
|
|
4934
5257
|
upgradeWebSocket = out.upgradeWebSocket;
|
|
4935
5258
|
})();
|
|
4936
5259
|
readyPromises.push(serverPromise);
|
|
4937
5260
|
}
|
|
4938
|
-
if (!
|
|
5261
|
+
if (!config4.disableActorDriver) {
|
|
4939
5262
|
Promise.all(readyPromises).then(async () => {
|
|
4940
5263
|
logger7().debug("starting actor driver");
|
|
4941
|
-
driver.actor(this.#config,
|
|
5264
|
+
driver.actor(this.#config, config4, managerDriver, client);
|
|
4942
5265
|
});
|
|
4943
5266
|
}
|
|
4944
|
-
if (
|
|
5267
|
+
if (config4.runnerKind === "serverless" && config4.autoConfigureServerless) {
|
|
4945
5268
|
Promise.all(readyPromises).then(async () => {
|
|
4946
|
-
await configureServerlessRunner(
|
|
5269
|
+
await configureServerlessRunner(config4);
|
|
4947
5270
|
});
|
|
4948
5271
|
}
|
|
4949
5272
|
return {
|
|
@@ -4952,67 +5275,67 @@ var Registry = class {
|
|
|
4952
5275
|
};
|
|
4953
5276
|
}
|
|
4954
5277
|
};
|
|
4955
|
-
async function configureServerlessRunner(
|
|
5278
|
+
async function configureServerlessRunner(config4) {
|
|
4956
5279
|
logger7().debug("configuring serverless runner");
|
|
4957
5280
|
try {
|
|
4958
|
-
if (!
|
|
5281
|
+
if (!config4.runnerName) {
|
|
4959
5282
|
throw new Error(
|
|
4960
5283
|
"runnerName is required for serverless configuration"
|
|
4961
5284
|
);
|
|
4962
5285
|
}
|
|
4963
|
-
if (!
|
|
5286
|
+
if (!config4.namespace) {
|
|
4964
5287
|
throw new Error(
|
|
4965
5288
|
"namespace is required for serverless configuration"
|
|
4966
5289
|
);
|
|
4967
5290
|
}
|
|
4968
|
-
if (!
|
|
5291
|
+
if (!config4.endpoint) {
|
|
4969
5292
|
throw new Error(
|
|
4970
5293
|
"endpoint is required for serverless configuration"
|
|
4971
5294
|
);
|
|
4972
5295
|
}
|
|
4973
|
-
const customConfig = typeof
|
|
5296
|
+
const customConfig = typeof config4.autoConfigureServerless === "object" ? config4.autoConfigureServerless : {};
|
|
4974
5297
|
const clientConfig = {
|
|
4975
|
-
endpoint:
|
|
4976
|
-
token:
|
|
4977
|
-
namespace:
|
|
4978
|
-
runnerName:
|
|
4979
|
-
encoding:
|
|
4980
|
-
headers:
|
|
4981
|
-
getUpgradeWebSocket:
|
|
5298
|
+
endpoint: config4.endpoint,
|
|
5299
|
+
token: config4.token,
|
|
5300
|
+
namespace: config4.namespace,
|
|
5301
|
+
runnerName: config4.runnerName,
|
|
5302
|
+
encoding: config4.encoding,
|
|
5303
|
+
headers: config4.headers,
|
|
5304
|
+
getUpgradeWebSocket: config4.getUpgradeWebSocket,
|
|
4982
5305
|
disableMetadataLookup: true
|
|
4983
5306
|
// We don't need health check for this operation
|
|
4984
5307
|
};
|
|
4985
5308
|
logger7().debug({
|
|
4986
5309
|
msg: "fetching datacenters",
|
|
4987
|
-
endpoint:
|
|
5310
|
+
endpoint: config4.endpoint
|
|
4988
5311
|
});
|
|
4989
5312
|
const dcsRes = await getDatacenters(clientConfig);
|
|
4990
5313
|
logger7().debug({
|
|
4991
5314
|
msg: "configuring serverless runner",
|
|
4992
|
-
runnerName:
|
|
4993
|
-
namespace:
|
|
5315
|
+
runnerName: config4.runnerName,
|
|
5316
|
+
namespace: config4.namespace
|
|
4994
5317
|
});
|
|
4995
5318
|
const serverlessConfig = {
|
|
4996
5319
|
serverless: {
|
|
4997
|
-
url: customConfig.url || `http://localhost:${
|
|
5320
|
+
url: customConfig.url || `http://localhost:${config4.defaultServerPort}`,
|
|
4998
5321
|
headers: customConfig.headers || {},
|
|
4999
5322
|
max_runners: customConfig.maxRunners ?? 100,
|
|
5000
5323
|
min_runners: customConfig.minRunners ?? 0,
|
|
5001
5324
|
request_lifespan: customConfig.requestLifespan ?? 15 * 60,
|
|
5002
5325
|
runners_margin: customConfig.runnersMargin ?? 0,
|
|
5003
|
-
slots_per_runner: customConfig.slotsPerRunner ??
|
|
5326
|
+
slots_per_runner: customConfig.slotsPerRunner ?? config4.totalSlots ?? 1e3
|
|
5004
5327
|
},
|
|
5005
5328
|
metadata: customConfig.metadata ?? {}
|
|
5006
5329
|
};
|
|
5007
|
-
await updateRunnerConfig(clientConfig,
|
|
5330
|
+
await updateRunnerConfig(clientConfig, config4.runnerName, {
|
|
5008
5331
|
datacenters: Object.fromEntries(
|
|
5009
5332
|
dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
|
|
5010
5333
|
)
|
|
5011
5334
|
});
|
|
5012
5335
|
logger7().info({
|
|
5013
5336
|
msg: "serverless runner configured successfully",
|
|
5014
|
-
runnerName:
|
|
5015
|
-
namespace:
|
|
5337
|
+
runnerName: config4.runnerName,
|
|
5338
|
+
namespace: config4.namespace
|
|
5016
5339
|
});
|
|
5017
5340
|
} catch (error) {
|
|
5018
5341
|
logger7().error({
|
|
@@ -5022,8 +5345,8 @@ async function configureServerlessRunner(config2) {
|
|
|
5022
5345
|
}
|
|
5023
5346
|
}
|
|
5024
5347
|
function setup(input) {
|
|
5025
|
-
const
|
|
5026
|
-
return new Registry(
|
|
5348
|
+
const config4 = RegistryConfigSchema.parse(input);
|
|
5349
|
+
return new Registry(config4);
|
|
5027
5350
|
}
|
|
5028
5351
|
|
|
5029
5352
|
export {
|
|
@@ -5041,4 +5364,4 @@ export {
|
|
|
5041
5364
|
setup
|
|
5042
5365
|
};
|
|
5043
5366
|
//! These configs configs hold anything that's not platform-specific about running actors.
|
|
5044
|
-
//# sourceMappingURL=chunk-
|
|
5367
|
+
//# sourceMappingURL=chunk-QKDCNAPW.js.map
|