rivetkit 2.3.12-rc.2 → 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 (69) hide show
  1. package/dist/browser/client.js +52 -29
  2. package/dist/browser/client.js.map +1 -1
  3. package/dist/browser/inspector/client.js +1 -1
  4. package/dist/browser/inspector/client.js.map +1 -1
  5. package/dist/tsup/agent-os/index.cjs +1 -1
  6. package/dist/tsup/agent-os/index.cjs.map +1 -1
  7. package/dist/tsup/agent-os/index.js +1 -1
  8. package/dist/tsup/agent-os/index.js.map +1 -1
  9. package/dist/tsup/{chunk-6XR7IKBZ.js → chunk-34Q4YVCX.js} +2 -2
  10. package/dist/tsup/{chunk-APQQFCPR.cjs → chunk-4ESGNS3Z.cjs} +2 -2
  11. package/dist/tsup/{chunk-APQQFCPR.cjs.map → chunk-4ESGNS3Z.cjs.map} +1 -1
  12. package/dist/tsup/{chunk-XBPOYV4E.cjs → chunk-EQKSWDIH.cjs} +3 -3
  13. package/dist/tsup/{chunk-XBPOYV4E.cjs.map → chunk-EQKSWDIH.cjs.map} +1 -1
  14. package/dist/tsup/{chunk-WTD54OHL.cjs → chunk-IJWTHKH6.cjs} +3 -3
  15. package/dist/tsup/{chunk-WTD54OHL.cjs.map → chunk-IJWTHKH6.cjs.map} +1 -1
  16. package/dist/tsup/{chunk-JZGMOEEI.js → chunk-NHI5L7C7.js} +3 -3
  17. package/dist/tsup/{chunk-HRJHLVHZ.cjs → chunk-O6H3BUN4.cjs} +3 -3
  18. package/dist/tsup/{chunk-HRJHLVHZ.cjs.map → chunk-O6H3BUN4.cjs.map} +1 -1
  19. package/dist/tsup/{chunk-YW75TS76.js → chunk-OLGQYFUW.js} +2 -2
  20. package/dist/tsup/{chunk-YW75TS76.js.map → chunk-OLGQYFUW.js.map} +1 -1
  21. package/dist/tsup/{chunk-IU6TTH6L.cjs → chunk-OX6WVQE6.cjs} +10 -10
  22. package/dist/tsup/{chunk-IU6TTH6L.cjs.map → chunk-OX6WVQE6.cjs.map} +1 -1
  23. package/dist/tsup/{chunk-KRQI5GXM.js → chunk-PSXMESQJ.js} +2 -2
  24. package/dist/tsup/{chunk-DXN6RPPQ.cjs → chunk-PZBWSCQR.cjs} +188 -165
  25. package/dist/tsup/chunk-PZBWSCQR.cjs.map +1 -0
  26. package/dist/tsup/{chunk-CZKQ2UR5.cjs → chunk-QLOBB27M.cjs} +4 -4
  27. package/dist/tsup/{chunk-CZKQ2UR5.cjs.map → chunk-QLOBB27M.cjs.map} +1 -1
  28. package/dist/tsup/{chunk-GGGZ4TN7.cjs → chunk-UBB32UOG.cjs} +7 -7
  29. package/dist/tsup/{chunk-GGGZ4TN7.cjs.map → chunk-UBB32UOG.cjs.map} +1 -1
  30. package/dist/tsup/{chunk-3JBE7REK.js → chunk-UN5JNDBT.js} +4 -4
  31. package/dist/tsup/{chunk-KPZQI3TG.js → chunk-WVFTFWJL.js} +2 -2
  32. package/dist/tsup/{chunk-ZEIH7S4M.js → chunk-XI4MEUUI.js} +2 -2
  33. package/dist/tsup/{chunk-BK2JOGQQ.js → chunk-YYIDQBBM.js} +57 -34
  34. package/dist/tsup/chunk-YYIDQBBM.js.map +1 -0
  35. package/dist/tsup/client/mod.cjs +5 -5
  36. package/dist/tsup/client/mod.js +4 -4
  37. package/dist/tsup/common/log.cjs +2 -2
  38. package/dist/tsup/common/log.js +1 -1
  39. package/dist/tsup/common/websocket.cjs +3 -3
  40. package/dist/tsup/common/websocket.js +2 -2
  41. package/dist/tsup/db/drizzle.cjs +2 -2
  42. package/dist/tsup/db/drizzle.js +1 -1
  43. package/dist/tsup/db/mod.cjs +3 -3
  44. package/dist/tsup/db/mod.js +2 -2
  45. package/dist/tsup/inspector/mod.cjs +5 -5
  46. package/dist/tsup/inspector/mod.js +4 -4
  47. package/dist/tsup/inspector/workflow.cjs +4 -4
  48. package/dist/tsup/inspector/workflow.js +3 -3
  49. package/dist/tsup/mod.cjs +72 -72
  50. package/dist/tsup/mod.cjs.map +1 -1
  51. package/dist/tsup/mod.js +7 -7
  52. package/dist/tsup/test/mod.cjs +6 -6
  53. package/dist/tsup/test/mod.js +4 -4
  54. package/dist/tsup/utils.cjs +2 -2
  55. package/dist/tsup/utils.js +1 -1
  56. package/dist/tsup/workflow/mod.cjs +7 -7
  57. package/dist/tsup/workflow/mod.cjs.map +1 -1
  58. package/dist/tsup/workflow/mod.js +4 -4
  59. package/package.json +8 -8
  60. package/src/client/actor-handle.ts +15 -10
  61. package/src/engine-client/mod.ts +51 -20
  62. package/dist/tsup/chunk-BK2JOGQQ.js.map +0 -1
  63. package/dist/tsup/chunk-DXN6RPPQ.cjs.map +0 -1
  64. /package/dist/tsup/{chunk-6XR7IKBZ.js.map → chunk-34Q4YVCX.js.map} +0 -0
  65. /package/dist/tsup/{chunk-JZGMOEEI.js.map → chunk-NHI5L7C7.js.map} +0 -0
  66. /package/dist/tsup/{chunk-KRQI5GXM.js.map → chunk-PSXMESQJ.js.map} +0 -0
  67. /package/dist/tsup/{chunk-3JBE7REK.js.map → chunk-UN5JNDBT.js.map} +0 -0
  68. /package/dist/tsup/{chunk-KPZQI3TG.js.map → chunk-WVFTFWJL.js.map} +0 -0
  69. /package/dist/tsup/{chunk-ZEIH7S4M.js.map → chunk-XI4MEUUI.js.map} +0 -0
