@workflow/world-testing 5.0.0-beta.24 → 5.0.0-beta.26

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.
@@ -333,9 +333,26 @@ var init_dist = __esm({
333
333
  });
334
334
 
335
335
  // ../errors/dist/error-codes.js
336
+ var RUN_ERROR_CODES;
336
337
  var init_error_codes = __esm({
337
338
  "../errors/dist/error-codes.js"() {
338
339
  "use strict";
340
+ RUN_ERROR_CODES = {
341
+ /** Error thrown in user workflow or step code */
342
+ USER_ERROR: "USER_ERROR",
343
+ /** Internal runtime error (missing timestamps, runtime invariant failures) */
344
+ RUNTIME_ERROR: "RUNTIME_ERROR",
345
+ /** Event log contains orphaned or mismatched events and cannot be replayed */
346
+ CORRUPTED_EVENT_LOG: "CORRUPTED_EVENT_LOG",
347
+ /** One replay could not consume the event log deterministically; retryable */
348
+ REPLAY_DIVERGENCE: "REPLAY_DIVERGENCE",
349
+ /** Run exceeded the maximum number of queue deliveries */
350
+ MAX_DELIVERIES_EXCEEDED: "MAX_DELIVERIES_EXCEEDED",
351
+ /** Workflow replay exceeded the maximum allowed duration */
352
+ REPLAY_TIMEOUT: "REPLAY_TIMEOUT",
353
+ /** World response violated the SDK contract and cannot be retried safely */
354
+ WORLD_CONTRACT_ERROR: "WORLD_CONTRACT_ERROR"
355
+ };
339
356
  }
340
357
  });
341
358
 
@@ -369,7 +386,7 @@ function buildFramedDetails(hint2, slug) {
369
386
  });
370
387
  return out;
371
388
  }
