@workflow/world-testing 4.0.1-beta.19 → 4.0.1-beta.20

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.
@@ -44641,7 +44641,12 @@ function createQueue(config3) {
44641
44641
  });
44642
44642
  }
44643
44643
  console.error(`[embedded world] Reached max retries of embedded world queue implementation`);
44644
- })().finally(() => {
44644
+ })().catch((err) => {
44645
+ const isAbortError2 = err?.name === "AbortError" || err?.name === "ResponseAborted";
44646
+ if (!isAbortError2) {
44647
+ console.error("[embedded world] Queue operation failed:", err);
44648
+ }
44649
+ }).finally(() => {
44645
44650
  for (const fn of cleanup) {
44646
44651
  fn();
44647
44652
  }
@@ -44730,14 +44735,18 @@ async function write(filePath, data, opts) {
44730
44735
  }
44731
44736
  }
44732
44737
  const tempPath = `${filePath}.tmp.${ulid3()}`;
44738
+ let tempFileCreated = false;
44733
44739
  try {
44734
44740
  await ensureDir(import_node_path6.default.dirname(filePath));
44735
44741
  await import_node_fs6.promises.writeFile(tempPath, data);
44742
+ tempFileCreated = true;
44736
44743
  await import_node_fs6.promises.rename(tempPath, filePath);
44737
44744
  }
44738
44745
  catch (error45) {
44739
- await import_node_fs6.promises.unlink(tempPath).catch(() => {
44740
- });
44746
+ if (tempFileCreated) {
44747
+ await import_node_fs6.promises.unlink(tempPath).catch(() => {
44748
+ });
44749
+ }
44741
44750
  throw error45;
44742
44751
  }
44743
44752
  }
@@ -45070,6 +45079,15 @@ function createStorage(basedir) {
45070
45079
  const resolveData = params?.resolveData ?? DEFAULT_RESOLVE_DATA_OPTION;
45071
45080
  return filterRunData(run, resolveData);
45072
45081
  },
