rivetkit 2.3.0-rc.5 → 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 +35 -3
- package/dist/browser/client.js +795 -200
- 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 +4 -2
- package/dist/tsup/actor/errors.cjs.map +1 -1
- package/dist/tsup/actor/errors.d.cts +1 -74
- package/dist/tsup/actor/errors.d.ts +1 -74
- package/dist/tsup/actor/errors.js +3 -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 +35 -3
- package/dist/tsup/agent-os/index.d.ts +35 -3
- package/dist/tsup/agent-os/index.js +7 -5
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-2GANBXVP.cjs → chunk-2H4ISA4Y.cjs} +10 -10
- package/dist/tsup/chunk-2H4ISA4Y.cjs.map +1 -0
- package/dist/tsup/{chunk-UXTP4EBU.js → chunk-4DJMFOSU.js} +2 -2
- package/dist/tsup/{chunk-LDTT6WKJ.js → chunk-4LTY5TOO.js} +132 -4
- package/dist/tsup/chunk-4LTY5TOO.js.map +1 -0
- package/dist/tsup/{chunk-PGYEMIOE.js → chunk-52TPEKEC.js} +2 -2
- package/dist/tsup/{chunk-OVJX4IFY.cjs → chunk-55E7IR6D.cjs} +4 -4
- package/dist/tsup/{chunk-OVJX4IFY.cjs.map → chunk-55E7IR6D.cjs.map} +1 -1
- package/dist/tsup/{chunk-V3QNBJ7N.cjs → chunk-63WNTDRC.cjs} +31 -10
- package/dist/tsup/chunk-63WNTDRC.cjs.map +1 -0
- package/dist/tsup/{chunk-SULB574D.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-NW2J4SOL.cjs → chunk-FEOG44WH.cjs} +137 -9
- package/dist/tsup/chunk-FEOG44WH.cjs.map +1 -0
- package/dist/tsup/{chunk-HR547GVH.cjs → chunk-G5HUSWP4.cjs} +8 -8
- package/dist/tsup/{chunk-HR547GVH.cjs.map → chunk-G5HUSWP4.cjs.map} +1 -1
- package/dist/tsup/{chunk-N2DQSJIW.js → chunk-HERL2VQ2.js} +17 -48
- package/dist/tsup/chunk-HERL2VQ2.js.map +1 -0
- package/dist/tsup/{chunk-LELRJK66.cjs → chunk-SJLPZEA3.cjs} +3 -3
- package/dist/tsup/{chunk-LELRJK66.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-K34B3OVG.js → chunk-TMLOKTRB.js} +30 -9
- package/dist/tsup/chunk-TMLOKTRB.js.map +1 -0
- package/dist/tsup/{chunk-NATOT3ET.js → chunk-VFIY6GWO.js} +4 -4
- package/dist/tsup/chunk-VFIY6GWO.js.map +1 -0
- package/dist/tsup/{chunk-JY73X7VU.js → chunk-VJ4Y4WBT.js} +692 -114
- package/dist/tsup/chunk-VJ4Y4WBT.js.map +1 -0
- package/dist/tsup/{chunk-JRCZDHXT.cjs → chunk-X6HIFXNK.cjs} +23 -54
- package/dist/tsup/chunk-X6HIFXNK.cjs.map +1 -0
- package/dist/tsup/{chunk-FTZIZ3JG.cjs → chunk-ZGPX6KAH.cjs} +838 -260
- package/dist/tsup/chunk-ZGPX6KAH.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +7 -7
- package/dist/tsup/client/mod.d.cts +3 -4
- package/dist/tsup/client/mod.d.ts +3 -4
- 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-CvQUtDp9.d.ts → config-Ak1lv4gF.d.ts} +27 -5
- package/dist/tsup/{config-C-a9vrke.d.cts → config-DU_xj4qZ.d.cts} +27 -5
- package/dist/tsup/{context-A7R0bsZL.d.ts → context-DAAp4Lpg.d.ts} +1 -1
- package/dist/tsup/{context-CA3r-pf2.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 +507 -308
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +4 -5
- package/dist/tsup/mod.d.ts +4 -5
- package/dist/tsup/mod.js +432 -233
- 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 +2 -3
- package/dist/tsup/test/mod.d.ts +2 -3
- package/dist/tsup/test/mod.js +6 -6
- package/dist/tsup/utils-DVekpm4I.d.cts +103 -0
- package/dist/tsup/utils-DVekpm4I.d.ts +103 -0
- package/dist/tsup/utils.cjs +3 -3
- package/dist/tsup/utils.d.cts +1 -1
- package/dist/tsup/utils.d.ts +1 -1
- 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 +4 -5
- package/dist/tsup/workflow/mod.d.ts +4 -5
- 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 +53 -7
- package/src/agent-os/actor/session.ts +2 -2
- package/src/client/actor-conn.ts +55 -60
- package/src/client/actor-handle.ts +59 -24
- package/src/client/errors.ts +2 -1
- package/src/client/queue.ts +2 -1
- package/src/client/raw-utils.ts +2 -4
- package/src/client/utils.ts +32 -4
- package/src/common/actor-router-consts.ts +4 -0
- package/src/common/bare/generated/client-protocol/v4.ts +599 -0
- package/src/common/client-protocol-versioned.ts +125 -18
- package/src/common/client-protocol-zod.ts +7 -0
- package/src/common/client-protocol.ts +1 -1
- package/src/common/database/native-database.test.ts +35 -0
- package/src/common/database/native-database.ts +8 -4
- 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 +40 -10
- package/src/common/utils.ts +9 -200
- package/src/drivers/engine/actor-driver.ts +29 -28
- package/src/engine-client/actor-websocket-client.ts +2 -1
- package/src/engine-client/mod.ts +3 -2
- package/src/registry/config/index.ts +3 -5
- package/src/registry/index.ts +90 -16
- package/src/registry/napi-runtime.ts +15 -0
- package/src/registry/native.ts +197 -255
- package/src/registry/process-metrics.ts +183 -0
- package/src/registry/runtime.ts +4 -0
- package/src/registry/wasm-runtime.ts +9 -0
- 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-2GANBXVP.cjs.map +0 -1
- package/dist/tsup/chunk-FTZIZ3JG.cjs.map +0 -1
- package/dist/tsup/chunk-JRCZDHXT.cjs.map +0 -1
- package/dist/tsup/chunk-JY73X7VU.js.map +0 -1
- package/dist/tsup/chunk-K34B3OVG.js.map +0 -1
- package/dist/tsup/chunk-LDTT6WKJ.js.map +0 -1
- package/dist/tsup/chunk-N2DQSJIW.js.map +0 -1
- package/dist/tsup/chunk-NATOT3ET.js.map +0 -1
- package/dist/tsup/chunk-NW2J4SOL.cjs.map +0 -1
- package/dist/tsup/chunk-T6YVRM4K.js.map +0 -1
- package/dist/tsup/chunk-V3QNBJ7N.cjs.map +0 -1
- package/dist/tsup/chunk-WQ4HNA4W.cjs.map +0 -1
- package/dist/tsup/utils-fwx3o3K9.d.cts +0 -18
- package/dist/tsup/utils-fwx3o3K9.d.ts +0 -18
- /package/dist/tsup/{chunk-UXTP4EBU.js.map → chunk-4DJMFOSU.js.map} +0 -0
- /package/dist/tsup/{chunk-PGYEMIOE.js.map → chunk-52TPEKEC.js.map} +0 -0
- /package/dist/tsup/{chunk-SULB574D.js.map → chunk-CMV6N5OX.js.map} +0 -0
package/dist/browser/client.js
CHANGED
|
@@ -3,7 +3,7 @@ var INTERNAL_ERROR_CODE = "internal_error";
|
|
|
3
3
|
var INTERNAL_ERROR_DESCRIPTION = "An internal error occurred";
|
|
4
4
|
var USER_ERROR_CODE = "user_error";
|
|
5
5
|
function looksLikeRivetErrorOptions(value) {
|
|
6
|
-
return typeof value === "object" && value !== null && ("public" in value || "metadata" in value || "statusCode" in value || "cause" in value);
|
|
6
|
+
return typeof value === "object" && value !== null && ("public" in value || "metadata" in value || "statusCode" in value || "actor" in value || "cause" in value);
|
|
7
7
|
}
|
|
8
8
|
function isTypedErrorTag(value) {
|
|
9
9
|
return value === "ActorError" || value === "RivetError";
|
|
@@ -22,6 +22,7 @@ var RivetError = class extends Error {
|
|
|
22
22
|
public;
|
|
23
23
|
metadata;
|
|
24
24
|
statusCode;
|
|
25
|
+
actor;
|
|
25
26
|
group;
|
|
26
27
|
code;
|
|
27
28
|
static isRivetError(error) {
|
|
@@ -39,6 +40,7 @@ var RivetError = class extends Error {
|
|
|
39
40
|
this.public = normalized.public ?? false;
|
|
40
41
|
this.metadata = normalized.metadata;
|
|
41
42
|
this.statusCode = normalized.statusCode ?? (this.public ? 400 : 500);
|
|
43
|
+
this.actor = normalized.actor;
|
|
42
44
|
}
|
|
43
45
|
toString() {
|
|
44
46
|
return this.message;
|
|
@@ -93,13 +95,14 @@ function assertUnreachable(x) {
|
|
|
93
95
|
function isCanonicalStructuredRivetError(error) {
|
|
94
96
|
return error instanceof RivetError || typeof error === "object" && error !== null && "__type" in error && error.__type === "RivetError" && "group" in error && typeof error.group === "string" && "code" in error && typeof error.code === "string" && "message" in error && typeof error.message === "string";
|
|
95
97
|
}
|
|
96
|
-
function deconstructError(error,
|
|
98
|
+
function deconstructError(error, exposeInternalError = false) {
|
|
97
99
|
let statusCode;
|
|
98
100
|
let public_;
|
|
99
101
|
let group;
|
|
100
102
|
let code;
|
|
101
103
|
let message;
|
|
102
104
|
let metadata;
|
|
105
|
+
let actor;
|
|
103
106
|
if (isCanonicalStructuredRivetError(error)) {
|
|
104
107
|
statusCode = typeof error.statusCode === "number" ? error.statusCode : error.public ? 400 : 500;
|
|
105
108
|
public_ = error.public ?? false;
|
|
@@ -107,14 +110,7 @@ function deconstructError(error, logger4, extraLog, exposeInternalError = false)
|
|
|
107
110
|
code = error.code;
|
|
108
111
|
message = error.message;
|
|
109
112
|
metadata = error.metadata;
|
|
110
|
-
|
|
111
|
-
msg: "structured error passthrough",
|
|
112
|
-
group,
|
|
113
|
-
code,
|
|
114
|
-
message,
|
|
115
|
-
...EXTRA_ERROR_LOG,
|
|
116
|
-
...extraLog
|
|
117
|
-
});
|
|
113
|
+
actor = error.actor;
|
|
118
114
|
} else if (RivetError.isActorError(error) && error.public) {
|
|
119
115
|
statusCode = "statusCode" in error && error.statusCode ? error.statusCode : 400;
|
|
120
116
|
public_ = true;
|
|
@@ -122,14 +118,7 @@ function deconstructError(error, logger4, extraLog, exposeInternalError = false)
|
|
|
122
118
|
code = error.code;
|
|
123
119
|
message = getErrorMessage(error);
|
|
124
120
|
metadata = error.metadata;
|
|
125
|
-
|
|
126
|
-
msg: "public error",
|
|
127
|
-
group,
|
|
128
|
-
code,
|
|
129
|
-
message,
|
|
130
|
-
...EXTRA_ERROR_LOG,
|
|
131
|
-
...extraLog
|
|
132
|
-
});
|
|
121
|
+
actor = error.actor;
|
|
133
122
|
} else if (exposeInternalError) {
|
|
134
123
|
if (RivetError.isActorError(error)) {
|
|
135
124
|
statusCode = 500;
|
|
@@ -138,30 +127,13 @@ function deconstructError(error, logger4, extraLog, exposeInternalError = false)
|
|
|
138
127
|
code = error.code;
|
|
139
128
|
message = getErrorMessage(error);
|
|
140
129
|
metadata = error.metadata;
|
|
141
|
-
|
|
142
|
-
msg: "internal error",
|
|
143
|
-
group,
|
|
144
|
-
code,
|
|
145
|
-
message,
|
|
146
|
-
stack: error?.stack,
|
|
147
|
-
...EXTRA_ERROR_LOG,
|
|
148
|
-
...extraLog
|
|
149
|
-
});
|
|
130
|
+
actor = error.actor;
|
|
150
131
|
} else {
|
|
151
132
|
statusCode = 500;
|
|
152
133
|
public_ = false;
|
|
153
134
|
group = "rivetkit";
|
|
154
135
|
code = INTERNAL_ERROR_CODE;
|
|
155
136
|
message = getErrorMessage(error);
|
|
156
|
-
logger4.info({
|
|
157
|
-
msg: "internal error",
|
|
158
|
-
group,
|
|
159
|
-
code,
|
|
160
|
-
message,
|
|
161
|
-
stack: error?.stack,
|
|
162
|
-
...EXTRA_ERROR_LOG,
|
|
163
|
-
...extraLog
|
|
164
|
-
});
|
|
165
137
|
}
|
|
166
138
|
} else {
|
|
167
139
|
statusCode = 500;
|
|
@@ -169,16 +141,12 @@ function deconstructError(error, logger4, extraLog, exposeInternalError = false)
|
|
|
169
141
|
group = "rivetkit";
|
|
170
142
|
code = INTERNAL_ERROR_CODE;
|
|
171
143
|
message = INTERNAL_ERROR_DESCRIPTION;
|
|
144
|
+
if (RivetError.isActorError(error)) {
|
|
145
|
+
actor = error.actor;
|
|
146
|
+
}
|
|
172
147
|
metadata = {
|
|
173
148
|
//url: `https://hub.rivet.dev/projects/${actorMetadata.project.slug}/environments/${actorMetadata.environment.slug}/actors?actorId=${actorMetadata.actor.id}`,
|
|
174
149
|
};
|
|
175
|
-
logger4.warn({
|
|
176
|
-
msg: "internal error",
|
|
177
|
-
error: getErrorMessage(error),
|
|
178
|
-
stack: error?.stack,
|
|
179
|
-
...EXTRA_ERROR_LOG,
|
|
180
|
-
...extraLog
|
|
181
|
-
});
|
|
182
150
|
}
|
|
183
151
|
return {
|
|
184
152
|
__type: "ActorError",
|
|
@@ -187,7 +155,8 @@ function deconstructError(error, logger4, extraLog, exposeInternalError = false)
|
|
|
187
155
|
group,
|
|
188
156
|
code,
|
|
189
157
|
message,
|
|
190
|
-
metadata
|
|
158
|
+
metadata,
|
|
159
|
+
actor
|
|
191
160
|
};
|
|
192
161
|
}
|
|
193
162
|
function stringifyError(error) {
|
|
@@ -231,7 +200,7 @@ function noopNext() {
|
|
|
231
200
|
// package.json
|
|
232
201
|
var package_default = {
|
|
233
202
|
name: "rivetkit",
|
|
234
|
-
version: "2.3.0-rc.
|
|
203
|
+
version: "2.3.0-rc.7",
|
|
235
204
|
description: "Lightweight libraries for building stateful actors on edge platforms",
|
|
236
205
|
license: "Apache-2.0",
|
|
237
206
|
keywords: [
|
|
@@ -399,13 +368,14 @@ var package_default = {
|
|
|
399
368
|
"actor-config-schema-gen": "tsx scripts/actor-config-schema-gen.ts"
|
|
400
369
|
},
|
|
401
370
|
dependencies: {
|
|
402
|
-
"@rivet-dev/agent-os-core": "^0.1.1",
|
|
403
371
|
"@hono/node-server": "^1.18.2",
|
|
404
372
|
"@hono/node-ws": "^1.1.1",
|
|
405
373
|
"@hono/zod-openapi": "^1.1.5",
|
|
374
|
+
"@rivet-dev/agent-os-core": "^0.1.1",
|
|
406
375
|
"@rivetkit/bare-ts": "^0.6.2",
|
|
407
376
|
"@rivetkit/engine-cli": "workspace:*",
|
|
408
377
|
"@rivetkit/engine-envoy-protocol": "workspace:*",
|
|
378
|
+
"@rivetkit/on-change": "6.0.1",
|
|
409
379
|
"@rivetkit/rivetkit-napi": "workspace:*",
|
|
410
380
|
"@rivetkit/rivetkit-wasm": "workspace:*",
|
|
411
381
|
"@rivetkit/traces": "workspace:*",
|
|
@@ -423,10 +393,10 @@ var package_default = {
|
|
|
423
393
|
zod: "^4.1.0"
|
|
424
394
|
},
|
|
425
395
|
devDependencies: {
|
|
396
|
+
"@biomejs/biome": "^2.3",
|
|
426
397
|
"@copilotkit/llmock": "^1.6.0",
|
|
427
398
|
"@rivet-dev/agent-os-common": "*",
|
|
428
399
|
"@rivet-dev/agent-os-pi": "^0.1.1",
|
|
429
|
-
"@biomejs/biome": "^2.3",
|
|
430
400
|
"@standard-schema/spec": "^1.0.0",
|
|
431
401
|
"@types/invariant": "^2",
|
|
432
402
|
"@types/node": "^22.13.1",
|
|
@@ -502,6 +472,7 @@ function configureDefaultLogger(logLevel) {
|
|
|
502
472
|
messageKey: "msg",
|
|
503
473
|
// Do not include pid/hostname in output
|
|
504
474
|
base: {},
|
|
475
|
+
errorKey: "error",
|
|
505
476
|
// Keep the numeric level so the logfmt sink can match Pino's levels.
|
|
506
477
|
formatters: {
|
|
507
478
|
level(_label, number) {
|
|
@@ -666,11 +637,6 @@ function combineUrlPath(endpoint, path, queryParams) {
|
|
|
666
637
|
const fullQuery = queryParts.length > 0 ? `?${queryParts.join("&")}` : "";
|
|
667
638
|
return `${baseUrl.protocol}//${baseUrl.host}${fullPath}${fullQuery}`;
|
|
668
639
|
}
|
|
669
|
-
var EXTRA_ERROR_LOG = {
|
|
670
|
-
issues: "https://github.com/rivet-dev/rivet/issues",
|
|
671
|
-
support: "https://rivet.dev/discord",
|
|
672
|
-
version: VERSION
|
|
673
|
-
};
|
|
674
640
|
|
|
675
641
|
// src/devtools-loader/log.ts
|
|
676
642
|
function logger() {
|
|
@@ -841,6 +807,10 @@ var JSON_COMPAT_BIGINT = "$BigInt";
|
|
|
841
807
|
var JSON_COMPAT_ARRAY_BUFFER = "$ArrayBuffer";
|
|
842
808
|
var JSON_COMPAT_UINT8_ARRAY = "$Uint8Array";
|
|
843
809
|
var JSON_COMPAT_UNDEFINED = "$Undefined";
|
|
810
|
+
var JSON_COMPAT_SET = "$Set";
|
|
811
|
+
function isTypedArray(value) {
|
|
812
|
+
return value instanceof Uint8ClampedArray || value instanceof Uint16Array || value instanceof Uint32Array || value instanceof BigUint64Array || value instanceof Int8Array || value instanceof Int16Array || value instanceof Int32Array || value instanceof BigInt64Array || value instanceof Float32Array || value instanceof Float64Array;
|
|
813
|
+
}
|
|
844
814
|
var EncodingSchema = z2.enum(["json", "cbor", "bare"]);
|
|
845
815
|
async function inputDataToBuffer(data) {
|
|
846
816
|
if (typeof data === "string") {
|
|
@@ -875,9 +845,15 @@ function isPlainObject(value) {
|
|
|
875
845
|
return proto === Object.prototype || proto === null;
|
|
876
846
|
}
|
|
877
847
|
function encodeJsonCompatValue(input) {
|
|
848
|
+
if (input === null) {
|
|
849
|
+
return input;
|
|
850
|
+
}
|
|
878
851
|
if (input === void 0) {
|
|
879
852
|
return [JSON_COMPAT_UNDEFINED, 0];
|
|
880
853
|
}
|
|
854
|
+
if (typeof input === "string" || typeof input === "number" || typeof input === "boolean") {
|
|
855
|
+
return input;
|
|
856
|
+
}
|
|
881
857
|
if (typeof input === "bigint") {
|
|
882
858
|
return [JSON_COMPAT_BIGINT, input.toString()];
|
|
883
859
|
}
|
|
@@ -887,8 +863,32 @@ function encodeJsonCompatValue(input) {
|
|
|
887
863
|
if (input instanceof Uint8Array) {
|
|
888
864
|
return [JSON_COMPAT_UINT8_ARRAY, base64EncodeUint8Array(input)];
|
|
889
865
|
}
|
|
866
|
+
if (isTypedArray(input)) {
|
|
867
|
+
return input;
|
|
868
|
+
}
|
|
869
|
+
if (input instanceof Date || input instanceof RegExp || input instanceof Error) {
|
|
870
|
+
return input;
|
|
871
|
+
}
|
|
872
|
+
if (input instanceof Set) {
|
|
873
|
+
const encoded = [...input.values()].map(
|
|
874
|
+
(v) => encodeJsonCompatValue(v)
|
|
875
|
+
);
|
|
876
|
+
return [JSON_COMPAT_SET, encoded];
|
|
877
|
+
}
|
|
878
|
+
if (input instanceof Map) {
|
|
879
|
+
const encoded = /* @__PURE__ */ new Map();
|
|
880
|
+
for (const [k, v] of input.entries()) {
|
|
881
|
+
encoded.set(
|
|
882
|
+
encodeJsonCompatValue(k),
|
|
883
|
+
encodeJsonCompatValue(v)
|
|
884
|
+
);
|
|
885
|
+
}
|
|
886
|
+
return encoded;
|
|
887
|
+
}
|
|
890
888
|
if (Array.isArray(input)) {
|
|
891
|
-
const encoded = input.map(
|
|
889
|
+
const encoded = input.map(
|
|
890
|
+
(value) => encodeJsonCompatValue(value)
|
|
891
|
+
);
|
|
892
892
|
if (encoded.length === 2 && typeof encoded[0] === "string" && encoded[0].startsWith("$")) {
|
|
893
893
|
return ["$" + encoded[0], encoded[1]];
|
|
894
894
|
}
|
|
@@ -901,7 +901,10 @@ function encodeJsonCompatValue(input) {
|
|
|
901
901
|
}
|
|
902
902
|
return encoded;
|
|
903
903
|
}
|
|
904
|
-
|
|
904
|
+
const typeName = typeof input === "object" && input !== null ? input.constructor?.name ?? typeof input : typeof input;
|
|
905
|
+
throw new TypeError(
|
|
906
|
+
`Value of type "${typeName}" is not CBOR serializable`
|
|
907
|
+
);
|
|
905
908
|
}
|
|
906
909
|
function reviveJsonCompatValue(input, options = {}) {
|
|
907
910
|
if (typeof input === "bigint") {
|
|
@@ -910,6 +913,16 @@ function reviveJsonCompatValue(input, options = {}) {
|
|
|
910
913
|
}
|
|
911
914
|
return input;
|
|
912
915
|
}
|
|
916
|
+
if (input instanceof Map) {
|
|
917
|
+
const revived = /* @__PURE__ */ new Map();
|
|
918
|
+
for (const [k, v] of input.entries()) {
|
|
919
|
+
revived.set(
|
|
920
|
+
reviveJsonCompatValue(k, options),
|
|
921
|
+
reviveJsonCompatValue(v, options)
|
|
922
|
+
);
|
|
923
|
+
}
|
|
924
|
+
return revived;
|
|
925
|
+
}
|
|
913
926
|
if (Array.isArray(input)) {
|
|
914
927
|
if (input.length === 2 && typeof input[0] === "string" && input[0].startsWith("$")) {
|
|
915
928
|
if (input[0] === JSON_COMPAT_BIGINT) {
|
|
@@ -924,6 +937,12 @@ function reviveJsonCompatValue(input, options = {}) {
|
|
|
924
937
|
if (input[0] === JSON_COMPAT_UNDEFINED) {
|
|
925
938
|
return void 0;
|
|
926
939
|
}
|
|
940
|
+
if (input[0] === JSON_COMPAT_SET) {
|
|
941
|
+
const items = input[1].map(
|
|
942
|
+
(v) => reviveJsonCompatValue(v, options)
|
|
943
|
+
);
|
|
944
|
+
return new Set(items);
|
|
945
|
+
}
|
|
927
946
|
if (input[0].startsWith("$$")) {
|
|
928
947
|
return [
|
|
929
948
|
input[0].substring(1),
|
|
@@ -2694,8 +2713,440 @@ function decodeHttpResolveResponse3(bytes) {
|
|
|
2694
2713
|
return result;
|
|
2695
2714
|
}
|
|
2696
2715
|
|
|
2716
|
+
// src/common/bare/generated/client-protocol/v4.ts
|
|
2717
|
+
import * as bare4 from "@rivetkit/bare-ts";
|
|
2718
|
+
var DEFAULT_CONFIG4 = /* @__PURE__ */ bare4.Config({});
|
|
2719
|
+
function readCbor4(bc) {
|
|
2720
|
+
return bare4.readData(bc);
|
|
2721
|
+
}
|
|
2722
|
+
function writeCbor4(bc, x) {
|
|
2723
|
+
bare4.writeData(bc, x);
|
|
2724
|
+
}
|
|
2725
|
+
function read04(bc) {
|
|
2726
|
+
return bare4.readBool(bc) ? bare4.readString(bc) : null;
|
|
2727
|
+
}
|
|
2728
|
+
function write04(bc, x) {
|
|
2729
|
+
bare4.writeBool(bc, x != null);
|
|
2730
|
+
if (x != null) {
|
|
2731
|
+
bare4.writeString(bc, x);
|
|
2732
|
+
}
|
|
2733
|
+
}
|
|
2734
|
+
function readActorSpecifier(bc) {
|
|
2735
|
+
return {
|
|
2736
|
+
actorId: bare4.readString(bc),
|
|
2737
|
+
generation: bare4.readUint(bc),
|
|
2738
|
+
key: read04(bc)
|
|
2739
|
+
};
|
|
2740
|
+
}
|
|
2741
|
+
function writeActorSpecifier(bc, x) {
|
|
2742
|
+
bare4.writeString(bc, x.actorId);
|
|
2743
|
+
bare4.writeUint(bc, x.generation);
|
|
2744
|
+
write04(bc, x.key);
|
|
2745
|
+
}
|
|
2746
|
+
function readInit4(bc) {
|
|
2747
|
+
return {
|
|
2748
|
+
actorId: bare4.readString(bc),
|
|
2749
|
+
connectionId: bare4.readString(bc)
|
|
2750
|
+
};
|
|
2751
|
+
}
|
|
2752
|
+
function writeInit4(bc, x) {
|
|
2753
|
+
bare4.writeString(bc, x.actorId);
|
|
2754
|
+
bare4.writeString(bc, x.connectionId);
|
|
2755
|
+
}
|
|
2756
|
+
function read14(bc) {
|
|
2757
|
+
return bare4.readBool(bc) ? readCbor4(bc) : null;
|
|
2758
|
+
}
|
|
2759
|
+
function write14(bc, x) {
|
|
2760
|
+
bare4.writeBool(bc, x != null);
|
|
2761
|
+
if (x != null) {
|
|
2762
|
+
writeCbor4(bc, x);
|
|
2763
|
+
}
|
|
2764
|
+
}
|
|
2765
|
+
function read22(bc) {
|
|
2766
|
+
return bare4.readBool(bc) ? bare4.readUint(bc) : null;
|
|
2767
|
+
}
|
|
2768
|
+
function write22(bc, x) {
|
|
2769
|
+
bare4.writeBool(bc, x != null);
|
|
2770
|
+
if (x != null) {
|
|
2771
|
+
bare4.writeUint(bc, x);
|
|
2772
|
+
}
|
|
2773
|
+
}
|
|
2774
|
+
function read32(bc) {
|
|
2775
|
+
return bare4.readBool(bc) ? readActorSpecifier(bc) : null;
|
|
2776
|
+
}
|
|
2777
|
+
function write32(bc, x) {
|
|
2778
|
+
bare4.writeBool(bc, x != null);
|
|
2779
|
+
if (x != null) {
|
|
2780
|
+
writeActorSpecifier(bc, x);
|
|
2781
|
+
}
|
|
2782
|
+
}
|
|
2783
|
+
function readError4(bc) {
|
|
2784
|
+
return {
|
|
2785
|
+
group: bare4.readString(bc),
|
|
2786
|
+
code: bare4.readString(bc),
|
|
2787
|
+
message: bare4.readString(bc),
|
|
2788
|
+
metadata: read14(bc),
|
|
2789
|
+
actionId: read22(bc),
|
|
2790
|
+
actor: read32(bc)
|
|
2791
|
+
};
|
|
2792
|
+
}
|
|
2793
|
+
function writeError4(bc, x) {
|
|
2794
|
+
bare4.writeString(bc, x.group);
|
|
2795
|
+
bare4.writeString(bc, x.code);
|
|
2796
|
+
bare4.writeString(bc, x.message);
|
|
2797
|
+
write14(bc, x.metadata);
|
|
2798
|
+
write22(bc, x.actionId);
|
|
2799
|
+
write32(bc, x.actor);
|
|
2800
|
+
}
|
|
2801
|
+
function readActionResponse4(bc) {
|
|
2802
|
+
return {
|
|
2803
|
+
id: bare4.readUint(bc),
|
|
2804
|
+
output: readCbor4(bc)
|
|
2805
|
+
};
|
|
2806
|
+
}
|
|
2807
|
+
function writeActionResponse4(bc, x) {
|
|
2808
|
+
bare4.writeUint(bc, x.id);
|
|
2809
|
+
writeCbor4(bc, x.output);
|
|
2810
|
+
}
|
|
2811
|
+
function readEvent4(bc) {
|
|
2812
|
+
return {
|
|
2813
|
+
name: bare4.readString(bc),
|
|
2814
|
+
args: readCbor4(bc)
|
|
2815
|
+
};
|
|
2816
|
+
}
|
|
2817
|
+
function writeEvent4(bc, x) {
|
|
2818
|
+
bare4.writeString(bc, x.name);
|
|
2819
|
+
writeCbor4(bc, x.args);
|
|
2820
|
+
}
|
|
2821
|
+
function readToClientBody4(bc) {
|
|
2822
|
+
const offset = bc.offset;
|
|
2823
|
+
const tag = bare4.readU8(bc);
|
|
2824
|
+
switch (tag) {
|
|
2825
|
+
case 0:
|
|
2826
|
+
return { tag: "Init", val: readInit4(bc) };
|
|
2827
|
+
case 1:
|
|
2828
|
+
return { tag: "Error", val: readError4(bc) };
|
|
2829
|
+
case 2:
|
|
2830
|
+
return { tag: "ActionResponse", val: readActionResponse4(bc) };
|
|
2831
|
+
case 3:
|
|
2832
|
+
return { tag: "Event", val: readEvent4(bc) };
|
|
2833
|
+
default: {
|
|
2834
|
+
bc.offset = offset;
|
|
2835
|
+
throw new bare4.BareError(offset, "invalid tag");
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2838
|
+
}
|
|
2839
|
+
function writeToClientBody4(bc, x) {
|
|
2840
|
+
switch (x.tag) {
|
|
2841
|
+
case "Init": {
|
|
2842
|
+
bare4.writeU8(bc, 0);
|
|
2843
|
+
writeInit4(bc, x.val);
|
|
2844
|
+
break;
|
|
2845
|
+
}
|
|
2846
|
+
case "Error": {
|
|
2847
|
+
bare4.writeU8(bc, 1);
|
|
2848
|
+
writeError4(bc, x.val);
|
|
2849
|
+
break;
|
|
2850
|
+
}
|
|
2851
|
+
case "ActionResponse": {
|
|
2852
|
+
bare4.writeU8(bc, 2);
|
|
2853
|
+
writeActionResponse4(bc, x.val);
|
|
2854
|
+
break;
|
|
2855
|
+
}
|
|
2856
|
+
case "Event": {
|
|
2857
|
+
bare4.writeU8(bc, 3);
|
|
2858
|
+
writeEvent4(bc, x.val);
|
|
2859
|
+
break;
|
|
2860
|
+
}
|
|
2861
|
+
}
|
|
2862
|
+
}
|
|
2863
|
+
function readToClient4(bc) {
|
|
2864
|
+
return {
|
|
2865
|
+
body: readToClientBody4(bc)
|
|
2866
|
+
};
|
|
2867
|
+
}
|
|
2868
|
+
function writeToClient4(bc, x) {
|
|
2869
|
+
writeToClientBody4(bc, x.body);
|
|
2870
|
+
}
|
|
2871
|
+
function encodeToClient4(x, config) {
|
|
2872
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
2873
|
+
const bc = new bare4.ByteCursor(
|
|
2874
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
2875
|
+
fullConfig
|
|
2876
|
+
);
|
|
2877
|
+
writeToClient4(bc, x);
|
|
2878
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2879
|
+
}
|
|
2880
|
+
function decodeToClient4(bytes) {
|
|
2881
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
2882
|
+
const result = readToClient4(bc);
|
|
2883
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2884
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
2885
|
+
}
|
|
2886
|
+
return result;
|
|
2887
|
+
}
|
|
2888
|
+
function readActionRequest4(bc) {
|
|
2889
|
+
return {
|
|
2890
|
+
id: bare4.readUint(bc),
|
|
2891
|
+
name: bare4.readString(bc),
|
|
2892
|
+
args: readCbor4(bc)
|
|
2893
|
+
};
|
|
2894
|
+
}
|
|
2895
|
+
function writeActionRequest4(bc, x) {
|
|
2896
|
+
bare4.writeUint(bc, x.id);
|
|
2897
|
+
bare4.writeString(bc, x.name);
|
|
2898
|
+
writeCbor4(bc, x.args);
|
|
2899
|
+
}
|
|
2900
|
+
function readSubscriptionRequest4(bc) {
|
|
2901
|
+
return {
|
|
2902
|
+
eventName: bare4.readString(bc),
|
|
2903
|
+
subscribe: bare4.readBool(bc)
|
|
2904
|
+
};
|
|
2905
|
+
}
|
|
2906
|
+
function writeSubscriptionRequest4(bc, x) {
|
|
2907
|
+
bare4.writeString(bc, x.eventName);
|
|
2908
|
+
bare4.writeBool(bc, x.subscribe);
|
|
2909
|
+
}
|
|
2910
|
+
function readToServerBody4(bc) {
|
|
2911
|
+
const offset = bc.offset;
|
|
2912
|
+
const tag = bare4.readU8(bc);
|
|
2913
|
+
switch (tag) {
|
|
2914
|
+
case 0:
|
|
2915
|
+
return { tag: "ActionRequest", val: readActionRequest4(bc) };
|
|
2916
|
+
case 1:
|
|
2917
|
+
return { tag: "SubscriptionRequest", val: readSubscriptionRequest4(bc) };
|
|
2918
|
+
default: {
|
|
2919
|
+
bc.offset = offset;
|
|
2920
|
+
throw new bare4.BareError(offset, "invalid tag");
|
|
2921
|
+
}
|
|
2922
|
+
}
|
|
2923
|
+
}
|
|
2924
|
+
function writeToServerBody4(bc, x) {
|
|
2925
|
+
switch (x.tag) {
|
|
2926
|
+
case "ActionRequest": {
|
|
2927
|
+
bare4.writeU8(bc, 0);
|
|
2928
|
+
writeActionRequest4(bc, x.val);
|
|
2929
|
+
break;
|
|
2930
|
+
}
|
|
2931
|
+
case "SubscriptionRequest": {
|
|
2932
|
+
bare4.writeU8(bc, 1);
|
|
2933
|
+
writeSubscriptionRequest4(bc, x.val);
|
|
2934
|
+
break;
|
|
2935
|
+
}
|
|
2936
|
+
}
|
|
2937
|
+
}
|
|
2938
|
+
function readToServer4(bc) {
|
|
2939
|
+
return {
|
|
2940
|
+
body: readToServerBody4(bc)
|
|
2941
|
+
};
|
|
2942
|
+
}
|
|
2943
|
+
function writeToServer4(bc, x) {
|
|
2944
|
+
writeToServerBody4(bc, x.body);
|
|
2945
|
+
}
|
|
2946
|
+
function encodeToServer4(x, config) {
|
|
2947
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
2948
|
+
const bc = new bare4.ByteCursor(
|
|
2949
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
2950
|
+
fullConfig
|
|
2951
|
+
);
|
|
2952
|
+
writeToServer4(bc, x);
|
|
2953
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2954
|
+
}
|
|
2955
|
+
function decodeToServer4(bytes) {
|
|
2956
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
2957
|
+
const result = readToServer4(bc);
|
|
2958
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2959
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
2960
|
+
}
|
|
2961
|
+
return result;
|
|
2962
|
+
}
|
|
2963
|
+
function readHttpActionRequest4(bc) {
|
|
2964
|
+
return {
|
|
2965
|
+
args: readCbor4(bc)
|
|
2966
|
+
};
|
|
2967
|
+
}
|
|
2968
|
+
function writeHttpActionRequest4(bc, x) {
|
|
2969
|
+
writeCbor4(bc, x.args);
|
|
2970
|
+
}
|
|
2971
|
+
function encodeHttpActionRequest4(x, config) {
|
|
2972
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
2973
|
+
const bc = new bare4.ByteCursor(
|
|
2974
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
2975
|
+
fullConfig
|
|
2976
|
+
);
|
|
2977
|
+
writeHttpActionRequest4(bc, x);
|
|
2978
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2979
|
+
}
|
|
2980
|
+
function decodeHttpActionRequest4(bytes) {
|
|
2981
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
2982
|
+
const result = readHttpActionRequest4(bc);
|
|
2983
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2984
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
2985
|
+
}
|
|
2986
|
+
return result;
|
|
2987
|
+
}
|
|
2988
|
+
function readHttpActionResponse4(bc) {
|
|
2989
|
+
return {
|
|
2990
|
+
output: readCbor4(bc)
|
|
2991
|
+
};
|
|
2992
|
+
}
|
|
2993
|
+
function writeHttpActionResponse4(bc, x) {
|
|
2994
|
+
writeCbor4(bc, x.output);
|
|
2995
|
+
}
|
|
2996
|
+
function encodeHttpActionResponse4(x, config) {
|
|
2997
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
2998
|
+
const bc = new bare4.ByteCursor(
|
|
2999
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
3000
|
+
fullConfig
|
|
3001
|
+
);
|
|
3002
|
+
writeHttpActionResponse4(bc, x);
|
|
3003
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
3004
|
+
}
|
|
3005
|
+
function decodeHttpActionResponse4(bytes) {
|
|
3006
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
3007
|
+
const result = readHttpActionResponse4(bc);
|
|
3008
|
+
if (bc.offset < bc.view.byteLength) {
|
|
3009
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
3010
|
+
}
|
|
3011
|
+
return result;
|
|
3012
|
+
}
|
|
3013
|
+
function read42(bc) {
|
|
3014
|
+
return bare4.readBool(bc) ? bare4.readBool(bc) : null;
|
|
3015
|
+
}
|
|
3016
|
+
function write42(bc, x) {
|
|
3017
|
+
bare4.writeBool(bc, x != null);
|
|
3018
|
+
if (x != null) {
|
|
3019
|
+
bare4.writeBool(bc, x);
|
|
3020
|
+
}
|
|
3021
|
+
}
|
|
3022
|
+
function read5(bc) {
|
|
3023
|
+
return bare4.readBool(bc) ? bare4.readU64(bc) : null;
|
|
3024
|
+
}
|
|
3025
|
+
function write5(bc, x) {
|
|
3026
|
+
bare4.writeBool(bc, x != null);
|
|
3027
|
+
if (x != null) {
|
|
3028
|
+
bare4.writeU64(bc, x);
|
|
3029
|
+
}
|
|
3030
|
+
}
|
|
3031
|
+
function readHttpQueueSendRequest2(bc) {
|
|
3032
|
+
return {
|
|
3033
|
+
body: readCbor4(bc),
|
|
3034
|
+
name: read04(bc),
|
|
3035
|
+
wait: read42(bc),
|
|
3036
|
+
timeout: read5(bc)
|
|
3037
|
+
};
|
|
3038
|
+
}
|
|
3039
|
+
function writeHttpQueueSendRequest2(bc, x) {
|
|
3040
|
+
writeCbor4(bc, x.body);
|
|
3041
|
+
write04(bc, x.name);
|
|
3042
|
+
write42(bc, x.wait);
|
|
3043
|
+
write5(bc, x.timeout);
|
|
3044
|
+
}
|
|
3045
|
+
function encodeHttpQueueSendRequest2(x, config) {
|
|
3046
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
3047
|
+
const bc = new bare4.ByteCursor(
|
|
3048
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
3049
|
+
fullConfig
|
|
3050
|
+
);
|
|
3051
|
+
writeHttpQueueSendRequest2(bc, x);
|
|
3052
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
3053
|
+
}
|
|
3054
|
+
function decodeHttpQueueSendRequest2(bytes) {
|
|
3055
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
3056
|
+
const result = readHttpQueueSendRequest2(bc);
|
|
3057
|
+
if (bc.offset < bc.view.byteLength) {
|
|
3058
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
3059
|
+
}
|
|
3060
|
+
return result;
|
|
3061
|
+
}
|
|
3062
|
+
function readHttpQueueSendResponse2(bc) {
|
|
3063
|
+
return {
|
|
3064
|
+
status: bare4.readString(bc),
|
|
3065
|
+
response: read14(bc)
|
|
3066
|
+
};
|
|
3067
|
+
}
|
|
3068
|
+
function writeHttpQueueSendResponse2(bc, x) {
|
|
3069
|
+
bare4.writeString(bc, x.status);
|
|
3070
|
+
write14(bc, x.response);
|
|
3071
|
+
}
|
|
3072
|
+
function encodeHttpQueueSendResponse2(x, config) {
|
|
3073
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
3074
|
+
const bc = new bare4.ByteCursor(
|
|
3075
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
3076
|
+
fullConfig
|
|
3077
|
+
);
|
|
3078
|
+
writeHttpQueueSendResponse2(bc, x);
|
|
3079
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
3080
|
+
}
|
|
3081
|
+
function decodeHttpQueueSendResponse2(bytes) {
|
|
3082
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
3083
|
+
const result = readHttpQueueSendResponse2(bc);
|
|
3084
|
+
if (bc.offset < bc.view.byteLength) {
|
|
3085
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
3086
|
+
}
|
|
3087
|
+
return result;
|
|
3088
|
+
}
|
|
3089
|
+
function readHttpResponseError4(bc) {
|
|
3090
|
+
return {
|
|
3091
|
+
group: bare4.readString(bc),
|
|
3092
|
+
code: bare4.readString(bc),
|
|
3093
|
+
message: bare4.readString(bc),
|
|
3094
|
+
metadata: read14(bc),
|
|
3095
|
+
actor: read32(bc)
|
|
3096
|
+
};
|
|
3097
|
+
}
|
|
3098
|
+
function writeHttpResponseError4(bc, x) {
|
|
3099
|
+
bare4.writeString(bc, x.group);
|
|
3100
|
+
bare4.writeString(bc, x.code);
|
|
3101
|
+
bare4.writeString(bc, x.message);
|
|
3102
|
+
write14(bc, x.metadata);
|
|
3103
|
+
write32(bc, x.actor);
|
|
3104
|
+
}
|
|
3105
|
+
function encodeHttpResponseError4(x, config) {
|
|
3106
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
3107
|
+
const bc = new bare4.ByteCursor(
|
|
3108
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
3109
|
+
fullConfig
|
|
3110
|
+
);
|
|
3111
|
+
writeHttpResponseError4(bc, x);
|
|
3112
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
3113
|
+
}
|
|
3114
|
+
function decodeHttpResponseError4(bytes) {
|
|
3115
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
3116
|
+
const result = readHttpResponseError4(bc);
|
|
3117
|
+
if (bc.offset < bc.view.byteLength) {
|
|
3118
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
3119
|
+
}
|
|
3120
|
+
return result;
|
|
3121
|
+
}
|
|
3122
|
+
function readHttpResolveResponse4(bc) {
|
|
3123
|
+
return {
|
|
3124
|
+
actorId: bare4.readString(bc)
|
|
3125
|
+
};
|
|
3126
|
+
}
|
|
3127
|
+
function writeHttpResolveResponse4(bc, x) {
|
|
3128
|
+
bare4.writeString(bc, x.actorId);
|
|
3129
|
+
}
|
|
3130
|
+
function encodeHttpResolveResponse4(x, config) {
|
|
3131
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
3132
|
+
const bc = new bare4.ByteCursor(
|
|
3133
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
3134
|
+
fullConfig
|
|
3135
|
+
);
|
|
3136
|
+
writeHttpResolveResponse4(bc, x);
|
|
3137
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
3138
|
+
}
|
|
3139
|
+
function decodeHttpResolveResponse4(bytes) {
|
|
3140
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
3141
|
+
const result = readHttpResolveResponse4(bc);
|
|
3142
|
+
if (bc.offset < bc.view.byteLength) {
|
|
3143
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
3144
|
+
}
|
|
3145
|
+
return result;
|
|
3146
|
+
}
|
|
3147
|
+
|
|
2697
3148
|
// src/common/client-protocol-versioned.ts
|
|
2698
|
-
var CURRENT_VERSION =
|
|
3149
|
+
var CURRENT_VERSION = 4;
|
|
2699
3150
|
var v1ToV2 = (v1Data) => {
|
|
2700
3151
|
if (v1Data.body.tag === "Init") {
|
|
2701
3152
|
const { actorId, connectionId } = v1Data.body.val;
|
|
@@ -2731,6 +3182,32 @@ var v2ToV1 = (v2Data) => {
|
|
|
2731
3182
|
var v2ToV3 = (v2Data) => {
|
|
2732
3183
|
return v2Data;
|
|
2733
3184
|
};
|
|
3185
|
+
var v3ToV4 = (v3Data) => {
|
|
3186
|
+
if (v3Data.body.tag === "Error") {
|
|
3187
|
+
return {
|
|
3188
|
+
body: {
|
|
3189
|
+
tag: "Error",
|
|
3190
|
+
val: {
|
|
3191
|
+
...v3Data.body.val,
|
|
3192
|
+
actor: null
|
|
3193
|
+
}
|
|
3194
|
+
}
|
|
3195
|
+
};
|
|
3196
|
+
}
|
|
3197
|
+
return v3Data;
|
|
3198
|
+
};
|
|
3199
|
+
var v4ToV3 = (v4Data) => {
|
|
3200
|
+
if (v4Data.body.tag === "Error") {
|
|
3201
|
+
const { actor: _, ...val } = v4Data.body.val;
|
|
3202
|
+
return {
|
|
3203
|
+
body: {
|
|
3204
|
+
tag: "Error",
|
|
3205
|
+
val
|
|
3206
|
+
}
|
|
3207
|
+
};
|
|
3208
|
+
}
|
|
3209
|
+
return v4Data;
|
|
3210
|
+
};
|
|
2734
3211
|
var v3ToV2 = (v3Data) => {
|
|
2735
3212
|
return v3Data;
|
|
2736
3213
|
};
|
|
@@ -2740,12 +3217,26 @@ var v1ToServerV2 = (v1Data) => {
|
|
|
2740
3217
|
var v2ToServerV3 = (v2Data) => {
|
|
2741
3218
|
return v2Data;
|
|
2742
3219
|
};
|
|
3220
|
+
var v3ToServerV4 = (v3Data) => {
|
|
3221
|
+
return v3Data;
|
|
3222
|
+
};
|
|
3223
|
+
var v4ToServerV3 = (v4Data) => {
|
|
3224
|
+
return v4Data;
|
|
3225
|
+
};
|
|
2743
3226
|
var v3ToServerV2 = (v3Data) => {
|
|
2744
3227
|
return v3Data;
|
|
2745
3228
|
};
|
|
2746
3229
|
var v2ToServerV1 = (v2Data) => {
|
|
2747
3230
|
return v2Data;
|
|
2748
3231
|
};
|
|
3232
|
+
var v3HttpResponseErrorToV4 = (v3Data) => ({
|
|
3233
|
+
...v3Data,
|
|
3234
|
+
actor: null
|
|
3235
|
+
});
|
|
3236
|
+
var v4HttpResponseErrorToV3 = (v4Data) => {
|
|
3237
|
+
const { actor: _, ...rest } = v4Data;
|
|
3238
|
+
return rest;
|
|
3239
|
+
};
|
|
2749
3240
|
var CLIENT_PROTOCOL_TO_SERVER = createVersionedDataHandler({
|
|
2750
3241
|
deserializeVersion: (bytes, version) => {
|
|
2751
3242
|
switch (version) {
|
|
@@ -2755,6 +3246,8 @@ var CLIENT_PROTOCOL_TO_SERVER = createVersionedDataHandler({
|
|
|
2755
3246
|
return decodeToServer2(bytes);
|
|
2756
3247
|
case 3:
|
|
2757
3248
|
return decodeToServer3(bytes);
|
|
3249
|
+
case 4:
|
|
3250
|
+
return decodeToServer4(bytes);
|
|
2758
3251
|
default:
|
|
2759
3252
|
throw new Error(`Unknown version ${version}`);
|
|
2760
3253
|
}
|
|
@@ -2767,12 +3260,14 @@ var CLIENT_PROTOCOL_TO_SERVER = createVersionedDataHandler({
|
|
|
2767
3260
|
return encodeToServer2(data);
|
|
2768
3261
|
case 3:
|
|
2769
3262
|
return encodeToServer3(data);
|
|
3263
|
+
case 4:
|
|
3264
|
+
return encodeToServer4(data);
|
|
2770
3265
|
default:
|
|
2771
3266
|
throw new Error(`Unknown version ${version}`);
|
|
2772
3267
|
}
|
|
2773
3268
|
},
|
|
2774
|
-
deserializeConverters: () => [v1ToServerV2, v2ToServerV3],
|
|
2775
|
-
serializeConverters: () => [v3ToServerV2, v2ToServerV1]
|
|
3269
|
+
deserializeConverters: () => [v1ToServerV2, v2ToServerV3, v3ToServerV4],
|
|
3270
|
+
serializeConverters: () => [v4ToServerV3, v3ToServerV2, v2ToServerV1]
|
|
2776
3271
|
});
|
|
2777
3272
|
var CLIENT_PROTOCOL_TO_CLIENT = createVersionedDataHandler({
|
|
2778
3273
|
deserializeVersion: (bytes, version) => {
|
|
@@ -2783,6 +3278,8 @@ var CLIENT_PROTOCOL_TO_CLIENT = createVersionedDataHandler({
|
|
|
2783
3278
|
return decodeToClient2(bytes);
|
|
2784
3279
|
case 3:
|
|
2785
3280
|
return decodeToClient3(bytes);
|
|
3281
|
+
case 4:
|
|
3282
|
+
return decodeToClient4(bytes);
|
|
2786
3283
|
default:
|
|
2787
3284
|
throw new Error(`Unknown version ${version}`);
|
|
2788
3285
|
}
|
|
@@ -2795,12 +3292,14 @@ var CLIENT_PROTOCOL_TO_CLIENT = createVersionedDataHandler({
|
|
|
2795
3292
|
return encodeToClient2(data);
|
|
2796
3293
|
case 3:
|
|
2797
3294
|
return encodeToClient3(data);
|
|
3295
|
+
case 4:
|
|
3296
|
+
return encodeToClient4(data);
|
|
2798
3297
|
default:
|
|
2799
3298
|
throw new Error(`Unknown version ${version}`);
|
|
2800
3299
|
}
|
|
2801
3300
|
},
|
|
2802
|
-
deserializeConverters: () => [v1ToV2, v2ToV3],
|
|
2803
|
-
serializeConverters: () => [v3ToV2, v2ToV1]
|
|
3301
|
+
deserializeConverters: () => [v1ToV2, v2ToV3, v3ToV4],
|
|
3302
|
+
serializeConverters: () => [v4ToV3, v3ToV2, v2ToV1]
|
|
2804
3303
|
});
|
|
2805
3304
|
var HTTP_ACTION_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
2806
3305
|
deserializeVersion: (bytes, version) => {
|
|
@@ -2811,6 +3310,8 @@ var HTTP_ACTION_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
|
2811
3310
|
return decodeHttpActionRequest2(bytes);
|
|
2812
3311
|
case 3:
|
|
2813
3312
|
return decodeHttpActionRequest3(bytes);
|
|
3313
|
+
case 4:
|
|
3314
|
+
return decodeHttpActionRequest4(bytes);
|
|
2814
3315
|
default:
|
|
2815
3316
|
throw new Error(`Unknown version ${version}`);
|
|
2816
3317
|
}
|
|
@@ -2829,6 +3330,10 @@ var HTTP_ACTION_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
|
2829
3330
|
return encodeHttpActionRequest3(
|
|
2830
3331
|
data
|
|
2831
3332
|
);
|
|
3333
|
+
case 4:
|
|
3334
|
+
return encodeHttpActionRequest4(
|
|
3335
|
+
data
|
|
3336
|
+
);
|
|
2832
3337
|
default:
|
|
2833
3338
|
throw new Error(`Unknown version ${version}`);
|
|
2834
3339
|
}
|
|
@@ -2845,6 +3350,8 @@ var HTTP_ACTION_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2845
3350
|
return decodeHttpActionResponse2(bytes);
|
|
2846
3351
|
case 3:
|
|
2847
3352
|
return decodeHttpActionResponse3(bytes);
|
|
3353
|
+
case 4:
|
|
3354
|
+
return decodeHttpActionResponse4(bytes);
|
|
2848
3355
|
default:
|
|
2849
3356
|
throw new Error(`Unknown version ${version}`);
|
|
2850
3357
|
}
|
|
@@ -2863,6 +3370,10 @@ var HTTP_ACTION_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2863
3370
|
return encodeHttpActionResponse3(
|
|
2864
3371
|
data
|
|
2865
3372
|
);
|
|
3373
|
+
case 4:
|
|
3374
|
+
return encodeHttpActionResponse4(
|
|
3375
|
+
data
|
|
3376
|
+
);
|
|
2866
3377
|
default:
|
|
2867
3378
|
throw new Error(`Unknown version ${version}`);
|
|
2868
3379
|
}
|
|
@@ -2875,6 +3386,8 @@ var HTTP_QUEUE_SEND_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
|
2875
3386
|
switch (version) {
|
|
2876
3387
|
case 3:
|
|
2877
3388
|
return decodeHttpQueueSendRequest(bytes);
|
|
3389
|
+
case 4:
|
|
3390
|
+
return decodeHttpQueueSendRequest2(bytes);
|
|
2878
3391
|
default:
|
|
2879
3392
|
throw new Error(
|
|
2880
3393
|
`HttpQueueSendRequest only exists in version 3+, got version ${version}`
|
|
@@ -2887,6 +3400,10 @@ var HTTP_QUEUE_SEND_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
|
2887
3400
|
return encodeHttpQueueSendRequest(
|
|
2888
3401
|
data
|
|
2889
3402
|
);
|
|
3403
|
+
case 4:
|
|
3404
|
+
return encodeHttpQueueSendRequest2(
|
|
3405
|
+
data
|
|
3406
|
+
);
|
|
2890
3407
|
default:
|
|
2891
3408
|
throw new Error(
|
|
2892
3409
|
`HttpQueueSendRequest only exists in version 3+, got version ${version}`
|
|
@@ -2901,6 +3418,8 @@ var HTTP_QUEUE_SEND_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2901
3418
|
switch (version) {
|
|
2902
3419
|
case 3:
|
|
2903
3420
|
return decodeHttpQueueSendResponse(bytes);
|
|
3421
|
+
case 4:
|
|
3422
|
+
return decodeHttpQueueSendResponse2(bytes);
|
|
2904
3423
|
default:
|
|
2905
3424
|
throw new Error(
|
|
2906
3425
|
`HttpQueueSendResponse only exists in version 3+, got version ${version}`
|
|
@@ -2913,6 +3432,10 @@ var HTTP_QUEUE_SEND_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2913
3432
|
return encodeHttpQueueSendResponse(
|
|
2914
3433
|
data
|
|
2915
3434
|
);
|
|
3435
|
+
case 4:
|
|
3436
|
+
return encodeHttpQueueSendResponse2(
|
|
3437
|
+
data
|
|
3438
|
+
);
|
|
2916
3439
|
default:
|
|
2917
3440
|
throw new Error(
|
|
2918
3441
|
`HttpQueueSendResponse only exists in version 3+, got version ${version}`
|
|
@@ -2931,6 +3454,8 @@ var HTTP_RESPONSE_ERROR_VERSIONED = createVersionedDataHandler({
|
|
|
2931
3454
|
return decodeHttpResponseError2(bytes);
|
|
2932
3455
|
case 3:
|
|
2933
3456
|
return decodeHttpResponseError3(bytes);
|
|
3457
|
+
case 4:
|
|
3458
|
+
return decodeHttpResponseError4(bytes);
|
|
2934
3459
|
default:
|
|
2935
3460
|
throw new Error(`Unknown version ${version}`);
|
|
2936
3461
|
}
|
|
@@ -2949,12 +3474,24 @@ var HTTP_RESPONSE_ERROR_VERSIONED = createVersionedDataHandler({
|
|
|
2949
3474
|
return encodeHttpResponseError3(
|
|
2950
3475
|
data
|
|
2951
3476
|
);
|
|
3477
|
+
case 4:
|
|
3478
|
+
return encodeHttpResponseError4(
|
|
3479
|
+
data
|
|
3480
|
+
);
|
|
2952
3481
|
default:
|
|
2953
3482
|
throw new Error(`Unknown version ${version}`);
|
|
2954
3483
|
}
|
|
2955
3484
|
},
|
|
2956
|
-
deserializeConverters: () => [
|
|
2957
|
-
|
|
3485
|
+
deserializeConverters: () => [
|
|
3486
|
+
(data) => data,
|
|
3487
|
+
(data) => data,
|
|
3488
|
+
v3HttpResponseErrorToV4
|
|
3489
|
+
],
|
|
3490
|
+
serializeConverters: () => [
|
|
3491
|
+
v4HttpResponseErrorToV3,
|
|
3492
|
+
(data) => data,
|
|
3493
|
+
(data) => data
|
|
3494
|
+
]
|
|
2958
3495
|
});
|
|
2959
3496
|
var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
2960
3497
|
deserializeVersion: (bytes, version) => {
|
|
@@ -2965,6 +3502,8 @@ var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2965
3502
|
return decodeHttpResolveResponse2(bytes);
|
|
2966
3503
|
case 3:
|
|
2967
3504
|
return decodeHttpResolveResponse3(bytes);
|
|
3505
|
+
case 4:
|
|
3506
|
+
return decodeHttpResolveResponse4(bytes);
|
|
2968
3507
|
default:
|
|
2969
3508
|
throw new Error(`Unknown version ${version}`);
|
|
2970
3509
|
}
|
|
@@ -2983,6 +3522,10 @@ var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2983
3522
|
return encodeHttpResolveResponse3(
|
|
2984
3523
|
data
|
|
2985
3524
|
);
|
|
3525
|
+
case 4:
|
|
3526
|
+
return encodeHttpResolveResponse4(
|
|
3527
|
+
data
|
|
3528
|
+
);
|
|
2986
3529
|
default:
|
|
2987
3530
|
throw new Error(`Unknown version ${version}`);
|
|
2988
3531
|
}
|
|
@@ -2995,6 +3538,11 @@ var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2995
3538
|
import { z as z4 } from "zod/v4";
|
|
2996
3539
|
var UintSchema = z4.bigint();
|
|
2997
3540
|
var OptionalUintSchema = UintSchema.nullable();
|
|
3541
|
+
var ActorSpecifierSchema = z4.object({
|
|
3542
|
+
actorId: z4.string(),
|
|
3543
|
+
generation: z4.union([z4.number(), z4.bigint()]),
|
|
3544
|
+
key: z4.string().optional()
|
|
3545
|
+
});
|
|
2998
3546
|
var InitSchema = z4.object({
|
|
2999
3547
|
actorId: z4.string(),
|
|
3000
3548
|
connectionId: z4.string()
|
|
@@ -3004,7 +3552,8 @@ var ErrorSchema = z4.object({
|
|
|
3004
3552
|
code: z4.string(),
|
|
3005
3553
|
message: z4.string(),
|
|
3006
3554
|
metadata: z4.unknown().optional(),
|
|
3007
|
-
actionId: OptionalUintSchema
|
|
3555
|
+
actionId: OptionalUintSchema,
|
|
3556
|
+
actor: ActorSpecifierSchema.optional()
|
|
3008
3557
|
});
|
|
3009
3558
|
var ActionResponseSchema = z4.object({
|
|
3010
3559
|
id: UintSchema,
|
|
@@ -3062,7 +3611,8 @@ var HttpResponseErrorSchema = z4.object({
|
|
|
3062
3611
|
group: z4.string(),
|
|
3063
3612
|
code: z4.string(),
|
|
3064
3613
|
message: z4.string(),
|
|
3065
|
-
metadata: z4.unknown().optional()
|
|
3614
|
+
metadata: z4.unknown().optional(),
|
|
3615
|
+
actor: ActorSpecifierSchema.optional()
|
|
3066
3616
|
});
|
|
3067
3617
|
var HttpResolveRequestSchema = z4.null();
|
|
3068
3618
|
var HttpResolveResponseSchema = z4.object({
|
|
@@ -3192,21 +3742,45 @@ async function sendHttpRequest(opts) {
|
|
|
3192
3742
|
new Uint8Array(bufferResponse),
|
|
3193
3743
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
3194
3744
|
HttpResponseErrorSchema,
|
|
3195
|
-
// JSON:
|
|
3196
|
-
(json) =>
|
|
3745
|
+
// JSON/CBOR: normalize actor generation to the public number shape.
|
|
3746
|
+
(json) => ({
|
|
3747
|
+
...json,
|
|
3748
|
+
actor: json.actor ? {
|
|
3749
|
+
...json.actor,
|
|
3750
|
+
generation: Number(json.actor.generation)
|
|
3751
|
+
} : void 0
|
|
3752
|
+
}),
|
|
3197
3753
|
// BARE: decode ArrayBuffer metadata to unknown
|
|
3198
|
-
(
|
|
3199
|
-
group:
|
|
3200
|
-
code:
|
|
3201
|
-
message:
|
|
3202
|
-
metadata:
|
|
3754
|
+
(bare5) => ({
|
|
3755
|
+
group: bare5.group,
|
|
3756
|
+
code: bare5.code,
|
|
3757
|
+
message: bare5.message,
|
|
3758
|
+
metadata: bare5.metadata ? decodeCborCompat(new Uint8Array(bare5.metadata)) : void 0,
|
|
3759
|
+
actor: bare5.actor ? {
|
|
3760
|
+
actorId: bare5.actor.actorId,
|
|
3761
|
+
generation: Number(bare5.actor.generation),
|
|
3762
|
+
key: bare5.actor.key ?? void 0
|
|
3763
|
+
} : void 0
|
|
3203
3764
|
})
|
|
3204
3765
|
);
|
|
3766
|
+
logger2().warn({
|
|
3767
|
+
msg: "http error response",
|
|
3768
|
+
group: responseData.group,
|
|
3769
|
+
code: responseData.code,
|
|
3770
|
+
message: responseData.message,
|
|
3771
|
+
metadata: responseData.metadata,
|
|
3772
|
+
actorId: responseData.actor?.actorId,
|
|
3773
|
+
generation: responseData.actor?.generation,
|
|
3774
|
+
actorKey: responseData.actor?.key
|
|
3775
|
+
});
|
|
3205
3776
|
throw new RivetError(
|
|
3206
3777
|
responseData.group,
|
|
3207
3778
|
responseData.code,
|
|
3208
3779
|
responseData.message,
|
|
3209
|
-
|
|
3780
|
+
{
|
|
3781
|
+
metadata: responseData.metadata,
|
|
3782
|
+
actor: responseData.actor
|
|
3783
|
+
}
|
|
3210
3784
|
);
|
|
3211
3785
|
} catch (error) {
|
|
3212
3786
|
if (error instanceof RivetError) {
|
|
@@ -4155,13 +4729,13 @@ function createQueueSender(senderOptions) {
|
|
|
4155
4729
|
response: json.response
|
|
4156
4730
|
};
|
|
4157
4731
|
},
|
|
4158
|
-
responseFromBare: (
|
|
4159
|
-
if (
|
|
4160
|
-
return { status:
|
|
4732
|
+
responseFromBare: (bare5) => {
|
|
4733
|
+
if (bare5.response === null || bare5.response === void 0) {
|
|
4734
|
+
return { status: bare5.status };
|
|
4161
4735
|
}
|
|
4162
4736
|
return {
|
|
4163
|
-
status:
|
|
4164
|
-
response: decodeCborCompat(new Uint8Array(
|
|
4737
|
+
status: bare5.status,
|
|
4738
|
+
response: decodeCborCompat(new Uint8Array(bare5.response))
|
|
4165
4739
|
};
|
|
4166
4740
|
}
|
|
4167
4741
|
});
|
|
@@ -4175,49 +4749,7 @@ function createQueueSender(senderOptions) {
|
|
|
4175
4749
|
};
|
|
4176
4750
|
}
|
|
4177
4751
|
|
|
4178
|
-
// src/client/resolve-gateway-target.ts
|
|
4179
|
-
async function resolveGatewayTarget(driver, target) {
|
|
4180
|
-
if ("directId" in target) {
|
|
4181
|
-
return target.directId;
|
|
4182
|
-
}
|
|
4183
|
-
if ("getForId" in target) {
|
|
4184
|
-
return target.getForId.actorId;
|
|
4185
|
-
}
|
|
4186
|
-
if ("getForKey" in target) {
|
|
4187
|
-
const output = await driver.getWithKey({
|
|
4188
|
-
name: target.getForKey.name,
|
|
4189
|
-
key: target.getForKey.key
|
|
4190
|
-
});
|
|
4191
|
-
if (!output) {
|
|
4192
|
-
throw actorNotFound(
|
|
4193
|
-
`${target.getForKey.name}:${JSON.stringify(target.getForKey.key)}`
|
|
4194
|
-
);
|
|
4195
|
-
}
|
|
4196
|
-
return output.actorId;
|
|
4197
|
-
}
|
|
4198
|
-
if ("getOrCreateForKey" in target) {
|
|
4199
|
-
const output = await driver.getOrCreateWithKey({
|
|
4200
|
-
name: target.getOrCreateForKey.name,
|
|
4201
|
-
key: target.getOrCreateForKey.key,
|
|
4202
|
-
input: target.getOrCreateForKey.input,
|
|
4203
|
-
region: target.getOrCreateForKey.region
|
|
4204
|
-
});
|
|
4205
|
-
return output.actorId;
|
|
4206
|
-
}
|
|
4207
|
-
if ("create" in target) {
|
|
4208
|
-
const output = await driver.createActor({
|
|
4209
|
-
name: target.create.name,
|
|
4210
|
-
key: target.create.key,
|
|
4211
|
-
input: target.create.input,
|
|
4212
|
-
region: target.create.region
|
|
4213
|
-
});
|
|
4214
|
-
return output.actorId;
|
|
4215
|
-
}
|
|
4216
|
-
throw invalidRequest("Invalid query format");
|
|
4217
|
-
}
|
|
4218
|
-
|
|
4219
4752
|
// src/client/actor-conn.ts
|
|
4220
|
-
var DEFAULT_MAX_INCOMING_MESSAGE_SIZE = 65536;
|
|
4221
4753
|
var CONNECT_SYMBOL = /* @__PURE__ */ Symbol("connect");
|
|
4222
4754
|
var ActorConnRaw = class {
|
|
4223
4755
|
#disposed = false;
|
|
@@ -4286,7 +4818,9 @@ var ActorConnRaw = class {
|
|
|
4286
4818
|
);
|
|
4287
4819
|
}
|
|
4288
4820
|
});
|
|
4289
|
-
this.#keepNodeAliveInterval = setInterval(() =>
|
|
4821
|
+
this.#keepNodeAliveInterval = setInterval(() => {
|
|
4822
|
+
}, 6e4);
|
|
4823
|
+
this.#keepNodeAliveInterval.unref?.();
|
|
4290
4824
|
}
|
|
4291
4825
|
#clearResolvedActorIdentity() {
|
|
4292
4826
|
this.#actorId = void 0;
|
|
@@ -4519,7 +5053,7 @@ var ActorConnRaw = class {
|
|
|
4519
5053
|
}
|
|
4520
5054
|
async #connectWebSocket() {
|
|
4521
5055
|
const params = await this.#resolveConnectionParams();
|
|
4522
|
-
const target =
|
|
5056
|
+
const target = getGatewayTarget(this.#actorResolutionState);
|
|
4523
5057
|
const ws = await this.#driver.openWebSocket(
|
|
4524
5058
|
PATH_CONNECT,
|
|
4525
5059
|
target,
|
|
@@ -4572,22 +5106,6 @@ var ActorConnRaw = class {
|
|
|
4572
5106
|
}
|
|
4573
5107
|
});
|
|
4574
5108
|
}
|
|
4575
|
-
async #resolveGatewayTargetForSkipReadyWait() {
|
|
4576
|
-
if ("getForId" in this.#actorResolutionState) {
|
|
4577
|
-
return {
|
|
4578
|
-
directId: this.#actorResolutionState.getForId.actorId
|
|
4579
|
-
};
|
|
4580
|
-
}
|
|
4581
|
-
if (this.#actorId) {
|
|
4582
|
-
return { directId: this.#actorId };
|
|
4583
|
-
}
|
|
4584
|
-
return {
|
|
4585
|
-
directId: await resolveGatewayTarget(
|
|
4586
|
-
this.#driver,
|
|
4587
|
-
this.#actorResolutionState
|
|
4588
|
-
)
|
|
4589
|
-
};
|
|
4590
|
-
}
|
|
4591
5109
|
/** Called by the onopen event from drivers. */
|
|
4592
5110
|
#handleOnOpen() {
|
|
4593
5111
|
if (this.#disposed) {
|
|
@@ -4666,7 +5184,7 @@ var ActorConnRaw = class {
|
|
|
4666
5184
|
});
|
|
4667
5185
|
this.#handleOnOpen();
|
|
4668
5186
|
} else if (response.body.tag === "Error") {
|
|
4669
|
-
const { group, code, message, metadata, actionId } = response.body.val;
|
|
5187
|
+
const { group, code, message, metadata, actionId, actor } = response.body.val;
|
|
4670
5188
|
if (actionId !== null) {
|
|
4671
5189
|
const inFlight = this.#takeActionInFlight(Number(actionId));
|
|
4672
5190
|
this.#invalidateActorIfStale(group, code);
|
|
@@ -4677,10 +5195,16 @@ var ActorConnRaw = class {
|
|
|
4677
5195
|
group,
|
|
4678
5196
|
code,
|
|
4679
5197
|
message,
|
|
4680
|
-
metadata
|
|
5198
|
+
metadata,
|
|
5199
|
+
actorId: actor?.actorId,
|
|
5200
|
+
generation: actor?.generation,
|
|
5201
|
+
actorKey: actor?.key
|
|
4681
5202
|
});
|
|
4682
5203
|
inFlight.reject(
|
|
4683
|
-
new RivetError(group, code, message,
|
|
5204
|
+
new RivetError(group, code, message, {
|
|
5205
|
+
metadata,
|
|
5206
|
+
actor
|
|
5207
|
+
})
|
|
4684
5208
|
);
|
|
4685
5209
|
} else {
|
|
4686
5210
|
logger2().warn({
|
|
@@ -4688,12 +5212,18 @@ var ActorConnRaw = class {
|
|
|
4688
5212
|
group,
|
|
4689
5213
|
code,
|
|
4690
5214
|
message,
|
|
4691
|
-
metadata
|
|
5215
|
+
metadata,
|
|
5216
|
+
actorId: actor?.actorId,
|
|
5217
|
+
generation: actor?.generation,
|
|
5218
|
+
actorKey: actor?.key
|
|
4692
5219
|
});
|
|
4693
5220
|
if (this.#shouldReconnectForStaleActor(group, code)) {
|
|
4694
5221
|
this.#clearResolvedActorIdentity();
|
|
4695
5222
|
this.#onOpenPromise?.reject(
|
|
4696
|
-
new RivetError(group, code, message,
|
|
5223
|
+
new RivetError(group, code, message, {
|
|
5224
|
+
metadata,
|
|
5225
|
+
actor
|
|
5226
|
+
})
|
|
4697
5227
|
);
|
|
4698
5228
|
return;
|
|
4699
5229
|
}
|
|
@@ -4701,7 +5231,7 @@ var ActorConnRaw = class {
|
|
|
4701
5231
|
group,
|
|
4702
5232
|
code,
|
|
4703
5233
|
message,
|
|
4704
|
-
metadata
|
|
5234
|
+
{ metadata, actor }
|
|
4705
5235
|
);
|
|
4706
5236
|
if (isSchedulingError(group, code) && this.#actorId) {
|
|
4707
5237
|
const schedulingError = await checkForSchedulingError(
|
|
@@ -5098,31 +5628,8 @@ var ActorConnRaw = class {
|
|
|
5098
5628
|
}
|
|
5099
5629
|
}
|
|
5100
5630
|
);
|
|
5101
|
-
const serializedLength = messageLength(messageSerialized);
|
|
5102
|
-
if (serializedLength > DEFAULT_MAX_INCOMING_MESSAGE_SIZE && message.body.tag === "ActionRequest") {
|
|
5103
|
-
const actionId = Number(message.body.val.id);
|
|
5104
|
-
const inFlight = this.#takeActionInFlight(actionId);
|
|
5105
|
-
const error = new RivetError(
|
|
5106
|
-
"message",
|
|
5107
|
-
"incoming_too_long",
|
|
5108
|
-
"Incoming message too long",
|
|
5109
|
-
{
|
|
5110
|
-
maxSize: DEFAULT_MAX_INCOMING_MESSAGE_SIZE,
|
|
5111
|
-
actualSize: serializedLength
|
|
5112
|
-
}
|
|
5113
|
-
);
|
|
5114
|
-
logger2().warn({
|
|
5115
|
-
msg: "rejecting oversized connection action request",
|
|
5116
|
-
actionId,
|
|
5117
|
-
actionName: inFlight.name,
|
|
5118
|
-
actualSize: serializedLength,
|
|
5119
|
-
maxSize: DEFAULT_MAX_INCOMING_MESSAGE_SIZE
|
|
5120
|
-
});
|
|
5121
|
-
inFlight.reject(error);
|
|
5122
|
-
this.#dispatchActorError(error);
|
|
5123
|
-
return;
|
|
5124
|
-
}
|
|
5125
5631
|
this.#websocket.send(messageSerialized);
|
|
5632
|
+
const serializedLength = messageLength(messageSerialized);
|
|
5126
5633
|
logger2().trace({
|
|
5127
5634
|
msg: "sent websocket message",
|
|
5128
5635
|
len: serializedLength
|
|
@@ -5165,8 +5672,26 @@ var ActorConnRaw = class {
|
|
|
5165
5672
|
buffer,
|
|
5166
5673
|
CLIENT_PROTOCOL_TO_CLIENT,
|
|
5167
5674
|
ToClientSchema,
|
|
5168
|
-
// JSON:
|
|
5169
|
-
(msg) =>
|
|
5675
|
+
// JSON/CBOR: normalize actor generation to the public number shape.
|
|
5676
|
+
(msg) => {
|
|
5677
|
+
if (msg.body.tag !== "Error" || !msg.body.val.actor) {
|
|
5678
|
+
return msg;
|
|
5679
|
+
}
|
|
5680
|
+
return {
|
|
5681
|
+
body: {
|
|
5682
|
+
tag: "Error",
|
|
5683
|
+
val: {
|
|
5684
|
+
...msg.body.val,
|
|
5685
|
+
actor: {
|
|
5686
|
+
...msg.body.val.actor,
|
|
5687
|
+
generation: Number(
|
|
5688
|
+
msg.body.val.actor.generation
|
|
5689
|
+
)
|
|
5690
|
+
}
|
|
5691
|
+
}
|
|
5692
|
+
}
|
|
5693
|
+
};
|
|
5694
|
+
},
|
|
5170
5695
|
// BARE: need to decode ArrayBuffer fields back to unknown
|
|
5171
5696
|
(msg) => {
|
|
5172
5697
|
if (msg.body.tag === "Error") {
|
|
@@ -5182,7 +5707,14 @@ var ActorConnRaw = class {
|
|
|
5182
5707
|
msg.body.val.metadata
|
|
5183
5708
|
)
|
|
5184
5709
|
) : null,
|
|
5185
|
-
actionId: msg.body.val.actionId
|
|
5710
|
+
actionId: msg.body.val.actionId,
|
|
5711
|
+
actor: msg.body.val.actor ? {
|
|
5712
|
+
actorId: msg.body.val.actor.actorId,
|
|
5713
|
+
generation: Number(
|
|
5714
|
+
msg.body.val.actor.generation
|
|
5715
|
+
),
|
|
5716
|
+
key: msg.body.val.actor.key ?? void 0
|
|
5717
|
+
} : void 0
|
|
5186
5718
|
}
|
|
5187
5719
|
}
|
|
5188
5720
|
};
|
|
@@ -5376,13 +5908,11 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
|
|
|
5376
5908
|
});
|
|
5377
5909
|
return driver.sendRequest(target, proxyRequest, options);
|
|
5378
5910
|
} catch (err) {
|
|
5379
|
-
const { group, code, message, metadata } = deconstructError(
|
|
5911
|
+
const { group, code, message, metadata, actor } = deconstructError(
|
|
5380
5912
|
err,
|
|
5381
|
-
logger2(),
|
|
5382
|
-
{},
|
|
5383
5913
|
true
|
|
5384
5914
|
);
|
|
5385
|
-
throw new RivetError(group, code, message, metadata);
|
|
5915
|
+
throw new RivetError(group, code, message, { metadata, actor });
|
|
5386
5916
|
}
|
|
5387
5917
|
}
|
|
5388
5918
|
async function rawWebSocket(driver, target, params, path, _protocols, options = {}) {
|
|
@@ -5418,6 +5948,47 @@ async function rawWebSocket(driver, target, params, path, _protocols, options =
|
|
|
5418
5948
|
return ws;
|
|
5419
5949
|
}
|
|
5420
5950
|
|
|
5951
|
+
// src/client/resolve-gateway-target.ts
|
|
5952
|
+
async function resolveGatewayTarget(driver, target) {
|
|
5953
|
+
if ("directId" in target) {
|
|
5954
|
+
return target.directId;
|
|
5955
|
+
}
|
|
5956
|
+
if ("getForId" in target) {
|
|
5957
|
+
return target.getForId.actorId;
|
|
5958
|
+
}
|
|
5959
|
+
if ("getForKey" in target) {
|
|
5960
|
+
const output = await driver.getWithKey({
|
|
5961
|
+
name: target.getForKey.name,
|
|
5962
|
+
key: target.getForKey.key
|
|
5963
|
+
});
|
|
5964
|
+
if (!output) {
|
|
5965
|
+
throw actorNotFound(
|
|
5966
|
+
`${target.getForKey.name}:${JSON.stringify(target.getForKey.key)}`
|
|
5967
|
+
);
|
|
5968
|
+
}
|
|
5969
|
+
return output.actorId;
|
|
5970
|
+
}
|
|
5971
|
+
if ("getOrCreateForKey" in target) {
|
|
5972
|
+
const output = await driver.getOrCreateWithKey({
|
|
5973
|
+
name: target.getOrCreateForKey.name,
|
|
5974
|
+
key: target.getOrCreateForKey.key,
|
|
5975
|
+
input: target.getOrCreateForKey.input,
|
|
5976
|
+
region: target.getOrCreateForKey.region
|
|
5977
|
+
});
|
|
5978
|
+
return output.actorId;
|
|
5979
|
+
}
|
|
5980
|
+
if ("create" in target) {
|
|
5981
|
+
const output = await driver.createActor({
|
|
5982
|
+
name: target.create.name,
|
|
5983
|
+
key: target.create.key,
|
|
5984
|
+
input: target.create.input,
|
|
5985
|
+
region: target.create.region
|
|
5986
|
+
});
|
|
5987
|
+
return output.actorId;
|
|
5988
|
+
}
|
|
5989
|
+
throw invalidRequest("Invalid query format");
|
|
5990
|
+
}
|
|
5991
|
+
|
|
5421
5992
|
// src/client/actor-handle.ts
|
|
5422
5993
|
var ActorHandleRaw = class {
|
|
5423
5994
|
#client;
|
|
@@ -5462,7 +6033,13 @@ var ActorHandleRaw = class {
|
|
|
5462
6033
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
5463
6034
|
let actorId;
|
|
5464
6035
|
try {
|
|
5465
|
-
const
|
|
6036
|
+
const gatewayOptions = resolveActorGatewayOptions(
|
|
6037
|
+
this.#gatewayOptions
|
|
6038
|
+
);
|
|
6039
|
+
const target = await this.#resolveGatewayRequestTarget(
|
|
6040
|
+
useQueryTarget,
|
|
6041
|
+
gatewayOptions
|
|
6042
|
+
);
|
|
5466
6043
|
actorId = "directId" in target ? target.directId : void 0;
|
|
5467
6044
|
return await createQueueSender({
|
|
5468
6045
|
encoding: this.#encoding,
|
|
@@ -5471,17 +6048,13 @@ var ActorHandleRaw = class {
|
|
|
5471
6048
|
return await this.#driver.sendRequest(
|
|
5472
6049
|
target,
|
|
5473
6050
|
request,
|
|
5474
|
-
|
|
5475
|
-
this.#gatewayOptions
|
|
5476
|
-
)
|
|
6051
|
+
gatewayOptions
|
|
5477
6052
|
);
|
|
5478
6053
|
}
|
|
5479
6054
|
}).send(name, body, options);
|
|
5480
6055
|
} catch (err) {
|
|
5481
|
-
const { group, code, message, metadata } = deconstructError(
|
|
6056
|
+
const { group, code, message, metadata, actor } = deconstructError(
|
|
5482
6057
|
err,
|
|
5483
|
-
logger2(),
|
|
5484
|
-
{},
|
|
5485
6058
|
true
|
|
5486
6059
|
);
|
|
5487
6060
|
if (this.#shouldRetryQueueDispatchOverload(
|
|
@@ -5524,7 +6097,7 @@ var ActorHandleRaw = class {
|
|
|
5524
6097
|
}
|
|
5525
6098
|
continue;
|
|
5526
6099
|
}
|
|
5527
|
-
throw new RivetError(group, code, message, metadata);
|
|
6100
|
+
throw new RivetError(group, code, message, { metadata, actor });
|
|
5528
6101
|
}
|
|
5529
6102
|
}
|
|
5530
6103
|
throw new Error("unreachable queue retry state");
|
|
@@ -5559,7 +6132,10 @@ var ActorHandleRaw = class {
|
|
|
5559
6132
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
5560
6133
|
let actorId;
|
|
5561
6134
|
try {
|
|
5562
|
-
const target = await this.#
|
|
6135
|
+
const target = await this.#resolveGatewayRequestTarget(
|
|
6136
|
+
useQueryTarget,
|
|
6137
|
+
gatewayOptions
|
|
6138
|
+
);
|
|
5563
6139
|
actorId = "directId" in target ? target.directId : void 0;
|
|
5564
6140
|
logger2().debug(
|
|
5565
6141
|
actorId ? { msg: "using direct actor gateway target", actorId } : {
|
|
@@ -5604,17 +6180,15 @@ var ActorHandleRaw = class {
|
|
|
5604
6180
|
args: bufferToArrayBuffer(encodeCborCompat(args))
|
|
5605
6181
|
}),
|
|
5606
6182
|
responseFromJson: (json) => json.output,
|
|
5607
|
-
responseFromBare: (
|
|
6183
|
+
responseFromBare: (bare5) => decodeCborCompat(new Uint8Array(bare5.output))
|
|
5608
6184
|
});
|
|
5609
6185
|
if (opts.name === "destroy" && actorId) {
|
|
5610
6186
|
await this.#waitForDestroyActionToSettle(actorId);
|
|
5611
6187
|
}
|
|
5612
6188
|
return output;
|
|
5613
6189
|
} catch (err) {
|
|
5614
|
-
const { group, code, message, metadata } = deconstructError(
|
|
6190
|
+
const { group, code, message, metadata, actor } = deconstructError(
|
|
5615
6191
|
err,
|
|
5616
|
-
logger2(),
|
|
5617
|
-
{},
|
|
5618
6192
|
true
|
|
5619
6193
|
);
|
|
5620
6194
|
if (await this.#shouldRetrySchedulingError(
|
|
@@ -5644,7 +6218,7 @@ var ActorHandleRaw = class {
|
|
|
5644
6218
|
"actor",
|
|
5645
6219
|
"not_found",
|
|
5646
6220
|
"The actor does not exist or was destroyed.",
|
|
5647
|
-
metadata
|
|
6221
|
+
{ metadata, actor }
|
|
5648
6222
|
);
|
|
5649
6223
|
}
|
|
5650
6224
|
const invalidated = this.#invalidateResolvedActorId(group, code);
|
|
@@ -5655,7 +6229,7 @@ var ActorHandleRaw = class {
|
|
|
5655
6229
|
}
|
|
5656
6230
|
continue;
|
|
5657
6231
|
}
|
|
5658
|
-
throw new RivetError(group, code, message, metadata);
|
|
6232
|
+
throw new RivetError(group, code, message, { metadata, actor });
|
|
5659
6233
|
}
|
|
5660
6234
|
}
|
|
5661
6235
|
throw new Error("unreachable action retry state");
|
|
@@ -5748,6 +6322,12 @@ var ActorHandleRaw = class {
|
|
|
5748
6322
|
this.#resolvingActorId = void 0;
|
|
5749
6323
|
}
|
|
5750
6324
|
}
|
|
6325
|
+
async #resolveGatewayRequestTarget(useQueryTarget, gatewayOptions) {
|
|
6326
|
+
if (gatewayOptions.skipReadyWait) {
|
|
6327
|
+
return getGatewayTarget(this.#actorResolutionState);
|
|
6328
|
+
}
|
|
6329
|
+
return await this.#resolveActionTarget(useQueryTarget);
|
|
6330
|
+
}
|
|
5751
6331
|
/**
|
|
5752
6332
|
* Establishes a persistent connection to the actor.
|
|
5753
6333
|
*
|
|
@@ -5794,7 +6374,10 @@ var ActorHandleRaw = class {
|
|
|
5794
6374
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
5795
6375
|
let actorId;
|
|
5796
6376
|
try {
|
|
5797
|
-
const target = await this.#
|
|
6377
|
+
const target = await this.#resolveGatewayRequestTarget(
|
|
6378
|
+
useQueryTarget,
|
|
6379
|
+
gatewayOptions
|
|
6380
|
+
);
|
|
5798
6381
|
actorId = "directId" in target ? target.directId : void 0;
|
|
5799
6382
|
const response = await rawHttpFetch(
|
|
5800
6383
|
this.#driver,
|
|
@@ -5819,10 +6402,8 @@ var ActorHandleRaw = class {
|
|
|
5819
6402
|
}
|
|
5820
6403
|
return response;
|
|
5821
6404
|
} catch (err) {
|
|
5822
|
-
const { group, code, message, metadata } = deconstructError(
|
|
6405
|
+
const { group, code, message, metadata, actor } = deconstructError(
|
|
5823
6406
|
err,
|
|
5824
|
-
logger2(),
|
|
5825
|
-
{},
|
|
5826
6407
|
true
|
|
5827
6408
|
);
|
|
5828
6409
|
if (await this.#shouldRetrySchedulingError(
|
|
@@ -5855,7 +6436,7 @@ var ActorHandleRaw = class {
|
|
|
5855
6436
|
}
|
|
5856
6437
|
continue;
|
|
5857
6438
|
}
|
|
5858
|
-
throw new RivetError(group, code, message, metadata);
|
|
6439
|
+
throw new RivetError(group, code, message, { metadata, actor });
|
|
5859
6440
|
}
|
|
5860
6441
|
}
|
|
5861
6442
|
throw new Error("unreachable fetch retry state");
|
|
@@ -5915,12 +6496,23 @@ var ActorHandleRaw = class {
|
|
|
5915
6496
|
new Uint8Array(await response.clone().arrayBuffer()),
|
|
5916
6497
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
5917
6498
|
HttpResponseErrorSchema,
|
|
5918
|
-
(json) =>
|
|
5919
|
-
|
|
5920
|
-
|
|
5921
|
-
|
|
5922
|
-
|
|
5923
|
-
|
|
6499
|
+
(json) => ({
|
|
6500
|
+
...json,
|
|
6501
|
+
actor: json.actor ? {
|
|
6502
|
+
...json.actor,
|
|
6503
|
+
generation: Number(json.actor.generation)
|
|
6504
|
+
} : void 0
|
|
6505
|
+
}),
|
|
6506
|
+
(bare5) => ({
|
|
6507
|
+
group: bare5.group,
|
|
6508
|
+
code: bare5.code,
|
|
6509
|
+
message: bare5.message,
|
|
6510
|
+
metadata: bare5.metadata ? decodeCborCompat(new Uint8Array(bare5.metadata)) : void 0,
|
|
6511
|
+
actor: bare5.actor ? {
|
|
6512
|
+
actorId: bare5.actor.actorId,
|
|
6513
|
+
generation: Number(bare5.actor.generation),
|
|
6514
|
+
key: bare5.actor.key ?? void 0
|
|
6515
|
+
} : void 0
|
|
5924
6516
|
})
|
|
5925
6517
|
);
|
|
5926
6518
|
} catch {
|
|
@@ -5936,7 +6528,10 @@ var ActorHandleRaw = class {
|
|
|
5936
6528
|
this.#gatewayOptions,
|
|
5937
6529
|
options
|
|
5938
6530
|
);
|
|
5939
|
-
const target =
|
|
6531
|
+
const target = await this.#resolveGatewayRequestTarget(
|
|
6532
|
+
false,
|
|
6533
|
+
gatewayOptions
|
|
6534
|
+
);
|
|
5940
6535
|
return await rawWebSocket(
|
|
5941
6536
|
this.#driver,
|
|
5942
6537
|
target,
|