@@ -182,28 +182,59 @@ export class RemoteEngineControlClient implements EngineControlClient {
182
182
  key,
183
183
  });
184
184
 
185
- const { actor, created } = await getOrCreateActor(this.#config, {
186
- datacenter: region,
187
- name,
188
- key: serializeActorKey(key),
189
- runner_name_selector: poolName ?? this.#config.poolName,
190
- input: actorInput
191
- ? uint8ArrayToBase64(
192
- encodeCborCompat(actorInput as JsonCompatValue),
193
- )
194
- : undefined,
195
- crash_policy: crashPolicy ?? "sleep",
196
- });
185
+ try {
186
+ const { actor, created } = await getOrCreateActor(this.#config, {
187
+ datacenter: region,
188
+ name,
189
+ key: serializeActorKey(key),
190
+ runner_name_selector: poolName ?? this.#config.poolName,
191
+ input: actorInput
192
+ ? uint8ArrayToBase64(
193
+ encodeCborCompat(actorInput as JsonCompatValue),
194
+ )
195
+ : undefined,
196
+ crash_policy: crashPolicy ?? "sleep",
197
+ });
197
198
 
198
- logger().info({
199
- msg: "getOrCreateWithKey: actor ready",
200
- actorId: actor.actor_id,
201
- name,
202
- key,
203
- created,
204
- });
199
+ logger().info({
200
+ msg: "getOrCreateWithKey: actor ready",
201
+ actorId: actor.actor_id,
202
+ name,
203
+ key,
204
+ created,
205
+ });
205
206
 
206
- return apiActorToOutput(actor);
207
+ return apiActorToOutput(actor);
208
+ } catch (error) {
209
+ // The key is reserved in a different datacenter, which means the
210
+ // actor already exists there. get-by-key forwards to the reserved
211
+ // datacenter, so retry as a get to resolve the existing actor.
212
+ if (
213
+ error instanceof EngineApiError &&
214
+ error.group === "actor" &&
215
+ error.code === "key_reserved_in_different_datacenter"
216
+ ) {
217
+ logger().warn({
218
+ msg: "getOrCreateWithKey: key reserved in different datacenter, retrying as get",
219
+ name,
220
+ key,
221
+ });
222
+
223
+ const response = await getActorByKey(this.#config, name, key);
224
+ const existing = response.actors[0];
225
+ if (!existing) throw error;
226
+
227
+ logger().info({
228
+ msg: "getOrCreateWithKey: resolved existing actor via get",
229
+ actorId: existing.actor_id,
230
+ name,
231
+ key,
232
+ });
233
+
234
+ return apiActorToOutput(existing);
235
+ }
236
+ throw error;
237
+ }
207
238
  }
208
239
 
209
240
  async createActor({