rivetkit 2.3.12-rc.3 → 2.3.12

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.
Files changed (109) hide show
  1. package/dist/browser/client.d.ts +17 -2
  2. package/dist/browser/client.js +32 -24
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.js +2 -1
  5. package/dist/browser/inspector/client.js.map +1 -1
  6. package/dist/tsup/actor/errors.cjs +2 -2
  7. package/dist/tsup/actor/errors.js +1 -1
  8. package/dist/tsup/agent-os/index.cjs +2 -1
  9. package/dist/tsup/agent-os/index.cjs.map +1 -1
  10. package/dist/tsup/agent-os/index.d.cts +17 -2
  11. package/dist/tsup/agent-os/index.d.ts +17 -2
  12. package/dist/tsup/agent-os/index.js +2 -1
  13. package/dist/tsup/agent-os/index.js.map +1 -1
  14. package/dist/tsup/{chunk-SPJORZMM.cjs → chunk-2JSYYH6P.cjs} +1 -1
  15. package/dist/tsup/chunk-2JSYYH6P.cjs.map +1 -0
  16. package/dist/tsup/{chunk-IJWTHKH6.cjs → chunk-AN7WO7BM.cjs} +3 -3
  17. package/dist/tsup/{chunk-IJWTHKH6.cjs.map → chunk-AN7WO7BM.cjs.map} +1 -1
  18. package/dist/tsup/{chunk-PSXMESQJ.js → chunk-EBXARMGI.js} +2 -2
  19. package/dist/tsup/{chunk-O6H3BUN4.cjs → chunk-FGQABMXZ.cjs} +3 -3
  20. package/dist/tsup/{chunk-O6H3BUN4.cjs.map → chunk-FGQABMXZ.cjs.map} +1 -1
  21. package/dist/tsup/{chunk-WVFTFWJL.js → chunk-GEN4NHXM.js} +2 -2
  22. package/dist/tsup/{chunk-XI4MEUUI.js → chunk-JYTXOMM7.js} +2 -2
  23. package/dist/tsup/{chunk-OX6WVQE6.cjs → chunk-MEF7RVQ7.cjs} +10 -10
  24. package/dist/tsup/{chunk-OX6WVQE6.cjs.map → chunk-MEF7RVQ7.cjs.map} +1 -1
  25. package/dist/tsup/{chunk-OLGQYFUW.js → chunk-MF42PRF2.js} +9 -3
  26. package/dist/tsup/chunk-MF42PRF2.js.map +1 -0
  27. package/dist/tsup/{chunk-IXBD7BXC.js → chunk-OUQUIBVW.js} +1 -1
  28. package/dist/tsup/chunk-OUQUIBVW.js.map +1 -0
  29. package/dist/tsup/{chunk-QLOBB27M.cjs → chunk-PW2VSGUR.cjs} +4 -4
  30. package/dist/tsup/{chunk-QLOBB27M.cjs.map → chunk-PW2VSGUR.cjs.map} +1 -1
  31. package/dist/tsup/{chunk-NHI5L7C7.js → chunk-RBXJWAJB.js} +3 -3
  32. package/dist/tsup/{chunk-UBB32UOG.cjs → chunk-SSPTEGTX.cjs} +7 -7
  33. package/dist/tsup/{chunk-UBB32UOG.cjs.map → chunk-SSPTEGTX.cjs.map} +1 -1
  34. package/dist/tsup/{chunk-4ESGNS3Z.cjs → chunk-TAG6UEL5.cjs} +17 -11
  35. package/dist/tsup/chunk-TAG6UEL5.cjs.map +1 -0
  36. package/dist/tsup/{chunk-EQKSWDIH.cjs → chunk-TXUHVBKH.cjs} +3 -3
  37. package/dist/tsup/{chunk-EQKSWDIH.cjs.map → chunk-TXUHVBKH.cjs.map} +1 -1
  38. package/dist/tsup/{chunk-PZBWSCQR.cjs → chunk-TZPNSOG2.cjs} +203 -195
  39. package/dist/tsup/chunk-TZPNSOG2.cjs.map +1 -0
  40. package/dist/tsup/{chunk-YYIDQBBM.js → chunk-VOYNLY57.js} +41 -33
  41. package/dist/tsup/chunk-VOYNLY57.js.map +1 -0
  42. package/dist/tsup/{chunk-UN5JNDBT.js → chunk-XUODFCRJ.js} +4 -4
  43. package/dist/tsup/{chunk-34Q4YVCX.js → chunk-ZIPXAVKR.js} +2 -2
  44. package/dist/tsup/client/mod.cjs +6 -6
  45. package/dist/tsup/client/mod.d.cts +2 -2
  46. package/dist/tsup/client/mod.d.ts +2 -2
  47. package/dist/tsup/client/mod.js +5 -5
  48. package/dist/tsup/common/log.cjs +3 -3
  49. package/dist/tsup/common/log.js +2 -2
  50. package/dist/tsup/common/websocket.cjs +4 -4
  51. package/dist/tsup/common/websocket.js +3 -3
  52. package/dist/tsup/{config-Bi1r6gI7.d.ts → config-BGTanB_3.d.ts} +18 -2
  53. package/dist/tsup/{config-BXSV17G7.d.cts → config-NHz6oMb9.d.cts} +18 -2
  54. package/dist/tsup/{context-4fJemY0D.d.cts → context-DB8zG_Ib.d.cts} +1 -1
  55. package/dist/tsup/{context-D4sNYboo.d.ts → context-SHomdVV8.d.ts} +1 -1
  56. package/dist/tsup/db/drizzle.cjs +3 -3
  57. package/dist/tsup/db/drizzle.js +2 -2
  58. package/dist/tsup/db/mod.cjs +4 -4
  59. package/dist/tsup/db/mod.js +3 -3
  60. package/dist/tsup/dynamic/mod.d.cts +1 -1
  61. package/dist/tsup/dynamic/mod.d.ts +1 -1
  62. package/dist/tsup/inspector/mod.cjs +6 -6
  63. package/dist/tsup/inspector/mod.js +5 -5
  64. package/dist/tsup/inspector/workflow.cjs +5 -5
  65. package/dist/tsup/inspector/workflow.js +4 -4
  66. package/dist/tsup/inspector-tab/mod.d.cts +2 -2
  67. package/dist/tsup/inspector-tab/mod.d.ts +2 -2
  68. package/dist/tsup/mod.cjs +423 -177
  69. package/dist/tsup/mod.cjs.map +1 -1
  70. package/dist/tsup/mod.d.cts +3 -3
  71. package/dist/tsup/mod.d.ts +3 -3
  72. package/dist/tsup/mod.js +322 -76
  73. package/dist/tsup/mod.js.map +1 -1
  74. package/dist/tsup/test/mod.cjs +7 -7
  75. package/dist/tsup/test/mod.d.cts +1 -1
  76. package/dist/tsup/test/mod.d.ts +1 -1
  77. package/dist/tsup/test/mod.js +5 -5
  78. package/dist/tsup/utils.cjs +3 -3
  79. package/dist/tsup/utils.js +2 -2
  80. package/dist/tsup/workflow/mod.cjs +11 -11
  81. package/dist/tsup/workflow/mod.d.cts +3 -3
  82. package/dist/tsup/workflow/mod.d.ts +3 -3
  83. package/dist/tsup/workflow/mod.js +5 -5
  84. package/package.json +9 -8
  85. package/src/actor/errors.ts +2 -1
  86. package/src/client/actor-handle.ts +10 -3
  87. package/src/client/raw-utils.ts +8 -0
  88. package/src/common/actor-router-consts.ts +2 -0
  89. package/src/engine-client/actor-http-client.ts +6 -22
  90. package/src/engine-client/mod.ts +1 -1
  91. package/src/registry/config/index.ts +27 -1
  92. package/src/registry/index.ts +48 -14
  93. package/src/registry/napi-runtime.ts +32 -5
  94. package/src/registry/native-http.ts +225 -0
  95. package/src/registry/native.ts +130 -64
  96. package/src/registry/runtime.ts +30 -2
  97. package/src/utils/env-vars.ts +4 -0
  98. package/dist/tsup/chunk-4ESGNS3Z.cjs.map +0 -1
  99. package/dist/tsup/chunk-IXBD7BXC.js.map +0 -1
  100. package/dist/tsup/chunk-OLGQYFUW.js.map +0 -1
  101. package/dist/tsup/chunk-PZBWSCQR.cjs.map +0 -1
  102. package/dist/tsup/chunk-SPJORZMM.cjs.map +0 -1
  103. package/dist/tsup/chunk-YYIDQBBM.js.map +0 -1
  104. /package/dist/tsup/{chunk-PSXMESQJ.js.map → chunk-EBXARMGI.js.map} +0 -0
  105. /package/dist/tsup/{chunk-WVFTFWJL.js.map → chunk-GEN4NHXM.js.map} +0 -0
  106. /package/dist/tsup/{chunk-XI4MEUUI.js.map → chunk-JYTXOMM7.js.map} +0 -0
  107. /package/dist/tsup/{chunk-NHI5L7C7.js.map → chunk-RBXJWAJB.js.map} +0 -0
  108. /package/dist/tsup/{chunk-UN5JNDBT.js.map → chunk-XUODFCRJ.js.map} +0 -0
  109. /package/dist/tsup/{chunk-34Q4YVCX.js.map → chunk-ZIPXAVKR.js.map} +0 -0
@@ -4,11 +4,11 @@
4
4
  var _chunkMYWZCDMLcjs = require('./chunk-MYWZCDML.cjs');
5
5
 
6
6
 
7
- var _chunkKVFIONKQcjs = require('./chunk-KVFIONKQ.cjs');
8
7
 
8
+ var _chunkTXUHVBKHcjs = require('./chunk-TXUHVBKH.cjs');
9
9
 
10
10
 
11
- var _chunkEQKSWDIHcjs = require('./chunk-EQKSWDIH.cjs');
11
+ var _chunkKVFIONKQcjs = require('./chunk-KVFIONKQ.cjs');
12
12
 
13
13
 
14
14
 
@@ -35,13 +35,13 @@ var _chunkEQKSWDIHcjs = require('./chunk-EQKSWDIH.cjs');
35
35
 
36
36
 
37
37
 
38
- var _chunk4ESGNS3Zcjs = require('./chunk-4ESGNS3Z.cjs');
38
+ var _chunkTAG6UEL5cjs = require('./chunk-TAG6UEL5.cjs');
39
39
 
40
40
 
41
41
 
42
42
 
43
43
 
44
- var _chunkSPJORZMMcjs = require('./chunk-SPJORZMM.cjs');
44
+ var _chunk2JSYYH6Pcjs = require('./chunk-2JSYYH6P.cjs');
45
45
 
46
46
  // src/common/actor-router-consts.ts
47
47
  var PATH_CONNECT = "/connect";
@@ -50,6 +50,7 @@ var PATH_WEBSOCKET_PREFIX = "/websocket/";
50
50
  var HEADER_ACTOR_QUERY = "x-rivet-query";
51
51
  var HEADER_ENCODING = "x-rivet-encoding";
52
52
  var HEADER_CONN_PARAMS = "x-rivet-conn-params";
53
+ var HEADER_ORIGINAL_REQUEST_URL = "x-rivet-internal-original-request-url";
53
54
  var HEADER_ACTOR_ID = "x-rivet-actor";
54
55
  var HEADER_ACTOR_GENERATION = "x-rivet-actor-generation";
55
56
  var HEADER_ACTOR_KEY = "x-rivet-actor-key";
@@ -109,7 +110,7 @@ function isSchedulingError(group, code) {
109
110
  return group === "guard" && (code === "actor_ready_timeout" || code === "actor_runner_failed");
110
111
  }
