rivetkit 2.3.12-rc.1 → 2.3.12-rc.3

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 (114) hide show
  1. package/dist/browser/client.d.ts +4 -0
  2. package/dist/browser/client.js +116 -60
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.js +1 -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.d.cts +1 -1
  8. package/dist/tsup/actor/errors.d.ts +1 -1
  9. package/dist/tsup/actor/errors.js +1 -1
  10. package/dist/tsup/agent-os/index.cjs +2 -2
  11. package/dist/tsup/agent-os/index.cjs.map +1 -1
  12. package/dist/tsup/agent-os/index.d.cts +4 -0
  13. package/dist/tsup/agent-os/index.d.ts +4 -0
  14. package/dist/tsup/agent-os/index.js +2 -2
  15. package/dist/tsup/agent-os/index.js.map +1 -1
  16. package/dist/tsup/{chunk-MT33DKU4.js → chunk-34Q4YVCX.js} +2 -2
  17. package/dist/tsup/{chunk-T4MKKCRF.cjs → chunk-4ESGNS3Z.cjs} +15 -10
  18. package/dist/tsup/chunk-4ESGNS3Z.cjs.map +1 -0
  19. package/dist/tsup/{chunk-VJ4KLJO5.cjs → chunk-EQKSWDIH.cjs} +3 -3
  20. package/dist/tsup/{chunk-VJ4KLJO5.cjs.map → chunk-EQKSWDIH.cjs.map} +1 -1
  21. package/dist/tsup/{chunk-BZX4LYYD.cjs → chunk-IJWTHKH6.cjs} +3 -3
  22. package/dist/tsup/{chunk-BZX4LYYD.cjs.map → chunk-IJWTHKH6.cjs.map} +1 -1
  23. package/dist/tsup/{chunk-ZZ3WBRPD.js → chunk-IXBD7BXC.js} +15 -4
  24. package/dist/tsup/chunk-IXBD7BXC.js.map +1 -0
  25. package/dist/tsup/{chunk-ZTPFJOBX.js → chunk-NHI5L7C7.js} +3 -3
  26. package/dist/tsup/{chunk-CMZBDX6Z.cjs → chunk-O6H3BUN4.cjs} +3 -3
  27. package/dist/tsup/{chunk-CMZBDX6Z.cjs.map → chunk-O6H3BUN4.cjs.map} +1 -1
  28. package/dist/tsup/{chunk-HVHDZDM2.js → chunk-OLGQYFUW.js} +8 -3
  29. package/dist/tsup/chunk-OLGQYFUW.js.map +1 -0
  30. package/dist/tsup/{chunk-BEPAAID2.cjs → chunk-OX6WVQE6.cjs} +10 -10
  31. package/dist/tsup/{chunk-BEPAAID2.cjs.map → chunk-OX6WVQE6.cjs.map} +1 -1
  32. package/dist/tsup/{chunk-KRPA4UOE.js → chunk-PSXMESQJ.js} +2 -2
  33. package/dist/tsup/{chunk-6ETWXXAZ.cjs → chunk-PZBWSCQR.cjs} +262 -213
  34. package/dist/tsup/chunk-PZBWSCQR.cjs.map +1 -0
  35. package/dist/tsup/{chunk-2D5PNV5A.cjs → chunk-QLOBB27M.cjs} +4 -4
  36. package/dist/tsup/{chunk-2D5PNV5A.cjs.map → chunk-QLOBB27M.cjs.map} +1 -1
  37. package/dist/tsup/{chunk-4FC7TVS6.cjs → chunk-SPJORZMM.cjs} +15 -4
  38. package/dist/tsup/chunk-SPJORZMM.cjs.map +1 -0
  39. package/dist/tsup/{chunk-DIHAXOB7.cjs → chunk-UBB32UOG.cjs} +7 -7
  40. package/dist/tsup/{chunk-DIHAXOB7.cjs.map → chunk-UBB32UOG.cjs.map} +1 -1
  41. package/dist/tsup/{chunk-OZWVDFCA.js → chunk-UN5JNDBT.js} +4 -4
  42. package/dist/tsup/{chunk-5UYNV4W6.js → chunk-WVFTFWJL.js} +2 -2
  43. package/dist/tsup/{chunk-JHHAMABO.js → chunk-XI4MEUUI.js} +2 -2
  44. package/dist/tsup/{chunk-A5BZEQOG.js → chunk-YYIDQBBM.js} +110 -61
  45. package/dist/tsup/chunk-YYIDQBBM.js.map +1 -0
  46. package/dist/tsup/client/mod.cjs +6 -6
  47. package/dist/tsup/client/mod.d.cts +5 -5
  48. package/dist/tsup/client/mod.d.ts +5 -5
  49. package/dist/tsup/client/mod.js +5 -5
  50. package/dist/tsup/common/log.cjs +3 -3
  51. package/dist/tsup/common/log.js +2 -2
  52. package/dist/tsup/common/websocket.cjs +4 -4
  53. package/dist/tsup/common/websocket.js +3 -3
  54. package/dist/tsup/{config-DTGoWdkG.d.cts → config-BXSV17G7.d.cts} +2 -2
  55. package/dist/tsup/{config-C4OSv0QP.d.ts → config-Bi1r6gI7.d.ts} +2 -2
  56. package/dist/tsup/{context-C6cvDNyk.d.cts → context-4fJemY0D.d.cts} +1 -1
  57. package/dist/tsup/{context-CMygeBxS.d.ts → context-D4sNYboo.d.ts} +1 -1
  58. package/dist/tsup/db/drizzle.cjs +3 -3
  59. package/dist/tsup/db/drizzle.js +2 -2
  60. package/dist/tsup/db/mod.cjs +4 -4
  61. package/dist/tsup/db/mod.js +3 -3
  62. package/dist/tsup/dynamic/mod.d.cts +3 -3
  63. package/dist/tsup/dynamic/mod.d.ts +3 -3
  64. package/dist/tsup/inspector/mod.cjs +6 -6
  65. package/dist/tsup/inspector/mod.js +5 -5
  66. package/dist/tsup/inspector/workflow.cjs +5 -5
  67. package/dist/tsup/inspector/workflow.js +4 -4
  68. package/dist/tsup/inspector-tab/mod.d.cts +4 -4
  69. package/dist/tsup/inspector-tab/mod.d.ts +4 -4
  70. package/dist/tsup/mod.cjs +111 -110
  71. package/dist/tsup/mod.cjs.map +1 -1
  72. package/dist/tsup/mod.d.cts +5 -5
  73. package/dist/tsup/mod.d.ts +5 -5
  74. package/dist/tsup/mod.js +8 -7
  75. package/dist/tsup/mod.js.map +1 -1
  76. package/dist/tsup/test/mod.cjs +7 -7
  77. package/dist/tsup/test/mod.d.cts +3 -3
  78. package/dist/tsup/test/mod.d.ts +3 -3
  79. package/dist/tsup/test/mod.js +5 -5
  80. package/dist/tsup/{utils-DQDCphrl.d.cts → utils-Bbz-3411.d.cts} +1 -1
  81. package/dist/tsup/{utils-CV0akuDD.d.ts → utils-BqdWVlzm.d.ts} +1 -1
  82. package/dist/tsup/{utils-CqDnC_PS.d.cts → utils-vvJQyygr.d.cts} +5 -0
  83. package/dist/tsup/{utils-CqDnC_PS.d.ts → utils-vvJQyygr.d.ts} +5 -0
  84. package/dist/tsup/utils.cjs +3 -3
  85. package/dist/tsup/utils.d.cts +2 -2
  86. package/dist/tsup/utils.d.ts +2 -2
  87. package/dist/tsup/utils.js +2 -2
  88. package/dist/tsup/workflow/mod.cjs +11 -11
  89. package/dist/tsup/workflow/mod.d.cts +5 -5
  90. package/dist/tsup/workflow/mod.d.ts +5 -5
  91. package/dist/tsup/workflow/mod.js +5 -5
  92. package/package.json +8 -8
  93. package/src/actor/errors.ts +29 -2
  94. package/src/client/actor-conn.ts +5 -4
  95. package/src/client/actor-handle.ts +47 -19
  96. package/src/client/actor-query.ts +8 -1
  97. package/src/client/errors.ts +2 -1
  98. package/src/client/raw-utils.ts +3 -5
  99. package/src/client/utils.ts +2 -0
  100. package/src/common/utils.ts +6 -0
  101. package/src/engine-client/mod.ts +51 -20
  102. package/src/registry/native.ts +1 -0
  103. package/dist/tsup/chunk-4FC7TVS6.cjs.map +0 -1
  104. package/dist/tsup/chunk-6ETWXXAZ.cjs.map +0 -1
  105. package/dist/tsup/chunk-A5BZEQOG.js.map +0 -1
  106. package/dist/tsup/chunk-HVHDZDM2.js.map +0 -1
  107. package/dist/tsup/chunk-T4MKKCRF.cjs.map +0 -1
  108. package/dist/tsup/chunk-ZZ3WBRPD.js.map +0 -1
  109. /package/dist/tsup/{chunk-MT33DKU4.js.map → chunk-34Q4YVCX.js.map} +0 -0
  110. /package/dist/tsup/{chunk-ZTPFJOBX.js.map → chunk-NHI5L7C7.js.map} +0 -0
  111. /package/dist/tsup/{chunk-KRPA4UOE.js.map → chunk-PSXMESQJ.js.map} +0 -0
  112. /package/dist/tsup/{chunk-OZWVDFCA.js.map → chunk-UN5JNDBT.js.map} +0 -0
  113. /package/dist/tsup/{chunk-5UYNV4W6.js.map → chunk-WVFTFWJL.js.map} +0 -0
  114. /package/dist/tsup/{chunk-JHHAMABO.js.map → chunk-XI4MEUUI.js.map} +0 -0
@@ -8,7 +8,7 @@ var _chunkKVFIONKQcjs = require('./chunk-KVFIONKQ.cjs');
8
8
 
9
9
 
10
10
 
11
- var _chunkVJ4KLJO5cjs = require('./chunk-VJ4KLJO5.cjs');
11
+ var _chunkEQKSWDIHcjs = require('./chunk-EQKSWDIH.cjs');
12
12
 
13
13
 
14
14
 
@@ -35,13 +35,13 @@ var _chunkVJ4KLJO5cjs = require('./chunk-VJ4KLJO5.cjs');
35
35
 
36
36
 
37
37
 
38
- var _chunkT4MKKCRFcjs = require('./chunk-T4MKKCRF.cjs');
38
+ var _chunk4ESGNS3Zcjs = require('./chunk-4ESGNS3Z.cjs');
39
39
 
