@workflow/world-testing 5.0.0-beta.31 → 5.0.0-beta.33

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.
@@ -15585,7 +15585,7 @@ var init_waits2 = __esm({
15585
15585
  });
15586
15586
 
15587
15587
  // ../world/dist/analytics.js
15588
- var NullableDateSchema2, NullableStringSchema2, NullableBooleanSchema2, AnalyticsRunSchema2, AnalyticsStepSchema2, AnalyticsEventSchema2, AnalyticsHookSchema2, AnalyticsWaitSchema2;
15588
+ var NAIVE_DATETIME2, UTCDateSchema2, NullableDateSchema2, NullableStringSchema2, NullableBooleanSchema2, AnalyticsRunSchema2, AnalyticsStepSchema2, AnalyticsEventSchema2, AnalyticsHookSchema2, AnalyticsWaitSchema2, AnalyticsAttributeKeySchema2;
15589
15589
  var init_analytics2 = __esm({
15590
15590
  "../world/dist/analytics.js"() {
15591
15591
  "use strict";
@@ -15594,7 +15594,14 @@ var init_analytics2 = __esm({
15594
15594
  init_runs2();
15595
15595
  init_steps2();
15596
15596
  init_waits2();
15597
- NullableDateSchema2 = external_exports2.coerce.date().nullable().optional();
15597
+ NAIVE_DATETIME2 = /^\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;
15598
+ UTCDateSchema2 = external_exports2.preprocess((value) => {
15599
+ if (typeof value === "string" && NAIVE_DATETIME2.test(value)) {
15600
+ return `${value.replace(" ", "T")}Z`;
15601
+ }
15602
+ return value;
15603
+ }, external_exports2.coerce.date());
15604
+ NullableDateSchema2 = UTCDateSchema2.nullable().optional();
15598
15605
  NullableStringSchema2 = external_exports2.string().nullable().optional();
15599
15606
  NullableBooleanSchema2 = external_exports2.boolean().nullable().optional();
15600
15607
  AnalyticsRunSchema2 = external_exports2.object({
@@ -15604,8 +15611,8 @@ var init_analytics2 = __esm({
15604
15611
  workflowName: external_exports2.string(),
15605
15612
  specVersion: external_exports2.coerce.number().optional(),
15606
15613
  attributes: external_exports2.record(external_exports2.string(), external_exports2.string()).default({}),
15607
- createdAt: external_exports2.coerce.date(),
15608
- updatedAt: external_exports2.coerce.date(),
15614
+ createdAt: UTCDateSchema2,
15615
+ updatedAt: UTCDateSchema2,
15609
15616
  startedAt: NullableDateSchema2,
15610
15617
  completedAt: NullableDateSchema2,
15611
15618
  errorCode: NullableStringSchema2,
@@ -15618,8 +15625,8 @@ var init_analytics2 = __esm({
15618
15625
  stepName: NullableStringSchema2,
15619
15626
  status: StepStatusSchema2,
15620
15627
  attempt: external_exports2.number().optional(),
15621
- createdAt: external_exports2.coerce.date(),
15622
- updatedAt: external_exports2.coerce.date(),
15628
+ createdAt: UTCDateSchema2,
15629
+ updatedAt: UTCDateSchema2,
15623
15630
  startedAt: NullableDateSchema2,
15624
15631
  completedAt: NullableDateSchema2,
15625
15632
  retryAfter: NullableDateSchema2,
@@ -15637,8 +15644,8 @@ var init_analytics2 = __esm({
15637
15644
  workflowName: external_exports2.string(),
15638
15645
  deploymentId: external_exports2.string(),
15639
15646
  specVersion: external_exports2.coerce.number().optional(),
15640
- runCreatedAt: external_exports2.coerce.date(),
15641
- createdAt: external_exports2.coerce.date(),
15647
+ runCreatedAt: UTCDateSchema2,
15648
+ createdAt: UTCDateSchema2,
15642
15649
  region: NullableStringSchema2,
15643
15650
  vercelId: NullableStringSchema2,
15644
15651
  requestId: NullableStringSchema2,
@@ -15654,8 +15661,8 @@ var init_analytics2 = __esm({
15654
15661
  runId: external_exports2.string(),
15655
15662
  hookId: external_exports2.string(),
15656
15663
  status: external_exports2.enum(["created", "received", "disposed", "conflict"]),
15657
- createdAt: external_exports2.coerce.date(),
15658
- updatedAt: external_exports2.coerce.date(),
15664
+ createdAt: UTCDateSchema2,
15665
+ updatedAt: UTCDateSchema2,
15659
15666
  receivedAt: NullableDateSchema2,
15660
15667
  disposedAt: NullableDateSchema2,
15661
15668
  isWebhook: NullableBooleanSchema2,
@@ -15668,12 +15675,18 @@ var init_analytics2 = __esm({
15668
15675
  waitId: external_exports2.string(),
15669
15676
  status: WaitStatusSchema2,
15670
15677
  resumeAt: NullableDateSchema2,
15671
- createdAt: external_exports2.coerce.date(),
15672
- updatedAt: external_exports2.coerce.date(),
15678
+ createdAt: UTCDateSchema2,
15679
+ updatedAt: UTCDateSchema2,
15673
15680
  completedAt: NullableDateSchema2,
15674
15681
  workflowCoreVersion: NullableStringSchema2,
15675
15682
  workflowEncryptionEnabled: NullableBooleanSchema2
15676
15683
  });
15684
+ AnalyticsAttributeKeySchema2 = external_exports2.object({
15685
+ key: external_exports2.string(),
15686
+ runCount: external_exports2.coerce.number(),
15687
+ firstSeenAt: external_exports2.coerce.date(),
15688
+ lastSeenAt: external_exports2.coerce.date()
15689
+ });
15677
15690
  }
15678
15691
  });
15679
15692
 
@@ -16169,6 +16182,7 @@ __export(dist_exports, {
16169
16182
  ATTRIBUTE_KEY_MAX_LENGTH: () => ATTRIBUTE_KEY_MAX_LENGTH2,
16170
16183
  ATTRIBUTE_MAX_PER_RUN: () => ATTRIBUTE_MAX_PER_RUN2,
16171
16184
  ATTRIBUTE_VALUE_MAX_BYTES: () => ATTRIBUTE_VALUE_MAX_BYTES2,
16185
+ AnalyticsAttributeKeySchema: () => AnalyticsAttributeKeySchema2,
16172
16186
  AnalyticsEventSchema: () => AnalyticsEventSchema2,
16173
16187
  AnalyticsHookSchema: () => AnalyticsHookSchema2,
16174
16188
  AnalyticsRunSchema: () => AnalyticsRunSchema2,
@@ -45576,7 +45590,7 @@ var version4;
45576
45590
  var init_version3 = __esm({
45577
45591
  "../core/dist/version.js"() {
45578
45592
  "use strict";
45579
- version4 = "5.0.0-beta.31";
45593
+ version4 = "5.0.0-beta.33";
45580
45594
  }
45581
45595
  });
45582
45596
 
@@ -51844,6 +51858,21 @@ function createReconnectingFramedStream2(runId, name, startIndex) {
51844
51858
  }, "cancel")
51845
51859
  });
51846
51860
  }
51861
+ function recordStreamWriteFlush2(startEpochMs, dispatchEpochMs, runId, name, chunkCount, byteCount) {
51862
+ void (async () => {
51863
+ await recordElapsedSpan2("workflow.stream.flush", startEpochMs, {
51864
+ kind: await getSpanKind3("CLIENT"),
51865
+ attributes: {
51866
+ "workflow.run.id": runId,
51867
+ "workflow.stream.name": name,
51868
+ "workflow.stream.operation": "flush",
51869
+ "workflow.stream.flush.buffer_dwell_ms": dispatchEpochMs - startEpochMs,
51870
+ "workflow.stream.flush.chunks": chunkCount,
51871
+ "workflow.stream.flush.bytes": byteCount
51872
+ }
51873
+ });
51874
+ })();
51875
+ }
51847
51876
  function getAllBaseReducers2(global2 = globalThis) {
51848
51877
  return {
51849
51878
  ...getClassReducers2(),
@@ -52987,6 +53016,7 @@ var init_serialization4 = __esm({
52987
53016
  getStreamFlushIntervalMs2 = /* @__PURE__ */ __name(() => envNumber2("WORKFLOW_STREAM_FLUSH_INTERVAL_MS", STREAM_FLUSH_INTERVAL_MS2, {
52988
53017
  integer: true
52989
53018
  }), "getStreamFlushIntervalMs");
53019
+ __name(recordStreamWriteFlush2, "recordStreamWriteFlush");
52990
53020
  WorkflowServerWritableStream2 = class extends WritableStream {
52991
53021
  static {
52992
53022
  __name(this, "WorkflowServerWritableStream");
@@ -53022,6 +53052,7 @@ var init_serialization4 = __esm({
53022
53052
  let flushTimer = null;
53023
53053
  let flushPromise = null;
53024
53054
  let resolvedFlushIntervalMs;
53055
+ let batchStartAt;
53025
53056
  const flush = /* @__PURE__ */ __name(async () => {
53026
53057
  if (flushTimer) {
53027
53058
  clearTimeout(flushTimer);
@@ -53031,16 +53062,29 @@ var init_serialization4 = __esm({
53031
53062
  return;
53032
53063
  await ensureRunReady();
53033
53064
  const chunksToFlush = buffer3.slice();
53065
+ const batchStart = batchStartAt;
53066
+ batchStartAt = void 0;
53067
+ const dispatchAt = Date.now();
53034
53068
  const world = await worldPromise;
53035
53069
  if (resolvedFlushIntervalMs === void 0) {
53036
53070
  resolvedFlushIntervalMs = world.streamFlushIntervalMs ?? getStreamFlushIntervalMs2();
53037
53071
  }
53038
- if (typeof world.streams.writeMulti === "function" && chunksToFlush.length > 1) {
53039
- await world.streams.writeMulti(runId, name, chunksToFlush);
53040
- } else {
53041
- for (const chunk of chunksToFlush) {
53042
- await world.streams.write(runId, name, chunk);
53072
+ try {
53073
+ if (typeof world.streams.writeMulti === "function" && chunksToFlush.length > 1) {
53074
+ await world.streams.writeMulti(runId, name, chunksToFlush);
53075
+ } else {
53076
+ for (const chunk of chunksToFlush) {
53077
+ await world.streams.write(runId, name, chunk);
53078
+ }
53079
+ }
53080
+ } catch (error95) {
53081
+ if (batchStart !== void 0) {
53082
+ batchStartAt = batchStartAt === void 0 ? batchStart : Math.min(batchStartAt, batchStart);
53043
53083
  }
53084
+ throw error95;
53085
+ }
53086
+ if (batchStart !== void 0) {
53087
+ recordStreamWriteFlush2(batchStart, dispatchAt, runId, name, chunksToFlush.length, chunksToFlush.reduce((sum, c) => sum + c.byteLength, 0));
53044
53088
  }
53045
53089
  buffer3 = [];
53046
53090
  }, "flush");
@@ -53063,6 +53107,8 @@ var init_serialization4 = __esm({
53063
53107
  }, "scheduleFlush");
53064
53108
  super({
53065
53109
  async write(chunk) {
53110
+ if (batchStartAt === void 0)
53111
+ batchStartAt = Date.now();
53066
53112
  if (flushPromise) {
53067
53113
  await flushPromise;
53068
53114
  flushPromise = null;
@@ -71691,6 +71737,8 @@ var init_waits = __esm2({
71691
71737
  });
71692
71738
  }
71693
71739
  });
71740
+ var NAIVE_DATETIME;
71741
+ var UTCDateSchema;
71694
71742
  var NullableDateSchema;
71695
71743
  var NullableStringSchema;
71696
71744
  var NullableBooleanSchema;
@@ -71699,6 +71747,7 @@ var AnalyticsStepSchema;
71699
71747
  var AnalyticsEventSchema;
71700
71748
  var AnalyticsHookSchema;
71701
71749
  var AnalyticsWaitSchema;
71750
+ var AnalyticsAttributeKeySchema;
71702
71751
  var init_analytics = __esm2({
71703
71752
  "../world/dist/analytics.js"() {
71704
71753
  "use strict";
@@ -71707,7 +71756,14 @@ var init_analytics = __esm2({
71707
71756
  init_runs();
71708
71757
  init_steps();
71709
71758
  init_waits();
71710
- NullableDateSchema = external_exports.coerce.date().nullable().optional();
71759
+ NAIVE_DATETIME = /^\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}:\d{2}(?:\.\d+)?$/;
71760
+ UTCDateSchema = external_exports.preprocess((value) => {
71761
+ if (typeof value === "string" && NAIVE_DATETIME.test(value)) {
71762
+ return `${value.replace(" ", "T")}Z`;
71763
+ }
71764
+ return value;
71765
+ }, external_exports.coerce.date());
71766
+ NullableDateSchema = UTCDateSchema.nullable().optional();
71711
71767
  NullableStringSchema = external_exports.string().nullable().optional();
71712
71768
  NullableBooleanSchema = external_exports.boolean().nullable().optional();
71713
71769
  AnalyticsRunSchema = external_exports.object({
@@ -71717,8 +71773,8 @@ var init_analytics = __esm2({
71717
71773
  workflowName: external_exports.string(),
71718
71774
  specVersion: external_exports.coerce.number().optional(),
71719
71775
  attributes: external_exports.record(external_exports.string(), external_exports.string()).default({}),
71720
- createdAt: external_exports.coerce.date(),
71721
- updatedAt: external_exports.coerce.date(),
71776
+ createdAt: UTCDateSchema,
71777
+ updatedAt: UTCDateSchema,
71722
71778
  startedAt: NullableDateSchema,
71723
71779
  completedAt: NullableDateSchema,
71724
71780
  errorCode: NullableStringSchema,
@@ -71731,8 +71787,8 @@ var init_analytics = __esm2({
71731
71787
  stepName: NullableStringSchema,
71732
71788
  status: StepStatusSchema,
71733
71789
  attempt: external_exports.number().optional(),
71734
- createdAt: external_exports.coerce.date(),
71735
- updatedAt: external_exports.coerce.date(),
71790
+ createdAt: UTCDateSchema,
71791
+ updatedAt: UTCDateSchema,
71736
71792
  startedAt: NullableDateSchema,
71737
71793
  completedAt: NullableDateSchema,
71738
71794
  retryAfter: NullableDateSchema,
@@ -71750,8 +71806,8 @@ var init_analytics = __esm2({
71750
71806
  workflowName: external_exports.string(),
71751
71807
  deploymentId: external_exports.string(),
71752
71808
  specVersion: external_exports.coerce.number().optional(),
71753
- runCreatedAt: external_exports.coerce.date(),
71754
- createdAt: external_exports.coerce.date(),
71809
+ runCreatedAt: UTCDateSchema,
71810
+ createdAt: UTCDateSchema,
71755
71811
  region: NullableStringSchema,
71756
71812
  vercelId: NullableStringSchema,
71757
71813
  requestId: NullableStringSchema,
@@ -71772,8 +71828,8 @@ var init_analytics = __esm2({
71772
71828
  "disposed",
71773
71829
  "conflict"
71774
71830
  ]),
71775
- createdAt: external_exports.coerce.date(),
71776
- updatedAt: external_exports.coerce.date(),
71831
+ createdAt: UTCDateSchema,
71832
+ updatedAt: UTCDateSchema,
71777
71833
  receivedAt: NullableDateSchema,
71778
71834
  disposedAt: NullableDateSchema,
71779
71835
  isWebhook: NullableBooleanSchema,
@@ -71786,12 +71842,18 @@ var init_analytics = __esm2({
71786
71842
  waitId: external_exports.string(),
71787
71843
  status: WaitStatusSchema,
71788
71844
  resumeAt: NullableDateSchema,
71789
- createdAt: external_exports.coerce.date(),
71790
- updatedAt: external_exports.coerce.date(),
71845
+ createdAt: UTCDateSchema,
71846
+ updatedAt: UTCDateSchema,
71791
71847
  completedAt: NullableDateSchema,
71792
71848
  workflowCoreVersion: NullableStringSchema,
71793
71849
  workflowEncryptionEnabled: NullableBooleanSchema
71794
71850
  });
71851
+ AnalyticsAttributeKeySchema = external_exports.object({
71852
+ key: external_exports.string(),
71853
+ runCount: external_exports.coerce.number(),
71854
+ firstSeenAt: external_exports.coerce.date(),
71855
+ lastSeenAt: external_exports.coerce.date()
71856
+ });
71795
71857
  }
71796
71858
  });
71797
71859
  function warnOnce(key, message) {
@@ -79123,7 +79185,7 @@ var version2;
79123
79185
  var init_version = __esm2({
79124
79186
  "../core/dist/version.js"() {
79125
79187
  "use strict";
79126
- version2 = "5.0.0-beta.31";
79188
+ version2 = "5.0.0-beta.33";
79127
79189
  }
79128
79190
  });
79129
79191
  function getWorkflowQueueName(workflowName, namespace) {
@@ -79217,7 +79279,7 @@ function parseHealthCheckResponse(chunks) {
79217
79279
  __name(parseHealthCheckResponse, "parseHealthCheckResponse");
79218
79280
  async function healthCheck(world, endpoint, options) {
79219
79281
  const timeout = options?.timeout ?? DEFAULT_HEALTH_CHECK_TIMEOUT;
79220
- const correlationId = generateId();
79282
+ const correlationId = world.createRunId?.() ?? generateId();
79221
79283
  const streamName = getHealthCheckStreamName(correlationId);
79222
79284
  const queueName = `${getQueueTopicPrefix(endpoint, resolveQueueNamespace(options?.namespace))}health_check`;
79223
79285
  const startTime = Date.now();
@@ -80991,6 +81053,22 @@ function createReconnectingFramedStream(runId, name, startIndex) {
80991
81053
  });
80992
81054
  }
80993
81055
  __name(createReconnectingFramedStream, "createReconnectingFramedStream");
81056
+ function recordStreamWriteFlush(startEpochMs, dispatchEpochMs, runId, name, chunkCount, byteCount) {
81057
+ void (async () => {
81058
+ await recordElapsedSpan("workflow.stream.flush", startEpochMs, {
81059
+ kind: await getSpanKind("CLIENT"),
81060
+ attributes: {
81061
+ "workflow.run.id": runId,
81062
+ "workflow.stream.name": name,
81063
+ "workflow.stream.operation": "flush",
81064
+ "workflow.stream.flush.buffer_dwell_ms": dispatchEpochMs - startEpochMs,
81065
+ "workflow.stream.flush.chunks": chunkCount,
81066
+ "workflow.stream.flush.bytes": byteCount
81067
+ }
81068
+ });
81069
+ })();
81070
+ }
81071
+ __name(recordStreamWriteFlush, "recordStreamWriteFlush");
80994
81072
  function getAllBaseReducers(global2 = globalThis) {
80995
81073
  return {
80996
81074
  ...getClassReducers(),
@@ -81957,6 +82035,7 @@ var init_serialization2 = __esm2({
81957
82035
  getStreamFlushIntervalMs = /* @__PURE__ */ __name2(() => envNumber("WORKFLOW_STREAM_FLUSH_INTERVAL_MS", STREAM_FLUSH_INTERVAL_MS, {
81958
82036
  integer: true
81959
82037
  }), "getStreamFlushIntervalMs");
82038
+ __name2(recordStreamWriteFlush, "recordStreamWriteFlush");
81960
82039
  WorkflowServerWritableStream = class extends WritableStream {
81961
82040
  static {
81962
82041
  __name(this, "WorkflowServerWritableStream");
@@ -81995,6 +82074,7 @@ var init_serialization2 = __esm2({
81995
82074
  let flushTimer = null;
81996
82075
  let flushPromise = null;
81997
82076
  let resolvedFlushIntervalMs;
82077
+ let batchStartAt;
81998
82078
  const flush = /* @__PURE__ */ __name2(async () => {
81999
82079
  if (flushTimer) {
82000
82080
  clearTimeout(flushTimer);
@@ -82003,16 +82083,29 @@ var init_serialization2 = __esm2({
82003
82083
  if (buffer22.length === 0) return;
82004
82084
  await ensureRunReady();
82005
82085
  const chunksToFlush = buffer22.slice();
82086
+ const batchStart = batchStartAt;
82087
+ batchStartAt = void 0;
82088
+ const dispatchAt = Date.now();
82006
82089
  const world = await worldPromise;
82007
82090
  if (resolvedFlushIntervalMs === void 0) {
82008
82091
  resolvedFlushIntervalMs = world.streamFlushIntervalMs ?? getStreamFlushIntervalMs();
82009
82092
  }
82010
- if (typeof world.streams.writeMulti === "function" && chunksToFlush.length > 1) {
82011
- await world.streams.writeMulti(runId, name, chunksToFlush);
82012
- } else {
82013
- for (const chunk of chunksToFlush) {
82014
- await world.streams.write(runId, name, chunk);
82093
+ try {
82094
+ if (typeof world.streams.writeMulti === "function" && chunksToFlush.length > 1) {
82095
+ await world.streams.writeMulti(runId, name, chunksToFlush);
82096
+ } else {
82097
+ for (const chunk of chunksToFlush) {
82098
+ await world.streams.write(runId, name, chunk);
82099
+ }
82015
82100
  }
82101
+ } catch (error482) {
82102
+ if (batchStart !== void 0) {
82103
+ batchStartAt = batchStartAt === void 0 ? batchStart : Math.min(batchStartAt, batchStart);
82104
+ }
82105
+ throw error482;
82106
+ }
82107
+ if (batchStart !== void 0) {
82108
+ recordStreamWriteFlush(batchStart, dispatchAt, runId, name, chunksToFlush.length, chunksToFlush.reduce((sum, c) => sum + c.byteLength, 0));
82016
82109
  }
82017
82110
  buffer22 = [];
82018
82111
  }, "flush");
@@ -82032,6 +82125,7 @@ var init_serialization2 = __esm2({
82032
82125
  }, "scheduleFlush");
82033
82126
  super({
82034
82127
  async write(chunk) {
82128
+ if (batchStartAt === void 0) batchStartAt = Date.now();
82035
82129
  if (flushPromise) {
82036
82130
  await flushPromise;
82037
82131
  flushPromise = null;
@@ -82351,7 +82445,7 @@ async function start(workflow, argsOrOptions, options) {
82351
82445
  targetSupportsCompression = capabilities.supportedFormats.has(SerializationFormat.GZIP);
82352
82446
  }
82353
82447
  const ops = [];
82354
- const runId = `wrun_${ulid3()}`;
82448
+ const runId = `wrun_${world.createRunId ? world.createRunId(opts) : ulid3()}`;
82355
82449
  const traceCarrier = await serializeTraceCarrier();
82356
82450
  const specVersion = opts.specVersion ?? world.specVersion;
82357
82451
  const v1Compat = isLegacySpecVersion(specVersion);
@@ -82429,7 +82523,14 @@ async function start(workflow, argsOrOptions, options) {
82429
82523
  } : {}
82430
82524
  }, {
82431
82525
  deploymentId,
82432
- specVersion
82526
+ specVersion,
82527
+ // Forward any caller-supplied region hint so worlds with
82528
+ // per-region queue routing (e.g. world-vercel) can target the
82529
+ // matching queue. Worlds without a regional dimension ignore
82530
+ // this field.
82531
+ ...opts.region !== void 0 ? {
82532
+ region: opts.region
82533
+ } : {}
82433
82534
  })
82434
82535
  ]);
82435
82536
  if (queueResult.status === "rejected") {
@@ -82484,7 +82585,7 @@ __name2(start, "start");
82484
82585
  value: "start",
82485
82586
  configurable: true
82486
82587
  });
82487
- })(start, "step//@workflow/core/runtime/start@5.0.0-beta.31//start");
82588
+ })(start, "step//@workflow/core/runtime/start@5.0.0-beta.33//start");
82488
82589
  async function wakeUpRun(world, runId, options) {
82489
82590
  try {
82490
82591
  const run22 = await world.runs.get(runId, {
@@ -82820,7 +82921,7 @@ var Run = class _Run {
82820
82921
  value: "wakeUp",
82821
82922
  configurable: true
82822
82923
  });
82823
- })(Run.prototype["wakeUp"], "step//@workflow/core/runtime/run@5.0.0-beta.31//Run#wakeUp");
82924
+ })(Run.prototype["wakeUp"], "step//@workflow/core/runtime/run@5.0.0-beta.33//Run#wakeUp");
82824
82925
  (function(__wf_fn, __wf_id) {
82825
82926
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
82826
82927
  __wf_reg.set(__wf_id, __wf_fn);
@@ -82829,7 +82930,7 @@ var Run = class _Run {
82829
82930
  value: "cancel",
82830
82931
  configurable: true
82831
82932
  });
82832
- })(Run.prototype["cancel"], "step//@workflow/core/runtime/run@5.0.0-beta.31//Run#cancel");
82933
+ })(Run.prototype["cancel"], "step//@workflow/core/runtime/run@5.0.0-beta.33//Run#cancel");
82833
82934
  (function(__wf_fn, __wf_id) {
82834
82935
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
82835
82936
  __wf_reg.set(__wf_id, __wf_fn);
@@ -82838,7 +82939,7 @@ var Run = class _Run {
82838
82939
  value: "getReadable",
82839
82940
  configurable: true
82840
82941
  });
82841
- })(Run.prototype["getReadable"], "step//@workflow/core/runtime/run@5.0.0-beta.31//Run#getReadable");
82942
+ })(Run.prototype["getReadable"], "step//@workflow/core/runtime/run@5.0.0-beta.33//Run#getReadable");
82842
82943
  (function(__wf_fn, __wf_id) {
82843
82944
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
82844
82945
  __wf_reg.set(__wf_id, __wf_fn);
@@ -82847,7 +82948,7 @@ var Run = class _Run {
82847
82948
  value: "exists",
82848
82949
  configurable: true
82849
82950
  });
82850
- })(Object.getOwnPropertyDescriptor(Run.prototype, "exists").get, "step//@workflow/core/runtime/run@5.0.0-beta.31//Run#exists");
82951
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "exists").get, "step//@workflow/core/runtime/run@5.0.0-beta.33//Run#exists");
82851
82952
  (function(__wf_fn, __wf_id) {
82852
82953
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
82853
82954
  __wf_reg.set(__wf_id, __wf_fn);
@@ -82856,7 +82957,7 @@ var Run = class _Run {
82856
82957
  value: "status",
82857
82958
  configurable: true
82858
82959
  });
82859
- })(Object.getOwnPropertyDescriptor(Run.prototype, "status").get, "step//@workflow/core/runtime/run@5.0.0-beta.31//Run#status");
82960
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "status").get, "step//@workflow/core/runtime/run@5.0.0-beta.33//Run#status");
82860
82961
  (function(__wf_fn, __wf_id) {
82861
82962
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
82862
82963
  __wf_reg.set(__wf_id, __wf_fn);
@@ -82865,7 +82966,7 @@ var Run = class _Run {
82865
82966
  value: "returnValue",
82866
82967
  configurable: true
82867
82968
  });
82868
- })(Object.getOwnPropertyDescriptor(Run.prototype, "returnValue").get, "step//@workflow/core/runtime/run@5.0.0-beta.31//Run#returnValue");
82969
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "returnValue").get, "step//@workflow/core/runtime/run@5.0.0-beta.33//Run#returnValue");
82869
82970
  (function(__wf_fn, __wf_id) {
82870
82971
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
82871
82972
  __wf_reg.set(__wf_id, __wf_fn);
@@ -82874,7 +82975,7 @@ var Run = class _Run {
82874
82975
  value: "workflowName",
82875
82976
  configurable: true
82876
82977
  });
82877
- })(Object.getOwnPropertyDescriptor(Run.prototype, "workflowName").get, "step//@workflow/core/runtime/run@5.0.0-beta.31//Run#workflowName");
82978
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "workflowName").get, "step//@workflow/core/runtime/run@5.0.0-beta.33//Run#workflowName");
82878
82979
  (function(__wf_fn, __wf_id) {
82879
82980
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
82880
82981
  __wf_reg.set(__wf_id, __wf_fn);
@@ -82883,7 +82984,7 @@ var Run = class _Run {
82883
82984
  value: "createdAt",
82884
82985
  configurable: true
82885
82986
  });
82886
- })(Object.getOwnPropertyDescriptor(Run.prototype, "createdAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.31//Run#createdAt");
82987
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "createdAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.33//Run#createdAt");
82887
82988
  (function(__wf_fn, __wf_id) {
82888
82989
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
82889
82990
  __wf_reg.set(__wf_id, __wf_fn);
@@ -82892,7 +82993,7 @@ var Run = class _Run {
82892
82993
  value: "startedAt",
82893
82994
  configurable: true
82894
82995
  });
82895
- })(Object.getOwnPropertyDescriptor(Run.prototype, "startedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.31//Run#startedAt");
82996
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "startedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.33//Run#startedAt");
82896
82997
  (function(__wf_fn, __wf_id) {
82897
82998
  var __wf_sym = /* @__PURE__ */ Symbol.for("@workflow/core//registeredSteps"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
82898
82999
  __wf_reg.set(__wf_id, __wf_fn);
@@ -82901,7 +83002,7 @@ var Run = class _Run {
82901
83002
  value: "completedAt",
82902
83003
  configurable: true
82903
83004
  });
82904
- })(Object.getOwnPropertyDescriptor(Run.prototype, "completedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.31//Run#completedAt");
83005
+ })(Object.getOwnPropertyDescriptor(Run.prototype, "completedAt").get, "step//@workflow/core/runtime/run@5.0.0-beta.33//Run#completedAt");
82905
83006
  (function(__wf_cls, __wf_id) {
82906
83007
  var __wf_sym = /* @__PURE__ */ Symbol.for("workflow-class-registry"), __wf_reg = globalThis[__wf_sym] || (globalThis[__wf_sym] = /* @__PURE__ */ new Map());
82907
83008
  __wf_reg.set(__wf_id, __wf_cls);
@@ -82911,7 +83012,7 @@ var Run = class _Run {
82911
83012
  enumerable: false,
82912
83013
  configurable: false
82913
83014
  });
82914
- })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.31//Run");
83015
+ })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.33//Run");
82915
83016
  async function fetch2(...args) {
82916
83017
  return globalThis.fetch(...args);
82917
83018
  }
@@ -93326,10 +93427,10 @@ var Run = class _Run {
93326
93427
  return this.getReadable();
93327
93428
  }
93328
93429
  };
93329
- Run.prototype["wakeUp"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.31//Run#wakeUp");
93330
- Run.prototype["cancel"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.31//Run#cancel");
93331
- Run.prototype["getReadable"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.31//Run#getReadable");
93332
- var __step_Run$exists = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.31//Run#exists");
93430
+ Run.prototype["wakeUp"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.33//Run#wakeUp");
93431
+ Run.prototype["cancel"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.33//Run#cancel");
93432
+ Run.prototype["getReadable"] = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.33//Run#getReadable");
93433
+ var __step_Run$exists = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.33//Run#exists");
93333
93434
  Object.defineProperty(Run.prototype, "exists", {
93334
93435
  get() {
93335
93436
  return __step_Run$exists.call(this);
@@ -93337,7 +93438,7 @@ Object.defineProperty(Run.prototype, "exists", {
93337
93438
  configurable: true,
93338
93439
  enumerable: false
93339
93440
  });
93340
- var __step_Run$status = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.31//Run#status");
93441
+ var __step_Run$status = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.33//Run#status");
93341
93442
  Object.defineProperty(Run.prototype, "status", {
93342
93443
  get() {
93343
93444
  return __step_Run$status.call(this);
@@ -93345,7 +93446,7 @@ Object.defineProperty(Run.prototype, "status", {
93345
93446
  configurable: true,
93346
93447
  enumerable: false
93347
93448
  });
93348
- var __step_Run$returnValue = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.31//Run#returnValue");
93449
+ var __step_Run$returnValue = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.33//Run#returnValue");
93349
93450
  Object.defineProperty(Run.prototype, "returnValue", {
93350
93451
  get() {
93351
93452
  return __step_Run$returnValue.call(this);
@@ -93353,7 +93454,7 @@ Object.defineProperty(Run.prototype, "returnValue", {
93353
93454
  configurable: true,
93354
93455
  enumerable: false
93355
93456
  });
93356
- var __step_Run$workflowName = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.31//Run#workflowName");
93457
+ var __step_Run$workflowName = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.33//Run#workflowName");
93357
93458
  Object.defineProperty(Run.prototype, "workflowName", {
93358
93459
  get() {
93359
93460
  return __step_Run$workflowName.call(this);
@@ -93361,7 +93462,7 @@ Object.defineProperty(Run.prototype, "workflowName", {
93361
93462
  configurable: true,
93362
93463
  enumerable: false
93363
93464
  });
93364
- var __step_Run$createdAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.31//Run#createdAt");
93465
+ var __step_Run$createdAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.33//Run#createdAt");
93365
93466
  Object.defineProperty(Run.prototype, "createdAt", {
93366
93467
  get() {
93367
93468
  return __step_Run$createdAt.call(this);
@@ -93369,7 +93470,7 @@ Object.defineProperty(Run.prototype, "createdAt", {
93369
93470
  configurable: true,
93370
93471
  enumerable: false
93371
93472
  });
93372
- var __step_Run$startedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.31//Run#startedAt");
93473
+ var __step_Run$startedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.33//Run#startedAt");
93373
93474
  Object.defineProperty(Run.prototype, "startedAt", {
93374
93475
  get() {
93375
93476
  return __step_Run$startedAt.call(this);
@@ -93377,7 +93478,7 @@ Object.defineProperty(Run.prototype, "startedAt", {
93377
93478
  configurable: true,
93378
93479
  enumerable: false
93379
93480
  });
93380
- var __step_Run$completedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.31//Run#completedAt");
93481
+ var __step_Run$completedAt = globalThis[/* @__PURE__ */ Symbol.for("WORKFLOW_USE_STEP")]("step//@workflow/core/runtime/run@5.0.0-beta.33//Run#completedAt");
93381
93482
  Object.defineProperty(Run.prototype, "completedAt", {
93382
93483
  get() {
93383
93484
  return __step_Run$completedAt.call(this);
@@ -93394,7 +93495,7 @@ Object.defineProperty(Run.prototype, "completedAt", {
93394
93495
  enumerable: false,
93395
93496
  configurable: false
93396
93497
  });
93397
- })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.31//Run");
93498
+ })(Run, "class//@workflow/core/runtime/run@5.0.0-beta.33//Run");
93398
93499
 
93399
93500
  // ../core/dist/workflow/create-hook.js
93400
93501
  aliasSerializationClass(RUN_CLASS_ID, Run);
@@ -108998,7 +109099,14 @@ var WaitSchema = external_exports.object({
108998
109099
  });
108999
109100
 
109000
109101
  // ../world/dist/analytics.js
109001
- var NullableDateSchema = external_exports.coerce.date().nullable().optional();
109102
+ var NAIVE_DATETIME = /^\\d{4}-\\d{2}-\\d{2}[ T]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?$/;
109103
+ var UTCDateSchema = external_exports.preprocess((value) => {
109104
+ if (typeof value === "string" && NAIVE_DATETIME.test(value)) {
109105
+ return \`\${value.replace(" ", "T")}Z\`;
109106
+ }
109107
+ return value;
109108
+ }, external_exports.coerce.date());
109109
+ var NullableDateSchema = UTCDateSchema.nullable().optional();
109002
109110
  var NullableStringSchema = external_exports.string().nullable().optional();
109003
109111
  var NullableBooleanSchema = external_exports.boolean().nullable().optional();
109004
109112
  var AnalyticsRunSchema = external_exports.object({
@@ -109008,8 +109116,8 @@ var AnalyticsRunSchema = external_exports.object({
109008
109116
  workflowName: external_exports.string(),
109009
109117
  specVersion: external_exports.coerce.number().optional(),
109010
109118
  attributes: external_exports.record(external_exports.string(), external_exports.string()).default({}),
109011
- createdAt: external_exports.coerce.date(),
109012
- updatedAt: external_exports.coerce.date(),
109119
+ createdAt: UTCDateSchema,
109120
+ updatedAt: UTCDateSchema,
109013
109121
  startedAt: NullableDateSchema,
109014
109122
  completedAt: NullableDateSchema,
109015
109123
  errorCode: NullableStringSchema,
@@ -109022,8 +109130,8 @@ var AnalyticsStepSchema = external_exports.object({
109022
109130
  stepName: NullableStringSchema,
109023
109131
  status: StepStatusSchema,
109024
109132
  attempt: external_exports.number().optional(),
109025
- createdAt: external_exports.coerce.date(),
109026
- updatedAt: external_exports.coerce.date(),
109133
+ createdAt: UTCDateSchema,
109134
+ updatedAt: UTCDateSchema,
109027
109135
  startedAt: NullableDateSchema,
109028
109136
  completedAt: NullableDateSchema,
109029
109137
  retryAfter: NullableDateSchema,
@@ -109041,8 +109149,8 @@ var AnalyticsEventSchema = external_exports.object({
109041
109149
  workflowName: external_exports.string(),
109042
109150
  deploymentId: external_exports.string(),
109043
109151
  specVersion: external_exports.coerce.number().optional(),
109044
- runCreatedAt: external_exports.coerce.date(),
109045
- createdAt: external_exports.coerce.date(),
109152
+ runCreatedAt: UTCDateSchema,
109153
+ createdAt: UTCDateSchema,
109046
109154
  region: NullableStringSchema,
109047
109155
  vercelId: NullableStringSchema,
109048
109156
  requestId: NullableStringSchema,
@@ -109063,8 +109171,8 @@ var AnalyticsHookSchema = external_exports.object({
109063
109171
  "disposed",
109064
109172
  "conflict"
109065
109173
  ]),
109066
- createdAt: external_exports.coerce.date(),
109067
- updatedAt: external_exports.coerce.date(),
109174
+ createdAt: UTCDateSchema,
109175
+ updatedAt: UTCDateSchema,
109068
109176
  receivedAt: NullableDateSchema,
109069
109177
  disposedAt: NullableDateSchema,
109070
109178
  isWebhook: NullableBooleanSchema,
@@ -109077,12 +109185,18 @@ var AnalyticsWaitSchema = external_exports.object({
109077
109185
  waitId: external_exports.string(),
109078
109186
  status: WaitStatusSchema,
109079
109187
  resumeAt: NullableDateSchema,
109080
- createdAt: external_exports.coerce.date(),
109081
- updatedAt: external_exports.coerce.date(),
109188
+ createdAt: UTCDateSchema,
109189
+ updatedAt: UTCDateSchema,
109082
109190
  completedAt: NullableDateSchema,
109083
109191
  workflowCoreVersion: NullableStringSchema,
109084
109192
  workflowEncryptionEnabled: NullableBooleanSchema
109085
109193
  });
109194
+ var AnalyticsAttributeKeySchema = external_exports.object({
109195
+ key: external_exports.string(),
109196
+ runCount: external_exports.coerce.number(),
109197
+ firstSeenAt: external_exports.coerce.date(),
109198
+ lastSeenAt: external_exports.coerce.date()
109199
+ });
109086
109200
 
109087
109201
  // ../world/dist/hooks.js
109088
109202
  var HookSchema = external_exports.object({