rivetkit 2.3.0-rc.5 → 2.3.0-rc.6
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 +21 -18
- package/dist/browser/client.js +735 -170
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +1 -1
- 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 +1 -1
- package/dist/tsup/agent-os/index.cjs.map +1 -1
- package/dist/tsup/agent-os/index.d.cts +18 -7
- package/dist/tsup/agent-os/index.d.ts +18 -7
- package/dist/tsup/agent-os/index.js +1 -1
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-2GANBXVP.cjs → chunk-2G64KSZQ.cjs} +10 -10
- package/dist/tsup/{chunk-2GANBXVP.cjs.map → chunk-2G64KSZQ.cjs.map} +1 -1
- package/dist/tsup/{chunk-N2DQSJIW.js → chunk-6S25NVAP.js} +13 -46
- package/dist/tsup/chunk-6S25NVAP.js.map +1 -0
- package/dist/tsup/{chunk-NATOT3ET.js → chunk-CAF6JDJE.js} +4 -4
- package/dist/tsup/{chunk-PGYEMIOE.js → chunk-DEO7MMWQ.js} +2 -2
- package/dist/tsup/{chunk-SULB574D.js → chunk-EMO6E3PJ.js} +3 -3
- package/dist/tsup/{chunk-FTZIZ3JG.cjs → chunk-ENK7C66G.cjs} +838 -236
- package/dist/tsup/chunk-ENK7C66G.cjs.map +1 -0
- package/dist/tsup/{chunk-JY73X7VU.js → chunk-FLODVLYW.js} +690 -88
- package/dist/tsup/chunk-FLODVLYW.js.map +1 -0
- package/dist/tsup/{chunk-OVJX4IFY.cjs → chunk-HTR4YLNT.cjs} +4 -4
- package/dist/tsup/{chunk-OVJX4IFY.cjs.map → chunk-HTR4YLNT.cjs.map} +1 -1
- package/dist/tsup/{chunk-LELRJK66.cjs → chunk-JALSAX7Z.cjs} +3 -3
- package/dist/tsup/{chunk-LELRJK66.cjs.map → chunk-JALSAX7Z.cjs.map} +1 -1
- package/dist/tsup/{chunk-JRCZDHXT.cjs → chunk-K5BA2LEO.cjs} +19 -52
- package/dist/tsup/chunk-K5BA2LEO.cjs.map +1 -0
- package/dist/tsup/{chunk-K34B3OVG.js → chunk-KIWH5H3K.js} +30 -9
- package/dist/tsup/chunk-KIWH5H3K.js.map +1 -0
- package/dist/tsup/{chunk-NW2J4SOL.cjs → chunk-LIXXFXVR.cjs} +5 -5
- package/dist/tsup/{chunk-NW2J4SOL.cjs.map → chunk-LIXXFXVR.cjs.map} +1 -1
- package/dist/tsup/{chunk-HR547GVH.cjs → chunk-M5C7YNI5.cjs} +8 -8
- package/dist/tsup/{chunk-HR547GVH.cjs.map → chunk-M5C7YNI5.cjs.map} +1 -1
- package/dist/tsup/{chunk-V3QNBJ7N.cjs → chunk-QAZLM4WT.cjs} +31 -10
- package/dist/tsup/chunk-QAZLM4WT.cjs.map +1 -0
- package/dist/tsup/{chunk-LDTT6WKJ.js → chunk-RTC2AZGB.js} +2 -2
- package/dist/tsup/{chunk-UXTP4EBU.js → chunk-ZI5QJMKO.js} +2 -2
- 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-0Ta55UV0.d.ts} +10 -9
- package/dist/tsup/{config-C-a9vrke.d.cts → config-Ca8dN4cS.d.cts} +10 -9
- package/dist/tsup/{context-A7R0bsZL.d.ts → context-B_IWbWne.d.ts} +1 -1
- package/dist/tsup/{context-CA3r-pf2.d.cts → context-CUrQ9MHc.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 +252 -207
- 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 +183 -138
- package/dist/tsup/mod.js.map +1 -1
- 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 +9 -9
- package/dist/tsup/workflow/mod.d.cts +4 -5
- package/dist/tsup/workflow/mod.d.ts +4 -5
- package/dist/tsup/workflow/mod.js +5 -5
- package/package.json +8 -8
- package/src/actor/errors.ts +53 -7
- package/src/client/actor-conn.ts +52 -29
- package/src/client/actor-handle.ts +57 -23
- package/src/client/errors.ts +2 -1
- package/src/client/raw-utils.ts +2 -4
- package/src/client/utils.ts +32 -3
- 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/router.ts +38 -8
- package/src/common/utils.ts +9 -52
- package/src/drivers/engine/actor-driver.ts +18 -17
- package/src/registry/config/index.ts +3 -5
- package/src/registry/index.ts +156 -19
- package/src/registry/napi-runtime.ts +44 -6
- package/src/registry/native.ts +5 -152
- package/src/registry/runtime.ts +16 -5
- package/src/registry/wasm-runtime.ts +22 -2
- 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-N2DQSJIW.js.map +0 -1
- package/dist/tsup/chunk-V3QNBJ7N.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-NATOT3ET.js.map → chunk-CAF6JDJE.js.map} +0 -0
- /package/dist/tsup/{chunk-PGYEMIOE.js.map → chunk-DEO7MMWQ.js.map} +0 -0
- /package/dist/tsup/{chunk-SULB574D.js.map → chunk-EMO6E3PJ.js.map} +0 -0
- /package/dist/tsup/{chunk-LDTT6WKJ.js.map → chunk-RTC2AZGB.js.map} +0 -0
- /package/dist/tsup/{chunk-UXTP4EBU.js.map → chunk-ZI5QJMKO.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.6",
|
|
235
204
|
description: "Lightweight libraries for building stateful actors on edge platforms",
|
|
236
205
|
license: "Apache-2.0",
|
|
237
206
|
keywords: [
|
|
@@ -666,11 +635,6 @@ function combineUrlPath(endpoint, path, queryParams) {
|
|
|
666
635
|
const fullQuery = queryParts.length > 0 ? `?${queryParts.join("&")}` : "";
|
|
667
636
|
return `${baseUrl.protocol}//${baseUrl.host}${fullPath}${fullQuery}`;
|
|
668
637
|
}
|
|
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
638
|
|
|
675
639
|
// src/devtools-loader/log.ts
|
|
676
640
|
function logger() {
|
|
@@ -2694,8 +2658,440 @@ function decodeHttpResolveResponse3(bytes) {
|
|
|
2694
2658
|
return result;
|
|
2695
2659
|
}
|
|
2696
2660
|
|
|
2661
|
+
// src/common/bare/generated/client-protocol/v4.ts
|
|
2662
|
+
import * as bare4 from "@rivetkit/bare-ts";
|
|
2663
|
+
var DEFAULT_CONFIG4 = /* @__PURE__ */ bare4.Config({});
|
|
2664
|
+
function readCbor4(bc) {
|
|
2665
|
+
return bare4.readData(bc);
|
|
2666
|
+
}
|
|
2667
|
+
function writeCbor4(bc, x) {
|
|
2668
|
+
bare4.writeData(bc, x);
|
|
2669
|
+
}
|
|
2670
|
+
function read04(bc) {
|
|
2671
|
+
return bare4.readBool(bc) ? bare4.readString(bc) : null;
|
|
2672
|
+
}
|
|
2673
|
+
function write04(bc, x) {
|
|
2674
|
+
bare4.writeBool(bc, x != null);
|
|
2675
|
+
if (x != null) {
|
|
2676
|
+
bare4.writeString(bc, x);
|
|
2677
|
+
}
|
|
2678
|
+
}
|
|
2679
|
+
function readActorSpecifier(bc) {
|
|
2680
|
+
return {
|
|
2681
|
+
actorId: bare4.readString(bc),
|
|
2682
|
+
generation: bare4.readUint(bc),
|
|
2683
|
+
key: read04(bc)
|
|
2684
|
+
};
|
|
2685
|
+
}
|
|
2686
|
+
function writeActorSpecifier(bc, x) {
|
|
2687
|
+
bare4.writeString(bc, x.actorId);
|
|
2688
|
+
bare4.writeUint(bc, x.generation);
|
|
2689
|
+
write04(bc, x.key);
|
|
2690
|
+
}
|
|
2691
|
+
function readInit4(bc) {
|
|
2692
|
+
return {
|
|
2693
|
+
actorId: bare4.readString(bc),
|
|
2694
|
+
connectionId: bare4.readString(bc)
|
|
2695
|
+
};
|
|
2696
|
+
}
|
|
2697
|
+
function writeInit4(bc, x) {
|
|
2698
|
+
bare4.writeString(bc, x.actorId);
|
|
2699
|
+
bare4.writeString(bc, x.connectionId);
|
|
2700
|
+
}
|
|
2701
|
+
function read14(bc) {
|
|
2702
|
+
return bare4.readBool(bc) ? readCbor4(bc) : null;
|
|
2703
|
+
}
|
|
2704
|
+
function write14(bc, x) {
|
|
2705
|
+
bare4.writeBool(bc, x != null);
|
|
2706
|
+
if (x != null) {
|
|
2707
|
+
writeCbor4(bc, x);
|
|
2708
|
+
}
|
|
2709
|
+
}
|
|
2710
|
+
function read22(bc) {
|
|
2711
|
+
return bare4.readBool(bc) ? bare4.readUint(bc) : null;
|
|
2712
|
+
}
|
|
2713
|
+
function write22(bc, x) {
|
|
2714
|
+
bare4.writeBool(bc, x != null);
|
|
2715
|
+
if (x != null) {
|
|
2716
|
+
bare4.writeUint(bc, x);
|
|
2717
|
+
}
|
|
2718
|
+
}
|
|
2719
|
+
function read32(bc) {
|
|
2720
|
+
return bare4.readBool(bc) ? readActorSpecifier(bc) : null;
|
|
2721
|
+
}
|
|
2722
|
+
function write32(bc, x) {
|
|
2723
|
+
bare4.writeBool(bc, x != null);
|
|
2724
|
+
if (x != null) {
|
|
2725
|
+
writeActorSpecifier(bc, x);
|
|
2726
|
+
}
|
|
2727
|
+
}
|
|
2728
|
+
function readError4(bc) {
|
|
2729
|
+
return {
|
|
2730
|
+
group: bare4.readString(bc),
|
|
2731
|
+
code: bare4.readString(bc),
|
|
2732
|
+
message: bare4.readString(bc),
|
|
2733
|
+
metadata: read14(bc),
|
|
2734
|
+
actionId: read22(bc),
|
|
2735
|
+
actor: read32(bc)
|
|
2736
|
+
};
|
|
2737
|
+
}
|
|
2738
|
+
function writeError4(bc, x) {
|
|
2739
|
+
bare4.writeString(bc, x.group);
|
|
2740
|
+
bare4.writeString(bc, x.code);
|
|
2741
|
+
bare4.writeString(bc, x.message);
|
|
2742
|
+
write14(bc, x.metadata);
|
|
2743
|
+
write22(bc, x.actionId);
|
|
2744
|
+
write32(bc, x.actor);
|
|
2745
|
+
}
|
|
2746
|
+
function readActionResponse4(bc) {
|
|
2747
|
+
return {
|
|
2748
|
+
id: bare4.readUint(bc),
|
|
2749
|
+
output: readCbor4(bc)
|
|
2750
|
+
};
|
|
2751
|
+
}
|
|
2752
|
+
function writeActionResponse4(bc, x) {
|
|
2753
|
+
bare4.writeUint(bc, x.id);
|
|
2754
|
+
writeCbor4(bc, x.output);
|
|
2755
|
+
}
|
|
2756
|
+
function readEvent4(bc) {
|
|
2757
|
+
return {
|
|
2758
|
+
name: bare4.readString(bc),
|
|
2759
|
+
args: readCbor4(bc)
|
|
2760
|
+
};
|
|
2761
|
+
}
|
|
2762
|
+
function writeEvent4(bc, x) {
|
|
2763
|
+
bare4.writeString(bc, x.name);
|
|
2764
|
+
writeCbor4(bc, x.args);
|
|
2765
|
+
}
|
|
2766
|
+
function readToClientBody4(bc) {
|
|
2767
|
+
const offset = bc.offset;
|
|
2768
|
+
const tag = bare4.readU8(bc);
|
|
2769
|
+
switch (tag) {
|
|
2770
|
+
case 0:
|
|
2771
|
+
return { tag: "Init", val: readInit4(bc) };
|
|
2772
|
+
case 1:
|
|
2773
|
+
return { tag: "Error", val: readError4(bc) };
|
|
2774
|
+
case 2:
|
|
2775
|
+
return { tag: "ActionResponse", val: readActionResponse4(bc) };
|
|
2776
|
+
case 3:
|
|
2777
|
+
return { tag: "Event", val: readEvent4(bc) };
|
|
2778
|
+
default: {
|
|
2779
|
+
bc.offset = offset;
|
|
2780
|
+
throw new bare4.BareError(offset, "invalid tag");
|
|
2781
|
+
}
|
|
2782
|
+
}
|
|
2783
|
+
}
|
|
2784
|
+
function writeToClientBody4(bc, x) {
|
|
2785
|
+
switch (x.tag) {
|
|
2786
|
+
case "Init": {
|
|
2787
|
+
bare4.writeU8(bc, 0);
|
|
2788
|
+
writeInit4(bc, x.val);
|
|
2789
|
+
break;
|
|
2790
|
+
}
|
|
2791
|
+
case "Error": {
|
|
2792
|
+
bare4.writeU8(bc, 1);
|
|
2793
|
+
writeError4(bc, x.val);
|
|
2794
|
+
break;
|
|
2795
|
+
}
|
|
2796
|
+
case "ActionResponse": {
|
|
2797
|
+
bare4.writeU8(bc, 2);
|
|
2798
|
+
writeActionResponse4(bc, x.val);
|
|
2799
|
+
break;
|
|
2800
|
+
}
|
|
2801
|
+
case "Event": {
|
|
2802
|
+
bare4.writeU8(bc, 3);
|
|
2803
|
+
writeEvent4(bc, x.val);
|
|
2804
|
+
break;
|
|
2805
|
+
}
|
|
2806
|
+
}
|
|
2807
|
+
}
|
|
2808
|
+
function readToClient4(bc) {
|
|
2809
|
+
return {
|
|
2810
|
+
body: readToClientBody4(bc)
|
|
2811
|
+
};
|
|
2812
|
+
}
|
|
2813
|
+
function writeToClient4(bc, x) {
|
|
2814
|
+
writeToClientBody4(bc, x.body);
|
|
2815
|
+
}
|
|
2816
|
+
function encodeToClient4(x, config) {
|
|
2817
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
2818
|
+
const bc = new bare4.ByteCursor(
|
|
2819
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
2820
|
+
fullConfig
|
|
2821
|
+
);
|
|
2822
|
+
writeToClient4(bc, x);
|
|
2823
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2824
|
+
}
|
|
2825
|
+
function decodeToClient4(bytes) {
|
|
2826
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
2827
|
+
const result = readToClient4(bc);
|
|
2828
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2829
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
2830
|
+
}
|
|
2831
|
+
return result;
|
|
2832
|
+
}
|
|
2833
|
+
function readActionRequest4(bc) {
|
|
2834
|
+
return {
|
|
2835
|
+
id: bare4.readUint(bc),
|
|
2836
|
+
name: bare4.readString(bc),
|
|
2837
|
+
args: readCbor4(bc)
|
|
2838
|
+
};
|
|
2839
|
+
}
|
|
2840
|
+
function writeActionRequest4(bc, x) {
|
|
2841
|
+
bare4.writeUint(bc, x.id);
|
|
2842
|
+
bare4.writeString(bc, x.name);
|
|
2843
|
+
writeCbor4(bc, x.args);
|
|
2844
|
+
}
|
|
2845
|
+
function readSubscriptionRequest4(bc) {
|
|
2846
|
+
return {
|
|
2847
|
+
eventName: bare4.readString(bc),
|
|
2848
|
+
subscribe: bare4.readBool(bc)
|
|
2849
|
+
};
|
|
2850
|
+
}
|
|
2851
|
+
function writeSubscriptionRequest4(bc, x) {
|
|
2852
|
+
bare4.writeString(bc, x.eventName);
|
|
2853
|
+
bare4.writeBool(bc, x.subscribe);
|
|
2854
|
+
}
|
|
2855
|
+
function readToServerBody4(bc) {
|
|
2856
|
+
const offset = bc.offset;
|
|
2857
|
+
const tag = bare4.readU8(bc);
|
|
2858
|
+
switch (tag) {
|
|
2859
|
+
case 0:
|
|
2860
|
+
return { tag: "ActionRequest", val: readActionRequest4(bc) };
|
|
2861
|
+
case 1:
|
|
2862
|
+
return { tag: "SubscriptionRequest", val: readSubscriptionRequest4(bc) };
|
|
2863
|
+
default: {
|
|
2864
|
+
bc.offset = offset;
|
|
2865
|
+
throw new bare4.BareError(offset, "invalid tag");
|
|
2866
|
+
}
|
|
2867
|
+
}
|
|
2868
|
+
}
|
|
2869
|
+
function writeToServerBody4(bc, x) {
|
|
2870
|
+
switch (x.tag) {
|
|
2871
|
+
case "ActionRequest": {
|
|
2872
|
+
bare4.writeU8(bc, 0);
|
|
2873
|
+
writeActionRequest4(bc, x.val);
|
|
2874
|
+
break;
|
|
2875
|
+
}
|
|
2876
|
+
case "SubscriptionRequest": {
|
|
2877
|
+
bare4.writeU8(bc, 1);
|
|
2878
|
+
writeSubscriptionRequest4(bc, x.val);
|
|
2879
|
+
break;
|
|
2880
|
+
}
|
|
2881
|
+
}
|
|
2882
|
+
}
|
|
2883
|
+
function readToServer4(bc) {
|
|
2884
|
+
return {
|
|
2885
|
+
body: readToServerBody4(bc)
|
|
2886
|
+
};
|
|
2887
|
+
}
|
|
2888
|
+
function writeToServer4(bc, x) {
|
|
2889
|
+
writeToServerBody4(bc, x.body);
|
|
2890
|
+
}
|
|
2891
|
+
function encodeToServer4(x, config) {
|
|
2892
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
2893
|
+
const bc = new bare4.ByteCursor(
|
|
2894
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
2895
|
+
fullConfig
|
|
2896
|
+
);
|
|
2897
|
+
writeToServer4(bc, x);
|
|
2898
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2899
|
+
}
|
|
2900
|
+
function decodeToServer4(bytes) {
|
|
2901
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
2902
|
+
const result = readToServer4(bc);
|
|
2903
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2904
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
2905
|
+
}
|
|
2906
|
+
return result;
|
|
2907
|
+
}
|
|
2908
|
+
function readHttpActionRequest4(bc) {
|
|
2909
|
+
return {
|
|
2910
|
+
args: readCbor4(bc)
|
|
2911
|
+
};
|
|
2912
|
+
}
|
|
2913
|
+
function writeHttpActionRequest4(bc, x) {
|
|
2914
|
+
writeCbor4(bc, x.args);
|
|
2915
|
+
}
|
|
2916
|
+
function encodeHttpActionRequest4(x, config) {
|
|
2917
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
2918
|
+
const bc = new bare4.ByteCursor(
|
|
2919
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
2920
|
+
fullConfig
|
|
2921
|
+
);
|
|
2922
|
+
writeHttpActionRequest4(bc, x);
|
|
2923
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2924
|
+
}
|
|
2925
|
+
function decodeHttpActionRequest4(bytes) {
|
|
2926
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
2927
|
+
const result = readHttpActionRequest4(bc);
|
|
2928
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2929
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
2930
|
+
}
|
|
2931
|
+
return result;
|
|
2932
|
+
}
|
|
2933
|
+
function readHttpActionResponse4(bc) {
|
|
2934
|
+
return {
|
|
2935
|
+
output: readCbor4(bc)
|
|
2936
|
+
};
|
|
2937
|
+
}
|
|
2938
|
+
function writeHttpActionResponse4(bc, x) {
|
|
2939
|
+
writeCbor4(bc, x.output);
|
|
2940
|
+
}
|
|
2941
|
+
function encodeHttpActionResponse4(x, config) {
|
|
2942
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
2943
|
+
const bc = new bare4.ByteCursor(
|
|
2944
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
2945
|
+
fullConfig
|
|
2946
|
+
);
|
|
2947
|
+
writeHttpActionResponse4(bc, x);
|
|
2948
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2949
|
+
}
|
|
2950
|
+
function decodeHttpActionResponse4(bytes) {
|
|
2951
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
2952
|
+
const result = readHttpActionResponse4(bc);
|
|
2953
|
+
if (bc.offset < bc.view.byteLength) {
|
|
2954
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
2955
|
+
}
|
|
2956
|
+
return result;
|
|
2957
|
+
}
|
|
2958
|
+
function read42(bc) {
|
|
2959
|
+
return bare4.readBool(bc) ? bare4.readBool(bc) : null;
|
|
2960
|
+
}
|
|
2961
|
+
function write42(bc, x) {
|
|
2962
|
+
bare4.writeBool(bc, x != null);
|
|
2963
|
+
if (x != null) {
|
|
2964
|
+
bare4.writeBool(bc, x);
|
|
2965
|
+
}
|
|
2966
|
+
}
|
|
2967
|
+
function read5(bc) {
|
|
2968
|
+
return bare4.readBool(bc) ? bare4.readU64(bc) : null;
|
|
2969
|
+
}
|
|
2970
|
+
function write5(bc, x) {
|
|
2971
|
+
bare4.writeBool(bc, x != null);
|
|
2972
|
+
if (x != null) {
|
|
2973
|
+
bare4.writeU64(bc, x);
|
|
2974
|
+
}
|
|
2975
|
+
}
|
|
2976
|
+
function readHttpQueueSendRequest2(bc) {
|
|
2977
|
+
return {
|
|
2978
|
+
body: readCbor4(bc),
|
|
2979
|
+
name: read04(bc),
|
|
2980
|
+
wait: read42(bc),
|
|
2981
|
+
timeout: read5(bc)
|
|
2982
|
+
};
|
|
2983
|
+
}
|
|
2984
|
+
function writeHttpQueueSendRequest2(bc, x) {
|
|
2985
|
+
writeCbor4(bc, x.body);
|
|
2986
|
+
write04(bc, x.name);
|
|
2987
|
+
write42(bc, x.wait);
|
|
2988
|
+
write5(bc, x.timeout);
|
|
2989
|
+
}
|
|
2990
|
+
function encodeHttpQueueSendRequest2(x, config) {
|
|
2991
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
2992
|
+
const bc = new bare4.ByteCursor(
|
|
2993
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
2994
|
+
fullConfig
|
|
2995
|
+
);
|
|
2996
|
+
writeHttpQueueSendRequest2(bc, x);
|
|
2997
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
2998
|
+
}
|
|
2999
|
+
function decodeHttpQueueSendRequest2(bytes) {
|
|
3000
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
3001
|
+
const result = readHttpQueueSendRequest2(bc);
|
|
3002
|
+
if (bc.offset < bc.view.byteLength) {
|
|
3003
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
3004
|
+
}
|
|
3005
|
+
return result;
|
|
3006
|
+
}
|
|
3007
|
+
function readHttpQueueSendResponse2(bc) {
|
|
3008
|
+
return {
|
|
3009
|
+
status: bare4.readString(bc),
|
|
3010
|
+
response: read14(bc)
|
|
3011
|
+
};
|
|
3012
|
+
}
|
|
3013
|
+
function writeHttpQueueSendResponse2(bc, x) {
|
|
3014
|
+
bare4.writeString(bc, x.status);
|
|
3015
|
+
write14(bc, x.response);
|
|
3016
|
+
}
|
|
3017
|
+
function encodeHttpQueueSendResponse2(x, config) {
|
|
3018
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
3019
|
+
const bc = new bare4.ByteCursor(
|
|
3020
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
3021
|
+
fullConfig
|
|
3022
|
+
);
|
|
3023
|
+
writeHttpQueueSendResponse2(bc, x);
|
|
3024
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
3025
|
+
}
|
|
3026
|
+
function decodeHttpQueueSendResponse2(bytes) {
|
|
3027
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
3028
|
+
const result = readHttpQueueSendResponse2(bc);
|
|
3029
|
+
if (bc.offset < bc.view.byteLength) {
|
|
3030
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
3031
|
+
}
|
|
3032
|
+
return result;
|
|
3033
|
+
}
|
|
3034
|
+
function readHttpResponseError4(bc) {
|
|
3035
|
+
return {
|
|
3036
|
+
group: bare4.readString(bc),
|
|
3037
|
+
code: bare4.readString(bc),
|
|
3038
|
+
message: bare4.readString(bc),
|
|
3039
|
+
metadata: read14(bc),
|
|
3040
|
+
actor: read32(bc)
|
|
3041
|
+
};
|
|
3042
|
+
}
|
|
3043
|
+
function writeHttpResponseError4(bc, x) {
|
|
3044
|
+
bare4.writeString(bc, x.group);
|
|
3045
|
+
bare4.writeString(bc, x.code);
|
|
3046
|
+
bare4.writeString(bc, x.message);
|
|
3047
|
+
write14(bc, x.metadata);
|
|
3048
|
+
write32(bc, x.actor);
|
|
3049
|
+
}
|
|
3050
|
+
function encodeHttpResponseError4(x, config) {
|
|
3051
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
3052
|
+
const bc = new bare4.ByteCursor(
|
|
3053
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
3054
|
+
fullConfig
|
|
3055
|
+
);
|
|
3056
|
+
writeHttpResponseError4(bc, x);
|
|
3057
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
3058
|
+
}
|
|
3059
|
+
function decodeHttpResponseError4(bytes) {
|
|
3060
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
3061
|
+
const result = readHttpResponseError4(bc);
|
|
3062
|
+
if (bc.offset < bc.view.byteLength) {
|
|
3063
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
3064
|
+
}
|
|
3065
|
+
return result;
|
|
3066
|
+
}
|
|
3067
|
+
function readHttpResolveResponse4(bc) {
|
|
3068
|
+
return {
|
|
3069
|
+
actorId: bare4.readString(bc)
|
|
3070
|
+
};
|
|
3071
|
+
}
|
|
3072
|
+
function writeHttpResolveResponse4(bc, x) {
|
|
3073
|
+
bare4.writeString(bc, x.actorId);
|
|
3074
|
+
}
|
|
3075
|
+
function encodeHttpResolveResponse4(x, config) {
|
|
3076
|
+
const fullConfig = config != null ? bare4.Config(config) : DEFAULT_CONFIG4;
|
|
3077
|
+
const bc = new bare4.ByteCursor(
|
|
3078
|
+
new Uint8Array(fullConfig.initialBufferLength),
|
|
3079
|
+
fullConfig
|
|
3080
|
+
);
|
|
3081
|
+
writeHttpResolveResponse4(bc, x);
|
|
3082
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
3083
|
+
}
|
|
3084
|
+
function decodeHttpResolveResponse4(bytes) {
|
|
3085
|
+
const bc = new bare4.ByteCursor(bytes, DEFAULT_CONFIG4);
|
|
3086
|
+
const result = readHttpResolveResponse4(bc);
|
|
3087
|
+
if (bc.offset < bc.view.byteLength) {
|
|
3088
|
+
throw new bare4.BareError(bc.offset, "remaining bytes");
|
|
3089
|
+
}
|
|
3090
|
+
return result;
|
|
3091
|
+
}
|
|
3092
|
+
|
|
2697
3093
|
// src/common/client-protocol-versioned.ts
|
|
2698
|
-
var CURRENT_VERSION =
|
|
3094
|
+
var CURRENT_VERSION = 4;
|
|
2699
3095
|
var v1ToV2 = (v1Data) => {
|
|
2700
3096
|
if (v1Data.body.tag === "Init") {
|
|
2701
3097
|
const { actorId, connectionId } = v1Data.body.val;
|
|
@@ -2731,6 +3127,32 @@ var v2ToV1 = (v2Data) => {
|
|
|
2731
3127
|
var v2ToV3 = (v2Data) => {
|
|
2732
3128
|
return v2Data;
|
|
2733
3129
|
};
|
|
3130
|
+
var v3ToV4 = (v3Data) => {
|
|
3131
|
+
if (v3Data.body.tag === "Error") {
|
|
3132
|
+
return {
|
|
3133
|
+
body: {
|
|
3134
|
+
tag: "Error",
|
|
3135
|
+
val: {
|
|
3136
|
+
...v3Data.body.val,
|
|
3137
|
+
actor: null
|
|
3138
|
+
}
|
|
3139
|
+
}
|
|
3140
|
+
};
|
|
3141
|
+
}
|
|
3142
|
+
return v3Data;
|
|
3143
|
+
};
|
|
3144
|
+
var v4ToV3 = (v4Data) => {
|
|
3145
|
+
if (v4Data.body.tag === "Error") {
|
|
3146
|
+
const { actor: _, ...val } = v4Data.body.val;
|
|
3147
|
+
return {
|
|
3148
|
+
body: {
|
|
3149
|
+
tag: "Error",
|
|
3150
|
+
val
|
|
3151
|
+
}
|
|
3152
|
+
};
|
|
3153
|
+
}
|
|
3154
|
+
return v4Data;
|
|
3155
|
+
};
|
|
2734
3156
|
var v3ToV2 = (v3Data) => {
|
|
2735
3157
|
return v3Data;
|
|
2736
3158
|
};
|
|
@@ -2740,12 +3162,26 @@ var v1ToServerV2 = (v1Data) => {
|
|
|
2740
3162
|
var v2ToServerV3 = (v2Data) => {
|
|
2741
3163
|
return v2Data;
|
|
2742
3164
|
};
|
|
3165
|
+
var v3ToServerV4 = (v3Data) => {
|
|
3166
|
+
return v3Data;
|
|
3167
|
+
};
|
|
3168
|
+
var v4ToServerV3 = (v4Data) => {
|
|
3169
|
+
return v4Data;
|
|
3170
|
+
};
|
|
2743
3171
|
var v3ToServerV2 = (v3Data) => {
|
|
2744
3172
|
return v3Data;
|
|
2745
3173
|
};
|
|
2746
3174
|
var v2ToServerV1 = (v2Data) => {
|
|
2747
3175
|
return v2Data;
|
|
2748
3176
|
};
|
|
3177
|
+
var v3HttpResponseErrorToV4 = (v3Data) => ({
|
|
3178
|
+
...v3Data,
|
|
3179
|
+
actor: null
|
|
3180
|
+
});
|
|
3181
|
+
var v4HttpResponseErrorToV3 = (v4Data) => {
|
|
3182
|
+
const { actor: _, ...rest } = v4Data;
|
|
3183
|
+
return rest;
|
|
3184
|
+
};
|
|
2749
3185
|
var CLIENT_PROTOCOL_TO_SERVER = createVersionedDataHandler({
|
|
2750
3186
|
deserializeVersion: (bytes, version) => {
|
|
2751
3187
|
switch (version) {
|
|
@@ -2755,6 +3191,8 @@ var CLIENT_PROTOCOL_TO_SERVER = createVersionedDataHandler({
|
|
|
2755
3191
|
return decodeToServer2(bytes);
|
|
2756
3192
|
case 3:
|
|
2757
3193
|
return decodeToServer3(bytes);
|
|
3194
|
+
case 4:
|
|
3195
|
+
return decodeToServer4(bytes);
|
|
2758
3196
|
default:
|
|
2759
3197
|
throw new Error(`Unknown version ${version}`);
|
|
2760
3198
|
}
|
|
@@ -2767,12 +3205,14 @@ var CLIENT_PROTOCOL_TO_SERVER = createVersionedDataHandler({
|
|
|
2767
3205
|
return encodeToServer2(data);
|
|
2768
3206
|
case 3:
|
|
2769
3207
|
return encodeToServer3(data);
|
|
3208
|
+
case 4:
|
|
3209
|
+
return encodeToServer4(data);
|
|
2770
3210
|
default:
|
|
2771
3211
|
throw new Error(`Unknown version ${version}`);
|
|
2772
3212
|
}
|
|
2773
3213
|
},
|
|
2774
|
-
deserializeConverters: () => [v1ToServerV2, v2ToServerV3],
|
|
2775
|
-
serializeConverters: () => [v3ToServerV2, v2ToServerV1]
|
|
3214
|
+
deserializeConverters: () => [v1ToServerV2, v2ToServerV3, v3ToServerV4],
|
|
3215
|
+
serializeConverters: () => [v4ToServerV3, v3ToServerV2, v2ToServerV1]
|
|
2776
3216
|
});
|
|
2777
3217
|
var CLIENT_PROTOCOL_TO_CLIENT = createVersionedDataHandler({
|
|
2778
3218
|
deserializeVersion: (bytes, version) => {
|
|
@@ -2783,6 +3223,8 @@ var CLIENT_PROTOCOL_TO_CLIENT = createVersionedDataHandler({
|
|
|
2783
3223
|
return decodeToClient2(bytes);
|
|
2784
3224
|
case 3:
|
|
2785
3225
|
return decodeToClient3(bytes);
|
|
3226
|
+
case 4:
|
|
3227
|
+
return decodeToClient4(bytes);
|
|
2786
3228
|
default:
|
|
2787
3229
|
throw new Error(`Unknown version ${version}`);
|
|
2788
3230
|
}
|
|
@@ -2795,12 +3237,14 @@ var CLIENT_PROTOCOL_TO_CLIENT = createVersionedDataHandler({
|
|
|
2795
3237
|
return encodeToClient2(data);
|
|
2796
3238
|
case 3:
|
|
2797
3239
|
return encodeToClient3(data);
|
|
3240
|
+
case 4:
|
|
3241
|
+
return encodeToClient4(data);
|
|
2798
3242
|
default:
|
|
2799
3243
|
throw new Error(`Unknown version ${version}`);
|
|
2800
3244
|
}
|
|
2801
3245
|
},
|
|
2802
|
-
deserializeConverters: () => [v1ToV2, v2ToV3],
|
|
2803
|
-
serializeConverters: () => [v3ToV2, v2ToV1]
|
|
3246
|
+
deserializeConverters: () => [v1ToV2, v2ToV3, v3ToV4],
|
|
3247
|
+
serializeConverters: () => [v4ToV3, v3ToV2, v2ToV1]
|
|
2804
3248
|
});
|
|
2805
3249
|
var HTTP_ACTION_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
2806
3250
|
deserializeVersion: (bytes, version) => {
|
|
@@ -2811,6 +3255,8 @@ var HTTP_ACTION_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
|
2811
3255
|
return decodeHttpActionRequest2(bytes);
|
|
2812
3256
|
case 3:
|
|
2813
3257
|
return decodeHttpActionRequest3(bytes);
|
|
3258
|
+
case 4:
|
|
3259
|
+
return decodeHttpActionRequest4(bytes);
|
|
2814
3260
|
default:
|
|
2815
3261
|
throw new Error(`Unknown version ${version}`);
|
|
2816
3262
|
}
|
|
@@ -2829,6 +3275,10 @@ var HTTP_ACTION_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
|
2829
3275
|
return encodeHttpActionRequest3(
|
|
2830
3276
|
data
|
|
2831
3277
|
);
|
|
3278
|
+
case 4:
|
|
3279
|
+
return encodeHttpActionRequest4(
|
|
3280
|
+
data
|
|
3281
|
+
);
|
|
2832
3282
|
default:
|
|
2833
3283
|
throw new Error(`Unknown version ${version}`);
|
|
2834
3284
|
}
|
|
@@ -2845,6 +3295,8 @@ var HTTP_ACTION_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2845
3295
|
return decodeHttpActionResponse2(bytes);
|
|
2846
3296
|
case 3:
|
|
2847
3297
|
return decodeHttpActionResponse3(bytes);
|
|
3298
|
+
case 4:
|
|
3299
|
+
return decodeHttpActionResponse4(bytes);
|
|
2848
3300
|
default:
|
|
2849
3301
|
throw new Error(`Unknown version ${version}`);
|
|
2850
3302
|
}
|
|
@@ -2863,6 +3315,10 @@ var HTTP_ACTION_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2863
3315
|
return encodeHttpActionResponse3(
|
|
2864
3316
|
data
|
|
2865
3317
|
);
|
|
3318
|
+
case 4:
|
|
3319
|
+
return encodeHttpActionResponse4(
|
|
3320
|
+
data
|
|
3321
|
+
);
|
|
2866
3322
|
default:
|
|
2867
3323
|
throw new Error(`Unknown version ${version}`);
|
|
2868
3324
|
}
|
|
@@ -2875,6 +3331,8 @@ var HTTP_QUEUE_SEND_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
|
2875
3331
|
switch (version) {
|
|
2876
3332
|
case 3:
|
|
2877
3333
|
return decodeHttpQueueSendRequest(bytes);
|
|
3334
|
+
case 4:
|
|
3335
|
+
return decodeHttpQueueSendRequest2(bytes);
|
|
2878
3336
|
default:
|
|
2879
3337
|
throw new Error(
|
|
2880
3338
|
`HttpQueueSendRequest only exists in version 3+, got version ${version}`
|
|
@@ -2887,6 +3345,10 @@ var HTTP_QUEUE_SEND_REQUEST_VERSIONED = createVersionedDataHandler({
|
|
|
2887
3345
|
return encodeHttpQueueSendRequest(
|
|
2888
3346
|
data
|
|
2889
3347
|
);
|
|
3348
|
+
case 4:
|
|
3349
|
+
return encodeHttpQueueSendRequest2(
|
|
3350
|
+
data
|
|
3351
|
+
);
|
|
2890
3352
|
default:
|
|
2891
3353
|
throw new Error(
|
|
2892
3354
|
`HttpQueueSendRequest only exists in version 3+, got version ${version}`
|
|
@@ -2901,6 +3363,8 @@ var HTTP_QUEUE_SEND_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2901
3363
|
switch (version) {
|
|
2902
3364
|
case 3:
|
|
2903
3365
|
return decodeHttpQueueSendResponse(bytes);
|
|
3366
|
+
case 4:
|
|
3367
|
+
return decodeHttpQueueSendResponse2(bytes);
|
|
2904
3368
|
default:
|
|
2905
3369
|
throw new Error(
|
|
2906
3370
|
`HttpQueueSendResponse only exists in version 3+, got version ${version}`
|
|
@@ -2913,6 +3377,10 @@ var HTTP_QUEUE_SEND_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2913
3377
|
return encodeHttpQueueSendResponse(
|
|
2914
3378
|
data
|
|
2915
3379
|
);
|
|
3380
|
+
case 4:
|
|
3381
|
+
return encodeHttpQueueSendResponse2(
|
|
3382
|
+
data
|
|
3383
|
+
);
|
|
2916
3384
|
default:
|
|
2917
3385
|
throw new Error(
|
|
2918
3386
|
`HttpQueueSendResponse only exists in version 3+, got version ${version}`
|
|
@@ -2931,6 +3399,8 @@ var HTTP_RESPONSE_ERROR_VERSIONED = createVersionedDataHandler({
|
|
|
2931
3399
|
return decodeHttpResponseError2(bytes);
|
|
2932
3400
|
case 3:
|
|
2933
3401
|
return decodeHttpResponseError3(bytes);
|
|
3402
|
+
case 4:
|
|
3403
|
+
return decodeHttpResponseError4(bytes);
|
|
2934
3404
|
default:
|
|
2935
3405
|
throw new Error(`Unknown version ${version}`);
|
|
2936
3406
|
}
|
|
@@ -2949,12 +3419,24 @@ var HTTP_RESPONSE_ERROR_VERSIONED = createVersionedDataHandler({
|
|
|
2949
3419
|
return encodeHttpResponseError3(
|
|
2950
3420
|
data
|
|
2951
3421
|
);
|
|
3422
|
+
case 4:
|
|
3423
|
+
return encodeHttpResponseError4(
|
|
3424
|
+
data
|
|
3425
|
+
);
|
|
2952
3426
|
default:
|
|
2953
3427
|
throw new Error(`Unknown version ${version}`);
|
|
2954
3428
|
}
|
|
2955
3429
|
},
|
|
2956
|
-
deserializeConverters: () => [
|
|
2957
|
-
|
|
3430
|
+
deserializeConverters: () => [
|
|
3431
|
+
(data) => data,
|
|
3432
|
+
(data) => data,
|
|
3433
|
+
v3HttpResponseErrorToV4
|
|
3434
|
+
],
|
|
3435
|
+
serializeConverters: () => [
|
|
3436
|
+
v4HttpResponseErrorToV3,
|
|
3437
|
+
(data) => data,
|
|
3438
|
+
(data) => data
|
|
3439
|
+
]
|
|
2958
3440
|
});
|
|
2959
3441
|
var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
2960
3442
|
deserializeVersion: (bytes, version) => {
|
|
@@ -2965,6 +3447,8 @@ var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2965
3447
|
return decodeHttpResolveResponse2(bytes);
|
|
2966
3448
|
case 3:
|
|
2967
3449
|
return decodeHttpResolveResponse3(bytes);
|
|
3450
|
+
case 4:
|
|
3451
|
+
return decodeHttpResolveResponse4(bytes);
|
|
2968
3452
|
default:
|
|
2969
3453
|
throw new Error(`Unknown version ${version}`);
|
|
2970
3454
|
}
|
|
@@ -2983,6 +3467,10 @@ var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2983
3467
|
return encodeHttpResolveResponse3(
|
|
2984
3468
|
data
|
|
2985
3469
|
);
|
|
3470
|
+
case 4:
|
|
3471
|
+
return encodeHttpResolveResponse4(
|
|
3472
|
+
data
|
|
3473
|
+
);
|
|
2986
3474
|
default:
|
|
2987
3475
|
throw new Error(`Unknown version ${version}`);
|
|
2988
3476
|
}
|
|
@@ -2995,6 +3483,11 @@ var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
|
|
|
2995
3483
|
import { z as z4 } from "zod/v4";
|
|
2996
3484
|
var UintSchema = z4.bigint();
|
|
2997
3485
|
var OptionalUintSchema = UintSchema.nullable();
|
|
3486
|
+
var ActorSpecifierSchema = z4.object({
|
|
3487
|
+
actorId: z4.string(),
|
|
3488
|
+
generation: z4.union([z4.number(), z4.bigint()]),
|
|
3489
|
+
key: z4.string().optional()
|
|
3490
|
+
});
|
|
2998
3491
|
var InitSchema = z4.object({
|
|
2999
3492
|
actorId: z4.string(),
|
|
3000
3493
|
connectionId: z4.string()
|
|
@@ -3004,7 +3497,8 @@ var ErrorSchema = z4.object({
|
|
|
3004
3497
|
code: z4.string(),
|
|
3005
3498
|
message: z4.string(),
|
|
3006
3499
|
metadata: z4.unknown().optional(),
|
|
3007
|
-
actionId: OptionalUintSchema
|
|
3500
|
+
actionId: OptionalUintSchema,
|
|
3501
|
+
actor: ActorSpecifierSchema.optional()
|
|
3008
3502
|
});
|
|
3009
3503
|
var ActionResponseSchema = z4.object({
|
|
3010
3504
|
id: UintSchema,
|
|
@@ -3062,7 +3556,8 @@ var HttpResponseErrorSchema = z4.object({
|
|
|
3062
3556
|
group: z4.string(),
|
|
3063
3557
|
code: z4.string(),
|
|
3064
3558
|
message: z4.string(),
|
|
3065
|
-
metadata: z4.unknown().optional()
|
|
3559
|
+
metadata: z4.unknown().optional(),
|
|
3560
|
+
actor: ActorSpecifierSchema.optional()
|
|
3066
3561
|
});
|
|
3067
3562
|
var HttpResolveRequestSchema = z4.null();
|
|
3068
3563
|
var HttpResolveResponseSchema = z4.object({
|
|
@@ -3192,21 +3687,45 @@ async function sendHttpRequest(opts) {
|
|
|
3192
3687
|
new Uint8Array(bufferResponse),
|
|
3193
3688
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
3194
3689
|
HttpResponseErrorSchema,
|
|
3195
|
-
// JSON:
|
|
3196
|
-
(json) =>
|
|
3690
|
+
// JSON/CBOR: normalize actor generation to the public number shape.
|
|
3691
|
+
(json) => ({
|
|
3692
|
+
...json,
|
|
3693
|
+
actor: json.actor ? {
|
|
3694
|
+
...json.actor,
|
|
3695
|
+
generation: Number(json.actor.generation)
|
|
3696
|
+
} : void 0
|
|
3697
|
+
}),
|
|
3197
3698
|
// BARE: decode ArrayBuffer metadata to unknown
|
|
3198
|
-
(
|
|
3199
|
-
group:
|
|
3200
|
-
code:
|
|
3201
|
-
message:
|
|
3202
|
-
metadata:
|
|
3699
|
+
(bare5) => ({
|
|
3700
|
+
group: bare5.group,
|
|
3701
|
+
code: bare5.code,
|
|
3702
|
+
message: bare5.message,
|
|
3703
|
+
metadata: bare5.metadata ? decodeCborCompat(new Uint8Array(bare5.metadata)) : void 0,
|
|
3704
|
+
actor: bare5.actor ? {
|
|
3705
|
+
actorId: bare5.actor.actorId,
|
|
3706
|
+
generation: Number(bare5.actor.generation),
|
|
3707
|
+
key: bare5.actor.key ?? void 0
|
|
3708
|
+
} : void 0
|
|
3203
3709
|
})
|
|
3204
3710
|
);
|
|
3711
|
+
logger2().warn({
|
|
3712
|
+
msg: "http error response",
|
|
3713
|
+
group: responseData.group,
|
|
3714
|
+
code: responseData.code,
|
|
3715
|
+
message: responseData.message,
|
|
3716
|
+
metadata: responseData.metadata,
|
|
3717
|
+
actorId: responseData.actor?.actorId,
|
|
3718
|
+
generation: responseData.actor?.generation,
|
|
3719
|
+
actorKey: responseData.actor?.key
|
|
3720
|
+
});
|
|
3205
3721
|
throw new RivetError(
|
|
3206
3722
|
responseData.group,
|
|
3207
3723
|
responseData.code,
|
|
3208
3724
|
responseData.message,
|
|
3209
|
-
|
|
3725
|
+
{
|
|
3726
|
+
metadata: responseData.metadata,
|
|
3727
|
+
actor: responseData.actor
|
|
3728
|
+
}
|
|
3210
3729
|
);
|
|
3211
3730
|
} catch (error) {
|
|
3212
3731
|
if (error instanceof RivetError) {
|
|
@@ -4155,13 +4674,13 @@ function createQueueSender(senderOptions) {
|
|
|
4155
4674
|
response: json.response
|
|
4156
4675
|
};
|
|
4157
4676
|
},
|
|
4158
|
-
responseFromBare: (
|
|
4159
|
-
if (
|
|
4160
|
-
return { status:
|
|
4677
|
+
responseFromBare: (bare5) => {
|
|
4678
|
+
if (bare5.response === null || bare5.response === void 0) {
|
|
4679
|
+
return { status: bare5.status };
|
|
4161
4680
|
}
|
|
4162
4681
|
return {
|
|
4163
|
-
status:
|
|
4164
|
-
response: decodeCborCompat(new Uint8Array(
|
|
4682
|
+
status: bare5.status,
|
|
4683
|
+
response: decodeCborCompat(new Uint8Array(bare5.response))
|
|
4165
4684
|
};
|
|
4166
4685
|
}
|
|
4167
4686
|
});
|
|
@@ -4175,47 +4694,6 @@ function createQueueSender(senderOptions) {
|
|
|
4175
4694
|
};
|
|
4176
4695
|
}
|
|
4177
4696
|
|
|
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
4697
|
// src/client/actor-conn.ts
|
|
4220
4698
|
var DEFAULT_MAX_INCOMING_MESSAGE_SIZE = 65536;
|
|
4221
4699
|
var CONNECT_SYMBOL = /* @__PURE__ */ Symbol("connect");
|
|
@@ -4269,6 +4747,9 @@ var ActorConnRaw = class {
|
|
|
4269
4747
|
this.#encoding = encoding;
|
|
4270
4748
|
this.#actorResolutionState = actorResolutionState;
|
|
4271
4749
|
this.#gatewayOptions = resolveActorGatewayOptions(gatewayOptions);
|
|
4750
|
+
if ("getForId" in actorResolutionState) {
|
|
4751
|
+
this.#actorId = actorResolutionState.getForId.actorId;
|
|
4752
|
+
}
|
|
4272
4753
|
this.#readyPromise = promiseWithResolvers(
|
|
4273
4754
|
(reason) => logger2().warn({
|
|
4274
4755
|
msg: "unhandled ready promise rejection",
|
|
@@ -4519,7 +5000,7 @@ var ActorConnRaw = class {
|
|
|
4519
5000
|
}
|
|
4520
5001
|
async #connectWebSocket() {
|
|
4521
5002
|
const params = await this.#resolveConnectionParams();
|
|
4522
|
-
const target =
|
|
5003
|
+
const target = getGatewayTarget(this.#actorResolutionState);
|
|
4523
5004
|
const ws = await this.#driver.openWebSocket(
|
|
4524
5005
|
PATH_CONNECT,
|
|
4525
5006
|
target,
|
|
@@ -4572,22 +5053,6 @@ var ActorConnRaw = class {
|
|
|
4572
5053
|
}
|
|
4573
5054
|
});
|
|
4574
5055
|
}
|
|
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
5056
|
/** Called by the onopen event from drivers. */
|
|
4592
5057
|
#handleOnOpen() {
|
|
4593
5058
|
if (this.#disposed) {
|
|
@@ -4666,7 +5131,7 @@ var ActorConnRaw = class {
|
|
|
4666
5131
|
});
|
|
4667
5132
|
this.#handleOnOpen();
|
|
4668
5133
|
} else if (response.body.tag === "Error") {
|
|
4669
|
-
const { group, code, message, metadata, actionId } = response.body.val;
|
|
5134
|
+
const { group, code, message, metadata, actionId, actor } = response.body.val;
|
|
4670
5135
|
if (actionId !== null) {
|
|
4671
5136
|
const inFlight = this.#takeActionInFlight(Number(actionId));
|
|
4672
5137
|
this.#invalidateActorIfStale(group, code);
|
|
@@ -4677,10 +5142,16 @@ var ActorConnRaw = class {
|
|
|
4677
5142
|
group,
|
|
4678
5143
|
code,
|
|
4679
5144
|
message,
|
|
4680
|
-
metadata
|
|
5145
|
+
metadata,
|
|
5146
|
+
actorId: actor?.actorId,
|
|
5147
|
+
generation: actor?.generation,
|
|
5148
|
+
actorKey: actor?.key
|
|
4681
5149
|
});
|
|
4682
5150
|
inFlight.reject(
|
|
4683
|
-
new RivetError(group, code, message,
|
|
5151
|
+
new RivetError(group, code, message, {
|
|
5152
|
+
metadata,
|
|
5153
|
+
actor
|
|
5154
|
+
})
|
|
4684
5155
|
);
|
|
4685
5156
|
} else {
|
|
4686
5157
|
logger2().warn({
|
|
@@ -4688,12 +5159,18 @@ var ActorConnRaw = class {
|
|
|
4688
5159
|
group,
|
|
4689
5160
|
code,
|
|
4690
5161
|
message,
|
|
4691
|
-
metadata
|
|
5162
|
+
metadata,
|
|
5163
|
+
actorId: actor?.actorId,
|
|
5164
|
+
generation: actor?.generation,
|
|
5165
|
+
actorKey: actor?.key
|
|
4692
5166
|
});
|
|
4693
5167
|
if (this.#shouldReconnectForStaleActor(group, code)) {
|
|
4694
5168
|
this.#clearResolvedActorIdentity();
|
|
4695
5169
|
this.#onOpenPromise?.reject(
|
|
4696
|
-
new RivetError(group, code, message,
|
|
5170
|
+
new RivetError(group, code, message, {
|
|
5171
|
+
metadata,
|
|
5172
|
+
actor
|
|
5173
|
+
})
|
|
4697
5174
|
);
|
|
4698
5175
|
return;
|
|
4699
5176
|
}
|
|
@@ -4701,7 +5178,7 @@ var ActorConnRaw = class {
|
|
|
4701
5178
|
group,
|
|
4702
5179
|
code,
|
|
4703
5180
|
message,
|
|
4704
|
-
metadata
|
|
5181
|
+
{ metadata, actor }
|
|
4705
5182
|
);
|
|
4706
5183
|
if (isSchedulingError(group, code) && this.#actorId) {
|
|
4707
5184
|
const schedulingError = await checkForSchedulingError(
|
|
@@ -5165,8 +5642,26 @@ var ActorConnRaw = class {
|
|
|
5165
5642
|
buffer,
|
|
5166
5643
|
CLIENT_PROTOCOL_TO_CLIENT,
|
|
5167
5644
|
ToClientSchema,
|
|
5168
|
-
// JSON:
|
|
5169
|
-
(msg) =>
|
|
5645
|
+
// JSON/CBOR: normalize actor generation to the public number shape.
|
|
5646
|
+
(msg) => {
|
|
5647
|
+
if (msg.body.tag !== "Error" || !msg.body.val.actor) {
|
|
5648
|
+
return msg;
|
|
5649
|
+
}
|
|
5650
|
+
return {
|
|
5651
|
+
body: {
|
|
5652
|
+
tag: "Error",
|
|
5653
|
+
val: {
|
|
5654
|
+
...msg.body.val,
|
|
5655
|
+
actor: {
|
|
5656
|
+
...msg.body.val.actor,
|
|
5657
|
+
generation: Number(
|
|
5658
|
+
msg.body.val.actor.generation
|
|
5659
|
+
)
|
|
5660
|
+
}
|
|
5661
|
+
}
|
|
5662
|
+
}
|
|
5663
|
+
};
|
|
5664
|
+
},
|
|
5170
5665
|
// BARE: need to decode ArrayBuffer fields back to unknown
|
|
5171
5666
|
(msg) => {
|
|
5172
5667
|
if (msg.body.tag === "Error") {
|
|
@@ -5182,7 +5677,14 @@ var ActorConnRaw = class {
|
|
|
5182
5677
|
msg.body.val.metadata
|
|
5183
5678
|
)
|
|
5184
5679
|
) : null,
|
|
5185
|
-
actionId: msg.body.val.actionId
|
|
5680
|
+
actionId: msg.body.val.actionId,
|
|
5681
|
+
actor: msg.body.val.actor ? {
|
|
5682
|
+
actorId: msg.body.val.actor.actorId,
|
|
5683
|
+
generation: Number(
|
|
5684
|
+
msg.body.val.actor.generation
|
|
5685
|
+
),
|
|
5686
|
+
key: msg.body.val.actor.key ?? void 0
|
|
5687
|
+
} : void 0
|
|
5186
5688
|
}
|
|
5187
5689
|
}
|
|
5188
5690
|
};
|
|
@@ -5376,13 +5878,11 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
|
|
|
5376
5878
|
});
|
|
5377
5879
|
return driver.sendRequest(target, proxyRequest, options);
|
|
5378
5880
|
} catch (err) {
|
|
5379
|
-
const { group, code, message, metadata } = deconstructError(
|
|
5881
|
+
const { group, code, message, metadata, actor } = deconstructError(
|
|
5380
5882
|
err,
|
|
5381
|
-
logger2(),
|
|
5382
|
-
{},
|
|
5383
5883
|
true
|
|
5384
5884
|
);
|
|
5385
|
-
throw new RivetError(group, code, message, metadata);
|
|
5885
|
+
throw new RivetError(group, code, message, { metadata, actor });
|
|
5386
5886
|
}
|
|
5387
5887
|
}
|
|
5388
5888
|
async function rawWebSocket(driver, target, params, path, _protocols, options = {}) {
|
|
@@ -5418,6 +5918,47 @@ async function rawWebSocket(driver, target, params, path, _protocols, options =
|
|
|
5418
5918
|
return ws;
|
|
5419
5919
|
}
|
|
5420
5920
|
|
|
5921
|
+
// src/client/resolve-gateway-target.ts
|
|
5922
|
+
async function resolveGatewayTarget(driver, target) {
|
|
5923
|
+
if ("directId" in target) {
|
|
5924
|
+
return target.directId;
|
|
5925
|
+
}
|
|
5926
|
+
if ("getForId" in target) {
|
|
5927
|
+
return target.getForId.actorId;
|
|
5928
|
+
}
|
|
5929
|
+
if ("getForKey" in target) {
|
|
5930
|
+
const output = await driver.getWithKey({
|
|
5931
|
+
name: target.getForKey.name,
|
|
5932
|
+
key: target.getForKey.key
|
|
5933
|
+
});
|
|
5934
|
+
if (!output) {
|
|
5935
|
+
throw actorNotFound(
|
|
5936
|
+
`${target.getForKey.name}:${JSON.stringify(target.getForKey.key)}`
|
|
5937
|
+
);
|
|
5938
|
+
}
|
|
5939
|
+
return output.actorId;
|
|
5940
|
+
}
|
|
5941
|
+
if ("getOrCreateForKey" in target) {
|
|
5942
|
+
const output = await driver.getOrCreateWithKey({
|
|
5943
|
+
name: target.getOrCreateForKey.name,
|
|
5944
|
+
key: target.getOrCreateForKey.key,
|
|
5945
|
+
input: target.getOrCreateForKey.input,
|
|
5946
|
+
region: target.getOrCreateForKey.region
|
|
5947
|
+
});
|
|
5948
|
+
return output.actorId;
|
|
5949
|
+
}
|
|
5950
|
+
if ("create" in target) {
|
|
5951
|
+
const output = await driver.createActor({
|
|
5952
|
+
name: target.create.name,
|
|
5953
|
+
key: target.create.key,
|
|
5954
|
+
input: target.create.input,
|
|
5955
|
+
region: target.create.region
|
|
5956
|
+
});
|
|
5957
|
+
return output.actorId;
|
|
5958
|
+
}
|
|
5959
|
+
throw invalidRequest("Invalid query format");
|
|
5960
|
+
}
|
|
5961
|
+
|
|
5421
5962
|
// src/client/actor-handle.ts
|
|
5422
5963
|
var ActorHandleRaw = class {
|
|
5423
5964
|
#client;
|
|
@@ -5462,7 +6003,13 @@ var ActorHandleRaw = class {
|
|
|
5462
6003
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
5463
6004
|
let actorId;
|
|
5464
6005
|
try {
|
|
5465
|
-
const
|
|
6006
|
+
const gatewayOptions = resolveActorGatewayOptions(
|
|
6007
|
+
this.#gatewayOptions
|
|
6008
|
+
);
|
|
6009
|
+
const target = await this.#resolveGatewayRequestTarget(
|
|
6010
|
+
useQueryTarget,
|
|
6011
|
+
gatewayOptions
|
|
6012
|
+
);
|
|
5466
6013
|
actorId = "directId" in target ? target.directId : void 0;
|
|
5467
6014
|
return await createQueueSender({
|
|
5468
6015
|
encoding: this.#encoding,
|
|
@@ -5471,17 +6018,13 @@ var ActorHandleRaw = class {
|
|
|
5471
6018
|
return await this.#driver.sendRequest(
|
|
5472
6019
|
target,
|
|
5473
6020
|
request,
|
|
5474
|
-
|
|
5475
|
-
this.#gatewayOptions
|
|
5476
|
-
)
|
|
6021
|
+
gatewayOptions
|
|
5477
6022
|
);
|
|
5478
6023
|
}
|
|
5479
6024
|
}).send(name, body, options);
|
|
5480
6025
|
} catch (err) {
|
|
5481
|
-
const { group, code, message, metadata } = deconstructError(
|
|
6026
|
+
const { group, code, message, metadata, actor } = deconstructError(
|
|
5482
6027
|
err,
|
|
5483
|
-
logger2(),
|
|
5484
|
-
{},
|
|
5485
6028
|
true
|
|
5486
6029
|
);
|
|
5487
6030
|
if (this.#shouldRetryQueueDispatchOverload(
|
|
@@ -5524,7 +6067,7 @@ var ActorHandleRaw = class {
|
|
|
5524
6067
|
}
|
|
5525
6068
|
continue;
|
|
5526
6069
|
}
|
|
5527
|
-
throw new RivetError(group, code, message, metadata);
|
|
6070
|
+
throw new RivetError(group, code, message, { metadata, actor });
|
|
5528
6071
|
}
|
|
5529
6072
|
}
|
|
5530
6073
|
throw new Error("unreachable queue retry state");
|
|
@@ -5559,7 +6102,10 @@ var ActorHandleRaw = class {
|
|
|
5559
6102
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
5560
6103
|
let actorId;
|
|
5561
6104
|
try {
|
|
5562
|
-
const target = await this.#
|
|
6105
|
+
const target = await this.#resolveGatewayRequestTarget(
|
|
6106
|
+
useQueryTarget,
|
|
6107
|
+
gatewayOptions
|
|
6108
|
+
);
|
|
5563
6109
|
actorId = "directId" in target ? target.directId : void 0;
|
|
5564
6110
|
logger2().debug(
|
|
5565
6111
|
actorId ? { msg: "using direct actor gateway target", actorId } : {
|
|
@@ -5604,17 +6150,15 @@ var ActorHandleRaw = class {
|
|
|
5604
6150
|
args: bufferToArrayBuffer(encodeCborCompat(args))
|
|
5605
6151
|
}),
|
|
5606
6152
|
responseFromJson: (json) => json.output,
|
|
5607
|
-
responseFromBare: (
|
|
6153
|
+
responseFromBare: (bare5) => decodeCborCompat(new Uint8Array(bare5.output))
|
|
5608
6154
|
});
|
|
5609
6155
|
if (opts.name === "destroy" && actorId) {
|
|
5610
6156
|
await this.#waitForDestroyActionToSettle(actorId);
|
|
5611
6157
|
}
|
|
5612
6158
|
return output;
|
|
5613
6159
|
} catch (err) {
|
|
5614
|
-
const { group, code, message, metadata } = deconstructError(
|
|
6160
|
+
const { group, code, message, metadata, actor } = deconstructError(
|
|
5615
6161
|
err,
|
|
5616
|
-
logger2(),
|
|
5617
|
-
{},
|
|
5618
6162
|
true
|
|
5619
6163
|
);
|
|
5620
6164
|
if (await this.#shouldRetrySchedulingError(
|
|
@@ -5644,7 +6188,7 @@ var ActorHandleRaw = class {
|
|
|
5644
6188
|
"actor",
|
|
5645
6189
|
"not_found",
|
|
5646
6190
|
"The actor does not exist or was destroyed.",
|
|
5647
|
-
metadata
|
|
6191
|
+
{ metadata, actor }
|
|
5648
6192
|
);
|
|
5649
6193
|
}
|
|
5650
6194
|
const invalidated = this.#invalidateResolvedActorId(group, code);
|
|
@@ -5655,7 +6199,7 @@ var ActorHandleRaw = class {
|
|
|
5655
6199
|
}
|
|
5656
6200
|
continue;
|
|
5657
6201
|
}
|
|
5658
|
-
throw new RivetError(group, code, message, metadata);
|
|
6202
|
+
throw new RivetError(group, code, message, { metadata, actor });
|
|
5659
6203
|
}
|
|
5660
6204
|
}
|
|
5661
6205
|
throw new Error("unreachable action retry state");
|
|
@@ -5748,6 +6292,12 @@ var ActorHandleRaw = class {
|
|
|
5748
6292
|
this.#resolvingActorId = void 0;
|
|
5749
6293
|
}
|
|
5750
6294
|
}
|
|
6295
|
+
async #resolveGatewayRequestTarget(useQueryTarget, gatewayOptions) {
|
|
6296
|
+
if (gatewayOptions.skipReadyWait) {
|
|
6297
|
+
return getGatewayTarget(this.#actorResolutionState);
|
|
6298
|
+
}
|
|
6299
|
+
return await this.#resolveActionTarget(useQueryTarget);
|
|
6300
|
+
}
|
|
5751
6301
|
/**
|
|
5752
6302
|
* Establishes a persistent connection to the actor.
|
|
5753
6303
|
*
|
|
@@ -5794,7 +6344,10 @@ var ActorHandleRaw = class {
|
|
|
5794
6344
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
5795
6345
|
let actorId;
|
|
5796
6346
|
try {
|
|
5797
|
-
const target = await this.#
|
|
6347
|
+
const target = await this.#resolveGatewayRequestTarget(
|
|
6348
|
+
useQueryTarget,
|
|
6349
|
+
gatewayOptions
|
|
6350
|
+
);
|
|
5798
6351
|
actorId = "directId" in target ? target.directId : void 0;
|
|
5799
6352
|
const response = await rawHttpFetch(
|
|
5800
6353
|
this.#driver,
|
|
@@ -5819,10 +6372,8 @@ var ActorHandleRaw = class {
|
|
|
5819
6372
|
}
|
|
5820
6373
|
return response;
|
|
5821
6374
|
} catch (err) {
|
|
5822
|
-
const { group, code, message, metadata } = deconstructError(
|
|
6375
|
+
const { group, code, message, metadata, actor } = deconstructError(
|
|
5823
6376
|
err,
|
|
5824
|
-
logger2(),
|
|
5825
|
-
{},
|
|
5826
6377
|
true
|
|
5827
6378
|
);
|
|
5828
6379
|
if (await this.#shouldRetrySchedulingError(
|
|
@@ -5855,7 +6406,7 @@ var ActorHandleRaw = class {
|
|
|
5855
6406
|
}
|
|
5856
6407
|
continue;
|
|
5857
6408
|
}
|
|
5858
|
-
throw new RivetError(group, code, message, metadata);
|
|
6409
|
+
throw new RivetError(group, code, message, { metadata, actor });
|
|
5859
6410
|
}
|
|
5860
6411
|
}
|
|
5861
6412
|
throw new Error("unreachable fetch retry state");
|
|
@@ -5915,12 +6466,23 @@ var ActorHandleRaw = class {
|
|
|
5915
6466
|
new Uint8Array(await response.clone().arrayBuffer()),
|
|
5916
6467
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
5917
6468
|
HttpResponseErrorSchema,
|
|
5918
|
-
(json) =>
|
|
5919
|
-
|
|
5920
|
-
|
|
5921
|
-
|
|
5922
|
-
|
|
5923
|
-
|
|
6469
|
+
(json) => ({
|
|
6470
|
+
...json,
|
|
6471
|
+
actor: json.actor ? {
|
|
6472
|
+
...json.actor,
|
|
6473
|
+
generation: Number(json.actor.generation)
|
|
6474
|
+
} : void 0
|
|
6475
|
+
}),
|
|
6476
|
+
(bare5) => ({
|
|
6477
|
+
group: bare5.group,
|
|
6478
|
+
code: bare5.code,
|
|
6479
|
+
message: bare5.message,
|
|
6480
|
+
metadata: bare5.metadata ? decodeCborCompat(new Uint8Array(bare5.metadata)) : void 0,
|
|
6481
|
+
actor: bare5.actor ? {
|
|
6482
|
+
actorId: bare5.actor.actorId,
|
|
6483
|
+
generation: Number(bare5.actor.generation),
|
|
6484
|
+
key: bare5.actor.key ?? void 0
|
|
6485
|
+
} : void 0
|
|
5924
6486
|
})
|
|
5925
6487
|
);
|
|
5926
6488
|
} catch {
|
|
@@ -5936,7 +6498,10 @@ var ActorHandleRaw = class {
|
|
|
5936
6498
|
this.#gatewayOptions,
|
|
5937
6499
|
options
|
|
5938
6500
|
);
|
|
5939
|
-
const target =
|
|
6501
|
+
const target = await this.#resolveGatewayRequestTarget(
|
|
6502
|
+
false,
|
|
6503
|
+
gatewayOptions
|
|
6504
|
+
);
|
|
5940
6505
|
return await rawWebSocket(
|
|
5941
6506
|
this.#driver,
|
|
5942
6507
|
target,
|