@workflow/world-testing 5.0.0-beta.52 → 5.0.0-beta.53

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.
@@ -27255,6 +27255,7 @@ function renderStructuredFields(framing, body, metadata) {
27255
27255
  "errorName",
27256
27256
  "errorMessage",
27257
27257
  "errorStack",
27258
+ "errorCause",
27258
27259
  "hint",
27259
27260
  "attempt",
27260
27261
  "retryCount"
@@ -27297,6 +27298,10 @@ function renderStructuredFields(framing, body, metadata) {
27297
27298
  if (errorMessage && !redundant.has("errorMessage")) {
27298
27299
  lines.push(` ${kvKey("error")} ${formatPassthroughValue(errorMessage)}`);
27299
27300
  }
27301
+ const errorCause = pickString(metadata, "errorCause");
27302
+ if (errorCause && !body.includes(errorCause)) {
27303
+ lines.push(` ${kvKey("cause")} ${formatPassthroughValue(errorCause)}`);
27304
+ }
27300
27305
  const hint2 = pickString(metadata, "hint");
27301
27306
  if (hint2) {
27302
27307
  lines.push(` ${hint(hint2)}`);
@@ -32164,7 +32169,7 @@ var version2;
32164
32169
  var init_version = __esm({
32165
32170
  "../core/dist/version.js"() {
32166
32171
  "use strict";
32167
- version2 = "5.0.0-beta.52";
32172
+ version2 = "5.0.0-beta.53";
32168
32173
  }
32169
32174
  });
32170
32175
 
@@ -38606,6 +38611,13 @@ async function getForwardedWritableEncryptionKey(runId, deploymentId, encryption
38606
38611
  "encrypt"
38607
38612
  ]) : void 0;
38608
38613
  }
38614
+ function lazyForwardedWritableEncryptionKey(runId, deploymentId, encryptionPublicKey) {
38615
+ let keyPromise;
38616
+ return () => {
38617
+ keyPromise ??= getForwardedWritableEncryptionKey(runId, deploymentId, encryptionPublicKey);
38618
+ return keyPromise;
38619
+ };
38620
+ }
38609
38621
  function tagForwardedWritableTarget(writable, { deploymentId, encryptionPublicKey }) {
38610
38622
  if (typeof deploymentId === "string") {
38611
38623
  Object.defineProperty(writable, STREAM_SERVER_DEPLOYMENT_ID_SYMBOL, {
@@ -38756,7 +38768,7 @@ function getExternalRevivers(global2 = globalThis, ops, runId, cryptoKey, option
38756
38768
  }, "ReadableStream"),
38757
38769
  WritableStream: /* @__PURE__ */ __name((value) => {
38758
38770
  const targetRunId = typeof value.runId === "string" ? value.runId : runId;
38759
- const targetKey = targetRunId === runId ? cryptoKey : getForwardedWritableEncryptionKey(targetRunId, value.deploymentId, value.encryptionPublicKey);
38771
+ const targetKey = targetRunId === runId ? cryptoKey : lazyForwardedWritableEncryptionKey(targetRunId, value.deploymentId, value.encryptionPublicKey);
38760
38772
  return createForwardedWritable({
38761
38773
  global: global2,
38762
38774
  ops,
@@ -38902,7 +38914,7 @@ function getStepRevivers(global2 = globalThis, ops, runId, cryptoKey, deployment
38902
38914
  WritableStream: /* @__PURE__ */ __name((value) => {
38903
38915
  const targetRunId = typeof value.runId === "string" ? value.runId : runId;
38904
38916
  const targetDeploymentId = typeof value.deploymentId === "string" ? value.deploymentId : targetRunId === runId ? deploymentId : void 0;
38905
- const targetKey = targetRunId === runId ? cryptoKey : getForwardedWritableEncryptionKey(targetRunId, targetDeploymentId, value.encryptionPublicKey);
38917
+ const targetKey = targetRunId === runId ? cryptoKey : lazyForwardedWritableEncryptionKey(targetRunId, targetDeploymentId, value.encryptionPublicKey);
38906
38918
  const serialize3 = getSerializeStream(getStepReducers(global2, ops, targetRunId, targetKey), targetKey);
38907
38919
  const serverWritable = new WorkflowServerWritableStream(targetRunId, value.name);
38908
38920
  const state = createFlushableState();
@@ -39464,6 +39476,7 @@ var init_serialization2 = __esm({
39464
39476
  __name(reviveAbortSignal, "reviveAbortSignal");
39465
39477
  __name(getCommonRevivers2, "getCommonRevivers");
39466
39478
  __name(getForwardedWritableEncryptionKey, "getForwardedWritableEncryptionKey");
39479
+ __name(lazyForwardedWritableEncryptionKey, "lazyForwardedWritableEncryptionKey");
39467
39480
  __name(tagForwardedWritableTarget, "tagForwardedWritableTarget");
39468
39481
  __name(createForwardedWritable, "createForwardedWritable");
39469
39482
  __name(getRunReadableStream, "getRunReadableStream");
@@ -39978,7 +39991,7 @@ __name(start, "start");
39978
39991
  value: "start",
39979
39992
  configurable: true
39980
39993
  });
39981
- })(start, "step//@workflow/core/runtime/start@5.0.0-beta.52//start");
39994
+ })(start, "step//@workflow/core/runtime/start@5.0.0-beta.53//start");
39982
39995
 
39983
39996
  // ../core/dist/runtime/runs.js
39984
39997
  async function wakeUpRun(world, runId, options) {
@@ -40441,7 +40454,7 @@ var Run = class _Run {
40441
40454
  value: "wakeUp",
40442
40455
  configurable: true
40443
40456
  });
40444
- })(Run.prototype["wakeUp"], "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#wakeUp");
40457
+ })(Run.prototype["wakeUp"], "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#wakeUp");
40445
40458
  (function(__wf_fn, __wf_id) {
40446
40459
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40447
40460
  __wf_reg.set(__wf_id, __wf_fn);
@@ -40450,7 +40463,7 @@ var Run = class _Run {
40450
40463
  value: "cancel",
40451
40464
  configurable: true
40452
40465
  });
40453
- })(Run.prototype["cancel"], "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#cancel");
40466
+ })(Run.prototype["cancel"], "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#cancel");
40454
40467
  (function(__wf_fn, __wf_id) {
40455
40468
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40456
40469
  __wf_reg.set(__wf_id, __wf_fn);
@@ -40459,7 +40472,7 @@ var Run = class _Run {
40459
40472
  value: "getReadable",
40460
40473
  configurable: true
40461
40474
  });
40462
- })(Run.prototype["getReadable"], "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#getReadable");
40475
+ })(Run.prototype["getReadable"], "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#getReadable");
40463
40476
  (function(__wf_fn, __wf_id) {
40464
40477
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40465
40478
  __wf_reg.set(__wf_id, __wf_fn);
@@ -40468,7 +40481,7 @@ var Run = class _Run {
40468
40481
  value: "getWritable",
40469
40482
  configurable: true
40470
40483
  });
40471
- })(Run.prototype["getWritable"], "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#getWritable");
40484
+ })(Run.prototype["getWritable"], "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#getWritable");
40472
40485
  (function(__wf_fn, __wf_id) {
40473
40486
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40474
40487
  __wf_reg.set(__wf_id, __wf_fn);
@@ -40477,7 +40490,7 @@ var Run = class _Run {
40477
40490
  value: "exists",
40478
40491
  configurable: true
40479
40492
  });
40480
- })(Object.getOwnPropertyDescriptor(Run.prototype, "exists").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#exists");
40493
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "exists").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#exists");
40481
40494
  (function(__wf_fn, __wf_id) {
40482
40495
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40483
40496
  __wf_reg.set(__wf_id, __wf_fn);
@@ -40486,7 +40499,7 @@ var Run = class _Run {
40486
40499
  value: "status",
40487
40500
  configurable: true
40488
40501
  });
40489
- })(Object.getOwnPropertyDescriptor(Run.prototype, "status").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#status");
40502
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "status").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#status");
40490
40503
  (function(__wf_fn, __wf_id) {
40491
40504
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40492
40505
  __wf_reg.set(__wf_id, __wf_fn);
@@ -40495,7 +40508,7 @@ var Run = class _Run {
40495
40508
  value: "returnValue",
40496
40509
  configurable: true
40497
40510
  });
40498
- })(Object.getOwnPropertyDescriptor(Run.prototype, "returnValue").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#returnValue");
40511
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "returnValue").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#returnValue");
40499
40512
  (function(__wf_fn, __wf_id) {
40500
40513
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40501
40514
  __wf_reg.set(__wf_id, __wf_fn);
@@ -40504,7 +40517,7 @@ var Run = class _Run {
40504
40517
  value: "workflowName",
40505
40518
  configurable: true
40506
40519
  });
40507
- })(Object.getOwnPropertyDescriptor(Run.prototype, "workflowName").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#workflowName");
40520
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "workflowName").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#workflowName");
40508
40521
  (function(__wf_fn, __wf_id) {
40509
40522
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40510
40523
  __wf_reg.set(__wf_id, __wf_fn);
@@ -40513,7 +40526,7 @@ var Run = class _Run {
40513
40526
  value: "createdAt",
40514
40527
  configurable: true
40515
40528
  });
40516
- })(Object.getOwnPropertyDescriptor(Run.prototype, "createdAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#createdAt");
40529
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "createdAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#createdAt");
40517
40530
  (function(__wf_fn, __wf_id) {
40518
40531
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40519
40532
  __wf_reg.set(__wf_id, __wf_fn);
@@ -40522,7 +40535,7 @@ var Run = class _Run {
40522
40535
  value: "startedAt",
40523
40536
  configurable: true
40524
40537
  });
40525
- })(Object.getOwnPropertyDescriptor(Run.prototype, "startedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#startedAt");
40538
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "startedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#startedAt");
40526
40539
  (function(__wf_fn, __wf_id) {
40527
40540
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40528
40541
  __wf_reg.set(__wf_id, __wf_fn);
@@ -40531,7 +40544,7 @@ var Run = class _Run {
40531
40544
  value: "completedAt",
40532
40545
  configurable: true
40533
40546
  });
40534
- })(Object.getOwnPropertyDescriptor(Run.prototype, "completedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#completedAt");
40547
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "completedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#completedAt");
40535
40548
  (function(__wf_cls, __wf_id) {
40536
40549
  var __wf_sym = /* @__PURE__ */ Symbol.for("workflow-class-registry"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
40537
40550
  __wf_reg.set(__wf_id, __wf_cls);
@@ -40541,7 +40554,7 @@ var Run = class _Run {
40541
40554
  enumerable: false,
40542
40555
  configurable: false
40543
40556
  });
40544
- })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.52//Run");
40557
+ })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.53//Run");
40545
40558
 