45082
+ /**
45083
+ * Updates a workflow run.
45084
+ *
45085
+ * Note: This operation is not atomic. Concurrent updates from multiple
45086
+ * processes may result in lost updates (last writer wins). This is an
45087
+ * inherent limitation of filesystem-based storage without locking.
45088
+ * For the local/embedded world, this is acceptable as it's typically
45089
+ * used in single-process scenarios.
45090
+ */
45073
45091
  async update(id, data) {
45074
45092
  const runPath = import_node_path7.default.join(basedir, "runs", `${id}.json`);
45075
45093
  const run = await readJSON(runPath, WorkflowRunSchema);
@@ -45183,6 +45201,13 @@ function createStorage(basedir) {
45183
45201
  const resolveData = params?.resolveData ?? DEFAULT_RESOLVE_DATA_OPTION;
45184
45202
  return filterStepData(step, resolveData);
45185
45203
  },
45204
+ /**
45205
+ * Updates a step.
45206
+ *
45207
+ * Note: This operation is not atomic. Concurrent updates from multiple
45208
+ * processes may result in lost updates (last writer wins). This is an
45209
+ * inherent limitation of filesystem-based storage without locking.
45210
+ */
45186
45211
  async update(runId, stepId, data) {
45187
45212
  const compositeKey = `${runId}-${stepId}`;
45188
45213
  const stepPath = import_node_path7.default.join(basedir, "steps", `${compositeKey}.json`);
@@ -45317,7 +45342,7 @@ function serializeChunk(chunk) {
45317
45342
  __name(serializeChunk, "serializeChunk");
45318
45343
  function deserializeChunk(serialized) {
45319
45344
  const eof = serialized[0] === 1;
45320
- const chunk = serialized.subarray(1);
45345
+ const chunk = Buffer.from(serialized.subarray(1));
45321
45346
  return { eof, chunk };
45322
45347
  }
45323
45348
  __name(deserializeChunk, "deserializeChunk");
@@ -45327,16 +45352,23 @@ function createStreamer(basedir) {
45327
45352
  async writeToStream(name, _runId, chunk) {
45328
45353
  await _runId;
45329
45354
  const chunkId = `strm_${monotonicUlid2()}`;
45355
+ let chunkBuffer;
45330
45356
  if (typeof chunk === "string") {
45331
- chunk = new TextEncoder().encode(chunk);
45357
+ chunkBuffer = Buffer.from(new TextEncoder().encode(chunk));
45358
+ }
45359
+ else if (chunk instanceof Buffer) {
45360
+ chunkBuffer = chunk;
45361
+ }
45362
+ else {
45363
+ chunkBuffer = Buffer.from(chunk);
45332
45364
  }
45333
45365
  const serialized = serializeChunk({
45334
- chunk: Buffer.from(chunk),
45366
+ chunk: chunkBuffer,
45335
45367
  eof: false
45336
45368
  });
45337
45369
  const chunkPath = import_node_path8.default.join(basedir, "streams", "chunks", `${name}-${chunkId}.json`);
45338
45370
  await write(chunkPath, serialized);
45339
- const chunkData = typeof chunk === "string" ? new TextEncoder().encode(chunk) : chunk instanceof Buffer ? new Uint8Array(chunk) : chunk;
45371
+ const chunkData = Uint8Array.from(chunkBuffer);
45340
45372
  streamEmitter.emit(`chunk:${name}`, {
45341
45373
  streamName: name,
45342
45374
  chunkData,
@@ -45361,20 +45393,27 @@ function createStreamer(basedir) {
45361
45393
  let isReadingFromDisk = true;
45362
45394
  const chunkListener = /* @__PURE__ */ __name((event) => {
45363
45395
  deliveredChunkIds.add(event.chunkId);
45396
+ if (event.chunkData.byteLength === 0) {
45397
+ return;
45398
+ }
45364
45399
  if (isReadingFromDisk) {
45365
45400
  bufferedEventChunks.push({
45366
45401
  chunkId: event.chunkId,
45367
- chunkData: event.chunkData
45402
+ chunkData: Uint8Array.from(event.chunkData)
45368
45403
  });
45369
45404
  }
45370
45405
  else {
45371
- controller.enqueue(event.chunkData);
45406
+ controller.enqueue(Uint8Array.from(event.chunkData));
45372
45407
  }
45373
45408
  }, "chunkListener");
45374
45409
  const closeListener = /* @__PURE__ */ __name(() => {
45375
45410
  streamEmitter.off(`chunk:${name}`, chunkListener);
45376
45411
  streamEmitter.off(`close:${name}`, closeListener);
45377
- controller.close();
45412
+ try {
45413
+ controller.close();
45414
+ }
45415
+ catch (e) {
45416
+ }
45378
45417
  }, "closeListener");
45379
45418
  removeListeners = closeListener;
45380
45419
  streamEmitter.on(`chunk:${name}`, chunkListener);
@@ -45394,13 +45433,13 @@ function createStreamer(basedir) {
45394
45433
  break;
45395
45434
  }
45396
45435
  if (chunk.chunk.byteLength) {
45397
- controller.enqueue(chunk.chunk);
45436
+ controller.enqueue(Uint8Array.from(chunk.chunk));
45398
45437
  }
45399
45438
  }
45400
45439
  isReadingFromDisk = false;
45401
45440
  bufferedEventChunks.sort((a2, b) => a2.chunkId.localeCompare(b.chunkId));
45402
45441
  for (const buffered of bufferedEventChunks) {
45403
- controller.enqueue(buffered.chunkData);
45442
+ controller.enqueue(Uint8Array.from(buffered.chunkData));
45404
45443
  }
45405
45444
  if (isComplete) {
45406
45445
  removeListeners();
@@ -46766,7 +46805,8 @@ function getCommonReducers(global3 = globalThis) {
46766
46805
  const abToBase64 = /* @__PURE__ */ __name((value, offset, length) => {
46767
46806
  if (length === 0)
46768
46807
  return ".";
46769
- return Buffer.from(value, offset, length).toString("base64");
46808
+ const uint8 = new Uint8Array(value, offset, length);
46809
+ return Buffer.from(uint8).toString("base64");
46770
46810
  }, "abToBase64");
46771
46811
  const viewToBase64 = /* @__PURE__ */ __name((value) => abToBase64(value.buffer, value.byteOffset, value.byteLength), "viewToBase64");
46772
46812
  return {
@@ -48619,7 +48659,11 @@ function workflowEntrypoint(workflowCode2) {
48619
48659
  stepName: queueItem.stepName,
48620
48660
  input: dehydratedArgs
48621
48661
  });
48622
- (0, import_functions4.waitUntil)(Promise.all(ops));
48662
+ (0, import_functions4.waitUntil)(Promise.all(ops).catch((err2) => {
48663
+ const isAbortError2 = err2?.name === "AbortError" || err2?.name === "ResponseAborted";
48664
+ if (!isAbortError2)
48665
+ throw err2;
48666
+ }));
48623
48667
  await world.queue(`__wkf_step_${queueItem.stepName}`, {
48624
48668
  workflowName,
48625
48669
  workflowRunId: runId,
@@ -48741,6 +48785,22 @@ var __export = (target, all) => {
48741
48785
  __defProp(target, name, { get: all[name], enumerable: true });
48742
48786
  };
48743
48787
 
48788
+ // workflows/addition.ts
48789
+ var addition_exports = {};
48790
+ __export(addition_exports, {
48791
+ addition: () => addition
48792
+ });
48793
+ var add = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//workflows/addition.ts//add");
48794
+ async function addition(num, num2) {
48795
+ const result = await add(num, num2);
48796
+ console.log({
48797
+ result
48798
+ });
48799
+ return result;
48800
+ }
48801
+ __name(addition, "addition");
48802
+ addition.workflowId = "workflow//workflows/addition.ts//addition";
48803
+
48744
48804
  // workflows/noop.ts
48745
48805
  var noop_exports = {};
48746
48806
  __export(noop_exports, {
@@ -48774,27 +48834,11 @@ async function brokenWf() {
48774
48834
  __name(brokenWf, "brokenWf");
48775
48835
  brokenWf.workflowId = "workflow//workflows/noop.ts//brokenWf";
48776
48836
 
48777
- // workflows/addition.ts
48778
- var addition_exports = {};
48779
- __export(addition_exports, {
48780
- addition: () => addition
48781
- });
48782
- var add = globalThis[Symbol.for("WORKFLOW_USE_STEP")]("step//workflows/addition.ts//add");
48783
- async function addition(num, num2) {
48784
- const result = await add(num, num2);
48785
- console.log({
48786
- result
48787
- });
48788
- return result;
48789
- }
48790
- __name(addition, "addition");
48791
- addition.workflowId = "workflow//workflows/addition.ts//addition";
48792
-
48793
48837
  // virtual-entry.js
48794
48838
  globalThis.__private_workflows = /* @__PURE__ */ new Map();
48795
- Object.values(noop_exports).map((item) => item?.workflowId && globalThis.__private_workflows.set(item.workflowId, item));
48796
48839
  Object.values(addition_exports).map((item) => item?.workflowId && globalThis.__private_workflows.set(item.workflowId, item));
48797
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsid29ya2Zsb3dzL25vb3AudHMiLCAid29ya2Zsb3dzL2FkZGl0aW9uLnRzIiwgInZpcnR1YWwtZW50cnkuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKl9faW50ZXJuYWxfd29ya2Zsb3dze1wid29ya2Zsb3dzXCI6e1wid29ya2Zsb3dzL25vb3AudHNcIjp7XCJicm9rZW5XZlwiOntcIndvcmtmbG93SWRcIjpcIndvcmtmbG93Ly93b3JrZmxvd3Mvbm9vcC50cy8vYnJva2VuV2ZcIn19fSxcInN0ZXBzXCI6e1wid29ya2Zsb3dzL25vb3AudHNcIjp7XCJub29wXCI6e1wic3RlcElkXCI6XCJzdGVwLy93b3JrZmxvd3Mvbm9vcC50cy8vbm9vcFwifX19fSovO1xuZXhwb3J0IHZhciBub29wID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vd29ya2Zsb3dzL25vb3AudHMvL25vb3BcIik7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnJva2VuV2YoKSB7XG4gICAgY29uc3QgbnVtYmVycyA9IFtdO1xuICAgIHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXTtcbiAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IDEwOyBpKyspe1xuICAgICAgICAgICAgcHJvbWlzZXMucHVzaChub29wKGkpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZygnYXdhaXQgMTAnKTtcbiAgICAgICAgbnVtYmVycy5wdXNoKC4uLmF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKSk7XG4gICAgfVxuICAgIHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBbXTtcbiAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IDEwMDsgaSsrKXtcbiAgICAgICAgICAgIHByb21pc2VzLnB1c2gobm9vcCgxMDAwICsgaSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKCdhd2FpdCAxMDAnKTtcbiAgICAgICAgbnVtYmVycy5wdXNoKC4uLmF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKSk7XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCdkb25lLicpO1xuICAgIHJldHVybiB7XG4gICAgICAgIG51bWJlcnNcbiAgICB9O1xufVxuYnJva2VuV2Yud29ya2Zsb3dJZCA9IFwid29ya2Zsb3cvL3dvcmtmbG93cy9ub29wLnRzLy9icm9rZW5XZlwiO1xuIiwgIi8qKl9faW50ZXJuYWxfd29ya2Zsb3dze1wid29ya2Zsb3dzXCI6e1wid29ya2Zsb3dzL2FkZGl0aW9uLnRzXCI6e1wiYWRkaXRpb25cIjp7XCJ3b3JrZmxvd0lkXCI6XCJ3b3JrZmxvdy8vd29ya2Zsb3dzL2FkZGl0aW9uLnRzLy9hZGRpdGlvblwifX19LFwic3RlcHNcIjp7XCJ3b3JrZmxvd3MvYWRkaXRpb24udHNcIjp7XCJhZGRcIjp7XCJzdGVwSWRcIjpcInN0ZXAvL3dvcmtmbG93cy9hZGRpdGlvbi50cy8vYWRkXCJ9fX19Ki87XG52YXIgYWRkID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vd29ya2Zsb3dzL2FkZGl0aW9uLnRzLy9hZGRcIik7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkaXRpb24obnVtLCBudW0yKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYWRkKG51bSwgbnVtMik7XG4gICAgY29uc29sZS5sb2coe1xuICAgICAgICByZXN1bHRcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuYWRkaXRpb24ud29ya2Zsb3dJZCA9IFwid29ya2Zsb3cvL3dvcmtmbG93cy9hZGRpdGlvbi50cy8vYWRkaXRpb25cIjtcbiIsICJnbG9iYWxUaGlzLl9fcHJpdmF0ZV93b3JrZmxvd3MgPSBuZXcgTWFwKCk7XG5pbXBvcnQgKiBhcyB3b3JrZmxvd0ZpbGUwIGZyb20gJy4vd29ya2Zsb3dzL25vb3AudHMnO1xuICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyh3b3JrZmxvd0ZpbGUwKS5tYXAoaXRlbSA9PiBpdGVtPy53b3JrZmxvd0lkICYmIGdsb2JhbFRoaXMuX19wcml2YXRlX3dvcmtmbG93cy5zZXQoaXRlbS53b3JrZmxvd0lkLCBpdGVtKSlcbmltcG9ydCAqIGFzIHdvcmtmbG93RmlsZTEgZnJvbSAnLi93b3JrZmxvd3MvYWRkaXRpb24udHMnO1xuICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyh3b3JrZmxvd0ZpbGUxKS5tYXAoaXRlbSA9PiBpdGVtPy53b3JrZmxvd0lkICYmIGdsb2JhbFRoaXMuX19wcml2YXRlX3dvcmtmbG93cy5zZXQoaXRlbS53b3JrZmxvd0lkLCBpdGVtKSkiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDTyxJQUFJLE9BQU8sV0FBVyxPQUFPLElBQUksbUJBQW1CLENBQUMsRUFBRSwrQkFBK0I7QUFDN0YsZUFBc0IsV0FBVztBQUM3QixRQUFNLFVBQVUsQ0FBQztBQUNqQjtBQUNJLFVBQU0sV0FBVyxDQUFDO0FBQ2xCLGFBQVEsSUFBSSxHQUFHLElBQUksSUFBSSxLQUFJO0FBQ3ZCLGVBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQztBQUFBLElBQ3pCO0FBQ0EsWUFBUSxJQUFJLFVBQVU7QUFDdEIsWUFBUSxLQUFLLEdBQUcsTUFBTSxRQUFRLElBQUksUUFBUSxDQUFDO0FBQUEsRUFDL0M7QUFDQTtBQUNJLFVBQU0sV0FBVyxDQUFDO0FBQ2xCLGFBQVEsSUFBSSxHQUFHLElBQUksS0FBSyxLQUFJO0FBQ3hCLGVBQVMsS0FBSyxLQUFLLE1BQU8sQ0FBQyxDQUFDO0FBQUEsSUFDaEM7QUFDQSxZQUFRLElBQUksV0FBVztBQUN2QixZQUFRLEtBQUssR0FBRyxNQUFNLFFBQVEsSUFBSSxRQUFRLENBQUM7QUFBQSxFQUMvQztBQUNBLFVBQVEsSUFBSSxPQUFPO0FBQ25CLFNBQU87QUFBQSxJQUNIO0FBQUEsRUFDSjtBQUNKO0FBdEJzQjtBQXVCdEIsU0FBUyxhQUFhOzs7QUN6QnRCO0FBQUE7QUFBQTtBQUFBO0FBQ0EsSUFBSSxNQUFNLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsa0NBQWtDO0FBQ3hGLGVBQXNCLFNBQVMsS0FBSyxNQUFNO0FBQ3RDLFFBQU0sU0FBUyxNQUFNLElBQUksS0FBSyxJQUFJO0FBQ2xDLFVBQVEsSUFBSTtBQUFBLElBQ1I7QUFBQSxFQUNKLENBQUM7QUFDRCxTQUFPO0FBQ1g7QUFOc0I7QUFPdEIsU0FBUyxhQUFhOzs7QUNUdEIsV0FBVyxzQkFBc0Isb0JBQUksSUFBSTtBQUU3QixPQUFPLE9BQU8sWUFBYSxFQUFFLElBQUksVUFBUSxNQUFNLGNBQWMsV0FBVyxvQkFBb0IsSUFBSSxLQUFLLFlBQVksSUFBSSxDQUFDO0FBRXRILE9BQU8sT0FBTyxnQkFBYSxFQUFFLElBQUksVUFBUSxNQUFNLGNBQWMsV0FBVyxvQkFBb0IsSUFBSSxLQUFLLFlBQVksSUFBSSxDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
48840
+ Object.values(noop_exports).map((item) => item?.workflowId && globalThis.__private_workflows.set(item.workflowId, item));
48841
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsid29ya2Zsb3dzL2FkZGl0aW9uLnRzIiwgIndvcmtmbG93cy9ub29wLnRzIiwgInZpcnR1YWwtZW50cnkuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKl9faW50ZXJuYWxfd29ya2Zsb3dze1wid29ya2Zsb3dzXCI6e1wid29ya2Zsb3dzL2FkZGl0aW9uLnRzXCI6e1wiYWRkaXRpb25cIjp7XCJ3b3JrZmxvd0lkXCI6XCJ3b3JrZmxvdy8vd29ya2Zsb3dzL2FkZGl0aW9uLnRzLy9hZGRpdGlvblwifX19LFwic3RlcHNcIjp7XCJ3b3JrZmxvd3MvYWRkaXRpb24udHNcIjp7XCJhZGRcIjp7XCJzdGVwSWRcIjpcInN0ZXAvL3dvcmtmbG93cy9hZGRpdGlvbi50cy8vYWRkXCJ9fX19Ki87XG52YXIgYWRkID0gZ2xvYmFsVGhpc1tTeW1ib2wuZm9yKFwiV09SS0ZMT1dfVVNFX1NURVBcIildKFwic3RlcC8vd29ya2Zsb3dzL2FkZGl0aW9uLnRzLy9hZGRcIik7XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkaXRpb24obnVtLCBudW0yKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYWRkKG51bSwgbnVtMik7XG4gICAgY29uc29sZS5sb2coe1xuICAgICAgICByZXN1bHRcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuYWRkaXRpb24ud29ya2Zsb3dJZCA9IFwid29ya2Zsb3cvL3dvcmtmbG93cy9hZGRpdGlvbi50cy8vYWRkaXRpb25cIjtcbiIsICIvKipfX2ludGVybmFsX3dvcmtmbG93c3tcIndvcmtmbG93c1wiOntcIndvcmtmbG93cy9ub29wLnRzXCI6e1wiYnJva2VuV2ZcIjp7XCJ3b3JrZmxvd0lkXCI6XCJ3b3JrZmxvdy8vd29ya2Zsb3dzL25vb3AudHMvL2Jyb2tlbldmXCJ9fX0sXCJzdGVwc1wiOntcIndvcmtmbG93cy9ub29wLnRzXCI6e1wibm9vcFwiOntcInN0ZXBJZFwiOlwic3RlcC8vd29ya2Zsb3dzL25vb3AudHMvL25vb3BcIn19fX0qLztcbmV4cG9ydCB2YXIgbm9vcCA9IGdsb2JhbFRoaXNbU3ltYm9sLmZvcihcIldPUktGTE9XX1VTRV9TVEVQXCIpXShcInN0ZXAvL3dvcmtmbG93cy9ub29wLnRzLy9ub29wXCIpO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJyb2tlbldmKCkge1xuICAgIGNvbnN0IG51bWJlcnMgPSBbXTtcbiAgICB7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW107XG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKXtcbiAgICAgICAgICAgIHByb21pc2VzLnB1c2gobm9vcChpKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coJ2F3YWl0IDEwJyk7XG4gICAgICAgIG51bWJlcnMucHVzaCguLi5hd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcykpO1xuICAgIH1cbiAgICB7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW107XG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCAxMDA7IGkrKyl7XG4gICAgICAgICAgICBwcm9taXNlcy5wdXNoKG5vb3AoMTAwMCArIGkpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZygnYXdhaXQgMTAwJyk7XG4gICAgICAgIG51bWJlcnMucHVzaCguLi5hd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcykpO1xuICAgIH1cbiAgICBjb25zb2xlLmxvZygnZG9uZS4nKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBudW1iZXJzXG4gICAgfTtcbn1cbmJyb2tlbldmLndvcmtmbG93SWQgPSBcIndvcmtmbG93Ly93b3JrZmxvd3Mvbm9vcC50cy8vYnJva2VuV2ZcIjtcbiIsICJnbG9iYWxUaGlzLl9fcHJpdmF0ZV93b3JrZmxvd3MgPSBuZXcgTWFwKCk7XG5pbXBvcnQgKiBhcyB3b3JrZmxvd0ZpbGUwIGZyb20gJy4vd29ya2Zsb3dzL2FkZGl0aW9uLnRzJztcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMod29ya2Zsb3dGaWxlMCkubWFwKGl0ZW0gPT4gaXRlbT8ud29ya2Zsb3dJZCAmJiBnbG9iYWxUaGlzLl9fcHJpdmF0ZV93b3JrZmxvd3Muc2V0KGl0ZW0ud29ya2Zsb3dJZCwgaXRlbSkpXG5pbXBvcnQgKiBhcyB3b3JrZmxvd0ZpbGUxIGZyb20gJy4vd29ya2Zsb3dzL25vb3AudHMnO1xuICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyh3b3JrZmxvd0ZpbGUxKS5tYXAoaXRlbSA9PiBpdGVtPy53b3JrZmxvd0lkICYmIGdsb2JhbFRoaXMuX19wcml2YXRlX3dvcmtmbG93cy5zZXQoaXRlbS53b3JrZmxvd0lkLCBpdGVtKSkiXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0EsSUFBSSxNQUFNLFdBQVcsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsa0NBQWtDO0FBQ3hGLGVBQXNCLFNBQVMsS0FBSyxNQUFNO0FBQ3RDLFFBQU0sU0FBUyxNQUFNLElBQUksS0FBSyxJQUFJO0FBQ2xDLFVBQVEsSUFBSTtBQUFBLElBQ1I7QUFBQSxFQUNKLENBQUM7QUFDRCxTQUFPO0FBQ1g7QUFOc0I7QUFPdEIsU0FBUyxhQUFhOzs7QUNUdEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNPLElBQUksT0FBTyxXQUFXLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLCtCQUErQjtBQUM3RixlQUFzQixXQUFXO0FBQzdCLFFBQU0sVUFBVSxDQUFDO0FBQ2pCO0FBQ0ksVUFBTSxXQUFXLENBQUM7QUFDbEIsYUFBUSxJQUFJLEdBQUcsSUFBSSxJQUFJLEtBQUk7QUFDdkIsZUFBUyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQUEsSUFDekI7QUFDQSxZQUFRLElBQUksVUFBVTtBQUN0QixZQUFRLEtBQUssR0FBRyxNQUFNLFFBQVEsSUFBSSxRQUFRLENBQUM7QUFBQSxFQUMvQztBQUNBO0FBQ0ksVUFBTSxXQUFXLENBQUM7QUFDbEIsYUFBUSxJQUFJLEdBQUcsSUFBSSxLQUFLLEtBQUk7QUFDeEIsZUFBUyxLQUFLLEtBQUssTUFBTyxDQUFDLENBQUM7QUFBQSxJQUNoQztBQUNBLFlBQVEsSUFBSSxXQUFXO0FBQ3ZCLFlBQVEsS0FBSyxHQUFHLE1BQU0sUUFBUSxJQUFJLFFBQVEsQ0FBQztBQUFBLEVBQy9DO0FBQ0EsVUFBUSxJQUFJLE9BQU87QUFDbkIsU0FBTztBQUFBLElBQ0g7QUFBQSxFQUNKO0FBQ0o7QUF0QnNCO0FBdUJ0QixTQUFTLGFBQWE7OztBQ3pCdEIsV0FBVyxzQkFBc0Isb0JBQUksSUFBSTtBQUU3QixPQUFPLE9BQU8sZ0JBQWEsRUFBRSxJQUFJLFVBQVEsTUFBTSxjQUFjLFdBQVcsb0JBQW9CLElBQUksS0FBSyxZQUFZLElBQUksQ0FBQztBQUV0SCxPQUFPLE9BQU8sWUFBYSxFQUFFLElBQUksVUFBUSxNQUFNLGNBQWMsV0FBVyxvQkFBb0IsSUFBSSxLQUFLLFlBQVksSUFBSSxDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
48798
48842
  `;
48799
48843
  var POST = workflowEntrypoint(workflowCode);
48800
48844
  // Annotate the CommonJS export names for ESM import in node: