rivetkit 2.3.12-rc.2 → 2.3.12-rc.4

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 (103) hide show
  1. package/dist/browser/client.d.ts +2 -0
  2. package/dist/browser/client.js +52 -29
  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/agent-os/index.cjs +19 -2
  7. package/dist/tsup/agent-os/index.cjs.map +1 -1
  8. package/dist/tsup/agent-os/index.d.cts +2 -0
  9. package/dist/tsup/agent-os/index.d.ts +2 -0
  10. package/dist/tsup/agent-os/index.js +19 -2
  11. package/dist/tsup/agent-os/index.js.map +1 -1
  12. package/dist/tsup/{chunk-3JBE7REK.js → chunk-3CBQIP37.js} +4 -4
  13. package/dist/tsup/{chunk-HRJHLVHZ.cjs → chunk-4LRWLBTR.cjs} +3 -3
  14. package/dist/tsup/{chunk-HRJHLVHZ.cjs.map → chunk-4LRWLBTR.cjs.map} +1 -1
  15. package/dist/tsup/{chunk-YW75TS76.js → chunk-64DT44V2.js} +2 -2
  16. package/dist/tsup/{chunk-YW75TS76.js.map → chunk-64DT44V2.js.map} +1 -1
  17. package/dist/tsup/{chunk-KRQI5GXM.js → chunk-AF2VKCFA.js} +2 -2
  18. package/dist/tsup/{chunk-APQQFCPR.cjs → chunk-ARFTQ5HY.cjs} +2 -2
  19. package/dist/tsup/{chunk-APQQFCPR.cjs.map → chunk-ARFTQ5HY.cjs.map} +1 -1
  20. package/dist/tsup/{chunk-KPZQI3TG.js → chunk-BQ7YJ3PG.js} +2 -2
  21. package/dist/tsup/{chunk-6W5VGLFT.js → chunk-DLQSZ6Q7.js} +19 -2
  22. package/dist/tsup/chunk-DLQSZ6Q7.js.map +1 -0
  23. package/dist/tsup/{chunk-DXN6RPPQ.cjs → chunk-F7G5WHOD.cjs} +188 -165
  24. package/dist/tsup/chunk-F7G5WHOD.cjs.map +1 -0
  25. package/dist/tsup/{chunk-JZGMOEEI.js → chunk-GMBCKV6C.js} +3 -3
  26. package/dist/tsup/{chunk-4KGXFC6M.cjs → chunk-IAH47VDZ.cjs} +19 -2
  27. package/dist/tsup/chunk-IAH47VDZ.cjs.map +1 -0
  28. package/dist/tsup/{chunk-WTD54OHL.cjs → chunk-JIOLC5I2.cjs} +3 -3
  29. package/dist/tsup/{chunk-WTD54OHL.cjs.map → chunk-JIOLC5I2.cjs.map} +1 -1
  30. package/dist/tsup/{chunk-IU6TTH6L.cjs → chunk-NKLM6C5A.cjs} +10 -10
  31. package/dist/tsup/{chunk-IU6TTH6L.cjs.map → chunk-NKLM6C5A.cjs.map} +1 -1
  32. package/dist/tsup/{chunk-ZEIH7S4M.js → chunk-NVMHEG5J.js} +2 -2
  33. package/dist/tsup/{chunk-BK2JOGQQ.js → chunk-O74736N5.js} +57 -34
  34. package/dist/tsup/chunk-O74736N5.js.map +1 -0
  35. package/dist/tsup/{chunk-XBPOYV4E.cjs → chunk-OCXHNHGQ.cjs} +3 -3
  36. package/dist/tsup/{chunk-XBPOYV4E.cjs.map → chunk-OCXHNHGQ.cjs.map} +1 -1
  37. package/dist/tsup/{chunk-6XR7IKBZ.js → chunk-P5JJG4KY.js} +2 -2
  38. package/dist/tsup/{chunk-CZKQ2UR5.cjs → chunk-S3GXVCIM.cjs} +4 -4
  39. package/dist/tsup/{chunk-CZKQ2UR5.cjs.map → chunk-S3GXVCIM.cjs.map} +1 -1
  40. package/dist/tsup/{chunk-GGGZ4TN7.cjs → chunk-XDYECGCT.cjs} +7 -7
  41. package/dist/tsup/{chunk-GGGZ4TN7.cjs.map → chunk-XDYECGCT.cjs.map} +1 -1
  42. package/dist/tsup/client/mod.cjs +5 -5
  43. package/dist/tsup/client/mod.d.cts +2 -2
  44. package/dist/tsup/client/mod.d.ts +2 -2
  45. package/dist/tsup/client/mod.js +4 -4
  46. package/dist/tsup/common/log.cjs +2 -2
  47. package/dist/tsup/common/log.js +1 -1
  48. package/dist/tsup/common/websocket.cjs +3 -3
  49. package/dist/tsup/common/websocket.js +2 -2
  50. package/dist/tsup/{config-Bi1r6gI7.d.ts → config-DzaddF-j.d.ts} +8 -1
  51. package/dist/tsup/{config-BXSV17G7.d.cts → config-VxDc6yMu.d.cts} +8 -1
  52. package/dist/tsup/{context-D4sNYboo.d.ts → context-B6HYokje.d.ts} +1 -1
  53. package/dist/tsup/{context-4fJemY0D.d.cts → context-Cn8CIrOR.d.cts} +1 -1
  54. package/dist/tsup/db/drizzle.cjs +2 -2
  55. package/dist/tsup/db/drizzle.js +1 -1
  56. package/dist/tsup/db/mod.cjs +3 -3
  57. package/dist/tsup/db/mod.js +2 -2
  58. package/dist/tsup/dynamic/mod.cjs +2 -2
  59. package/dist/tsup/dynamic/mod.d.cts +1 -1
  60. package/dist/tsup/dynamic/mod.d.ts +1 -1
  61. package/dist/tsup/dynamic/mod.js +1 -1
  62. package/dist/tsup/inspector/mod.cjs +5 -5
  63. package/dist/tsup/inspector/mod.js +4 -4
  64. package/dist/tsup/inspector/workflow.cjs +4 -4
  65. package/dist/tsup/inspector/workflow.js +3 -3
  66. package/dist/tsup/inspector-tab/mod.cjs +2 -2
  67. package/dist/tsup/inspector-tab/mod.d.cts +2 -2
  68. package/dist/tsup/inspector-tab/mod.d.ts +2 -2
  69. package/dist/tsup/inspector-tab/mod.js +1 -1
  70. package/dist/tsup/mod.cjs +93 -92
  71. package/dist/tsup/mod.cjs.map +1 -1
  72. package/dist/tsup/mod.d.cts +3 -3
  73. package/dist/tsup/mod.d.ts +3 -3
  74. package/dist/tsup/mod.js +9 -8
  75. package/dist/tsup/mod.js.map +1 -1
  76. package/dist/tsup/test/mod.cjs +6 -6
  77. package/dist/tsup/test/mod.d.cts +1 -1
  78. package/dist/tsup/test/mod.d.ts +1 -1
  79. package/dist/tsup/test/mod.js +4 -4
  80. package/dist/tsup/utils.cjs +2 -2
  81. package/dist/tsup/utils.js +1 -1
  82. package/dist/tsup/workflow/mod.cjs +10 -10
  83. package/dist/tsup/workflow/mod.cjs.map +1 -1
  84. package/dist/tsup/workflow/mod.d.cts +3 -3
  85. package/dist/tsup/workflow/mod.d.ts +3 -3
  86. package/dist/tsup/workflow/mod.js +5 -5
  87. package/package.json +8 -8
  88. package/src/actor/config.test.ts +8 -0
  89. package/src/actor/config.ts +24 -1
  90. package/src/client/actor-handle.ts +15 -10
  91. package/src/engine-client/mod.ts +51 -20
  92. package/src/registry/native.ts +1 -0
  93. package/src/registry/runtime.ts +1 -0
  94. package/dist/tsup/chunk-4KGXFC6M.cjs.map +0 -1
  95. package/dist/tsup/chunk-6W5VGLFT.js.map +0 -1
  96. package/dist/tsup/chunk-BK2JOGQQ.js.map +0 -1
  97. package/dist/tsup/chunk-DXN6RPPQ.cjs.map +0 -1
  98. /package/dist/tsup/{chunk-3JBE7REK.js.map → chunk-3CBQIP37.js.map} +0 -0
  99. /package/dist/tsup/{chunk-KRQI5GXM.js.map → chunk-AF2VKCFA.js.map} +0 -0
  100. /package/dist/tsup/{chunk-KPZQI3TG.js.map → chunk-BQ7YJ3PG.js.map} +0 -0
  101. /package/dist/tsup/{chunk-JZGMOEEI.js.map → chunk-GMBCKV6C.js.map} +0 -0
  102. /package/dist/tsup/{chunk-ZEIH7S4M.js.map → chunk-NVMHEG5J.js.map} +0 -0
  103. /package/dist/tsup/{chunk-6XR7IKBZ.js.map → chunk-P5JJG4KY.js.map} +0 -0
@@ -1355,6 +1355,7 @@ declare const ActorConfigSchema: z.ZodObject<{
1355
1355
  options: z.ZodPrefault<z.ZodObject<{
1356
1356
  name: z.ZodOptional<z.ZodString>;
1357
1357
  icon: z.ZodOptional<z.ZodString>;
1358
+ maxActions: z.ZodDefault<z.ZodNumber>;
1358
1359
  enableActorRuntimeSocket: z.ZodDefault<z.ZodBoolean>;
1359
1360
  canHibernateWebSocket: z.ZodDefault<z.ZodUnion<readonly [z.ZodBoolean, z.ZodCustom<(request: Request) => boolean, (request: Request) => boolean>]>>;
1360
1361
  createVarsTimeout: z.ZodDefault<z.ZodNumber>;
@@ -2012,6 +2013,7 @@ interface RuntimeSqlRunResult {
2012
2013
  interface RuntimeActorConfig {
2013
2014
  name?: string;
2014
2015
  icon?: string;
2016
+ maxActions?: number;
2015
2017
  hasDatabase?: boolean;
2016
2018
  remoteSqlite?: boolean;
2017
2019
  sqliteProfiling?: SqliteProfilingOptions;
@@ -201,7 +201,7 @@ function noopNext() {
201
201
  // package.json
202
202
  var package_default = {
203
203
  name: "rivetkit",
204
- version: "2.3.12-rc.2",
204
+ version: "2.3.12-rc.4",
205
205
  description: "Lightweight libraries for building stateful actors on edge platforms",
206
206
  license: "Apache-2.0",
207
207
  keywords: [
@@ -4244,24 +4244,45 @@ var RemoteEngineControlClient = class {
4244
4244
  name,
4245
4245
  key
4246
4246
  });
4247
- const { actor, created } = await getOrCreateActor(this.#config, {
4248
- datacenter: region,
4249
- name,
4250
- key: serializeActorKey(key),
4251
- runner_name_selector: poolName ?? this.#config.poolName,
4252
- input: actorInput ? uint8ArrayToBase64(
4253
- encodeCborCompat(actorInput)
4254
- ) : void 0,
4255
- crash_policy: crashPolicy ?? "sleep"
4256
- });
4257
- logger3().info({
4258
- msg: "getOrCreateWithKey: actor ready",
4259
- actorId: actor.actor_id,
4260
- name,
4261
- key,
4262
- created
4263
- });
4264
- return apiActorToOutput(actor);
4247
+ try {
4248
+ const { actor, created } = await getOrCreateActor(this.#config, {
4249
+ datacenter: region,
4250
+ name,
4251
+ key: serializeActorKey(key),
4252
+ runner_name_selector: poolName ?? this.#config.poolName,
4253
+ input: actorInput ? uint8ArrayToBase64(
4254
+ encodeCborCompat(actorInput)
4255
+ ) : void 0,
4256
+ crash_policy: crashPolicy ?? "sleep"
4257
+ });
4258
+ logger3().info({
4259
+ msg: "getOrCreateWithKey: actor ready",
4260
+ actorId: actor.actor_id,
4261
+ name,
4262
+ key,
4263
+ created
4264
+ });
4265
+ return apiActorToOutput(actor);
4266
+ } catch (error) {
4267
+ if (error instanceof RivetError && error.group === "actor" && error.code === "key_reserved_in_different_datacenter") {
4268
+ logger3().warn({
4269
+ msg: "getOrCreateWithKey: key reserved in different datacenter, retrying as get",
4270
+ name,
4271
+ key
4272
+ });
4273
+ const response = await getActorByKey(this.#config, name, key);
4274
+ const existing = response.actors[0];
4275
+ if (!existing) throw error;
4276
+ logger3().info({
4277
+ msg: "getOrCreateWithKey: resolved existing actor via get",
4278
+ actorId: existing.actor_id,
4279
+ name,
4280
+ key
4281
+ });
4282
+ return apiActorToOutput(existing);
4283
+ }
4284
+ throw error;
4285
+ }
4265
4286
  }
4266
4287
  async createActor({
4267
4288
  name,
@@ -6082,7 +6103,7 @@ var ActorHandleRaw = class {
6082
6103
  async #sendQueueMessage(name, body, options) {
6083
6104
  return await this.#queueSendMutex.run(async () => {
6084
6105
  const maxAttempts = this.#getDynamicQueryMaxAttempts();
6085
- let useQueryTarget = false;
6106
+ let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
6086
6107
  for (let attempt = 0; attempt < maxAttempts; attempt++) {
6087
6108
  let actorId;
6088
6109
  try {
@@ -6145,8 +6166,9 @@ var ActorHandleRaw = class {
6145
6166
  code
6146
6167
  );
6147
6168
  if (invalidated && attempt < maxAttempts - 1) {
6148
- useQueryTarget = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
6149
- if (useQueryTarget) {
6169
+ const waitForReady = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
6170
+ useQueryTarget = useQueryTarget || waitForReady;
6171
+ if (waitForReady) {
6150
6172
  await this.#waitForRetryWindow();
6151
6173
  }
6152
6174
  continue;
@@ -6182,7 +6204,7 @@ var ActorHandleRaw = class {
6182
6204
  }
6183
6205
  async #sendActionNow(opts) {
6184
6206
  const maxAttempts = this.#getDynamicQueryMaxAttempts();
6185
- let useQueryTarget = false;
6207
+ let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
6186
6208
  const gatewayOptions = resolveActorGatewayOptions(
6187
6209
  this.#gatewayOptions,
6188
6210
  opts
@@ -6431,7 +6453,7 @@ var ActorHandleRaw = class {
6431
6453
  }
6432
6454
  async #fetchWithResolvedActor(input, init) {
6433
6455
  const maxAttempts = this.#getDynamicQueryMaxAttempts();
6434
- let useQueryTarget = false;
6456
+ let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
6435
6457
  const { skipReadyWait, ...requestInit } = init ?? {};
6436
6458
  const gatewayOptions = resolveActorGatewayOptions(
6437
6459
  this.#gatewayOptions,
@@ -6499,8 +6521,9 @@ var ActorHandleRaw = class {
6499
6521
  code
6500
6522
  );
6501
6523
  if (invalidated && attempt < maxAttempts - 1) {
6502
- useQueryTarget = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
6503
- if (useQueryTarget) {
6524
+ const waitForReady = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
6525
+ useQueryTarget = useQueryTarget || waitForReady;
6526
+ if (waitForReady) {
6504
6527
  await this.#waitForRetryWindow();
6505
6528
  }
6506
6529
  continue;
@@ -6550,10 +6573,10 @@ var ActorHandleRaw = class {
6550
6573
  }
6551
6574
  const invalidated = this.#invalidateResolvedActorId(group, code);
6552
6575
  if (invalidated && attempt < maxAttempts - 1) {
6553
- const useQueryTarget = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
6576
+ const waitForReady = code === "starting" || code === "stopping" || code.startsWith("destroyed_");
6554
6577
  return {
6555
- useQueryTarget,
6556
- waitForRetryWindow: useQueryTarget
6578
+ useQueryTarget: true,
6579
+ waitForRetryWindow: waitForReady
6557
6580
  };
6558
6581
  }
6559
6582
  return null;