372
- var BASE_URL, ERROR_SLUGS, WorkflowError, WorkflowWorldError, WorkflowRunFailedError, WorkflowRunNotCompletedError, WorkflowRuntimeError, RuntimeDecryptionError, SerializationError, WorkflowRunNotFoundError, HookConflictError, HookNotFoundError, EntityConflictError, ThrottleError, WorkflowRunCancelledError, FatalError, RetryableError, FATAL_ERROR_KEY, RETRYABLE_ERROR_KEY, HOOK_CONFLICT_ERROR_KEY, RUNTIME_DECRYPTION_ERROR_KEY;
389
+ var BASE_URL, ERROR_SLUGS, WorkflowError, WorkflowWorldError, WorkflowRunFailedError, WorkflowRunNotCompletedError, WorkflowRuntimeError, RuntimeDecryptionError, SerializationError, StepNotRegisteredError, WorkflowNotRegisteredError, WorkflowRunNotFoundError, HookConflictError, HookNotFoundError, EntityConflictError, ThrottleError, WorkflowRunCancelledError, FatalError, RetryableError, FATAL_ERROR_KEY, RETRYABLE_ERROR_KEY, HOOK_CONFLICT_ERROR_KEY, RUNTIME_DECRYPTION_ERROR_KEY;
373
390
  var init_dist2 = __esm({
374
391
  "../errors/dist/index.js"() {
375
392
  "use strict";
@@ -540,6 +557,38 @@ Caused by: ${options.cause.stack}`;
540
557
  return isError(value) && value.name === "SerializationError";
541
558
  }
542
559
  };
560
+ StepNotRegisteredError = class extends WorkflowRuntimeError {
561
+ static {
562
+ __name(this, "StepNotRegisteredError");
563
+ }
564
+ stepName;
565
+ constructor(stepName) {
566
+ super(`Step "${stepName}" is not registered in the current deployment. This usually indicates a build or bundling issue that caused the step to not be included in the deployment.`, {
567
+ slug: ERROR_SLUGS.STEP_NOT_REGISTERED
568
+ });
569
+ this.name = "StepNotRegisteredError";
570
+ this.stepName = stepName;
571
+ }
572
+ static is(value) {
573
+ return isError(value) && value.name === "StepNotRegisteredError";
574
+ }
575
+ };
576
+ WorkflowNotRegisteredError = class extends WorkflowRuntimeError {
577
+ static {
578
+ __name(this, "WorkflowNotRegisteredError");
579
+ }
580
+ workflowName;
581
+ constructor(workflowName) {
582
+ super(`Workflow "${workflowName}" is not registered in the current deployment. This usually means a run was started against a deployment that does not have this workflow, or there was a build/bundling issue.`, {
583
+ slug: ERROR_SLUGS.WORKFLOW_NOT_REGISTERED
584
+ });
585
+ this.name = "WorkflowNotRegisteredError";
586
+ this.workflowName = workflowName;
587
+ }
588
+ static is(value) {
589
+ return isError(value) && value.name === "WorkflowNotRegisteredError";
590
+ }
591
+ };
543
592
  WorkflowRunNotFoundError = class extends WorkflowError {
544
593
  static {
545
594
  __name(this, "WorkflowRunNotFoundError");
@@ -24007,7 +24056,7 @@ var version2;
24007
24056
  var init_version = __esm({
24008
24057
  "../core/dist/version.js"() {
24009
24058
  "use strict";
24010
- version2 = "5.0.0-beta.24";
24059
+ version2 = "5.0.0-beta.26";
24011
24060
  }
24012
24061
  });
24013
24062
 
@@ -25921,7 +25970,7 @@ function attachAbortListenerOnce(signal, streamName, runId, cryptoKey, ops) {
25921
25970
  once: true
25922
25971
  });
25923
25972
  }
25924
- function getExternalReducers(global2 = globalThis, ops, runId, cryptoKey, framedByteStreams = false) {
25973
+ function getExternalReducers(global2 = globalThis, ops, runId, cryptoKey, framedByteStreams = false, runReadyBarrier) {
25925
25974
  return {
25926
25975
  ...getAllBaseReducers(global2),
25927
25976
  ReadableStream: /* @__PURE__ */ __name((value) => {
@@ -25934,7 +25983,7 @@ function getExternalReducers(global2 = globalThis, ops, runId, cryptoKey, framed
25934
25983
  const streamId = (global2[STABLE_ULID] || defaultUlid)();
25935
25984
  const name = `strm_${streamId}`;
25936
25985
  const type = getStreamType(value);
25937
- const writable = new WorkflowServerWritableStream(runId, name);
25986
+ const writable = new WorkflowServerWritableStream(runId, name, runReadyBarrier);
25938
25987
  if (type === "bytes") {
25939
25988
  if (framedByteStreams) {
25940
25989
  ops.push(value.pipeThrough(getByteFramingStream()).pipeTo(writable));
@@ -25942,7 +25991,7 @@ function getExternalReducers(global2 = globalThis, ops, runId, cryptoKey, framed
25942
25991
  ops.push(value.pipeTo(writable));
25943
25992
  }
25944
25993
  } else {
25945
- ops.push(value.pipeThrough(getSerializeStream(getExternalReducers(global2, ops, runId, cryptoKey, framedByteStreams), cryptoKey)).pipeTo(writable));
25994
+ ops.push(value.pipeThrough(getSerializeStream(getExternalReducers(global2, ops, runId, cryptoKey, framedByteStreams, runReadyBarrier), cryptoKey)).pipeTo(writable));
25946
25995
  }
25947
25996
  const s = {
25948
25997
  name
@@ -26048,7 +26097,7 @@ function getWorkflowReducers(global2 = globalThis) {
26048
26097
  }, "AbortSignal")
26049
26098
  };
26050
26099
  }
26051
- function getStepReducers(global2 = globalThis, ops, runId, cryptoKey, framedByteStreams = false) {
26100
+ function getStepReducers(global2 = globalThis, ops, runId, cryptoKey, framedByteStreams = false, runReadyBarrier) {
26052
26101
  return {
26053
26102
  ...getAllBaseReducers(global2),
26054
26103
  ReadableStream: /* @__PURE__ */ __name((value) => {
@@ -26066,7 +26115,7 @@ function getStepReducers(global2 = globalThis, ops, runId, cryptoKey, framedByte
26066
26115
  name = `strm_${streamId}`;
26067
26116
  type = getStreamType(value);
26068
26117
  framing = type === "bytes" && framedByteStreams ? "framed-v1" : framing;
26069
- const writable = new WorkflowServerWritableStream(runId, name);
26118
+ const writable = new WorkflowServerWritableStream(runId, name, runReadyBarrier);
26070
26119
  if (type === "bytes") {
26071
26120
  if (framing === "framed-v1") {
26072
26121
  ops.push(value.pipeThrough(getByteFramingStream()).pipeTo(writable));
@@ -26074,7 +26123,7 @@ function getStepReducers(global2 = globalThis, ops, runId, cryptoKey, framedByte
26074
26123
  ops.push(value.pipeTo(writable));
26075
26124
  }
26076
26125
  } else {
26077
- ops.push(value.pipeThrough(getSerializeStream(getStepReducers(global2, ops, runId, cryptoKey, framedByteStreams), cryptoKey)).pipeTo(writable));
26126
+ ops.push(value.pipeThrough(getSerializeStream(getStepReducers(global2, ops, runId, cryptoKey, framedByteStreams, runReadyBarrier), cryptoKey)).pipeTo(writable));
26078
26127
  }
26079
26128
  }
26080
26129
  const s = {
@@ -26580,16 +26629,16 @@ async function hydrateStepArguments(value, runId, key, ops = [], global2 = globa
26580
26629
  await recordCompression(compressionStats, "deserialize");
26581
26630
  return result;
26582
26631
  }
26583
- async function dehydrateStepReturnValue(value, runId, key, ops = [], global2 = globalThis, v1Compat = false, framedByteStreams = false, compression = false) {
26632
+ async function dehydrateStepReturnValue(value, runId, key, ops = [], global2 = globalThis, v1Compat = false, framedByteStreams = false, compression = false, runReadyBarrier) {
26584
26633
  if (v1Compat) {
26585
- const str = stringify(value, getStepReducers(global2, ops, runId, key, framedByteStreams));
26634
+ const str = stringify(value, getStepReducers(global2, ops, runId, key, framedByteStreams, runReadyBarrier));
26586
26635
  return revive(str);
26587
26636
  }
26588
26637
  try {
26589
26638
  const compressionStats = {};
26590
26639
  const result = await serialize2(value, key, {
26591
26640
  global: global2,
26592
- extraReducers: getStreamAndRequestReducers(getStepReducers(global2, ops, runId, key, framedByteStreams)),
26641
+ extraReducers: getStreamAndRequestReducers(getStepReducers(global2, ops, runId, key, framedByteStreams, runReadyBarrier)),
26593
26642
  compression,
26594
26643
  compressionStats
26595
26644
  });
@@ -26729,7 +26778,16 @@ var init_serialization2 = __esm({
26729
26778
  static {
26730
26779
  __name(this, "WorkflowServerWritableStream");
26731
26780
  }
26732
- constructor(runId, name) {
26781
+ /**
26782
+ * @param runReadyBarrier Turbo mode only: a promise that resolves once the
26783
+ * backgrounded `run_started` has landed. When the step body runs
26784
+ * optimistically (before `run_started` is durable), the first chunk write to
26785
+ * a brand-new stream would otherwise reach the World before the run exists
26786
+ * and be rejected as run-not-found. Awaiting this once before the first
26787
+ * flush/close orders the write after the run's creation. `undefined` outside
26788
+ * turbo and on the await path, where the run was already durable.
26789
+ */
26790
+ constructor(runId, name, runReadyBarrier) {
26733
26791
  if (typeof runId !== "string") {
26734
26792
  throw new WorkflowRuntimeError(`"runId" must be a string, got "${typeof runId}"`);
26735
26793
  }
@@ -26737,6 +26795,16 @@ var init_serialization2 = __esm({
26737
26795
  throw new WorkflowRuntimeError(`"name" is required, got "${name}"`);
26738
26796
  }
26739
26797
  const worldPromise = getWorldLazy();
26798
+ let pendingRunReady = runReadyBarrier;
26799
+ const ensureRunReady = /* @__PURE__ */ __name(async () => {
26800
+ if (pendingRunReady) {
26801
+ try {
26802
+ await pendingRunReady;
26803
+ } catch {
26804
+ }
26805
+ pendingRunReady = void 0;
26806
+ }
26807
+ }, "ensureRunReady");
26740
26808
  let buffer2 = [];
26741
26809
  let flushTimer = null;
26742
26810
  let flushPromise = null;
@@ -26747,6 +26815,7 @@ var init_serialization2 = __esm({
26747
26815
  flushTimer = null;
26748
26816
  }
26749
26817
  if (buffer2.length === 0) return;
26818
+ await ensureRunReady();
26750
26819
  const chunksToFlush = buffer2.slice();
26751
26820
  const world = await worldPromise;
26752
26821
  if (resolvedFlushIntervalMs === void 0) {
@@ -26796,6 +26865,7 @@ var init_serialization2 = __esm({
26796
26865
  flushPromise = null;
26797
26866
  }
26798
26867
  await flush();
26868
+ await ensureRunReady();
26799
26869
  const world = await worldPromise;
26800
26870
  await world.streams.close(runId, name);
26801
26871
  },
@@ -26994,6 +27064,43 @@ __name(normalizeAttributeChanges, "normalizeAttributeChanges");
26994
27064
 
26995
27065
  // ../core/dist/runtime/start.js
26996
27066
  init_capabilities();
27067
+
27068
+ // ../core/dist/classify-error.js
27069
+ init_dist2();
27070
+ var WORLD_CONTRACT_ERROR_CODES = /* @__PURE__ */ new Set([
27071
+ "PARSE_ERROR",
27072
+ "SCHEMA_VALIDATION",
27073
+ RUN_ERROR_CODES.WORLD_CONTRACT_ERROR
27074
+ ]);
27075
+ var RETRYABLE_WORLD_ERROR_CODES = /* @__PURE__ */ new Set([
27076
+ "TRANSPORT",
27077
+ "TIMEOUT"
27078
+ ]);
27079
+ var RUNTIME_ERROR_CHECKS = [
27080
+ WorkflowRuntimeError.is,
27081
+ StepNotRegisteredError.is,
27082
+ WorkflowNotRegisteredError.is,
27083
+ // SDK-level encryption failures (most notably AES-GCM auth-tag
27084
+ // mismatches surfacing as a native `OperationError` from
27085
+ // `AESCipherJob.onDone`) are wrapped in `RuntimeDecryptionError` at
27086
+ // the encryption module boundary.
27087
+ RuntimeDecryptionError.is
27088
+ ];
27089
+ function isRetryableWorldError(err) {
27090
+ if (ThrottleError.is(err)) {
27091
+ return true;
27092
+ }
27093
+ if (!WorkflowWorldError.is(err)) {
27094
+ return false;
27095
+ }
27096
+ if (err.status !== void 0 && err.status >= 500) {
27097
+ return true;
27098
+ }
27099
+ return err.code !== void 0 && RETRYABLE_WORLD_ERROR_CODES.has(err.code);
27100
+ }
27101
+ __name(isRetryableWorldError, "isRetryableWorldError");
27102
+
27103
+ // ../core/dist/runtime/start.js
26997
27104
  init_encryption();
26998
27105
  init_logger();
26999
27106
  init_serialization2();
@@ -27146,7 +27253,7 @@ async function start(workflow, argsOrOptions, options) {
27146
27253
  if (runCreatedResult.status === "rejected") {
27147
27254
  const err = runCreatedResult.reason;
27148
27255
  if (EntityConflictError.is(err)) {
27149
- } else if (isRetryableStartError(err)) {
27256
+ } else if (isRetryableWorldError(err)) {
27150
27257
  resilientStart = true;
27151
27258
  runtimeLogger.warn("Run creation event failed, but the run was accepted via the queue. The run_created event will be re-tried async by the runtime.", {
27152
27259
  workflowRunId: runId,
@@ -27190,13 +27297,7 @@ __name(start, "start");
27190
27297
  value: "start",
27191
27298
  configurable: true
27192
27299
  });
27193
- })(start, "step//@workflow/core/runtime/start@5.0.0-beta.24//start");
27194
- function isRetryableStartError(err) {
27195
- if (ThrottleError.is(err)) return true;
27196
- if (WorkflowWorldError.is(err) && err.status && err.status >= 500) return true;
27197
- return false;
27198
- }
27199
- __name(isRetryableStartError, "isRetryableStartError");
27300
+ })(start, "step//@workflow/core/runtime/start@5.0.0-beta.26//start");
27200
27301
 
27201
27302
  // ../core/dist/runtime/runs.js
27202
27303
  async function wakeUpRun(world, runId, options) {
@@ -27523,7 +27624,7 @@ var Run = class _Run {
27523
27624
  value: "wakeUp",
27524
27625
  configurable: true
27525
27626
  });
27526
- })(Run.prototype["wakeUp"], "step//@workflow/core/runtime/run@5.0.0-beta.24//Run#wakeUp");
27627
+ })(Run.prototype["wakeUp"], "step//@workflow/core/runtime/run@5.0.0-beta.26//Run#wakeUp");
27527
27628
  (function(__wf_fn, __wf_id) {
27528
27629
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
27529
27630
  __wf_reg.set(__wf_id, __wf_fn);
@@ -27532,7 +27633,7 @@ var Run = class _Run {
27532
27633
  value: "cancel",
27533
27634
  configurable: true
27534
27635
  });
27535
- })(Run.prototype["cancel"], "step//@workflow/core/runtime/run@5.0.0-beta.24//Run#cancel");
27636
+ })(Run.prototype["cancel"], "step//@workflow/core/runtime/run@5.0.0-beta.26//Run#cancel");
27536
27637
  (function(__wf_fn, __wf_id) {
27537
27638
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
27538
27639
  __wf_reg.set(__wf_id, __wf_fn);
@@ -27541,7 +27642,7 @@ var Run = class _Run {
27541
27642
  value: "getReadable",
27542
27643
  configurable: true
27543
27644
  });
27544
- })(Run.prototype["getReadable"], "step//@workflow/core/runtime/run@5.0.0-beta.24//Run#getReadable");
27645
+ })(Run.prototype["getReadable"], "step//@workflow/core/runtime/run@5.0.0-beta.26//Run#getReadable");
27545
27646
  (function(__wf_fn, __wf_id) {
27546
27647
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
27547
27648
  __wf_reg.set(__wf_id, __wf_fn);
@@ -27550,7 +27651,7 @@ var Run = class _Run {
27550
27651
  value: "exists",
27551
27652
  configurable: true
27552
27653
  });
27553
- })(Object.getOwnPropertyDescriptor(Run.prototype, "exists").get, "step//@workflow/core/runtime/run@5.0.0-beta.24//Run#exists");
27654
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "exists").get, "step//@workflow/core/runtime/run@5.0.0-beta.26//Run#exists");
27554
27655
  (function(__wf_fn, __wf_id) {
27555
27656
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
27556
27657
  __wf_reg.set(__wf_id, __wf_fn);
@@ -27559,7 +27660,7 @@ var Run = class _Run {
27559
27660
  value: "status",
27560
27661
  configurable: true
27561
27662
  });
27562
- })(Object.getOwnPropertyDescriptor(Run.prototype, "status").get, "step//@workflow/core/runtime/run@5.0.0-beta.24//Run#status");
27663
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "status").get, "step//@workflow/core/runtime/run@5.0.0-beta.26//Run#status");
27563
27664
  (function(__wf_fn, __wf_id) {
27564
27665
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
27565
27666
  __wf_reg.set(__wf_id, __wf_fn);
@@ -27568,7 +27669,7 @@ var Run = class _Run {
27568
27669
  value: "returnValue",
27569
27670
  configurable: true
27570
27671
  });
27571
- })(Object.getOwnPropertyDescriptor(Run.prototype, "returnValue").get, "step//@workflow/core/runtime/run@5.0.0-beta.24//Run#returnValue");
27672
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "returnValue").get, "step//@workflow/core/runtime/run@5.0.0-beta.26//Run#returnValue");
27572
27673
  (function(__wf_fn, __wf_id) {
27573
27674
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
27574
27675
  __wf_reg.set(__wf_id, __wf_fn);
@@ -27577,7 +27678,7 @@ var Run = class _Run {
27577
27678
  value: "workflowName",
27578
27679
  configurable: true
27579
27680
  });
27580
- })(Object.getOwnPropertyDescriptor(Run.prototype, "workflowName").get, "step//@workflow/core/runtime/run@5.0.0-beta.24//Run#workflowName");
27681
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "workflowName").get, "step//@workflow/core/runtime/run@5.0.0-beta.26//Run#workflowName");
27581
27682
  (function(__wf_fn, __wf_id) {
27582
27683
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
27583
27684
  __wf_reg.set(__wf_id, __wf_fn);
@@ -27586,7 +27687,7 @@ var Run = class _Run {
27586
27687
  value: "createdAt",
27587
27688
  configurable: true
27588
27689
  });
27589
- })(Object.getOwnPropertyDescriptor(Run.prototype, "createdAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.24//Run#createdAt");
27690
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "createdAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.26//Run#createdAt");
27590
27691
  (function(__wf_fn, __wf_id) {
27591
27692
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
27592
27693
  __wf_reg.set(__wf_id, __wf_fn);
@@ -27595,7 +27696,7 @@ var Run = class _Run {
27595
27696
  value: "startedAt",
27596
27697
  configurable: true
27597
27698
  });
27598
- })(Object.getOwnPropertyDescriptor(Run.prototype, "startedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.24//Run#startedAt");
27699
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "startedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.26//Run#startedAt");
27599
27700
  (function(__wf_fn, __wf_id) {
27600
27701
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
27601
27702
  __wf_reg.set(__wf_id, __wf_fn);
@@ -27604,7 +27705,7 @@ var Run = class _Run {
27604
27705
  value: "completedAt",
27605
27706
  configurable: true
27606
27707
  });
27607
- })(Object.getOwnPropertyDescriptor(Run.prototype, "completedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.24//Run#completedAt");
27708
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "completedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.26//Run#completedAt");
27608
27709
  (function(__wf_cls, __wf_id) {
27609
27710
  var __wf_sym = /* @__PURE__ */ Symbol.for("workflow-class-registry"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
27610
27711
  __wf_reg.set(__wf_id, __wf_cls);
@@ -27614,7 +27715,7 @@ var Run = class _Run {
27614
27715
  enumerable: false,
27615
27716
  configurable: false
27616
27717
  });
27617
- })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.24//Run");
27718
+ })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.26//Run");
27618
27719
 
27619
27720
  // ../workflow/dist/stdlib.js
27620
27721
  async function fetch2(...args) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/world-testing",
3
- "version": "5.0.0-beta.24",
3
+ "version": "5.0.0-beta.26",
4
4
  "description": "Testing utilities and World implementation for Workflow SDK",
5
5
  "main": "dist/src/index.mjs",
6
6
  "files": [
@@ -20,11 +20,11 @@
20
20
  "chalk": "5.6.2",
21
21
  "hono": "4.12.25",
22
22
  "jsonlines": "0.1.1",
23
- "zod": "4.3.6",
24
- "@workflow/cli": "5.0.0-beta.24",
25
- "@workflow/core": "5.0.0-beta.24",
26
- "@workflow/world": "5.0.0-beta.13",
27
- "workflow": "5.0.0-beta.24"
23
+ "zod": "~4.3.6",
24
+ "@workflow/cli": "5.0.0-beta.26",
25
+ "@workflow/core": "5.0.0-beta.26",
26
+ "@workflow/world": "5.0.0-beta.14",
27
+ "workflow": "5.0.0-beta.26"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/jsonlines": "0.1.5",