40
40
 
41
41
 
42
42
 
43
43
 
44
- var _chunk4FC7TVS6cjs = require('./chunk-4FC7TVS6.cjs');
44
+ var _chunkSPJORZMMcjs = require('./chunk-SPJORZMM.cjs');
45
45
 
46
46
  // src/common/actor-router-consts.ts
47
47
  var PATH_CONNECT = "/connect";
@@ -108,16 +108,16 @@ var ActorConnDisposed = class extends ActorClientError {
108
108
  function isSchedulingError(group, code) {
109
109
  return group === "guard" && (code === "actor_ready_timeout" || code === "actor_runner_failed");
110
110
  }
111
- function actorSchedulingError(group, code, actorId, details) {
112
- return new (0, _chunk4FC7TVS6cjs.RivetError)(
111
+ function actorSchedulingError(group, code, actorId, details, rayId) {
112
+ return new (0, _chunkSPJORZMMcjs.RivetError)(
113
113
  group,
114
114
  code,
115
115
  `Actor failed to start (${actorId}): ${JSON.stringify(details)}`,
116
- { metadata: { actorId, details } }
116
+ { metadata: { actorId, details }, rayId }
117
117
  );
118
118
  }
119
119
  function internalClientError(message, opts) {
120
- return new (0, _chunk4FC7TVS6cjs.RivetError)("rivetkit", _chunk4FC7TVS6cjs.INTERNAL_ERROR_CODE, message, {
120
+ return new (0, _chunkSPJORZMMcjs.RivetError)("rivetkit", _chunkSPJORZMMcjs.INTERNAL_ERROR_CODE, message, {
121
121
  cause: opts == null ? void 0 : opts.cause
122
122
  });
123
123
  }
@@ -2102,7 +2102,7 @@ function getActorNameFromQuery(query) {
2102
2102
  if ("getForKey" in query) return query.getForKey.name;
2103
2103
  if ("getOrCreateForKey" in query) return query.getOrCreateForKey.name;
2104
2104
  if ("create" in query) return query.create.name;
2105
- throw _chunk4FC7TVS6cjs.invalidRequest.call(void 0, "Invalid query format");
2105
+ throw _chunkSPJORZMMcjs.invalidRequest.call(void 0, "Invalid query format");
2106
2106
  }
2107
2107
  function isDynamicActorQuery(actorQuery) {
2108
2108
  return "getForKey" in actorQuery || "getOrCreateForKey" in actorQuery;
@@ -2112,7 +2112,7 @@ function getGatewayTarget(state) {
2112
2112
  return { directId: state.getForId.actorId };
2113
2113
  }
2114
2114
  if ("create" in state) {
2115
- throw _chunk4FC7TVS6cjs.invalidRequest.call(void 0,
2115
+ throw _chunkSPJORZMMcjs.invalidRequest.call(void 0,
2116
2116
  "create queries cannot be used as gateway targets. Resolve to an actor ID first."
2117
2117
  );
2118
2118
  }
@@ -2121,23 +2121,29 @@ function getGatewayTarget(state) {
2121
2121
  function isStaleResolvedActorError(group, code) {
2122
2122
  return group === "actor" && (code === "not_found" || code === "starting" || code === "stopping" || code === "not_configured" || code === "dropped_reply" || code.startsWith("destroyed_"));
2123
2123
  }
2124
- async function checkForSchedulingError(group, code, actorId, query, driver) {
2124
+ async function checkForSchedulingError(group, code, actorId, query, driver, rayId) {
2125
2125
  const name = getActorNameFromQuery(query);
2126
2126
  try {
2127
2127
  const actor = await driver.getForId({ name, actorId });
2128
2128
  if (actor == null ? void 0 : actor.error) {
2129
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).info({
2129
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).info({
2130
2130
  msg: "found actor scheduling error",
2131
2131
  actorId,
2132
2132
  error: actor.error
2133
2133
  });
2134
- return actorSchedulingError(group, code, actorId, actor.error);
2134
+ return actorSchedulingError(
2135
+ group,
2136
+ code,
2137
+ actorId,
2138
+ actor.error,
2139
+ rayId
2140
+ );
2135
2141
  }
2136
2142
  } catch (err) {
2137
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({
2143
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
2138
2144
  msg: "failed to fetch actor details for scheduling error check",
2139
2145
  actorId,
2140
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, err)
2146
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
2141
2147
  });
2142
2148
  }
2143
2149
  return null;
@@ -2270,7 +2276,7 @@ function classifyTransportError(error) {
2270
2276
  }
2271
2277
  function classifyLifecycleBoundaryError(error) {
2272
2278
  for (const current of walkErrorChain(error)) {
2273
- if (current instanceof _chunk4FC7TVS6cjs.RivetError) {
2279
+ if (current instanceof _chunkSPJORZMMcjs.RivetError) {
2274
2280
  const classified = classifyActorError(current);
2275
2281
  if (classified) {
2276
2282
  return classified;
@@ -2347,7 +2353,7 @@ function parseWebSocketCloseReason(reason) {
2347
2353
  const [mainPart, rayId] = reason.split("#");
2348
2354
  const [group, code] = mainPart.split(".");
2349
2355
  if (!group || !code) {
2350
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({ msg: "failed to parse close reason", reason });
2356
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({ msg: "failed to parse close reason", reason });
2351
2357
  return void 0;
2352
2358
  }
2353
2359
  return {
@@ -2369,11 +2375,11 @@ function messageLength(message) {
2369
2375
  if (typeof message === "string") {
2370
2376
  return message.length;
2371
2377
  }
2372
- _chunkT4MKKCRFcjs.assertUnreachable.call(void 0, message);
2378
+ _chunk4ESGNS3Zcjs.assertUnreachable.call(void 0, message);
2373
2379
  }
2374
2380
  async function sendHttpRequest(opts) {
2375
2381
  var _a, _b, _c;
2376
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
2382
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
2377
2383
  msg: "sending http request",
2378
2384
  url: opts.url,
2379
2385
  encoding: opts.encoding
@@ -2382,8 +2388,8 @@ async function sendHttpRequest(opts) {
2382
2388
  let bodyData;
2383
2389
  if (opts.method === "POST" || opts.method === "PUT") {
2384
2390
  _invariant2.default.call(void 0, opts.body !== void 0, "missing body");
2385
- contentType = _chunkT4MKKCRFcjs.contentTypeForEncoding.call(void 0, opts.encoding);
2386
- bodyData = _chunkT4MKKCRFcjs.serializeWithEncoding.call(void 0,
2391
+ contentType = _chunk4ESGNS3Zcjs.contentTypeForEncoding.call(void 0, opts.encoding);
2392
+ bodyData = _chunk4ESGNS3Zcjs.serializeWithEncoding.call(void 0,
2387
2393
  opts.encoding,
2388
2394
  opts.body,
2389
2395
  opts.requestVersionedDataHandler,
@@ -2403,7 +2409,7 @@ async function sendHttpRequest(opts) {
2403
2409
  ...contentType ? {
2404
2410
  "Content-Type": contentType
2405
2411
  } : {},
2406
- "User-Agent": _chunkT4MKKCRFcjs.httpUserAgent.call(void 0, )
2412
+ "User-Agent": _chunk4ESGNS3Zcjs.httpUserAgent.call(void 0, )
2407
2413
  },
2408
2414
  body: bodyData,
2409
2415
  credentials: "include",
@@ -2421,7 +2427,7 @@ async function sendHttpRequest(opts) {
2421
2427
  const rayId = response.headers.get("x-rivet-ray-id");
2422
2428
  const encoding = (contentType2 == null ? void 0 : contentType2.includes("application/json")) ? "json" : opts.encoding;
2423
2429
  try {
2424
- const responseData = _chunkT4MKKCRFcjs.deserializeWithEncoding.call(void 0,
2430
+ const responseData = _chunk4ESGNS3Zcjs.deserializeWithEncoding.call(void 0,
2425
2431
  encoding,
2426
2432
  new Uint8Array(bufferResponse),
2427
2433
  HTTP_RESPONSE_ERROR_VERSIONED,
@@ -2439,7 +2445,7 @@ async function sendHttpRequest(opts) {
2439
2445
  group: bare5.group,
2440
2446
  code: bare5.code,
2441
2447
  message: bare5.message,
2442
- metadata: bare5.metadata ? _chunkT4MKKCRFcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.metadata)) : void 0,
2448
+ metadata: bare5.metadata ? _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.metadata)) : void 0,
2443
2449
  actor: bare5.actor ? {
2444
2450
  actorId: bare5.actor.actorId,
2445
2451
  generation: Number(bare5.actor.generation),
@@ -2447,27 +2453,29 @@ async function sendHttpRequest(opts) {
2447
2453
  } : void 0
2448
2454
  })
2449
2455
  );
2450
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({
2456
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
2451
2457
  msg: "http error response",
2452
2458
  group: responseData.group,
2453
2459
  code: responseData.code,
2454
2460
  message: responseData.message,
2455
2461
  metadata: responseData.metadata,
2462
+ rayId,
2456
2463
  actorId: (_a = responseData.actor) == null ? void 0 : _a.actorId,
2457
2464
  generation: (_b = responseData.actor) == null ? void 0 : _b.generation,
2458
2465
  actorKey: (_c = responseData.actor) == null ? void 0 : _c.key
2459
2466
  });
2460
- throw new (0, _chunk4FC7TVS6cjs.RivetError)(
2467
+ throw new (0, _chunkSPJORZMMcjs.RivetError)(
2461
2468
  responseData.group,
2462
2469
  responseData.code,
2463
2470
  responseData.message,
2464
2471
  {
2465
2472
  metadata: responseData.metadata,
2473
+ rayId: _nullishCoalesce(rayId, () => ( void 0)),
2466
2474
  actor: responseData.actor
2467
2475
  }
2468
2476
  );
2469
2477
  } catch (error) {
2470
- if (error instanceof _chunk4FC7TVS6cjs.RivetError) {
2478
+ if (error instanceof _chunkSPJORZMMcjs.RivetError) {
2471
2479
  throw error;
2472
2480
  }
2473
2481
  const textResponse = new TextDecoder("utf-8", {
@@ -2491,7 +2499,7 @@ ${textResponse}`
2491
2499
  }
2492
2500
  try {
2493
2501
  const buffer = new Uint8Array(await response.arrayBuffer());
2494
- return _chunkT4MKKCRFcjs.deserializeWithEncoding.call(void 0,
2502
+ return _chunk4ESGNS3Zcjs.deserializeWithEncoding.call(void 0,
2495
2503
  opts.encoding,
2496
2504
  buffer,
2497
2505
  opts.responseVersionedDataHandler,
@@ -2538,8 +2546,8 @@ function createQueueSender(senderOptions) {
2538
2546
  }),
2539
2547
  requestToBare: (value) => ({
2540
2548
  name: _nullishCoalesce(value.name, () => ( name)),
2541
- body: _chunkT4MKKCRFcjs.bufferToArrayBuffer.call(void 0,
2542
- _chunkT4MKKCRFcjs.encodeCborCompat.call(void 0, value.body)
2549
+ body: _chunk4ESGNS3Zcjs.bufferToArrayBuffer.call(void 0,
2550
+ _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0, value.body)
2543
2551
  ),
2544
2552
  wait: _nullishCoalesce(value.wait, () => ( false)),
2545
2553
  timeout: value.timeout !== void 0 ? BigInt(value.timeout) : null
@@ -2559,7 +2567,7 @@ function createQueueSender(senderOptions) {
2559
2567
  }
2560
2568
  return {
2561
2569
  status: bare5.status,
2562
- response: _chunkT4MKKCRFcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.response))
2570
+ response: _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.response))
2563
2571
  };
2564
2572
  }
2565
2573
  });
@@ -2627,7 +2635,7 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
2627
2635
  throw new TypeError("Invalid input type for fetch");
2628
2636
  }
2629
2637
  try {
2630
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug(
2638
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug(
2631
2639
  "directId" in target ? {
2632
2640
  msg: "sending raw http request to actor",
2633
2641
  actorId: target.directId
@@ -2648,11 +2656,8 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
2648
2656
  });
2649
2657
  return driver.sendRequest(target, proxyRequest, options);
2650
2658
  } catch (err) {
2651
- const { group, code, message, metadata, actor } = _chunkT4MKKCRFcjs.deconstructError.call(void 0,
2652
- err,
2653
- true
2654
- );
2655
- throw new (0, _chunk4FC7TVS6cjs.RivetError)(group, code, message, { metadata, actor });
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 });
2656
2661
  }
2657
2662
  }
2658
2663
  async function rawWebSocket(driver, target, params, path, _protocols, options = {}) {
@@ -2672,7 +2677,7 @@ async function rawWebSocket(driver, target, params, path, _protocols, options =
2672
2677
  }
2673
2678
  }
2674
2679
  const fullPath = `${PATH_WEBSOCKET_PREFIX}${pathPortion}${queryPortion}`;
2675
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
2680
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
2676
2681
  msg: "opening websocket",
2677
2682
  target,
2678
2683
  encoding,
@@ -2702,7 +2707,7 @@ async function resolveGatewayTarget(driver, target) {
2702
2707
  key: target.getForKey.key
2703
2708
  });
2704
2709
  if (!output) {
2705
- throw _chunk4FC7TVS6cjs.actorNotFound.call(void 0,
2710
+ throw _chunkSPJORZMMcjs.actorNotFound.call(void 0,
2706
2711
  `${target.getForKey.name}:${JSON.stringify(target.getForKey.key)}`
2707
2712
  );
2708
2713
  }
@@ -2728,7 +2733,7 @@ async function resolveGatewayTarget(driver, target) {
2728
2733
  });
2729
2734
  return output.actorId;
2730
2735
  }
2731
- throw _chunk4FC7TVS6cjs.invalidRequest.call(void 0, "Invalid query format");
2736
+ throw _chunkSPJORZMMcjs.invalidRequest.call(void 0, "Invalid query format");
2732
2737
  }
2733
2738
 
2734
2739
  // src/client/actor-handle.ts
@@ -2771,7 +2776,7 @@ var ActorHandleRaw = class {
2771
2776
  async #sendQueueMessage(name, body, options) {
2772
2777
  return await this.#queueSendMutex.run(async () => {
2773
2778
  const maxAttempts = this.#getDynamicQueryMaxAttempts();
2774
- let useQueryTarget = false;
2779
+ let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
2775
2780
  for (let attempt = 0; attempt < maxAttempts; attempt++) {
2776
2781
  let actorId;
2777
2782
  try {
@@ -2795,7 +2800,7 @@ var ActorHandleRaw = class {
2795
2800
  }
2796
2801
  }).send(name, body, options);
2797
2802
  } catch (err) {
2798
- const { group, code, message, metadata, actor } = _chunkT4MKKCRFcjs.deconstructError.call(void 0, err, true);
2803
+ const { group, code, message, metadata, rayId, actor } = _chunk4ESGNS3Zcjs.deconstructError.call(void 0, err, true);
2799
2804
  if (this.#shouldRetryQueueDispatchOverload(
2800
2805
  group,
2801
2806
  code,
@@ -2811,7 +2816,8 @@ var ActorHandleRaw = class {
2811
2816
  code,
2812
2817
  actorId,
2813
2818
  attempt,
2814
- maxAttempts
2819
+ maxAttempts,
2820
+ rayId
2815
2821
  )) {
2816
2822
  useQueryTarget = true;
2817
2823
  await this.#waitForRetryWindow();
@@ -2833,14 +2839,16 @@ var ActorHandleRaw = class {
2833
2839
  code
2834
2840
  );
2835
2841
  if (invalidated && attempt < maxAttempts - 1) {
2836
- useQueryTarget = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
2837
- if (useQueryTarget) {
2842
+ const waitForReady = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
2843
+ useQueryTarget = useQueryTarget || waitForReady;
2844
+ if (waitForReady) {
2838
2845
  await this.#waitForRetryWindow();
2839
2846
  }
2840
2847
  continue;
2841
2848
  }
2842
- throw new (0, _chunk4FC7TVS6cjs.RivetError)(group, code, message, {
2849
+ throw new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
2843
2850
  metadata,
2851
+ rayId,
2844
2852
  actor
2845
2853
  });
2846
2854
  }
@@ -2869,7 +2877,7 @@ var ActorHandleRaw = class {
2869
2877
  }
2870
2878
  async #sendActionNow(opts) {
2871
2879
  const maxAttempts = this.#getDynamicQueryMaxAttempts();
2872
- let useQueryTarget = false;
2880
+ let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
2873
2881
  const gatewayOptions = resolveActorGatewayOptions(
2874
2882
  this.#gatewayOptions,
2875
2883
  opts
@@ -2882,13 +2890,13 @@ var ActorHandleRaw = class {
2882
2890
  gatewayOptions
2883
2891
  );
2884
2892
  actorId = "directId" in target ? target.directId : void 0;
2885
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug(
2893
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug(
2886
2894
  actorId ? { msg: "using direct actor gateway target", actorId } : {
2887
2895
  msg: "using query gateway target for action",
2888
2896
  query: this.#actorResolutionState
2889
2897
  }
2890
2898
  );
2891
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
2899
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
2892
2900
  msg: "handling action",
2893
2901
  name: opts.name,
2894
2902
  encoding: this.#encoding
@@ -2922,25 +2930,26 @@ var ActorHandleRaw = class {
2922
2930
  args
2923
2931
  }),
2924
2932
  requestToBare: (args) => ({
2925
- args: _chunkT4MKKCRFcjs.bufferToArrayBuffer.call(void 0,
2926
- _chunkT4MKKCRFcjs.encodeCborCompat.call(void 0, args)
2933
+ args: _chunk4ESGNS3Zcjs.bufferToArrayBuffer.call(void 0,
2934
+ _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0, args)
2927
2935
  )
2928
2936
  }),
2929
2937
  responseFromJson: (json) => json.output,
2930
- responseFromBare: (bare5) => _chunkT4MKKCRFcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.output))
2938
+ responseFromBare: (bare5) => _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.output))
2931
2939
  });
2932
2940
  if (opts.name === "destroy" && actorId) {
2933
2941
  await this.#waitForDestroyActionToSettle(actorId);
2934
2942
  }
2935
2943
  return output;
2936
2944
  } catch (err) {
2937
- const { group, code, message, metadata, actor } = _chunkT4MKKCRFcjs.deconstructError.call(void 0, err, true);
2945
+ const { group, code, message, metadata, rayId, actor } = _chunk4ESGNS3Zcjs.deconstructError.call(void 0, err, true);
2938
2946
  if (await this.#shouldRetrySchedulingError(
2939
2947
  group,
2940
2948
  code,
2941
2949
  actorId,
2942
2950
  attempt,
2943
- maxAttempts
2951
+ maxAttempts,
2952
+ rayId
2944
2953
  )) {
2945
2954
  useQueryTarget = true;
2946
2955
  await this.#waitForRetryWindow();
@@ -2958,11 +2967,11 @@ var ActorHandleRaw = class {
2958
2967
  continue;
2959
2968
  }
2960
2969
  if (group === "actor" && code === "destroyed_while_waiting_for_ready" && "getForId" in this.#actorResolutionState) {
2961
- throw new (0, _chunk4FC7TVS6cjs.RivetError)(
2970
+ throw new (0, _chunkSPJORZMMcjs.RivetError)(
2962
2971
  "actor",
2963
2972
  "not_found",
2964
2973
  "The actor does not exist or was destroyed.",
2965
- { metadata, actor }
2974
+ { metadata, rayId, actor }
2966
2975
  );
2967
2976
  }
2968
2977
  const invalidated = this.#invalidateResolvedActorId(
@@ -2978,7 +2987,11 @@ var ActorHandleRaw = class {
2978
2987
  }
2979
2988
  continue;
2980
2989
  }
2981
- throw new (0, _chunk4FC7TVS6cjs.RivetError)(group, code, message, { metadata, actor });
2990
+ throw new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
2991
+ metadata,
2992
+ rayId,
2993
+ actor
2994
+ });
2982
2995
  }
2983
2996
  }
2984
2997
  throw new Error("unreachable action retry state");
@@ -3020,7 +3033,7 @@ var ActorHandleRaw = class {
3020
3033
  this.#resolvedActorId = void 0;
3021
3034
  this.#resolvingActorId = void 0;
3022
3035
  }
3023
- async #shouldRetrySchedulingError(group, code, actorId, attempt, maxAttempts) {
3036
+ async #shouldRetrySchedulingError(group, code, actorId, attempt, maxAttempts, rayId) {
3024
3037
  if (!isDynamicActorQuery(this.#actorResolutionState) || !isSchedulingError(group, code) || attempt >= maxAttempts - 1) {
3025
3038
  return false;
3026
3039
  }
@@ -3030,7 +3043,8 @@ var ActorHandleRaw = class {
3030
3043
  code,
3031
3044
  actorId,
3032
3045
  this.#actorResolutionState,
3033
- this.#driver
3046
+ this.#driver,
3047
+ rayId
3034
3048
  );
3035
3049
  if (schedulingError) {
3036
3050
  throw schedulingError;
@@ -3084,7 +3098,7 @@ var ActorHandleRaw = class {
3084
3098
  * @returns {ActorConn<AD>} A connection to the actor.
3085
3099
  */
3086
3100
  connect(params, options = {}) {
3087
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
3101
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3088
3102
  msg: "establishing connection from handle",
3089
3103
  query: this.#actorResolutionState
3090
3104
  });
@@ -3112,7 +3126,7 @@ var ActorHandleRaw = class {
3112
3126
  }
3113
3127
  async #fetchWithResolvedActor(input, init) {
3114
3128
  const maxAttempts = this.#getDynamicQueryMaxAttempts();
3115
- let useQueryTarget = false;
3129
+ let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
3116
3130
  const { skipReadyWait, ...requestInit } = _nullishCoalesce(init, () => ( {}));
3117
3131
  const gatewayOptions = resolveActorGatewayOptions(
3118
3132
  this.#gatewayOptions,
@@ -3151,13 +3165,14 @@ var ActorHandleRaw = class {
3151
3165
  }
3152
3166
  return response;
3153
3167
  } catch (err) {
3154
- const { group, code, message, metadata, actor } = _chunkT4MKKCRFcjs.deconstructError.call(void 0, err, true);
3168
+ const { group, code, message, metadata, rayId, actor } = _chunk4ESGNS3Zcjs.deconstructError.call(void 0, err, true);
3155
3169
  if (await this.#shouldRetrySchedulingError(
3156
3170
  group,
3157
3171
  code,
3158
3172
  actorId,
3159
3173
  attempt,
3160
- maxAttempts
3174
+ maxAttempts,
3175
+ rayId
3161
3176
  )) {
3162
3177
  useQueryTarget = true;
3163
3178
  await this.#waitForRetryWindow();
@@ -3179,13 +3194,18 @@ var ActorHandleRaw = class {
3179
3194
  code
3180
3195
  );
3181
3196
  if (invalidated && attempt < maxAttempts - 1) {
3182
- useQueryTarget = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
3183
- if (useQueryTarget) {
3197
+ const waitForReady = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
3198
+ useQueryTarget = useQueryTarget || waitForReady;
3199
+ if (waitForReady) {
3184
3200
  await this.#waitForRetryWindow();
3185
3201
  }
3186
3202
  continue;
3187
3203
  }
3188
- throw new (0, _chunk4FC7TVS6cjs.RivetError)(group, code, message, { metadata, actor });
3204
+ throw new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
3205
+ metadata,
3206
+ rayId,
3207
+ actor
3208
+ });
3189
3209
  }
3190
3210
  }
3191
3211
  throw new Error("unreachable fetch retry state");
@@ -3198,13 +3218,14 @@ var ActorHandleRaw = class {
3198
3218
  if (!error) {
3199
3219
  return null;
3200
3220
  }
3201
- const { group, code } = error;
3221
+ const { group, code, rayId } = error;
3202
3222
  if (await this.#shouldRetrySchedulingError(
3203
3223
  group,
3204
3224
  code,
3205
3225
  actorId,
3206
3226
  attempt,
3207
- maxAttempts
3227
+ maxAttempts,
3228
+ rayId
3208
3229
  )) {
3209
3230
  return {
3210
3231
  useQueryTarget: true,
@@ -3225,10 +3246,10 @@ var ActorHandleRaw = class {
3225
3246
  }
3226
3247
  const invalidated = this.#invalidateResolvedActorId(group, code);
3227
3248
  if (invalidated && attempt < maxAttempts - 1) {
3228
- const useQueryTarget = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
3249
+ const waitForReady = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
3229
3250
  return {
3230
- useQueryTarget,
3231
- waitForRetryWindow: useQueryTarget
3251
+ useQueryTarget: true,
3252
+ waitForRetryWindow: waitForReady
3232
3253
  };
3233
3254
  }
3234
3255
  return null;
@@ -3240,7 +3261,7 @@ var ActorHandleRaw = class {
3240
3261
  const contentType = response.headers.get("content-type");
3241
3262
  const encoding = (contentType == null ? void 0 : contentType.includes("application/json")) ? "json" : this.#encoding;
3242
3263
  try {
3243
- return _chunkT4MKKCRFcjs.deserializeWithEncoding.call(void 0,
3264
+ const error = _chunk4ESGNS3Zcjs.deserializeWithEncoding.call(void 0,
3244
3265
  encoding,
3245
3266
  new Uint8Array(await response.clone().arrayBuffer()),
3246
3267
  HTTP_RESPONSE_ERROR_VERSIONED,
@@ -3256,7 +3277,7 @@ var ActorHandleRaw = class {
3256
3277
  group: bare5.group,
3257
3278
  code: bare5.code,
3258
3279
  message: bare5.message,
3259
- metadata: bare5.metadata ? _chunkT4MKKCRFcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.metadata)) : void 0,
3280
+ metadata: bare5.metadata ? _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0, new Uint8Array(bare5.metadata)) : void 0,
3260
3281
  actor: bare5.actor ? {
3261
3282
  actorId: bare5.actor.actorId,
3262
3283
  generation: Number(bare5.actor.generation),
@@ -3264,6 +3285,10 @@ var ActorHandleRaw = class {
3264
3285
  } : void 0
3265
3286
  })
3266
3287
  );
3288
+ return {
3289
+ ...error,
3290
+ rayId: _nullishCoalesce(response.headers.get("x-rivet-ray-id"), () => ( void 0))
3291
+ };
3267
3292
  } catch (e) {
3268
3293
  return null;
3269
3294
  }
@@ -3323,11 +3348,13 @@ var ActorHandleRaw = class {
3323
3348
  const response = await this.#driver.sendRequest(target, request);
3324
3349
  if (!response.ok) {
3325
3350
  const body = await response.text().catch(() => "");
3326
- throw new (0, _chunk4FC7TVS6cjs.RivetError)(
3351
+ throw new (0, _chunkSPJORZMMcjs.RivetError)(
3327
3352
  "actor",
3328
3353
  "reload_failed",
3329
3354
  `reload failed with status ${response.status}: ${body}`,
3330
- {}
3355
+ {
3356
+ rayId: _nullishCoalesce(response.headers.get("x-rivet-ray-id"), () => ( void 0))
3357
+ }
3331
3358
  );
3332
3359
  }
3333
3360
  }
@@ -3360,7 +3387,7 @@ var ClientRaw = (_class = class {
3360
3387
  * @returns {ActorHandle<AD>} - A handle to the actor.
3361
3388
  */
3362
3389
  getForId(name, actorId, opts) {
3363
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
3390
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3364
3391
  msg: "get handle to actor with id",
3365
3392
  name,
3366
3393
  actorId,
@@ -3390,7 +3417,7 @@ var ClientRaw = (_class = class {
3390
3417
  */
3391
3418
  get(name, key, opts) {
3392
3419
  const keyArray = typeof key === "string" ? [key] : key || [];
3393
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
3420
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3394
3421
  msg: "get handle to actor",
3395
3422
  name,
3396
3423
  key: keyArray,
@@ -3420,7 +3447,7 @@ var ClientRaw = (_class = class {
3420
3447
  */
3421
3448
  getOrCreate(name, key, opts) {
3422
3449
  const keyArray = typeof key === "string" ? [key] : key || [];
3423
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
3450
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3424
3451
  msg: "get or create handle to actor",
3425
3452
  name,
3426
3453
  key: keyArray,
@@ -3463,7 +3490,7 @@ var ClientRaw = (_class = class {
3463
3490
  key: keyArray
3464
3491
  }
3465
3492
  };
3466
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
3493
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3467
3494
  msg: "create actor handle",
3468
3495
  name,
3469
3496
  key: keyArray,
@@ -3471,7 +3498,7 @@ var ClientRaw = (_class = class {
3471
3498
  create: createQuery.create
3472
3499
  });
3473
3500
  const actorId = await resolveGatewayTarget(this.#driver, createQuery);
3474
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
3501
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3475
3502
  msg: "created actor with ID",
3476
3503
  name,
3477
3504
  key: keyArray,
@@ -3514,11 +3541,11 @@ var ClientRaw = (_class = class {
3514
3541
  */
3515
3542
  async dispose() {
3516
3543
  if (this.#disposed) {
3517
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({ msg: "client already disconnected" });
3544
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({ msg: "client already disconnected" });
3518
3545
  return;
3519
3546
  }
3520
3547
  this.#disposed = true;
3521
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({ msg: "disposing client" });
3548
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({ msg: "disposing client" });
3522
3549
  const disposePromises = [];
3523
3550
  for (const conn of this[ACTOR_CONNS_SYMBOL].values()) {
3524
3551
  disposePromises.push(conn.dispose());
@@ -3685,8 +3712,8 @@ var ActorConnRaw = class {
3685
3712
  if ("getForId" in actorResolutionState) {
3686
3713
  this.#actorId = actorResolutionState.getForId.actorId;
3687
3714
  }
3688
- this.#readyPromise = _chunkT4MKKCRFcjs.promiseWithResolvers.call(void 0,
3689
- (reason) => _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({
3715
+ this.#readyPromise = _chunk4ESGNS3Zcjs.promiseWithResolvers.call(void 0,
3716
+ (reason) => _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
3690
3717
  msg: "unhandled ready promise rejection",
3691
3718
  reason
3692
3719
  })
@@ -3749,11 +3776,11 @@ var ActorConnRaw = class {
3749
3776
  `Invalid action call: expected an options object { name, args }, got ${typeof opts}. Use conn.actionName(...args) for the shorthand API.`
3750
3777
  );
3751
3778
  }
3752
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({ msg: "action", name: opts.name, args: opts.args });
3779
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({ msg: "action", name: opts.name, args: opts.args });
3753
3780
  const actionId = this.#actionIdCounter;
3754
3781
  this.#actionIdCounter += 1;
3755
- const { promise, resolve, reject } = _chunkT4MKKCRFcjs.promiseWithResolvers.call(void 0,
3756
- (reason) => _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({
3782
+ const { promise, resolve, reject } = _chunk4ESGNS3Zcjs.promiseWithResolvers.call(void 0,
3783
+ (reason) => _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
3757
3784
  msg: "unhandled action promise rejection",
3758
3785
  reason
3759
3786
  })
@@ -3763,7 +3790,7 @@ var ActorConnRaw = class {
3763
3790
  resolve,
3764
3791
  reject
3765
3792
  });
3766
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
3793
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3767
3794
  msg: "added action to in-flight map",
3768
3795
  actionId,
3769
3796
  actionName: opts.name,
@@ -3803,9 +3830,9 @@ var ActorConnRaw = class {
3803
3830
  try {
3804
3831
  handler(status);
3805
3832
  } catch (err) {
3806
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).error({
3833
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3807
3834
  msg: "error in status change handler",
3808
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, err)
3835
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3809
3836
  });
3810
3837
  }
3811
3838
  }
@@ -3815,9 +3842,9 @@ var ActorConnRaw = class {
3815
3842
  try {
3816
3843
  handler();
3817
3844
  } catch (err) {
3818
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).error({
3845
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3819
3846
  msg: "error in open handler",
3820
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, err)
3847
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3821
3848
  });
3822
3849
  }
3823
3850
  }
@@ -3827,9 +3854,9 @@ var ActorConnRaw = class {
3827
3854
  try {
3828
3855
  handler();
3829
3856
  } catch (err) {
3830
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).error({
3857
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3831
3858
  msg: "error in close handler",
3832
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, err)
3859
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3833
3860
  });
3834
3861
  }
3835
3862
  }
@@ -3842,21 +3869,21 @@ var ActorConnRaw = class {
3842
3869
  minTimeout: 250,
3843
3870
  maxTimeout: 3e4,
3844
3871
  onFailedAttempt: (error) => {
3845
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({
3872
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
3846
3873
  msg: "failed to reconnect",
3847
3874
  attempt: error.attemptNumber,
3848
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, error)
3875
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, error)
3849
3876
  });
3850
3877
  },
3851
3878
  // Cancel retry if aborted
3852
3879
  signal: this.#abortController.signal
3853
3880
  }).catch((err) => {
3854
3881
  if (err instanceof _pretry.AbortError || err.name === "AbortError" || !this.#shouldRetryConnectionOpenError(err)) {
3855
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).info({ msg: "connection retry aborted" });
3882
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).info({ msg: "connection retry aborted" });
3856
3883
  } else {
3857
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).error({
3884
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3858
3885
  msg: "unexpected error in connection retry",
3859
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, err)
3886
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3860
3887
  });
3861
3888
  }
3862
3889
  });
@@ -3865,8 +3892,8 @@ var ActorConnRaw = class {
3865
3892
  try {
3866
3893
  if (this.#onOpenPromise)
3867
3894
  throw new Error("#onOpenPromise already defined");
3868
- this.#onOpenPromise = _chunkT4MKKCRFcjs.promiseWithResolvers.call(void 0,
3869
- (reason) => _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({
3895
+ this.#onOpenPromise = _chunk4ESGNS3Zcjs.promiseWithResolvers.call(void 0,
3896
+ (reason) => _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
3870
3897
  msg: "unhandled open promise rejection",
3871
3898
  reason
3872
3899
  })
@@ -3877,18 +3904,18 @@ var ActorConnRaw = class {
3877
3904
  if (this.#shouldRetryConnectionOpenError(error)) {
3878
3905
  throw error;
3879
3906
  }
3880
- const actorError = error instanceof _chunk4FC7TVS6cjs.RivetError ? error : new (0, _chunk4FC7TVS6cjs.RivetError)(
3907
+ const actorError = error instanceof _chunkSPJORZMMcjs.RivetError ? error : new (0, _chunkSPJORZMMcjs.RivetError)(
3881
3908
  "client",
3882
3909
  "connection_open_failed",
3883
- `Failed to open connection: ${_chunkT4MKKCRFcjs.stringifyError.call(void 0, error)}`,
3884
- { error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, error) }
3910
+ `Failed to open connection: ${_chunk4ESGNS3Zcjs.stringifyError.call(void 0, error)}`,
3911
+ { error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, error) }
3885
3912
  );
3886
3913
  this.#clearQueuedMessages();
3887
3914
  this.#rejectPendingPromises(actorError, false);
3888
3915
  this.#dispatchActorError(actorError);
3889
3916
  this.#setConnStatus("idle");
3890
3917
  throw new (0, _pretry.AbortError)(
3891
- error instanceof Error ? error : new Error(_chunkT4MKKCRFcjs.stringifyError.call(void 0, error))
3918
+ error instanceof Error ? error : new Error(_chunk4ESGNS3Zcjs.stringifyError.call(void 0, error))
3892
3919
  );
3893
3920
  } finally {
3894
3921
  this.#onOpenPromise = void 0;
@@ -3898,17 +3925,17 @@ var ActorConnRaw = class {
3898
3925
  if (error instanceof ActorConnDisposed) {
3899
3926
  return false;
3900
3927
  }
3901
- if (error instanceof _chunk4FC7TVS6cjs.RivetError && this.#shouldReconnectForStaleActor(error.group, error.code)) {
3928
+ if (error instanceof _chunkSPJORZMMcjs.RivetError && this.#shouldReconnectForStaleActor(error.group, error.code)) {
3902
3929
  return true;
3903
3930
  }
3904
- if (error instanceof _chunk4FC7TVS6cjs.RivetError && error.group === "client" && error.code === "get_params_failed") {
3931
+ if (error instanceof _chunkSPJORZMMcjs.RivetError && error.group === "client" && error.code === "get_params_failed") {
3905
3932
  return true;
3906
3933
  }
3907
3934
  return isRetryableLifecycleReconnectSignal(error);
3908
3935
  }
3909
3936
  #clearQueuedMessages() {
3910
3937
  if (this.#messageQueue.length === 0) return;
3911
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
3938
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3912
3939
  msg: "clearing queued connection messages",
3913
3940
  queueLength: this.#messageQueue.length
3914
3941
  });
@@ -3921,8 +3948,8 @@ var ActorConnRaw = class {
3921
3948
  try {
3922
3949
  return await this.#getParams();
3923
3950
  } catch (err) {
3924
- const errorMessage = _chunkT4MKKCRFcjs.stringifyError.call(void 0, err);
3925
- const error = new (0, _chunk4FC7TVS6cjs.RivetError)(
3951
+ const errorMessage = _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err);
3952
+ const error = new (0, _chunkSPJORZMMcjs.RivetError)(
3926
3953
  "client",
3927
3954
  "get_params_failed",
3928
3955
  `Failed to resolve connection params: ${errorMessage}`,
@@ -3945,7 +3972,7 @@ var ActorConnRaw = class {
3945
3972
  this.#gatewayOptions
3946
3973
  );
3947
3974
  _invariant2.default.call(void 0, ws, "websocket should have been created");
3948
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
3975
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3949
3976
  msg: "opened websocket",
3950
3977
  connId: this.#connId,
3951
3978
  readyState: ws.readyState,
@@ -3953,7 +3980,7 @@ var ActorConnRaw = class {
3953
3980
  });
3954
3981
  this.#websocket = ws;
3955
3982
  ws.addEventListener("open", () => {
3956
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
3983
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3957
3984
  msg: "client websocket open",
3958
3985
  connId: this.#connId
3959
3986
  });
@@ -3962,9 +3989,9 @@ var ActorConnRaw = class {
3962
3989
  try {
3963
3990
  await this.#handleOnMessage(ev.data);
3964
3991
  } catch (err) {
3965
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).error({
3992
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3966
3993
  msg: "error in websocket message handler",
3967
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, err)
3994
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3968
3995
  });
3969
3996
  }
3970
3997
  });
@@ -3972,9 +3999,9 @@ var ActorConnRaw = class {
3972
3999
  try {
3973
4000
  await this.#handleOnClose(ev);
3974
4001
  } catch (err) {
3975
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).error({
4002
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3976
4003
  msg: "error in websocket close handler",
3977
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, err)
4004
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3978
4005
  });
3979
4006
  }
3980
4007
  });
@@ -3982,9 +4009,9 @@ var ActorConnRaw = class {
3982
4009
  try {
3983
4010
  this.#handleOnError();
3984
4011
  } catch (err) {
3985
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).error({
4012
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
3986
4013
  msg: "error in websocket error handler",
3987
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, err)
4014
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
3988
4015
  });
3989
4016
  }
3990
4017
  });
@@ -3992,7 +4019,7 @@ var ActorConnRaw = class {
3992
4019
  /** Called by the onopen event from drivers. */
3993
4020
  #handleOnOpen() {
3994
4021
  if (this.#disposed) {
3995
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4022
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
3996
4023
  msg: "handleOnOpen called after dispose, closing websocket"
3997
4024
  });
3998
4025
  if (this.#websocket) {
@@ -4008,7 +4035,7 @@ var ActorConnRaw = class {
4008
4035
  queueMicrotask(() => {
4009
4036
  this.#openScheduled = false;
4010
4037
  if (this.#disposed) {
4011
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4038
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4012
4039
  msg: "handleOnOpen scheduled after dispose, closing websocket"
4013
4040
  });
4014
4041
  if (this.#websocket) {
@@ -4017,7 +4044,7 @@ var ActorConnRaw = class {
4017
4044
  }
4018
4045
  return;
4019
4046
  }
4020
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4047
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4021
4048
  msg: "socket open",
4022
4049
  messageQueueLength: this.#messageQueue.length,
4023
4050
  connId: this.#connId
@@ -4026,14 +4053,14 @@ var ActorConnRaw = class {
4026
4053
  if (this.#onOpenPromise) {
4027
4054
  this.#onOpenPromise.resolve(void 0);
4028
4055
  } else {
4029
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({ msg: "#onOpenPromise is undefined" });
4056
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({ msg: "#onOpenPromise is undefined" });
4030
4057
  }
4031
4058
  for (const eventName of this.#eventSubscriptions.keys()) {
4032
4059
  this.#sendSubscription(eventName, true);
4033
4060
  }
4034
4061
  const queue = this.#messageQueue;
4035
4062
  this.#messageQueue = [];
4036
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4063
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4037
4064
  msg: "flushing message queue",
4038
4065
  queueLength: queue.length
4039
4066
  });
@@ -4045,23 +4072,23 @@ var ActorConnRaw = class {
4045
4072
  /** Called by the onmessage event from drivers. */
4046
4073
  async #handleOnMessage(data) {
4047
4074
  var _a;
4048
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).trace({
4075
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).trace({
4049
4076
  msg: "received message",
4050
4077
  dataType: typeof data,
4051
4078
  isBlob: data instanceof Blob,
4052
4079
  isArrayBuffer: data instanceof ArrayBuffer
4053
4080
  });
4054
4081
  const response = await this.#parseMessage(data);
4055
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).trace(
4056
- _chunkT4MKKCRFcjs.getLogMessage.call(void 0, ) ? {
4082
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).trace(
4083
+ _chunk4ESGNS3Zcjs.getLogMessage.call(void 0, ) ? {
4057
4084
  msg: "parsed message",
4058
- message: _chunkT4MKKCRFcjs.jsonStringifyCompat.call(void 0, response).substring(0, 100) + "..."
4085
+ message: _chunk4ESGNS3Zcjs.jsonStringifyCompat.call(void 0, response).substring(0, 100) + "..."
4059
4086
  } : { msg: "parsed message" }
4060
4087
  );
4061
4088
  if (response.body.tag === "Init") {
4062
4089
  this.#actorId = response.body.val.actorId;
4063
4090
  this.#connId = response.body.val.connectionId;
4064
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).trace({
4091
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).trace({
4065
4092
  msg: "received init message",
4066
4093
  actorId: this.#actorId,
4067
4094
  connId: this.#connId
@@ -4072,7 +4099,7 @@ var ActorConnRaw = class {
4072
4099
  if (actionId !== null) {
4073
4100
  const inFlight = this.#takeActionInFlight(Number(actionId));
4074
4101
  this.#invalidateActorIfStale(group, code);
4075
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({
4102
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
4076
4103
  msg: "action error",
4077
4104
  actionId,
4078
4105
  actionName: inFlight == null ? void 0 : inFlight.name,
@@ -4085,13 +4112,13 @@ var ActorConnRaw = class {
4085
4112
  actorKey: actor == null ? void 0 : actor.key
4086
4113
  });
4087
4114
  inFlight.reject(
4088
- new (0, _chunk4FC7TVS6cjs.RivetError)(group, code, message, {
4115
+ new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
4089
4116
  metadata,
4090
4117
  actor
4091
4118
  })
4092
4119
  );
4093
4120
  } else {
4094
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({
4121
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
4095
4122
  msg: "connection error",
4096
4123
  group,
4097
4124
  code,
@@ -4104,14 +4131,14 @@ var ActorConnRaw = class {
4104
4131
  if (this.#shouldReconnectForStaleActor(group, code)) {
4105
4132
  this.#clearResolvedActorIdentity();
4106
4133
  (_a = this.#onOpenPromise) == null ? void 0 : _a.reject(
4107
- new (0, _chunk4FC7TVS6cjs.RivetError)(group, code, message, {
4134
+ new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
4108
4135
  metadata,
4109
4136
  actor
4110
4137
  })
4111
4138
  );
4112
4139
  return;
4113
4140
  }
4114
- let errorToThrow = new (0, _chunk4FC7TVS6cjs.RivetError)(group, code, message, {
4141
+ let errorToThrow = new (0, _chunkSPJORZMMcjs.RivetError)(group, code, message, {
4115
4142
  metadata,
4116
4143
  actor
4117
4144
  });
@@ -4139,27 +4166,27 @@ var ActorConnRaw = class {
4139
4166
  }
4140
4167
  } else if (response.body.tag === "ActionResponse") {
4141
4168
  const { id: actionId } = response.body.val;
4142
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4169
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4143
4170
  msg: "received action response",
4144
4171
  actionId: Number(actionId),
4145
4172
  inFlightCount: this.#actionsInFlight.size,
4146
4173
  inFlightIds: Array.from(this.#actionsInFlight.keys())
4147
4174
  });
4148
4175
  const inFlight = this.#takeActionInFlight(Number(actionId));
4149
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).trace({
4176
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).trace({
4150
4177
  msg: "resolving action promise",
4151
4178
  actionId,
4152
4179
  actionName: inFlight == null ? void 0 : inFlight.name
4153
4180
  });
4154
4181
  inFlight.resolve(response.body.val);
4155
4182
  } else if (response.body.tag === "Event") {
4156
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).trace({
4183
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).trace({
4157
4184
  msg: "received event",
4158
4185
  name: response.body.val.name
4159
4186
  });
4160
4187
  this.#dispatchEvent(response.body.val);
4161
4188
  } else {
4162
- _chunkT4MKKCRFcjs.assertUnreachable.call(void 0, response.body);
4189
+ _chunk4ESGNS3Zcjs.assertUnreachable.call(void 0, response.body);
4163
4190
  }
4164
4191
  }
4165
4192
  /** Called by the onclose event from drivers. */
@@ -4168,7 +4195,7 @@ var ActorConnRaw = class {
4168
4195
  const closeEvent = event;
4169
4196
  const wasClean = closeEvent.wasClean;
4170
4197
  const wasConnected = this.#connStatus === "connected";
4171
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).info({
4198
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).info({
4172
4199
  msg: "socket closed",
4173
4200
  code: closeEvent.code,
4174
4201
  reason: closeEvent.reason,
@@ -4185,15 +4212,15 @@ var ActorConnRaw = class {
4185
4212
  const reason = closeEvent.reason || "";
4186
4213
  const parsed = parseWebSocketCloseReason(reason);
4187
4214
  if (parsed) {
4188
- const { group, code } = parsed;
4215
+ const { group, code, rayId } = parsed;
4189
4216
  if (this.#shouldReconnectForStaleActor(group, code)) {
4190
4217
  this.#clearResolvedActorIdentity();
4191
4218
  (_a = this.#onOpenPromise) == null ? void 0 : _a.reject(
4192
- new (0, _chunk4FC7TVS6cjs.RivetError)(
4219
+ new (0, _chunkSPJORZMMcjs.RivetError)(
4193
4220
  group,
4194
4221
  code,
4195
4222
  `Connection closed: ${reason}`,
4196
- void 0
4223
+ { rayId }
4197
4224
  )
4198
4225
  );
4199
4226
  return;
@@ -4204,24 +4231,25 @@ var ActorConnRaw = class {
4204
4231
  code,
4205
4232
  this.#actorId,
4206
4233
  this.#actorResolutionState,
4207
- this.#driver
4234
+ this.#driver,
4235
+ rayId
4208
4236
  );
4209
4237
  if (schedulingError) {
4210
4238
  error = schedulingError;
4211
4239
  } else {
4212
- error = new (0, _chunk4FC7TVS6cjs.RivetError)(
4240
+ error = new (0, _chunkSPJORZMMcjs.RivetError)(
4213
4241
  group,
4214
4242
  code,
4215
4243
  `Connection closed: ${reason}`,
4216
- void 0
4244
+ { rayId }
4217
4245
  );
4218
4246
  }
4219
4247
  } else {
4220
- error = new (0, _chunk4FC7TVS6cjs.RivetError)(
4248
+ error = new (0, _chunkSPJORZMMcjs.RivetError)(
4221
4249
  group,
4222
4250
  code,
4223
4251
  `Connection closed: ${reason}`,
4224
- void 0
4252
+ { rayId }
4225
4253
  );
4226
4254
  }
4227
4255
  this.#invalidateActorIfStale(group, code);
@@ -4231,11 +4259,11 @@ var ActorConnRaw = class {
4231
4259
  );
4232
4260
  }
4233
4261
  this.#rejectPendingPromises(error, false);
4234
- if (error instanceof _chunk4FC7TVS6cjs.RivetError) {
4262
+ if (error instanceof _chunkSPJORZMMcjs.RivetError) {
4235
4263
  this.#dispatchActorError(error);
4236
4264
  }
4237
4265
  if (wasConnected) {
4238
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4266
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4239
4267
  msg: "triggering reconnect",
4240
4268
  connId: this.#connId
4241
4269
  });
@@ -4259,12 +4287,12 @@ var ActorConnRaw = class {
4259
4287
  /** Called by the onerror event from drivers. */
4260
4288
  #handleOnError() {
4261
4289
  if (this.#disposed) return;
4262
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn("socket error");
4290
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn("socket error");
4263
4291
  }
4264
4292
  #takeActionInFlight(id) {
4265
4293
  const inFlight = this.#actionsInFlight.get(id);
4266
4294
  if (!inFlight) {
4267
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).error({
4295
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
4268
4296
  msg: "action not found in in-flight map",
4269
4297
  lookupId: id,
4270
4298
  inFlightCount: this.#actionsInFlight.size,
@@ -4279,7 +4307,7 @@ var ActorConnRaw = class {
4279
4307
  throw internalClientError(`No in flight response for ${id}`);
4280
4308
  }
4281
4309
  this.#actionsInFlight.delete(id);
4282
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4310
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4283
4311
  msg: "removed action from in-flight map",
4284
4312
  actionId: id,
4285
4313
  actionName: inFlight.name,
@@ -4306,9 +4334,9 @@ var ActorConnRaw = class {
4306
4334
  try {
4307
4335
  handler(error);
4308
4336
  } catch (err) {
4309
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).error({
4337
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
4310
4338
  msg: "error in connection error handler",
4311
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, err)
4339
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
4312
4340
  });
4313
4341
  }
4314
4342
  }
@@ -4413,9 +4441,9 @@ var ActorConnRaw = class {
4413
4441
  try {
4414
4442
  callback();
4415
4443
  } catch (err) {
4416
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).error({
4444
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).error({
4417
4445
  msg: "error in open handler",
4418
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, err)
4446
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, err)
4419
4447
  });
4420
4448
  }
4421
4449
  });
@@ -4465,7 +4493,7 @@ var ActorConnRaw = class {
4465
4493
  let queueMessage = false;
4466
4494
  if (this.#websocket) {
4467
4495
  const readyState = this.#websocket.readyState;
4468
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4496
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4469
4497
  msg: "websocket send attempt",
4470
4498
  readyState,
4471
4499
  readyStateString: readyState === 0 ? "CONNECTING" : readyState === 1 ? "OPEN" : readyState === 2 ? "CLOSING" : "CLOSED",
@@ -4474,7 +4502,7 @@ var ActorConnRaw = class {
4474
4502
  actionName: (_a = message.body.val) == null ? void 0 : _a.name
4475
4503
  });
4476
4504
  if (this.#connStatus !== "connected") {
4477
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4505
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4478
4506
  msg: "websocket init pending, queueing message",
4479
4507
  connStatus: this.#connStatus,
4480
4508
  messageType: message.body.tag
@@ -4482,7 +4510,7 @@ var ActorConnRaw = class {
4482
4510
  queueMessage = true;
4483
4511
  } else if (readyState === 1) {
4484
4512
  try {
4485
- const messageSerialized = _chunkT4MKKCRFcjs.serializeWithEncoding.call(void 0,
4513
+ const messageSerialized = _chunk4ESGNS3Zcjs.serializeWithEncoding.call(void 0,
4486
4514
  this.#encoding,
4487
4515
  message,
4488
4516
  CLIENT_PROTOCOL_TO_SERVER,
@@ -4499,8 +4527,8 @@ var ActorConnRaw = class {
4499
4527
  val: {
4500
4528
  id: msg.body.val.id,
4501
4529
  name: msg.body.val.name,
4502
- args: _chunkT4MKKCRFcjs.bufferToArrayBuffer.call(void 0,
4503
- _chunkT4MKKCRFcjs.encodeCborCompat.call(void 0,
4530
+ args: _chunk4ESGNS3Zcjs.bufferToArrayBuffer.call(void 0,
4531
+ _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0,
4504
4532
  msg.body.val.args
4505
4533
  )
4506
4534
  )
@@ -4514,12 +4542,12 @@ var ActorConnRaw = class {
4514
4542
  );
4515
4543
  this.#websocket.send(messageSerialized);
4516
4544
  const serializedLength = messageLength(messageSerialized);
4517
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).trace({
4545
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).trace({
4518
4546
  msg: "sent websocket message",
4519
4547
  len: serializedLength
4520
4548
  });
4521
4549
  } catch (error) {
4522
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({
4550
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
4523
4551
  msg: "failed to send message, added to queue",
4524
4552
  error,
4525
4553
  connId: this.#connId
@@ -4527,19 +4555,19 @@ var ActorConnRaw = class {
4527
4555
  queueMessage = true;
4528
4556
  }
4529
4557
  } else {
4530
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4558
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4531
4559
  msg: "websocket not open, queueing message",
4532
4560
  readyState
4533
4561
  });
4534
4562
  queueMessage = true;
4535
4563
  }
4536
4564
  } else {
4537
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({ msg: "no websocket, queueing message" });
4565
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({ msg: "no websocket, queueing message" });
4538
4566
  queueMessage = true;
4539
4567
  }
4540
4568
  if (!(opts == null ? void 0 : opts.ephemeral) && queueMessage) {
4541
4569
  this.#messageQueue.push(message);
4542
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({
4570
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({
4543
4571
  msg: "queued connection message",
4544
4572
  queueLength: this.#messageQueue.length,
4545
4573
  connId: this.#connId,
@@ -4550,8 +4578,8 @@ var ActorConnRaw = class {
4550
4578
  }
4551
4579
  async #parseMessage(data) {
4552
4580
  _invariant2.default.call(void 0, this.#websocket, "websocket must be defined");
4553
- const buffer = await _chunkT4MKKCRFcjs.inputDataToBuffer.call(void 0, data);
4554
- return _chunkT4MKKCRFcjs.deserializeWithEncoding.call(void 0,
4581
+ const buffer = await _chunk4ESGNS3Zcjs.inputDataToBuffer.call(void 0, data);
4582
+ return _chunk4ESGNS3Zcjs.deserializeWithEncoding.call(void 0,
4555
4583
  this.#encoding,
4556
4584
  buffer,
4557
4585
  CLIENT_PROTOCOL_TO_CLIENT,
@@ -4586,7 +4614,7 @@ var ActorConnRaw = class {
4586
4614
  group: msg.body.val.group,
4587
4615
  code: msg.body.val.code,
4588
4616
  message: msg.body.val.message,
4589
- metadata: msg.body.val.metadata ? _chunkT4MKKCRFcjs.decodeCborCompat.call(void 0,
4617
+ metadata: msg.body.val.metadata ? _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0,
4590
4618
  new Uint8Array(
4591
4619
  msg.body.val.metadata
4592
4620
  )
@@ -4608,7 +4636,7 @@ var ActorConnRaw = class {
4608
4636
  tag: "ActionResponse",
4609
4637
  val: {
4610
4638
  id: msg.body.val.id,
4611
- output: _chunkT4MKKCRFcjs.decodeCborCompat.call(void 0,
4639
+ output: _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0,
4612
4640
  new Uint8Array(msg.body.val.output)
4613
4641
  )
4614
4642
  }
@@ -4620,7 +4648,7 @@ var ActorConnRaw = class {
4620
4648
  tag: "Event",
4621
4649
  val: {
4622
4650
  name: msg.body.val.name,
4623
- args: _chunkT4MKKCRFcjs.decodeCborCompat.call(void 0,
4651
+ args: _chunk4ESGNS3Zcjs.decodeCborCompat.call(void 0,
4624
4652
  new Uint8Array(msg.body.val.args)
4625
4653
  )
4626
4654
  }
@@ -4661,11 +4689,11 @@ var ActorConnRaw = class {
4661
4689
  */
4662
4690
  async dispose() {
4663
4691
  if (this.#disposed) {
4664
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({ msg: "connection already disconnected" });
4692
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({ msg: "connection already disconnected" });
4665
4693
  return;
4666
4694
  }
4667
4695
  this.#disposed = true;
4668
- _chunkVJ4KLJO5cjs.logger.call(void 0, ).debug({ msg: "disposing actor conn" });
4696
+ _chunkEQKSWDIHcjs.logger.call(void 0, ).debug({ msg: "disposing actor conn" });
4669
4697
  this.#setConnStatus("idle");
4670
4698
  clearInterval(this.#keepNodeAliveInterval);
4671
4699
  this.#abortController.abort();
@@ -4673,8 +4701,8 @@ var ActorConnRaw = class {
4673
4701
  if (this.#websocket) {
4674
4702
  const ws = this.#websocket;
4675
4703
  if (ws.readyState !== 2 && ws.readyState !== 3) {
4676
- const { promise, resolve } = _chunkT4MKKCRFcjs.promiseWithResolvers.call(void 0,
4677
- (reason) => _chunkVJ4KLJO5cjs.logger.call(void 0, ).warn({
4704
+ const { promise, resolve } = _chunk4ESGNS3Zcjs.promiseWithResolvers.call(void 0,
4705
+ (reason) => _chunkEQKSWDIHcjs.logger.call(void 0, ).warn({
4678
4706
  msg: "unhandled websocket close promise rejection",
4679
4707
  reason
4680
4708
  })
@@ -4793,7 +4821,7 @@ var ClientConfigSchemaBase = _v42.default.object({
4793
4821
  * Defaults to http://localhost:6420.
4794
4822
  */
4795
4823
  endpoint: _v42.default.string().optional().transform((val) => {
4796
- const resolved = _nullishCoalesce(_nullishCoalesce(val, () => ( _chunkT4MKKCRFcjs.getRivetEngine.call(void 0, ))), () => ( _chunkT4MKKCRFcjs.getRivetEndpoint.call(void 0, )));
4824
+ const resolved = _nullishCoalesce(_nullishCoalesce(val, () => ( _chunk4ESGNS3Zcjs.getRivetEngine.call(void 0, ))), () => ( _chunk4ESGNS3Zcjs.getRivetEndpoint.call(void 0, )));
4797
4825
  if (!resolved && !hasWarnedMissingEndpoint) {
4798
4826
  hasWarnedMissingEndpoint = true;
4799
4827
  console.warn(
@@ -4803,12 +4831,12 @@ var ClientConfigSchemaBase = _v42.default.object({
4803
4831
  return _nullishCoalesce(resolved, () => ( DEFAULT_ENDPOINT));
4804
4832
  }),
4805
4833
  /** Token to use to authenticate with the API. */
4806
- token: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkT4MKKCRFcjs.getRivetToken.call(void 0, )))),
4834
+ token: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk4ESGNS3Zcjs.getRivetToken.call(void 0, )))),
4807
4835
  /** Namespace to connect to. */
4808
- namespace: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkT4MKKCRFcjs.getRivetNamespace.call(void 0, )))),
4836
+ namespace: _v42.default.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk4ESGNS3Zcjs.getRivetNamespace.call(void 0, )))),
4809
4837
  /** Name of the envoy pool. This is used to group together envoys in to different pools. */
4810
- poolName: _v42.default.string().default(() => _nullishCoalesce(_chunkT4MKKCRFcjs.getRivetPool.call(void 0, ), () => ( "default"))),
4811
- encoding: _chunkT4MKKCRFcjs.EncodingSchema.default("bare"),
4838
+ poolName: _v42.default.string().default(() => _nullishCoalesce(_chunk4ESGNS3Zcjs.getRivetPool.call(void 0, ), () => ( "default"))),
4839
+ encoding: _chunk4ESGNS3Zcjs.EncodingSchema.default("bare"),
4812
4840
  headers: _v42.default.record(_v42.default.string(), _v42.default.string()).optional().default(() => ({})),
4813
4841
  gateway: _v42.default.object({
4814
4842
  skipReadyWait: _v42.default.boolean().optional().default(false)
@@ -4967,7 +4995,7 @@ function setRemoteHibernatableWebSocketAckTestHooks(websocket, token, enabled) {
4967
4995
 
4968
4996
  // src/engine-client/log.ts
4969
4997
  function logger2() {
4970
- return _chunkT4MKKCRFcjs.getLogger.call(void 0, "engine-client");
4998
+ return _chunk4ESGNS3Zcjs.getLogger.call(void 0, "engine-client");
4971
4999
  }
4972
5000
 
4973
5001
  // src/engine-client/actor-websocket-client.ts
@@ -5100,7 +5128,7 @@ var BufferedRemoteWebSocket = (_class2 = class {
5100
5128
  function buildActorGatewayUrl(endpoint, actorId, token, path = "") {
5101
5129
  const tokenSegment = token !== void 0 ? `@${encodeURIComponent(token)}` : "";
5102
5130
  const gatewayPath = `/gateway/${encodeURIComponent(actorId)}${tokenSegment}${path}`;
5103
- return _chunkT4MKKCRFcjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
5131
+ return _chunk4ESGNS3Zcjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
5104
5132
  }
5105
5133
  function buildActorQueryGatewayUrl(endpoint, namespace, query, token, path = "", maxInputSize = DEFAULT_MAX_QUERY_INPUT_SIZE, crashPolicy = void 0, runnerName, options = {}) {
5106
5134
  if (namespace.length === 0) {
@@ -5166,7 +5194,7 @@ function buildActorQueryGatewayUrl(endpoint, namespace, query, token, path = "",
5166
5194
  separator = "?";
5167
5195
  }
5168
5196
  const gatewayPath = `/gateway/${encodeURIComponent(name)}${path}${separator}${queryString}`;
5169
- return _chunkT4MKKCRFcjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
5197
+ return _chunk4ESGNS3Zcjs.combineUrlPath.call(void 0, endpoint, gatewayPath);
5170
5198
  }
5171
5199
  function pushKeyQueryParams(params, key) {
5172
5200
  if (key.length > 0) {
@@ -5177,7 +5205,7 @@ function pushInputQueryParam(params, input, maxInputSize) {
5177
5205
  if (input === void 0) {
5178
5206
  return;
5179
5207
  }
5180
- const encodedInput = _chunkT4MKKCRFcjs.encodeCborCompat.call(void 0, input);
5208
+ const encodedInput = _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0, input);
5181
5209
  if (encodedInput.byteLength > maxInputSize) {
5182
5210
  throw new Error(
5183
5211
  `Actor query input exceeds maxInputSize (${encodedInput.byteLength} > ${maxInputSize} bytes). Increase client maxInputSize to allow larger query payloads.`
@@ -5186,10 +5214,10 @@ function pushInputQueryParam(params, input, maxInputSize) {
5186
5214
  params.append("rvt-input", uint8ArrayToBase64Url(encodedInput));
5187
5215
  }
5188
5216
  function uint8ArrayToBase64Url(value) {
5189
- return _chunkT4MKKCRFcjs.uint8ArrayToBase64.call(void 0, value).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
5217
+ return _chunk4ESGNS3Zcjs.uint8ArrayToBase64.call(void 0, value).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
5190
5218
  }
5191
5219
  async function openWebSocketToGateway(runConfig, gatewayUrl, encoding, params, options = {}) {
5192
- const WebSocket2 = await _chunkVJ4KLJO5cjs.importWebSocket.call(void 0, );
5220
+ const WebSocket2 = await _chunkEQKSWDIHcjs.importWebSocket.call(void 0, );
5193
5221
  const ackHookToken = typeof process !== "undefined" && process.env.VITEST ? crypto.randomUUID() : void 0;
5194
5222
  logger2().debug({
5195
5223
  msg: "opening websocket to actor via guard",
@@ -5256,7 +5284,7 @@ function getEndpoint(config) {
5256
5284
  }
5257
5285
  async function apiCall(config, method, path, body) {
5258
5286
  const endpoint = getEndpoint(config);
5259
- const url = _chunkT4MKKCRFcjs.combineUrlPath.call(void 0, endpoint, path, {
5287
+ const url = _chunk4ESGNS3Zcjs.combineUrlPath.call(void 0, endpoint, path, {
5260
5288
  namespace: config.namespace
5261
5289
  });
5262
5290
  logger2().debug({ msg: "making api call", method, url });
@@ -5381,7 +5409,7 @@ async function lookupMetadataCached(config) {
5381
5409
  msg: "failed to fetch metadata, retrying",
5382
5410
  endpoint,
5383
5411
  attempt: error.attemptNumber,
5384
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, error)
5412
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, error)
5385
5413
  });
5386
5414
  }
5387
5415
  }
@@ -5393,7 +5421,7 @@ async function lookupMetadataCached(config) {
5393
5421
 
5394
5422
  // src/engine-client/ws-proxy.ts
5395
5423
  async function createWebSocketProxy(_c, targetUrl, protocols) {
5396
- const WebSocket2 = await _chunkVJ4KLJO5cjs.importWebSocket.call(void 0, );
5424
+ const WebSocket2 = await _chunkEQKSWDIHcjs.importWebSocket.call(void 0, );
5397
5425
  const state = {};
5398
5426
  return {
5399
5427
  onOpen: async (_event, clientWs) => {
@@ -5458,7 +5486,7 @@ async function createWebSocketProxy(_c, targetUrl, protocols) {
5458
5486
  logger2().error({
5459
5487
  msg: "target websocket error",
5460
5488
  targetUrl,
5461
- error: _chunkT4MKKCRFcjs.stringifyError.call(void 0, error)
5489
+ error: _chunk4ESGNS3Zcjs.stringifyError.call(void 0, error)
5462
5490
  });
5463
5491
  closeWebSocketIfOpen(clientWs, 1011, "Target WebSocket error");
5464
5492
  });
@@ -5537,7 +5565,7 @@ var RemoteEngineControlClient = class {
5537
5565
  #config;
5538
5566
  #metadataPromise;
5539
5567
  constructor(runConfig) {
5540
- if (_chunkT4MKKCRFcjs.getNextPhase.call(void 0, ) === "phase-production-build") {
5568
+ if (_chunk4ESGNS3Zcjs.getNextPhase.call(void 0, ) === "phase-production-build") {
5541
5569
  logger2().info(
5542
5570
  "detected next.js build phase, disabling health check"
5543
5571
  );
@@ -5609,7 +5637,7 @@ var RemoteEngineControlClient = class {
5609
5637
  });
5610
5638
  return apiActorToOutput(actor);
5611
5639
  } catch (error) {
5612
- if (error instanceof _chunk4FC7TVS6cjs.RivetError && error.group === "actor" && error.code === "not_found") {
5640
+ if (error instanceof _chunkSPJORZMMcjs.RivetError && error.group === "actor" && error.code === "not_found") {
5613
5641
  return void 0;
5614
5642
  }
5615
5643
  throw error;
@@ -5630,24 +5658,45 @@ var RemoteEngineControlClient = class {
5630
5658
  name,
5631
5659
  key
5632
5660
  });
5633
- const { actor, created } = await getOrCreateActor(this.#config, {
5634
- datacenter: region,
5635
- name,
5636
- key: _chunkMYWZCDMLcjs.serializeActorKey.call(void 0, key),
5637
- runner_name_selector: _nullishCoalesce(poolName, () => ( this.#config.poolName)),
5638
- input: actorInput ? _chunkT4MKKCRFcjs.uint8ArrayToBase64.call(void 0,
5639
- _chunkT4MKKCRFcjs.encodeCborCompat.call(void 0, actorInput)
5640
- ) : void 0,
5641
- crash_policy: _nullishCoalesce(crashPolicy, () => ( "sleep"))
5642
- });
5643
- logger2().info({
5644
- msg: "getOrCreateWithKey: actor ready",
5645
- actorId: actor.actor_id,
5646
- name,
5647
- key,
5648
- created
5649
- });
5650
- return apiActorToOutput(actor);
5661
+ try {
5662
+ const { actor, created } = await getOrCreateActor(this.#config, {
5663
+ datacenter: region,
5664
+ name,
5665
+ key: _chunkMYWZCDMLcjs.serializeActorKey.call(void 0, key),
5666
+ runner_name_selector: _nullishCoalesce(poolName, () => ( this.#config.poolName)),
5667
+ input: actorInput ? _chunk4ESGNS3Zcjs.uint8ArrayToBase64.call(void 0,
5668
+ _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0, actorInput)
5669
+ ) : void 0,
5670
+ crash_policy: _nullishCoalesce(crashPolicy, () => ( "sleep"))
5671
+ });
5672
+ logger2().info({
5673
+ msg: "getOrCreateWithKey: actor ready",
5674
+ actorId: actor.actor_id,
5675
+ name,
5676
+ key,
5677
+ created
5678
+ });
5679
+ return apiActorToOutput(actor);
5680
+ } catch (error) {
5681
+ if (error instanceof _chunkSPJORZMMcjs.RivetError && error.group === "actor" && error.code === "key_reserved_in_different_datacenter") {
5682
+ logger2().warn({
5683
+ msg: "getOrCreateWithKey: key reserved in different datacenter, retrying as get",
5684
+ name,
5685
+ key
5686
+ });
5687
+ const response = await getActorByKey(this.#config, name, key);
5688
+ const existing = response.actors[0];
5689
+ if (!existing) throw error;
5690
+ logger2().info({
5691
+ msg: "getOrCreateWithKey: resolved existing actor via get",
5692
+ actorId: existing.actor_id,
5693
+ name,
5694
+ key
5695
+ });
5696
+ return apiActorToOutput(existing);
5697
+ }
5698
+ throw error;
5699
+ }
5651
5700
  }
5652
5701
  async createActor({
5653
5702
  name,
@@ -5664,7 +5713,7 @@ var RemoteEngineControlClient = class {
5664
5713
  name,
5665
5714
  runner_name_selector: _nullishCoalesce(poolName, () => ( this.#config.poolName)),
5666
5715
  key: _chunkMYWZCDMLcjs.serializeActorKey.call(void 0, key),
5667
- input: input ? _chunkT4MKKCRFcjs.uint8ArrayToBase64.call(void 0, _chunkT4MKKCRFcjs.encodeCborCompat.call(void 0, input)) : void 0,
5716
+ input: input ? _chunk4ESGNS3Zcjs.uint8ArrayToBase64.call(void 0, _chunk4ESGNS3Zcjs.encodeCborCompat.call(void 0, input)) : void 0,
5668
5717
  crash_policy: _nullishCoalesce(crashPolicy, () => ( "sleep"))
5669
5718
  });
5670
5719
  logger2().info({
@@ -5742,7 +5791,7 @@ var RemoteEngineControlClient = class {
5742
5791
  const upgradeWebSocket = (_b = (_a = this.#config).getUpgradeWebSocket) == null ? void 0 : _b.call(_a);
5743
5792
  _invariant2.default.call(void 0, upgradeWebSocket, "missing getUpgradeWebSocket");
5744
5793
  const endpoint = getEndpoint(this.#config);
5745
- const guardUrl = _chunkT4MKKCRFcjs.combineUrlPath.call(void 0, endpoint, path);
5794
+ const guardUrl = _chunk4ESGNS3Zcjs.combineUrlPath.call(void 0, endpoint, path);
5746
5795
  const wsGuardUrl = guardUrl.replace("http://", "ws://");
5747
5796
  logger2().debug({
5748
5797
  msg: "forwarding websocket to actor via guard",
@@ -5761,7 +5810,7 @@ var RemoteEngineControlClient = class {
5761
5810
  }
5762
5811
  );
5763
5812
  const args = await createWebSocketProxy(c, wsGuardUrl, protocols);
5764
- return await upgradeWebSocket(() => args)(c, _chunkT4MKKCRFcjs.noopNext.call(void 0, ));
5813
+ return await upgradeWebSocket(() => args)(c, _chunk4ESGNS3Zcjs.noopNext.call(void 0, ));
5765
5814
  }
5766
5815
  displayInformation() {
5767
5816
  return { properties: {} };
@@ -5772,7 +5821,7 @@ var RemoteEngineControlClient = class {
5772
5821
  #buildGatewayUrlForTarget(target, path, options = {}) {
5773
5822
  const endpoint = getEndpoint(this.#config);
5774
5823
  if (shouldSkipReadyWait(options) && directActorIdFromTarget(target) && canUseDirectSkipReadyWaitPath(path)) {
5775
- return _chunkT4MKKCRFcjs.combineUrlPath.call(void 0, endpoint, path);
5824
+ return _chunk4ESGNS3Zcjs.combineUrlPath.call(void 0, endpoint, path);
5776
5825
  }
5777
5826
  if ("directId" in target) {
5778
5827
  return buildActorGatewayUrl(
@@ -5866,4 +5915,4 @@ function apiActorToOutput(actor) {
5866
5915
 
5867
5916
 
5868
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;
5869
- //# sourceMappingURL=chunk-6ETWXXAZ.cjs.map
5918
+ //# sourceMappingURL=chunk-PZBWSCQR.cjs.map