rivetkit 2.3.18 → 2.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/client.d.ts +723 -616
- package/dist/browser/client.js +184 -28
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +3 -1
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/tsup/actor/errors.cjs +6 -2
- package/dist/tsup/actor/errors.cjs.map +1 -1
- package/dist/tsup/actor/errors.d.cts +1 -1
- package/dist/tsup/actor/errors.d.ts +1 -1
- package/dist/tsup/actor/errors.js +5 -1
- package/dist/tsup/agent-os/index.cjs +3 -1
- package/dist/tsup/agent-os/index.cjs.map +1 -1
- package/dist/tsup/agent-os/index.d.cts +110 -3
- package/dist/tsup/agent-os/index.d.ts +110 -3
- package/dist/tsup/agent-os/index.js +3 -1
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-4XECVATQ.js → chunk-464WE4RF.js} +2 -2
- package/dist/tsup/{chunk-QIFZELUQ.js → chunk-4SC2NSAV.js} +2 -2
- package/dist/tsup/{chunk-ZRTESY7V.cjs → chunk-7A5EIXJJ.cjs} +7 -7
- package/dist/tsup/{chunk-ZRTESY7V.cjs.map → chunk-7A5EIXJJ.cjs.map} +1 -1
- package/dist/tsup/{chunk-O7RSU3UC.cjs → chunk-7BRRGBRY.cjs} +10 -10
- package/dist/tsup/{chunk-O7RSU3UC.cjs.map → chunk-7BRRGBRY.cjs.map} +1 -1
- package/dist/tsup/{chunk-IPXIZSE7.js → chunk-7HTST3NX.js} +3 -3
- package/dist/tsup/{chunk-PXKNBNVU.js → chunk-BKX7UDTA.js} +188 -31
- package/dist/tsup/chunk-BKX7UDTA.js.map +1 -0
- package/dist/tsup/{chunk-2MK75JFR.js → chunk-DK3L22R6.js} +4 -4
- package/dist/tsup/{chunk-7EPLADKM.js → chunk-DN6MD3KK.js} +7 -7
- package/dist/tsup/chunk-DN6MD3KK.js.map +1 -0
- package/dist/tsup/{chunk-6W5VGLFT.js → chunk-EB77NZL4.js} +1 -1
- package/dist/tsup/chunk-EB77NZL4.js.map +1 -0
- package/dist/tsup/{chunk-4KGXFC6M.cjs → chunk-EO5UOXXY.cjs} +1 -1
- package/dist/tsup/chunk-EO5UOXXY.cjs.map +1 -0
- package/dist/tsup/{chunk-25Z2RK7C.cjs → chunk-G4U5L6AX.cjs} +3 -3
- package/dist/tsup/{chunk-25Z2RK7C.cjs.map → chunk-G4U5L6AX.cjs.map} +1 -1
- package/dist/tsup/{chunk-NRIRV3Z2.cjs → chunk-IJUXBWH4.cjs} +352 -195
- package/dist/tsup/chunk-IJUXBWH4.cjs.map +1 -0
- package/dist/tsup/{chunk-2JSYYH6P.cjs → chunk-JX2ITWAV.cjs} +13 -2
- package/dist/tsup/chunk-JX2ITWAV.cjs.map +1 -0
- package/dist/tsup/{chunk-OKVVWOC3.cjs → chunk-OGPFN6BT.cjs} +3 -3
- package/dist/tsup/{chunk-OKVVWOC3.cjs.map → chunk-OGPFN6BT.cjs.map} +1 -1
- package/dist/tsup/{chunk-OUQUIBVW.js → chunk-P2OFXH4G.js} +12 -1
- package/dist/tsup/chunk-P2OFXH4G.js.map +1 -0
- package/dist/tsup/{chunk-IKZ6DJMP.cjs → chunk-PPEIPCW4.cjs} +4 -4
- package/dist/tsup/{chunk-IKZ6DJMP.cjs.map → chunk-PPEIPCW4.cjs.map} +1 -1
- package/dist/tsup/{chunk-2IDK6NX3.cjs → chunk-RJC5O2SD.cjs} +13 -13
- package/dist/tsup/chunk-RJC5O2SD.cjs.map +1 -0
- package/dist/tsup/{chunk-TNSLNSQH.js → chunk-WME6KOXW.js} +2 -2
- package/dist/tsup/{chunk-LAITPJRA.js → chunk-X7RMJQGY.js} +2 -2
- package/dist/tsup/{chunk-T6JUXRNI.cjs → chunk-Z4RAXFSD.cjs} +3 -3
- package/dist/tsup/{chunk-T6JUXRNI.cjs.map → chunk-Z4RAXFSD.cjs.map} +1 -1
- package/dist/tsup/client/mod.cjs +6 -6
- package/dist/tsup/client/mod.d.cts +5 -5
- package/dist/tsup/client/mod.d.ts +5 -5
- package/dist/tsup/client/mod.js +5 -5
- package/dist/tsup/common/log.cjs +3 -3
- package/dist/tsup/common/log.js +2 -2
- package/dist/tsup/common/websocket.cjs +4 -4
- package/dist/tsup/common/websocket.js +3 -3
- package/dist/tsup/{config-gvHwMas-.d.cts → config-8n2AOhXK.d.cts} +114 -10
- package/dist/tsup/{config-Ug5M2MOr.d.ts → config-DEm0yIVV.d.ts} +114 -10
- package/dist/tsup/{context-DererUCI.d.ts → context-DGg2-IOm.d.ts} +1 -1
- package/dist/tsup/{context-BSCBvbfM.d.cts → context-DwjOVvlE.d.cts} +1 -1
- package/dist/tsup/db/drizzle.cjs +3 -3
- package/dist/tsup/db/drizzle.js +2 -2
- package/dist/tsup/db/mod.cjs +4 -4
- package/dist/tsup/db/mod.js +3 -3
- package/dist/tsup/dynamic/mod.cjs +2 -2
- package/dist/tsup/dynamic/mod.d.cts +3 -3
- package/dist/tsup/dynamic/mod.d.ts +3 -3
- package/dist/tsup/dynamic/mod.js +1 -1
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/inspector/workflow.cjs +5 -5
- package/dist/tsup/inspector/workflow.js +4 -4
- package/dist/tsup/inspector-tab/mod.cjs +2 -2
- package/dist/tsup/inspector-tab/mod.d.cts +4 -4
- package/dist/tsup/inspector-tab/mod.d.ts +4 -4
- package/dist/tsup/inspector-tab/mod.js +1 -1
- package/dist/tsup/mod.cjs +492 -319
- 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 +367 -194
- package/dist/tsup/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +7 -7
- package/dist/tsup/test/mod.d.cts +3 -3
- package/dist/tsup/test/mod.d.ts +3 -3
- package/dist/tsup/test/mod.js +5 -5
- package/dist/tsup/{utils-Bbz-3411.d.cts → utils-CNFeS-Dk.d.cts} +1 -1
- package/dist/tsup/{utils-vvJQyygr.d.ts → utils-DsoDinPz.d.cts} +9 -1
- package/dist/tsup/{utils-vvJQyygr.d.cts → utils-DsoDinPz.d.ts} +9 -1
- package/dist/tsup/{utils-BqdWVlzm.d.ts → utils-OQHBjfcM.d.ts} +1 -1
- package/dist/tsup/utils.cjs +3 -3
- package/dist/tsup/utils.d.cts +2 -2
- package/dist/tsup/utils.d.ts +2 -2
- package/dist/tsup/utils.js +2 -2
- package/dist/tsup/workflow/mod.cjs +33 -27
- package/dist/tsup/workflow/mod.cjs.map +1 -1
- package/dist/tsup/workflow/mod.d.cts +5 -5
- package/dist/tsup/workflow/mod.d.ts +5 -5
- package/dist/tsup/workflow/mod.js +25 -19
- package/dist/tsup/workflow/mod.js.map +1 -1
- package/package.json +10 -8
- package/src/actor/config.ts +38 -0
- package/src/actor/errors.ts +31 -0
- package/src/client/actor-conn.ts +7 -0
- package/src/client/actor-handle.ts +57 -17
- package/src/client/client.ts +26 -6
- package/src/client/outbound-telemetry.ts +66 -0
- package/src/client/queue.ts +3 -0
- package/src/client/raw-utils.ts +3 -0
- package/src/common/actor-router-consts.ts +3 -0
- package/src/common/actor-telemetry-context.ts +19 -0
- package/src/common/otel-context.ts +99 -0
- package/src/common/utils.ts +1 -19
- package/src/engine-client/actor-http-client.ts +15 -0
- package/src/registry/index.ts +6 -0
- package/src/registry/napi-runtime.ts +155 -35
- package/src/registry/native.ts +277 -191
- package/src/registry/runtime.ts +66 -0
- package/src/registry/wasm-runtime.ts +40 -0
- package/src/workflow/driver.ts +20 -12
- package/dist/tsup/chunk-2IDK6NX3.cjs.map +0 -1
- package/dist/tsup/chunk-2JSYYH6P.cjs.map +0 -1
- package/dist/tsup/chunk-4KGXFC6M.cjs.map +0 -1
- package/dist/tsup/chunk-6W5VGLFT.js.map +0 -1
- package/dist/tsup/chunk-7EPLADKM.js.map +0 -1
- package/dist/tsup/chunk-NRIRV3Z2.cjs.map +0 -1
- package/dist/tsup/chunk-OUQUIBVW.js.map +0 -1
- package/dist/tsup/chunk-PXKNBNVU.js.map +0 -1
- /package/dist/tsup/{chunk-4XECVATQ.js.map → chunk-464WE4RF.js.map} +0 -0
- /package/dist/tsup/{chunk-QIFZELUQ.js.map → chunk-4SC2NSAV.js.map} +0 -0
- /package/dist/tsup/{chunk-IPXIZSE7.js.map → chunk-7HTST3NX.js.map} +0 -0
- /package/dist/tsup/{chunk-2MK75JFR.js.map → chunk-DK3L22R6.js.map} +0 -0
- /package/dist/tsup/{chunk-TNSLNSQH.js.map → chunk-WME6KOXW.js.map} +0 -0
- /package/dist/tsup/{chunk-LAITPJRA.js.map → chunk-X7RMJQGY.js.map} +0 -0
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
var _chunkMYWZCDMLcjs = require('./chunk-MYWZCDML.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
var _chunkOGPFN6BTcjs = require('./chunk-OGPFN6BT.cjs');
|
|
8
9
|
|
|
9
10
|
|
|
11
|
+
var _chunkKVFIONKQcjs = require('./chunk-KVFIONKQ.cjs');
|
|
10
12
|
|
|
11
|
-
var _chunkOKVVWOC3cjs = require('./chunk-OKVVWOC3.cjs');
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
|
|
@@ -34,14 +35,14 @@ var _chunkOKVVWOC3cjs = require('./chunk-OKVVWOC3.cjs');
|
|
|
34
35
|
|
|
35
36
|
|
|
36
37
|
|
|
38
|
+
var _chunkRJC5O2SDcjs = require('./chunk-RJC5O2SD.cjs');
|
|
37
39
|
|
|
38
|
-
var _chunk2IDK6NX3cjs = require('./chunk-2IDK6NX3.cjs');
|
|
39
40
|
|
|
40
41
|
|
|
41
42
|
|
|
42
43
|
|
|
43
44
|
|
|
44
|
-
var
|
|
45
|
+
var _chunkJX2ITWAVcjs = require('./chunk-JX2ITWAV.cjs');
|
|
45
46
|
|
|
46
47
|
// src/common/actor-router-consts.ts
|
|
47
48
|
var PATH_CONNECT = "/connect";
|
|
@@ -55,6 +56,9 @@ var HEADER_ACTOR_ID = "x-rivet-actor";
|
|
|
55
56
|
var HEADER_ACTOR_GENERATION = "x-rivet-actor-generation";
|
|
56
57
|
var HEADER_ACTOR_KEY = "x-rivet-actor-key";
|
|
57
58
|
var HEADER_RIVET_TOKEN = "x-rivet-token";
|
|
59
|
+
var HEADER_RIVET_RAY_ID = "x-rivet-ray-id";
|
|
60
|
+
var HEADER_TRACEPARENT = "traceparent";
|
|
61
|
+
var HEADER_TRACESTATE = "tracestate";
|
|
58
62
|
var HEADER_RIVET_TARGET = "x-rivet-target";
|
|
59
63
|
var HEADER_RIVET_ACTOR = "x-rivet-actor";
|
|
60
64
|
var HEADER_RIVET_NAMESPACE = "x-rivet-namespace";
|
|
@@ -110,7 +114,7 @@ function isSchedulingError(group, code) {
|
|
|
110
114
|
return group === "guard" && (code === "actor_ready_timeout" || code === "actor_runner_failed");
|
|
111
115
|
}
|
|
112
116
|
function actorSchedulingError(group, code, actorId, details, rayId) {
|
|
113
|
-
return new (0,
|
|
117
|
+
return new (0, _chunkJX2ITWAVcjs.RivetError)(
|
|
114
118
|
group,
|
|
115
119
|
code,
|
|
116
120
|
`Actor failed to start (${actorId}): ${JSON.stringify(details)}`,
|
|
@@ -118,7 +122,7 @@ function actorSchedulingError(group, code, actorId, details, rayId) {
|
|
|
118
122
|
);
|
|
119
123
|
}
|
|
120
124
|
function internalClientError(message, opts) {
|
|
121
|
-
return new (0,
|
|
125
|
+
return new (0, _chunkJX2ITWAVcjs.RivetError)("rivetkit", _chunkJX2ITWAVcjs.INTERNAL_ERROR_CODE, message, {
|
|
122
126
|
cause: opts == null ? void 0 : opts.cause
|
|
123
127
|
});
|
|
124
128
|
}
|
|
@@ -2103,7 +2107,7 @@ function getActorNameFromQuery(query) {
|
|
|
2103
2107
|
if ("getForKey" in query) return query.getForKey.name;
|
|
2104
2108
|
if ("getOrCreateForKey" in query) return query.getOrCreateForKey.name;
|
|
2105
2109
|
if ("create" in query) return query.create.name;
|
|
2106
|
-
throw
|
|
2110
|
+
throw _chunkJX2ITWAVcjs.invalidRequest.call(void 0, "Invalid query format");
|
|
2107
2111
|
}
|
|
2108
2112
|
function isDynamicActorQuery(actorQuery) {
|
|
2109
2113
|
return "getForKey" in actorQuery || "getOrCreateForKey" in actorQuery;
|
|
@@ -2113,7 +2117,7 @@ function getGatewayTarget(state) {
|
|
|
2113
2117
|
return { directId: state.getForId.actorId };
|
|
2114
2118
|
}
|
|
2115
2119
|
if ("create" in state) {
|
|
2116
|
-
throw
|
|
2120
|
+
throw _chunkJX2ITWAVcjs.invalidRequest.call(void 0,
|
|
2117
2121
|
"create queries cannot be used as gateway targets. Resolve to an actor ID first."
|
|
2118
2122
|
);
|
|
2119
2123
|
}
|
|
@@ -2127,7 +2131,7 @@ async function checkForSchedulingError(group, code, actorId, query, driver, rayI
|
|
|
2127
2131
|
try {
|
|
2128
2132
|
const actor = await driver.getForId({ name, actorId });
|
|
2129
2133
|
if (actor == null ? void 0 : actor.error) {
|
|
2130
|
-
|
|
2134
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).info({
|
|
2131
2135
|
msg: "found actor scheduling error",
|
|
2132
2136
|
actorId,
|
|
2133
2137
|
error: actor.error
|
|
@@ -2141,10 +2145,10 @@ async function checkForSchedulingError(group, code, actorId, query, driver, rayI
|
|
|
2141
2145
|
);
|
|
2142
2146
|
}
|
|
2143
2147
|
} catch (err) {
|
|
2144
|
-
|
|
2148
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn({
|
|
2145
2149
|
msg: "failed to fetch actor details for scheduling error check",
|
|
2146
2150
|
actorId,
|
|
2147
|
-
error:
|
|
2151
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, err)
|
|
2148
2152
|
});
|
|
2149
2153
|
}
|
|
2150
2154
|
return null;
|
|
@@ -2291,7 +2295,7 @@ function classifyTransportError(error) {
|
|
|
2291
2295
|
}
|
|
2292
2296
|
function classifyLifecycleBoundaryError(error) {
|
|
2293
2297
|
for (const current of walkErrorChain(error)) {
|
|
2294
|
-
if (current instanceof
|
|
2298
|
+
if (current instanceof _chunkJX2ITWAVcjs.RivetError) {
|
|
2295
2299
|
const classified = classifyActorError(current);
|
|
2296
2300
|
if (classified) {
|
|
2297
2301
|
return classified;
|
|
@@ -2362,13 +2366,97 @@ async function retryOnLifecycleBoundary(run, opts) {
|
|
|
2362
2366
|
throw lastError;
|
|
2363
2367
|
}
|
|
2364
2368
|
|
|
2369
|
+
// src/common/otel-context.ts
|
|
2370
|
+
|
|
2371
|
+
|
|
2372
|
+
|
|
2373
|
+
|
|
2374
|
+
|
|
2375
|
+
|
|
2376
|
+
var _api = require('@opentelemetry/api');
|
|
2377
|
+
function readActiveTraceHeaders() {
|
|
2378
|
+
return traceHeaders(_api.trace.getSpanContext(_api.context.active()));
|
|
2379
|
+
}
|
|
2380
|
+
var RAY_BAGGAGE_KEY = "rivet.ray.id";
|
|
2381
|
+
function readActiveRayId() {
|
|
2382
|
+
var _a, _b;
|
|
2383
|
+
const value = (_b = (_a = _api.propagation.getBaggage(_api.context.active())) == null ? void 0 : _a.getEntry(RAY_BAGGAGE_KEY)) == null ? void 0 : _b.value;
|
|
2384
|
+
if (value && value.length <= 30 && /^[A-Za-z0-9_-]+$/.test(value)) {
|
|
2385
|
+
return value;
|
|
2386
|
+
}
|
|
2387
|
+
return void 0;
|
|
2388
|
+
}
|
|
2389
|
+
function actorInvocationTraceHeaders(invocation) {
|
|
2390
|
+
const spanContext = invocationSpanContext(invocation);
|
|
2391
|
+
if (!spanContext) return void 0;
|
|
2392
|
+
return traceHeaders(spanContext);
|
|
2393
|
+
}
|
|
2394
|
+
function traceHeaders(spanContext) {
|
|
2395
|
+
var _a;
|
|
2396
|
+
if (!spanContext || !_api.isSpanContextValid.call(void 0, spanContext)) return void 0;
|
|
2397
|
+
const tracestate = (_a = spanContext.traceState) == null ? void 0 : _a.serialize();
|
|
2398
|
+
return {
|
|
2399
|
+
traceparent: `00-${spanContext.traceId}-${spanContext.spanId}-${spanContext.traceFlags.toString(16).padStart(2, "0")}`,
|
|
2400
|
+
...tracestate ? { tracestate } : {}
|
|
2401
|
+
};
|
|
2402
|
+
}
|
|
2403
|
+
function runWithActorInvocationSpan(invocation, run) {
|
|
2404
|
+
if (!invocation) return run();
|
|
2405
|
+
const spanContext = invocationSpanContext(invocation);
|
|
2406
|
+
if (!spanContext) return run();
|
|
2407
|
+
const parent = _api.trace.setSpanContext(_api.context.active(), spanContext);
|
|
2408
|
+
return _api.context.with(parent, run);
|
|
2409
|
+
}
|
|
2410
|
+
function invocationSpanContext(invocation) {
|
|
2411
|
+
if (!invocation) return void 0;
|
|
2412
|
+
try {
|
|
2413
|
+
const spanContext = {
|
|
2414
|
+
traceId: invocation.traceId,
|
|
2415
|
+
spanId: invocation.spanId,
|
|
2416
|
+
traceFlags: invocation.traceFlags,
|
|
2417
|
+
traceState: invocation.tracestate ? _api.createTraceState.call(void 0, invocation.tracestate) : void 0,
|
|
2418
|
+
isRemote: false
|
|
2419
|
+
};
|
|
2420
|
+
return _api.isSpanContextValid.call(void 0, spanContext) ? spanContext : void 0;
|
|
2421
|
+
} catch (e) {
|
|
2422
|
+
return void 0;
|
|
2423
|
+
}
|
|
2424
|
+
}
|
|
2425
|
+
|
|
2426
|
+
// src/client/outbound-telemetry.ts
|
|
2427
|
+
function outboundTelemetryHeaders(invocation, callSpan) {
|
|
2428
|
+
const headers = {};
|
|
2429
|
+
const rayId = _nullishCoalesce((invocation == null ? void 0 : invocation.rayId), () => ( readActiveRayId()));
|
|
2430
|
+
if (rayId) {
|
|
2431
|
+
headers[HEADER_RIVET_RAY_ID] = rayId;
|
|
2432
|
+
}
|
|
2433
|
+
const traceHeaders2 = _nullishCoalesce(_nullishCoalesce(actorInvocationTraceHeaders(callSpan), () => ( readActiveTraceHeaders())), () => ( actorInvocationTraceHeaders(invocation == null ? void 0 : invocation.span)));
|
|
2434
|
+
if (traceHeaders2) {
|
|
2435
|
+
headers[HEADER_TRACEPARENT] = traceHeaders2.traceparent;
|
|
2436
|
+
if (traceHeaders2.tracestate) {
|
|
2437
|
+
headers[HEADER_TRACESTATE] = traceHeaders2.tracestate;
|
|
2438
|
+
}
|
|
2439
|
+
}
|
|
2440
|
+
return headers;
|
|
2441
|
+
}
|
|
2442
|
+
function addOutboundTelemetryHeaders(headers, telemetry) {
|
|
2443
|
+
const callerSetTraceContext = headers.has(HEADER_TRACEPARENT) || headers.has(HEADER_TRACESTATE);
|
|
2444
|
+
for (const [name, value] of Object.entries(telemetry)) {
|
|
2445
|
+
const isTraceContext = name === HEADER_TRACEPARENT || name === HEADER_TRACESTATE;
|
|
2446
|
+
if (isTraceContext ? callerSetTraceContext : headers.has(name)) {
|
|
2447
|
+
continue;
|
|
2448
|
+
}
|
|
2449
|
+
headers.set(name, value);
|
|
2450
|
+
}
|
|
2451
|
+
}
|
|
2452
|
+
|
|
2365
2453
|
// src/client/utils.ts
|
|
2366
2454
|
|
|
2367
2455
|
function parseWebSocketCloseReason(reason) {
|
|
2368
2456
|
const [mainPart, rayId] = reason.split("#");
|
|
2369
2457
|
const [group, code] = mainPart.split(".");
|
|
2370
2458
|
if (!group || !code) {
|
|
2371
|
-
|
|
2459
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn({ msg: "failed to parse close reason", reason });
|
|
2372
2460
|
return void 0;
|
|
2373
2461
|
}
|
|
2374
2462
|
return {
|
|
@@ -2390,11 +2478,11 @@ function messageLength(message) {
|
|
|
2390
2478
|
if (typeof message === "string") {
|
|
2391
2479
|
return message.length;
|
|
2392
2480
|
}
|
|
2393
|
-
|
|
2481
|
+
_chunkRJC5O2SDcjs.assertUnreachable.call(void 0, message);
|
|
2394
2482
|
}
|
|
2395
2483
|
async function sendHttpRequest(opts) {
|
|
2396
2484
|
var _a, _b, _c;
|
|
2397
|
-
|
|
2485
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
2398
2486
|
msg: "sending http request",
|
|
2399
2487
|
url: opts.url,
|
|
2400
2488
|
encoding: opts.encoding
|
|
@@ -2403,8 +2491,8 @@ async function sendHttpRequest(opts) {
|
|
|
2403
2491
|
let bodyData;
|
|
2404
2492
|
if (opts.method === "POST" || opts.method === "PUT") {
|
|
2405
2493
|
_invariant2.default.call(void 0, opts.body !== void 0, "missing body");
|
|
2406
|
-
contentType =
|
|
2407
|
-
bodyData =
|
|
2494
|
+
contentType = _chunkRJC5O2SDcjs.contentTypeForEncoding.call(void 0, opts.encoding);
|
|
2495
|
+
bodyData = _chunkRJC5O2SDcjs.serializeWithEncoding.call(void 0,
|
|
2408
2496
|
opts.encoding,
|
|
2409
2497
|
opts.body,
|
|
2410
2498
|
opts.requestVersionedDataHandler,
|
|
@@ -2424,7 +2512,7 @@ async function sendHttpRequest(opts) {
|
|
|
2424
2512
|
...contentType ? {
|
|
2425
2513
|
"Content-Type": contentType
|
|
2426
2514
|
} : {},
|
|
2427
|
-
"User-Agent":
|
|
2515
|
+
"User-Agent": _chunkRJC5O2SDcjs.httpUserAgent.call(void 0, )
|
|
2428
2516
|
},
|
|
2429
2517
|
body: bodyData,
|
|
2430
2518
|
credentials: "include",
|
|
@@ -2442,7 +2530,7 @@ async function sendHttpRequest(opts) {
|
|
|
2442
2530
|
const rayId = response.headers.get("x-rivet-ray-id");
|
|
2443
2531
|
const encoding = (contentType2 == null ? void 0 : contentType2.includes("application/json")) ? "json" : opts.encoding;
|
|
2444
2532
|
try {
|
|
2445
|
-
const responseData =
|
|
2533
|
+
const responseData = _chunkRJC5O2SDcjs.deserializeWithEncoding.call(void 0,
|
|
2446
2534
|
encoding,
|
|
2447
2535
|
new Uint8Array(bufferResponse),
|
|
2448
2536
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
@@ -2460,7 +2548,7 @@ async function sendHttpRequest(opts) {
|
|
|
2460
2548
|
group: bare5.group,
|
|
2461
2549
|
code: bare5.code,
|
|
2462
2550
|
message: bare5.message,
|
|
2463
|
-
metadata: bare5.metadata ?
|
|
2551
|
+
metadata: bare5.metadata ? _chunkRJC5O2SDcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.metadata)) : void 0,
|
|
2464
2552
|
actor: bare5.actor ? {
|
|
2465
2553
|
actorId: bare5.actor.actorId,
|
|
2466
2554
|
generation: Number(bare5.actor.generation),
|
|
@@ -2468,7 +2556,7 @@ async function sendHttpRequest(opts) {
|
|
|
2468
2556
|
} : void 0
|
|
2469
2557
|
})
|
|
2470
2558
|
);
|
|
2471
|
-
|
|
2559
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn({
|
|
2472
2560
|
msg: "http error response",
|
|
2473
2561
|
group: responseData.group,
|
|
2474
2562
|
code: responseData.code,
|
|
@@ -2479,7 +2567,7 @@ async function sendHttpRequest(opts) {
|
|
|
2479
2567
|
generation: (_b = responseData.actor) == null ? void 0 : _b.generation,
|
|
2480
2568
|
actorKey: (_c = responseData.actor) == null ? void 0 : _c.key
|
|
2481
2569
|
});
|
|
2482
|
-
throw new (0,
|
|
2570
|
+
throw new (0, _chunkJX2ITWAVcjs.RivetError)(
|
|
2483
2571
|
responseData.group,
|
|
2484
2572
|
responseData.code,
|
|
2485
2573
|
responseData.message,
|
|
@@ -2490,7 +2578,7 @@ async function sendHttpRequest(opts) {
|
|
|
2490
2578
|
}
|
|
2491
2579
|
);
|
|
2492
2580
|
} catch (error) {
|
|
2493
|
-
if (error instanceof
|
|
2581
|
+
if (error instanceof _chunkJX2ITWAVcjs.RivetError) {
|
|
2494
2582
|
throw error;
|
|
2495
2583
|
}
|
|
2496
2584
|
const textResponse = new TextDecoder("utf-8", {
|
|
@@ -2514,7 +2602,7 @@ ${textResponse}`
|
|
|
2514
2602
|
}
|
|
2515
2603
|
try {
|
|
2516
2604
|
const buffer = new Uint8Array(await response.arrayBuffer());
|
|
2517
|
-
return
|
|
2605
|
+
return _chunkRJC5O2SDcjs.deserializeWithEncoding.call(void 0,
|
|
2518
2606
|
opts.encoding,
|
|
2519
2607
|
buffer,
|
|
2520
2608
|
opts.responseVersionedDataHandler,
|
|
@@ -2539,6 +2627,7 @@ function createQueueSender(senderOptions) {
|
|
|
2539
2627
|
method: "POST",
|
|
2540
2628
|
headers: {
|
|
2541
2629
|
[HEADER_ENCODING]: senderOptions.encoding,
|
|
2630
|
+
...senderOptions.telemetryHeaders(),
|
|
2542
2631
|
...senderOptions.params !== void 0 ? {
|
|
2543
2632
|
[HEADER_CONN_PARAMS]: JSON.stringify(
|
|
2544
2633
|
senderOptions.params
|
|
@@ -2561,8 +2650,8 @@ function createQueueSender(senderOptions) {
|
|
|
2561
2650
|
}),
|
|
2562
2651
|
requestToBare: (value) => ({
|
|
2563
2652
|
name: _nullishCoalesce(value.name, () => ( name)),
|
|
2564
|
-
body:
|
|
2565
|
-
|
|
2653
|
+
body: _chunkRJC5O2SDcjs.bufferToArrayBuffer.call(void 0,
|
|
2654
|
+
_chunkRJC5O2SDcjs.encodeCborCompat.call(void 0, value.body)
|
|
2566
2655
|
),
|
|
2567
2656
|
wait: _nullishCoalesce(value.wait, () => ( false)),
|
|
2568
2657
|
timeout: value.timeout !== void 0 ? BigInt(value.timeout) : null
|
|
@@ -2582,7 +2671,7 @@ function createQueueSender(senderOptions) {
|
|
|
2582
2671
|
}
|
|
2583
2672
|
return {
|
|
2584
2673
|
status: bare5.status,
|
|
2585
|
-
response:
|
|
2674
|
+
response: _chunkRJC5O2SDcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.response))
|
|
2586
2675
|
};
|
|
2587
2676
|
}
|
|
2588
2677
|
});
|
|
@@ -2606,7 +2695,7 @@ async function prepareRetryableInit(init) {
|
|
|
2606
2695
|
}
|
|
2607
2696
|
return init;
|
|
2608
2697
|
}
|
|
2609
|
-
async function rawHttpFetch(driver, target, params, input, init, options = {}) {
|
|
2698
|
+
async function rawHttpFetch(driver, target, params, input, init, options = {}, telemetryHeaders = {}) {
|
|
2610
2699
|
let path;
|
|
2611
2700
|
let originalUrl;
|
|
2612
2701
|
let mergedInit = init || {};
|
|
@@ -2648,7 +2737,7 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
|
|
|
2648
2737
|
throw new TypeError("Invalid input type for fetch");
|
|
2649
2738
|
}
|
|
2650
2739
|
try {
|
|
2651
|
-
|
|
2740
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug(
|
|
2652
2741
|
"directId" in target ? {
|
|
2653
2742
|
msg: "sending raw http request to actor",
|
|
2654
2743
|
actorId: target.directId
|
|
@@ -2667,14 +2756,15 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
|
|
|
2667
2756
|
if (params) {
|
|
2668
2757
|
proxyRequestHeaders.set(HEADER_CONN_PARAMS, JSON.stringify(params));
|
|
2669
2758
|
}
|
|
2759
|
+
addOutboundTelemetryHeaders(proxyRequestHeaders, telemetryHeaders);
|
|
2670
2760
|
const proxyRequest = new Request(url, {
|
|
2671
2761
|
...mergedInit,
|
|
2672
2762
|
headers: proxyRequestHeaders
|
|
2673
2763
|
});
|
|
2674
2764
|
return driver.sendRequest(target, proxyRequest, options);
|
|
2675
2765
|
} catch (err) {
|
|
2676
|
-
const { group, code, message, metadata, rayId, actor } =
|
|
2677
|
-
throw new (0,
|
|
2766
|
+
const { group, code, message, metadata, rayId, actor } = _chunkRJC5O2SDcjs.deconstructError.call(void 0, err, true);
|
|
2767
|
+
throw new (0, _chunkJX2ITWAVcjs.RivetError)(group, code, message, { metadata, rayId, actor });
|
|
2678
2768
|
}
|
|
2679
2769
|
}
|
|
2680
2770
|
async function rawWebSocket(driver, target, params, path, _protocols, options = {}) {
|
|
@@ -2694,7 +2784,7 @@ async function rawWebSocket(driver, target, params, path, _protocols, options =
|
|
|
2694
2784
|
}
|
|
2695
2785
|
}
|
|
2696
2786
|
const fullPath = `${PATH_WEBSOCKET_PREFIX}${pathPortion}${queryPortion}`;
|
|
2697
|
-
|
|
2787
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
2698
2788
|
msg: "opening websocket",
|
|
2699
2789
|
target,
|
|
2700
2790
|
encoding,
|
|
@@ -2724,7 +2814,7 @@ async function resolveGatewayTarget(driver, target) {
|
|
|
2724
2814
|
key: target.getForKey.key
|
|
2725
2815
|
});
|
|
2726
2816
|
if (!output) {
|
|
2727
|
-
throw
|
|
2817
|
+
throw _chunkJX2ITWAVcjs.actorNotFound.call(void 0,
|
|
2728
2818
|
`${target.getForKey.name}:${JSON.stringify(target.getForKey.key)}`
|
|
2729
2819
|
);
|
|
2730
2820
|
}
|
|
@@ -2750,7 +2840,7 @@ async function resolveGatewayTarget(driver, target) {
|
|
|
2750
2840
|
});
|
|
2751
2841
|
return output.actorId;
|
|
2752
2842
|
}
|
|
2753
|
-
throw
|
|
2843
|
+
throw _chunkJX2ITWAVcjs.invalidRequest.call(void 0, "Invalid query format");
|
|
2754
2844
|
}
|
|
2755
2845
|
|
|
2756
2846
|
// src/client/actor-handle.ts
|
|
@@ -2766,6 +2856,8 @@ var ActorHandleRaw = class {
|
|
|
2766
2856
|
#resolvedActorId;
|
|
2767
2857
|
#resolvingActorId;
|
|
2768
2858
|
#queueSendMutex = new (0, _chunkKVFIONKQcjs.AsyncMutex)();
|
|
2859
|
+
#currentActorInvocation;
|
|
2860
|
+
#startCallSpan;
|
|
2769
2861
|
/**
|
|
2770
2862
|
* Do not call this directly.
|
|
2771
2863
|
*
|
|
@@ -2773,7 +2865,7 @@ var ActorHandleRaw = class {
|
|
|
2773
2865
|
*
|
|
2774
2866
|
* @protected
|
|
2775
2867
|
*/
|
|
2776
|
-
constructor(client, driver, params, getParams, encoding, actorResolutionState, gatewayOptions = {}, signal) {
|
|
2868
|
+
constructor(client, driver, params, getParams, encoding, actorResolutionState, gatewayOptions = {}, signal, currentActorInvocation, startCallSpan) {
|
|
2777
2869
|
this.#client = client;
|
|
2778
2870
|
this.#driver = driver;
|
|
2779
2871
|
this.#encoding = encoding;
|
|
@@ -2782,6 +2874,8 @@ var ActorHandleRaw = class {
|
|
|
2782
2874
|
this.#params = params;
|
|
2783
2875
|
this.#getParams = getParams;
|
|
2784
2876
|
this.#signal = signal;
|
|
2877
|
+
this.#currentActorInvocation = currentActorInvocation;
|
|
2878
|
+
this.#startCallSpan = startCallSpan;
|
|
2785
2879
|
}
|
|
2786
2880
|
async #resolveConnectionParams() {
|
|
2787
2881
|
if (this.#getParams) {
|
|
@@ -2812,6 +2906,12 @@ var ActorHandleRaw = class {
|
|
|
2812
2906
|
return await createQueueSender({
|
|
2813
2907
|
encoding: this.#encoding,
|
|
2814
2908
|
params: this.#params,
|
|
2909
|
+
telemetryHeaders: () => {
|
|
2910
|
+
var _a;
|
|
2911
|
+
return outboundTelemetryHeaders(
|
|
2912
|
+
(_a = this.#currentActorInvocation) == null ? void 0 : _a.call(this)
|
|
2913
|
+
);
|
|
2914
|
+
},
|
|
2815
2915
|
customFetch: async (request) => {
|
|
2816
2916
|
return await this.#driver.sendRequest(
|
|
2817
2917
|
target,
|
|
@@ -2821,7 +2921,7 @@ var ActorHandleRaw = class {
|
|
|
2821
2921
|
}
|
|
2822
2922
|
}).send(name, body, options);
|
|
2823
2923
|
} catch (err) {
|
|
2824
|
-
const { group, code, message, metadata, rayId, actor } =
|
|
2924
|
+
const { group, code, message, metadata, rayId, actor } = _chunkRJC5O2SDcjs.deconstructError.call(void 0, err, true);
|
|
2825
2925
|
if (this.#shouldRetryQueueDispatchOverload(
|
|
2826
2926
|
group,
|
|
2827
2927
|
code,
|
|
@@ -2867,7 +2967,7 @@ var ActorHandleRaw = class {
|
|
|
2867
2967
|
}
|
|
2868
2968
|
continue;
|
|
2869
2969
|
}
|
|
2870
|
-
throw new (0,
|
|
2970
|
+
throw new (0, _chunkJX2ITWAVcjs.RivetError)(group, code, message, {
|
|
2871
2971
|
metadata,
|
|
2872
2972
|
rayId,
|
|
2873
2973
|
actor
|
|
@@ -2885,6 +2985,7 @@ var ActorHandleRaw = class {
|
|
|
2885
2985
|
* @template Response - The type of the response returned by the action function.
|
|
2886
2986
|
*/
|
|
2887
2987
|
async action(opts) {
|
|
2988
|
+
var _a;
|
|
2888
2989
|
if (typeof opts === "string" || typeof opts !== "object" || opts === null || !("name" in opts)) {
|
|
2889
2990
|
throw new Error(
|
|
2890
2991
|
`Invalid action call: expected an options object { name, args }, got ${typeof opts}. Use handle.actionName(...args) for the shorthand API.`
|
|
@@ -2892,13 +2993,35 @@ var ActorHandleRaw = class {
|
|
|
2892
2993
|
}
|
|
2893
2994
|
const signal = _nullishCoalesce(opts.signal, () => ( this.#signal));
|
|
2894
2995
|
const optsWithSignal = { ...opts, signal };
|
|
2895
|
-
const
|
|
2896
|
-
|
|
2897
|
-
|
|
2996
|
+
const call = (_a = this.#startCallSpan) == null ? void 0 : _a.call(
|
|
2997
|
+
this,
|
|
2998
|
+
getActorNameFromQuery(this.#actorResolutionState),
|
|
2999
|
+
opts.name
|
|
3000
|
+
);
|
|
3001
|
+
const run = async () => await this.#sendActionAttempts(
|
|
3002
|
+
optsWithSignal,
|
|
3003
|
+
call == null ? void 0 : call.span
|
|
3004
|
+
);
|
|
3005
|
+
const send = async () => {
|
|
3006
|
+
if (opts.name === "destroy") {
|
|
3007
|
+
return await run();
|
|
3008
|
+
}
|
|
3009
|
+
return await retryOnLifecycleBoundary(run, { signal });
|
|
3010
|
+
};
|
|
3011
|
+
if (!call) {
|
|
3012
|
+
return await send();
|
|
3013
|
+
}
|
|
3014
|
+
try {
|
|
3015
|
+
const output = await send();
|
|
3016
|
+
call.finish();
|
|
3017
|
+
return output;
|
|
3018
|
+
} catch (error) {
|
|
3019
|
+
call.finish(_chunkJX2ITWAVcjs.encodeErrorForBridge.call(void 0, error));
|
|
3020
|
+
throw error;
|
|
2898
3021
|
}
|
|
2899
|
-
return await retryOnLifecycleBoundary(run, { signal });
|
|
2900
3022
|
}
|
|
2901
|
-
async #
|
|
3023
|
+
async #sendActionAttempts(opts, callSpan) {
|
|
3024
|
+
var _a;
|
|
2902
3025
|
const maxAttempts = this.#getDynamicQueryMaxAttempts();
|
|
2903
3026
|
let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
|
|
2904
3027
|
const gatewayOptions = resolveActorGatewayOptions(
|
|
@@ -2913,28 +3036,31 @@ var ActorHandleRaw = class {
|
|
|
2913
3036
|
gatewayOptions
|
|
2914
3037
|
);
|
|
2915
3038
|
actorId = "directId" in target ? target.directId : void 0;
|
|
2916
|
-
|
|
3039
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug(
|
|
2917
3040
|
actorId ? { msg: "using direct actor gateway target", actorId } : {
|
|
2918
3041
|
msg: "using query gateway target for action",
|
|
2919
3042
|
query: this.#actorResolutionState
|
|
2920
3043
|
}
|
|
2921
3044
|
);
|
|
2922
|
-
|
|
3045
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
2923
3046
|
msg: "handling action",
|
|
2924
3047
|
name: opts.name,
|
|
2925
3048
|
encoding: this.#encoding
|
|
2926
3049
|
});
|
|
3050
|
+
const headers = {
|
|
3051
|
+
[HEADER_ENCODING]: this.#encoding,
|
|
3052
|
+
...outboundTelemetryHeaders(
|
|
3053
|
+
(_a = this.#currentActorInvocation) == null ? void 0 : _a.call(this),
|
|
3054
|
+
callSpan
|
|
3055
|
+
)
|
|
3056
|
+
};
|
|
3057
|
+
if (this.#params !== void 0) {
|
|
3058
|
+
headers[HEADER_CONN_PARAMS] = JSON.stringify(this.#params);
|
|
3059
|
+
}
|
|
2927
3060
|
const output = await sendHttpRequest({
|
|
2928
3061
|
url: `http://actor/action/${encodeURIComponent(opts.name)}`,
|
|
2929
3062
|
method: "POST",
|
|
2930
|
-
headers
|
|
2931
|
-
[HEADER_ENCODING]: this.#encoding,
|
|
2932
|
-
...this.#params !== void 0 ? {
|
|
2933
|
-
[HEADER_CONN_PARAMS]: JSON.stringify(
|
|
2934
|
-
this.#params
|
|
2935
|
-
)
|
|
2936
|
-
} : {}
|
|
2937
|
-
},
|
|
3063
|
+
headers,
|
|
2938
3064
|
body: opts.args,
|
|
2939
3065
|
encoding: this.#encoding,
|
|
2940
3066
|
customFetch: async (request) => await this.#driver.sendRequest(
|
|
@@ -2953,19 +3079,19 @@ var ActorHandleRaw = class {
|
|
|
2953
3079
|
args
|
|
2954
3080
|
}),
|
|
2955
3081
|
requestToBare: (args) => ({
|
|
2956
|
-
args:
|
|
2957
|
-
|
|
3082
|
+
args: _chunkRJC5O2SDcjs.bufferToArrayBuffer.call(void 0,
|
|
3083
|
+
_chunkRJC5O2SDcjs.encodeCborCompat.call(void 0, args)
|
|
2958
3084
|
)
|
|
2959
3085
|
}),
|
|
2960
3086
|
responseFromJson: (json) => json.output,
|
|
2961
|
-
responseFromBare: (bare5) =>
|
|
3087
|
+
responseFromBare: (bare5) => _chunkRJC5O2SDcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.output))
|
|
2962
3088
|
});
|
|
2963
3089
|
if (opts.name === "destroy" && actorId) {
|
|
2964
3090
|
await this.#waitForDestroyActionToSettle(actorId);
|
|
2965
3091
|
}
|
|
2966
3092
|
return output;
|
|
2967
3093
|
} catch (err) {
|
|
2968
|
-
const { group, code, message, metadata, rayId, actor } =
|
|
3094
|
+
const { group, code, message, metadata, rayId, actor } = _chunkRJC5O2SDcjs.deconstructError.call(void 0, err, true);
|
|
2969
3095
|
if (await this.#shouldRetrySchedulingError(
|
|
2970
3096
|
group,
|
|
2971
3097
|
code,
|
|
@@ -2990,7 +3116,7 @@ var ActorHandleRaw = class {
|
|
|
2990
3116
|
continue;
|
|
2991
3117
|
}
|
|
2992
3118
|
if (group === "actor" && code === "destroyed_while_waiting_for_ready" && "getForId" in this.#actorResolutionState) {
|
|
2993
|
-
throw new (0,
|
|
3119
|
+
throw new (0, _chunkJX2ITWAVcjs.RivetError)(
|
|
2994
3120
|
"actor",
|
|
2995
3121
|
"not_found",
|
|
2996
3122
|
"The actor does not exist or was destroyed.",
|
|
@@ -3010,7 +3136,7 @@ var ActorHandleRaw = class {
|
|
|
3010
3136
|
}
|
|
3011
3137
|
continue;
|
|
3012
3138
|
}
|
|
3013
|
-
throw new (0,
|
|
3139
|
+
throw new (0, _chunkJX2ITWAVcjs.RivetError)(group, code, message, {
|
|
3014
3140
|
metadata,
|
|
3015
3141
|
rayId,
|
|
3016
3142
|
actor
|
|
@@ -3121,7 +3247,7 @@ var ActorHandleRaw = class {
|
|
|
3121
3247
|
* @returns {ActorConn<AD>} A connection to the actor.
|
|
3122
3248
|
*/
|
|
3123
3249
|
connect(params, options = {}) {
|
|
3124
|
-
|
|
3250
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
3125
3251
|
msg: "establishing connection from handle",
|
|
3126
3252
|
query: this.#actorResolutionState
|
|
3127
3253
|
});
|
|
@@ -3134,7 +3260,8 @@ var ActorHandleRaw = class {
|
|
|
3134
3260
|
getParams,
|
|
3135
3261
|
this.#encoding,
|
|
3136
3262
|
this.#actorResolutionState,
|
|
3137
|
-
resolveActorGatewayOptions(this.#gatewayOptions, options)
|
|
3263
|
+
resolveActorGatewayOptions(this.#gatewayOptions, options),
|
|
3264
|
+
this.#currentActorInvocation
|
|
3138
3265
|
);
|
|
3139
3266
|
return this.#client[CREATE_ACTOR_CONN_PROXY](
|
|
3140
3267
|
conn
|
|
@@ -3148,6 +3275,7 @@ var ActorHandleRaw = class {
|
|
|
3148
3275
|
return this.#fetchWithResolvedActor(input, init);
|
|
3149
3276
|
}
|
|
3150
3277
|
async #fetchWithResolvedActor(input, init) {
|
|
3278
|
+
var _a;
|
|
3151
3279
|
const { skipReadyWait, ...restInit } = _nullishCoalesce(init, () => ( {}));
|
|
3152
3280
|
const maxAttempts = this.#getDynamicQueryMaxAttempts();
|
|
3153
3281
|
const requestInit = maxAttempts > 1 ? await prepareRetryableInit(restInit) : restInit;
|
|
@@ -3159,6 +3287,9 @@ var ActorHandleRaw = class {
|
|
|
3159
3287
|
skipReadyWait
|
|
3160
3288
|
}
|
|
3161
3289
|
);
|
|
3290
|
+
const telemetryHeaders = outboundTelemetryHeaders(
|
|
3291
|
+
(_a = this.#currentActorInvocation) == null ? void 0 : _a.call(this)
|
|
3292
|
+
);
|
|
3162
3293
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
3163
3294
|
let actorId;
|
|
3164
3295
|
try {
|
|
@@ -3175,7 +3306,8 @@ var ActorHandleRaw = class {
|
|
|
3175
3306
|
// NOTE: This holds the body in memory until GC (unavoidable).
|
|
3176
3307
|
clonesInputBody ? input.clone() : input,
|
|
3177
3308
|
requestInit,
|
|
3178
|
-
gatewayOptions
|
|
3309
|
+
gatewayOptions,
|
|
3310
|
+
telemetryHeaders
|
|
3179
3311
|
);
|
|
3180
3312
|
const retry = await this.#shouldRetryRawFetchResponse(
|
|
3181
3313
|
response,
|
|
@@ -3192,7 +3324,7 @@ var ActorHandleRaw = class {
|
|
|
3192
3324
|
}
|
|
3193
3325
|
return response;
|
|
3194
3326
|
} catch (err) {
|
|
3195
|
-
const { group, code, message, metadata, rayId, actor } =
|
|
3327
|
+
const { group, code, message, metadata, rayId, actor } = _chunkRJC5O2SDcjs.deconstructError.call(void 0, err, true);
|
|
3196
3328
|
if (await this.#shouldRetrySchedulingError(
|
|
3197
3329
|
group,
|
|
3198
3330
|
code,
|
|
@@ -3228,7 +3360,7 @@ var ActorHandleRaw = class {
|
|
|
3228
3360
|
}
|
|
3229
3361
|
continue;
|
|
3230
3362
|
}
|
|
3231
|
-
throw new (0,
|
|
3363
|
+
throw new (0, _chunkJX2ITWAVcjs.RivetError)(group, code, message, {
|
|
3232
3364
|
metadata,
|
|
3233
3365
|
rayId,
|
|
3234
3366
|
actor
|
|
@@ -3288,7 +3420,7 @@ var ActorHandleRaw = class {
|
|
|
3288
3420
|
const contentType = response.headers.get("content-type");
|
|
3289
3421
|
const encoding = (contentType == null ? void 0 : contentType.includes("application/json")) ? "json" : this.#encoding;
|
|
3290
3422
|
try {
|
|
3291
|
-
const error =
|
|
3423
|
+
const error = _chunkRJC5O2SDcjs.deserializeWithEncoding.call(void 0,
|
|
3292
3424
|
encoding,
|
|
3293
3425
|
new Uint8Array(await response.clone().arrayBuffer()),
|
|
3294
3426
|
HTTP_RESPONSE_ERROR_VERSIONED,
|
|
@@ -3304,7 +3436,7 @@ var ActorHandleRaw = class {
|
|
|
3304
3436
|
group: bare5.group,
|
|
3305
3437
|
code: bare5.code,
|
|
3306
3438
|
message: bare5.message,
|
|
3307
|
-
metadata: bare5.metadata ?
|
|
3439
|
+
metadata: bare5.metadata ? _chunkRJC5O2SDcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.metadata)) : void 0,
|
|
3308
3440
|
actor: bare5.actor ? {
|
|
3309
3441
|
actorId: bare5.actor.actorId,
|
|
3310
3442
|
generation: Number(bare5.actor.generation),
|
|
@@ -3316,7 +3448,7 @@ var ActorHandleRaw = class {
|
|
|
3316
3448
|
...error,
|
|
3317
3449
|
rayId: _nullishCoalesce(response.headers.get("x-rivet-ray-id"), () => ( void 0))
|
|
3318
3450
|
};
|
|
3319
|
-
} catch (
|
|
3451
|
+
} catch (e2) {
|
|
3320
3452
|
return null;
|
|
3321
3453
|
}
|
|
3322
3454
|
}
|
|
@@ -3375,7 +3507,7 @@ var ActorHandleRaw = class {
|
|
|
3375
3507
|
const response = await this.#driver.sendRequest(target, request);
|
|
3376
3508
|
if (!response.ok) {
|
|
3377
3509
|
const body = await response.text().catch(() => "");
|
|
3378
|
-
throw new (0,
|
|
3510
|
+
throw new (0, _chunkJX2ITWAVcjs.RivetError)(
|
|
3379
3511
|
"actor",
|
|
3380
3512
|
"reload_failed",
|
|
3381
3513
|
`reload failed with status ${response.status}: ${body}`,
|
|
@@ -3396,13 +3528,17 @@ var ClientRaw = (_class = class {
|
|
|
3396
3528
|
#driver;
|
|
3397
3529
|
#encodingKind;
|
|
3398
3530
|
#gatewayOptions;
|
|
3531
|
+
#currentActorInvocation;
|
|
3532
|
+
#startCallSpan;
|
|
3399
3533
|
/**
|
|
3400
3534
|
* Creates an instance of Client.
|
|
3401
3535
|
*/
|
|
3402
|
-
constructor(driver,
|
|
3536
|
+
constructor(driver, options = {}) {;_class.prototype.__init.call(this);
|
|
3403
3537
|
this.#driver = driver;
|
|
3404
|
-
this.#encodingKind = _nullishCoalesce(encoding, () => ( "bare"));
|
|
3405
|
-
this.#gatewayOptions =
|
|
3538
|
+
this.#encodingKind = _nullishCoalesce(options.encoding, () => ( "bare"));
|
|
3539
|
+
this.#gatewayOptions = _nullishCoalesce(options.gateway, () => ( {}));
|
|
3540
|
+
this.#currentActorInvocation = options.currentActorInvocation;
|
|
3541
|
+
this.#startCallSpan = options.startCallSpan;
|
|
3406
3542
|
}
|
|
3407
3543
|
/**
|
|
3408
3544
|
* Gets a stateless handle to a actor by its ID.
|
|
@@ -3414,7 +3550,7 @@ var ClientRaw = (_class = class {
|
|
|
3414
3550
|
* @returns {ActorHandle<AD>} - A handle to the actor.
|
|
3415
3551
|
*/
|
|
3416
3552
|
getForId(name, actorId, opts) {
|
|
3417
|
-
|
|
3553
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
3418
3554
|
msg: "get handle to actor with id",
|
|
3419
3555
|
name,
|
|
3420
3556
|
actorId,
|
|
@@ -3445,7 +3581,7 @@ var ClientRaw = (_class = class {
|
|
|
3445
3581
|
*/
|
|
3446
3582
|
get(name, key, opts) {
|
|
3447
3583
|
const keyArray = typeof key === "string" ? [key] : key || [];
|
|
3448
|
-
|
|
3584
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
3449
3585
|
msg: "get handle to actor",
|
|
3450
3586
|
name,
|
|
3451
3587
|
key: keyArray,
|
|
@@ -3476,7 +3612,7 @@ var ClientRaw = (_class = class {
|
|
|
3476
3612
|
*/
|
|
3477
3613
|
getOrCreate(name, key, opts) {
|
|
3478
3614
|
const keyArray = typeof key === "string" ? [key] : key || [];
|
|
3479
|
-
|
|
3615
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
3480
3616
|
msg: "get or create handle to actor",
|
|
3481
3617
|
name,
|
|
3482
3618
|
key: keyArray,
|
|
@@ -3520,7 +3656,7 @@ var ClientRaw = (_class = class {
|
|
|
3520
3656
|
key: keyArray
|
|
3521
3657
|
}
|
|
3522
3658
|
};
|
|
3523
|
-
|
|
3659
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
3524
3660
|
msg: "create actor handle",
|
|
3525
3661
|
name,
|
|
3526
3662
|
key: keyArray,
|
|
@@ -3528,7 +3664,7 @@ var ClientRaw = (_class = class {
|
|
|
3528
3664
|
create: createQuery.create
|
|
3529
3665
|
});
|
|
3530
3666
|
const actorId = await resolveGatewayTarget(this.#driver, createQuery);
|
|
3531
|
-
|
|
3667
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
3532
3668
|
msg: "created actor with ID",
|
|
3533
3669
|
name,
|
|
3534
3670
|
key: keyArray,
|
|
@@ -3558,7 +3694,9 @@ var ClientRaw = (_class = class {
|
|
|
3558
3694
|
this.#encodingKind,
|
|
3559
3695
|
actorQuery,
|
|
3560
3696
|
this.#gatewayOptions,
|
|
3561
|
-
signal
|
|
3697
|
+
signal,
|
|
3698
|
+
this.#currentActorInvocation,
|
|
3699
|
+
this.#startCallSpan
|
|
3562
3700
|
);
|
|
3563
3701
|
}
|
|
3564
3702
|
[CREATE_ACTOR_CONN_PROXY](conn) {
|
|
@@ -3573,11 +3711,11 @@ var ClientRaw = (_class = class {
|
|
|
3573
3711
|
*/
|
|
3574
3712
|
async dispose() {
|
|
3575
3713
|
if (this.#disposed) {
|
|
3576
|
-
|
|
3714
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn({ msg: "client already disconnected" });
|
|
3577
3715
|
return;
|
|
3578
3716
|
}
|
|
3579
3717
|
this.#disposed = true;
|
|
3580
|
-
|
|
3718
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({ msg: "disposing client" });
|
|
3581
3719
|
const disposePromises = [];
|
|
3582
3720
|
for (const conn of this[ACTOR_CONNS_SYMBOL].values()) {
|
|
3583
3721
|
disposePromises.push(conn.dispose());
|
|
@@ -3585,8 +3723,8 @@ var ClientRaw = (_class = class {
|
|
|
3585
3723
|
await Promise.all(disposePromises);
|
|
3586
3724
|
}
|
|
3587
3725
|
}, _class);
|
|
3588
|
-
function createClientWithDriver(driver,
|
|
3589
|
-
const client = new ClientRaw(driver,
|
|
3726
|
+
function createClientWithDriver(driver, options = {}) {
|
|
3727
|
+
const client = new ClientRaw(driver, options);
|
|
3590
3728
|
return new Proxy(client, {
|
|
3591
3729
|
get: (target, prop, receiver) => {
|
|
3592
3730
|
if (typeof prop === "symbol" || prop in target) {
|
|
@@ -3720,6 +3858,7 @@ var ActorConnRaw = class {
|
|
|
3720
3858
|
#websocket;
|
|
3721
3859
|
#client;
|
|
3722
3860
|
#driver;
|
|
3861
|
+
#currentActorInvocation;
|
|
3723
3862
|
#params;
|
|
3724
3863
|
#getParams;
|
|
3725
3864
|
#encoding;
|
|
@@ -3733,8 +3872,9 @@ var ActorConnRaw = class {
|
|
|
3733
3872
|
*
|
|
3734
3873
|
* @protected
|
|
3735
3874
|
*/
|
|
3736
|
-
constructor(client, driver, params, getParams, encoding, actorResolutionState, gatewayOptions = {}) {
|
|
3875
|
+
constructor(client, driver, params, getParams, encoding, actorResolutionState, gatewayOptions = {}, currentActorInvocation) {
|
|
3737
3876
|
this.#client = client;
|
|
3877
|
+
this.#currentActorInvocation = currentActorInvocation;
|
|
3738
3878
|
this.#driver = driver;
|
|
3739
3879
|
this.#params = params;
|
|
3740
3880
|
this.#getParams = getParams;
|
|
@@ -3744,8 +3884,8 @@ var ActorConnRaw = class {
|
|
|
3744
3884
|
if ("getForId" in actorResolutionState) {
|
|
3745
3885
|
this.#actorId = actorResolutionState.getForId.actorId;
|
|
3746
3886
|
}
|
|
3747
|
-
this.#readyPromise =
|
|
3748
|
-
(reason) =>
|
|
3887
|
+
this.#readyPromise = _chunkRJC5O2SDcjs.promiseWithResolvers.call(void 0,
|
|
3888
|
+
(reason) => _chunkOGPFN6BTcjs.logger.call(void 0, ).warn({
|
|
3749
3889
|
msg: "unhandled ready promise rejection",
|
|
3750
3890
|
reason
|
|
3751
3891
|
})
|
|
@@ -3753,6 +3893,10 @@ var ActorConnRaw = class {
|
|
|
3753
3893
|
this.#queueSender = createQueueSender({
|
|
3754
3894
|
encoding: this.#encoding,
|
|
3755
3895
|
params: this.#params,
|
|
3896
|
+
telemetryHeaders: () => {
|
|
3897
|
+
var _a;
|
|
3898
|
+
return outboundTelemetryHeaders((_a = this.#currentActorInvocation) == null ? void 0 : _a.call(this));
|
|
3899
|
+
},
|
|
3756
3900
|
customFetch: async (request) => {
|
|
3757
3901
|
return await this.#driver.sendRequest(
|
|
3758
3902
|
getGatewayTarget(this.#actorResolutionState),
|
|
@@ -3808,11 +3952,11 @@ var ActorConnRaw = class {
|
|
|
3808
3952
|
`Invalid action call: expected an options object { name, args }, got ${typeof opts}. Use conn.actionName(...args) for the shorthand API.`
|
|
3809
3953
|
);
|
|
3810
3954
|
}
|
|
3811
|
-
|
|
3955
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({ msg: "action", name: opts.name, args: opts.args });
|
|
3812
3956
|
const actionId = this.#actionIdCounter;
|
|
3813
3957
|
this.#actionIdCounter += 1;
|
|
3814
|
-
const { promise, resolve, reject } =
|
|
3815
|
-
(reason) =>
|
|
3958
|
+
const { promise, resolve, reject } = _chunkRJC5O2SDcjs.promiseWithResolvers.call(void 0,
|
|
3959
|
+
(reason) => _chunkOGPFN6BTcjs.logger.call(void 0, ).warn({
|
|
3816
3960
|
msg: "unhandled action promise rejection",
|
|
3817
3961
|
reason
|
|
3818
3962
|
})
|
|
@@ -3822,7 +3966,7 @@ var ActorConnRaw = class {
|
|
|
3822
3966
|
resolve,
|
|
3823
3967
|
reject
|
|
3824
3968
|
});
|
|
3825
|
-
|
|
3969
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
3826
3970
|
msg: "added action to in-flight map",
|
|
3827
3971
|
actionId,
|
|
3828
3972
|
actionName: opts.name,
|
|
@@ -3862,9 +4006,9 @@ var ActorConnRaw = class {
|
|
|
3862
4006
|
try {
|
|
3863
4007
|
handler(status);
|
|
3864
4008
|
} catch (err) {
|
|
3865
|
-
|
|
4009
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).error({
|
|
3866
4010
|
msg: "error in status change handler",
|
|
3867
|
-
error:
|
|
4011
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, err)
|
|
3868
4012
|
});
|
|
3869
4013
|
}
|
|
3870
4014
|
}
|
|
@@ -3874,9 +4018,9 @@ var ActorConnRaw = class {
|
|
|
3874
4018
|
try {
|
|
3875
4019
|
handler();
|
|
3876
4020
|
} catch (err) {
|
|
3877
|
-
|
|
4021
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).error({
|
|
3878
4022
|
msg: "error in open handler",
|
|
3879
|
-
error:
|
|
4023
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, err)
|
|
3880
4024
|
});
|
|
3881
4025
|
}
|
|
3882
4026
|
}
|
|
@@ -3886,9 +4030,9 @@ var ActorConnRaw = class {
|
|
|
3886
4030
|
try {
|
|
3887
4031
|
handler();
|
|
3888
4032
|
} catch (err) {
|
|
3889
|
-
|
|
4033
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).error({
|
|
3890
4034
|
msg: "error in close handler",
|
|
3891
|
-
error:
|
|
4035
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, err)
|
|
3892
4036
|
});
|
|
3893
4037
|
}
|
|
3894
4038
|
}
|
|
@@ -3901,21 +4045,21 @@ var ActorConnRaw = class {
|
|
|
3901
4045
|
minTimeout: 250,
|
|
3902
4046
|
maxTimeout: 3e4,
|
|
3903
4047
|
onFailedAttempt: (error) => {
|
|
3904
|
-
|
|
4048
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn({
|
|
3905
4049
|
msg: "failed to reconnect",
|
|
3906
4050
|
attempt: error.attemptNumber,
|
|
3907
|
-
error:
|
|
4051
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, error)
|
|
3908
4052
|
});
|
|
3909
4053
|
},
|
|
3910
4054
|
// Cancel retry if aborted
|
|
3911
4055
|
signal: this.#abortController.signal
|
|
3912
4056
|
}).catch((err) => {
|
|
3913
4057
|
if (err instanceof _pretry.AbortError || err.name === "AbortError" || !this.#shouldRetryConnectionOpenError(err)) {
|
|
3914
|
-
|
|
4058
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).info({ msg: "connection retry aborted" });
|
|
3915
4059
|
} else {
|
|
3916
|
-
|
|
4060
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).error({
|
|
3917
4061
|
msg: "unexpected error in connection retry",
|
|
3918
|
-
error:
|
|
4062
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, err)
|
|
3919
4063
|
});
|
|
3920
4064
|
}
|
|
3921
4065
|
});
|
|
@@ -3924,8 +4068,8 @@ var ActorConnRaw = class {
|
|
|
3924
4068
|
try {
|
|
3925
4069
|
if (this.#onOpenPromise)
|
|
3926
4070
|
throw new Error("#onOpenPromise already defined");
|
|
3927
|
-
this.#onOpenPromise =
|
|
3928
|
-
(reason) =>
|
|
4071
|
+
this.#onOpenPromise = _chunkRJC5O2SDcjs.promiseWithResolvers.call(void 0,
|
|
4072
|
+
(reason) => _chunkOGPFN6BTcjs.logger.call(void 0, ).warn({
|
|
3929
4073
|
msg: "unhandled open promise rejection",
|
|
3930
4074
|
reason
|
|
3931
4075
|
})
|
|
@@ -3936,18 +4080,18 @@ var ActorConnRaw = class {
|
|
|
3936
4080
|
if (this.#shouldRetryConnectionOpenError(error)) {
|
|
3937
4081
|
throw error;
|
|
3938
4082
|
}
|
|
3939
|
-
const actorError = error instanceof
|
|
4083
|
+
const actorError = error instanceof _chunkJX2ITWAVcjs.RivetError ? error : new (0, _chunkJX2ITWAVcjs.RivetError)(
|
|
3940
4084
|
"client",
|
|
3941
4085
|
"connection_open_failed",
|
|
3942
|
-
`Failed to open connection: ${
|
|
3943
|
-
{ error:
|
|
4086
|
+
`Failed to open connection: ${_chunkRJC5O2SDcjs.stringifyError.call(void 0, error)}`,
|
|
4087
|
+
{ error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, error) }
|
|
3944
4088
|
);
|
|
3945
4089
|
this.#clearQueuedMessages();
|
|
3946
4090
|
this.#rejectPendingPromises(actorError, false);
|
|
3947
4091
|
this.#dispatchActorError(actorError);
|
|
3948
4092
|
this.#setConnStatus("idle");
|
|
3949
4093
|
throw new (0, _pretry.AbortError)(
|
|
3950
|
-
error instanceof Error ? error : new Error(
|
|
4094
|
+
error instanceof Error ? error : new Error(_chunkRJC5O2SDcjs.stringifyError.call(void 0, error))
|
|
3951
4095
|
);
|
|
3952
4096
|
} finally {
|
|
3953
4097
|
this.#onOpenPromise = void 0;
|
|
@@ -3957,17 +4101,17 @@ var ActorConnRaw = class {
|
|
|
3957
4101
|
if (error instanceof ActorConnDisposed) {
|
|
3958
4102
|
return false;
|
|
3959
4103
|
}
|
|
3960
|
-
if (error instanceof
|
|
4104
|
+
if (error instanceof _chunkJX2ITWAVcjs.RivetError && this.#shouldReconnectForStaleActor(error.group, error.code)) {
|
|
3961
4105
|
return true;
|
|
3962
4106
|
}
|
|
3963
|
-
if (error instanceof
|
|
4107
|
+
if (error instanceof _chunkJX2ITWAVcjs.RivetError && error.group === "client" && error.code === "get_params_failed") {
|
|
3964
4108
|
return true;
|
|
3965
4109
|
}
|
|
3966
4110
|
return isRetryableLifecycleReconnectSignal(error);
|
|
3967
4111
|
}
|
|
3968
4112
|
#clearQueuedMessages() {
|
|
3969
4113
|
if (this.#messageQueue.length === 0) return;
|
|
3970
|
-
|
|
4114
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
3971
4115
|
msg: "clearing queued connection messages",
|
|
3972
4116
|
queueLength: this.#messageQueue.length
|
|
3973
4117
|
});
|
|
@@ -3980,8 +4124,8 @@ var ActorConnRaw = class {
|
|
|
3980
4124
|
try {
|
|
3981
4125
|
return await this.#getParams();
|
|
3982
4126
|
} catch (err) {
|
|
3983
|
-
const errorMessage =
|
|
3984
|
-
const error = new (0,
|
|
4127
|
+
const errorMessage = _chunkRJC5O2SDcjs.stringifyError.call(void 0, err);
|
|
4128
|
+
const error = new (0, _chunkJX2ITWAVcjs.RivetError)(
|
|
3985
4129
|
"client",
|
|
3986
4130
|
"get_params_failed",
|
|
3987
4131
|
`Failed to resolve connection params: ${errorMessage}`,
|
|
@@ -4004,7 +4148,7 @@ var ActorConnRaw = class {
|
|
|
4004
4148
|
this.#gatewayOptions
|
|
4005
4149
|
);
|
|
4006
4150
|
_invariant2.default.call(void 0, ws, "websocket should have been created");
|
|
4007
|
-
|
|
4151
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4008
4152
|
msg: "opened websocket",
|
|
4009
4153
|
connId: this.#connId,
|
|
4010
4154
|
readyState: ws.readyState,
|
|
@@ -4012,7 +4156,7 @@ var ActorConnRaw = class {
|
|
|
4012
4156
|
});
|
|
4013
4157
|
this.#websocket = ws;
|
|
4014
4158
|
ws.addEventListener("open", () => {
|
|
4015
|
-
|
|
4159
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4016
4160
|
msg: "client websocket open",
|
|
4017
4161
|
connId: this.#connId
|
|
4018
4162
|
});
|
|
@@ -4021,9 +4165,9 @@ var ActorConnRaw = class {
|
|
|
4021
4165
|
try {
|
|
4022
4166
|
await this.#handleOnMessage(ev.data);
|
|
4023
4167
|
} catch (err) {
|
|
4024
|
-
|
|
4168
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).error({
|
|
4025
4169
|
msg: "error in websocket message handler",
|
|
4026
|
-
error:
|
|
4170
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, err)
|
|
4027
4171
|
});
|
|
4028
4172
|
}
|
|
4029
4173
|
});
|
|
@@ -4031,9 +4175,9 @@ var ActorConnRaw = class {
|
|
|
4031
4175
|
try {
|
|
4032
4176
|
await this.#handleOnClose(ev);
|
|
4033
4177
|
} catch (err) {
|
|
4034
|
-
|
|
4178
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).error({
|
|
4035
4179
|
msg: "error in websocket close handler",
|
|
4036
|
-
error:
|
|
4180
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, err)
|
|
4037
4181
|
});
|
|
4038
4182
|
}
|
|
4039
4183
|
});
|
|
@@ -4041,9 +4185,9 @@ var ActorConnRaw = class {
|
|
|
4041
4185
|
try {
|
|
4042
4186
|
this.#handleOnError();
|
|
4043
4187
|
} catch (err) {
|
|
4044
|
-
|
|
4188
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).error({
|
|
4045
4189
|
msg: "error in websocket error handler",
|
|
4046
|
-
error:
|
|
4190
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, err)
|
|
4047
4191
|
});
|
|
4048
4192
|
}
|
|
4049
4193
|
});
|
|
@@ -4051,7 +4195,7 @@ var ActorConnRaw = class {
|
|
|
4051
4195
|
/** Called by the onopen event from drivers. */
|
|
4052
4196
|
#handleOnOpen() {
|
|
4053
4197
|
if (this.#disposed) {
|
|
4054
|
-
|
|
4198
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4055
4199
|
msg: "handleOnOpen called after dispose, closing websocket"
|
|
4056
4200
|
});
|
|
4057
4201
|
if (this.#websocket) {
|
|
@@ -4067,7 +4211,7 @@ var ActorConnRaw = class {
|
|
|
4067
4211
|
queueMicrotask(() => {
|
|
4068
4212
|
this.#openScheduled = false;
|
|
4069
4213
|
if (this.#disposed) {
|
|
4070
|
-
|
|
4214
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4071
4215
|
msg: "handleOnOpen scheduled after dispose, closing websocket"
|
|
4072
4216
|
});
|
|
4073
4217
|
if (this.#websocket) {
|
|
@@ -4076,7 +4220,7 @@ var ActorConnRaw = class {
|
|
|
4076
4220
|
}
|
|
4077
4221
|
return;
|
|
4078
4222
|
}
|
|
4079
|
-
|
|
4223
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4080
4224
|
msg: "socket open",
|
|
4081
4225
|
messageQueueLength: this.#messageQueue.length,
|
|
4082
4226
|
connId: this.#connId
|
|
@@ -4085,14 +4229,14 @@ var ActorConnRaw = class {
|
|
|
4085
4229
|
if (this.#onOpenPromise) {
|
|
4086
4230
|
this.#onOpenPromise.resolve(void 0);
|
|
4087
4231
|
} else {
|
|
4088
|
-
|
|
4232
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn({ msg: "#onOpenPromise is undefined" });
|
|
4089
4233
|
}
|
|
4090
4234
|
for (const eventName of this.#eventSubscriptions.keys()) {
|
|
4091
4235
|
this.#sendSubscription(eventName, true);
|
|
4092
4236
|
}
|
|
4093
4237
|
const queue = this.#messageQueue;
|
|
4094
4238
|
this.#messageQueue = [];
|
|
4095
|
-
|
|
4239
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4096
4240
|
msg: "flushing message queue",
|
|
4097
4241
|
queueLength: queue.length
|
|
4098
4242
|
});
|
|
@@ -4104,23 +4248,23 @@ var ActorConnRaw = class {
|
|
|
4104
4248
|
/** Called by the onmessage event from drivers. */
|
|
4105
4249
|
async #handleOnMessage(data) {
|
|
4106
4250
|
var _a;
|
|
4107
|
-
|
|
4251
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).trace({
|
|
4108
4252
|
msg: "received message",
|
|
4109
4253
|
dataType: typeof data,
|
|
4110
4254
|
isBlob: data instanceof Blob,
|
|
4111
4255
|
isArrayBuffer: data instanceof ArrayBuffer
|
|
4112
4256
|
});
|
|
4113
4257
|
const response = await this.#parseMessage(data);
|
|
4114
|
-
|
|
4115
|
-
|
|
4258
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).trace(
|
|
4259
|
+
_chunkRJC5O2SDcjs.getLogMessage.call(void 0, ) ? {
|
|
4116
4260
|
msg: "parsed message",
|
|
4117
|
-
message:
|
|
4261
|
+
message: _chunkRJC5O2SDcjs.jsonStringifyCompat.call(void 0, response).substring(0, 100) + "..."
|
|
4118
4262
|
} : { msg: "parsed message" }
|
|
4119
4263
|
);
|
|
4120
4264
|
if (response.body.tag === "Init") {
|
|
4121
4265
|
this.#actorId = response.body.val.actorId;
|
|
4122
4266
|
this.#connId = response.body.val.connectionId;
|
|
4123
|
-
|
|
4267
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).trace({
|
|
4124
4268
|
msg: "received init message",
|
|
4125
4269
|
actorId: this.#actorId,
|
|
4126
4270
|
connId: this.#connId
|
|
@@ -4131,7 +4275,7 @@ var ActorConnRaw = class {
|
|
|
4131
4275
|
if (actionId !== null) {
|
|
4132
4276
|
const inFlight = this.#takeActionInFlight(Number(actionId));
|
|
4133
4277
|
this.#invalidateActorIfStale(group, code);
|
|
4134
|
-
|
|
4278
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn({
|
|
4135
4279
|
msg: "action error",
|
|
4136
4280
|
actionId,
|
|
4137
4281
|
actionName: inFlight == null ? void 0 : inFlight.name,
|
|
@@ -4144,13 +4288,13 @@ var ActorConnRaw = class {
|
|
|
4144
4288
|
actorKey: actor == null ? void 0 : actor.key
|
|
4145
4289
|
});
|
|
4146
4290
|
inFlight.reject(
|
|
4147
|
-
new (0,
|
|
4291
|
+
new (0, _chunkJX2ITWAVcjs.RivetError)(group, code, message, {
|
|
4148
4292
|
metadata,
|
|
4149
4293
|
actor
|
|
4150
4294
|
})
|
|
4151
4295
|
);
|
|
4152
4296
|
} else {
|
|
4153
|
-
|
|
4297
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn({
|
|
4154
4298
|
msg: "connection error",
|
|
4155
4299
|
group,
|
|
4156
4300
|
code,
|
|
@@ -4163,14 +4307,14 @@ var ActorConnRaw = class {
|
|
|
4163
4307
|
if (this.#shouldReconnectForStaleActor(group, code)) {
|
|
4164
4308
|
this.#clearResolvedActorIdentity();
|
|
4165
4309
|
(_a = this.#onOpenPromise) == null ? void 0 : _a.reject(
|
|
4166
|
-
new (0,
|
|
4310
|
+
new (0, _chunkJX2ITWAVcjs.RivetError)(group, code, message, {
|
|
4167
4311
|
metadata,
|
|
4168
4312
|
actor
|
|
4169
4313
|
})
|
|
4170
4314
|
);
|
|
4171
4315
|
return;
|
|
4172
4316
|
}
|
|
4173
|
-
let errorToThrow = new (0,
|
|
4317
|
+
let errorToThrow = new (0, _chunkJX2ITWAVcjs.RivetError)(group, code, message, {
|
|
4174
4318
|
metadata,
|
|
4175
4319
|
actor
|
|
4176
4320
|
});
|
|
@@ -4198,27 +4342,27 @@ var ActorConnRaw = class {
|
|
|
4198
4342
|
}
|
|
4199
4343
|
} else if (response.body.tag === "ActionResponse") {
|
|
4200
4344
|
const { id: actionId } = response.body.val;
|
|
4201
|
-
|
|
4345
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4202
4346
|
msg: "received action response",
|
|
4203
4347
|
actionId: Number(actionId),
|
|
4204
4348
|
inFlightCount: this.#actionsInFlight.size,
|
|
4205
4349
|
inFlightIds: Array.from(this.#actionsInFlight.keys())
|
|
4206
4350
|
});
|
|
4207
4351
|
const inFlight = this.#takeActionInFlight(Number(actionId));
|
|
4208
|
-
|
|
4352
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).trace({
|
|
4209
4353
|
msg: "resolving action promise",
|
|
4210
4354
|
actionId,
|
|
4211
4355
|
actionName: inFlight == null ? void 0 : inFlight.name
|
|
4212
4356
|
});
|
|
4213
4357
|
inFlight.resolve(response.body.val);
|
|
4214
4358
|
} else if (response.body.tag === "Event") {
|
|
4215
|
-
|
|
4359
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).trace({
|
|
4216
4360
|
msg: "received event",
|
|
4217
4361
|
name: response.body.val.name
|
|
4218
4362
|
});
|
|
4219
4363
|
this.#dispatchEvent(response.body.val);
|
|
4220
4364
|
} else {
|
|
4221
|
-
|
|
4365
|
+
_chunkRJC5O2SDcjs.assertUnreachable.call(void 0, response.body);
|
|
4222
4366
|
}
|
|
4223
4367
|
}
|
|
4224
4368
|
/** Called by the onclose event from drivers. */
|
|
@@ -4227,7 +4371,7 @@ var ActorConnRaw = class {
|
|
|
4227
4371
|
const closeEvent = event;
|
|
4228
4372
|
const wasClean = closeEvent.wasClean;
|
|
4229
4373
|
const wasConnected = this.#connStatus === "connected";
|
|
4230
|
-
|
|
4374
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).info({
|
|
4231
4375
|
msg: "socket closed",
|
|
4232
4376
|
code: closeEvent.code,
|
|
4233
4377
|
reason: closeEvent.reason,
|
|
@@ -4248,7 +4392,7 @@ var ActorConnRaw = class {
|
|
|
4248
4392
|
if (this.#shouldReconnectForStaleActor(group, code)) {
|
|
4249
4393
|
this.#clearResolvedActorIdentity();
|
|
4250
4394
|
(_a = this.#onOpenPromise) == null ? void 0 : _a.reject(
|
|
4251
|
-
new (0,
|
|
4395
|
+
new (0, _chunkJX2ITWAVcjs.RivetError)(
|
|
4252
4396
|
group,
|
|
4253
4397
|
code,
|
|
4254
4398
|
`Connection closed: ${reason}`,
|
|
@@ -4269,7 +4413,7 @@ var ActorConnRaw = class {
|
|
|
4269
4413
|
if (schedulingError) {
|
|
4270
4414
|
error = schedulingError;
|
|
4271
4415
|
} else {
|
|
4272
|
-
error = new (0,
|
|
4416
|
+
error = new (0, _chunkJX2ITWAVcjs.RivetError)(
|
|
4273
4417
|
group,
|
|
4274
4418
|
code,
|
|
4275
4419
|
`Connection closed: ${reason}`,
|
|
@@ -4277,7 +4421,7 @@ var ActorConnRaw = class {
|
|
|
4277
4421
|
);
|
|
4278
4422
|
}
|
|
4279
4423
|
} else {
|
|
4280
|
-
error = new (0,
|
|
4424
|
+
error = new (0, _chunkJX2ITWAVcjs.RivetError)(
|
|
4281
4425
|
group,
|
|
4282
4426
|
code,
|
|
4283
4427
|
`Connection closed: ${reason}`,
|
|
@@ -4291,11 +4435,11 @@ var ActorConnRaw = class {
|
|
|
4291
4435
|
);
|
|
4292
4436
|
}
|
|
4293
4437
|
this.#rejectPendingPromises(error, false);
|
|
4294
|
-
if (error instanceof
|
|
4438
|
+
if (error instanceof _chunkJX2ITWAVcjs.RivetError) {
|
|
4295
4439
|
this.#dispatchActorError(error);
|
|
4296
4440
|
}
|
|
4297
4441
|
if (wasConnected) {
|
|
4298
|
-
|
|
4442
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4299
4443
|
msg: "triggering reconnect",
|
|
4300
4444
|
connId: this.#connId
|
|
4301
4445
|
});
|
|
@@ -4319,12 +4463,12 @@ var ActorConnRaw = class {
|
|
|
4319
4463
|
/** Called by the onerror event from drivers. */
|
|
4320
4464
|
#handleOnError() {
|
|
4321
4465
|
if (this.#disposed) return;
|
|
4322
|
-
|
|
4466
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn("socket error");
|
|
4323
4467
|
}
|
|
4324
4468
|
#takeActionInFlight(id) {
|
|
4325
4469
|
const inFlight = this.#actionsInFlight.get(id);
|
|
4326
4470
|
if (!inFlight) {
|
|
4327
|
-
|
|
4471
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).error({
|
|
4328
4472
|
msg: "action not found in in-flight map",
|
|
4329
4473
|
lookupId: id,
|
|
4330
4474
|
inFlightCount: this.#actionsInFlight.size,
|
|
@@ -4339,7 +4483,7 @@ var ActorConnRaw = class {
|
|
|
4339
4483
|
throw internalClientError(`No in flight response for ${id}`);
|
|
4340
4484
|
}
|
|
4341
4485
|
this.#actionsInFlight.delete(id);
|
|
4342
|
-
|
|
4486
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4343
4487
|
msg: "removed action from in-flight map",
|
|
4344
4488
|
actionId: id,
|
|
4345
4489
|
actionName: inFlight.name,
|
|
@@ -4366,9 +4510,9 @@ var ActorConnRaw = class {
|
|
|
4366
4510
|
try {
|
|
4367
4511
|
handler(error);
|
|
4368
4512
|
} catch (err) {
|
|
4369
|
-
|
|
4513
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).error({
|
|
4370
4514
|
msg: "error in connection error handler",
|
|
4371
|
-
error:
|
|
4515
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, err)
|
|
4372
4516
|
});
|
|
4373
4517
|
}
|
|
4374
4518
|
}
|
|
@@ -4473,9 +4617,9 @@ var ActorConnRaw = class {
|
|
|
4473
4617
|
try {
|
|
4474
4618
|
callback();
|
|
4475
4619
|
} catch (err) {
|
|
4476
|
-
|
|
4620
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).error({
|
|
4477
4621
|
msg: "error in open handler",
|
|
4478
|
-
error:
|
|
4622
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, err)
|
|
4479
4623
|
});
|
|
4480
4624
|
}
|
|
4481
4625
|
});
|
|
@@ -4525,7 +4669,7 @@ var ActorConnRaw = class {
|
|
|
4525
4669
|
let queueMessage = false;
|
|
4526
4670
|
if (this.#websocket) {
|
|
4527
4671
|
const readyState = this.#websocket.readyState;
|
|
4528
|
-
|
|
4672
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4529
4673
|
msg: "websocket send attempt",
|
|
4530
4674
|
readyState,
|
|
4531
4675
|
readyStateString: readyState === 0 ? "CONNECTING" : readyState === 1 ? "OPEN" : readyState === 2 ? "CLOSING" : "CLOSED",
|
|
@@ -4534,7 +4678,7 @@ var ActorConnRaw = class {
|
|
|
4534
4678
|
actionName: (_a = message.body.val) == null ? void 0 : _a.name
|
|
4535
4679
|
});
|
|
4536
4680
|
if (this.#connStatus !== "connected") {
|
|
4537
|
-
|
|
4681
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4538
4682
|
msg: "websocket init pending, queueing message",
|
|
4539
4683
|
connStatus: this.#connStatus,
|
|
4540
4684
|
messageType: message.body.tag
|
|
@@ -4542,7 +4686,7 @@ var ActorConnRaw = class {
|
|
|
4542
4686
|
queueMessage = true;
|
|
4543
4687
|
} else if (readyState === 1) {
|
|
4544
4688
|
try {
|
|
4545
|
-
const messageSerialized =
|
|
4689
|
+
const messageSerialized = _chunkRJC5O2SDcjs.serializeWithEncoding.call(void 0,
|
|
4546
4690
|
this.#encoding,
|
|
4547
4691
|
message,
|
|
4548
4692
|
CLIENT_PROTOCOL_TO_SERVER,
|
|
@@ -4559,8 +4703,8 @@ var ActorConnRaw = class {
|
|
|
4559
4703
|
val: {
|
|
4560
4704
|
id: msg.body.val.id,
|
|
4561
4705
|
name: msg.body.val.name,
|
|
4562
|
-
args:
|
|
4563
|
-
|
|
4706
|
+
args: _chunkRJC5O2SDcjs.bufferToArrayBuffer.call(void 0,
|
|
4707
|
+
_chunkRJC5O2SDcjs.encodeCborCompat.call(void 0,
|
|
4564
4708
|
msg.body.val.args
|
|
4565
4709
|
)
|
|
4566
4710
|
)
|
|
@@ -4574,12 +4718,12 @@ var ActorConnRaw = class {
|
|
|
4574
4718
|
);
|
|
4575
4719
|
this.#websocket.send(messageSerialized);
|
|
4576
4720
|
const serializedLength = messageLength(messageSerialized);
|
|
4577
|
-
|
|
4721
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).trace({
|
|
4578
4722
|
msg: "sent websocket message",
|
|
4579
4723
|
len: serializedLength
|
|
4580
4724
|
});
|
|
4581
4725
|
} catch (error) {
|
|
4582
|
-
|
|
4726
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn({
|
|
4583
4727
|
msg: "failed to send message, added to queue",
|
|
4584
4728
|
error,
|
|
4585
4729
|
connId: this.#connId
|
|
@@ -4587,19 +4731,19 @@ var ActorConnRaw = class {
|
|
|
4587
4731
|
queueMessage = true;
|
|
4588
4732
|
}
|
|
4589
4733
|
} else {
|
|
4590
|
-
|
|
4734
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4591
4735
|
msg: "websocket not open, queueing message",
|
|
4592
4736
|
readyState
|
|
4593
4737
|
});
|
|
4594
4738
|
queueMessage = true;
|
|
4595
4739
|
}
|
|
4596
4740
|
} else {
|
|
4597
|
-
|
|
4741
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({ msg: "no websocket, queueing message" });
|
|
4598
4742
|
queueMessage = true;
|
|
4599
4743
|
}
|
|
4600
4744
|
if (!(opts == null ? void 0 : opts.ephemeral) && queueMessage) {
|
|
4601
4745
|
this.#messageQueue.push(message);
|
|
4602
|
-
|
|
4746
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({
|
|
4603
4747
|
msg: "queued connection message",
|
|
4604
4748
|
queueLength: this.#messageQueue.length,
|
|
4605
4749
|
connId: this.#connId,
|
|
@@ -4610,8 +4754,8 @@ var ActorConnRaw = class {
|
|
|
4610
4754
|
}
|
|
4611
4755
|
async #parseMessage(data) {
|
|
4612
4756
|
_invariant2.default.call(void 0, this.#websocket, "websocket must be defined");
|
|
4613
|
-
const buffer = await
|
|
4614
|
-
return
|
|
4757
|
+
const buffer = await _chunkRJC5O2SDcjs.inputDataToBuffer.call(void 0, data);
|
|
4758
|
+
return _chunkRJC5O2SDcjs.deserializeWithEncoding.call(void 0,
|
|
4615
4759
|
this.#encoding,
|
|
4616
4760
|
buffer,
|
|
4617
4761
|
CLIENT_PROTOCOL_TO_CLIENT,
|
|
@@ -4646,7 +4790,7 @@ var ActorConnRaw = class {
|
|
|
4646
4790
|
group: msg.body.val.group,
|
|
4647
4791
|
code: msg.body.val.code,
|
|
4648
4792
|
message: msg.body.val.message,
|
|
4649
|
-
metadata: msg.body.val.metadata ?
|
|
4793
|
+
metadata: msg.body.val.metadata ? _chunkRJC5O2SDcjs.decodeCborCompat.call(void 0,
|
|
4650
4794
|
new Uint8Array(
|
|
4651
4795
|
msg.body.val.metadata
|
|
4652
4796
|
)
|
|
@@ -4668,7 +4812,7 @@ var ActorConnRaw = class {
|
|
|
4668
4812
|
tag: "ActionResponse",
|
|
4669
4813
|
val: {
|
|
4670
4814
|
id: msg.body.val.id,
|
|
4671
|
-
output:
|
|
4815
|
+
output: _chunkRJC5O2SDcjs.decodeCborCompat.call(void 0,
|
|
4672
4816
|
new Uint8Array(msg.body.val.output)
|
|
4673
4817
|
)
|
|
4674
4818
|
}
|
|
@@ -4680,7 +4824,7 @@ var ActorConnRaw = class {
|
|
|
4680
4824
|
tag: "Event",
|
|
4681
4825
|
val: {
|
|
4682
4826
|
name: msg.body.val.name,
|
|
4683
|
-
args:
|
|
4827
|
+
args: _chunkRJC5O2SDcjs.decodeCborCompat.call(void 0,
|
|
4684
4828
|
new Uint8Array(msg.body.val.args)
|
|
4685
4829
|
)
|
|
4686
4830
|
}
|
|
@@ -4721,11 +4865,11 @@ var ActorConnRaw = class {
|
|
|
4721
4865
|
*/
|
|
4722
4866
|
async dispose() {
|
|
4723
4867
|
if (this.#disposed) {
|
|
4724
|
-
|
|
4868
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).warn({ msg: "connection already disconnected" });
|
|
4725
4869
|
return;
|
|
4726
4870
|
}
|
|
4727
4871
|
this.#disposed = true;
|
|
4728
|
-
|
|
4872
|
+
_chunkOGPFN6BTcjs.logger.call(void 0, ).debug({ msg: "disposing actor conn" });
|
|
4729
4873
|
this.#setConnStatus("idle");
|
|
4730
4874
|
clearInterval(this.#keepNodeAliveInterval);
|
|
4731
4875
|
this.#abortController.abort();
|
|
@@ -4733,8 +4877,8 @@ var ActorConnRaw = class {
|
|
|
4733
4877
|
if (this.#websocket) {
|
|
4734
4878
|
const ws = this.#websocket;
|
|
4735
4879
|
if (ws.readyState !== 2 && ws.readyState !== 3) {
|
|
4736
|
-
const { promise, resolve } =
|
|
4737
|
-
(reason) =>
|
|
4880
|
+
const { promise, resolve } = _chunkRJC5O2SDcjs.promiseWithResolvers.call(void 0,
|
|
4881
|
+
(reason) => _chunkOGPFN6BTcjs.logger.call(void 0, ).warn({
|
|
4738
4882
|
msg: "unhandled websocket close promise rejection",
|
|
4739
4883
|
reason
|
|
4740
4884
|
})
|
|
@@ -4778,7 +4922,7 @@ function tryParseEndpoint(ctx, options) {
|
|
|
4778
4922
|
let url;
|
|
4779
4923
|
try {
|
|
4780
4924
|
url = new URL(endpoint);
|
|
4781
|
-
} catch (
|
|
4925
|
+
} catch (e3) {
|
|
4782
4926
|
ctx.addIssue({
|
|
4783
4927
|
code: "custom",
|
|
4784
4928
|
message: `invalid URL: ${endpoint}`,
|
|
@@ -4853,7 +4997,7 @@ var ClientConfigSchemaBase = _v42.default.object({
|
|
|
4853
4997
|
* Defaults to http://localhost:6420.
|
|
4854
4998
|
*/
|
|
4855
4999
|
endpoint: _v42.default.string().optional().transform((val) => {
|
|
4856
|
-
const resolved = _nullishCoalesce(_nullishCoalesce(val, () => (
|
|
5000
|
+
const resolved = _nullishCoalesce(_nullishCoalesce(val, () => ( _chunkRJC5O2SDcjs.getRivetEngine.call(void 0, ))), () => ( _chunkRJC5O2SDcjs.getRivetEndpoint.call(void 0, )));
|
|
4857
5001
|
if (!resolved && !hasWarnedMissingEndpoint) {
|
|
4858
5002
|
hasWarnedMissingEndpoint = true;
|
|
4859
5003
|
console.warn(
|
|
@@ -4863,12 +5007,12 @@ var ClientConfigSchemaBase = _v42.default.object({
|
|
|
4863
5007
|
return _nullishCoalesce(resolved, () => ( DEFAULT_ENDPOINT));
|
|
4864
5008
|
}),
|
|
4865
5009
|
/** Token to use to authenticate with the API. */
|
|
4866
|
-
token: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => (
|
|
5010
|
+
token: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkRJC5O2SDcjs.getRivetToken.call(void 0, )))),
|
|
4867
5011
|
/** Namespace to connect to. */
|
|
4868
|
-
namespace: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => (
|
|
5012
|
+
namespace: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkRJC5O2SDcjs.getRivetNamespace.call(void 0, )))),
|
|
4869
5013
|
/** Name of the envoy pool. This is used to group together envoys in to different pools. */
|
|
4870
|
-
poolName: _v42.default.string().default(() => _nullishCoalesce(
|
|
4871
|
-
encoding:
|
|
5014
|
+
poolName: _v42.default.string().default(() => _nullishCoalesce(_chunkRJC5O2SDcjs.getRivetPool.call(void 0, ), () => ( "default"))),
|
|
5015
|
+
encoding: _chunkRJC5O2SDcjs.EncodingSchema.default("bare"),
|
|
4872
5016
|
headers: _v42.default.record(_v42.default.string(), _v42.default.string()).optional().default(() => ({})),
|
|
4873
5017
|
gateway: _v42.default.object({
|
|
4874
5018
|
skipReadyWait: _v42.default.boolean().optional().default(false)
|
|
@@ -4967,6 +5111,17 @@ function buildGuardHeaders(runConfig, actorRequest, options) {
|
|
|
4967
5111
|
for (const [key, value] of Object.entries(runConfig.headers)) {
|
|
4968
5112
|
headers.set(key, value);
|
|
4969
5113
|
}
|
|
5114
|
+
for (const name of [HEADER_TRACEPARENT, HEADER_TRACESTATE]) {
|
|
5115
|
+
headers.delete(name);
|
|
5116
|
+
const value = actorRequest.headers.get(name);
|
|
5117
|
+
if (value !== null) {
|
|
5118
|
+
headers.set(name, value);
|
|
5119
|
+
}
|
|
5120
|
+
}
|
|
5121
|
+
const requestRayId = actorRequest.headers.get(HEADER_RIVET_RAY_ID);
|
|
5122
|
+
if (requestRayId !== null) {
|
|
5123
|
+
headers.set(HEADER_RIVET_RAY_ID, requestRayId);
|
|
5124
|
+
}
|
|
4970
5125
|
if (runConfig.token) {
|
|
4971
5126
|
headers.set(HEADER_RIVET_TOKEN, runConfig.token);
|
|
4972
5127
|
}
|
|
@@ -5023,7 +5178,7 @@ function setRemoteHibernatableWebSocketAckTestHooks(websocket, token, enabled) {
|
|
|
5023
5178
|
|
|
5024
5179
|
// src/engine-client/log.ts
|
|
5025
5180
|
function logger2() {
|
|
5026
|
-
return
|
|
5181
|
+
return _chunkRJC5O2SDcjs.getLogger.call(void 0, "engine-client");
|
|
5027
5182
|
}
|
|
5028
5183
|
|
|
5029
5184
|
// src/engine-client/actor-websocket-client.ts
|
|
@@ -5156,7 +5311,7 @@ var BufferedRemoteWebSocket = (_class2 = class {
|
|
|
5156
5311
|
function buildActorGatewayUrl(endpoint, actorId, token, path = "") {
|
|
5157
5312
|
const tokenSegment = token !== void 0 ? `@${encodeURIComponent(token)}` : "";
|
|
5158
5313
|
const gatewayPath = `/gateway/${encodeURIComponent(actorId)}${tokenSegment}${path}`;
|
|
5159
|
-
return
|
|
5314
|
+
return _chunkRJC5O2SDcjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
|
|
5160
5315
|
}
|
|
5161
5316
|
function buildActorQueryGatewayUrl(endpoint, namespace, query, token, path = "", maxInputSize = DEFAULT_MAX_QUERY_INPUT_SIZE, crashPolicy = void 0, runnerName, options = {}) {
|
|
5162
5317
|
if (namespace.length === 0) {
|
|
@@ -5222,7 +5377,7 @@ function buildActorQueryGatewayUrl(endpoint, namespace, query, token, path = "",
|
|
|
5222
5377
|
separator = "?";
|
|
5223
5378
|
}
|
|
5224
5379
|
const gatewayPath = `/gateway/${encodeURIComponent(name)}${path}${separator}${queryString}`;
|
|
5225
|
-
return
|
|
5380
|
+
return _chunkRJC5O2SDcjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
|
|
5226
5381
|
}
|
|
5227
5382
|
function pushKeyQueryParams(params, key) {
|
|
5228
5383
|
if (key.length > 0) {
|
|
@@ -5233,7 +5388,7 @@ function pushInputQueryParam(params, input, maxInputSize) {
|
|
|
5233
5388
|
if (input === void 0) {
|
|
5234
5389
|
return;
|
|
5235
5390
|
}
|
|
5236
|
-
const encodedInput =
|
|
5391
|
+
const encodedInput = _chunkRJC5O2SDcjs.encodeCborCompat.call(void 0, input);
|
|
5237
5392
|
if (encodedInput.byteLength > maxInputSize) {
|
|
5238
5393
|
throw new Error(
|
|
5239
5394
|
`Actor query input exceeds maxInputSize (${encodedInput.byteLength} > ${maxInputSize} bytes). Increase client maxInputSize to allow larger query payloads.`
|
|
@@ -5242,10 +5397,10 @@ function pushInputQueryParam(params, input, maxInputSize) {
|
|
|
5242
5397
|
params.append("rvt-input", uint8ArrayToBase64Url(encodedInput));
|
|
5243
5398
|
}
|
|
5244
5399
|
function uint8ArrayToBase64Url(value) {
|
|
5245
|
-
return
|
|
5400
|
+
return _chunkRJC5O2SDcjs.uint8ArrayToBase64.call(void 0, value).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
|
|
5246
5401
|
}
|
|
5247
5402
|
async function openWebSocketToGateway(runConfig, gatewayUrl, encoding, params, options = {}) {
|
|
5248
|
-
const WebSocket2 = await
|
|
5403
|
+
const WebSocket2 = await _chunkOGPFN6BTcjs.importWebSocket.call(void 0, );
|
|
5249
5404
|
const ackHookToken = typeof process !== "undefined" && process.env.VITEST ? crypto.randomUUID() : void 0;
|
|
5250
5405
|
logger2().debug({
|
|
5251
5406
|
msg: "opening websocket to actor via guard",
|
|
@@ -5312,7 +5467,7 @@ function getEndpoint(config) {
|
|
|
5312
5467
|
}
|
|
5313
5468
|
async function apiCall(config, method, path, body) {
|
|
5314
5469
|
const endpoint = getEndpoint(config);
|
|
5315
|
-
const url =
|
|
5470
|
+
const url = _chunkRJC5O2SDcjs.combineUrlPath.call(void 0, endpoint, path, {
|
|
5316
5471
|
namespace: config.namespace
|
|
5317
5472
|
});
|
|
5318
5473
|
logger2().debug({ msg: "making api call", method, url });
|
|
@@ -5437,7 +5592,7 @@ async function lookupMetadataCached(config) {
|
|
|
5437
5592
|
msg: "failed to fetch metadata, retrying",
|
|
5438
5593
|
endpoint,
|
|
5439
5594
|
attempt: error.attemptNumber,
|
|
5440
|
-
error:
|
|
5595
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, error)
|
|
5441
5596
|
});
|
|
5442
5597
|
}
|
|
5443
5598
|
}
|
|
@@ -5449,7 +5604,7 @@ async function lookupMetadataCached(config) {
|
|
|
5449
5604
|
|
|
5450
5605
|
// src/engine-client/ws-proxy.ts
|
|
5451
5606
|
async function createWebSocketProxy(_c, targetUrl, protocols) {
|
|
5452
|
-
const WebSocket2 = await
|
|
5607
|
+
const WebSocket2 = await _chunkOGPFN6BTcjs.importWebSocket.call(void 0, );
|
|
5453
5608
|
const state = {};
|
|
5454
5609
|
return {
|
|
5455
5610
|
onOpen: async (_event, clientWs) => {
|
|
@@ -5514,7 +5669,7 @@ async function createWebSocketProxy(_c, targetUrl, protocols) {
|
|
|
5514
5669
|
logger2().error({
|
|
5515
5670
|
msg: "target websocket error",
|
|
5516
5671
|
targetUrl,
|
|
5517
|
-
error:
|
|
5672
|
+
error: _chunkRJC5O2SDcjs.stringifyError.call(void 0, error)
|
|
5518
5673
|
});
|
|
5519
5674
|
closeWebSocketIfOpen(clientWs, 1011, "Target WebSocket error");
|
|
5520
5675
|
});
|
|
@@ -5593,7 +5748,7 @@ var RemoteEngineControlClient = class {
|
|
|
5593
5748
|
#config;
|
|
5594
5749
|
#metadataPromise;
|
|
5595
5750
|
constructor(runConfig) {
|
|
5596
|
-
if (
|
|
5751
|
+
if (_chunkRJC5O2SDcjs.getNextPhase.call(void 0, ) === "phase-production-build") {
|
|
5597
5752
|
logger2().info(
|
|
5598
5753
|
"detected next.js build phase, disabling health check"
|
|
5599
5754
|
);
|
|
@@ -5665,7 +5820,7 @@ var RemoteEngineControlClient = class {
|
|
|
5665
5820
|
});
|
|
5666
5821
|
return apiActorToOutput(actor);
|
|
5667
5822
|
} catch (error) {
|
|
5668
|
-
if (error instanceof
|
|
5823
|
+
if (error instanceof _chunkJX2ITWAVcjs.RivetError && error.group === "actor" && error.code === "not_found") {
|
|
5669
5824
|
return void 0;
|
|
5670
5825
|
}
|
|
5671
5826
|
throw error;
|
|
@@ -5692,8 +5847,8 @@ var RemoteEngineControlClient = class {
|
|
|
5692
5847
|
name,
|
|
5693
5848
|
key: _chunkMYWZCDMLcjs.serializeActorKey.call(void 0, key),
|
|
5694
5849
|
runner_name_selector: _nullishCoalesce(poolName, () => ( this.#config.poolName)),
|
|
5695
|
-
input: actorInput ?
|
|
5696
|
-
|
|
5850
|
+
input: actorInput ? _chunkRJC5O2SDcjs.uint8ArrayToBase64.call(void 0,
|
|
5851
|
+
_chunkRJC5O2SDcjs.encodeCborCompat.call(void 0, actorInput)
|
|
5697
5852
|
) : void 0,
|
|
5698
5853
|
crash_policy: _nullishCoalesce(crashPolicy, () => ( "sleep"))
|
|
5699
5854
|
});
|
|
@@ -5706,7 +5861,7 @@ var RemoteEngineControlClient = class {
|
|
|
5706
5861
|
});
|
|
5707
5862
|
return apiActorToOutput(actor);
|
|
5708
5863
|
} catch (error) {
|
|
5709
|
-
if (error instanceof
|
|
5864
|
+
if (error instanceof _chunkJX2ITWAVcjs.RivetError && error.group === "actor" && error.code === "key_reserved_in_different_datacenter") {
|
|
5710
5865
|
logger2().warn({
|
|
5711
5866
|
msg: "getOrCreateWithKey: key reserved in different datacenter, retrying as get",
|
|
5712
5867
|
name,
|
|
@@ -5741,7 +5896,7 @@ var RemoteEngineControlClient = class {
|
|
|
5741
5896
|
name,
|
|
5742
5897
|
runner_name_selector: _nullishCoalesce(poolName, () => ( this.#config.poolName)),
|
|
5743
5898
|
key: _chunkMYWZCDMLcjs.serializeActorKey.call(void 0, key),
|
|
5744
|
-
input: input ?
|
|
5899
|
+
input: input ? _chunkRJC5O2SDcjs.uint8ArrayToBase64.call(void 0, _chunkRJC5O2SDcjs.encodeCborCompat.call(void 0, input)) : void 0,
|
|
5745
5900
|
crash_policy: _nullishCoalesce(crashPolicy, () => ( "sleep"))
|
|
5746
5901
|
});
|
|
5747
5902
|
logger2().info({
|
|
@@ -5819,7 +5974,7 @@ var RemoteEngineControlClient = class {
|
|
|
5819
5974
|
const upgradeWebSocket = (_b = (_a = this.#config).getUpgradeWebSocket) == null ? void 0 : _b.call(_a);
|
|
5820
5975
|
_invariant2.default.call(void 0, upgradeWebSocket, "missing getUpgradeWebSocket");
|
|
5821
5976
|
const endpoint = getEndpoint(this.#config);
|
|
5822
|
-
const guardUrl =
|
|
5977
|
+
const guardUrl = _chunkRJC5O2SDcjs.combineUrlPath.call(void 0, endpoint, path);
|
|
5823
5978
|
const wsGuardUrl = guardUrl.replace("http://", "ws://");
|
|
5824
5979
|
logger2().debug({
|
|
5825
5980
|
msg: "forwarding websocket to actor via guard",
|
|
@@ -5838,7 +5993,7 @@ var RemoteEngineControlClient = class {
|
|
|
5838
5993
|
}
|
|
5839
5994
|
);
|
|
5840
5995
|
const args = await createWebSocketProxy(c, wsGuardUrl, protocols);
|
|
5841
|
-
return await upgradeWebSocket(() => args)(c,
|
|
5996
|
+
return await upgradeWebSocket(() => args)(c, _chunkRJC5O2SDcjs.noopNext.call(void 0, ));
|
|
5842
5997
|
}
|
|
5843
5998
|
displayInformation() {
|
|
5844
5999
|
return { properties: {} };
|
|
@@ -5849,7 +6004,7 @@ var RemoteEngineControlClient = class {
|
|
|
5849
6004
|
#buildGatewayUrlForTarget(target, path, options = {}) {
|
|
5850
6005
|
const endpoint = getEndpoint(this.#config);
|
|
5851
6006
|
if (shouldSkipReadyWait(options) && directActorIdFromTarget(target) && canUseDirectSkipReadyWaitPath(path)) {
|
|
5852
|
-
return
|
|
6007
|
+
return _chunkRJC5O2SDcjs.combineUrlPath.call(void 0, endpoint, path);
|
|
5853
6008
|
}
|
|
5854
6009
|
if ("directId" in target) {
|
|
5855
6010
|
return buildActorGatewayUrl(
|
|
@@ -5943,5 +6098,7 @@ function apiActorToOutput(actor) {
|
|
|
5943
6098
|
|
|
5944
6099
|
|
|
5945
6100
|
|
|
5946
|
-
|
|
5947
|
-
|
|
6101
|
+
|
|
6102
|
+
|
|
6103
|
+
exports.HEADER_CONN_PARAMS = HEADER_CONN_PARAMS; exports.HEADER_ORIGINAL_REQUEST_URL = HEADER_ORIGINAL_REQUEST_URL; exports.ALLOWED_PUBLIC_HEADERS = ALLOWED_PUBLIC_HEADERS; exports.ActorClientError = ActorClientError; exports.ManagerError = ManagerError; exports.MalformedResponseMessage = MalformedResponseMessage; exports.ActorConnDisposed = ActorConnDisposed; exports.readActiveTraceHeaders = readActiveTraceHeaders; exports.runWithActorInvocationSpan = runWithActorInvocationSpan; exports.ActorConnRaw = ActorConnRaw; exports.isResponseLike = isResponseLike; exports.ActorHandleRaw = ActorHandleRaw; exports.createClientWithDriver = createClientWithDriver; exports.tryParseEndpoint = tryParseEndpoint; exports.ClientConfigSchema = ClientConfigSchema; exports.convertRegistryConfigToClientConfig = convertRegistryConfigToClientConfig; exports.getDatacenters = getDatacenters; exports.updateRunnerConfig = updateRunnerConfig; exports.RemoteEngineControlClient = RemoteEngineControlClient;
|
|
6104
|
+
//# sourceMappingURL=chunk-IJUXBWH4.cjs.map
|