111
112
  function actorSchedulingError(group, code, actorId, details, rayId) {
112
- return new (0, _chunkSPJORZMMcjs.RivetError)(
113
+ return new (0, _chunk2JSYYH6Pcjs.RivetError)(
113
114
  group,
114
115
  code,
115
116
  `Actor failed to start (${actorId}): ${JSON.stringify(details)}`,
@@ -117,7 +118,7 @@ function actorSchedulingError(group, code, actorId, details, rayId) {
117
118
  );
118
119
  }
119
120
  function internalClientError(message, opts) {
120
- return new (0, _chunkSPJORZMMcjs.RivetError)("rivetkit", _chunkSPJORZMMcjs.INTERNAL_ERROR_CODE, message, {
121
+ return new (0, _chunk2JSYYH6Pcjs.RivetError)("rivetkit", _chunk2JSYYH6Pcjs.INTERNAL_ERROR_CODE, message, {
121
122
  cause: opts == null ? void 0 : opts.cause
122
123
  });
123
124
  }
@@ -2102,7 +2103,7 @@ function getActorNameFromQuery(query) {
2102
2103
  if ("getForKey" in query) return query.getForKey.name;
2103
2104
  if ("getOrCreateForKey" in query) return query.getOrCreateForKey.name;
2104
2105
  if ("create" in query) return query.create.name;
2105
- throw _chunkSPJORZMMcjs.invalidRequest.call(void 0, "Invalid query format");
2106
+ throw _chunk2JSYYH6Pcjs.invalidRequest.call(void 0, "Invalid query format");
2106
2107
  }
2107
2108
  function isDynamicActorQuery(actorQuery) {
2108
2109
  return "getForKey" in actorQuery || "getOrCreateForKey" in actorQuery;
@@ -2112,7 +2113,7 @@ function getGatewayTarget(state) {
2112
2113
  return { directId: state.getForId.actorId };
2113
2114
  }
2114
2115
  if ("create" in state) {
2115
- throw _chunkSPJORZMMcjs.invalidRequest.call(void 0,
2116
+ throw _chunk2JSYYH6Pcjs.invalidRequest.call(void 0,
2116
2117
  "create queries cannot be used as gateway targets. Resolve to an actor ID first."
2117
2118
  );
2118
2119
  }
@@ -2126,7 +2127,7 @@ async function checkForSchedulingError(group, code, actorId, query, driver, rayI
2126
2127
  try {
2127
2128
  const actor = await driver.getForId({ name, actorId });
2128
2129
  if (actor == null ? void 0 : actor.error) {
2129
- _chunkEQKSWDIHcjs.logger.call(void 0, ).info({
2130
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).info({
2130
2131
  msg: "found actor scheduling error",
2131
2132
  actorId,
2132
2133
  error: actor.error
@@ -2140,15 +2141,29 @@ async function checkForSchedulingError(group, code, actorId, query, driver, rayI
2140
2141
  );
2141
2142
  }
2142
2143
  } catch (err) {
2143
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
2144
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({
2144
2145
  msg: "failed to fetch actor details for scheduling error check",
2145
2146
  actorId,
2146
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
2147
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, err)
2147
2148
  });
2148
2149
  }
2149
2150
  return null;
2150
2151
  }
2151
2152
 
2153
+ // src/common/fetch-like.ts
2154
+ function isUrlLike(value) {
2155
+ return typeof value === "object" && value !== null && typeof value.href === "string" && typeof value.pathname === "string" && typeof value.search === "string";
2156
+ }
2157
+ function isRequestLike(value) {
2158
+ return typeof value === "object" && value !== null && typeof value.url === "string" && typeof value.method === "string" && isHeadersLike(value.headers);
2159
+ }
2160
+ function isResponseLike(value) {
2161
+ return typeof value === "object" && value !== null && typeof value.status === "number" && isHeadersLike(value.headers) && typeof value.arrayBuffer === "function";
2162
+ }
2163
+ function isHeadersLike(value) {
2164
+ return typeof value === "object" && value !== null && typeof value.entries === "function";
2165
+ }
2166
+
2152
2167
  // src/client/lifecycle-errors.ts
2153
2168
  function* walkErrorChain(error, maxDepth = 8) {
2154
2169
  let current = error;
@@ -2276,7 +2291,7 @@ function classifyTransportError(error) {
2276
2291
  }
2277
2292
  function classifyLifecycleBoundaryError(error) {
2278
2293
  for (const current of walkErrorChain(error)) {
2279
- if (current instanceof _chunkSPJORZMMcjs.RivetError) {
2294
+ if (current instanceof _chunk2JSYYH6Pcjs.RivetError) {
2280
2295
  const classified = classifyActorError(current);
2281
2296
  if (classified) {
2282
2297
  return classified;
@@ -2353,7 +2368,7 @@ function parseWebSocketCloseReason(reason) {
2353
2368
  const [mainPart, rayId] = reason.split("#");
2354
2369
  const [group, code] = mainPart.split(".");
2355
2370
  if (!group || !code) {
2356
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({ msg: "failed to parse close reason", reason });
2371
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({ msg: "failed to parse close reason", reason });
2357
2372
  return void 0;
2358
2373
  }
2359
2374
  return {
@@ -2375,11 +2390,11 @@ function messageLength(message) {
2375
2390
  if (typeof message === "string") {
2376
2391
  return message.length;
2377
2392
  }
2378
- _chunk4ESGNS3Zcjs.assertUnreachable.call(void 0, message);
2393
+ _chunkTAG6UEL5cjs.assertUnreachable.call(void 0, message);
2379
2394
  }
2380
2395
  async function sendHttpRequest(opts) {
2381
2396
  var _a, _b, _c;
2382
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
2397
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
2383
2398
  msg: "sending http request",
2384
2399
  url: opts.url,
2385
2400
  encoding: opts.encoding
@@ -2388,8 +2403,8 @@ async function sendHttpRequest(opts) {
2388
2403
  let bodyData;
2389
2404
  if (opts.method === "POST" || opts.method === "PUT") {
2390
2405
  _invariant2.default.call(void 0, opts.body !== void 0, "missing body");
2391
- contentType = _chunk4ESGNS3Zcjs.contentTypeForEncoding.call(void 0, opts.encoding);
2392
- bodyData = _chunk4ESGNS3Zcjs.serializeWithEncoding.call(void 0,
2406
+ contentType = _chunkTAG6UEL5cjs.contentTypeForEncoding.call(void 0, opts.encoding);
2407
+ bodyData = _chunkTAG6UEL5cjs.serializeWithEncoding.call(void 0,
2393
2408
  opts.encoding,
2394
2409
  opts.body,
2395
2410
  opts.requestVersionedDataHandler,
@@ -2409,7 +2424,7 @@ async function sendHttpRequest(opts) {
2409
2424
  ...contentType ? {
2410
2425
  "Content-Type": contentType
2411
2426
  } : {},
2412
- "User-Agent": _chunk4ESGNS3Zcjs.httpUserAgent.call(void 0, )
2427
+ "User-Agent": _chunkTAG6UEL5cjs.httpUserAgent.call(void 0, )
2413
2428
  },
2414
2429
  body: bodyData,
2415
2430
  credentials: "include",
@@ -2427,7 +2442,7 @@ async function sendHttpRequest(opts) {
2427
2442
  const rayId = response.headers.get("x-rivet-ray-id");
2428
2443
  const encoding = (contentType2 == null ? void 0 : contentType2.includes("application/json")) ? "json" : opts.encoding;
2429
2444
  try {
2430
- const responseData = _chunk4ESGNS3Zcjs.deserializeWithEncoding.call(void 0,
2445
+ const responseData = _chunkTAG6UEL5cjs.deserializeWithEncoding.call(void 0,
2431
2446
  encoding,
2432
2447
  new Uint8Array(bufferResponse),
2433
2448
  HTTP_RESPONSE_ERROR_VERSIONED,
@@ -2445,7 +2460,7 @@ async function sendHttpRequest(opts) {
2445
2460
  group: bare5.group,
2446
2461
  code: bare5.code,
2447
2462
  message: bare5.message,
2448
- metadata: bare5.metadata ? _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.metadata)) : void 0,
2463
+ metadata: bare5.metadata ? _chunkTAG6UEL5cjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.metadata)) : void 0,
2449
2464
  actor: bare5.actor ? {
2450
2465
  actorId: bare5.actor.actorId,
2451
2466
  generation: Number(bare5.actor.generation),
@@ -2453,7 +2468,7 @@ async function sendHttpRequest(opts) {
2453
2468
  } : void 0
2454
2469
  })
2455
2470
  );
2456
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
2471
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({
2457
2472
  msg: "http error response",
2458
2473
  group: responseData.group,
2459
2474
  code: responseData.code,
@@ -2464,7 +2479,7 @@ async function sendHttpRequest(opts) {
2464
2479
  generation: (_b = responseData.actor) == null ? void 0 : _b.generation,
2465
2480
  actorKey: (_c = responseData.actor) == null ? void 0 : _c.key
2466
2481
  });
2467
- throw new (0, _chunkSPJORZMMcjs.RivetError)(
2482
+ throw new (0, _chunk2JSYYH6Pcjs.RivetError)(
2468
2483
  responseData.group,
2469
2484
  responseData.code,
2470
2485
  responseData.message,
@@ -2475,7 +2490,7 @@ async function sendHttpRequest(opts) {
2475
2490
  }
2476
2491
  );
2477
2492
  } catch (error) {
2478
- if (error instanceof _chunkSPJORZMMcjs.RivetError) {
2493
+ if (error instanceof _chunk2JSYYH6Pcjs.RivetError) {
2479
2494
  throw error;
2480
2495
  }
2481
2496
  const textResponse = new TextDecoder("utf-8", {
@@ -2499,7 +2514,7 @@ ${textResponse}`
2499
2514
  }
2500
2515
  try {
2501
2516
  const buffer = new Uint8Array(await response.arrayBuffer());
2502
- return _chunk4ESGNS3Zcjs.deserializeWithEncoding.call(void 0,
2517
+ return _chunkTAG6UEL5cjs.deserializeWithEncoding.call(void 0,
2503
2518
  opts.encoding,
2504
2519
  buffer,
2505
2520
  opts.responseVersionedDataHandler,
@@ -2546,8 +2561,8 @@ function createQueueSender(senderOptions) {
2546
2561
  }),
2547
2562
  requestToBare: (value) => ({
2548
2563
  name: _nullishCoalesce(value.name, () => ( name)),
2549
- body: _chunk4ESGNS3Zcjs.bufferToArrayBuffer.call(void 0,
2550
- _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0, value.body)
2564
+ body: _chunkTAG6UEL5cjs.bufferToArrayBuffer.call(void 0,
2565
+ _chunkTAG6UEL5cjs.encodeCborCompat.call(void 0, value.body)
2551
2566
  ),
2552
2567
  wait: _nullishCoalesce(value.wait, () => ( false)),
2553
2568
  timeout: value.timeout !== void 0 ? BigInt(value.timeout) : null
@@ -2567,7 +2582,7 @@ function createQueueSender(senderOptions) {
2567
2582
  }
2568
2583
  return {
2569
2584
  status: bare5.status,
2570
- response: _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.response))
2585
+ response: _chunkTAG6UEL5cjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.response))
2571
2586
  };
2572
2587
  }
2573
2588
  });
@@ -2581,31 +2596,20 @@ function createQueueSender(senderOptions) {
2581
2596
  };
2582
2597
  }
2583
2598
 
2584
- // src/common/fetch-like.ts
2585
- function isUrlLike(value) {
2586
- return typeof value === "object" && value !== null && typeof value.href === "string" && typeof value.pathname === "string" && typeof value.search === "string";
2587
- }
2588
- function isRequestLike(value) {
2589
- return typeof value === "object" && value !== null && typeof value.url === "string" && typeof value.method === "string" && isHeadersLike(value.headers);
2590
- }
2591
- function isResponseLike(value) {
2592
- return typeof value === "object" && value !== null && typeof value.status === "number" && isHeadersLike(value.headers) && typeof value.arrayBuffer === "function";
2593
- }
2594
- function isHeadersLike(value) {
2595
- return typeof value === "object" && value !== null && typeof value.entries === "function";
2596
- }
2597
-
2598
2599
  // src/client/raw-utils.ts
2599
2600
  async function rawHttpFetch(driver, target, params, input, init, options = {}) {
2600
2601
  let path;
2602
+ let originalUrl;
2601
2603
  let mergedInit = init || {};
2602
2604
  if (typeof input === "string") {
2603
2605
  path = input;
2604
2606
  } else if (isUrlLike(input)) {
2605
2607
  path = input.pathname + input.search;
2608
+ originalUrl = input.toString();
2606
2609
  } else if (isRequestLike(input)) {
2607
2610
  const url = new URL(input.url);
2608
2611
  path = url.pathname + url.search;
2612
+ originalUrl = url.toString();
2609
2613
  const requestHeaders = new Headers(input.headers);
2610
2614
  const initHeaders = new Headers((init == null ? void 0 : init.headers) || {});
2611
2615
  const mergedHeaders = new Headers(requestHeaders);
@@ -2635,7 +2639,7 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
2635
2639
  throw new TypeError("Invalid input type for fetch");
2636
2640
  }
2637
2641
  try {
2638
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug(
2642
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug(
2639
2643
  "directId" in target ? {
2640
2644
  msg: "sending raw http request to actor",
2641
2645
  actorId: target.directId
@@ -2647,6 +2651,10 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
2647
2651
  const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
2648
2652
  const url = new URL(`http://actor/request/${normalizedPath}`);
2649
2653
  const proxyRequestHeaders = new Headers(mergedInit.headers);
2654
+ proxyRequestHeaders.delete(HEADER_ORIGINAL_REQUEST_URL);
2655
+ if (originalUrl) {
2656
+ proxyRequestHeaders.set(HEADER_ORIGINAL_REQUEST_URL, originalUrl);
2657
+ }
2650
2658
  if (params) {
2651
2659
  proxyRequestHeaders.set(HEADER_CONN_PARAMS, JSON.stringify(params));
2652
2660
  }
@@ -2656,8 +2664,8 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
2656
2664
  });
2657
2665
  return driver.sendRequest(target, proxyRequest, options);
2658
2666
  } catch (err) {
2659
- const { group, code, message, metadata, rayId, actor } = _chunk4ESGNS3Zcjs.deconstructError.call(void 0, err, true);
2660
- throw new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, { metadata, rayId, actor });
2667
+ const { group, code, message, metadata, rayId, actor } = _chunkTAG6UEL5cjs.deconstructError.call(void 0, err, true);
2668
+ throw new (0, _chunk2JSYYH6Pcjs.RivetError)(group, code, message, { metadata, rayId, actor });
2661
2669
  }
2662
2670
  }
2663
2671
  async function rawWebSocket(driver, target, params, path, _protocols, options = {}) {
@@ -2677,7 +2685,7 @@ async function rawWebSocket(driver, target, params, path, _protocols, options =
2677
2685
  }
2678
2686
  }
2679
2687
  const fullPath = `${PATH_WEBSOCKET_PREFIX}${pathPortion}${queryPortion}`;
2680
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
2688
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
2681
2689
  msg: "opening websocket",
2682
2690
  target,
2683
2691
  encoding,
@@ -2707,7 +2715,7 @@ async function resolveGatewayTarget(driver, target) {
2707
2715
  key: target.getForKey.key
2708
2716
  });
2709
2717
  if (!output) {
2710
- throw _chunkSPJORZMMcjs.actorNotFound.call(void 0,
2718
+ throw _chunk2JSYYH6Pcjs.actorNotFound.call(void 0,
2711
2719
  `${target.getForKey.name}:${JSON.stringify(target.getForKey.key)}`
2712
2720
  );
2713
2721
  }
@@ -2733,7 +2741,7 @@ async function resolveGatewayTarget(driver, target) {
2733
2741
  });
2734
2742
  return output.actorId;
2735
2743
  }
2736
- throw _chunkSPJORZMMcjs.invalidRequest.call(void 0, "Invalid query format");
2744
+ throw _chunk2JSYYH6Pcjs.invalidRequest.call(void 0, "Invalid query format");
2737
2745
  }
2738
2746
 
2739
2747
  // src/client/actor-handle.ts
@@ -2776,7 +2784,9 @@ var ActorHandleRaw = class {
2776
2784
  async #sendQueueMessage(name, body, options) {
2777
2785
  return await this.#queueSendMutex.run(async () => {
2778
2786
  const maxAttempts = this.#getDynamicQueryMaxAttempts();
2779
- let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
2787
+ let useQueryTarget = isDynamicActorQuery(
2788
+ this.#actorResolutionState
2789
+ );
2780
2790
  for (let attempt = 0; attempt < maxAttempts; attempt++) {
2781
2791
  let actorId;
2782
2792
  try {
@@ -2800,7 +2810,7 @@ var ActorHandleRaw = class {
2800
2810
  }
2801
2811
  }).send(name, body, options);
2802
2812
  } catch (err) {
2803
- const { group, code, message, metadata, rayId, actor } = _chunk4ESGNS3Zcjs.deconstructError.call(void 0, err, true);
2813
+ const { group, code, message, metadata, rayId, actor } = _chunkTAG6UEL5cjs.deconstructError.call(void 0, err, true);
2804
2814
  if (this.#shouldRetryQueueDispatchOverload(
2805
2815
  group,
2806
2816
  code,
@@ -2846,7 +2856,7 @@ var ActorHandleRaw = class {
2846
2856
  }
2847
2857
  continue;
2848
2858
  }
2849
- throw new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
2859
+ throw new (0, _chunk2JSYYH6Pcjs.RivetError)(group, code, message, {
2850
2860
  metadata,
2851
2861
  rayId,
2852
2862
  actor
@@ -2890,13 +2900,13 @@ var ActorHandleRaw = class {
2890
2900
  gatewayOptions
2891
2901
  );
2892
2902
  actorId = "directId" in target ? target.directId : void 0;
2893
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug(
2903
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug(
2894
2904
  actorId ? { msg: "using direct actor gateway target", actorId } : {
2895
2905
  msg: "using query gateway target for action",
2896
2906
  query: this.#actorResolutionState
2897
2907
  }
2898
2908
  );
2899
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
2909
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
2900
2910
  msg: "handling action",
2901
2911
  name: opts.name,
2902
2912
  encoding: this.#encoding
@@ -2930,19 +2940,19 @@ var ActorHandleRaw = class {
2930
2940
  args
2931
2941
  }),
2932
2942
  requestToBare: (args) => ({
2933
- args: _chunk4ESGNS3Zcjs.bufferToArrayBuffer.call(void 0,
2934
- _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0, args)
2943
+ args: _chunkTAG6UEL5cjs.bufferToArrayBuffer.call(void 0,
2944
+ _chunkTAG6UEL5cjs.encodeCborCompat.call(void 0, args)
2935
2945
  )
2936
2946
  }),
2937
2947
  responseFromJson: (json) => json.output,
2938
- responseFromBare: (bare5) => _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.output))
2948
+ responseFromBare: (bare5) => _chunkTAG6UEL5cjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.output))
2939
2949
  });
2940
2950
  if (opts.name === "destroy" && actorId) {
2941
2951
  await this.#waitForDestroyActionToSettle(actorId);
2942
2952
  }
2943
2953
  return output;
2944
2954
  } catch (err) {
2945
- const { group, code, message, metadata, rayId, actor } = _chunk4ESGNS3Zcjs.deconstructError.call(void 0, err, true);
2955
+ const { group, code, message, metadata, rayId, actor } = _chunkTAG6UEL5cjs.deconstructError.call(void 0, err, true);
2946
2956
  if (await this.#shouldRetrySchedulingError(
2947
2957
  group,
2948
2958
  code,
@@ -2967,7 +2977,7 @@ var ActorHandleRaw = class {
2967
2977
  continue;
2968
2978
  }
2969
2979
  if (group === "actor" && code === "destroyed_while_waiting_for_ready" && "getForId" in this.#actorResolutionState) {
2970
- throw new (0, _chunkSPJORZMMcjs.RivetError)(
2980
+ throw new (0, _chunk2JSYYH6Pcjs.RivetError)(
2971
2981
  "actor",
2972
2982
  "not_found",
2973
2983
  "The actor does not exist or was destroyed.",
@@ -2987,7 +2997,7 @@ var ActorHandleRaw = class {
2987
2997
  }
2988
2998
  continue;
2989
2999
  }
2990
- throw new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
3000
+ throw new (0, _chunk2JSYYH6Pcjs.RivetError)(group, code, message, {
2991
3001
  metadata,
2992
3002
  rayId,
2993
3003
  actor
@@ -3098,7 +3108,7 @@ var ActorHandleRaw = class {
3098
3108
  * @returns {ActorConn<AD>} A connection to the actor.
3099
3109
  */
3100
3110
  connect(params, options = {}) {
3101
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3111
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
3102
3112
  msg: "establishing connection from handle",
3103
3113
  query: this.#actorResolutionState
3104
3114
  });
@@ -3125,9 +3135,10 @@ var ActorHandleRaw = class {
3125
3135
  return this.#fetchWithResolvedActor(input, init);
3126
3136
  }
3127
3137
  async #fetchWithResolvedActor(input, init) {
3128
- const maxAttempts = this.#getDynamicQueryMaxAttempts();
3129
- let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
3130
3138
  const { skipReadyWait, ...requestInit } = _nullishCoalesce(init, () => ( {}));
3139
+ const hasBody = requestInit.body !== void 0 ? requestInit.body !== null : isRequestLike(input) && input.body !== null;
3140
+ const maxAttempts = hasBody ? 1 : this.#getDynamicQueryMaxAttempts();
3141
+ let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
3131
3142
  const gatewayOptions = resolveActorGatewayOptions(
3132
3143
  this.#gatewayOptions,
3133
3144
  {
@@ -3165,7 +3176,7 @@ var ActorHandleRaw = class {
3165
3176
  }
3166
3177
  return response;
3167
3178
  } catch (err) {
3168
- const { group, code, message, metadata, rayId, actor } = _chunk4ESGNS3Zcjs.deconstructError.call(void 0, err, true);
3179
+ const { group, code, message, metadata, rayId, actor } = _chunkTAG6UEL5cjs.deconstructError.call(void 0, err, true);
3169
3180
  if (await this.#shouldRetrySchedulingError(
3170
3181
  group,
3171
3182
  code,
@@ -3201,7 +3212,7 @@ var ActorHandleRaw = class {
3201
3212
  }
3202
3213
  continue;
3203
3214
  }
3204
- throw new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
3215
+ throw new (0, _chunk2JSYYH6Pcjs.RivetError)(group, code, message, {
3205
3216
  metadata,
3206
3217
  rayId,
3207
3218
  actor
@@ -3261,7 +3272,7 @@ var ActorHandleRaw = class {
3261
3272
  const contentType = response.headers.get("content-type");
3262
3273
  const encoding = (contentType == null ? void 0 : contentType.includes("application/json")) ? "json" : this.#encoding;
3263
3274
  try {
3264
- const error = _chunk4ESGNS3Zcjs.deserializeWithEncoding.call(void 0,
3275
+ const error = _chunkTAG6UEL5cjs.deserializeWithEncoding.call(void 0,
3265
3276
  encoding,
3266
3277
  new Uint8Array(await response.clone().arrayBuffer()),
3267
3278
  HTTP_RESPONSE_ERROR_VERSIONED,
@@ -3277,7 +3288,7 @@ var ActorHandleRaw = class {
3277
3288
  group: bare5.group,
3278
3289
  code: bare5.code,
3279
3290
  message: bare5.message,
3280
- metadata: bare5.metadata ? _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.metadata)) : void 0,
3291
+ metadata: bare5.metadata ? _chunkTAG6UEL5cjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.metadata)) : void 0,
3281
3292
  actor: bare5.actor ? {
3282
3293
  actorId: bare5.actor.actorId,
3283
3294
  generation: Number(bare5.actor.generation),
@@ -3348,7 +3359,7 @@ var ActorHandleRaw = class {
3348
3359
  const response = await this.#driver.sendRequest(target, request);
3349
3360
  if (!response.ok) {
3350
3361
  const body = await response.text().catch(() => "");
3351
- throw new (0, _chunkSPJORZMMcjs.RivetError)(
3362
+ throw new (0, _chunk2JSYYH6Pcjs.RivetError)(
3352
3363
  "actor",
3353
3364
  "reload_failed",
3354
3365
  `reload failed with status ${response.status}: ${body}`,
@@ -3387,7 +3398,7 @@ var ClientRaw = (_class = class {
3387
3398
  * @returns {ActorHandle<AD>} - A handle to the actor.
3388
3399
  */
3389
3400
  getForId(name, actorId, opts) {
3390
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3401
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
3391
3402
  msg: "get handle to actor with id",
3392
3403
  name,
3393
3404
  actorId,
@@ -3417,7 +3428,7 @@ var ClientRaw = (_class = class {
3417
3428
  */
3418
3429
  get(name, key, opts) {
3419
3430
  const keyArray = typeof key === "string" ? [key] : key || [];
3420
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3431
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
3421
3432
  msg: "get handle to actor",
3422
3433
  name,
3423
3434
  key: keyArray,
@@ -3447,7 +3458,7 @@ var ClientRaw = (_class = class {
3447
3458
  */
3448
3459
  getOrCreate(name, key, opts) {
3449
3460
  const keyArray = typeof key === "string" ? [key] : key || [];
3450
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3461
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
3451
3462
  msg: "get or create handle to actor",
3452
3463
  name,
3453
3464
  key: keyArray,
@@ -3490,7 +3501,7 @@ var ClientRaw = (_class = class {
3490
3501
  key: keyArray
3491
3502
  }
3492
3503
  };
3493
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3504
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
3494
3505
  msg: "create actor handle",
3495
3506
  name,
3496
3507
  key: keyArray,
@@ -3498,7 +3509,7 @@ var ClientRaw = (_class = class {
3498
3509
  create: createQuery.create
3499
3510
  });
3500
3511
  const actorId = await resolveGatewayTarget(this.#driver, createQuery);
3501
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3512
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
3502
3513
  msg: "created actor with ID",
3503
3514
  name,
3504
3515
  key: keyArray,
@@ -3541,11 +3552,11 @@ var ClientRaw = (_class = class {
3541
3552
  */
3542
3553
  async dispose() {
3543
3554
  if (this.#disposed) {
3544
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({ msg: "client already disconnected" });
3555
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({ msg: "client already disconnected" });
3545
3556
  return;
3546
3557
  }
3547
3558
  this.#disposed = true;
3548
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({ msg: "disposing client" });
3559
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({ msg: "disposing client" });
3549
3560
  const disposePromises = [];
3550
3561
  for (const conn of this[ACTOR_CONNS_SYMBOL].values()) {
3551
3562
  disposePromises.push(conn.dispose());
@@ -3712,8 +3723,8 @@ var ActorConnRaw = class {
3712
3723
  if ("getForId" in actorResolutionState) {
3713
3724
  this.#actorId = actorResolutionState.getForId.actorId;
3714
3725
  }
3715
- this.#readyPromise = _chunk4ESGNS3Zcjs.promiseWithResolvers.call(void 0,
3716
- (reason) => _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
3726
+ this.#readyPromise = _chunkTAG6UEL5cjs.promiseWithResolvers.call(void 0,
3727
+ (reason) => _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({
3717
3728
  msg: "unhandled ready promise rejection",
3718
3729
  reason
3719
3730
  })
@@ -3776,11 +3787,11 @@ var ActorConnRaw = class {
3776
3787
  `Invalid action call: expected an options object { name, args }, got ${typeof opts}. Use conn.actionName(...args) for the shorthand API.`
3777
3788
  );
3778
3789
  }
3779
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({ msg: "action", name: opts.name, args: opts.args });
3790
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({ msg: "action", name: opts.name, args: opts.args });
3780
3791
  const actionId = this.#actionIdCounter;
3781
3792
  this.#actionIdCounter += 1;
3782
- const { promise, resolve, reject } = _chunk4ESGNS3Zcjs.promiseWithResolvers.call(void 0,
3783
- (reason) => _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
3793
+ const { promise, resolve, reject } = _chunkTAG6UEL5cjs.promiseWithResolvers.call(void 0,
3794
+ (reason) => _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({
3784
3795
  msg: "unhandled action promise rejection",
3785
3796
  reason
3786
3797
  })
@@ -3790,7 +3801,7 @@ var ActorConnRaw = class {
3790
3801
  resolve,
3791
3802
  reject
3792
3803
  });
3793
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3804
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
3794
3805
  msg: "added action to in-flight map",
3795
3806
  actionId,
3796
3807
  actionName: opts.name,
@@ -3830,9 +3841,9 @@ var ActorConnRaw = class {
3830
3841
  try {
3831
3842
  handler(status);
3832
3843
  } catch (err) {
3833
- _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3844
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).error({
3834
3845
  msg: "error in status change handler",
3835
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3846
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, err)
3836
3847
  });
3837
3848
  }
3838
3849
  }
@@ -3842,9 +3853,9 @@ var ActorConnRaw = class {
3842
3853
  try {
3843
3854
  handler();
3844
3855
  } catch (err) {
3845
- _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3856
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).error({
3846
3857
  msg: "error in open handler",
3847
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3858
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, err)
3848
3859
  });
3849
3860
  }
3850
3861
  }
@@ -3854,9 +3865,9 @@ var ActorConnRaw = class {
3854
3865
  try {
3855
3866
  handler();
3856
3867
  } catch (err) {
3857
- _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3868
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).error({
3858
3869
  msg: "error in close handler",
3859
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3870
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, err)
3860
3871
  });
3861
3872
  }
3862
3873
  }
@@ -3869,21 +3880,21 @@ var ActorConnRaw = class {
3869
3880
  minTimeout: 250,
3870
3881
  maxTimeout: 3e4,
3871
3882
  onFailedAttempt: (error) => {
3872
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
3883
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({
3873
3884
  msg: "failed to reconnect",
3874
3885
  attempt: error.attemptNumber,
3875
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, error)
3886
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, error)
3876
3887
  });
3877
3888
  },
3878
3889
  // Cancel retry if aborted
3879
3890
  signal: this.#abortController.signal
3880
3891
  }).catch((err) => {
3881
3892
  if (err instanceof _pretry.AbortError || err.name === "AbortError" || !this.#shouldRetryConnectionOpenError(err)) {
3882
- _chunkEQKSWDIHcjs.logger.call(void 0, ).info({ msg: "connection retry aborted" });
3893
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).info({ msg: "connection retry aborted" });
3883
3894
  } else {
3884
- _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3895
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).error({
3885
3896
  msg: "unexpected error in connection retry",
3886
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3897
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, err)
3887
3898
  });
3888
3899
  }
3889
3900
  });
@@ -3892,8 +3903,8 @@ var ActorConnRaw = class {
3892
3903
  try {
3893
3904
  if (this.#onOpenPromise)
3894
3905
  throw new Error("#onOpenPromise already defined");
3895
- this.#onOpenPromise = _chunk4ESGNS3Zcjs.promiseWithResolvers.call(void 0,
3896
- (reason) => _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
3906
+ this.#onOpenPromise = _chunkTAG6UEL5cjs.promiseWithResolvers.call(void 0,
3907
+ (reason) => _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({
3897
3908
  msg: "unhandled open promise rejection",
3898
3909
  reason
3899
3910
  })
@@ -3904,18 +3915,18 @@ var ActorConnRaw = class {
3904
3915
  if (this.#shouldRetryConnectionOpenError(error)) {
3905
3916
  throw error;
3906
3917
  }
3907
- const actorError = error instanceof _chunkSPJORZMMcjs.RivetError ? error : new (0, _chunkSPJORZMMcjs.RivetError)(
3918
+ const actorError = error instanceof _chunk2JSYYH6Pcjs.RivetError ? error : new (0, _chunk2JSYYH6Pcjs.RivetError)(
3908
3919
  "client",
3909
3920
  "connection_open_failed",
3910
- `Failed to open connection: ${_chunk4ESGNS3Zcjs.stringifyError.call(void 0, error)}`,
3911
- { error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, error) }
3921
+ `Failed to open connection: ${_chunkTAG6UEL5cjs.stringifyError.call(void 0, error)}`,
3922
+ { error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, error) }
3912
3923
  );
3913
3924
  this.#clearQueuedMessages();
3914
3925
  this.#rejectPendingPromises(actorError, false);
3915
3926
  this.#dispatchActorError(actorError);
3916
3927
  this.#setConnStatus("idle");
3917
3928
  throw new (0, _pretry.AbortError)(
3918
- error instanceof Error ? error : new Error(_chunk4ESGNS3Zcjs.stringifyError.call(void 0, error))
3929
+ error instanceof Error ? error : new Error(_chunkTAG6UEL5cjs.stringifyError.call(void 0, error))
3919
3930
  );
3920
3931
  } finally {
3921
3932
  this.#onOpenPromise = void 0;
@@ -3925,17 +3936,17 @@ var ActorConnRaw = class {
3925
3936
  if (error instanceof ActorConnDisposed) {
3926
3937
  return false;
3927
3938
  }
3928
- if (error instanceof _chunkSPJORZMMcjs.RivetError && this.#shouldReconnectForStaleActor(error.group, error.code)) {
3939
+ if (error instanceof _chunk2JSYYH6Pcjs.RivetError && this.#shouldReconnectForStaleActor(error.group, error.code)) {
3929
3940
  return true;
3930
3941
  }
3931
- if (error instanceof _chunkSPJORZMMcjs.RivetError && error.group === "client" && error.code === "get_params_failed") {
3942
+ if (error instanceof _chunk2JSYYH6Pcjs.RivetError && error.group === "client" && error.code === "get_params_failed") {
3932
3943
  return true;
3933
3944
  }
3934
3945
  return isRetryableLifecycleReconnectSignal(error);
3935
3946
  }
3936
3947
  #clearQueuedMessages() {
3937
3948
  if (this.#messageQueue.length === 0) return;
3938
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3949
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
3939
3950
  msg: "clearing queued connection messages",
3940
3951
  queueLength: this.#messageQueue.length
3941
3952
  });
@@ -3948,8 +3959,8 @@ var ActorConnRaw = class {
3948
3959
  try {
3949
3960
  return await this.#getParams();
3950
3961
  } catch (err) {
3951
- const errorMessage = _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err);
3952
- const error = new (0, _chunkSPJORZMMcjs.RivetError)(
3962
+ const errorMessage = _chunkTAG6UEL5cjs.stringifyError.call(void 0, err);
3963
+ const error = new (0, _chunk2JSYYH6Pcjs.RivetError)(
3953
3964
  "client",
3954
3965
  "get_params_failed",
3955
3966
  `Failed to resolve connection params: ${errorMessage}`,
@@ -3972,7 +3983,7 @@ var ActorConnRaw = class {
3972
3983
  this.#gatewayOptions
3973
3984
  );
3974
3985
  _invariant2.default.call(void 0, ws, "websocket should have been created");
3975
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3986
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
3976
3987
  msg: "opened websocket",
3977
3988
  connId: this.#connId,
3978
3989
  readyState: ws.readyState,
@@ -3980,7 +3991,7 @@ var ActorConnRaw = class {
3980
3991
  });
3981
3992
  this.#websocket = ws;
3982
3993
  ws.addEventListener("open", () => {
3983
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3994
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
3984
3995
  msg: "client websocket open",
3985
3996
  connId: this.#connId
3986
3997
  });
@@ -3989,9 +4000,9 @@ var ActorConnRaw = class {
3989
4000
  try {
3990
4001
  await this.#handleOnMessage(ev.data);
3991
4002
  } catch (err) {
3992
- _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
4003
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).error({
3993
4004
  msg: "error in websocket message handler",
3994
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
4005
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, err)
3995
4006
  });
3996
4007
  }
3997
4008
  });
@@ -3999,9 +4010,9 @@ var ActorConnRaw = class {
3999
4010
  try {
4000
4011
  await this.#handleOnClose(ev);
4001
4012
  } catch (err) {
4002
- _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
4013
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).error({
4003
4014
  msg: "error in websocket close handler",
4004
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
4015
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, err)
4005
4016
  });
4006
4017
  }
4007
4018
  });
@@ -4009,9 +4020,9 @@ var ActorConnRaw = class {
4009
4020
  try {
4010
4021
  this.#handleOnError();
4011
4022
  } catch (err) {
4012
- _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
4023
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).error({
4013
4024
  msg: "error in websocket error handler",
4014
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
4025
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, err)
4015
4026
  });
4016
4027
  }
4017
4028
  });
@@ -4019,7 +4030,7 @@ var ActorConnRaw = class {
4019
4030
  /** Called by the onopen event from drivers. */
4020
4031
  #handleOnOpen() {
4021
4032
  if (this.#disposed) {
4022
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4033
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4023
4034
  msg: "handleOnOpen called after dispose, closing websocket"
4024
4035
  });
4025
4036
  if (this.#websocket) {
@@ -4035,7 +4046,7 @@ var ActorConnRaw = class {
4035
4046
  queueMicrotask(() => {
4036
4047
  this.#openScheduled = false;
4037
4048
  if (this.#disposed) {
4038
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4049
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4039
4050
  msg: "handleOnOpen scheduled after dispose, closing websocket"
4040
4051
  });
4041
4052
  if (this.#websocket) {
@@ -4044,7 +4055,7 @@ var ActorConnRaw = class {
4044
4055
  }
4045
4056
  return;
4046
4057
  }
4047
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4058
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4048
4059
  msg: "socket open",
4049
4060
  messageQueueLength: this.#messageQueue.length,
4050
4061
  connId: this.#connId
@@ -4053,14 +4064,14 @@ var ActorConnRaw = class {
4053
4064
  if (this.#onOpenPromise) {
4054
4065
  this.#onOpenPromise.resolve(void 0);
4055
4066
  } else {
4056
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({ msg: "#onOpenPromise is undefined" });
4067
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({ msg: "#onOpenPromise is undefined" });
4057
4068
  }
4058
4069
  for (const eventName of this.#eventSubscriptions.keys()) {
4059
4070
  this.#sendSubscription(eventName, true);
4060
4071
  }
4061
4072
  const queue = this.#messageQueue;
4062
4073
  this.#messageQueue = [];
4063
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4074
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4064
4075
  msg: "flushing message queue",
4065
4076
  queueLength: queue.length
4066
4077
  });
@@ -4072,23 +4083,23 @@ var ActorConnRaw = class {
4072
4083
  /** Called by the onmessage event from drivers. */
4073
4084
  async #handleOnMessage(data) {
4074
4085
  var _a;
4075
- _chunkEQKSWDIHcjs.logger.call(void 0, ).trace({
4086
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).trace({
4076
4087
  msg: "received message",
4077
4088
  dataType: typeof data,
4078
4089
  isBlob: data instanceof Blob,
4079
4090
  isArrayBuffer: data instanceof ArrayBuffer
4080
4091
  });
4081
4092
  const response = await this.#parseMessage(data);
4082
- _chunkEQKSWDIHcjs.logger.call(void 0, ).trace(
4083
- _chunk4ESGNS3Zcjs.getLogMessage.call(void 0, ) ? {
4093
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).trace(
4094
+ _chunkTAG6UEL5cjs.getLogMessage.call(void 0, ) ? {
4084
4095
  msg: "parsed message",
4085
- message: _chunk4ESGNS3Zcjs.jsonStringifyCompat.call(void 0, response).substring(0, 100) + "..."
4096
+ message: _chunkTAG6UEL5cjs.jsonStringifyCompat.call(void 0, response).substring(0, 100) + "..."
4086
4097
  } : { msg: "parsed message" }
4087
4098
  );
4088
4099
  if (response.body.tag === "Init") {
4089
4100
  this.#actorId = response.body.val.actorId;
4090
4101
  this.#connId = response.body.val.connectionId;
4091
- _chunkEQKSWDIHcjs.logger.call(void 0, ).trace({
4102
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).trace({
4092
4103
  msg: "received init message",
4093
4104
  actorId: this.#actorId,
4094
4105
  connId: this.#connId
@@ -4099,7 +4110,7 @@ var ActorConnRaw = class {
4099
4110
  if (actionId !== null) {
4100
4111
  const inFlight = this.#takeActionInFlight(Number(actionId));
4101
4112
  this.#invalidateActorIfStale(group, code);
4102
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
4113
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({
4103
4114
  msg: "action error",
4104
4115
  actionId,
4105
4116
  actionName: inFlight == null ? void 0 : inFlight.name,
@@ -4112,13 +4123,13 @@ var ActorConnRaw = class {
4112
4123
  actorKey: actor == null ? void 0 : actor.key
4113
4124
  });
4114
4125
  inFlight.reject(
4115
- new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
4126
+ new (0, _chunk2JSYYH6Pcjs.RivetError)(group, code, message, {
4116
4127
  metadata,
4117
4128
  actor
4118
4129
  })
4119
4130
  );
4120
4131
  } else {
4121
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
4132
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({
4122
4133
  msg: "connection error",
4123
4134
  group,
4124
4135
  code,
@@ -4131,14 +4142,14 @@ var ActorConnRaw = class {
4131
4142
  if (this.#shouldReconnectForStaleActor(group, code)) {
4132
4143
  this.#clearResolvedActorIdentity();
4133
4144
  (_a = this.#onOpenPromise) == null ? void 0 : _a.reject(
4134
- new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
4145
+ new (0, _chunk2JSYYH6Pcjs.RivetError)(group, code, message, {
4135
4146
  metadata,
4136
4147
  actor
4137
4148
  })
4138
4149
  );
4139
4150
  return;
4140
4151
  }
4141
- let errorToThrow = new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
4152
+ let errorToThrow = new (0, _chunk2JSYYH6Pcjs.RivetError)(group, code, message, {
4142
4153
  metadata,
4143
4154
  actor
4144
4155
  });
@@ -4166,27 +4177,27 @@ var ActorConnRaw = class {
4166
4177
  }
4167
4178
  } else if (response.body.tag === "ActionResponse") {
4168
4179
  const { id: actionId } = response.body.val;
4169
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4180
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4170
4181
  msg: "received action response",
4171
4182
  actionId: Number(actionId),
4172
4183
  inFlightCount: this.#actionsInFlight.size,
4173
4184
  inFlightIds: Array.from(this.#actionsInFlight.keys())
4174
4185
  });
4175
4186
  const inFlight = this.#takeActionInFlight(Number(actionId));
4176
- _chunkEQKSWDIHcjs.logger.call(void 0, ).trace({
4187
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).trace({
4177
4188
  msg: "resolving action promise",
4178
4189
  actionId,
4179
4190
  actionName: inFlight == null ? void 0 : inFlight.name
4180
4191
  });
4181
4192
  inFlight.resolve(response.body.val);
4182
4193
  } else if (response.body.tag === "Event") {
4183
- _chunkEQKSWDIHcjs.logger.call(void 0, ).trace({
4194
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).trace({
4184
4195
  msg: "received event",
4185
4196
  name: response.body.val.name
4186
4197
  });
4187
4198
  this.#dispatchEvent(response.body.val);
4188
4199
  } else {
4189
- _chunk4ESGNS3Zcjs.assertUnreachable.call(void 0, response.body);
4200
+ _chunkTAG6UEL5cjs.assertUnreachable.call(void 0, response.body);
4190
4201
  }
4191
4202
  }
4192
4203
  /** Called by the onclose event from drivers. */
@@ -4195,7 +4206,7 @@ var ActorConnRaw = class {
4195
4206
  const closeEvent = event;
4196
4207
  const wasClean = closeEvent.wasClean;
4197
4208
  const wasConnected = this.#connStatus === "connected";
4198
- _chunkEQKSWDIHcjs.logger.call(void 0, ).info({
4209
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).info({
4199
4210
  msg: "socket closed",
4200
4211
  code: closeEvent.code,
4201
4212
  reason: closeEvent.reason,
@@ -4216,7 +4227,7 @@ var ActorConnRaw = class {
4216
4227
  if (this.#shouldReconnectForStaleActor(group, code)) {
4217
4228
  this.#clearResolvedActorIdentity();
4218
4229
  (_a = this.#onOpenPromise) == null ? void 0 : _a.reject(
4219
- new (0, _chunkSPJORZMMcjs.RivetError)(
4230
+ new (0, _chunk2JSYYH6Pcjs.RivetError)(
4220
4231
  group,
4221
4232
  code,
4222
4233
  `Connection closed: ${reason}`,
@@ -4237,7 +4248,7 @@ var ActorConnRaw = class {
4237
4248
  if (schedulingError) {
4238
4249
  error = schedulingError;
4239
4250
  } else {
4240
- error = new (0, _chunkSPJORZMMcjs.RivetError)(
4251
+ error = new (0, _chunk2JSYYH6Pcjs.RivetError)(
4241
4252
  group,
4242
4253
  code,
4243
4254
  `Connection closed: ${reason}`,
@@ -4245,7 +4256,7 @@ var ActorConnRaw = class {
4245
4256
  );
4246
4257
  }
4247
4258
  } else {
4248
- error = new (0, _chunkSPJORZMMcjs.RivetError)(
4259
+ error = new (0, _chunk2JSYYH6Pcjs.RivetError)(
4249
4260
  group,
4250
4261
  code,
4251
4262
  `Connection closed: ${reason}`,
@@ -4259,11 +4270,11 @@ var ActorConnRaw = class {
4259
4270
  );
4260
4271
  }
4261
4272
  this.#rejectPendingPromises(error, false);
4262
- if (error instanceof _chunkSPJORZMMcjs.RivetError) {
4273
+ if (error instanceof _chunk2JSYYH6Pcjs.RivetError) {
4263
4274
  this.#dispatchActorError(error);
4264
4275
  }
4265
4276
  if (wasConnected) {
4266
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4277
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4267
4278
  msg: "triggering reconnect",
4268
4279
  connId: this.#connId
4269
4280
  });
@@ -4287,12 +4298,12 @@ var ActorConnRaw = class {
4287
4298
  /** Called by the onerror event from drivers. */
4288
4299
  #handleOnError() {
4289
4300
  if (this.#disposed) return;
4290
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn("socket error");
4301
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn("socket error");
4291
4302
  }
4292
4303
  #takeActionInFlight(id) {
4293
4304
  const inFlight = this.#actionsInFlight.get(id);
4294
4305
  if (!inFlight) {
4295
- _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
4306
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).error({
4296
4307
  msg: "action not found in in-flight map",
4297
4308
  lookupId: id,
4298
4309
  inFlightCount: this.#actionsInFlight.size,
@@ -4307,7 +4318,7 @@ var ActorConnRaw = class {
4307
4318
  throw internalClientError(`No in flight response for ${id}`);
4308
4319
  }
4309
4320
  this.#actionsInFlight.delete(id);
4310
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4321
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4311
4322
  msg: "removed action from in-flight map",
4312
4323
  actionId: id,
4313
4324
  actionName: inFlight.name,
@@ -4334,9 +4345,9 @@ var ActorConnRaw = class {
4334
4345
  try {
4335
4346
  handler(error);
4336
4347
  } catch (err) {
4337
- _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
4348
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).error({
4338
4349
  msg: "error in connection error handler",
4339
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
4350
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, err)
4340
4351
  });
4341
4352
  }
4342
4353
  }
@@ -4441,9 +4452,9 @@ var ActorConnRaw = class {
4441
4452
  try {
4442
4453
  callback();
4443
4454
  } catch (err) {
4444
- _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
4455
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).error({
4445
4456
  msg: "error in open handler",
4446
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
4457
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, err)
4447
4458
  });
4448
4459
  }
4449
4460
  });
@@ -4493,7 +4504,7 @@ var ActorConnRaw = class {
4493
4504
  let queueMessage = false;
4494
4505
  if (this.#websocket) {
4495
4506
  const readyState = this.#websocket.readyState;
4496
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4507
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4497
4508
  msg: "websocket send attempt",
4498
4509
  readyState,
4499
4510
  readyStateString: readyState === 0 ? "CONNECTING" : readyState === 1 ? "OPEN" : readyState === 2 ? "CLOSING" : "CLOSED",
@@ -4502,7 +4513,7 @@ var ActorConnRaw = class {
4502
4513
  actionName: (_a = message.body.val) == null ? void 0 : _a.name
4503
4514
  });
4504
4515
  if (this.#connStatus !== "connected") {
4505
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4516
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4506
4517
  msg: "websocket init pending, queueing message",
4507
4518
  connStatus: this.#connStatus,
4508
4519
  messageType: message.body.tag
@@ -4510,7 +4521,7 @@ var ActorConnRaw = class {
4510
4521
  queueMessage = true;
4511
4522
  } else if (readyState === 1) {
4512
4523
  try {
4513
- const messageSerialized = _chunk4ESGNS3Zcjs.serializeWithEncoding.call(void 0,
4524
+ const messageSerialized = _chunkTAG6UEL5cjs.serializeWithEncoding.call(void 0,
4514
4525
  this.#encoding,
4515
4526
  message,
4516
4527
  CLIENT_PROTOCOL_TO_SERVER,
@@ -4527,8 +4538,8 @@ var ActorConnRaw = class {
4527
4538
  val: {
4528
4539
  id: msg.body.val.id,
4529
4540
  name: msg.body.val.name,
4530
- args: _chunk4ESGNS3Zcjs.bufferToArrayBuffer.call(void 0,
4531
- _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0,
4541
+ args: _chunkTAG6UEL5cjs.bufferToArrayBuffer.call(void 0,
4542
+ _chunkTAG6UEL5cjs.encodeCborCompat.call(void 0,
4532
4543
  msg.body.val.args
4533
4544
  )
4534
4545
  )
@@ -4542,12 +4553,12 @@ var ActorConnRaw = class {
4542
4553
  );
4543
4554
  this.#websocket.send(messageSerialized);
4544
4555
  const serializedLength = messageLength(messageSerialized);
4545
- _chunkEQKSWDIHcjs.logger.call(void 0, ).trace({
4556
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).trace({
4546
4557
  msg: "sent websocket message",
4547
4558
  len: serializedLength
4548
4559
  });
4549
4560
  } catch (error) {
4550
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
4561
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({
4551
4562
  msg: "failed to send message, added to queue",
4552
4563
  error,
4553
4564
  connId: this.#connId
@@ -4555,19 +4566,19 @@ var ActorConnRaw = class {
4555
4566
  queueMessage = true;
4556
4567
  }
4557
4568
  } else {
4558
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4569
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4559
4570
  msg: "websocket not open, queueing message",
4560
4571
  readyState
4561
4572
  });
4562
4573
  queueMessage = true;
4563
4574
  }
4564
4575
  } else {
4565
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({ msg: "no websocket, queueing message" });
4576
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({ msg: "no websocket, queueing message" });
4566
4577
  queueMessage = true;
4567
4578
  }
4568
4579
  if (!(opts == null ? void 0 : opts.ephemeral) && queueMessage) {
4569
4580
  this.#messageQueue.push(message);
4570
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4581
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({
4571
4582
  msg: "queued connection message",
4572
4583
  queueLength: this.#messageQueue.length,
4573
4584
  connId: this.#connId,
@@ -4578,8 +4589,8 @@ var ActorConnRaw = class {
4578
4589
  }
4579
4590
  async #parseMessage(data) {
4580
4591
  _invariant2.default.call(void 0, this.#websocket, "websocket must be defined");
4581
- const buffer = await _chunk4ESGNS3Zcjs.inputDataToBuffer.call(void 0, data);
4582
- return _chunk4ESGNS3Zcjs.deserializeWithEncoding.call(void 0,
4592
+ const buffer = await _chunkTAG6UEL5cjs.inputDataToBuffer.call(void 0, data);
4593
+ return _chunkTAG6UEL5cjs.deserializeWithEncoding.call(void 0,
4583
4594
  this.#encoding,
4584
4595
  buffer,
4585
4596
  CLIENT_PROTOCOL_TO_CLIENT,
@@ -4614,7 +4625,7 @@ var ActorConnRaw = class {
4614
4625
  group: msg.body.val.group,
4615
4626
  code: msg.body.val.code,
4616
4627
  message: msg.body.val.message,
4617
- metadata: msg.body.val.metadata ? _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0,
4628
+ metadata: msg.body.val.metadata ? _chunkTAG6UEL5cjs.decodeCborCompat.call(void 0,
4618
4629
  new Uint8Array(
4619
4630
  msg.body.val.metadata
4620
4631
  )
@@ -4636,7 +4647,7 @@ var ActorConnRaw = class {
4636
4647
  tag: "ActionResponse",
4637
4648
  val: {
4638
4649
  id: msg.body.val.id,
4639
- output: _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0,
4650
+ output: _chunkTAG6UEL5cjs.decodeCborCompat.call(void 0,
4640
4651
  new Uint8Array(msg.body.val.output)
4641
4652
  )
4642
4653
  }
@@ -4648,7 +4659,7 @@ var ActorConnRaw = class {
4648
4659
  tag: "Event",
4649
4660
  val: {
4650
4661
  name: msg.body.val.name,
4651
- args: _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0,
4662
+ args: _chunkTAG6UEL5cjs.decodeCborCompat.call(void 0,
4652
4663
  new Uint8Array(msg.body.val.args)
4653
4664
  )
4654
4665
  }
@@ -4689,11 +4700,11 @@ var ActorConnRaw = class {
4689
4700
  */
4690
4701
  async dispose() {
4691
4702
  if (this.#disposed) {
4692
- _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({ msg: "connection already disconnected" });
4703
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({ msg: "connection already disconnected" });
4693
4704
  return;
4694
4705
  }
4695
4706
  this.#disposed = true;
4696
- _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({ msg: "disposing actor conn" });
4707
+ _chunkTXUHVBKHcjs.logger.call(void 0, ).debug({ msg: "disposing actor conn" });
4697
4708
  this.#setConnStatus("idle");
4698
4709
  clearInterval(this.#keepNodeAliveInterval);
4699
4710
  this.#abortController.abort();
@@ -4701,8 +4712,8 @@ var ActorConnRaw = class {
4701
4712
  if (this.#websocket) {
4702
4713
  const ws = this.#websocket;
4703
4714
  if (ws.readyState !== 2 && ws.readyState !== 3) {
4704
- const { promise, resolve } = _chunk4ESGNS3Zcjs.promiseWithResolvers.call(void 0,
4705
- (reason) => _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
4715
+ const { promise, resolve } = _chunkTAG6UEL5cjs.promiseWithResolvers.call(void 0,
4716
+ (reason) => _chunkTXUHVBKHcjs.logger.call(void 0, ).warn({
4706
4717
  msg: "unhandled websocket close promise rejection",
4707
4718
  reason
4708
4719
  })
@@ -4821,7 +4832,7 @@ var ClientConfigSchemaBase = _v42.default.object({
4821
4832
  * Defaults to http://localhost:6420.
4822
4833
  */
4823
4834
  endpoint: _v42.default.string().optional().transform((val) => {
4824
- const resolved = _nullishCoalesce(_nullishCoalesce(val, () => ( _chunk4ESGNS3Zcjs.getRivetEngine.call(void 0, ))), () => ( _chunk4ESGNS3Zcjs.getRivetEndpoint.call(void 0, )));
4835
+ const resolved = _nullishCoalesce(_nullishCoalesce(val, () => ( _chunkTAG6UEL5cjs.getRivetEngine.call(void 0, ))), () => ( _chunkTAG6UEL5cjs.getRivetEndpoint.call(void 0, )));
4825
4836
  if (!resolved && !hasWarnedMissingEndpoint) {
4826
4837
  hasWarnedMissingEndpoint = true;
4827
4838
  console.warn(
@@ -4831,12 +4842,12 @@ var ClientConfigSchemaBase = _v42.default.object({
4831
4842
  return _nullishCoalesce(resolved, () => ( DEFAULT_ENDPOINT));
4832
4843
  }),
4833
4844
  /** Token to use to authenticate with the API. */
4834
- token: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk4ESGNS3Zcjs.getRivetToken.call(void 0, )))),
4845
+ token: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkTAG6UEL5cjs.getRivetToken.call(void 0, )))),
4835
4846
  /** Namespace to connect to. */
4836
- namespace: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk4ESGNS3Zcjs.getRivetNamespace.call(void 0, )))),
4847
+ namespace: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkTAG6UEL5cjs.getRivetNamespace.call(void 0, )))),
4837
4848
  /** Name of the envoy pool. This is used to group together envoys in to different pools. */
4838
- poolName: _v42.default.string().default(() => _nullishCoalesce(_chunk4ESGNS3Zcjs.getRivetPool.call(void 0, ), () => ( "default"))),
4839
- encoding: _chunk4ESGNS3Zcjs.EncodingSchema.default("bare"),
4849
+ poolName: _v42.default.string().default(() => _nullishCoalesce(_chunkTAG6UEL5cjs.getRivetPool.call(void 0, ), () => ( "default"))),
4850
+ encoding: _chunkTAG6UEL5cjs.EncodingSchema.default("bare"),
4840
4851
  headers: _v42.default.record(_v42.default.string(), _v42.default.string()).optional().default(() => ({})),
4841
4852
  gateway: _v42.default.object({
4842
4853
  skipReadyWait: _v42.default.boolean().optional().default(false)
@@ -4913,23 +4924,19 @@ async function sendHttpRequestToGateway(runConfig, gatewayUrl, actorRequest, opt
4913
4924
  if (actorRequest.bodyUsed) {
4914
4925
  throw new Error("Request body has already been consumed");
4915
4926
  }
4916
- const reqBody = await actorRequest.arrayBuffer();
4917
- if (reqBody.byteLength !== 0) {
4918
- bodyToSend = reqBody;
4927
+ if (actorRequest.body) {
4928
+ bodyToSend = actorRequest.body;
4919
4929
  guardHeaders.delete("transfer-encoding");
4920
4930
  guardHeaders.delete("content-length");
4921
4931
  }
4922
4932
  }
4923
- const guardRequest = new Request(gatewayUrl, {
4933
+ return fetch(gatewayUrl, {
4924
4934
  method: actorRequest.method,
4925
4935
  headers: guardHeaders,
4926
4936
  body: bodyToSend,
4927
- signal: actorRequest.signal
4937
+ signal: actorRequest.signal,
4938
+ ...bodyToSend ? { duplex: "half" } : {}
4928
4939
  });
4929
- return mutableResponse(await fetch(guardRequest));
4930
- }
4931
- function mutableResponse(fetchRes) {
4932
- return new Response(fetchRes.body, fetchRes);
4933
4940
  }
4934
4941
  function buildGuardHeaders(runConfig, actorRequest, options) {
4935
4942
  const headers = new Headers();
@@ -4995,7 +5002,7 @@ function setRemoteHibernatableWebSocketAckTestHooks(websocket, token, enabled) {
4995
5002
 
4996
5003
  // src/engine-client/log.ts
4997
5004
  function logger2() {
4998
- return _chunk4ESGNS3Zcjs.getLogger.call(void 0, "engine-client");
5005
+ return _chunkTAG6UEL5cjs.getLogger.call(void 0, "engine-client");
4999
5006
  }
5000
5007
 
5001
5008
  // src/engine-client/actor-websocket-client.ts
@@ -5128,7 +5135,7 @@ var BufferedRemoteWebSocket = (_class2 = class {
5128
5135
  function buildActorGatewayUrl(endpoint, actorId, token, path = "") {
5129
5136
  const tokenSegment = token !== void 0 ? `@${encodeURIComponent(token)}` : "";
5130
5137
  const gatewayPath = `/gateway/${encodeURIComponent(actorId)}${tokenSegment}${path}`;
5131
- return _chunk4ESGNS3Zcjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
5138
+ return _chunkTAG6UEL5cjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
5132
5139
  }
5133
5140
  function buildActorQueryGatewayUrl(endpoint, namespace, query, token, path = "", maxInputSize = DEFAULT_MAX_QUERY_INPUT_SIZE, crashPolicy = void 0, runnerName, options = {}) {
5134
5141
  if (namespace.length === 0) {
@@ -5194,7 +5201,7 @@ function buildActorQueryGatewayUrl(endpoint, namespace, query, token, path = "",
5194
5201
  separator = "?";
5195
5202
  }
5196
5203
  const gatewayPath = `/gateway/${encodeURIComponent(name)}${path}${separator}${queryString}`;
5197
- return _chunk4ESGNS3Zcjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
5204
+ return _chunkTAG6UEL5cjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
5198
5205
  }
5199
5206
  function pushKeyQueryParams(params, key) {
5200
5207
  if (key.length > 0) {
@@ -5205,7 +5212,7 @@ function pushInputQueryParam(params, input, maxInputSize) {
5205
5212
  if (input === void 0) {
5206
5213
  return;
5207
5214
  }
5208
- const encodedInput = _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0, input);
5215
+ const encodedInput = _chunkTAG6UEL5cjs.encodeCborCompat.call(void 0, input);
5209
5216
  if (encodedInput.byteLength > maxInputSize) {
5210
5217
  throw new Error(
5211
5218
  `Actor query input exceeds maxInputSize (${encodedInput.byteLength} > ${maxInputSize} bytes). Increase client maxInputSize to allow larger query payloads.`
@@ -5214,10 +5221,10 @@ function pushInputQueryParam(params, input, maxInputSize) {
5214
5221
  params.append("rvt-input", uint8ArrayToBase64Url(encodedInput));
5215
5222
  }
5216
5223
  function uint8ArrayToBase64Url(value) {
5217
- return _chunk4ESGNS3Zcjs.uint8ArrayToBase64.call(void 0, value).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
5224
+ return _chunkTAG6UEL5cjs.uint8ArrayToBase64.call(void 0, value).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
5218
5225
  }
5219
5226
  async function openWebSocketToGateway(runConfig, gatewayUrl, encoding, params, options = {}) {
5220
- const WebSocket2 = await _chunkEQKSWDIHcjs.importWebSocket.call(void 0, );
5227
+ const WebSocket2 = await _chunkTXUHVBKHcjs.importWebSocket.call(void 0, );
5221
5228
  const ackHookToken = typeof process !== "undefined" && process.env.VITEST ? crypto.randomUUID() : void 0;
5222
5229
  logger2().debug({
5223
5230
  msg: "opening websocket to actor via guard",
@@ -5284,7 +5291,7 @@ function getEndpoint(config) {
5284
5291
  }
5285
5292
  async function apiCall(config, method, path, body) {
5286
5293
  const endpoint = getEndpoint(config);
5287
- const url = _chunk4ESGNS3Zcjs.combineUrlPath.call(void 0, endpoint, path, {
5294
+ const url = _chunkTAG6UEL5cjs.combineUrlPath.call(void 0, endpoint, path, {
5288
5295
  namespace: config.namespace
5289
5296
  });
5290
5297
  logger2().debug({ msg: "making api call", method, url });
@@ -5409,7 +5416,7 @@ async function lookupMetadataCached(config) {
5409
5416
  msg: "failed to fetch metadata, retrying",
5410
5417
  endpoint,
5411
5418
  attempt: error.attemptNumber,
5412
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, error)
5419
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, error)
5413
5420
  });
5414
5421
  }
5415
5422
  }
@@ -5421,7 +5428,7 @@ async function lookupMetadataCached(config) {
5421
5428
 
5422
5429
  // src/engine-client/ws-proxy.ts
5423
5430
  async function createWebSocketProxy(_c, targetUrl, protocols) {
5424
- const WebSocket2 = await _chunkEQKSWDIHcjs.importWebSocket.call(void 0, );
5431
+ const WebSocket2 = await _chunkTXUHVBKHcjs.importWebSocket.call(void 0, );
5425
5432
  const state = {};
5426
5433
  return {
5427
5434
  onOpen: async (_event, clientWs) => {
@@ -5486,7 +5493,7 @@ async function createWebSocketProxy(_c, targetUrl, protocols) {
5486
5493
  logger2().error({
5487
5494
  msg: "target websocket error",
5488
5495
  targetUrl,
5489
- error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, error)
5496
+ error: _chunkTAG6UEL5cjs.stringifyError.call(void 0, error)
5490
5497
  });
5491
5498
  closeWebSocketIfOpen(clientWs, 1011, "Target WebSocket error");
5492
5499
  });
@@ -5565,7 +5572,7 @@ var RemoteEngineControlClient = class {
5565
5572
  #config;
5566
5573
  #metadataPromise;
5567
5574
  constructor(runConfig) {
5568
- if (_chunk4ESGNS3Zcjs.getNextPhase.call(void 0, ) === "phase-production-build") {
5575
+ if (_chunkTAG6UEL5cjs.getNextPhase.call(void 0, ) === "phase-production-build") {
5569
5576
  logger2().info(
5570
5577
  "detected next.js build phase, disabling health check"
5571
5578
  );
@@ -5637,7 +5644,7 @@ var RemoteEngineControlClient = class {
5637
5644
  });
5638
5645
  return apiActorToOutput(actor);
5639
5646
  } catch (error) {
5640
- if (error instanceof _chunkSPJORZMMcjs.RivetError && error.group === "actor" && error.code === "not_found") {
5647
+ if (error instanceof _chunk2JSYYH6Pcjs.RivetError && error.group === "actor" && error.code === "not_found") {
5641
5648
  return void 0;
5642
5649
  }
5643
5650
  throw error;
@@ -5664,8 +5671,8 @@ var RemoteEngineControlClient = class {
5664
5671
  name,
5665
5672
  key: _chunkMYWZCDMLcjs.serializeActorKey.call(void 0, key),
5666
5673
  runner_name_selector: _nullishCoalesce(poolName, () => ( this.#config.poolName)),
5667
- input: actorInput ? _chunk4ESGNS3Zcjs.uint8ArrayToBase64.call(void 0,
5668
- _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0, actorInput)
5674
+ input: actorInput ? _chunkTAG6UEL5cjs.uint8ArrayToBase64.call(void 0,
5675
+ _chunkTAG6UEL5cjs.encodeCborCompat.call(void 0, actorInput)
5669
5676
  ) : void 0,
5670
5677
  crash_policy: _nullishCoalesce(crashPolicy, () => ( "sleep"))
5671
5678
  });
@@ -5678,7 +5685,7 @@ var RemoteEngineControlClient = class {
5678
5685
  });
5679
5686
  return apiActorToOutput(actor);
5680
5687
  } catch (error) {
5681
- if (error instanceof _chunkSPJORZMMcjs.RivetError && error.group === "actor" && error.code === "key_reserved_in_different_datacenter") {
5688
+ if (error instanceof _chunk2JSYYH6Pcjs.RivetError && error.group === "actor" && error.code === "key_reserved_in_different_datacenter") {
5682
5689
  logger2().warn({
5683
5690
  msg: "getOrCreateWithKey: key reserved in different datacenter, retrying as get",
5684
5691
  name,
@@ -5713,7 +5720,7 @@ var RemoteEngineControlClient = class {
5713
5720
  name,
5714
5721
  runner_name_selector: _nullishCoalesce(poolName, () => ( this.#config.poolName)),
5715
5722
  key: _chunkMYWZCDMLcjs.serializeActorKey.call(void 0, key),
5716
- input: input ? _chunk4ESGNS3Zcjs.uint8ArrayToBase64.call(void 0, _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0, input)) : void 0,
5723
+ input: input ? _chunkTAG6UEL5cjs.uint8ArrayToBase64.call(void 0, _chunkTAG6UEL5cjs.encodeCborCompat.call(void 0, input)) : void 0,
5717
5724
  crash_policy: _nullishCoalesce(crashPolicy, () => ( "sleep"))
5718
5725
  });
5719
5726
  logger2().info({
@@ -5791,7 +5798,7 @@ var RemoteEngineControlClient = class {
5791
5798
  const upgradeWebSocket = (_b = (_a = this.#config).getUpgradeWebSocket) == null ? void 0 : _b.call(_a);
5792
5799
  _invariant2.default.call(void 0, upgradeWebSocket, "missing getUpgradeWebSocket");
5793
5800
  const endpoint = getEndpoint(this.#config);
5794
- const guardUrl = _chunk4ESGNS3Zcjs.combineUrlPath.call(void 0, endpoint, path);
5801
+ const guardUrl = _chunkTAG6UEL5cjs.combineUrlPath.call(void 0, endpoint, path);
5795
5802
  const wsGuardUrl = guardUrl.replace("http://", "ws://");
5796
5803
  logger2().debug({
5797
5804
  msg: "forwarding websocket to actor via guard",
@@ -5810,7 +5817,7 @@ var RemoteEngineControlClient = class {
5810
5817
  }
5811
5818
  );
5812
5819
  const args = await createWebSocketProxy(c, wsGuardUrl, protocols);
5813
- return await upgradeWebSocket(() => args)(c, _chunk4ESGNS3Zcjs.noopNext.call(void 0, ));
5820
+ return await upgradeWebSocket(() => args)(c, _chunkTAG6UEL5cjs.noopNext.call(void 0, ));
5814
5821
  }
5815
5822
  displayInformation() {
5816
5823
  return { properties: {} };
@@ -5821,7 +5828,7 @@ var RemoteEngineControlClient = class {
5821
5828
  #buildGatewayUrlForTarget(target, path, options = {}) {
5822
5829
  const endpoint = getEndpoint(this.#config);
5823
5830
  if (shouldSkipReadyWait(options) && directActorIdFromTarget(target) && canUseDirectSkipReadyWaitPath(path)) {
5824
- return _chunk4ESGNS3Zcjs.combineUrlPath.call(void 0, endpoint, path);
5831
+ return _chunkTAG6UEL5cjs.combineUrlPath.call(void 0, endpoint, path);
5825
5832
  }
5826
5833
  if ("directId" in target) {
5827
5834
  return buildActorGatewayUrl(
@@ -5914,5 +5921,6 @@ function apiActorToOutput(actor) {
5914
5921
 
5915
5922
 
5916
5923
 
5917
- exports.HEADER_CONN_PARAMS = HEADER_CONN_PARAMS; exports.ALLOWED_PUBLIC_HEADERS = ALLOWED_PUBLIC_HEADERS; exports.ActorClientError = ActorClientError; exports.ManagerError = ManagerError; exports.MalformedResponseMessage = MalformedResponseMessage; exports.ActorConnDisposed = ActorConnDisposed; 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;
5918
- //# sourceMappingURL=chunk-PZBWSCQR.cjs.map
5924
+
5925
+ 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.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;
5926
+ //# sourceMappingURL=chunk-TZPNSOG2.cjs.map