40546
40559
  // ../workflow/dist/stdlib.js
40547
40560
  async function fetch2(...args) {
@@ -61824,7 +61824,7 @@ var version4;
61824
61824
  var init_version3 = __esm({
61825
61825
  "../world-vercel/dist/version.js"() {
61826
61826
  "use strict";
61827
- version4 = "5.0.0-beta.47";
61827
+ version4 = "5.0.0-beta.48";
61828
61828
  }
61829
61829
  });
61830
61830
 
@@ -62133,7 +62133,15 @@ var init_http_client = __esm({
62133
62133
  // Covers H2 stream timeout, frameError and GOAWAY (undici InformationalError).
62134
62134
  "UND_ERR_INFO",
62135
62135
  "UND_ERR_HEADERS_TIMEOUT",
62136
- "UND_ERR_BODY_TIMEOUT"
62136
+ "UND_ERR_BODY_TIMEOUT",
62137
+ // Node can surface these directly instead of undici's UND_ERR_INFO. Once
62138
+ // repeated, retire the pool even when classification used its fallback.
62139
+ // Keep this scoped to session/stream failures: ERR_HTTP2_* also contains
62140
+ // request-validation and caller-cancellation errors a new pool cannot fix.
62141
+ "ERR_HTTP2_GOAWAY_SESSION",
62142
+ "ERR_HTTP2_INVALID_SESSION",
62143
+ "ERR_HTTP2_SESSION_ERROR",
62144
+ "ERR_HTTP2_STREAM_ERROR"
62137
62145
  ]);
62138
62146
  MAX_CAUSE_DEPTH = 8;
62139
62147
  __name(isRecyclableTransportError, "isRecyclableTransportError");
@@ -62327,6 +62335,38 @@ function getTransientTransportCode(error121) {
62327
62335
  }
62328
62336
  return void 0;
62329
62337
  }
