rivetkit 2.0.37 → 2.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tsup/{chunk-G4N7FZMM.cjs → chunk-7E3RWMR6.cjs} +195 -93
- package/dist/tsup/chunk-7E3RWMR6.cjs.map +1 -0
- package/dist/tsup/{chunk-J6TX5EFW.js → chunk-BQ36VTSB.js} +108 -6
- package/dist/tsup/chunk-BQ36VTSB.js.map +1 -0
- package/dist/tsup/{chunk-4V7MS7SO.cjs → chunk-C64FV764.cjs} +3 -3
- package/dist/tsup/{chunk-4V7MS7SO.cjs.map → chunk-C64FV764.cjs.map} +1 -1
- package/dist/tsup/{chunk-XI335ZED.js → chunk-CDK6DRO2.js} +6 -4
- package/dist/tsup/chunk-CDK6DRO2.js.map +1 -0
- package/dist/tsup/{chunk-LYYTV7DN.cjs → chunk-DY4H3ASE.cjs} +50 -46
- package/dist/tsup/chunk-DY4H3ASE.cjs.map +1 -0
- package/dist/tsup/{chunk-B6BP74X3.cjs → chunk-KMYFL3OL.cjs} +318 -92
- package/dist/tsup/chunk-KMYFL3OL.cjs.map +1 -0
- package/dist/tsup/{chunk-22NKW7F5.cjs → chunk-MZPYVTVG.cjs} +9 -9
- package/dist/tsup/{chunk-22NKW7F5.cjs.map → chunk-MZPYVTVG.cjs.map} +1 -1
- package/dist/tsup/{chunk-RBA5AQTB.js → chunk-OJZRCEIA.js} +5 -5
- package/dist/tsup/{chunk-RXA3ZMCL.js → chunk-PHCD25XO.js} +2 -2
- package/dist/tsup/{chunk-5XGZXH74.js → chunk-PVKUXMOA.js} +264 -38
- package/dist/tsup/chunk-PVKUXMOA.js.map +1 -0
- package/dist/tsup/{chunk-FIUSIG6J.js → chunk-T7IPDBWH.js} +8 -4
- package/dist/tsup/{chunk-FIUSIG6J.js.map → chunk-T7IPDBWH.js.map} +1 -1
- package/dist/tsup/{chunk-5VVIFC6M.cjs → chunk-UAX5E3EU.cjs} +443 -369
- package/dist/tsup/chunk-UAX5E3EU.cjs.map +1 -0
- package/dist/tsup/{chunk-X5IX3YPO.cjs → chunk-X72X7I7T.cjs} +6 -4
- package/dist/tsup/chunk-X72X7I7T.cjs.map +1 -0
- package/dist/tsup/{chunk-ZQBSQ6H3.js → chunk-XU74APB4.js} +208 -134
- package/dist/tsup/chunk-XU74APB4.js.map +1 -0
- package/dist/tsup/client/mod.cjs +5 -5
- package/dist/tsup/client/mod.d.cts +3 -3
- package/dist/tsup/client/mod.d.ts +3 -3
- package/dist/tsup/client/mod.js +4 -4
- package/dist/tsup/common/log.cjs +2 -2
- package/dist/tsup/common/log.js +1 -1
- package/dist/tsup/common/websocket.cjs +3 -3
- package/dist/tsup/common/websocket.js +2 -2
- package/dist/tsup/{config--NjwiYlS.d.cts → config-BuBlMs6C.d.cts} +238 -60
- package/dist/tsup/{config-CRuzI6n4.d.ts → config-CBwo4ooA.d.ts} +238 -60
- package/dist/tsup/{driver-yKjYx9Yy.d.cts → driver-CPXmh8f8.d.cts} +1 -1
- package/dist/tsup/{driver-BcmckRaF.d.ts → driver-DxWa6HUO.d.ts} +1 -1
- package/dist/tsup/driver-helpers/mod.cjs +3 -3
- package/dist/tsup/driver-helpers/mod.d.cts +2 -2
- package/dist/tsup/driver-helpers/mod.d.ts +2 -2
- package/dist/tsup/driver-helpers/mod.js +2 -2
- package/dist/tsup/driver-test-suite/mod.cjs +81 -35
- package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
- package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
- package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
- package/dist/tsup/driver-test-suite/mod.js +407 -361
- package/dist/tsup/driver-test-suite/mod.js.map +1 -1
- package/dist/tsup/{kv-CTM8sCvx.d.cts → keys-Chhy4ylv.d.cts} +1 -0
- package/dist/tsup/{kv-CTM8sCvx.d.ts → keys-Chhy4ylv.d.ts} +1 -0
- package/dist/tsup/mod.cjs +19 -7
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +5 -5
- package/dist/tsup/mod.d.ts +5 -5
- package/dist/tsup/mod.js +18 -6
- package/dist/tsup/test/mod.cjs +7 -7
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +6 -6
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.js +1 -1
- package/package.json +6 -4
- package/src/actor/config.ts +198 -2
- package/src/actor/contexts/base/actor.ts +12 -0
- package/src/actor/instance/connection-manager.ts +1 -1
- package/src/actor/instance/keys.ts +29 -0
- package/src/actor/instance/kv.ts +240 -14
- package/src/actor/instance/mod.ts +5 -4
- package/src/actor/instance/state-manager.ts +1 -1
- package/src/actor/mod.ts +2 -1
- package/src/actor/router-websocket-endpoints.ts +2 -1
- package/src/client/actor-conn.ts +70 -81
- package/src/client/actor-handle.ts +35 -15
- package/src/client/actor-query.ts +47 -0
- package/src/client/errors.ts +22 -58
- package/src/client/mod.ts +1 -1
- package/src/client/utils.ts +33 -0
- package/src/driver-helpers/utils.ts +1 -1
- package/src/driver-test-suite/mod.ts +3 -0
- package/src/driver-test-suite/test-inline-client-driver.ts +3 -0
- package/src/driver-test-suite/tests/actor-kv.ts +44 -0
- package/src/driver-test-suite/utils.ts +4 -0
- package/src/drivers/engine/actor-driver.ts +3 -3
- package/src/drivers/file-system/manager.ts +5 -0
- package/src/manager/driver.ts +8 -3
- package/src/manager-api/actors.ts +1 -20
- package/src/registry/config/index.ts +68 -0
- package/src/remote-manager-driver/actor-http-client.ts +5 -3
- package/src/remote-manager-driver/actor-websocket-client.ts +18 -7
- package/src/remote-manager-driver/mod.ts +21 -1
- package/src/serverless/router.test.ts +166 -0
- package/src/serverless/router.ts +58 -5
- package/src/utils/env-vars.ts +4 -1
- package/dist/tsup/chunk-5VVIFC6M.cjs.map +0 -1
- package/dist/tsup/chunk-5XGZXH74.js.map +0 -1
- package/dist/tsup/chunk-B6BP74X3.cjs.map +0 -1
- package/dist/tsup/chunk-G4N7FZMM.cjs.map +0 -1
- package/dist/tsup/chunk-J6TX5EFW.js.map +0 -1
- package/dist/tsup/chunk-LYYTV7DN.cjs.map +0 -1
- package/dist/tsup/chunk-X5IX3YPO.cjs.map +0 -1
- package/dist/tsup/chunk-XI335ZED.js.map +0 -1
- package/dist/tsup/chunk-ZQBSQ6H3.js.map +0 -1
- /package/dist/tsup/{chunk-RBA5AQTB.js.map → chunk-OJZRCEIA.js.map} +0 -0
- /package/dist/tsup/{chunk-RXA3ZMCL.js.map → chunk-PHCD25XO.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } var _class; var _class2; var _class3;
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkC64FV764cjs = require('./chunk-C64FV764.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -59,7 +59,7 @@ var _chunk4V7MS7SOcjs = require('./chunk-4V7MS7SO.cjs');
|
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
|
|
62
|
-
var
|
|
62
|
+
var _chunkKMYFL3OLcjs = require('./chunk-KMYFL3OL.cjs');
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
|
|
@@ -84,7 +84,7 @@ var _chunkB6BP74X3cjs = require('./chunk-B6BP74X3.cjs');
|
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
|
|
87
|
-
var
|
|
87
|
+
var _chunkX72X7I7Tcjs = require('./chunk-X72X7I7T.cjs');
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
|
|
@@ -102,11 +102,11 @@ var _chunkSNAUKDDKcjs = require('./chunk-SNAUKDDK.cjs');
|
|
|
102
102
|
|
|
103
103
|
// src/devtools-loader/log.ts
|
|
104
104
|
function logger2() {
|
|
105
|
-
return
|
|
105
|
+
return _chunkX72X7I7Tcjs.getLogger.call(void 0, "devtools");
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
// src/devtools-loader/index.ts
|
|
109
|
-
var DEFAULT_DEVTOOLS_URL = (version =
|
|
109
|
+
var DEFAULT_DEVTOOLS_URL = (version = _chunkX72X7I7Tcjs.VERSION) => `https://releases.rivet.dev/rivet/latest/devtools/mod.js?v=${version}`;
|
|
110
110
|
var scriptId = "rivetkit-devtools-script";
|
|
111
111
|
function injectDevtools(config) {
|
|
112
112
|
if (!window) {
|
|
@@ -169,46 +169,39 @@ var ActorConnDisposed = class extends ActorClientError {
|
|
|
169
169
|
super("Attempting to interact with a disposed actor connection.");
|
|
170
170
|
}
|
|
171
171
|
};
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
function isSchedulingError(group, code) {
|
|
173
|
+
return group === "guard" && (code === "actor_ready_timeout" || code === "actor_runner_failed");
|
|
174
|
+
}
|
|
175
|
+
var ActorSchedulingError = class extends ActorError {
|
|
174
176
|
|
|
175
177
|
|
|
176
|
-
constructor(actorId,
|
|
177
|
-
|
|
178
|
-
|
|
178
|
+
constructor(group, code, actorId, details) {
|
|
179
|
+
super(
|
|
180
|
+
group,
|
|
181
|
+
code,
|
|
182
|
+
`Actor failed to start (${actorId}): ${JSON.stringify(details)}`,
|
|
183
|
+
{ actorId, details }
|
|
184
|
+
);
|
|
179
185
|
this.name = "ActorSchedulingError";
|
|
180
186
|
this.actorId = actorId;
|
|
181
|
-
this.
|
|
182
|
-
this.details = error;
|
|
183
|
-
}
|
|
184
|
-
static formatMessage(error) {
|
|
185
|
-
if ("serverless_error" in error) {
|
|
186
|
-
const se = error.serverless_error;
|
|
187
|
-
if (typeof se === "string") {
|
|
188
|
-
return `Serverless error: ${se.replace(/_/g, " ")}`;
|
|
189
|
-
}
|
|
190
|
-
if ("http_error" in se) {
|
|
191
|
-
return `Serverless HTTP ${se.http_error.status_code}: ${se.http_error.body}`;
|
|
192
|
-
}
|
|
193
|
-
if ("connection_error" in se) {
|
|
194
|
-
return `Serverless connection error: ${se.connection_error.message}`;
|
|
195
|
-
}
|
|
196
|
-
if ("invalid_payload" in se) {
|
|
197
|
-
return `Invalid serverless payload: ${se.invalid_payload.message}`;
|
|
198
|
-
}
|
|
199
|
-
return "Unknown serverless error";
|
|
200
|
-
}
|
|
201
|
-
if ("no_capacity" in error) {
|
|
202
|
-
return `No capacity available for runner: ${error.no_capacity.runner_name}`;
|
|
203
|
-
}
|
|
204
|
-
if ("runner_no_response" in error) {
|
|
205
|
-
return `Runner ${error.runner_no_response.runner_id} did not respond`;
|
|
206
|
-
}
|
|
207
|
-
return "Unknown scheduling error";
|
|
187
|
+
this.details = details;
|
|
208
188
|
}
|
|
209
189
|
};
|
|
210
190
|
|
|
211
191
|
// src/client/utils.ts
|
|
192
|
+
function parseWebSocketCloseReason(reason) {
|
|
193
|
+
const [mainPart, rayId] = reason.split("#");
|
|
194
|
+
const [group, code] = mainPart.split(".");
|
|
195
|
+
if (!group || !code) {
|
|
196
|
+
_chunkC64FV764cjs.logger.call(void 0, ).warn({ msg: "failed to parse close reason", reason });
|
|
197
|
+
return void 0;
|
|
198
|
+
}
|
|
199
|
+
return {
|
|
200
|
+
group,
|
|
201
|
+
code,
|
|
202
|
+
rayId
|
|
203
|
+
};
|
|
204
|
+
}
|
|
212
205
|
function messageLength(message) {
|
|
213
206
|
if (message instanceof Blob) {
|
|
214
207
|
return message.size;
|
|
@@ -222,10 +215,10 @@ function messageLength(message) {
|
|
|
222
215
|
if (typeof message === "string") {
|
|
223
216
|
return message.length;
|
|
224
217
|
}
|
|
225
|
-
|
|
218
|
+
_chunkX72X7I7Tcjs.assertUnreachable.call(void 0, message);
|
|
226
219
|
}
|
|
227
220
|
async function sendHttpRequest(opts) {
|
|
228
|
-
|
|
221
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
229
222
|
msg: "sending http request",
|
|
230
223
|
url: opts.url,
|
|
231
224
|
encoding: opts.encoding
|
|
@@ -234,8 +227,8 @@ async function sendHttpRequest(opts) {
|
|
|
234
227
|
let bodyData;
|
|
235
228
|
if (opts.method === "POST" || opts.method === "PUT") {
|
|
236
229
|
_invariant2.default.call(void 0, opts.body !== void 0, "missing body");
|
|
237
|
-
contentType =
|
|
238
|
-
bodyData =
|
|
230
|
+
contentType = _chunkKMYFL3OLcjs.contentTypeForEncoding.call(void 0, opts.encoding);
|
|
231
|
+
bodyData = _chunkKMYFL3OLcjs.serializeWithEncoding.call(void 0,
|
|
239
232
|
opts.encoding,
|
|
240
233
|
opts.body,
|
|
241
234
|
opts.requestVersionedDataHandler,
|
|
@@ -255,7 +248,7 @@ async function sendHttpRequest(opts) {
|
|
|
255
248
|
...contentType ? {
|
|
256
249
|
"Content-Type": contentType
|
|
257
250
|
} : {},
|
|
258
|
-
"User-Agent":
|
|
251
|
+
"User-Agent": _chunkX72X7I7Tcjs.httpUserAgent.call(void 0, )
|
|
259
252
|
},
|
|
260
253
|
body: bodyData,
|
|
261
254
|
credentials: "include",
|
|
@@ -273,11 +266,11 @@ async function sendHttpRequest(opts) {
|
|
|
273
266
|
const rayId = response.headers.get("x-rivet-ray-id");
|
|
274
267
|
const encoding = (contentType2 == null ? void 0 : contentType2.includes("application/json")) ? "json" : opts.encoding;
|
|
275
268
|
try {
|
|
276
|
-
const responseData =
|
|
269
|
+
const responseData = _chunkKMYFL3OLcjs.deserializeWithEncoding.call(void 0,
|
|
277
270
|
encoding,
|
|
278
271
|
new Uint8Array(bufferResponse),
|
|
279
|
-
|
|
280
|
-
|
|
272
|
+
_chunkKMYFL3OLcjs.HTTP_RESPONSE_ERROR_VERSIONED,
|
|
273
|
+
_chunkKMYFL3OLcjs.HttpResponseErrorSchema,
|
|
281
274
|
// JSON: metadata is already unknown
|
|
282
275
|
(json) => json,
|
|
283
276
|
// BARE: decode ArrayBuffer metadata to unknown
|
|
@@ -319,7 +312,7 @@ ${textResponse}`
|
|
|
319
312
|
}
|
|
320
313
|
try {
|
|
321
314
|
const buffer = new Uint8Array(await response.arrayBuffer());
|
|
322
|
-
return
|
|
315
|
+
return _chunkKMYFL3OLcjs.deserializeWithEncoding.call(void 0,
|
|
323
316
|
opts.encoding,
|
|
324
317
|
buffer,
|
|
325
318
|
opts.responseVersionedDataHandler,
|
|
@@ -336,7 +329,7 @@ ${textResponse}`
|
|
|
336
329
|
|
|
337
330
|
// src/remote-manager-driver/log.ts
|
|
338
331
|
function logger3() {
|
|
339
|
-
return
|
|
332
|
+
return _chunkX72X7I7Tcjs.getLogger.call(void 0, "remote-manager-driver");
|
|
340
333
|
}
|
|
341
334
|
|
|
342
335
|
// src/remote-manager-driver/api-utils.ts
|
|
@@ -353,7 +346,7 @@ function getEndpoint(config) {
|
|
|
353
346
|
}
|
|
354
347
|
async function apiCall(config, method, path, body) {
|
|
355
348
|
const endpoint = getEndpoint(config);
|
|
356
|
-
const url =
|
|
349
|
+
const url = _chunkX72X7I7Tcjs.combineUrlPath.call(void 0, endpoint, path, {
|
|
357
350
|
namespace: config.namespace
|
|
358
351
|
});
|
|
359
352
|
logger3().debug({ msg: "making api call", method, url });
|
|
@@ -384,13 +377,56 @@ async function apiCall(config, method, path, body) {
|
|
|
384
377
|
});
|
|
385
378
|
}
|
|
386
379
|
|
|
380
|
+
// src/remote-manager-driver/actor-websocket-client.ts
|
|
381
|
+
function buildActorGatewayUrl(endpoint, actorId, token, path = "") {
|
|
382
|
+
const tokenSegment = token !== void 0 ? `@${encodeURIComponent(token)}` : "";
|
|
383
|
+
const gatewayPath = `/gateway/${encodeURIComponent(actorId)}${tokenSegment}${path}`;
|
|
384
|
+
return _chunkX72X7I7Tcjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
|
|
385
|
+
}
|
|
386
|
+
async function openWebSocketToActor(runConfig, path, actorId, encoding, params) {
|
|
387
|
+
const WebSocket2 = await _chunkC64FV764cjs.importWebSocket.call(void 0, );
|
|
388
|
+
const endpoint = getEndpoint(runConfig);
|
|
389
|
+
const guardUrl = buildActorGatewayUrl(
|
|
390
|
+
endpoint,
|
|
391
|
+
actorId,
|
|
392
|
+
runConfig.token,
|
|
393
|
+
path
|
|
394
|
+
);
|
|
395
|
+
logger3().debug({
|
|
396
|
+
msg: "opening websocket to actor via guard",
|
|
397
|
+
actorId,
|
|
398
|
+
path,
|
|
399
|
+
guardUrl
|
|
400
|
+
});
|
|
401
|
+
const ws = new WebSocket2(
|
|
402
|
+
guardUrl,
|
|
403
|
+
buildWebSocketProtocols(runConfig, encoding, params)
|
|
404
|
+
);
|
|
405
|
+
ws.binaryType = "arraybuffer";
|
|
406
|
+
logger3().debug({ msg: "websocket connection opened", actorId });
|
|
407
|
+
return ws;
|
|
408
|
+
}
|
|
409
|
+
function buildWebSocketProtocols(runConfig, encoding, params) {
|
|
410
|
+
const protocols = [];
|
|
411
|
+
protocols.push(_chunkKMYFL3OLcjs.WS_PROTOCOL_STANDARD);
|
|
412
|
+
protocols.push(`${_chunkKMYFL3OLcjs.WS_PROTOCOL_ENCODING}${encoding}`);
|
|
413
|
+
if (params) {
|
|
414
|
+
protocols.push(
|
|
415
|
+
`${_chunkKMYFL3OLcjs.WS_PROTOCOL_CONN_PARAMS}${encodeURIComponent(JSON.stringify(params))}`
|
|
416
|
+
);
|
|
417
|
+
}
|
|
418
|
+
return protocols;
|
|
419
|
+
}
|
|
420
|
+
|
|
387
421
|
// src/remote-manager-driver/actor-http-client.ts
|
|
388
422
|
async function sendHttpRequestToActor(runConfig, actorId, actorRequest) {
|
|
389
423
|
const url = new URL(actorRequest.url);
|
|
390
424
|
const endpoint = getEndpoint(runConfig);
|
|
391
|
-
const guardUrl =
|
|
425
|
+
const guardUrl = buildActorGatewayUrl(
|
|
392
426
|
endpoint,
|
|
393
|
-
|
|
427
|
+
actorId,
|
|
428
|
+
runConfig.token,
|
|
429
|
+
`${url.pathname}${url.search}`
|
|
394
430
|
);
|
|
395
431
|
let bodyToSend = null;
|
|
396
432
|
const guardHeaders = buildGuardHeadersForHttp(
|
|
@@ -429,48 +465,11 @@ function buildGuardHeadersForHttp(runConfig, actorRequest, actorId) {
|
|
|
429
465
|
headers.set(key, value);
|
|
430
466
|
}
|
|
431
467
|
if (runConfig.token) {
|
|
432
|
-
headers.set(
|
|
468
|
+
headers.set(_chunkKMYFL3OLcjs.HEADER_RIVET_TOKEN, runConfig.token);
|
|
433
469
|
}
|
|
434
470
|
return headers;
|
|
435
471
|
}
|
|
436
472
|
|
|
437
|
-
// src/remote-manager-driver/actor-websocket-client.ts
|
|
438
|
-
async function openWebSocketToActor(runConfig, path, actorId, encoding, params) {
|
|
439
|
-
const WebSocket2 = await _chunk4V7MS7SOcjs.importWebSocket.call(void 0, );
|
|
440
|
-
const endpoint = getEndpoint(runConfig);
|
|
441
|
-
let gatewayPath;
|
|
442
|
-
if (runConfig.token !== void 0) {
|
|
443
|
-
gatewayPath = `/gateway/${encodeURIComponent(actorId)}@${encodeURIComponent(runConfig.token)}${path}`;
|
|
444
|
-
} else {
|
|
445
|
-
gatewayPath = `/gateway/${encodeURIComponent(actorId)}${path}`;
|
|
446
|
-
}
|
|
447
|
-
const guardUrl = _chunkX5IX3YPOcjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
|
|
448
|
-
logger3().debug({
|
|
449
|
-
msg: "opening websocket to actor via guard",
|
|
450
|
-
actorId,
|
|
451
|
-
path,
|
|
452
|
-
guardUrl
|
|
453
|
-
});
|
|
454
|
-
const ws = new WebSocket2(
|
|
455
|
-
guardUrl,
|
|
456
|
-
buildWebSocketProtocols(runConfig, encoding, params)
|
|
457
|
-
);
|
|
458
|
-
ws.binaryType = "arraybuffer";
|
|
459
|
-
logger3().debug({ msg: "websocket connection opened", actorId });
|
|
460
|
-
return ws;
|
|
461
|
-
}
|
|
462
|
-
function buildWebSocketProtocols(runConfig, encoding, params) {
|
|
463
|
-
const protocols = [];
|
|
464
|
-
protocols.push(_chunkB6BP74X3cjs.WS_PROTOCOL_STANDARD);
|
|
465
|
-
protocols.push(`${_chunkB6BP74X3cjs.WS_PROTOCOL_ENCODING}${encoding}`);
|
|
466
|
-
if (params) {
|
|
467
|
-
protocols.push(
|
|
468
|
-
`${_chunkB6BP74X3cjs.WS_PROTOCOL_CONN_PARAMS}${encodeURIComponent(JSON.stringify(params))}`
|
|
469
|
-
);
|
|
470
|
-
}
|
|
471
|
-
return protocols;
|
|
472
|
-
}
|
|
473
|
-
|
|
474
473
|
// src/remote-manager-driver/api-endpoints.ts
|
|
475
474
|
async function getActor(config, _, actorId) {
|
|
476
475
|
return apiCall(
|
|
@@ -480,7 +479,7 @@ async function getActor(config, _, actorId) {
|
|
|
480
479
|
);
|
|
481
480
|
}
|
|
482
481
|
async function getActorByKey(config, name, key) {
|
|
483
|
-
const serializedKey =
|
|
482
|
+
const serializedKey = _chunkKMYFL3OLcjs.serializeActorKey.call(void 0, key);
|
|
484
483
|
return apiCall(
|
|
485
484
|
config,
|
|
486
485
|
"GET",
|
|
@@ -572,7 +571,7 @@ async function lookupMetadataCached(config) {
|
|
|
572
571
|
msg: "failed to fetch metadata, retrying",
|
|
573
572
|
endpoint,
|
|
574
573
|
attempt: error.attemptNumber,
|
|
575
|
-
error:
|
|
574
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
576
575
|
});
|
|
577
576
|
}
|
|
578
577
|
}
|
|
@@ -584,7 +583,7 @@ async function lookupMetadataCached(config) {
|
|
|
584
583
|
|
|
585
584
|
// src/remote-manager-driver/ws-proxy.ts
|
|
586
585
|
async function createWebSocketProxy(c, targetUrl, protocols) {
|
|
587
|
-
const WebSocket2 = await
|
|
586
|
+
const WebSocket2 = await _chunkC64FV764cjs.importWebSocket.call(void 0, );
|
|
588
587
|
const state = {};
|
|
589
588
|
return {
|
|
590
589
|
onOpen: async (event, clientWs) => {
|
|
@@ -647,7 +646,7 @@ async function createWebSocketProxy(c, targetUrl, protocols) {
|
|
|
647
646
|
logger3().error({
|
|
648
647
|
msg: "target websocket error",
|
|
649
648
|
targetUrl,
|
|
650
|
-
error:
|
|
649
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
651
650
|
});
|
|
652
651
|
closeWebSocketIfOpen(clientWs, 1011, "Target WebSocket error");
|
|
653
652
|
});
|
|
@@ -726,7 +725,7 @@ var RemoteManagerDriver = class {
|
|
|
726
725
|
#config;
|
|
727
726
|
#metadataPromise;
|
|
728
727
|
constructor(runConfig) {
|
|
729
|
-
if (
|
|
728
|
+
if (_chunkX72X7I7Tcjs.getNextPhase.call(void 0, ) === "phase-production-build") {
|
|
730
729
|
logger3().info(
|
|
731
730
|
"detected next.js build phase, disabling health check"
|
|
732
731
|
);
|
|
@@ -738,9 +737,17 @@ var RemoteManagerDriver = class {
|
|
|
738
737
|
(metadataData) => {
|
|
739
738
|
if (metadataData.clientEndpoint) {
|
|
740
739
|
this.#config.endpoint = metadataData.clientEndpoint;
|
|
740
|
+
if (metadataData.clientNamespace) {
|
|
741
|
+
this.#config.namespace = metadataData.clientNamespace;
|
|
742
|
+
}
|
|
743
|
+
if (metadataData.clientToken) {
|
|
744
|
+
this.#config.token = metadataData.clientToken;
|
|
745
|
+
}
|
|
741
746
|
logger3().info({
|
|
742
|
-
msg: "overriding
|
|
743
|
-
endpoint: metadataData.clientEndpoint
|
|
747
|
+
msg: "overriding client endpoint",
|
|
748
|
+
endpoint: metadataData.clientEndpoint,
|
|
749
|
+
namespace: metadataData.clientNamespace,
|
|
750
|
+
token: metadataData.clientToken
|
|
744
751
|
});
|
|
745
752
|
}
|
|
746
753
|
logger3().info({
|
|
@@ -815,9 +822,9 @@ var RemoteManagerDriver = class {
|
|
|
815
822
|
const { actor, created } = await getOrCreateActor(this.#config, {
|
|
816
823
|
datacenter: region,
|
|
817
824
|
name,
|
|
818
|
-
key:
|
|
825
|
+
key: _chunkKMYFL3OLcjs.serializeActorKey.call(void 0, key),
|
|
819
826
|
runner_name_selector: this.#config.runnerName,
|
|
820
|
-
input: actorInput ?
|
|
827
|
+
input: actorInput ? _chunkKMYFL3OLcjs.uint8ArrayToBase64.call(void 0, cbor2.encode(actorInput)) : void 0,
|
|
821
828
|
crash_policy: "sleep"
|
|
822
829
|
});
|
|
823
830
|
logger3().info({
|
|
@@ -844,8 +851,8 @@ var RemoteManagerDriver = class {
|
|
|
844
851
|
datacenter: region,
|
|
845
852
|
name,
|
|
846
853
|
runner_name_selector: this.#config.runnerName,
|
|
847
|
-
key:
|
|
848
|
-
input: input ?
|
|
854
|
+
key: _chunkKMYFL3OLcjs.serializeActorKey.call(void 0, key),
|
|
855
|
+
input: input ? _chunkKMYFL3OLcjs.uint8ArrayToBase64.call(void 0, cbor2.encode(input)) : void 0,
|
|
849
856
|
crash_policy: "sleep"
|
|
850
857
|
});
|
|
851
858
|
logger3().info({
|
|
@@ -894,6 +901,13 @@ var RemoteManagerDriver = class {
|
|
|
894
901
|
params
|
|
895
902
|
);
|
|
896
903
|
}
|
|
904
|
+
async buildGatewayUrl(actorId) {
|
|
905
|
+
if (this.#metadataPromise) {
|
|
906
|
+
await this.#metadataPromise;
|
|
907
|
+
}
|
|
908
|
+
const endpoint = getEndpoint(this.#config);
|
|
909
|
+
return buildActorGatewayUrl(endpoint, actorId, this.#config.token);
|
|
910
|
+
}
|
|
897
911
|
async proxyRequest(_c, actorRequest, actorId) {
|
|
898
912
|
if (this.#metadataPromise) {
|
|
899
913
|
await this.#metadataPromise;
|
|
@@ -912,7 +926,7 @@ var RemoteManagerDriver = class {
|
|
|
912
926
|
const upgradeWebSocket = (_b = (_a = this.#config).getUpgradeWebSocket) == null ? void 0 : _b.call(_a);
|
|
913
927
|
_invariant2.default.call(void 0, upgradeWebSocket, "missing getUpgradeWebSocket");
|
|
914
928
|
const endpoint = getEndpoint(this.#config);
|
|
915
|
-
const guardUrl =
|
|
929
|
+
const guardUrl = _chunkX72X7I7Tcjs.combineUrlPath.call(void 0, endpoint, path);
|
|
916
930
|
const wsGuardUrl = guardUrl.replace("http://", "ws://");
|
|
917
931
|
logger3().debug({
|
|
918
932
|
msg: "forwarding websocket to actor via guard",
|
|
@@ -926,7 +940,7 @@ var RemoteManagerDriver = class {
|
|
|
926
940
|
params
|
|
927
941
|
);
|
|
928
942
|
const args = await createWebSocketProxy(c, wsGuardUrl, protocols);
|
|
929
|
-
return await upgradeWebSocket(() => args)(c,
|
|
943
|
+
return await upgradeWebSocket(() => args)(c, _chunkX72X7I7Tcjs.noopNext.call(void 0, ));
|
|
930
944
|
}
|
|
931
945
|
async kvGet(actorId, key) {
|
|
932
946
|
if (this.#metadataPromise) {
|
|
@@ -951,7 +965,7 @@ function apiActorToOutput(actor) {
|
|
|
951
965
|
return {
|
|
952
966
|
actorId: actor.actor_id,
|
|
953
967
|
name: actor.name,
|
|
954
|
-
key:
|
|
968
|
+
key: _chunkKMYFL3OLcjs.deserializeActorKey.call(void 0, actor.key),
|
|
955
969
|
createTs: actor.create_ts,
|
|
956
970
|
startTs: _nullishCoalesce(actor.start_ts, () => ( null)),
|
|
957
971
|
connectableTs: _nullishCoalesce(actor.connectable_ts, () => ( null)),
|
|
@@ -968,7 +982,7 @@ function apiActorToOutput(actor) {
|
|
|
968
982
|
|
|
969
983
|
// src/client/actor-query.ts
|
|
970
984
|
async function queryActor(c, query, managerDriver) {
|
|
971
|
-
|
|
985
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({ msg: "querying actor", query: JSON.stringify(query) });
|
|
972
986
|
let actorOutput;
|
|
973
987
|
if ("getForId" in query) {
|
|
974
988
|
const output = await managerDriver.getForId({
|
|
@@ -1015,9 +1029,37 @@ async function queryActor(c, query, managerDriver) {
|
|
|
1015
1029
|
} else {
|
|
1016
1030
|
throw new (0, _chunkSNAUKDDKcjs.InvalidRequest)("Invalid query format");
|
|
1017
1031
|
}
|
|
1018
|
-
|
|
1032
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({ msg: "actor query result", actorId: actorOutput.actorId });
|
|
1019
1033
|
return { actorId: actorOutput.actorId };
|
|
1020
1034
|
}
|
|
1035
|
+
function getActorNameFromQuery(query) {
|
|
1036
|
+
if ("getForId" in query) return query.getForId.name;
|
|
1037
|
+
if ("getForKey" in query) return query.getForKey.name;
|
|
1038
|
+
if ("getOrCreateForKey" in query) return query.getOrCreateForKey.name;
|
|
1039
|
+
if ("create" in query) return query.create.name;
|
|
1040
|
+
throw new (0, _chunkSNAUKDDKcjs.InvalidRequest)("Invalid query format");
|
|
1041
|
+
}
|
|
1042
|
+
async function checkForSchedulingError(group, code, actorId, query, driver) {
|
|
1043
|
+
const name = getActorNameFromQuery(query);
|
|
1044
|
+
try {
|
|
1045
|
+
const actor = await driver.getForId({ name, actorId });
|
|
1046
|
+
if (actor == null ? void 0 : actor.error) {
|
|
1047
|
+
_chunkC64FV764cjs.logger.call(void 0, ).info({
|
|
1048
|
+
msg: "found actor scheduling error",
|
|
1049
|
+
actorId,
|
|
1050
|
+
error: actor.error
|
|
1051
|
+
});
|
|
1052
|
+
return new ActorSchedulingError(group, code, actorId, actor.error);
|
|
1053
|
+
}
|
|
1054
|
+
} catch (err) {
|
|
1055
|
+
_chunkC64FV764cjs.logger.call(void 0, ).warn({
|
|
1056
|
+
msg: "failed to fetch actor details for scheduling error check",
|
|
1057
|
+
actorId,
|
|
1058
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
|
|
1059
|
+
});
|
|
1060
|
+
}
|
|
1061
|
+
return null;
|
|
1062
|
+
}
|
|
1021
1063
|
|
|
1022
1064
|
// src/client/actor-conn.ts
|
|
1023
1065
|
var CONNECT_SYMBOL = Symbol("connect");
|
|
@@ -1078,16 +1120,16 @@ var ActorConnRaw = class {
|
|
|
1078
1120
|
* @returns {Promise<Response>} - A promise that resolves to the response of the action function.
|
|
1079
1121
|
*/
|
|
1080
1122
|
async action(opts) {
|
|
1081
|
-
|
|
1123
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({ msg: "action", name: opts.name, args: opts.args });
|
|
1082
1124
|
const actionId = this.#actionIdCounter;
|
|
1083
1125
|
this.#actionIdCounter += 1;
|
|
1084
|
-
const { promise, resolve, reject } =
|
|
1126
|
+
const { promise, resolve, reject } = _chunkX72X7I7Tcjs.promiseWithResolvers.call(void 0, );
|
|
1085
1127
|
this.#actionsInFlight.set(actionId, {
|
|
1086
1128
|
name: opts.name,
|
|
1087
1129
|
resolve,
|
|
1088
1130
|
reject
|
|
1089
1131
|
});
|
|
1090
|
-
|
|
1132
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1091
1133
|
msg: "added action to in-flight map",
|
|
1092
1134
|
actionId,
|
|
1093
1135
|
actionName: opts.name,
|
|
@@ -1128,9 +1170,9 @@ var ActorConnRaw = class {
|
|
|
1128
1170
|
try {
|
|
1129
1171
|
handler(status);
|
|
1130
1172
|
} catch (err) {
|
|
1131
|
-
|
|
1173
|
+
_chunkC64FV764cjs.logger.call(void 0, ).error({
|
|
1132
1174
|
msg: "error in status change handler",
|
|
1133
|
-
error:
|
|
1175
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
|
|
1134
1176
|
});
|
|
1135
1177
|
}
|
|
1136
1178
|
}
|
|
@@ -1139,9 +1181,9 @@ var ActorConnRaw = class {
|
|
|
1139
1181
|
try {
|
|
1140
1182
|
handler();
|
|
1141
1183
|
} catch (err) {
|
|
1142
|
-
|
|
1184
|
+
_chunkC64FV764cjs.logger.call(void 0, ).error({
|
|
1143
1185
|
msg: "error in open handler",
|
|
1144
|
-
error:
|
|
1186
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
|
|
1145
1187
|
});
|
|
1146
1188
|
}
|
|
1147
1189
|
}
|
|
@@ -1151,9 +1193,9 @@ var ActorConnRaw = class {
|
|
|
1151
1193
|
try {
|
|
1152
1194
|
handler();
|
|
1153
1195
|
} catch (err) {
|
|
1154
|
-
|
|
1196
|
+
_chunkC64FV764cjs.logger.call(void 0, ).error({
|
|
1155
1197
|
msg: "error in close handler",
|
|
1156
|
-
error:
|
|
1198
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
|
|
1157
1199
|
});
|
|
1158
1200
|
}
|
|
1159
1201
|
}
|
|
@@ -1166,21 +1208,21 @@ var ActorConnRaw = class {
|
|
|
1166
1208
|
minTimeout: 250,
|
|
1167
1209
|
maxTimeout: 3e4,
|
|
1168
1210
|
onFailedAttempt: (error) => {
|
|
1169
|
-
|
|
1211
|
+
_chunkC64FV764cjs.logger.call(void 0, ).warn({
|
|
1170
1212
|
msg: "failed to reconnect",
|
|
1171
1213
|
attempt: error.attemptNumber,
|
|
1172
|
-
error:
|
|
1214
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
1173
1215
|
});
|
|
1174
1216
|
},
|
|
1175
1217
|
// Cancel retry if aborted
|
|
1176
1218
|
signal: this.#abortController.signal
|
|
1177
1219
|
}).catch((err) => {
|
|
1178
1220
|
if (err.name === "AbortError") {
|
|
1179
|
-
|
|
1221
|
+
_chunkC64FV764cjs.logger.call(void 0, ).info({ msg: "connection retry aborted" });
|
|
1180
1222
|
} else {
|
|
1181
|
-
|
|
1223
|
+
_chunkC64FV764cjs.logger.call(void 0, ).error({
|
|
1182
1224
|
msg: "unexpected error in connection retry",
|
|
1183
|
-
error:
|
|
1225
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
|
|
1184
1226
|
});
|
|
1185
1227
|
}
|
|
1186
1228
|
});
|
|
@@ -1189,7 +1231,7 @@ var ActorConnRaw = class {
|
|
|
1189
1231
|
try {
|
|
1190
1232
|
if (this.#onOpenPromise)
|
|
1191
1233
|
throw new Error("#onOpenPromise already defined");
|
|
1192
|
-
this.#onOpenPromise =
|
|
1234
|
+
this.#onOpenPromise = _chunkX72X7I7Tcjs.promiseWithResolvers.call(void 0, );
|
|
1193
1235
|
await this.#connectWebSocket();
|
|
1194
1236
|
await this.#onOpenPromise.promise;
|
|
1195
1237
|
} finally {
|
|
@@ -1204,12 +1246,12 @@ var ActorConnRaw = class {
|
|
|
1204
1246
|
);
|
|
1205
1247
|
this.#actorId = actorId;
|
|
1206
1248
|
const ws = await this.#driver.openWebSocket(
|
|
1207
|
-
|
|
1249
|
+
_chunkKMYFL3OLcjs.PATH_CONNECT,
|
|
1208
1250
|
actorId,
|
|
1209
1251
|
this.#encoding,
|
|
1210
1252
|
this.#params
|
|
1211
1253
|
);
|
|
1212
|
-
|
|
1254
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1213
1255
|
msg: "opened websocket",
|
|
1214
1256
|
connId: this.#connId,
|
|
1215
1257
|
readyState: ws.readyState,
|
|
@@ -1217,7 +1259,7 @@ var ActorConnRaw = class {
|
|
|
1217
1259
|
});
|
|
1218
1260
|
this.#websocket = ws;
|
|
1219
1261
|
ws.addEventListener("open", () => {
|
|
1220
|
-
|
|
1262
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1221
1263
|
msg: "client websocket open",
|
|
1222
1264
|
connId: this.#connId
|
|
1223
1265
|
});
|
|
@@ -1226,19 +1268,19 @@ var ActorConnRaw = class {
|
|
|
1226
1268
|
try {
|
|
1227
1269
|
await this.#handleOnMessage(ev.data);
|
|
1228
1270
|
} catch (err) {
|
|
1229
|
-
|
|
1271
|
+
_chunkC64FV764cjs.logger.call(void 0, ).error({
|
|
1230
1272
|
msg: "error in websocket message handler",
|
|
1231
|
-
error:
|
|
1273
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
|
|
1232
1274
|
});
|
|
1233
1275
|
}
|
|
1234
1276
|
});
|
|
1235
|
-
ws.addEventListener("close", (ev) => {
|
|
1277
|
+
ws.addEventListener("close", async (ev) => {
|
|
1236
1278
|
try {
|
|
1237
|
-
this.#handleOnClose(ev);
|
|
1279
|
+
await this.#handleOnClose(ev);
|
|
1238
1280
|
} catch (err) {
|
|
1239
|
-
|
|
1281
|
+
_chunkC64FV764cjs.logger.call(void 0, ).error({
|
|
1240
1282
|
msg: "error in websocket close handler",
|
|
1241
|
-
error:
|
|
1283
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
|
|
1242
1284
|
});
|
|
1243
1285
|
}
|
|
1244
1286
|
});
|
|
@@ -1246,9 +1288,9 @@ var ActorConnRaw = class {
|
|
|
1246
1288
|
try {
|
|
1247
1289
|
this.#handleOnError();
|
|
1248
1290
|
} catch (err) {
|
|
1249
|
-
|
|
1291
|
+
_chunkC64FV764cjs.logger.call(void 0, ).error({
|
|
1250
1292
|
msg: "error in websocket error handler",
|
|
1251
|
-
error:
|
|
1293
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
|
|
1252
1294
|
});
|
|
1253
1295
|
}
|
|
1254
1296
|
});
|
|
@@ -1256,7 +1298,7 @@ var ActorConnRaw = class {
|
|
|
1256
1298
|
/** Called by the onopen event from drivers. */
|
|
1257
1299
|
#handleOnOpen() {
|
|
1258
1300
|
if (this.#disposed) {
|
|
1259
|
-
|
|
1301
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1260
1302
|
msg: "handleOnOpen called after dispose, closing websocket"
|
|
1261
1303
|
});
|
|
1262
1304
|
if (this.#websocket) {
|
|
@@ -1265,7 +1307,7 @@ var ActorConnRaw = class {
|
|
|
1265
1307
|
}
|
|
1266
1308
|
return;
|
|
1267
1309
|
}
|
|
1268
|
-
|
|
1310
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1269
1311
|
msg: "socket open",
|
|
1270
1312
|
messageQueueLength: this.#messageQueue.length,
|
|
1271
1313
|
connId: this.#connId
|
|
@@ -1274,14 +1316,14 @@ var ActorConnRaw = class {
|
|
|
1274
1316
|
if (this.#onOpenPromise) {
|
|
1275
1317
|
this.#onOpenPromise.resolve(void 0);
|
|
1276
1318
|
} else {
|
|
1277
|
-
|
|
1319
|
+
_chunkC64FV764cjs.logger.call(void 0, ).warn({ msg: "#onOpenPromise is undefined" });
|
|
1278
1320
|
}
|
|
1279
1321
|
for (const eventName of this.#eventSubscriptions.keys()) {
|
|
1280
1322
|
this.#sendSubscription(eventName, true);
|
|
1281
1323
|
}
|
|
1282
1324
|
const queue = this.#messageQueue;
|
|
1283
1325
|
this.#messageQueue = [];
|
|
1284
|
-
|
|
1326
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1285
1327
|
msg: "flushing message queue",
|
|
1286
1328
|
queueLength: queue.length
|
|
1287
1329
|
});
|
|
@@ -1291,23 +1333,23 @@ var ActorConnRaw = class {
|
|
|
1291
1333
|
}
|
|
1292
1334
|
/** Called by the onmessage event from drivers. */
|
|
1293
1335
|
async #handleOnMessage(data) {
|
|
1294
|
-
|
|
1336
|
+
_chunkC64FV764cjs.logger.call(void 0, ).trace({
|
|
1295
1337
|
msg: "received message",
|
|
1296
1338
|
dataType: typeof data,
|
|
1297
1339
|
isBlob: data instanceof Blob,
|
|
1298
1340
|
isArrayBuffer: data instanceof ArrayBuffer
|
|
1299
1341
|
});
|
|
1300
1342
|
const response = await this.#parseMessage(data);
|
|
1301
|
-
|
|
1302
|
-
|
|
1343
|
+
_chunkC64FV764cjs.logger.call(void 0, ).trace(
|
|
1344
|
+
_chunkX72X7I7Tcjs.getLogMessage.call(void 0, ) ? {
|
|
1303
1345
|
msg: "parsed message",
|
|
1304
|
-
message:
|
|
1346
|
+
message: _chunkKMYFL3OLcjs.jsonStringifyCompat.call(void 0, response).substring(0, 100) + "..."
|
|
1305
1347
|
} : { msg: "parsed message" }
|
|
1306
1348
|
);
|
|
1307
1349
|
if (response.body.tag === "Init") {
|
|
1308
1350
|
this.#actorId = response.body.val.actorId;
|
|
1309
1351
|
this.#connId = response.body.val.connectionId;
|
|
1310
|
-
|
|
1352
|
+
_chunkC64FV764cjs.logger.call(void 0, ).trace({
|
|
1311
1353
|
msg: "received init message",
|
|
1312
1354
|
actorId: this.#actorId,
|
|
1313
1355
|
connId: this.#connId
|
|
@@ -1317,7 +1359,7 @@ var ActorConnRaw = class {
|
|
|
1317
1359
|
const { group, code, message, metadata, actionId } = response.body.val;
|
|
1318
1360
|
if (actionId) {
|
|
1319
1361
|
const inFlight = this.#takeActionInFlight(Number(actionId));
|
|
1320
|
-
|
|
1362
|
+
_chunkC64FV764cjs.logger.call(void 0, ).warn({
|
|
1321
1363
|
msg: "action error",
|
|
1322
1364
|
actionId,
|
|
1323
1365
|
actionName: inFlight == null ? void 0 : inFlight.name,
|
|
@@ -1330,24 +1372,30 @@ var ActorConnRaw = class {
|
|
|
1330
1372
|
new ActorError(group, code, message, metadata)
|
|
1331
1373
|
);
|
|
1332
1374
|
} else {
|
|
1333
|
-
|
|
1375
|
+
_chunkC64FV764cjs.logger.call(void 0, ).warn({
|
|
1334
1376
|
msg: "connection error",
|
|
1335
1377
|
group,
|
|
1336
1378
|
code,
|
|
1337
1379
|
message,
|
|
1338
1380
|
metadata
|
|
1339
1381
|
});
|
|
1340
|
-
let errorToThrow
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1382
|
+
let errorToThrow = new ActorError(
|
|
1383
|
+
group,
|
|
1384
|
+
code,
|
|
1385
|
+
message,
|
|
1386
|
+
metadata
|
|
1387
|
+
);
|
|
1388
|
+
if (isSchedulingError(group, code) && this.#actorId) {
|
|
1389
|
+
const schedulingError = await checkForSchedulingError(
|
|
1346
1390
|
group,
|
|
1347
1391
|
code,
|
|
1348
|
-
|
|
1349
|
-
|
|
1392
|
+
this.#actorId,
|
|
1393
|
+
this.#actorQuery,
|
|
1394
|
+
this.#driver
|
|
1350
1395
|
);
|
|
1396
|
+
if (schedulingError) {
|
|
1397
|
+
errorToThrow = schedulingError;
|
|
1398
|
+
}
|
|
1351
1399
|
}
|
|
1352
1400
|
if (this.#onOpenPromise) {
|
|
1353
1401
|
this.#onOpenPromise.reject(errorToThrow);
|
|
@@ -1356,41 +1404,39 @@ var ActorConnRaw = class {
|
|
|
1356
1404
|
inFlight.reject(errorToThrow);
|
|
1357
1405
|
this.#actionsInFlight.delete(id);
|
|
1358
1406
|
}
|
|
1359
|
-
|
|
1360
|
-
this.#dispatchActorError(errorToThrow);
|
|
1361
|
-
}
|
|
1407
|
+
this.#dispatchActorError(errorToThrow);
|
|
1362
1408
|
}
|
|
1363
1409
|
} else if (response.body.tag === "ActionResponse") {
|
|
1364
1410
|
const { id: actionId } = response.body.val;
|
|
1365
|
-
|
|
1411
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1366
1412
|
msg: "received action response",
|
|
1367
1413
|
actionId: Number(actionId),
|
|
1368
1414
|
inFlightCount: this.#actionsInFlight.size,
|
|
1369
1415
|
inFlightIds: Array.from(this.#actionsInFlight.keys())
|
|
1370
1416
|
});
|
|
1371
1417
|
const inFlight = this.#takeActionInFlight(Number(actionId));
|
|
1372
|
-
|
|
1418
|
+
_chunkC64FV764cjs.logger.call(void 0, ).trace({
|
|
1373
1419
|
msg: "resolving action promise",
|
|
1374
1420
|
actionId,
|
|
1375
1421
|
actionName: inFlight == null ? void 0 : inFlight.name
|
|
1376
1422
|
});
|
|
1377
1423
|
inFlight.resolve(response.body.val);
|
|
1378
1424
|
} else if (response.body.tag === "Event") {
|
|
1379
|
-
|
|
1425
|
+
_chunkC64FV764cjs.logger.call(void 0, ).trace({
|
|
1380
1426
|
msg: "received event",
|
|
1381
1427
|
name: response.body.val.name
|
|
1382
1428
|
});
|
|
1383
1429
|
this.#dispatchEvent(response.body.val);
|
|
1384
1430
|
} else {
|
|
1385
|
-
|
|
1431
|
+
_chunkX72X7I7Tcjs.assertUnreachable.call(void 0, response.body);
|
|
1386
1432
|
}
|
|
1387
1433
|
}
|
|
1388
1434
|
/** Called by the onclose event from drivers. */
|
|
1389
|
-
#handleOnClose(event) {
|
|
1435
|
+
async #handleOnClose(event) {
|
|
1390
1436
|
const closeEvent = event;
|
|
1391
1437
|
const wasClean = closeEvent.wasClean;
|
|
1392
1438
|
const wasConnected = this.#connStatus === "connected";
|
|
1393
|
-
|
|
1439
|
+
_chunkC64FV764cjs.logger.call(void 0, ).info({
|
|
1394
1440
|
msg: "socket closed",
|
|
1395
1441
|
code: closeEvent.code,
|
|
1396
1442
|
reason: closeEvent.reason,
|
|
@@ -1403,14 +1449,48 @@ var ActorConnRaw = class {
|
|
|
1403
1449
|
this.#rejectPendingPromises(new ActorConnDisposed(), true);
|
|
1404
1450
|
} else {
|
|
1405
1451
|
this.#setConnStatus("disconnected");
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1452
|
+
let error;
|
|
1453
|
+
const reason = closeEvent.reason || "";
|
|
1454
|
+
const parsed = parseWebSocketCloseReason(reason);
|
|
1455
|
+
if (parsed) {
|
|
1456
|
+
const { group, code } = parsed;
|
|
1457
|
+
if (isSchedulingError(group, code) && this.#actorId) {
|
|
1458
|
+
const schedulingError = await checkForSchedulingError(
|
|
1459
|
+
group,
|
|
1460
|
+
code,
|
|
1461
|
+
this.#actorId,
|
|
1462
|
+
this.#actorQuery,
|
|
1463
|
+
this.#driver
|
|
1464
|
+
);
|
|
1465
|
+
if (schedulingError) {
|
|
1466
|
+
error = schedulingError;
|
|
1467
|
+
} else {
|
|
1468
|
+
error = new ActorError(
|
|
1469
|
+
group,
|
|
1470
|
+
code,
|
|
1471
|
+
`Connection closed: ${reason}`,
|
|
1472
|
+
void 0
|
|
1473
|
+
);
|
|
1474
|
+
}
|
|
1475
|
+
} else {
|
|
1476
|
+
error = new ActorError(
|
|
1477
|
+
group,
|
|
1478
|
+
code,
|
|
1479
|
+
`Connection closed: ${reason}`,
|
|
1480
|
+
void 0
|
|
1481
|
+
);
|
|
1482
|
+
}
|
|
1483
|
+
} else {
|
|
1484
|
+
error = new Error(
|
|
1485
|
+
`${wasClean ? "Connection closed" : "Connection lost"} (code: ${closeEvent.code}, reason: ${reason})`
|
|
1486
|
+
);
|
|
1487
|
+
}
|
|
1488
|
+
this.#rejectPendingPromises(error, false);
|
|
1489
|
+
if (error instanceof ActorError) {
|
|
1490
|
+
this.#dispatchActorError(error);
|
|
1491
|
+
}
|
|
1412
1492
|
if (wasConnected) {
|
|
1413
|
-
|
|
1493
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1414
1494
|
msg: "triggering reconnect",
|
|
1415
1495
|
connId: this.#connId
|
|
1416
1496
|
});
|
|
@@ -1434,12 +1514,12 @@ var ActorConnRaw = class {
|
|
|
1434
1514
|
/** Called by the onerror event from drivers. */
|
|
1435
1515
|
#handleOnError() {
|
|
1436
1516
|
if (this.#disposed) return;
|
|
1437
|
-
|
|
1517
|
+
_chunkC64FV764cjs.logger.call(void 0, ).warn("socket error");
|
|
1438
1518
|
}
|
|
1439
1519
|
#takeActionInFlight(id) {
|
|
1440
1520
|
const inFlight = this.#actionsInFlight.get(id);
|
|
1441
1521
|
if (!inFlight) {
|
|
1442
|
-
|
|
1522
|
+
_chunkC64FV764cjs.logger.call(void 0, ).error({
|
|
1443
1523
|
msg: "action not found in in-flight map",
|
|
1444
1524
|
lookupId: id,
|
|
1445
1525
|
inFlightCount: this.#actionsInFlight.size,
|
|
@@ -1454,7 +1534,7 @@ var ActorConnRaw = class {
|
|
|
1454
1534
|
throw new InternalError2(`No in flight response for ${id}`);
|
|
1455
1535
|
}
|
|
1456
1536
|
this.#actionsInFlight.delete(id);
|
|
1457
|
-
|
|
1537
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1458
1538
|
msg: "removed action from in-flight map",
|
|
1459
1539
|
actionId: id,
|
|
1460
1540
|
actionName: inFlight.name,
|
|
@@ -1481,43 +1561,13 @@ var ActorConnRaw = class {
|
|
|
1481
1561
|
try {
|
|
1482
1562
|
handler(error);
|
|
1483
1563
|
} catch (err) {
|
|
1484
|
-
|
|
1564
|
+
_chunkC64FV764cjs.logger.call(void 0, ).error({
|
|
1485
1565
|
msg: "error in connection error handler",
|
|
1486
|
-
error:
|
|
1566
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
|
|
1487
1567
|
});
|
|
1488
1568
|
}
|
|
1489
1569
|
}
|
|
1490
1570
|
}
|
|
1491
|
-
async #checkForSchedulingError() {
|
|
1492
|
-
if (!this.#actorId) return null;
|
|
1493
|
-
const query = this.#actorQuery;
|
|
1494
|
-
const name = "getForId" in query ? query.getForId.name : "getForKey" in query ? query.getForKey.name : "getOrCreateForKey" in query ? query.getOrCreateForKey.name : "create" in query ? query.create.name : null;
|
|
1495
|
-
if (!name) return null;
|
|
1496
|
-
try {
|
|
1497
|
-
const actor = await this.#driver.getForId({
|
|
1498
|
-
name,
|
|
1499
|
-
actorId: this.#actorId
|
|
1500
|
-
});
|
|
1501
|
-
if (actor == null ? void 0 : actor.error) {
|
|
1502
|
-
_chunk4V7MS7SOcjs.logger.call(void 0, ).info({
|
|
1503
|
-
msg: "found actor scheduling error",
|
|
1504
|
-
actorId: this.#actorId,
|
|
1505
|
-
error: actor.error
|
|
1506
|
-
});
|
|
1507
|
-
return new ActorSchedulingError(
|
|
1508
|
-
this.#actorId,
|
|
1509
|
-
actor.error
|
|
1510
|
-
);
|
|
1511
|
-
}
|
|
1512
|
-
} catch (err) {
|
|
1513
|
-
_chunk4V7MS7SOcjs.logger.call(void 0, ).warn({
|
|
1514
|
-
msg: "failed to fetch actor details for scheduling error check",
|
|
1515
|
-
actorId: this.#actorId,
|
|
1516
|
-
error: _chunkX5IX3YPOcjs.stringifyError.call(void 0, err)
|
|
1517
|
-
});
|
|
1518
|
-
}
|
|
1519
|
-
return null;
|
|
1520
|
-
}
|
|
1521
1571
|
#addEventSubscription(eventName, callback, once) {
|
|
1522
1572
|
const listener = {
|
|
1523
1573
|
callback,
|
|
@@ -1649,7 +1699,7 @@ var ActorConnRaw = class {
|
|
|
1649
1699
|
let queueMessage = false;
|
|
1650
1700
|
if (this.#websocket) {
|
|
1651
1701
|
const readyState = this.#websocket.readyState;
|
|
1652
|
-
|
|
1702
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1653
1703
|
msg: "websocket send attempt",
|
|
1654
1704
|
readyState,
|
|
1655
1705
|
readyStateString: readyState === 0 ? "CONNECTING" : readyState === 1 ? "OPEN" : readyState === 2 ? "CLOSING" : "CLOSED",
|
|
@@ -1659,12 +1709,12 @@ var ActorConnRaw = class {
|
|
|
1659
1709
|
});
|
|
1660
1710
|
if (readyState === 1) {
|
|
1661
1711
|
try {
|
|
1662
|
-
const messageSerialized =
|
|
1712
|
+
const messageSerialized = _chunkKMYFL3OLcjs.serializeWithEncoding.call(void 0,
|
|
1663
1713
|
this.#encoding,
|
|
1664
1714
|
message,
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1715
|
+
_chunkKMYFL3OLcjs.TO_SERVER_VERSIONED,
|
|
1716
|
+
_chunkKMYFL3OLcjs.CURRENT_VERSION,
|
|
1717
|
+
_chunkKMYFL3OLcjs.ToServerSchema,
|
|
1668
1718
|
// JSON: args is the raw value
|
|
1669
1719
|
(msg) => msg,
|
|
1670
1720
|
// BARE: args needs to be CBOR-encoded to ArrayBuffer
|
|
@@ -1676,7 +1726,7 @@ var ActorConnRaw = class {
|
|
|
1676
1726
|
val: {
|
|
1677
1727
|
id: msg.body.val.id,
|
|
1678
1728
|
name: msg.body.val.name,
|
|
1679
|
-
args:
|
|
1729
|
+
args: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0,
|
|
1680
1730
|
cbor3.encode(msg.body.val.args)
|
|
1681
1731
|
)
|
|
1682
1732
|
}
|
|
@@ -1688,12 +1738,12 @@ var ActorConnRaw = class {
|
|
|
1688
1738
|
}
|
|
1689
1739
|
);
|
|
1690
1740
|
this.#websocket.send(messageSerialized);
|
|
1691
|
-
|
|
1741
|
+
_chunkC64FV764cjs.logger.call(void 0, ).trace({
|
|
1692
1742
|
msg: "sent websocket message",
|
|
1693
1743
|
len: messageLength(messageSerialized)
|
|
1694
1744
|
});
|
|
1695
1745
|
} catch (error) {
|
|
1696
|
-
|
|
1746
|
+
_chunkC64FV764cjs.logger.call(void 0, ).warn({
|
|
1697
1747
|
msg: "failed to send message, added to queue",
|
|
1698
1748
|
error,
|
|
1699
1749
|
connId: this.#connId
|
|
@@ -1701,19 +1751,19 @@ var ActorConnRaw = class {
|
|
|
1701
1751
|
queueMessage = true;
|
|
1702
1752
|
}
|
|
1703
1753
|
} else {
|
|
1704
|
-
|
|
1754
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1705
1755
|
msg: "websocket not open, queueing message",
|
|
1706
1756
|
readyState
|
|
1707
1757
|
});
|
|
1708
1758
|
queueMessage = true;
|
|
1709
1759
|
}
|
|
1710
1760
|
} else {
|
|
1711
|
-
|
|
1761
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({ msg: "no websocket, queueing message" });
|
|
1712
1762
|
queueMessage = true;
|
|
1713
1763
|
}
|
|
1714
1764
|
if (!(opts == null ? void 0 : opts.ephemeral) && queueMessage) {
|
|
1715
1765
|
this.#messageQueue.push(message);
|
|
1716
|
-
|
|
1766
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1717
1767
|
msg: "queued connection message",
|
|
1718
1768
|
queueLength: this.#messageQueue.length,
|
|
1719
1769
|
connId: this.#connId,
|
|
@@ -1724,12 +1774,12 @@ var ActorConnRaw = class {
|
|
|
1724
1774
|
}
|
|
1725
1775
|
async #parseMessage(data) {
|
|
1726
1776
|
_invariant2.default.call(void 0, this.#websocket, "websocket must be defined");
|
|
1727
|
-
const buffer = await
|
|
1728
|
-
return
|
|
1777
|
+
const buffer = await _chunkKMYFL3OLcjs.inputDataToBuffer.call(void 0, data);
|
|
1778
|
+
return _chunkKMYFL3OLcjs.deserializeWithEncoding.call(void 0,
|
|
1729
1779
|
this.#encoding,
|
|
1730
1780
|
buffer,
|
|
1731
|
-
|
|
1732
|
-
|
|
1781
|
+
_chunkKMYFL3OLcjs.TO_CLIENT_VERSIONED,
|
|
1782
|
+
_chunkKMYFL3OLcjs.ToClientSchema,
|
|
1733
1783
|
// JSON: values are already the correct type
|
|
1734
1784
|
(msg) => msg,
|
|
1735
1785
|
// BARE: need to decode ArrayBuffer fields back to unknown
|
|
@@ -1810,11 +1860,11 @@ var ActorConnRaw = class {
|
|
|
1810
1860
|
*/
|
|
1811
1861
|
async dispose() {
|
|
1812
1862
|
if (this.#disposed) {
|
|
1813
|
-
|
|
1863
|
+
_chunkC64FV764cjs.logger.call(void 0, ).warn({ msg: "connection already disconnected" });
|
|
1814
1864
|
return;
|
|
1815
1865
|
}
|
|
1816
1866
|
this.#disposed = true;
|
|
1817
|
-
|
|
1867
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({ msg: "disposing actor conn" });
|
|
1818
1868
|
this.#setConnStatus("idle");
|
|
1819
1869
|
clearInterval(this.#keepNodeAliveInterval);
|
|
1820
1870
|
this.#abortController.abort();
|
|
@@ -1822,7 +1872,7 @@ var ActorConnRaw = class {
|
|
|
1822
1872
|
if (this.#websocket) {
|
|
1823
1873
|
const ws = this.#websocket;
|
|
1824
1874
|
if (ws.readyState !== 2 && ws.readyState !== 3) {
|
|
1825
|
-
const { promise, resolve } =
|
|
1875
|
+
const { promise, resolve } = _chunkX72X7I7Tcjs.promiseWithResolvers.call(void 0, );
|
|
1826
1876
|
ws.addEventListener("close", () => resolve(void 0));
|
|
1827
1877
|
ws.close(1e3, "Disposed");
|
|
1828
1878
|
await promise;
|
|
@@ -1894,13 +1944,13 @@ async function rawHttpFetch(driver, actorQuery, params, input, init) {
|
|
|
1894
1944
|
}
|
|
1895
1945
|
try {
|
|
1896
1946
|
const { actorId } = await queryActor(void 0, actorQuery, driver);
|
|
1897
|
-
|
|
1947
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({ msg: "found actor for raw http", actorId });
|
|
1898
1948
|
_invariant2.default.call(void 0, actorId, "Missing actor ID");
|
|
1899
1949
|
const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
|
|
1900
1950
|
const url = new URL(`http://actor/request/${normalizedPath}`);
|
|
1901
1951
|
const proxyRequestHeaders = new Headers(mergedInit.headers);
|
|
1902
1952
|
if (params) {
|
|
1903
|
-
proxyRequestHeaders.set(
|
|
1953
|
+
proxyRequestHeaders.set(_chunkKMYFL3OLcjs.HEADER_CONN_PARAMS, JSON.stringify(params));
|
|
1904
1954
|
}
|
|
1905
1955
|
const proxyRequest = new Request(url, {
|
|
1906
1956
|
...mergedInit,
|
|
@@ -1908,9 +1958,9 @@ async function rawHttpFetch(driver, actorQuery, params, input, init) {
|
|
|
1908
1958
|
});
|
|
1909
1959
|
return driver.sendRequest(actorId, proxyRequest);
|
|
1910
1960
|
} catch (err) {
|
|
1911
|
-
const { group, code, message, metadata } =
|
|
1961
|
+
const { group, code, message, metadata } = _chunkX72X7I7Tcjs.deconstructError.call(void 0,
|
|
1912
1962
|
err,
|
|
1913
|
-
|
|
1963
|
+
_chunkC64FV764cjs.logger.call(void 0, ),
|
|
1914
1964
|
{},
|
|
1915
1965
|
true
|
|
1916
1966
|
);
|
|
@@ -1920,7 +1970,7 @@ async function rawHttpFetch(driver, actorQuery, params, input, init) {
|
|
|
1920
1970
|
async function rawWebSocket(driver, actorQuery, params, path, protocols) {
|
|
1921
1971
|
const encoding = "bare";
|
|
1922
1972
|
const { actorId } = await queryActor(void 0, actorQuery, driver);
|
|
1923
|
-
|
|
1973
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({ msg: "found actor for action", actorId });
|
|
1924
1974
|
_invariant2.default.call(void 0, actorId, "Missing actor ID");
|
|
1925
1975
|
let pathPortion = "";
|
|
1926
1976
|
let queryPortion = "";
|
|
@@ -1936,8 +1986,8 @@ async function rawWebSocket(driver, actorQuery, params, path, protocols) {
|
|
|
1936
1986
|
pathPortion = pathPortion.slice(1);
|
|
1937
1987
|
}
|
|
1938
1988
|
}
|
|
1939
|
-
const fullPath = `${
|
|
1940
|
-
|
|
1989
|
+
const fullPath = `${_chunkKMYFL3OLcjs.PATH_WEBSOCKET_PREFIX}${pathPortion}${queryPortion}`;
|
|
1990
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1941
1991
|
msg: "opening websocket",
|
|
1942
1992
|
actorId,
|
|
1943
1993
|
encoding,
|
|
@@ -1976,15 +2026,17 @@ var ActorHandleRaw = class {
|
|
|
1976
2026
|
* @template Response - The type of the response returned by the action function.
|
|
1977
2027
|
*/
|
|
1978
2028
|
async action(opts) {
|
|
2029
|
+
let actorId;
|
|
1979
2030
|
try {
|
|
1980
|
-
const
|
|
2031
|
+
const result = await queryActor(
|
|
1981
2032
|
void 0,
|
|
1982
2033
|
this.#actorQuery,
|
|
1983
2034
|
this.#driver
|
|
1984
2035
|
);
|
|
1985
|
-
|
|
2036
|
+
actorId = result.actorId;
|
|
2037
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({ msg: "found actor for action", actorId });
|
|
1986
2038
|
_invariant2.default.call(void 0, actorId, "Missing actor ID");
|
|
1987
|
-
|
|
2039
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
1988
2040
|
msg: "handling action",
|
|
1989
2041
|
name: opts.name,
|
|
1990
2042
|
encoding: this.#encoding
|
|
@@ -1993,8 +2045,8 @@ var ActorHandleRaw = class {
|
|
|
1993
2045
|
url: `http://actor/action/${encodeURIComponent(opts.name)}`,
|
|
1994
2046
|
method: "POST",
|
|
1995
2047
|
headers: {
|
|
1996
|
-
[
|
|
1997
|
-
...this.#params !== void 0 ? { [
|
|
2048
|
+
[_chunkKMYFL3OLcjs.HEADER_ENCODING]: this.#encoding,
|
|
2049
|
+
...this.#params !== void 0 ? { [_chunkKMYFL3OLcjs.HEADER_CONN_PARAMS]: JSON.stringify(this.#params) } : {}
|
|
1998
2050
|
},
|
|
1999
2051
|
body: opts.args,
|
|
2000
2052
|
encoding: this.#encoding,
|
|
@@ -2003,19 +2055,19 @@ var ActorHandleRaw = class {
|
|
|
2003
2055
|
actorId
|
|
2004
2056
|
),
|
|
2005
2057
|
signal: opts == null ? void 0 : opts.signal,
|
|
2006
|
-
requestVersion:
|
|
2007
|
-
requestVersionedDataHandler:
|
|
2008
|
-
responseVersion:
|
|
2009
|
-
responseVersionedDataHandler:
|
|
2010
|
-
requestZodSchema:
|
|
2011
|
-
responseZodSchema:
|
|
2058
|
+
requestVersion: _chunkKMYFL3OLcjs.CURRENT_VERSION,
|
|
2059
|
+
requestVersionedDataHandler: _chunkKMYFL3OLcjs.HTTP_ACTION_REQUEST_VERSIONED,
|
|
2060
|
+
responseVersion: _chunkKMYFL3OLcjs.CURRENT_VERSION,
|
|
2061
|
+
responseVersionedDataHandler: _chunkKMYFL3OLcjs.HTTP_ACTION_RESPONSE_VERSIONED,
|
|
2062
|
+
requestZodSchema: _chunkKMYFL3OLcjs.HttpActionRequestSchema,
|
|
2063
|
+
responseZodSchema: _chunkKMYFL3OLcjs.HttpActionResponseSchema,
|
|
2012
2064
|
// JSON Request: args is the raw value
|
|
2013
2065
|
requestToJson: (args) => ({
|
|
2014
2066
|
args
|
|
2015
2067
|
}),
|
|
2016
2068
|
// BARE Request: args needs to be CBOR-encoded
|
|
2017
2069
|
requestToBare: (args) => ({
|
|
2018
|
-
args:
|
|
2070
|
+
args: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0, cbor4.encode(args))
|
|
2019
2071
|
}),
|
|
2020
2072
|
// JSON Response: output is the raw value
|
|
2021
2073
|
responseFromJson: (json) => json.output,
|
|
@@ -2024,12 +2076,24 @@ var ActorHandleRaw = class {
|
|
|
2024
2076
|
});
|
|
2025
2077
|
return responseData;
|
|
2026
2078
|
} catch (err) {
|
|
2027
|
-
const { group, code, message, metadata } =
|
|
2079
|
+
const { group, code, message, metadata } = _chunkX72X7I7Tcjs.deconstructError.call(void 0,
|
|
2028
2080
|
err,
|
|
2029
|
-
|
|
2081
|
+
_chunkC64FV764cjs.logger.call(void 0, ),
|
|
2030
2082
|
{},
|
|
2031
2083
|
true
|
|
2032
2084
|
);
|
|
2085
|
+
if (actorId && isSchedulingError(group, code)) {
|
|
2086
|
+
const schedulingError = await checkForSchedulingError(
|
|
2087
|
+
group,
|
|
2088
|
+
code,
|
|
2089
|
+
actorId,
|
|
2090
|
+
this.#actorQuery,
|
|
2091
|
+
this.#driver
|
|
2092
|
+
);
|
|
2093
|
+
if (schedulingError) {
|
|
2094
|
+
throw schedulingError;
|
|
2095
|
+
}
|
|
2096
|
+
}
|
|
2033
2097
|
throw new ActorError(group, code, message, metadata);
|
|
2034
2098
|
}
|
|
2035
2099
|
}
|
|
@@ -2040,7 +2104,7 @@ var ActorHandleRaw = class {
|
|
|
2040
2104
|
* @returns {ActorConn<AD>} A connection to the actor.
|
|
2041
2105
|
*/
|
|
2042
2106
|
connect() {
|
|
2043
|
-
|
|
2107
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
2044
2108
|
msg: "establishing connection from handle",
|
|
2045
2109
|
query: this.#actorQuery
|
|
2046
2110
|
});
|
|
@@ -2088,9 +2152,7 @@ var ActorHandleRaw = class {
|
|
|
2088
2152
|
);
|
|
2089
2153
|
}
|
|
2090
2154
|
/**
|
|
2091
|
-
* Resolves the actor to get its unique actor ID
|
|
2092
|
-
*
|
|
2093
|
-
* @returns {Promise<string>} - A promise that resolves to the actor's ID
|
|
2155
|
+
* Resolves the actor to get its unique actor ID.
|
|
2094
2156
|
*/
|
|
2095
2157
|
async resolve({ signal } = {}) {
|
|
2096
2158
|
if ("getForKey" in this.#actorQuery || "getOrCreateForKey" in this.#actorQuery) {
|
|
@@ -2100,7 +2162,7 @@ var ActorHandleRaw = class {
|
|
|
2100
2162
|
} else if ("getOrCreateForKey" in this.#actorQuery) {
|
|
2101
2163
|
name = this.#actorQuery.getOrCreateForKey.name;
|
|
2102
2164
|
} else {
|
|
2103
|
-
|
|
2165
|
+
_chunkKMYFL3OLcjs.assertUnreachable.call(void 0, this.#actorQuery);
|
|
2104
2166
|
}
|
|
2105
2167
|
const { actorId } = await queryActor(
|
|
2106
2168
|
void 0,
|
|
@@ -2114,9 +2176,20 @@ var ActorHandleRaw = class {
|
|
|
2114
2176
|
} else if ("create" in this.#actorQuery) {
|
|
2115
2177
|
_invariant2.default.call(void 0, false, "actorQuery cannot be create");
|
|
2116
2178
|
} else {
|
|
2117
|
-
|
|
2179
|
+
_chunkKMYFL3OLcjs.assertUnreachable.call(void 0, this.#actorQuery);
|
|
2118
2180
|
}
|
|
2119
2181
|
}
|
|
2182
|
+
/**
|
|
2183
|
+
* Returns the raw URL for routing traffic to the actor.
|
|
2184
|
+
*/
|
|
2185
|
+
async getGatewayUrl() {
|
|
2186
|
+
const { actorId } = await queryActor(
|
|
2187
|
+
void 0,
|
|
2188
|
+
this.#actorQuery,
|
|
2189
|
+
this.#driver
|
|
2190
|
+
);
|
|
2191
|
+
return await this.#driver.buildGatewayUrl(actorId);
|
|
2192
|
+
}
|
|
2120
2193
|
};
|
|
2121
2194
|
|
|
2122
2195
|
// src/client/client.ts
|
|
@@ -2144,7 +2217,7 @@ var ClientRaw = (_class2 = class {
|
|
|
2144
2217
|
* @returns {ActorHandle<AD>} - A handle to the actor.
|
|
2145
2218
|
*/
|
|
2146
2219
|
getForId(name, actorId, opts) {
|
|
2147
|
-
|
|
2220
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
2148
2221
|
msg: "get handle to actor with id",
|
|
2149
2222
|
name,
|
|
2150
2223
|
actorId,
|
|
@@ -2170,7 +2243,7 @@ var ClientRaw = (_class2 = class {
|
|
|
2170
2243
|
*/
|
|
2171
2244
|
get(name, key, opts) {
|
|
2172
2245
|
const keyArray = typeof key === "string" ? [key] : key || [];
|
|
2173
|
-
|
|
2246
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
2174
2247
|
msg: "get handle to actor",
|
|
2175
2248
|
name,
|
|
2176
2249
|
key: keyArray,
|
|
@@ -2196,7 +2269,7 @@ var ClientRaw = (_class2 = class {
|
|
|
2196
2269
|
*/
|
|
2197
2270
|
getOrCreate(name, key, opts) {
|
|
2198
2271
|
const keyArray = typeof key === "string" ? [key] : key || [];
|
|
2199
|
-
|
|
2272
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
2200
2273
|
msg: "get or create handle to actor",
|
|
2201
2274
|
name,
|
|
2202
2275
|
key: keyArray,
|
|
@@ -2234,7 +2307,7 @@ var ClientRaw = (_class2 = class {
|
|
|
2234
2307
|
key: keyArray
|
|
2235
2308
|
}
|
|
2236
2309
|
};
|
|
2237
|
-
|
|
2310
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
2238
2311
|
msg: "create actor handle",
|
|
2239
2312
|
name,
|
|
2240
2313
|
key: keyArray,
|
|
@@ -2246,7 +2319,7 @@ var ClientRaw = (_class2 = class {
|
|
|
2246
2319
|
createQuery,
|
|
2247
2320
|
this.#driver
|
|
2248
2321
|
);
|
|
2249
|
-
|
|
2322
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({
|
|
2250
2323
|
msg: "created actor with ID",
|
|
2251
2324
|
name,
|
|
2252
2325
|
key: keyArray,
|
|
@@ -2283,11 +2356,11 @@ var ClientRaw = (_class2 = class {
|
|
|
2283
2356
|
*/
|
|
2284
2357
|
async dispose() {
|
|
2285
2358
|
if (this.#disposed) {
|
|
2286
|
-
|
|
2359
|
+
_chunkC64FV764cjs.logger.call(void 0, ).warn({ msg: "client already disconnected" });
|
|
2287
2360
|
return;
|
|
2288
2361
|
}
|
|
2289
2362
|
this.#disposed = true;
|
|
2290
|
-
|
|
2363
|
+
_chunkC64FV764cjs.logger.call(void 0, ).debug({ msg: "disposing client" });
|
|
2291
2364
|
const disposePromises = [];
|
|
2292
2365
|
for (const conn of this[ACTOR_CONNS_SYMBOL].values()) {
|
|
2293
2366
|
disposePromises.push(conn.dispose());
|
|
@@ -2410,15 +2483,15 @@ var ClientConfigSchemaBase = _zod2.default.object({
|
|
|
2410
2483
|
* Defaults to current origin + /api/rivet in browser, or 127.0.0.1:6420 server-side.
|
|
2411
2484
|
*/
|
|
2412
2485
|
endpoint: _zod2.default.string().optional().transform(
|
|
2413
|
-
(val) => _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(val, () => (
|
|
2486
|
+
(val) => _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(val, () => ( _chunkX72X7I7Tcjs.getRivetEngine.call(void 0, ))), () => ( _chunkX72X7I7Tcjs.getRivetEndpoint.call(void 0, ))), () => ( getDefaultEndpoint()))
|
|
2414
2487
|
),
|
|
2415
2488
|
/** Token to use to authenticate with the API. */
|
|
2416
|
-
token: _zod2.default.string().optional().transform((val) => _nullishCoalesce(val, () => (
|
|
2489
|
+
token: _zod2.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkX72X7I7Tcjs.getRivetToken.call(void 0, )))),
|
|
2417
2490
|
/** Namespace to connect to. */
|
|
2418
|
-
namespace: _zod2.default.string().optional().transform((val) => _nullishCoalesce(val, () => (
|
|
2491
|
+
namespace: _zod2.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkX72X7I7Tcjs.getRivetNamespace.call(void 0, )))),
|
|
2419
2492
|
/** Name of the runner. This is used to group together runners in to different pools. */
|
|
2420
|
-
runnerName: _zod2.default.string().default(() => _nullishCoalesce(
|
|
2421
|
-
encoding:
|
|
2493
|
+
runnerName: _zod2.default.string().default(() => _nullishCoalesce(_chunkX72X7I7Tcjs.getRivetRunner.call(void 0, ), () => ( "default"))),
|
|
2494
|
+
encoding: _chunkKMYFL3OLcjs.EncodingSchema.default("bare"),
|
|
2422
2495
|
headers: _zod2.default.record(_zod2.default.string(), _zod2.default.string()).optional().default(() => ({})),
|
|
2423
2496
|
// See RunConfig.getUpgradeWebSocket
|
|
2424
2497
|
//
|
|
@@ -2439,7 +2512,7 @@ var ClientConfigSchema = ClientConfigSchemaBase.transform(
|
|
|
2439
2512
|
(config, ctx) => transformClientConfig(config, ctx)
|
|
2440
2513
|
);
|
|
2441
2514
|
function transformClientConfig(config, ctx) {
|
|
2442
|
-
const parsedEndpoint =
|
|
2515
|
+
const parsedEndpoint = _chunkKMYFL3OLcjs.tryParseEndpoint.call(void 0, ctx, {
|
|
2443
2516
|
endpoint: config.endpoint,
|
|
2444
2517
|
path: ["endpoint"],
|
|
2445
2518
|
namespace: config.namespace,
|
|
@@ -2515,7 +2588,7 @@ var ActorInspector = (_class3 = class {
|
|
|
2515
2588
|
if (!this.actor.stateEnabled) {
|
|
2516
2589
|
throw new (0, _chunkSNAUKDDKcjs.StateNotEnabled)();
|
|
2517
2590
|
}
|
|
2518
|
-
return
|
|
2591
|
+
return _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0,
|
|
2519
2592
|
cbor5.encode(this.actor.stateManager.persistRaw.state)
|
|
2520
2593
|
);
|
|
2521
2594
|
}
|
|
@@ -2527,13 +2600,13 @@ var ActorInspector = (_class3 = class {
|
|
|
2527
2600
|
this.actor.connectionManager.connections.entries()
|
|
2528
2601
|
).map(([id, conn]) => {
|
|
2529
2602
|
var _a, _b;
|
|
2530
|
-
const connStateManager = conn[
|
|
2603
|
+
const connStateManager = conn[_chunkKMYFL3OLcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
2531
2604
|
return {
|
|
2532
|
-
type: (_a = conn[
|
|
2605
|
+
type: (_a = conn[_chunkKMYFL3OLcjs.CONN_DRIVER_SYMBOL]) == null ? void 0 : _a.type,
|
|
2533
2606
|
id,
|
|
2534
|
-
details:
|
|
2607
|
+
details: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0,
|
|
2535
2608
|
cbor5.encode({
|
|
2536
|
-
type: (_b = conn[
|
|
2609
|
+
type: (_b = conn[_chunkKMYFL3OLcjs.CONN_DRIVER_SYMBOL]) == null ? void 0 : _b.type,
|
|
2537
2610
|
params: conn.params,
|
|
2538
2611
|
stateEnabled: connStateManager.stateEnabled,
|
|
2539
2612
|
state: connStateManager.stateEnabled ? connStateManager.state : void 0,
|
|
@@ -2555,7 +2628,7 @@ var ActorInspector = (_class3 = class {
|
|
|
2555
2628
|
}
|
|
2556
2629
|
async executeAction(name, params) {
|
|
2557
2630
|
const conn = await this.actor.connectionManager.prepareAndConnectConn(
|
|
2558
|
-
|
|
2631
|
+
_chunkKMYFL3OLcjs.createHttpDriver.call(void 0, ),
|
|
2559
2632
|
// TODO: This may cause issues
|
|
2560
2633
|
void 0,
|
|
2561
2634
|
void 0,
|
|
@@ -2563,10 +2636,10 @@ var ActorInspector = (_class3 = class {
|
|
|
2563
2636
|
void 0
|
|
2564
2637
|
);
|
|
2565
2638
|
try {
|
|
2566
|
-
return
|
|
2639
|
+
return _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0,
|
|
2567
2640
|
cbor5.encode(
|
|
2568
2641
|
await this.actor.executeAction(
|
|
2569
|
-
new (0,
|
|
2642
|
+
new (0, _chunkKMYFL3OLcjs.ActionContext)(this.actor, conn),
|
|
2570
2643
|
name,
|
|
2571
2644
|
cbor5.decode(Buffer.from(params))
|
|
2572
2645
|
)
|
|
@@ -2584,7 +2657,7 @@ function transformEvent(event) {
|
|
|
2584
2657
|
tag: "ActionEvent",
|
|
2585
2658
|
val: {
|
|
2586
2659
|
name: event.name,
|
|
2587
|
-
args:
|
|
2660
|
+
args: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0, cbor5.encode(event.args)),
|
|
2588
2661
|
connId: event.connId
|
|
2589
2662
|
}
|
|
2590
2663
|
}
|
|
@@ -2615,7 +2688,7 @@ function transformEvent(event) {
|
|
|
2615
2688
|
tag: "FiredEvent",
|
|
2616
2689
|
val: {
|
|
2617
2690
|
eventName: event.eventName,
|
|
2618
|
-
args:
|
|
2691
|
+
args: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0, cbor5.encode(event.args)),
|
|
2619
2692
|
connId: event.connId
|
|
2620
2693
|
}
|
|
2621
2694
|
}
|
|
@@ -2626,12 +2699,12 @@ function transformEvent(event) {
|
|
|
2626
2699
|
tag: "BroadcastEvent",
|
|
2627
2700
|
val: {
|
|
2628
2701
|
eventName: event.eventName,
|
|
2629
|
-
args:
|
|
2702
|
+
args: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0, cbor5.encode(event.args))
|
|
2630
2703
|
}
|
|
2631
2704
|
}
|
|
2632
2705
|
};
|
|
2633
2706
|
} else {
|
|
2634
|
-
|
|
2707
|
+
_chunkX72X7I7Tcjs.assertUnreachable.call(void 0, event);
|
|
2635
2708
|
}
|
|
2636
2709
|
}
|
|
2637
2710
|
|
|
@@ -2640,8 +2713,8 @@ function transformEvent(event) {
|
|
|
2640
2713
|
function convertConnToBarePersistedConn(persist) {
|
|
2641
2714
|
return {
|
|
2642
2715
|
id: persist.id,
|
|
2643
|
-
parameters:
|
|
2644
|
-
state:
|
|
2716
|
+
parameters: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0, cbor6.encode(persist.parameters)),
|
|
2717
|
+
state: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0, cbor6.encode(persist.state)),
|
|
2645
2718
|
subscriptions: persist.subscriptions.map((sub) => ({
|
|
2646
2719
|
eventName: sub.eventName
|
|
2647
2720
|
})),
|
|
@@ -2729,7 +2802,7 @@ var ConnectionManager = class {
|
|
|
2729
2802
|
return this.#reconnectHibernatableConn(driver);
|
|
2730
2803
|
}
|
|
2731
2804
|
if (this.#actor.config.onBeforeConnect) {
|
|
2732
|
-
const ctx = new (0,
|
|
2805
|
+
const ctx = new (0, _chunkKMYFL3OLcjs.BeforeConnectContext)(this.#actor, request);
|
|
2733
2806
|
await this.#actor.config.onBeforeConnect(ctx, params);
|
|
2734
2807
|
}
|
|
2735
2808
|
let connState;
|
|
@@ -2769,8 +2842,8 @@ var ConnectionManager = class {
|
|
|
2769
2842
|
}
|
|
2770
2843
|
};
|
|
2771
2844
|
}
|
|
2772
|
-
const conn = new (0,
|
|
2773
|
-
conn[
|
|
2845
|
+
const conn = new (0, _chunkKMYFL3OLcjs.Conn)(this.#actor, connData);
|
|
2846
|
+
conn[_chunkKMYFL3OLcjs.CONN_DRIVER_SYMBOL] = driver;
|
|
2774
2847
|
return conn;
|
|
2775
2848
|
}
|
|
2776
2849
|
/**
|
|
@@ -2793,15 +2866,15 @@ var ConnectionManager = class {
|
|
|
2793
2866
|
this.#callOnConnect(conn);
|
|
2794
2867
|
this.#actor.inspector.emitter.emit("connectionsUpdated");
|
|
2795
2868
|
this.#actor.resetSleepTimer();
|
|
2796
|
-
conn[
|
|
2797
|
-
if (conn[
|
|
2869
|
+
conn[_chunkKMYFL3OLcjs.CONN_CONNECTED_SYMBOL] = true;
|
|
2870
|
+
if (conn[_chunkKMYFL3OLcjs.CONN_SPEAKS_RIVETKIT_SYMBOL]) {
|
|
2798
2871
|
const initData = { actorId: this.#actor.id, connectionId: conn.id };
|
|
2799
|
-
conn[
|
|
2800
|
-
new (0,
|
|
2872
|
+
conn[_chunkKMYFL3OLcjs.CONN_SEND_MESSAGE_SYMBOL](
|
|
2873
|
+
new (0, _chunkKMYFL3OLcjs.CachedSerializer)(
|
|
2801
2874
|
initData,
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2875
|
+
_chunkKMYFL3OLcjs.TO_CLIENT_VERSIONED,
|
|
2876
|
+
_chunkKMYFL3OLcjs.CURRENT_VERSION,
|
|
2877
|
+
_chunkKMYFL3OLcjs.ToClientSchema,
|
|
2805
2878
|
// JSON: identity conversion (no nested data to encode)
|
|
2806
2879
|
(value) => ({
|
|
2807
2880
|
body: {
|
|
@@ -2834,17 +2907,17 @@ var ConnectionManager = class {
|
|
|
2834
2907
|
msg: "reconnecting hibernatable websocket connection",
|
|
2835
2908
|
connectionId: existingConn.id
|
|
2836
2909
|
});
|
|
2837
|
-
if (existingConn[
|
|
2910
|
+
if (existingConn[_chunkKMYFL3OLcjs.CONN_DRIVER_SYMBOL]) {
|
|
2838
2911
|
this.#disconnectExistingDriver(existingConn);
|
|
2839
2912
|
}
|
|
2840
|
-
existingConn[
|
|
2913
|
+
existingConn[_chunkKMYFL3OLcjs.CONN_DRIVER_SYMBOL] = driver;
|
|
2841
2914
|
this.#actor.resetSleepTimer();
|
|
2842
|
-
existingConn[
|
|
2915
|
+
existingConn[_chunkKMYFL3OLcjs.CONN_CONNECTED_SYMBOL] = true;
|
|
2843
2916
|
this.#actor.inspector.emitter.emit("connectionsUpdated");
|
|
2844
2917
|
return existingConn;
|
|
2845
2918
|
}
|
|
2846
2919
|
#disconnectExistingDriver(conn) {
|
|
2847
|
-
const driver = conn[
|
|
2920
|
+
const driver = conn[_chunkKMYFL3OLcjs.CONN_DRIVER_SYMBOL];
|
|
2848
2921
|
if (driver == null ? void 0 : driver.disconnect) {
|
|
2849
2922
|
driver.disconnect(
|
|
2850
2923
|
this.#actor,
|
|
@@ -2879,20 +2952,20 @@ var ConnectionManager = class {
|
|
|
2879
2952
|
result.catch((error) => {
|
|
2880
2953
|
this.#actor.rLog.error({
|
|
2881
2954
|
msg: "error in `onDisconnect`",
|
|
2882
|
-
error:
|
|
2955
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
2883
2956
|
});
|
|
2884
2957
|
});
|
|
2885
2958
|
}
|
|
2886
2959
|
} catch (error) {
|
|
2887
2960
|
this.#actor.rLog.error({
|
|
2888
2961
|
msg: "error in `onDisconnect`",
|
|
2889
|
-
error:
|
|
2962
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
2890
2963
|
});
|
|
2891
2964
|
}
|
|
2892
2965
|
}
|
|
2893
2966
|
this.#connsWithPersistChanged.delete(conn.id);
|
|
2894
2967
|
if (conn.isHibernatable) {
|
|
2895
|
-
const key =
|
|
2968
|
+
const key = _chunkKMYFL3OLcjs.makeConnKey.call(void 0, conn.id);
|
|
2896
2969
|
try {
|
|
2897
2970
|
await this.#actor.driver.kvBatchDelete(this.#actor.id, [key]);
|
|
2898
2971
|
this.#actor.rLog.debug({
|
|
@@ -2902,7 +2975,7 @@ var ConnectionManager = class {
|
|
|
2902
2975
|
} catch (err) {
|
|
2903
2976
|
this.#actor.rLog.error({
|
|
2904
2977
|
msg: "kvBatchDelete failed for conn",
|
|
2905
|
-
err:
|
|
2978
|
+
err: _chunkX72X7I7Tcjs.stringifyError.call(void 0, err)
|
|
2906
2979
|
});
|
|
2907
2980
|
}
|
|
2908
2981
|
}
|
|
@@ -2929,7 +3002,7 @@ var ConnectionManager = class {
|
|
|
2929
3002
|
*/
|
|
2930
3003
|
restoreConnections(connections) {
|
|
2931
3004
|
for (const connPersist of connections) {
|
|
2932
|
-
const conn = new (0,
|
|
3005
|
+
const conn = new (0, _chunkKMYFL3OLcjs.Conn)(this.#actor, {
|
|
2933
3006
|
hibernatable: connPersist
|
|
2934
3007
|
});
|
|
2935
3008
|
this.#connections.set(conn.id, conn);
|
|
@@ -2948,20 +3021,20 @@ var ConnectionManager = class {
|
|
|
2948
3021
|
// MARK: - Private Helpers
|
|
2949
3022
|
findHibernatableConn(gatewayIdBuf, requestIdBuf) {
|
|
2950
3023
|
return Array.from(this.#connections.values()).find((conn) => {
|
|
2951
|
-
const connStateManager = conn[
|
|
3024
|
+
const connStateManager = conn[_chunkKMYFL3OLcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
2952
3025
|
const h = connStateManager.hibernatableDataRaw;
|
|
2953
|
-
return h &&
|
|
3026
|
+
return h && _chunkX72X7I7Tcjs.arrayBuffersEqual.call(void 0, h.gatewayId, gatewayIdBuf) && _chunkX72X7I7Tcjs.arrayBuffersEqual.call(void 0, h.requestId, requestIdBuf);
|
|
2954
3027
|
});
|
|
2955
3028
|
}
|
|
2956
3029
|
async #createConnState(params, request) {
|
|
2957
3030
|
if ("createConnState" in this.#actor.config) {
|
|
2958
|
-
const ctx = new (0,
|
|
3031
|
+
const ctx = new (0, _chunkKMYFL3OLcjs.CreateConnStateContext)(this.#actor, request);
|
|
2959
3032
|
const dataOrPromise = this.#actor.config.createConnState(
|
|
2960
3033
|
ctx,
|
|
2961
3034
|
params
|
|
2962
3035
|
);
|
|
2963
3036
|
if (dataOrPromise instanceof Promise) {
|
|
2964
|
-
return await
|
|
3037
|
+
return await _chunkKMYFL3OLcjs.deadline.call(void 0,
|
|
2965
3038
|
dataOrPromise,
|
|
2966
3039
|
this.#actor.config.options.createConnStateTimeout
|
|
2967
3040
|
);
|
|
@@ -2977,10 +3050,10 @@ var ConnectionManager = class {
|
|
|
2977
3050
|
#callOnConnect(conn) {
|
|
2978
3051
|
if (this.#actor.config.onConnect) {
|
|
2979
3052
|
try {
|
|
2980
|
-
const ctx = new (0,
|
|
3053
|
+
const ctx = new (0, _chunkKMYFL3OLcjs.ConnectContext)(this.#actor, conn);
|
|
2981
3054
|
const result = this.#actor.config.onConnect(ctx, conn);
|
|
2982
3055
|
if (result instanceof Promise) {
|
|
2983
|
-
|
|
3056
|
+
_chunkKMYFL3OLcjs.deadline.call(void 0,
|
|
2984
3057
|
result,
|
|
2985
3058
|
this.#actor.config.options.onConnectTimeout
|
|
2986
3059
|
).catch((error) => {
|
|
@@ -2994,7 +3067,7 @@ var ConnectionManager = class {
|
|
|
2994
3067
|
} catch (error) {
|
|
2995
3068
|
this.#actor.rLog.error({
|
|
2996
3069
|
msg: "error in `onConnect`",
|
|
2997
|
-
error:
|
|
3070
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
2998
3071
|
});
|
|
2999
3072
|
conn == null ? void 0 : conn.disconnect("`onConnect` failed");
|
|
3000
3073
|
}
|
|
@@ -3035,7 +3108,7 @@ var EventManager = class {
|
|
|
3035
3108
|
}
|
|
3036
3109
|
subscribers.add(connection);
|
|
3037
3110
|
if (!fromPersist) {
|
|
3038
|
-
connection[
|
|
3111
|
+
connection[_chunkKMYFL3OLcjs.CONN_STATE_MANAGER_SYMBOL].addSubscription({
|
|
3039
3112
|
eventName
|
|
3040
3113
|
});
|
|
3041
3114
|
this.#actor.stateManager.saveState({ immediate: true });
|
|
@@ -3072,7 +3145,7 @@ var EventManager = class {
|
|
|
3072
3145
|
}
|
|
3073
3146
|
}
|
|
3074
3147
|
if (!fromRemoveConn) {
|
|
3075
|
-
const removed = connection[
|
|
3148
|
+
const removed = connection[_chunkKMYFL3OLcjs.CONN_STATE_MANAGER_SYMBOL].removeSubscription({ eventName });
|
|
3076
3149
|
if (!removed) {
|
|
3077
3150
|
this.#actor.rLog.warn({
|
|
3078
3151
|
msg: "subscription does not exist in persist",
|
|
@@ -3111,11 +3184,11 @@ var EventManager = class {
|
|
|
3111
3184
|
return;
|
|
3112
3185
|
}
|
|
3113
3186
|
const eventData = { name, args };
|
|
3114
|
-
const toClientSerializer = new (0,
|
|
3187
|
+
const toClientSerializer = new (0, _chunkKMYFL3OLcjs.CachedSerializer)(
|
|
3115
3188
|
eventData,
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3189
|
+
_chunkKMYFL3OLcjs.TO_CLIENT_VERSIONED,
|
|
3190
|
+
_chunkKMYFL3OLcjs.CURRENT_VERSION,
|
|
3191
|
+
_chunkKMYFL3OLcjs.ToClientSchema,
|
|
3119
3192
|
// JSON: args is the raw value (array of arguments)
|
|
3120
3193
|
(value) => ({
|
|
3121
3194
|
body: {
|
|
@@ -3132,16 +3205,16 @@ var EventManager = class {
|
|
|
3132
3205
|
tag: "Event",
|
|
3133
3206
|
val: {
|
|
3134
3207
|
name: value.name,
|
|
3135
|
-
args:
|
|
3208
|
+
args: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0, cbor7.encode(value.args))
|
|
3136
3209
|
}
|
|
3137
3210
|
}
|
|
3138
3211
|
})
|
|
3139
3212
|
);
|
|
3140
3213
|
let sentCount = 0;
|
|
3141
3214
|
for (const connection of subscribers) {
|
|
3142
|
-
if (connection[
|
|
3215
|
+
if (connection[_chunkKMYFL3OLcjs.CONN_SPEAKS_RIVETKIT_SYMBOL]) {
|
|
3143
3216
|
try {
|
|
3144
|
-
connection[
|
|
3217
|
+
connection[_chunkKMYFL3OLcjs.CONN_SEND_MESSAGE_SYMBOL](toClientSerializer);
|
|
3145
3218
|
sentCount++;
|
|
3146
3219
|
} catch (error) {
|
|
3147
3220
|
if (error instanceof _chunkSNAUKDDKcjs.OutgoingMessageTooLong) {
|
|
@@ -3227,9 +3300,9 @@ var EventManager = class {
|
|
|
3227
3300
|
|
|
3228
3301
|
function convertActorToBarePersisted(persist) {
|
|
3229
3302
|
return {
|
|
3230
|
-
input: persist.input !== void 0 ?
|
|
3303
|
+
input: persist.input !== void 0 ? _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0, cbor8.encode(persist.input)) : null,
|
|
3231
3304
|
hasInitialized: persist.hasInitialized,
|
|
3232
|
-
state:
|
|
3305
|
+
state: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0, cbor8.encode(persist.state)),
|
|
3233
3306
|
scheduledEvents: persist.scheduledEvents.map((event) => ({
|
|
3234
3307
|
eventId: event.eventId,
|
|
3235
3308
|
timestamp: BigInt(event.timestamp),
|
|
@@ -3257,7 +3330,7 @@ function convertActorFromBarePersisted(bareData) {
|
|
|
3257
3330
|
var ScheduleManager = class {
|
|
3258
3331
|
#actor;
|
|
3259
3332
|
#actorDriver;
|
|
3260
|
-
#alarmWriteQueue = new (0,
|
|
3333
|
+
#alarmWriteQueue = new (0, _chunkX72X7I7Tcjs.SinglePromiseQueue)();
|
|
3261
3334
|
#config;
|
|
3262
3335
|
// ActorConfig type
|
|
3263
3336
|
#persist;
|
|
@@ -3287,7 +3360,7 @@ var ScheduleManager = class {
|
|
|
3287
3360
|
eventId: crypto.randomUUID(),
|
|
3288
3361
|
timestamp,
|
|
3289
3362
|
action,
|
|
3290
|
-
args:
|
|
3363
|
+
args: _chunkX72X7I7Tcjs.bufferToArrayBuffer.call(void 0, cbor9.encode(args))
|
|
3291
3364
|
};
|
|
3292
3365
|
await this.#scheduleEventInner(newEvent);
|
|
3293
3366
|
}
|
|
@@ -3479,7 +3552,7 @@ var ScheduleManager = class {
|
|
|
3479
3552
|
} catch (error) {
|
|
3480
3553
|
this.#actor.log.error({
|
|
3481
3554
|
msg: "error executing scheduled event",
|
|
3482
|
-
error:
|
|
3555
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error),
|
|
3483
3556
|
eventId: event.eventId,
|
|
3484
3557
|
timestamp: event.timestamp,
|
|
3485
3558
|
action: event.action
|
|
@@ -3534,7 +3607,7 @@ var StateManager = class {
|
|
|
3534
3607
|
#persistChanged = false;
|
|
3535
3608
|
#isInOnStateChange = false;
|
|
3536
3609
|
// Save management
|
|
3537
|
-
#persistWriteQueue = new (0,
|
|
3610
|
+
#persistWriteQueue = new (0, _chunkX72X7I7Tcjs.SinglePromiseQueue)();
|
|
3538
3611
|
#lastSaveTime = 0;
|
|
3539
3612
|
#pendingSaveTimeout;
|
|
3540
3613
|
#pendingSaveScheduledTimestamp;
|
|
@@ -3599,10 +3672,10 @@ var StateManager = class {
|
|
|
3599
3672
|
const bareData = convertActorToBarePersisted(persistData);
|
|
3600
3673
|
await this.#actorDriver.kvBatchPut(this.#actor.id, [
|
|
3601
3674
|
[
|
|
3602
|
-
|
|
3603
|
-
|
|
3675
|
+
_chunkKMYFL3OLcjs.KEYS.PERSIST_DATA,
|
|
3676
|
+
_chunkKMYFL3OLcjs.ACTOR_VERSIONED.serializeWithEmbeddedVersion(
|
|
3604
3677
|
bareData,
|
|
3605
|
-
|
|
3678
|
+
_chunkKMYFL3OLcjs.CURRENT_VERSION2
|
|
3606
3679
|
)
|
|
3607
3680
|
]
|
|
3608
3681
|
]);
|
|
@@ -3616,7 +3689,7 @@ var StateManager = class {
|
|
|
3616
3689
|
this.#persistRaw = target;
|
|
3617
3690
|
if (target === null || typeof target !== "object") {
|
|
3618
3691
|
let invalidPath = "";
|
|
3619
|
-
if (!
|
|
3692
|
+
if (!_chunkX72X7I7Tcjs.isCborSerializable.call(void 0,
|
|
3620
3693
|
target,
|
|
3621
3694
|
(path) => {
|
|
3622
3695
|
invalidPath = path;
|
|
@@ -3650,7 +3723,7 @@ var StateManager = class {
|
|
|
3650
3723
|
await this.#savePersistInner();
|
|
3651
3724
|
} else {
|
|
3652
3725
|
if (!this.#onPersistSavedPromise) {
|
|
3653
|
-
this.#onPersistSavedPromise =
|
|
3726
|
+
this.#onPersistSavedPromise = _chunkX72X7I7Tcjs.promiseWithResolvers.call(void 0, );
|
|
3654
3727
|
}
|
|
3655
3728
|
this.savePersistThrottled(opts.maxWait);
|
|
3656
3729
|
await ((_a = this.#onPersistSavedPromise) == null ? void 0 : _a.promise);
|
|
@@ -3691,7 +3764,7 @@ var StateManager = class {
|
|
|
3691
3764
|
this.#savePersistInner().catch((error) => {
|
|
3692
3765
|
this.#actor.rLog.error({
|
|
3693
3766
|
msg: "error saving persist data in scheduled save",
|
|
3694
|
-
error:
|
|
3767
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
3695
3768
|
});
|
|
3696
3769
|
});
|
|
3697
3770
|
}, saveDelay);
|
|
@@ -3699,7 +3772,7 @@ var StateManager = class {
|
|
|
3699
3772
|
this.#savePersistInner().catch((error) => {
|
|
3700
3773
|
this.#actor.rLog.error({
|
|
3701
3774
|
msg: "error saving persist data immediately",
|
|
3702
|
-
error:
|
|
3775
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
3703
3776
|
});
|
|
3704
3777
|
});
|
|
3705
3778
|
}
|
|
@@ -3729,11 +3802,11 @@ var StateManager = class {
|
|
|
3729
3802
|
}
|
|
3730
3803
|
}
|
|
3731
3804
|
#handleStateChange(path, value) {
|
|
3732
|
-
const actorStatePath =
|
|
3733
|
-
const connStatePath =
|
|
3805
|
+
const actorStatePath = _chunkKMYFL3OLcjs.isStatePath.call(void 0, path);
|
|
3806
|
+
const connStatePath = _chunkKMYFL3OLcjs.isConnStatePath.call(void 0, path);
|
|
3734
3807
|
if (actorStatePath || connStatePath) {
|
|
3735
3808
|
let invalidPath = "";
|
|
3736
|
-
if (!
|
|
3809
|
+
if (!_chunkX72X7I7Tcjs.isCborSerializable.call(void 0,
|
|
3737
3810
|
value,
|
|
3738
3811
|
(invalidPathPart) => {
|
|
3739
3812
|
invalidPath = invalidPathPart;
|
|
@@ -3766,7 +3839,7 @@ var StateManager = class {
|
|
|
3766
3839
|
} catch (error) {
|
|
3767
3840
|
this.#actor.rLog.error({
|
|
3768
3841
|
msg: "error in `_onStateChange`",
|
|
3769
|
-
error:
|
|
3842
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
3770
3843
|
});
|
|
3771
3844
|
} finally {
|
|
3772
3845
|
this.#isInOnStateChange = false;
|
|
@@ -3800,10 +3873,10 @@ var StateManager = class {
|
|
|
3800
3873
|
this.#persistRaw
|
|
3801
3874
|
);
|
|
3802
3875
|
entries.push([
|
|
3803
|
-
|
|
3804
|
-
|
|
3876
|
+
_chunkKMYFL3OLcjs.KEYS.PERSIST_DATA,
|
|
3877
|
+
_chunkKMYFL3OLcjs.ACTOR_VERSIONED.serializeWithEmbeddedVersion(
|
|
3805
3878
|
bareData,
|
|
3806
|
-
|
|
3879
|
+
_chunkKMYFL3OLcjs.CURRENT_VERSION2
|
|
3807
3880
|
)
|
|
3808
3881
|
]);
|
|
3809
3882
|
}
|
|
@@ -3817,7 +3890,7 @@ var StateManager = class {
|
|
|
3817
3890
|
});
|
|
3818
3891
|
continue;
|
|
3819
3892
|
}
|
|
3820
|
-
const connStateManager = conn[
|
|
3893
|
+
const connStateManager = conn[_chunkKMYFL3OLcjs.CONN_STATE_MANAGER_SYMBOL];
|
|
3821
3894
|
const hibernatableDataRaw = connStateManager.hibernatableDataRaw;
|
|
3822
3895
|
if (!hibernatableDataRaw) {
|
|
3823
3896
|
this.#actor.log.warn({
|
|
@@ -3838,11 +3911,11 @@ var StateManager = class {
|
|
|
3838
3911
|
const bareData = convertConnToBarePersistedConn(
|
|
3839
3912
|
hibernatableDataRaw
|
|
3840
3913
|
);
|
|
3841
|
-
const connData =
|
|
3914
|
+
const connData = _chunkKMYFL3OLcjs.CONN_VERSIONED.serializeWithEmbeddedVersion(
|
|
3842
3915
|
bareData,
|
|
3843
|
-
|
|
3916
|
+
_chunkKMYFL3OLcjs.CURRENT_VERSION2
|
|
3844
3917
|
);
|
|
3845
|
-
entries.push([
|
|
3918
|
+
entries.push([_chunkKMYFL3OLcjs.makeConnKey.call(void 0, connId), connData]);
|
|
3846
3919
|
connections.push(conn);
|
|
3847
3920
|
}
|
|
3848
3921
|
this.#actor.rLog.info({
|
|
@@ -3882,7 +3955,7 @@ var StateManager = class {
|
|
|
3882
3955
|
} catch (error) {
|
|
3883
3956
|
this.#actor.rLog.error({
|
|
3884
3957
|
msg: "error saving persist",
|
|
3885
|
-
error:
|
|
3958
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
3886
3959
|
});
|
|
3887
3960
|
(_b = this.#onPersistSavedPromise) == null ? void 0 : _b.reject(error);
|
|
3888
3961
|
throw error;
|
|
@@ -3950,7 +4023,7 @@ var ActorInstance = class {
|
|
|
3950
4023
|
// MARK: - Constructor
|
|
3951
4024
|
constructor(config) {
|
|
3952
4025
|
this.#config = config;
|
|
3953
|
-
this.actorContext = new (0,
|
|
4026
|
+
this.actorContext = new (0, _chunkKMYFL3OLcjs.ActorContext)(this);
|
|
3954
4027
|
}
|
|
3955
4028
|
// MARK: - Public Getters
|
|
3956
4029
|
get log() {
|
|
@@ -3995,7 +4068,7 @@ var ActorInstance = class {
|
|
|
3995
4068
|
return this.#abortController.signal;
|
|
3996
4069
|
}
|
|
3997
4070
|
get actions() {
|
|
3998
|
-
return Object.keys(this.#config.actions);
|
|
4071
|
+
return Object.keys(_nullishCoalesce(this.#config.actions, () => ( {})));
|
|
3999
4072
|
}
|
|
4000
4073
|
get config() {
|
|
4001
4074
|
return this.#config;
|
|
@@ -4095,7 +4168,7 @@ var ActorInstance = class {
|
|
|
4095
4168
|
} else if (mode === "destroy") {
|
|
4096
4169
|
await this.#callOnDestroy();
|
|
4097
4170
|
} else {
|
|
4098
|
-
|
|
4171
|
+
_chunkKMYFL3OLcjs.assertUnreachable.call(void 0, mode);
|
|
4099
4172
|
}
|
|
4100
4173
|
await this.#disconnectConnections();
|
|
4101
4174
|
await this.#waitBackgroundPromises(
|
|
@@ -4170,14 +4243,14 @@ var ActorInstance = class {
|
|
|
4170
4243
|
this.#activeHonoHttpRequests = 0;
|
|
4171
4244
|
this.#rLog.warn({
|
|
4172
4245
|
msg: "active hono requests went below 0, this is a RivetKit bug",
|
|
4173
|
-
...
|
|
4246
|
+
..._chunkX72X7I7Tcjs.EXTRA_ERROR_LOG
|
|
4174
4247
|
});
|
|
4175
4248
|
}
|
|
4176
4249
|
this.resetSleepTimer();
|
|
4177
4250
|
}
|
|
4178
4251
|
// MARK: - Message Processing
|
|
4179
4252
|
async processMessage(message, conn) {
|
|
4180
|
-
await
|
|
4253
|
+
await _chunkKMYFL3OLcjs.processMessage.call(void 0, message, this, conn, {
|
|
4181
4254
|
onExecuteAction: async (ctx, name, args) => {
|
|
4182
4255
|
this.inspector.emitter.emit("eventFired", {
|
|
4183
4256
|
type: "action",
|
|
@@ -4208,11 +4281,12 @@ var ActorInstance = class {
|
|
|
4208
4281
|
// MARK: - Action Execution
|
|
4209
4282
|
async executeAction(ctx, actionName, args) {
|
|
4210
4283
|
this.assertReady();
|
|
4211
|
-
|
|
4284
|
+
const actions = _nullishCoalesce(this.#config.actions, () => ( {}));
|
|
4285
|
+
if (!(actionName in actions)) {
|
|
4212
4286
|
this.#rLog.warn({ msg: "action does not exist", actionName });
|
|
4213
4287
|
throw new (0, _chunkSNAUKDDKcjs.ActionNotFound)(actionName);
|
|
4214
4288
|
}
|
|
4215
|
-
const actionFunction =
|
|
4289
|
+
const actionFunction = actions[actionName];
|
|
4216
4290
|
if (typeof actionFunction !== "function") {
|
|
4217
4291
|
this.#rLog.warn({
|
|
4218
4292
|
msg: "action is not a function",
|
|
@@ -4234,7 +4308,7 @@ var ActorInstance = class {
|
|
|
4234
4308
|
);
|
|
4235
4309
|
let output;
|
|
4236
4310
|
if (outputOrPromise instanceof Promise) {
|
|
4237
|
-
output = await
|
|
4311
|
+
output = await _chunkKMYFL3OLcjs.deadline.call(void 0,
|
|
4238
4312
|
outputOrPromise,
|
|
4239
4313
|
this.#config.options.actionTimeout
|
|
4240
4314
|
);
|
|
@@ -4257,19 +4331,19 @@ var ActorInstance = class {
|
|
|
4257
4331
|
} catch (error) {
|
|
4258
4332
|
this.#rLog.error({
|
|
4259
4333
|
msg: "error in `onBeforeActionResponse`",
|
|
4260
|
-
error:
|
|
4334
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
4261
4335
|
});
|
|
4262
4336
|
}
|
|
4263
4337
|
}
|
|
4264
4338
|
return output;
|
|
4265
4339
|
} catch (error) {
|
|
4266
|
-
if (error instanceof
|
|
4340
|
+
if (error instanceof _chunkKMYFL3OLcjs.DeadlineError) {
|
|
4267
4341
|
throw new (0, _chunkSNAUKDDKcjs.ActionTimedOut)();
|
|
4268
4342
|
}
|
|
4269
4343
|
this.#rLog.error({
|
|
4270
4344
|
msg: "action error",
|
|
4271
4345
|
actionName,
|
|
4272
|
-
error:
|
|
4346
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
4273
4347
|
});
|
|
4274
4348
|
throw error;
|
|
4275
4349
|
} finally {
|
|
@@ -4283,7 +4357,7 @@ var ActorInstance = class {
|
|
|
4283
4357
|
throw new (0, _chunkSNAUKDDKcjs.RequestHandlerNotDefined)();
|
|
4284
4358
|
}
|
|
4285
4359
|
try {
|
|
4286
|
-
const ctx = new (0,
|
|
4360
|
+
const ctx = new (0, _chunkKMYFL3OLcjs.RequestContext)(this, conn, request);
|
|
4287
4361
|
const response = await this.#config.onRequest(ctx, request);
|
|
4288
4362
|
if (!response) {
|
|
4289
4363
|
throw new (0, _chunkSNAUKDDKcjs.InvalidRequestHandlerResponse)();
|
|
@@ -4292,7 +4366,7 @@ var ActorInstance = class {
|
|
|
4292
4366
|
} catch (error) {
|
|
4293
4367
|
this.#rLog.error({
|
|
4294
4368
|
msg: "onRequest error",
|
|
4295
|
-
error:
|
|
4369
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
4296
4370
|
});
|
|
4297
4371
|
throw error;
|
|
4298
4372
|
} finally {
|
|
@@ -4306,7 +4380,7 @@ var ActorInstance = class {
|
|
|
4306
4380
|
}
|
|
4307
4381
|
try {
|
|
4308
4382
|
this.resetSleepTimer();
|
|
4309
|
-
const ctx = new (0,
|
|
4383
|
+
const ctx = new (0, _chunkKMYFL3OLcjs.WebSocketContext)(this, conn, request);
|
|
4310
4384
|
const voidOrPromise = this.#config.onWebSocket(ctx, websocket);
|
|
4311
4385
|
if (voidOrPromise instanceof Promise) {
|
|
4312
4386
|
voidOrPromise.then(() => {
|
|
@@ -4318,7 +4392,7 @@ var ActorInstance = class {
|
|
|
4318
4392
|
} catch (error) {
|
|
4319
4393
|
this.#rLog.error({
|
|
4320
4394
|
msg: "onWebSocket error",
|
|
4321
|
-
error:
|
|
4395
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
4322
4396
|
});
|
|
4323
4397
|
throw error;
|
|
4324
4398
|
}
|
|
@@ -4339,7 +4413,7 @@ var ActorInstance = class {
|
|
|
4339
4413
|
}).catch((error) => {
|
|
4340
4414
|
this.#rLog.error({
|
|
4341
4415
|
msg: "wait until promise failed",
|
|
4342
|
-
error:
|
|
4416
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
4343
4417
|
});
|
|
4344
4418
|
});
|
|
4345
4419
|
this.#backgroundPromises.push(nonfailablePromise);
|
|
@@ -4349,20 +4423,20 @@ var ActorInstance = class {
|
|
|
4349
4423
|
var _a, _b;
|
|
4350
4424
|
const logParams = {
|
|
4351
4425
|
actor: this.#name,
|
|
4352
|
-
key:
|
|
4426
|
+
key: _chunkKMYFL3OLcjs.serializeActorKey.call(void 0, this.#key),
|
|
4353
4427
|
actorId: this.#actorId
|
|
4354
4428
|
};
|
|
4355
4429
|
const extraLogParams = (_b = (_a = this.driver).getExtraActorLogParams) == null ? void 0 : _b.call(_a);
|
|
4356
4430
|
if (extraLogParams) Object.assign(logParams, extraLogParams);
|
|
4357
|
-
this.#log =
|
|
4431
|
+
this.#log = _chunkX72X7I7Tcjs.getBaseLogger.call(void 0, ).child(
|
|
4358
4432
|
Object.assign(
|
|
4359
|
-
|
|
4433
|
+
_chunkX72X7I7Tcjs.getIncludeTarget.call(void 0, ) ? { target: "actor" } : {},
|
|
4360
4434
|
logParams
|
|
4361
4435
|
)
|
|
4362
4436
|
);
|
|
4363
|
-
this.#rLog =
|
|
4437
|
+
this.#rLog = _chunkX72X7I7Tcjs.getBaseLogger.call(void 0, ).child(
|
|
4364
4438
|
Object.assign(
|
|
4365
|
-
|
|
4439
|
+
_chunkX72X7I7Tcjs.getIncludeTarget.call(void 0, ) ? { target: "actor-runtime" } : {},
|
|
4366
4440
|
logParams
|
|
4367
4441
|
)
|
|
4368
4442
|
);
|
|
@@ -4370,13 +4444,13 @@ var ActorInstance = class {
|
|
|
4370
4444
|
async #loadState() {
|
|
4371
4445
|
const [persistDataBuffer] = await this.driver.kvBatchGet(
|
|
4372
4446
|
this.#actorId,
|
|
4373
|
-
[
|
|
4447
|
+
[_chunkKMYFL3OLcjs.KEYS.PERSIST_DATA]
|
|
4374
4448
|
);
|
|
4375
4449
|
_invariant2.default.call(void 0,
|
|
4376
4450
|
persistDataBuffer !== null,
|
|
4377
4451
|
"persist data has not been set, it should be set when initialized"
|
|
4378
4452
|
);
|
|
4379
|
-
const bareData =
|
|
4453
|
+
const bareData = _chunkKMYFL3OLcjs.ACTOR_VERSIONED.deserializeWithEmbeddedVersion(persistDataBuffer);
|
|
4380
4454
|
const persistData = convertActorFromBarePersisted(bareData);
|
|
4381
4455
|
if (persistData.hasInitialized) {
|
|
4382
4456
|
await this.#restoreExistingActor(persistData);
|
|
@@ -4398,12 +4472,12 @@ var ActorInstance = class {
|
|
|
4398
4472
|
async #restoreExistingActor(persistData) {
|
|
4399
4473
|
const connEntries = await this.driver.kvListPrefix(
|
|
4400
4474
|
this.#actorId,
|
|
4401
|
-
|
|
4475
|
+
_chunkKMYFL3OLcjs.KEYS.CONN_PREFIX
|
|
4402
4476
|
);
|
|
4403
4477
|
const connections = [];
|
|
4404
4478
|
for (const [_key, value] of connEntries) {
|
|
4405
4479
|
try {
|
|
4406
|
-
const bareData =
|
|
4480
|
+
const bareData = _chunkKMYFL3OLcjs.CONN_VERSIONED.deserializeWithEmbeddedVersion(
|
|
4407
4481
|
new Uint8Array(value)
|
|
4408
4482
|
);
|
|
4409
4483
|
const conn = convertConnFromBarePersistedConn(bareData);
|
|
@@ -4411,7 +4485,7 @@ var ActorInstance = class {
|
|
|
4411
4485
|
} catch (error) {
|
|
4412
4486
|
this.#rLog.error({
|
|
4413
4487
|
msg: "failed to decode connection",
|
|
4414
|
-
error:
|
|
4488
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
4415
4489
|
});
|
|
4416
4490
|
}
|
|
4417
4491
|
}
|
|
@@ -4424,17 +4498,17 @@ var ActorInstance = class {
|
|
|
4424
4498
|
}
|
|
4425
4499
|
async #initializeInspectorToken() {
|
|
4426
4500
|
const [tokenBuffer] = await this.driver.kvBatchGet(this.#actorId, [
|
|
4427
|
-
|
|
4501
|
+
_chunkKMYFL3OLcjs.KEYS.INSPECTOR_TOKEN
|
|
4428
4502
|
]);
|
|
4429
4503
|
if (tokenBuffer !== null) {
|
|
4430
4504
|
const decoder = new TextDecoder();
|
|
4431
4505
|
this.#inspectorToken = decoder.decode(tokenBuffer);
|
|
4432
4506
|
this.#rLog.debug({ msg: "loaded existing inspector token" });
|
|
4433
4507
|
} else {
|
|
4434
|
-
this.#inspectorToken =
|
|
4508
|
+
this.#inspectorToken = _chunkKMYFL3OLcjs.generateSecureToken.call(void 0, );
|
|
4435
4509
|
const tokenBytes = new TextEncoder().encode(this.#inspectorToken);
|
|
4436
4510
|
await this.driver.kvBatchPut(this.#actorId, [
|
|
4437
|
-
[
|
|
4511
|
+
[_chunkKMYFL3OLcjs.KEYS.INSPECTOR_TOKEN, tokenBytes]
|
|
4438
4512
|
]);
|
|
4439
4513
|
this.#rLog.debug({ msg: "generated new inspector token" });
|
|
4440
4514
|
}
|
|
@@ -4447,7 +4521,7 @@ var ActorInstance = class {
|
|
|
4447
4521
|
this.driver.getContext(this.#actorId)
|
|
4448
4522
|
);
|
|
4449
4523
|
if (dataOrPromise instanceof Promise) {
|
|
4450
|
-
vars = await
|
|
4524
|
+
vars = await _chunkKMYFL3OLcjs.deadline.call(void 0,
|
|
4451
4525
|
dataOrPromise,
|
|
4452
4526
|
this.#config.options.createVarsTimeout
|
|
4453
4527
|
);
|
|
@@ -4478,16 +4552,16 @@ var ActorInstance = class {
|
|
|
4478
4552
|
this.#rLog.debug({ msg: "calling onSleep" });
|
|
4479
4553
|
const result = this.#config.onSleep(this.actorContext);
|
|
4480
4554
|
if (result instanceof Promise) {
|
|
4481
|
-
await
|
|
4555
|
+
await _chunkKMYFL3OLcjs.deadline.call(void 0, result, this.#config.options.onSleepTimeout);
|
|
4482
4556
|
}
|
|
4483
4557
|
this.#rLog.debug({ msg: "onSleep completed" });
|
|
4484
4558
|
} catch (error) {
|
|
4485
|
-
if (error instanceof
|
|
4559
|
+
if (error instanceof _chunkKMYFL3OLcjs.DeadlineError) {
|
|
4486
4560
|
this.#rLog.error({ msg: "onSleep timed out" });
|
|
4487
4561
|
} else {
|
|
4488
4562
|
this.#rLog.error({
|
|
4489
4563
|
msg: "error in onSleep",
|
|
4490
|
-
error:
|
|
4564
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
4491
4565
|
});
|
|
4492
4566
|
}
|
|
4493
4567
|
}
|
|
@@ -4499,19 +4573,19 @@ var ActorInstance = class {
|
|
|
4499
4573
|
this.#rLog.debug({ msg: "calling onDestroy" });
|
|
4500
4574
|
const result = this.#config.onDestroy(this.actorContext);
|
|
4501
4575
|
if (result instanceof Promise) {
|
|
4502
|
-
await
|
|
4576
|
+
await _chunkKMYFL3OLcjs.deadline.call(void 0,
|
|
4503
4577
|
result,
|
|
4504
4578
|
this.#config.options.onDestroyTimeout
|
|
4505
4579
|
);
|
|
4506
4580
|
}
|
|
4507
4581
|
this.#rLog.debug({ msg: "onDestroy completed" });
|
|
4508
4582
|
} catch (error) {
|
|
4509
|
-
if (error instanceof
|
|
4583
|
+
if (error instanceof _chunkKMYFL3OLcjs.DeadlineError) {
|
|
4510
4584
|
this.#rLog.error({ msg: "onDestroy timed out" });
|
|
4511
4585
|
} else {
|
|
4512
4586
|
this.#rLog.error({
|
|
4513
4587
|
msg: "error in onDestroy",
|
|
4514
|
-
error:
|
|
4588
|
+
error: _chunkX72X7I7Tcjs.stringifyError.call(void 0, error)
|
|
4515
4589
|
});
|
|
4516
4590
|
}
|
|
4517
4591
|
}
|
|
@@ -4684,4 +4758,4 @@ function createClient(endpointOrConfig) {
|
|
|
4684
4758
|
|
|
4685
4759
|
|
|
4686
4760
|
exports.ActorDefinition = ActorDefinition; exports.lookupInRegistry = lookupInRegistry; exports.ActorClientError = ActorClientError; exports.InternalError = InternalError2; exports.ManagerError = ManagerError; exports.MalformedResponseMessage = MalformedResponseMessage; exports.ActorError = ActorError; exports.ActorConnDisposed = ActorConnDisposed; exports.ActorConnRaw = ActorConnRaw; exports.ActorHandleRaw = ActorHandleRaw; exports.createClientWithDriver = createClientWithDriver; exports.ClientConfigSchemaBase = ClientConfigSchemaBase; exports.ClientConfigSchema = ClientConfigSchema; exports.transformClientConfig = transformClientConfig; exports.convertRegistryConfigToClientConfig = convertRegistryConfigToClientConfig; exports.getEndpoint = getEndpoint; exports.getDatacenters = getDatacenters; exports.updateRunnerConfig = updateRunnerConfig; exports.RemoteManagerDriver = RemoteManagerDriver; exports.createClient = createClient;
|
|
4687
|
-
//# sourceMappingURL=chunk-
|
|
4761
|
+
//# sourceMappingURL=chunk-UAX5E3EU.cjs.map
|