62338
+ function validateHttpUrl(url3) {
62339
+ const { protocol, username, password } = new URL(url3);
62340
+ if (protocol !== "http:" && protocol !== "https:") {
62341
+ throw new TypeError(`Unsupported URL protocol ${protocol}; expected http: or https:`);
62342
+ }
62343
+ if (username || password) {
62344
+ throw new TypeError("HTTP(S) URLs with embedded credentials are unsupported");
62345
+ }
62346
+ }
62347
+ function describeTransportFailure(error121) {
62348
+ const known = getTransientTransportCode(error121);
62349
+ if (known)
62350
+ return known;
62351
+ let firstCode;
62352
+ let innermostName;
62353
+ let current = error121;
62354
+ for (let depth = 0; current && depth < 8; depth++) {
62355
+ const { code: code3, name, message } = current;
62356
+ if (name === "Error" && message === "bad port" && code3 === void 0) {
62357
+ return void 0;
62358
+ }
62359
+ if (typeof code3 === "string" && code3) {
62360
+ if (REQUEST_CONSTRUCTION_ERROR_CODES.has(code3))
62361
+ return void 0;
62362
+ firstCode ??= code3;
62363
+ }
62364
+ if (typeof name === "string" && name)
62365
+ innermostName = name;
62366
+ current = current.cause;
62367
+ }
62368
+ return firstCode ?? innermostName ?? "unknown";
62369
+ }
62330
62370
  function getVercelDiagnostics(headers) {
62331
62371
  return DIAGNOSTIC_HEADERS.flatMap((header) => {
62332
62372
  const value = headers.get(header);
@@ -62451,6 +62491,7 @@ function recordClientSpanStatus(span, status) {
62451
62491
  async function instrumentedFetch(opts) {
62452
62492
  const { method, url: url3, headers, body, dispatcher, peerService, timeoutMs = getRequestTimeoutMs(), signal: callerSignal, injectTraceContext: injectTraceContext2 = true, cacheBust = true, logLabel, buildError, spanName, attributes, durationAttribute, onTransportOutcome, deferTransportSuccessUntilBody = false, onRequestDispatched, transportErrorCode = "TRANSPORT" } = opts;
62453
62493
  const label = logLabel ?? url3;
62494
+ validateHttpUrl(url3);
62454
62495
  return withHttpClientSpan({ method, url: url3, peerService, spanName, attributes }, async (span) => {
62455
62496
  if (injectTraceContext2)
62456
62497
  await injectTraceContextIntoHeaders(headers);
@@ -62458,13 +62499,13 @@ async function instrumentedFetch(opts) {
62458
62499
  headers.set("X-Request-Time", Date.now().toString());
62459
62500
  const timeoutSignal = timeoutMs != null ? AbortSignal.timeout(timeoutMs) : void 0;
62460
62501
  const signal = callerSignal && timeoutSignal ? AbortSignal.any([callerSignal, timeoutSignal]) : callerSignal ?? timeoutSignal;
62502
+ const nodeAgents = dispatcher ? void 0 : getNodeHttpAgents();
62503
+ span?.setAttributes({
62504
+ ...WorkflowHttpTransport(nodeAgents ? "node-http" : "undici")
62505
+ });
62461
62506
  const start3 = Date.now();
62462
62507
  let response;
62463
62508
  try {
62464
- const nodeAgents = dispatcher ? void 0 : getNodeHttpAgents();
62465
- span?.setAttributes({
62466
- ...WorkflowHttpTransport(nodeAgents ? "node-http" : "undici")
62467
- });
62468
62509
  const request = nodeAgents ? nodeHttpFetch(url3, {
62469
62510
  method,
62470
62511
  headers,
@@ -62502,7 +62543,7 @@ async function instrumentedFetch(opts) {
62502
62543
  span?.recordException?.(timeoutError);
62503
62544
  throw timeoutError;
62504
62545
  }
62505
- const transportCode = getTransientTransportCode(error121);
62546
+ const transportCode = describeTransportFailure(error121);
62506
62547
  if (transportCode) {
62507
62548
  const message = `${method} ${label} transport failure after ${elapsed}ms (${transportCode})`;
62508
62549
  const errorCode = transportErrorCode === "STREAM_ERROR" ? "STREAM_ERROR" : "TRANSPORT";
@@ -62569,7 +62610,7 @@ async function instrumentedFetch(opts) {
62569
62610
  return response;
62570
62611
  });
62571
62612
  }
62572
- var import_oidc, REQUEST_TIMEOUT_MS, TRANSIENT_TRANSPORT_ERROR_CODES, getRequestTimeoutMs, HTTP_DEBUG_ENABLED, DIAGNOSTIC_HEADERS;
62613
+ var import_oidc, REQUEST_TIMEOUT_MS, TRANSIENT_TRANSPORT_ERROR_CODES, REQUEST_CONSTRUCTION_ERROR_CODES, getRequestTimeoutMs, HTTP_DEBUG_ENABLED, DIAGNOSTIC_HEADERS;
62573
62614
  var init_http_core = __esm({
62574
62615
  "../world-vercel/dist/http-core.js"() {
62575
62616
  "use strict";
@@ -62597,6 +62638,21 @@ var init_http_core = __esm({
62597
62638
  "ETIMEDOUT"
62598
62639
  ]);
62599
62640
  __name(getTransientTransportCode, "getTransientTransportCode");
62641
+ __name(validateHttpUrl, "validateHttpUrl");
62642
+ REQUEST_CONSTRUCTION_ERROR_CODES = /* @__PURE__ */ new Set([
62643
+ "ERR_INVALID_URL",
62644
+ "ERR_INVALID_ARG_TYPE",
62645
+ "ERR_INVALID_ARG_VALUE",
62646
+ "ERR_INVALID_CHAR",
62647
+ "ERR_INVALID_HTTP_TOKEN",
62648
+ "ERR_HTTP_INVALID_HEADER_VALUE",
62649
+ "ERR_UNESCAPED_CHARACTERS",
62650
+ // Undici validates request options and headers during dispatch, after
62651
+ // Fetch has constructed the Request (e.g. unsupported Expect headers).
62652
+ "UND_ERR_INVALID_ARG",
62653
+ "UND_ERR_NOT_SUPPORTED"
62654
+ ]);
62655
+ __name(describeTransportFailure, "describeTransportFailure");
62600
62656
  getRequestTimeoutMs = /* @__PURE__ */ __name(() => envNumber2("WORKFLOW_REQUEST_TIMEOUT_MS", REQUEST_TIMEOUT_MS, {
62601
62657
  integer: true,
62602
62658
  min: 1e4,
@@ -62659,6 +62715,7 @@ async function makeRequest({ endpoint, options = {}, config: config4 = {}, schem
62659
62715
  const method = (options.method || "GET").toUpperCase();
62660
62716
  const { baseUrl, headers } = await getHttpConfig(config4);
62661
62717
  const url3 = `${baseUrl}${endpoint}`;
62718
+ validateHttpUrl(url3);
62662
62719
  return trace4(`http ${method}`, { kind: await getSpanKind3("CLIENT") }, async (span) => {
62663
62720
  span?.setAttributes(httpClientSpanAttributes({
62664
62721
  method,
@@ -62679,13 +62736,15 @@ async function makeRequest({ endpoint, options = {}, config: config4 = {}, schem
62679
62736
  headers.set("X-Request-Time", Date.now().toString());
62680
62737
  const timeoutSignal = AbortSignal.timeout(getRequestTimeoutMs());
62681
62738
  const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;
62739
+ const nodeAgents = getNodeHttpAgents(config4);
62740
+ const undiciRequest = nodeAgents ? void 0 : new Request(url3, { ...options, body, headers, signal });
62741
+ const undiciDispatcher = nodeAgents ? void 0 : getDispatcher(config4);
62742
+ span?.setAttributes({
62743
+ ...WorkflowHttpTransport(nodeAgents ? "node-http" : "undici")
62744
+ });
62682
62745
  const fetchStart = Date.now();
62683
62746
  let response;
62684
62747
  try {
62685
- const nodeAgents = getNodeHttpAgents(config4);
62686
- span?.setAttributes({
62687
- ...WorkflowHttpTransport(nodeAgents ? "node-http" : "undici")
62688
- });
62689
62748
  response = nodeAgents ? await nodeHttpFetch(url3, {
62690
62749
  method,
62691
62750
  headers,
@@ -62697,9 +62756,9 @@ async function makeRequest({ endpoint, options = {}, config: config4 = {}, schem
62697
62756
  // no stalled-socket deadline.
62698
62757
  headersTimeoutMs: NODE_HTTP_HEADERS_TIMEOUT_MS,
62699
62758
  bodyTimeoutMs: NODE_HTTP_BODY_TIMEOUT_MS
62700
- }) : await fetch(new Request(url3, { ...options, body, headers, signal }), {
62759
+ }) : await fetch(undiciRequest, {
62701
62760
  // eslint-disable-next-line @typescript-eslint/no-explicit-any -- undici v7 dispatcher types don't match @types/node's RequestInit
62702
- dispatcher: getDispatcher(config4)
62761
+ dispatcher: undiciDispatcher
62703
62762
  });
62704
62763
  } catch (error121) {
62705
62764
  const elapsed = Date.now() - fetchStart;
@@ -62709,7 +62768,7 @@ async function makeRequest({ endpoint, options = {}, config: config4 = {}, schem
62709
62768
  span?.recordException?.(timeoutError);
62710
62769
  throw timeoutError;
62711
62770
  }
62712
- const transportCode = getTransientTransportCode(error121);
62771
+ const transportCode = describeTransportFailure(error121);
62713
62772
  if (transportCode) {
62714
62773
  if (retryConnectTimeout && canRetryRead && transportCode === "UND_ERR_CONNECT_TIMEOUT" && attempt === 0) {
62715
62774
  await new Promise((resolve3) => setTimeout(resolve3, BODY_PARSE_RETRY_BASE_MS));
@@ -74989,7 +75048,7 @@ function isRetryableEventPostError(err) {
74989
75048
  if (EntityConflictError2.is(err) || RunExpiredError2.is(err) || TooEarlyError.is(err) || ThrottleError2.is(err)) {
74990
75049
  return false;
74991
75050
  }
74992
- if (WorkflowWorldError2.is(err)) {
75051
+ if (WorkflowWorldError2.is(err) || StreamError2.is(err)) {
74993
75052
  if (err.code === "PARSE_ERROR")
74994
75053
  return true;
74995
75054
  if (err.code === "TRANSPORT")
@@ -74997,6 +75056,14 @@ function isRetryableEventPostError(err) {
74997
75056
  if (typeof err.status === "number") {
74998
75057
  return err.status >= 500 && err.status <= 599;
74999
75058
  }
75059
+ if (err.code === "STREAM_ERROR") {
75060
+ return !collectErrorMarkers(err).some((marker) => [
75061
+ "AbortError",
75062
+ "ABORT_ERR",
75063
+ "UND_ERR_ABORTED",
75064
+ "ERR_HTTP2_STREAM_CANCEL"
75065
+ ].includes(marker));
75066
+ }
75000
75067
  }
75001
75068
  return collectErrorMarkers(err).some((m) => TRANSIENT_CODES.has(m));
75002
75069
  }
@@ -75427,7 +75494,7 @@ async function fetchV4(url3, init, config4, opName, attributes) {
75427
75494
  }
75428
75495
  } catch (cause) {
75429
75496
  noteEventsTransportOutcome(dispatcher, cause);
75430
- const transportCode = getTransientTransportCode(cause);
75497
+ const transportCode = describeTransportFailure(cause);
75431
75498
  controller.error(transportCode ? new StreamError2(`v4 ${opName}: response stream transport failure (${transportCode})`, { cause, url: url3 }) : cause);
75432
75499
  }
75433
75500
  },
@@ -78992,6 +79059,7 @@ function renderStructuredFields2(framing, body, metadata) {
78992
79059
  "errorName",
78993
79060
  "errorMessage",
78994
79061
  "errorStack",
79062
+ "errorCause",
78995
79063
  "hint",
78996
79064
  "attempt",
78997
79065
  "retryCount"
@@ -79034,6 +79102,10 @@ function renderStructuredFields2(framing, body, metadata) {
79034
79102
  if (errorMessage && !redundant.has("errorMessage")) {
79035
79103
  lines.push(` ${kvKey2("error")} ${formatPassthroughValue2(errorMessage)}`);
79036
79104
  }
79105
+ const errorCause = pickString2(metadata, "errorCause");
79106
+ if (errorCause && !body.includes(errorCause)) {
79107
+ lines.push(` ${kvKey2("cause")} ${formatPassthroughValue2(errorCause)}`);
79108
+ }
79037
79109
  const hint3 = pickString2(metadata, "hint");
79038
79110
  if (hint3) {
79039
79111
  lines.push(` ${hint2(hint3)}`);
@@ -85928,7 +86000,7 @@ var version5;
85928
86000
  var init_version4 = __esm({
85929
86001
  "../core/dist/version.js"() {
85930
86002
  "use strict";
85931
- version5 = "5.0.0-beta.52";
86003
+ version5 = "5.0.0-beta.53";
85932
86004
  }
85933
86005
  });
85934
86006
 
@@ -87784,6 +87856,13 @@ async function getForwardedWritableEncryptionKey2(runId, deploymentId, encryptio
87784
87856
  const rawKey = deploymentId ? await world.getEncryptionKeyForRun(runId, { deploymentId }) : await world.getEncryptionKeyForRun(await world.runs.get(runId));
87785
87857
  return rawKey ? await importKey2(rawKey, ["encrypt"]) : void 0;
87786
87858
  }
87859
+ function lazyForwardedWritableEncryptionKey2(runId, deploymentId, encryptionPublicKey) {
87860
+ let keyPromise;
87861
+ return () => {
87862
+ keyPromise ??= getForwardedWritableEncryptionKey2(runId, deploymentId, encryptionPublicKey);
87863
+ return keyPromise;
87864
+ };
87865
+ }
87787
87866
  function tagForwardedWritableTarget2(writable, { deploymentId, encryptionPublicKey }) {
87788
87867
  if (typeof deploymentId === "string") {
87789
87868
  Object.defineProperty(writable, STREAM_SERVER_DEPLOYMENT_ID_SYMBOL2, {
@@ -87935,7 +88014,7 @@ function getExternalRevivers2(global2 = globalThis, ops, runId, cryptoKey, optio
87935
88014
  }, "ReadableStream"),
87936
88015
  WritableStream: /* @__PURE__ */ __name((value) => {
87937
88016
  const targetRunId = typeof value.runId === "string" ? value.runId : runId;
87938
- const targetKey = targetRunId === runId ? cryptoKey : getForwardedWritableEncryptionKey2(targetRunId, value.deploymentId, value.encryptionPublicKey);
88017
+ const targetKey = targetRunId === runId ? cryptoKey : lazyForwardedWritableEncryptionKey2(targetRunId, value.deploymentId, value.encryptionPublicKey);
87939
88018
  return createForwardedWritable2({
87940
88019
  global: global2,
87941
88020
  ops,
@@ -88192,7 +88271,7 @@ function getStepRevivers2(global2 = globalThis, ops, runId, cryptoKey, deploymen
88192
88271
  WritableStream: /* @__PURE__ */ __name((value) => {
88193
88272
  const targetRunId = typeof value.runId === "string" ? value.runId : runId;
88194
88273
  const targetDeploymentId = typeof value.deploymentId === "string" ? value.deploymentId : targetRunId === runId ? deploymentId : void 0;
88195
- const targetKey = targetRunId === runId ? cryptoKey : getForwardedWritableEncryptionKey2(targetRunId, targetDeploymentId, value.encryptionPublicKey);
88274
+ const targetKey = targetRunId === runId ? cryptoKey : lazyForwardedWritableEncryptionKey2(targetRunId, targetDeploymentId, value.encryptionPublicKey);
88196
88275
  const serialize5 = getSerializeStream2(getStepReducers2(global2, ops, targetRunId, targetKey), targetKey);
88197
88276
  const serverWritable = new WorkflowServerWritableStream2(targetRunId, value.name);
88198
88277
  const state = createFlushableState2();
@@ -88819,6 +88898,7 @@ var init_serialization4 = __esm({
88819
88898
  __name(reviveAbortSignal2, "reviveAbortSignal");
88820
88899
  __name(getCommonRevivers4, "getCommonRevivers");
88821
88900
  __name(getForwardedWritableEncryptionKey2, "getForwardedWritableEncryptionKey");
88901
+ __name(lazyForwardedWritableEncryptionKey2, "lazyForwardedWritableEncryptionKey");
88822
88902
  __name(tagForwardedWritableTarget2, "tagForwardedWritableTarget");
88823
88903
  __name(createForwardedWritable2, "createForwardedWritable");
88824
88904
  __name(getRunReadableStream2, "getRunReadableStream");
@@ -89386,6 +89466,41 @@ function getErrorStack(v) {
89386
89466
  }
89387
89467
  return "";
89388
89468
  }
89469
+ function describeErrorLink(value) {
89470
+ if (typeof value !== "object" || value === null) {
89471
+ return String(value);
89472
+ }
89473
+ const { name, message, code: code3 } = value;
89474
+ const label = typeof name === "string" && name ? name : "Error";
89475
+ const text = typeof message === "string" && message ? `${label}: ${message}` : label;
89476
+ return typeof code3 === "string" && code3 && !text.includes(code3) ? `${text} (${code3})` : text;
89477
+ }
89478
+ function formatErrorCauseChain(value) {
89479
+ const lines = [];
89480
+ const seen = /* @__PURE__ */ new Set();
89481
+ try {
89482
+ for (let current = causeOf(value); current != null && lines.length <= MAX_CAUSE_LINKS; current = causeOf(current)) {
89483
+ if (typeof current !== "object") {
89484
+ lines.push(String(current));
89485
+ break;
89486
+ }
89487
+ if (seen.has(current))
89488
+ break;
89489
+ seen.add(current);
89490
+ lines.push(describeErrorLink(current), ...aggregatedLinks(current));
89491
+ }
89492
+ } catch {
89493
+ lines.push("[unavailable cause]");
89494
+ }
89495
+ return lines.length > MAX_CAUSE_LINKS ? [...lines.slice(0, MAX_CAUSE_LINKS), "\u2026"].join("\n") : lines.join("\n");
89496
+ }
89497
+ function causeOf(value) {
89498
+ return typeof value === "object" && value !== null ? value.cause : void 0;
89499
+ }
89500
+ function aggregatedLinks(value) {
89501
+ const errors = value.errors;
89502
+ return Array.isArray(errors) ? errors.slice(0, MAX_CAUSE_LINKS).map(describeErrorLink) : [];
89503
+ }
89389
89504
  function isAbortError(value) {
89390
89505
  return typeof value === "object" && value !== null && "name" in value && value.name === "AbortError" && "message" in value && typeof value.message === "string" && (!("stack" in value) || value.stack === void 0 || typeof value.stack === "string");
89391
89506
  }
@@ -89450,12 +89565,18 @@ async function normalizeUnknownError(value) {
89450
89565
  }
89451
89566
  return normalizeSyncError(value);
89452
89567
  }
89568
+ var MAX_CAUSE_LINKS;
89453
89569
  var init_types4 = __esm({
89454
89570
  "../core/dist/types.js"() {
89455
89571
  "use strict";
89456
89572
  init_dist7();
89457
89573
  __name(getErrorName, "getErrorName");
89458
89574
  __name(getErrorStack, "getErrorStack");
89575
+ MAX_CAUSE_LINKS = 4;
89576
+ __name(describeErrorLink, "describeErrorLink");
89577
+ __name(formatErrorCauseChain, "formatErrorCauseChain");
89578
+ __name(causeOf, "causeOf");
89579
+ __name(aggregatedLinks, "aggregatedLinks");
89459
89580
  __name(isAbortError, "isAbortError");
89460
89581
  __name(promoteAbortErrorToFatal, "promoteAbortErrorToFatal");
89461
89582
  __name(isThenable, "isThenable");
@@ -128289,6 +128410,7 @@ function renderStructuredFields(framing, body, metadata) {
128289
128410
  "errorName",
128290
128411
  "errorMessage",
128291
128412
  "errorStack",
128413
+ "errorCause",
128292
128414
  "hint",
128293
128415
  "attempt",
128294
128416
  "retryCount"
@@ -128331,6 +128453,10 @@ function renderStructuredFields(framing, body, metadata) {
128331
128453
  if (errorMessage && !redundant.has("errorMessage")) {
128332
128454
  lines.push(` ${kvKey("error")} ${formatPassthroughValue(errorMessage)}`);
128333
128455
  }
128456
+ const errorCause = pickString(metadata, "errorCause");
128457
+ if (errorCause && !body.includes(errorCause)) {
128458
+ lines.push(` ${kvKey("cause")} ${formatPassthroughValue(errorCause)}`);
128459
+ }
128334
128460
  const hint22 = pickString(metadata, "hint");
128335
128461
  if (hint22) {
128336
128462
  lines.push(` ${hint(hint22)}`);
@@ -133296,7 +133422,7 @@ var version2;
133296
133422
  var init_version = __esm2({
133297
133423
  "../core/dist/version.js"() {
133298
133424
  "use strict";
133299
- version2 = "5.0.0-beta.52";
133425
+ version2 = "5.0.0-beta.53";
133300
133426
  }
133301
133427
  });
133302
133428
  function getWorkflowQueueName(workflowName, namespace) {
@@ -139848,6 +139974,14 @@ async function getForwardedWritableEncryptionKey(runId, deploymentId, encryption
139848
139974
  ]) : void 0;
139849
139975
  }
139850
139976
  __name(getForwardedWritableEncryptionKey, "getForwardedWritableEncryptionKey");
139977
+ function lazyForwardedWritableEncryptionKey(runId, deploymentId, encryptionPublicKey) {
139978
+ let keyPromise;
139979
+ return () => {
139980
+ keyPromise ??= getForwardedWritableEncryptionKey(runId, deploymentId, encryptionPublicKey);
139981
+ return keyPromise;
139982
+ };
139983
+ }
139984
+ __name(lazyForwardedWritableEncryptionKey, "lazyForwardedWritableEncryptionKey");
139851
139985
  function tagForwardedWritableTarget(writable, { deploymentId, encryptionPublicKey }) {
139852
139986
  if (typeof deploymentId === "string") {
139853
139987
  Object.defineProperty(writable, STREAM_SERVER_DEPLOYMENT_ID_SYMBOL, {
@@ -140001,7 +140135,7 @@ function getExternalRevivers(global2 = globalThis, ops, runId, cryptoKey, option
140001
140135
  }, "ReadableStream"),
140002
140136
  WritableStream: /* @__PURE__ */ __name2((value) => {
140003
140137
  const targetRunId = typeof value.runId === "string" ? value.runId : runId;
140004
- const targetKey = targetRunId === runId ? cryptoKey : getForwardedWritableEncryptionKey(targetRunId, value.deploymentId, value.encryptionPublicKey);
140138
+ const targetKey = targetRunId === runId ? cryptoKey : lazyForwardedWritableEncryptionKey(targetRunId, value.deploymentId, value.encryptionPublicKey);
140005
140139
  return createForwardedWritable({
140006
140140
  global: global2,
140007
140141
  ops,
@@ -140148,7 +140282,7 @@ function getStepRevivers(global2 = globalThis, ops, runId, cryptoKey, deployment
140148
140282
  WritableStream: /* @__PURE__ */ __name2((value) => {
140149
140283
  const targetRunId = typeof value.runId === "string" ? value.runId : runId;
140150
140284
  const targetDeploymentId = typeof value.deploymentId === "string" ? value.deploymentId : targetRunId === runId ? deploymentId : void 0;
140151
- const targetKey = targetRunId === runId ? cryptoKey : getForwardedWritableEncryptionKey(targetRunId, targetDeploymentId, value.encryptionPublicKey);
140285
+ const targetKey = targetRunId === runId ? cryptoKey : lazyForwardedWritableEncryptionKey(targetRunId, targetDeploymentId, value.encryptionPublicKey);
140152
140286
  const serialize32 = getSerializeStream(getStepReducers(global2, ops, targetRunId, targetKey), targetKey);
140153
140287
  const serverWritable = new WorkflowServerWritableStream(targetRunId, value.name);
140154
140288
  const state = createFlushableState();
@@ -140736,6 +140870,7 @@ var init_serialization2 = __esm2({
140736
140870
  __name2(reviveAbortSignal, "reviveAbortSignal");
140737
140871
  __name2(getCommonRevivers2, "getCommonRevivers");
140738
140872
  __name2(getForwardedWritableEncryptionKey, "getForwardedWritableEncryptionKey");
140873
+ __name2(lazyForwardedWritableEncryptionKey, "lazyForwardedWritableEncryptionKey");
140739
140874
  __name2(tagForwardedWritableTarget, "tagForwardedWritableTarget");
140740
140875
  __name2(createForwardedWritable, "createForwardedWritable");
140741
140876
  __name2(getRunReadableStream, "getRunReadableStream");
@@ -141240,7 +141375,7 @@ __name2(start, "start");
141240
141375
  value: "start",
141241
141376
  configurable: true
141242
141377
  });
141243
- })(start, "step//@workflow/core/runtime/start@5.0.0-beta.52//start");
141378
+ })(start, "step//@workflow/core/runtime/start@5.0.0-beta.53//start");
141244
141379
  async function wakeUpRun(world, runId, options) {
141245
141380
  try {
141246
141381
  const run22 = await world.runs.get(runId, {
@@ -141707,7 +141842,7 @@ var Run = class _Run {
141707
141842
  value: "wakeUp",
141708
141843
  configurable: true
141709
141844
  });
141710
- })(Run.prototype["wakeUp"], "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#wakeUp");
141845
+ })(Run.prototype["wakeUp"], "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#wakeUp");
141711
141846
  (function(__wf_fn, __wf_id) {
141712
141847
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141713
141848
  __wf_reg.set(__wf_id, __wf_fn);
@@ -141716,7 +141851,7 @@ var Run = class _Run {
141716
141851
  value: "cancel",
141717
141852
  configurable: true
141718
141853
  });
141719
- })(Run.prototype["cancel"], "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#cancel");
141854
+ })(Run.prototype["cancel"], "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#cancel");
141720
141855
  (function(__wf_fn, __wf_id) {
141721
141856
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141722
141857
  __wf_reg.set(__wf_id, __wf_fn);
@@ -141725,7 +141860,7 @@ var Run = class _Run {
141725
141860
  value: "getReadable",
141726
141861
  configurable: true
141727
141862
  });
141728
- })(Run.prototype["getReadable"], "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#getReadable");
141863
+ })(Run.prototype["getReadable"], "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#getReadable");
141729
141864
  (function(__wf_fn, __wf_id) {
141730
141865
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141731
141866
  __wf_reg.set(__wf_id, __wf_fn);
@@ -141734,7 +141869,7 @@ var Run = class _Run {
141734
141869
  value: "getWritable",
141735
141870
  configurable: true
141736
141871
  });
141737
- })(Run.prototype["getWritable"], "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#getWritable");
141872
+ })(Run.prototype["getWritable"], "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#getWritable");
141738
141873
  (function(__wf_fn, __wf_id) {
141739
141874
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141740
141875
  __wf_reg.set(__wf_id, __wf_fn);
@@ -141743,7 +141878,7 @@ var Run = class _Run {
141743
141878
  value: "exists",
141744
141879
  configurable: true
141745
141880
  });
141746
- })(Object.getOwnPropertyDescriptor(Run.prototype, "exists").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#exists");
141881
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "exists").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#exists");
141747
141882
  (function(__wf_fn, __wf_id) {
141748
141883
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141749
141884
  __wf_reg.set(__wf_id, __wf_fn);
@@ -141752,7 +141887,7 @@ var Run = class _Run {
141752
141887
  value: "status",
141753
141888
  configurable: true
141754
141889
  });
141755
- })(Object.getOwnPropertyDescriptor(Run.prototype, "status").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#status");
141890
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "status").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#status");
141756
141891
  (function(__wf_fn, __wf_id) {
141757
141892
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141758
141893
  __wf_reg.set(__wf_id, __wf_fn);
@@ -141761,7 +141896,7 @@ var Run = class _Run {
141761
141896
  value: "returnValue",
141762
141897
  configurable: true
141763
141898
  });
141764
- })(Object.getOwnPropertyDescriptor(Run.prototype, "returnValue").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#returnValue");
141899
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "returnValue").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#returnValue");
141765
141900
  (function(__wf_fn, __wf_id) {
141766
141901
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141767
141902
  __wf_reg.set(__wf_id, __wf_fn);
@@ -141770,7 +141905,7 @@ var Run = class _Run {
141770
141905
  value: "workflowName",
141771
141906
  configurable: true
141772
141907
  });
141773
- })(Object.getOwnPropertyDescriptor(Run.prototype, "workflowName").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#workflowName");
141908
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "workflowName").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#workflowName");
141774
141909
  (function(__wf_fn, __wf_id) {
141775
141910
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141776
141911
  __wf_reg.set(__wf_id, __wf_fn);
@@ -141779,7 +141914,7 @@ var Run = class _Run {
141779
141914
  value: "createdAt",
141780
141915
  configurable: true
141781
141916
  });
141782
- })(Object.getOwnPropertyDescriptor(Run.prototype, "createdAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#createdAt");
141917
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "createdAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#createdAt");
141783
141918
  (function(__wf_fn, __wf_id) {
141784
141919
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141785
141920
  __wf_reg.set(__wf_id, __wf_fn);
@@ -141788,7 +141923,7 @@ var Run = class _Run {
141788
141923
  value: "startedAt",
141789
141924
  configurable: true
141790
141925
  });
141791
- })(Object.getOwnPropertyDescriptor(Run.prototype, "startedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#startedAt");
141926
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "startedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#startedAt");
141792
141927
  (function(__wf_fn, __wf_id) {
141793
141928
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141794
141929
  __wf_reg.set(__wf_id, __wf_fn);
@@ -141797,7 +141932,7 @@ var Run = class _Run {
141797
141932
  value: "completedAt",
141798
141933
  configurable: true
141799
141934
  });
141800
- })(Object.getOwnPropertyDescriptor(Run.prototype, "completedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#completedAt");
141935
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "completedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#completedAt");
141801
141936
  (function(__wf_cls, __wf_id) {
141802
141937
  var __wf_sym = /* @__PURE__ */ Symbol.for("workflow-class-registry"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
141803
141938
  __wf_reg.set(__wf_id, __wf_cls);
@@ -141807,7 +141942,7 @@ var Run = class _Run {
141807
141942
  enumerable: false,
141808
141943
  configurable: false
141809
141944
  });
141810
- })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.52//Run");
141945
+ })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.53//Run");
141811
141946
  async function fetch2(...args) {
141812
141947
  return globalThis.fetch(...args);
141813
141948
  }
@@ -148036,7 +148171,16 @@ function workflowEntrypoint(workflowCode2, options) {
148036
148171
  // shows `errorMessage` on its own row when the
148037
148172
  // throw produced no stack to carry it.
148038
148173
  errorMessage,
148039
- errorStack
148174
+ errorStack,
148175
+ // Neither of those reaches a wrapped error's
148176
+ // reason: `TypeError: fetch failed` carries an
148177
+ // empty message by design and a stack of pure
148178
+ // `node:internal/` frames, and the world layer's
148179
+ // own wrappers name the request that failed
148180
+ // rather than what failed about it. Undefined
148181
+ // when there is no cause, so the row disappears
148182
+ // for an ordinary user throw.
148183
+ errorCause: formatErrorCauseChain(terminalError) || void 0
148040
148184
  });
148041
148185
  if (types9.isNativeError(terminalError) && errorStack) {
148042
148186
  terminalError.stack = errorStack;
@@ -148975,11 +149119,11 @@ var Run = class _Run {
148975
149119
  return this.getWritable();
148976
149120
  }
148977
149121
  };
148978
- Run.prototype["wakeUp"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#wakeUp");
148979
- Run.prototype["cancel"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#cancel");
148980
- Run.prototype["getReadable"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#getReadable");
148981
- Run.prototype["getWritable"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#getWritable");
148982
- var __step_Run$exists = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#exists");
149122
+ Run.prototype["wakeUp"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#wakeUp");
149123
+ Run.prototype["cancel"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#cancel");
149124
+ Run.prototype["getReadable"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#getReadable");
149125
+ Run.prototype["getWritable"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#getWritable");
149126
+ var __step_Run$exists = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#exists");
148983
149127
  Object.defineProperty(Run.prototype, "exists", {
148984
149128
  get() {
148985
149129
  return __step_Run$exists.call(this);
@@ -148987,7 +149131,7 @@ Object.defineProperty(Run.prototype, "exists", {
148987
149131
  configurable: true,
148988
149132
  enumerable: false
148989
149133
  });
148990
- var __step_Run$status = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#status");
149134
+ var __step_Run$status = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#status");
148991
149135
  Object.defineProperty(Run.prototype, "status", {
148992
149136
  get() {
148993
149137
  return __step_Run$status.call(this);
@@ -148995,7 +149139,7 @@ Object.defineProperty(Run.prototype, "status", {
148995
149139
  configurable: true,
148996
149140
  enumerable: false
148997
149141
  });
148998
- var __step_Run$returnValue = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#returnValue");
149142
+ var __step_Run$returnValue = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#returnValue");
148999
149143
  Object.defineProperty(Run.prototype, "returnValue", {
149000
149144
  get() {
149001
149145
  return __step_Run$returnValue.call(this);
@@ -149003,7 +149147,7 @@ Object.defineProperty(Run.prototype, "returnValue", {
149003
149147
  configurable: true,
149004
149148
  enumerable: false
149005
149149
  });
149006
- var __step_Run$workflowName = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#workflowName");
149150
+ var __step_Run$workflowName = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#workflowName");
149007
149151
  Object.defineProperty(Run.prototype, "workflowName", {
149008
149152
  get() {
149009
149153
  return __step_Run$workflowName.call(this);
@@ -149011,7 +149155,7 @@ Object.defineProperty(Run.prototype, "workflowName", {
149011
149155
  configurable: true,
149012
149156
  enumerable: false
149013
149157
  });
149014
- var __step_Run$createdAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#createdAt");
149158
+ var __step_Run$createdAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#createdAt");
149015
149159
  Object.defineProperty(Run.prototype, "createdAt", {
149016
149160
  get() {
149017
149161
  return __step_Run$createdAt.call(this);
@@ -149019,7 +149163,7 @@ Object.defineProperty(Run.prototype, "createdAt", {
149019
149163
  configurable: true,
149020
149164
  enumerable: false
149021
149165
  });
149022
- var __step_Run$startedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#startedAt");
149166
+ var __step_Run$startedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#startedAt");
149023
149167
  Object.defineProperty(Run.prototype, "startedAt", {
149024
149168
  get() {
149025
149169
  return __step_Run$startedAt.call(this);
@@ -149027,7 +149171,7 @@ Object.defineProperty(Run.prototype, "startedAt", {
149027
149171
  configurable: true,
149028
149172
  enumerable: false
149029
149173
  });
149030
- var __step_Run$completedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.52//Run#completedAt");
149174
+ var __step_Run$completedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.53//Run#completedAt");
149031
149175
  Object.defineProperty(Run.prototype, "completedAt", {
149032
149176
  get() {
149033
149177
  return __step_Run$completedAt.call(this);
@@ -149044,7 +149188,7 @@ Object.defineProperty(Run.prototype, "completedAt", {
149044
149188
  enumerable: false,
149045
149189
  configurable: false
149046
149190
  });
149047
- })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.52//Run");
149191
+ })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.53//Run");
149048
149192
 
149049
149193
  // ../core/dist/workflow/create-hook.js
149050
149194
  aliasSerializationClass(RUN_CLASS_ID, Run);
@@ -156640,7 +156784,7 @@ globalThis.__private_workflows.set("workflow//./workflows/inline-execution//hook
156640
156784
  var latestNoOpWarning = globalSingleton("@workflow/core//latestNoOpWarning", 1, () => ({
156641
156785
  warned: false
156642
156786
  }));
156643
- var start = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/start@5.0.0-beta.52//start");
156787
+ var start = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/start@5.0.0-beta.53//start");
156644
156788
 
156645
156789
  // workflows/lineage.ts
156646
156790
  var noop = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//./workflows/lineage//noop");
@@ -3,42 +3,42 @@
3
3
  "steps": {
4
4
  "core/dist/runtime/run.js": {
5
5
  "Run#cancel": {
6
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#cancel"
6
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#cancel"
7
7
  },
8
8
  "Run#completedAt": {
9
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#completedAt"
9
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#completedAt"
10
10
  },
11
11
  "Run#createdAt": {
12
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#createdAt"
12
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#createdAt"
13
13
  },
14
14
  "Run#exists": {
15
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#exists"
15
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#exists"
16
16
  },
17
17
  "Run#getReadable": {
18
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#getReadable"
18
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#getReadable"
19
19
  },
20
20
  "Run#getWritable": {
21
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#getWritable"
21
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#getWritable"
22
22
  },
23
23
  "Run#returnValue": {
24
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#returnValue"
24
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#returnValue"
25
25
  },
26
26
  "Run#startedAt": {
27
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#startedAt"
27
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#startedAt"
28
28
  },
29
29
  "Run#status": {
30
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#status"
30
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#status"
31
31
  },
32
32
  "Run#wakeUp": {
33
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#wakeUp"
33
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#wakeUp"
34
34
  },
35
35
  "Run#workflowName": {
36
- "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.52//Run#workflowName"
36
+ "stepId": "step//@workflow/core/runtime/run@5.0.0-beta.53//Run#workflowName"
37
37
  }
38
38
  },
39
39
  "core/dist/runtime/start.js": {
40
40
  "start": {
41
- "stepId": "step//@workflow/core/runtime/start@5.0.0-beta.52//start"
41
+ "stepId": "step//@workflow/core/runtime/start@5.0.0-beta.53//start"
42
42
  }
43
43
  },
44
44
  "workflow/dist/internal/builtins.js": {
@@ -1298,7 +1298,7 @@
1298
1298
  "data": {
1299
1299
  "label": "start",
1300
1300
  "nodeKind": "step",
1301
- "stepId": "step//@workflow/core/runtime/start@5.0.0-beta.52//start"
1301
+ "stepId": "step//@workflow/core/runtime/start@5.0.0-beta.53//start"
1302
1302
  }
1303
1303
  },
1304
1304
  {
@@ -1405,7 +1405,7 @@
1405
1405
  "data": {
1406
1406
  "label": "start",
1407
1407
  "nodeKind": "step",
1408
- "stepId": "step//@workflow/core/runtime/start@5.0.0-beta.52//start"
1408
+ "stepId": "step//@workflow/core/runtime/start@5.0.0-beta.53//start"
1409
1409
  }
1410
1410
  },
1411
1411
  {
@@ -1466,7 +1466,7 @@
1466
1466
  "data": {
1467
1467
  "label": "start",
1468
1468
  "nodeKind": "step",
1469
- "stepId": "step//@workflow/core/runtime/start@5.0.0-beta.52//start"
1469
+ "stepId": "step//@workflow/core/runtime/start@5.0.0-beta.53//start"
1470
1470
  }
1471
1471
  },
1472
1472
  {
@@ -1767,7 +1767,7 @@
1767
1767
  "classes": {
1768
1768
  "core/dist/runtime/run.js": {
1769
1769
  "Run": {
1770
- "classId": "class//@workflow/core/runtime/run@5.0.0-beta.52//Run"
1770
+ "classId": "class//@workflow/core/runtime/run@5.0.0-beta.53//Run"
1771
1771
  }
1772
1772
  }
1773
1773
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/world-testing",
3
- "version": "5.0.0-beta.52",
3
+ "version": "5.0.0-beta.53",
4
4
  "description": "Testing utilities and World implementation for Workflow SDK",
5
5
  "main": "dist/src/index.mjs",
6
6
  "files": [
@@ -17,13 +17,13 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@hono/node-server": "1.19.13",
20
- "@workflow/cli": "5.0.0-beta.52",
21
- "@workflow/core": "5.0.0-beta.52",
20
+ "@workflow/cli": "5.0.0-beta.53",
21
+ "@workflow/core": "5.0.0-beta.53",
22
22
  "@workflow/world": "5.0.0-beta.36",
23
23
  "chalk": "5.6.2",
24
24
  "hono": "4.12.25",
25
25
  "jsonlines": "0.1.1",
26
- "workflow": "5.0.0-beta.52",
26
+ "workflow": "5.0.0-beta.53",
27
27
  "zod": "~4.5.4"
28
28
  },
29
29
  "devDependencies": {