eve 0.27.11 → 0.27.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/src/chunks/{use-eve-agent-CTJrwXM2.js → use-eve-agent-CWYe-vqE.js} +29 -18
  3. package/dist/src/chunks/{use-eve-agent-DaWxEtnE.js → use-eve-agent-CsSQOKnp.js} +29 -18
  4. package/dist/src/cli/commands/channels.js +1 -1
  5. package/dist/src/cli/commands/integration-setup.js +1 -1
  6. package/dist/src/cli/commands/register-registry-commands.js +1 -1
  7. package/dist/src/cli/commands/registry-setup-command.d.ts +5 -3
  8. package/dist/src/cli/commands/registry-setup-command.js +1 -1
  9. package/dist/src/cli/commands/registry.d.ts +9 -3
  10. package/dist/src/cli/commands/registry.js +1 -1
  11. package/dist/src/cli/dev/tui/remote-connection-probe.js +1 -1
  12. package/dist/src/cli/dev/tui/runner.js +1 -1
  13. package/dist/src/cli/dev/tui/target.d.ts +3 -15
  14. package/dist/src/cli/dev/tui/tui.js +1 -1
  15. package/dist/src/cli/invoke/command.d.ts +32 -0
  16. package/dist/src/cli/invoke/command.js +1 -0
  17. package/dist/src/cli/invoke/invoke.d.ts +27 -0
  18. package/dist/src/cli/invoke/invoke.js +1 -0
  19. package/dist/src/cli/invoke/result.d.ts +313 -0
  20. package/dist/src/cli/invoke/result.js +1 -0
  21. package/dist/src/cli/run.d.ts +2 -0
  22. package/dist/src/cli/run.js +3 -3
  23. package/dist/src/client/client.js +1 -1
  24. package/dist/src/client/message-response.js +1 -1
  25. package/dist/src/client/session-utils.d.ts +21 -15
  26. package/dist/src/client/session-utils.js +1 -1
  27. package/dist/src/client/session.js +1 -1
  28. package/dist/src/compiled/.vendor-stamp.json +5 -5
  29. package/dist/src/compiled/@workflow/core/capabilities.d.ts +6 -0
  30. package/dist/src/compiled/@workflow/core/encryption.d.ts +15 -2
  31. package/dist/src/compiled/@workflow/core/flushable-stream.d.ts +26 -0
  32. package/dist/src/compiled/@workflow/core/index.d.ts +1 -1
  33. package/dist/src/compiled/@workflow/core/index.js +2 -2
  34. package/dist/src/compiled/@workflow/core/private.d.ts +76 -33
  35. package/dist/src/compiled/@workflow/core/private.js +1 -1
  36. package/dist/src/compiled/@workflow/core/replay-payload-cache.d.ts +3 -2
  37. package/dist/src/compiled/@workflow/core/runtime/count-step-started-events.d.ts +52 -0
  38. package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +41 -12
  39. package/dist/src/compiled/@workflow/core/runtime/resume-hook.d.ts +2 -2
  40. package/dist/src/compiled/@workflow/core/runtime/step-executor.d.ts +9 -8
  41. package/dist/src/compiled/@workflow/core/runtime/world.d.ts +2 -7
  42. package/dist/src/compiled/@workflow/core/runtime.d.ts +1 -1
  43. package/dist/src/compiled/@workflow/core/runtime.js +3 -3
  44. package/dist/src/compiled/@workflow/core/sealed-box.d.ts +167 -0
  45. package/dist/src/compiled/@workflow/core/serialization/client.d.ts +3 -3
  46. package/dist/src/compiled/@workflow/core/serialization/codec.d.ts +6 -4
  47. package/dist/src/compiled/@workflow/core/serialization/encryption.d.ts +118 -17
  48. package/dist/src/compiled/@workflow/core/serialization/step.d.ts +4 -4
  49. package/dist/src/compiled/@workflow/core/serialization/types.d.ts +20 -0
  50. package/dist/src/compiled/@workflow/core/serialization-format.d.ts +44 -4
  51. package/dist/src/compiled/@workflow/core/serialization.d.ts +21 -21
  52. package/dist/src/compiled/@workflow/core/set-attributes.d.ts +2 -7
  53. package/dist/src/compiled/@workflow/core/step/context-storage.d.ts +2 -2
  54. package/dist/src/compiled/@workflow/core/symbols.d.ts +23 -10
  55. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +4 -4
  56. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  57. package/dist/src/compiled/@workflow/core/workflow/abort-controller.d.ts +1 -1
  58. package/dist/src/compiled/@workflow/core/workflow/index.d.ts +1 -1
  59. package/dist/src/compiled/@workflow/core/workflow/set-attributes.d.ts +0 -9
  60. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  61. package/dist/src/compiled/@workflow/errors/index.d.ts +1 -1
  62. package/dist/src/compiled/@workflow/world/events.d.ts +5 -0
  63. package/dist/src/compiled/@workflow/world/hooks.d.ts +27 -0
  64. package/dist/src/compiled/@workflow/world/index.d.ts +2 -2
  65. package/dist/src/compiled/@workflow/world/interfaces.d.ts +8 -6
  66. package/dist/src/compiled/@workflow/world/queue.d.ts +30 -26
  67. package/dist/src/compiled/@workflow/world/runs.d.ts +5 -0
  68. package/dist/src/compiled/@workflow/world/spec-version.d.ts +3 -4
  69. package/dist/src/compiled/@workflow/world-local/index.js +4 -4
  70. package/dist/src/compiled/@workflow/world-vercel/index.js +5 -5
  71. package/dist/src/compiled/_chunks/workflow/{attribute-changes-B6ltn-ph.js → attribute-changes-DeZc2RZz.js} +2 -2
  72. package/dist/src/compiled/_chunks/workflow/{dist-D7ANgxe0.js → dist-WjtNsOyf.js} +1 -1
  73. package/dist/src/compiled/_chunks/workflow/private-Cre8uYkA.js +1 -0
  74. package/dist/src/compiled/_chunks/workflow/resume-hook-ip1hbn1b.js +1 -0
  75. package/dist/src/compiled/_chunks/workflow/run-CWytxfIp.js +1 -0
  76. package/dist/src/compiled/_chunks/workflow/sleep-BjrUxUcs.js +1 -0
  77. package/dist/src/compiled/_chunks/workflow/wait-until-De9yESQN.js +15 -0
  78. package/dist/src/compiled/_chunks/workflow/{workflow-routes-Pd-WKcx_.js → workflow-routes-CwqB063q.js} +1 -1
  79. package/dist/src/evals/cli/eval-client.js +1 -1
  80. package/dist/src/evals/session.js +1 -1
  81. package/dist/src/execution/web-fetch/request.js +1 -1
  82. package/dist/src/internal/application/compiled-artifacts.js +1 -1
  83. package/dist/src/internal/application/package.js +1 -1
  84. package/dist/src/internal/node-esm-compat-banner.js +1 -1
  85. package/dist/src/internal/workflow/builtins.d.ts +2 -2
  86. package/dist/src/internal/workflow/development-world-protocol.js +1 -1
  87. package/dist/src/internal/workflow-bundle/workflow-core-shim.d.ts +5 -5
  88. package/dist/src/internal/workflow-bundle/workflow-core-shim.js +1 -1
  89. package/dist/src/node_modules/.pnpm/@workflow_utils@5.0.0-beta.7/node_modules/@workflow/utils/dist/world-target.js +1 -0
  90. package/dist/src/public/channels/linear/defaults.js +4 -2
  91. package/dist/src/runtime/attributes/emit.js +1 -1
  92. package/dist/src/services/dev-client/client-options.d.ts +2 -0
  93. package/dist/src/services/dev-client/client-options.js +1 -1
  94. package/dist/src/services/dev-client/target.d.ts +17 -0
  95. package/dist/src/services/dev-client/target.js +1 -0
  96. package/dist/src/setup/scaffold/create/project.js +1 -1
  97. package/dist/src/setup/verified-remote-client.d.ts +5 -1
  98. package/dist/src/setup/verified-remote-client.js +1 -1
  99. package/dist/src/svelte/index.js +1 -1
  100. package/dist/src/svelte/use-eve-agent.js +1 -1
  101. package/dist/src/vue/index.js +1 -1
  102. package/dist/src/vue/use-eve-agent.js +1 -1
  103. package/docs/channels/linear.mdx +4 -0
  104. package/docs/extensions.md +3 -1
  105. package/docs/install-integrations.mdx +76 -1
  106. package/docs/reference/cli.md +28 -1
  107. package/package.json +8 -8
  108. package/dist/src/compiled/@workflow/core/runtime/step-handler.d.ts +0 -2
  109. package/dist/src/compiled/_chunks/workflow/private-DolBHKOQ.js +0 -1
  110. package/dist/src/compiled/_chunks/workflow/resume-hook-D2AqAGjq.js +0 -1
  111. package/dist/src/compiled/_chunks/workflow/run-BMRZ6pA-.js +0 -1
  112. package/dist/src/compiled/_chunks/workflow/sleep-CrgsokmG.js +0 -1
  113. package/dist/src/compiled/_chunks/workflow/wait-until-B-1TiJji.js +0 -15
  114. package/dist/src/node_modules/.pnpm/@workflow_utils@5.0.0-beta.6/node_modules/@workflow/utils/dist/world-target.js +0 -1
  115. /package/dist/src/node_modules/.pnpm/{@workflow_utils@5.0.0-beta.6 → @workflow_utils@5.0.0-beta.7}/node_modules/@workflow/utils/dist/index.js +0 -0
  116. /package/dist/src/node_modules/.pnpm/{@workflow_utils@5.0.0-beta.6 → @workflow_utils@5.0.0-beta.7}/node_modules/@workflow/utils/dist/parse-name.js +0 -0
  117. /package/dist/src/node_modules/.pnpm/{@workflow_utils@5.0.0-beta.6 → @workflow_utils@5.0.0-beta.7}/node_modules/@workflow/utils/dist/pluralize.js +0 -0
  118. /package/dist/src/node_modules/.pnpm/{@workflow_utils@5.0.0-beta.6 → @workflow_utils@5.0.0-beta.7}/node_modules/@workflow/utils/dist/promise.js +0 -0
  119. /package/dist/src/node_modules/.pnpm/{@workflow_utils@5.0.0-beta.6 → @workflow_utils@5.0.0-beta.7}/node_modules/@workflow/utils/dist/time.js +0 -0
  120. /package/dist/src/node_modules/.pnpm/{@workflow_utils@5.0.0-beta.6 → @workflow_utils@5.0.0-beta.7}/node_modules/@workflow/utils/dist/workflow-routes.js +0 -0
  121. /package/dist/src/{cli/dev/tui → services/dev-client}/agent-info-probe.d.ts +0 -0
  122. /package/dist/src/{cli/dev/tui → services/dev-client}/agent-info-probe.js +0 -0
@@ -1,3 +1,3 @@
1
- import{i as e,o as t,r as n,t as r}from"../../_chunks/workflow/rolldown-runtime-DaDcL9Zw.js";import{$ as i,$t as a,A as o,An as s,At as c,B as l,Bn as u,Bt as d,Cn as f,Ct as p,Dt as m,Et as h,F as g,Ft as _,G as v,Gt as y,H as b,Ht as x,I as S,It as C,J as w,Jt as T,K as E,Kt as D,L as O,Lt as k,M as A,Mn as j,Mt as M,Nn as N,Nt as P,On as ee,Ot as te,P as F,Pt as ne,Qt as re,R as ie,Rn as I,Rt as L,S as ae,Sn as R,St as z,Tt as oe,U as B,Ut as se,V as ce,Vn as le,Vt as ue,W as V,Wt as de,X as fe,Xt as pe,Y as me,Yt as he,Zt as ge,_t as _e,a as ve,an as ye,at as be,b as xe,bt as Se,c as H,cn as Ce,d as U,dt as we,en as Te,et as Ee,f as De,fn as Oe,ft as ke,gt as Ae,hn as je,ht as Me,i as W,in as Ne,it as Pe,j as Fe,jn as Ie,jt as Le,k as Re,kn as ze,kt as Be,l as Ve,ln as G,lt as He,m as Ue,mn as We,mt as Ge,nn as Ke,o as qe,on as Je,p as Ye,pt as Xe,q as Ze,qt as Qe,r as $e,rn as et,rt as tt,s as nt,sn as rt,t as it,tn as at,tt as ot,u as st,un as K,ut as ct,v as lt,vn as ut,vt as dt,w as ft,wt as pt,x as mt,xt as ht,y as gt,yt as _t,z as vt,zn as yt,zt as bt}from"../../_chunks/workflow/wait-until-B-1TiJji.js";import{a as xt,n as St,r as Ct,s as wt,t as Tt}from"../../_chunks/workflow/private-DolBHKOQ.js";import{t as Et}from"../../_chunks/workflow/dist-B-vbuNqP.js";import{a as Dt,n as Ot}from"../../_chunks/workflow/workflow-routes-Pd-WKcx_.js";import{D as kt,E as q,O as J,_ as At,a as jt,c as Mt,d as Y,g as Nt,i as X,l as Z,m as Pt,n as Ft,o as It,r as Q,s as Lt,t as Rt,u as zt,x as Bt}from"../../_chunks/workflow/dist-BeQ_csYA.js";import{d as Vt,l as Ht,n as Ut,s as Wt,u as Gt}from"../../_chunks/workflow/attribute-changes-B6ltn-ph.js";import{G as Kt,U as qt,_ as Jt,a as Yt,h as Xt,m as Zt,o as Qt}from"../../_chunks/workflow/dist-D7ANgxe0.js";import{t as $t}from"../../_chunks/workflow/env-config-CYoX3muK.js";import{t as en}from"../../_chunks/workflow/spec-version-C0hBsfu-.js";import{n as tn,r as nn,t as rn}from"../../_chunks/workflow/resume-hook-D2AqAGjq.js";import{a as an,c as on,d as sn,f as cn,i as ln,l as un,n as dn,o as fn,r as pn,s as mn,t as hn,u as gn}from"../../_chunks/workflow/run-BMRZ6pA-.js";import{t as _n}from"../../_chunks/workflow/run-id-BdE0MZz9.js";import{createRequire as vn}from"node:module";import"node:crypto";import{types as yn}from"node:util";import{pathToFileURL as bn}from"node:url";import{Script as xn,createContext as Sn,runInContext as Cn}from"node:vm";function wn(e){return e instanceof Gt||e instanceof Ht||e instanceof Vt||e instanceof Ut}const Tn=`The workflow event log contains orphaned or mismatched events and cannot be replayed. This is an internal workflow SDK error; please report it with the runId.`;function En(e,t){let n=t??gn(e);return Pt.is(e)?{attribution:`user`,errorCode:n,hint:`A value passed across a workflow/step boundary could not be serialized. See the error message for the offending path and the Learn More link for details.`}:wn(e)?{attribution:`user`,errorCode:n,hint:`A workflow-only or step-only API was called from the wrong context. The error message includes the exact API and how to move the call.`}:Rt.is(e)?{attribution:`sdk`,errorCode:n,hint:Tn}:e instanceof q?{attribution:`sdk`,errorCode:n,hint:`This is an internal workflow SDK error, not a bug in your code. If it keeps happening, please report it with the stack trace and the runId.`}:n===J.REPLAY_TIMEOUT?{attribution:`sdk`,errorCode:n,hint:'The workflow replay between step boundaries took too long. This bounds workflow-VM and event-log replay time only — step bodies (`"use step"` functions) are excluded. This usually means the event log is unusually large or the workflow function is doing heavy synchronous work in workflow code outside of step bodies. Override the default budget via the WORKFLOW_REPLAY_TIMEOUT_MS env var if needed.'}:n===J.MAX_DELIVERIES_EXCEEDED?{attribution:`sdk`,errorCode:n,hint:`The workflow queue exceeded its max-delivery budget. This usually indicates a persistent runtime failure — check the most recent stack traces for the underlying cause.`}:n===J.MAX_EVENTS_EXCEEDED?{attribution:`user`,errorCode:n,hint:`The workflow exceeded the maximum number of events per run. This usually means unbounded work in the workflow function — e.g. a loop that keeps creating steps without terminating. Break long-running workflows into child workflows to stay under the limit.`}:n===J.CORRUPTED_EVENT_LOG?{attribution:`sdk`,errorCode:n,hint:Tn}:n===J.WORLD_CONTRACT_ERROR?{attribution:`sdk`,errorCode:n,hint:`The workflow backend returned data that violated the SDK contract. This is not retryable; please report it with the stack trace and runId.`}:{attribution:`user`,errorCode:n}}const Dn=4096;function On(e){if(e===null)return!0;let t=typeof e;return t===`object`||t===`function`?!1:t===`string`?e.length<=Dn:t!==`bigint`||e.toString().length<=Dn}var kn=class{encryptionKey;preparer;preparedPayloads=new Map;primitiveStepResults=new Map;constructor(e,t=F){this.encryptionKey=e,this.preparer=t}async prewarm(e,t){let n=[],r=(e,t)=>{t instanceof Uint8Array&&(this.preparedPayloads.has(e)||n.push(this.ensurePreparation(e,t)))};r(this.workflowInputKey(e.runId),e.input);for(let e of t)switch(e.eventType){case`step_completed`:r(this.eventPayloadKey(e.eventId,`result`),e.eventData?.result);break;case`step_failed`:r(this.eventPayloadKey(e.eventId,`error`),e.eventData?.error);break;case`hook_received`:r(this.eventPayloadKey(e.eventId,`payload`),e.eventData?.payload);break}await Promise.allSettled(n)}prepareWorkflowInput(e){return this.consumePreparation(this.workflowInputKey(e.runId),e.input)}prepareEventPayload(e,t,n){return this.consumePreparation(this.eventPayloadKey(e,t),n)}async getStepResult(e,t){if(this.primitiveStepResults.has(e))return this.primitiveStepResults.get(e);let n=await t();return On(n)&&this.primitiveStepResults.set(e,n),n}consumePreparation(e,t){if(!(t instanceof Uint8Array))return this.runPreparation(t);let n=this.ensurePreparation(e,t);return n.catch(()=>{this.preparedPayloads.get(e)===n&&this.preparedPayloads.delete(e)}),n}ensurePreparation(e,t){let n=this.preparedPayloads.get(e);if(n)return n;let r=this.runPreparation(t);return this.preparedPayloads.set(e,r),r}async runPreparation(e){return this.preparer(e,this.encryptionKey)}workflowInputKey(e){return`run:${e}:input`}eventPayloadKey(e,t){return`event:${e}:${t}`}};function An(){return $t(`WORKFLOW_MAX_QUEUE_DELIVERIES`,48,{integer:!0,min:1,max:48})}const jn=24e4,Mn=3e4,Nn=78e4,Pn=new Set;function Fn(e,t,n){Pn.has(e)||(Pn.add(e),B.warn(t,n))}function In(){let e=process.env.WORKFLOW_REPLAY_TIMEOUT_MS;if(!e)return jn;let t=Number(e);return!Number.isFinite(t)||t<=0?(Fn(e,`Ignoring WORKFLOW_REPLAY_TIMEOUT_MS: not a positive finite number; using default`,{raw:e,defaultMs:jn}),jn):t<3e4?(Fn(e,`WORKFLOW_REPLAY_TIMEOUT_MS below minimum; clamped`,{raw:e,clampedMs:Mn,minMs:Mn}),Mn):t>78e4?(Fn(e,`WORKFLOW_REPLAY_TIMEOUT_MS above maximum; clamped`,{raw:e,clampedMs:Nn,maxMs:Nn}),Nn):t}function Ln(){return $t(`WORKFLOW_REPLAY_TIMEOUT_MAX_RETRIES`,3,{integer:!0})}const Rn=new Set;function zn(){let e=process.env.WORKFLOW_MAX_INLINE_STEPS;if(!e)return 3;let t=Number(e);return!Number.isInteger(t)||t<=0?(Rn.has(e)||(Rn.add(e),B.warn(`Ignoring WORKFLOW_MAX_INLINE_STEPS: not a positive integer; using default`,{raw:e,defaultValue:3})),3):t<1?1:t>16?(Rn.has(e)||(Rn.add(e),B.warn(`WORKFLOW_MAX_INLINE_STEPS above maximum; clamped`,{raw:e,clampedValue:16,maxValue:16})),16):t}const Bn=new Set;function Vn(){let e=process.env.WORKFLOW_MAX_EVENTS_OVERRIDE;if(!e)return;let t=Number(e);if(!Number.isInteger(t)||t<=0){Bn.has(e)||(Bn.add(e),B.warn(`Ignoring WORKFLOW_MAX_EVENTS_OVERRIDE: not a positive integer; using server limit`,{raw:e}));return}return t}function Hn(){let e=process.env.WORKFLOW_OPTIMISTIC_INLINE_START;return e===void 0||e===``?!1:e===`1`||e.toLowerCase()===`true`}function Un(){let e=process.env.WORKFLOW_OPTIMISTIC_INLINE_START;return e===void 0||e===``?!1:e===`0`||e.toLowerCase()===`false`}function Wn(){let e=process.env.WORKFLOW_TURBO;return e===void 0||e===``||!(e===`0`||e.toLowerCase()===`false`)}function Gn(){let e=process.env.WORKFLOW_INLINE_OWNERSHIP;return e===void 0||e===``||!(e===`0`||e.toLowerCase()===`false`)}function Kn(){return $t(`WORKFLOW_INLINE_OWNERSHIP_LEASE_SECONDS`,860,{integer:!0,min:1,max:900})}function qn(){return $t(`WORKFLOW_REPLAY_DIVERGENCE_MAX_RETRIES`,3,{integer:!0})}var Jn=n({createWorld:()=>Xn});function Yn(){throw Error(`Workflow target world was not statically injected. Configure a Workflow builder/framework plugin so @workflow/core/runtime/world-target is aliased to the selected world package.`)}function Xn(){Yn()}const Zn=Symbol.for(`@workflow/world//cache`),Qn=Symbol.for(`@workflow/world//stubbedCache`),$n=Symbol.for(`@workflow/world//cachePromise`),er=Symbol.for(`@workflow/world//stubbedCachePromise`),$=globalThis;function tr(e){if(typeof e.createWorld==`function`)return e.createWorld();if(typeof e.createLocalWorld==`function`)return e.createLocalWorld();if(typeof e.createVercelWorld==`function`)return e.createVercelWorld();if(typeof e.default==`function`)return e.default();if(e.default&&typeof e.default==`object`)return e.default;throw Error(`Invalid target world module: must export createWorld(), a default factory, or a default World instance.`)}const nr=async()=>{let e=await tr(Jn),t=[`WORKFLOW_VERCEL_PROJECT`,`WORKFLOW_VERCEL_TEAM`,`WORKFLOW_VERCEL_AUTH_TOKEN`,`WORKFLOW_VERCEL_ENV`].filter(e=>process.env[e]);return t.length>0&&process.env.VERCEL===`1`&&console.warn(`[workflow] Warning: ${t.join(`, `)} env var(s) are set but have no effect at runtime. These are only used by the Workflow CLI. Remove them from your Vercel project environment variables.`),e},rr=async()=>{if($[Qn])return ut($[Qn]),$[Qn];$[er]||($[er]=nr().catch(e=>{throw $[er]=void 0,e}));let e=await $[er];return ut(e),$[Qn]=e,{createQueueHandler:e.createQueueHandler,specVersion:e.specVersion}},ir=async()=>$[Zn]?(ut($[Zn]),$[Zn]):($[$n]||($[$n]=nr().catch(e=>{throw $[$n]=void 0,e})),$[Zn]=await $[$n],ut($[Zn]),$[Zn]),ar=e=>{$[Zn]=e,$[Qn]=e,$[$n]=void 0,$[er]=void 0},or=Symbol.for(`@workflow/world//getWorldFn`);globalThis[or]??=ir;var sr=class{limitMs;elapsedMs=0;intervalStart;constructor(e=In()){this.limitMs=e,this.intervalStart=Date.now()}get configuredLimitMs(){return this.limitMs}elapsed(){let e=this.intervalStart===null?0:Date.now()-this.intervalStart;return this.elapsedMs+e}pause(){this.intervalStart!==null&&(this.elapsedMs+=Date.now()-this.intervalStart,this.intervalStart=null)}resume(){this.intervalStart=Date.now()}isExhausted(){return this.elapsed()>=this.limitMs}};async function cr(e){let{runId:t,workflowName:n,requestId:r,attempt:i,limitMs:a}=e,o=B.forRun(t,n),s=await ir();if(s.processExitTriggersQueueRedelivery!==!0){o.warn(`Workflow replay exceeded timeout; current World does not support process exit for redelivery — failing the run and returning`,{timeoutMs:a,attempt:i});try{let e=Ve(s,t),n=new X(`Workflow replay exceeded maximum duration (${a/1e3}s)`);await s.events.create(t,{eventType:`run_failed`,specVersion:5,eventData:{error:await gt(n,t,await e()),errorCode:J.REPLAY_TIMEOUT}},{requestId:r})}catch(e){o.warn(`Unable to mark run as failed`,{attempt:i,errorName:e instanceof Error?e.name:`UnknownError`,errorMessage:e instanceof Error?e.message:String(e)})}return}let c=Ln();i<=c&&(o.warn(`Workflow replay exceeded timeout but will be re-attempted (attempt < maxRetries)`,{timeoutMs:a,attempt:i,maxRetries:c}),process.exit(1));let l=En(void 0,J.REPLAY_TIMEOUT);o.error(`Workflow replay exceeded timeout and max retries exceeded. Failing the run`,{timeoutMs:a,attempt:i,maxRetries:c,errorCode:l.errorCode,errorAttribution:l.attribution});try{let e=Ve(s,t),n=new X(`Workflow replay exceeded maximum duration (${a/1e3}s) after ${i} attempts`);await s.events.create(t,{eventType:`run_failed`,specVersion:5,eventData:{error:await gt(n,t,await e()),errorCode:J.REPLAY_TIMEOUT}},{requestId:r})}catch(e){o.warn(`Unable to mark run as failed. The queue will continue to retry`,{attempt:i,errorName:e instanceof Error?e.name:`UnknownError`,errorMessage:e instanceof Error?e.message:String(e),errorStack:e instanceof Error?e.stack:void 0})}process.exit(1)}function lr(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{return Yt(_n(t).ulid)}catch{return}}function ur(e){return yn.isNativeError(e)?e.name:`Error`}function dr(e){return yn.isNativeError(e)?e.stack??``:``}function fr(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`&&`message`in e&&typeof e.message==`string`&&(!(`stack`in e)||e.stack===void 0||typeof e.stack==`string`)}function pr(e){if(!fr(e)||X.is(e))return e;let t=new X(`Aborted: ${e.message}`);return e.stack&&(t.stack=e.stack),t}function mr(e){return typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`}function hr(e){if(yn.isNativeError(e))return{name:e.name,message:e.message,stack:e.stack??``};if(typeof e==`string`)return{name:`Error`,message:e,stack:``};try{return{name:`Error`,message:JSON.stringify(e),stack:``}}catch{return{name:`Error`,message:String(e),stack:``}}}async function gr(e){if(mr(e))try{let t=await gr(await e);return{...t,message:`Promise rejection: ${t.message}`}}catch(e){let t=await gr(e);return{...t,message:`Promise rejection: ${t.message}`}}return hr(e)}let _r,vr,yr;async function br(){if(vr!==void 0)return vr;if(yr)return yr;if(!_r)try{let e=[`@workflow/utils`,`get-port`].join(`/`);_r=vn(bn(process.cwd()+`/package.json`).href)(e).getPort}catch{_r=async()=>void 0}return yr=(_r??(async()=>void 0))().then(e=>(typeof e==`number`&&(vr=e),e)).finally(()=>{yr=void 0}),yr}const xr=new Set([`step_created`,`step_started`,`step_completed`,`step_failed`,`step_retrying`,`hook_received`,`wait_created`,`wait_completed`]);function Sr(e){let{events:t}=e,n=e.invocationStartedClean&&e.runCreatedAtMs!==void 0&&!e.suspensionHasWaits,r;if(n)for(let e of t){if(xr.has(e.eventType)){n=!1;break}if(e.eventType===`attr_set`){let t=+(e.occurredAt??e.createdAt);r=r===void 0?t:Math.min(r,t)}}let i,a,o,s=t[t.length-1];if(!e.suspensionHasWaits&&!e.suspensionCreatedHooks&&s&&(s.eventType===`step_completed`||s.eventType===`step_failed`)){i=+(s.occurredAt??s.createdAt);let e=new Set;for(let n of t)(n.eventType===`step_completed`||n.eventType===`step_failed`)&&n.correlationId!==void 0&&e.add(n.correlationId);a=e.size,o=t.length}let c=n&&e.runStartedReceivedAtMs!==void 0;if(!(!n&&i===void 0))return{...n?{ttfsAnchorMs:e.runCreatedAtMs,preStepBlockingMs:r===void 0?e.preStepBlockingMs:e.preStepBlockingBeforeAttrMs??0,...r===void 0?{}:{preStepAttrStartMs:r}}:{},...c?{rsfsAnchorMs:e.runStartedReceivedAtMs,replayMs:e.replayMs}:{},...i===void 0?{}:{prevStepEndMs:i,stepCount:a,eventCount:o},turbo:e.turbo}}function Cr(e){let{tracking:t}=e;if(!t||e.attempt!==1)return;let n=t.preStepAttrStartMs??e.stepCodeStartedAtMs,r=t.ttfsAnchorMs===void 0?void 0:n-t.ttfsAnchorMs-(t.preStepBlockingMs??0),i=r!==void 0&&r>=-6e4?Math.max(0,r):void 0,a=t.prevStepEndMs===void 0?void 0:e.stepCodeStartedAtMs-t.prevStepEndMs,o=a!==void 0&&a>=-6e4?Math.max(0,a):void 0,s=t.rsfsAnchorMs!==void 0&&e.stepStartPostSentAtMs!==void 0?Math.max(0,e.stepStartPostSentAtMs-t.rsfsAnchorMs):void 0,c=t.replayMs===void 0?void 0:Math.max(0,t.replayMs);if(i===void 0&&o===void 0)return;let l=[];return t.turbo&&l.push(`turbo`),e.lazyStepStart&&l.push(`lazyStepStart`),e.optimisticStart&&l.push(`optimisticStart`),{...i===void 0?{}:{ttfs:i},...o===void 0?{}:{stso:o},...o!==void 0&&t.stepCount!==void 0?{stepCount:t.stepCount}:{},...o!==void 0&&t.eventCount!==void 0?{eventCount:t.eventCount}:{},...s===void 0?{}:{rsfs:s},...c===void 0?{}:{finalSchedulingReplay:c},optimizations:l}}function wr(e,t){if(t&&!(!e.events||e.cursor===void 0))return{events:e.events,cursor:e.cursor,hasMore:e.hasMore??!1}}async function Tr(e){let{world:t,workflowRunId:n,workflowName:r,workflowStartedAt:a,stepId:s,stepName:l}=e,d=process.env.VERCEL_URL!==void 0,f=(e.runSpecVersion??0)>=5;return i(`step.execute ${u(l)}`,{},async u=>{u?.setAttributes({...te(l),...D(r),...at(n),...oe(s)});let g=Ve(t,n),v=St(l);if(!v||typeof v!=`function`){let i=`Step "${l}" is not registered in the current deployment. This usually indicates a build or bundling issue that caused the step to not be included in the deployment.`;if(B.error(`Step function not registered, failing step`,{workflowRunId:n,stepName:l,stepId:s}),e.lazyStepInput!==void 0)try{e.runReadyBarrier&&await e.runReadyBarrier.catch(()=>{}),await t.events.create(n,{eventType:`step_started`,specVersion:5,correlationId:s,eventData:{stepName:l,workflowName:r,input:e.lazyStepInput,...e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId}}})}catch(e){if(Q.is(e))return{type:`skipped`};if(Y.is(e))return{type:`gone`};throw e}try{await t.events.create(n,{eventType:`step_failed`,specVersion:5,correlationId:s,eventData:{stepName:l,error:await mt(new X(i),n,await g(),[],globalThis,f)}})}catch(e){if(Q.is(e))return{type:`skipped`};throw e}return u?.setAttributes({...C(`failed`),...p(!0)}),{type:`failed`}}let y=v.maxRetries??3;if(u?.setAttributes({...m(y)}),e.authoritativeAttempt!==void 0&&e.authoritativeAttempt>y+1){let r=y,i=`Step "${l}" exceeded max retries (${r} ${I(`retry`,`retries`,r)})`;V.error(`Step exceeded max retries`,{workflowRunId:n,stepName:l,stepId:s,attempt:e.authoritativeAttempt,maxRetries:y});try{await t.events.create(n,{eventType:`step_failed`,specVersion:5,correlationId:s,eventData:{stepName:l,error:await mt(new X(i),n,await g(),[],globalThis,f)}})}catch(e){if(Q.is(e))return B.info(`Tried failing step for exceeded retries, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:l,message:e instanceof Error?e.message:String(e)}),{type:`skipped`};if(Y.is(e))return{type:`gone`};throw e}return u?.setAttributes({...C(`failed`),...c(!0)}),{type:`failed`}}let x=e=>{if(Nt.is(e)){let t=Math.max(1,typeof e.retryAfter==`number`?e.retryAfter:1);return B.info(`Throttled on step_started, deferring`,{retryAfterSeconds:t}),{type:`throttled`,timeoutSeconds:t}}if(Y.is(e))return B.info(`Workflow run "${n}" has already completed, skipping step "${s}": ${e.message}`),{type:`gone`};if(Q.is(e))return B.debug(`Step in terminal state, skipping`,{stepName:l,stepId:s,workflowRunId:n,error:e instanceof Error?e.message:String(e)}),u?.setAttributes({..._(!0),...ne(`completed`)}),{type:`skipped`};if(At.is(e)){let t=Math.max(1,e.retryAfter??1);return B.debug(`Step retryAfter timestamp not yet reached`,{stepName:l,stepId:s,timeoutSeconds:t}),{type:`retry`,timeoutSeconds:t}}},S=e.lazyStepInput!==void 0&&e.suppressOptimisticStart!==!0&&(Hn()||e.forceOptimisticStart===!0&&!Un()),w,T,E,O=async()=>{if(!E)return;let e=await E;if(e.ok)return;let t=x(e.err);if(!t)throw e.err;return t};if(S){E=(e.runReadyBarrier??Promise.resolve()).then(()=>(T=Date.now(),t.events.create(n,{eventType:`step_started`,specVersion:5,correlationId:s,eventData:{stepName:l,workflowName:r,input:e.lazyStepInput,...e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId}}},e.stateUpdatedAt===void 0?void 0:{stateUpdatedAt:e.stateUpdatedAt}))).then(()=>({ok:!0}),e=>({ok:!1,err:e}));let i=new Date;w={runId:n,stepId:s,stepName:l,status:`running`,input:e.lazyStepInput,attempt:1,startedAt:i,createdAt:i,updatedAt:i}}else try{let i=e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId};T=Date.now();let a=await t.events.create(n,{eventType:`step_started`,specVersion:5,correlationId:s,eventData:e.lazyStepInput===void 0?{stepName:l,...i}:{stepName:l,workflowName:r,input:e.lazyStepInput,...i}},e.stateUpdatedAt===void 0?void 0:{stateUpdatedAt:e.stateUpdatedAt});if(!a.step)throw new q(`step_started event for "${s}" did not return step entity`);w=a.step}catch(e){let t=x(e);if(t)return t;throw e}B.debug(`Step execution details`,{stepName:l,stepId:w.stepId,status:w.status,attempt:w.attempt}),u?.setAttributes({...C(w.status)});let A;if(w.attempt>y+1&&w.error){let e=w.attempt-1,r=`Step "${l}" exceeded max retries (${e} ${I(`retry`,`retries`,e)})`;V.error(`Step exceeded max retries`,{workflowRunId:n,stepName:l,retryCount:e});let i=new X(r);if(w.error!=null)try{i.cause=await o(w.error,n,await g())}catch{}try{await t.events.create(n,{eventType:`step_failed`,specVersion:5,correlationId:s,eventData:{stepName:l,error:await mt(i,n,await g(),[],globalThis,f)}})}catch(e){if(Q.is(e))return B.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:l,message:e.message}),{type:`skipped`};throw e}return u?.setAttributes({...C(`failed`),...c(!0)}),{type:`failed`}}let j=[],N=[],ee=!0,F,re=()=>{if(!F||F.rsfs!==void 0)return;let t=e.latencyTracking?.rsfsAnchorMs;t===void 0||T===void 0||(F.rsfs=Math.max(0,T-t),u&&u.setAttributes({...P(F.rsfs)}))};try{let t=w.attempt;if(!w.startedAt)throw new q(`Step "${s}" has no "startedAt" timestamp`);let o=w.startedAt,c=e.encryptionKey??await g(),p=await i(`step.hydrate`,{},async t=>{let r=Date.now(),i=await Re(w.input,n,c,N,globalThis,{},e.workflowDeploymentId),a=Date.now()-r;return t?.setAttributes({..._t(i.args.length),...Ae(a)}),i}),m=p.args,_=p.thisVal??null,y=Ot(d?`https://${process.env.VERCEL_URL}`:`http://localhost:${await br()??3e3}`),x,C=!1,E=Date.now();F=Cr({tracking:e.latencyTracking,stepCodeStartedAtMs:E,attempt:t,lazyStepStart:e.lazyStepInput!==void 0,optimisticStart:S,stepStartPostSentAtMs:T}),F&&u?.setAttributes({...F.ttfs===void 0?{}:L(F.ttfs),...F.stso===void 0?{}:k(F.stso),...F.rsfs===void 0?{}:P(F.rsfs),...F.finalSchedulingReplay===void 0?{}:pt(F.finalSchedulingReplay),...h(F.optimizations??[])});try{A=await i(`step.execute`,{},async()=>await b.run({stepMetadata:{stepName:l,stepId:s,stepStartedAt:new Date(+o),attempt:t},workflowMetadata:{workflowName:r,workflowRunId:n,workflowStartedAt:new Date(+a),url:y,features:{encryption:!!c}},workflowDeploymentId:e.workflowDeploymentId,rootRunId:e.rootRunId,ops:N,preCompletionOps:j,closureVars:p.closureVars,encryptionKey:c,runReadyBarrier:S?e.runReadyBarrier:void 0},()=>v.apply(_,m)))}catch(e){x=e,C=!0}let D=Date.now()-E;if(lt(...m,_,p.closureVars),C)throw x;if(u?.setAttributes({..._e(D)}),A=await i(`step.dehydrate`,{},async t=>{let r=Date.now(),i=await ae(A,n,c,N,globalThis,!1,!1,f,S?e.runReadyBarrier:void 0),a=Date.now()-r;return t?.setAttributes({...dt(a),...Be(typeof i)}),i}),N.length>0){let e=Promise.all(N);it(e,e=>{B.warn(`Background flush of step stream ops failed`,{workflowRunId:n,stepId:s,error:e instanceof Error?e.message:String(e)})}),ee=await Promise.race([e.then(()=>!0,e=>{if(e?.name===`AbortError`||e?.name===`ResponseAborted`)return!0;throw e}),new Promise(e=>setTimeout(()=>e(!1),500))])}if(S){let e=await O();if(e)return e;re()}j.length>0&&await Promise.all(j).catch(()=>{})}catch(e){if(S){let e=await O();if(e)return e;re()}j.length>0&&await Promise.all(j).catch(()=>{});let r=pr(e),i=await gr(r),a=i.stack||dr(r)||``;r instanceof Error&&u?.recordException?.(r);let o=X.is(r);if(u?.setAttributes({...z(ur(r)),...ht(i.message),...be(ur(r)),...tt(o?`fatal`:zt.is(r)?`retryable`:`transient`),...Pe(!o)}),Y.is(e))return V.info(`Workflow run already completed, skipping step`,{workflowRunId:n,stepId:s,message:e.message}),{type:`gone`};if(o){V.error(`Encountered FatalError while executing step, bubbling up to parent workflow`,{workflowRunId:n,stepName:l,errorStack:a}),yn.isNativeError(r)&&a&&(r.stack=a);try{await t.events.create(n,{eventType:`step_failed`,specVersion:5,correlationId:s,eventData:{stepName:l,error:await mt(r,n,await g(),[],globalThis,f),...F}})}catch(e){if(Q.is(e))return B.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:l,message:e.message}),{type:`skipped`};throw e}return u?.setAttributes({...C(`failed`),...p(!0)}),{type:`failed`}}let d=w.attempt;if(u?.setAttributes({...Se(d),...m(y)}),d>=y+1){let r=w.attempt-1;V.error(`Max retries reached, bubbling error to parent workflow`,{workflowRunId:n,stepName:l,attempt:w.attempt,retryCount:r,errorStack:a});let o=new X(`Step "${l}" failed after ${y} ${I(`retry`,`retries`,y)}: ${i.message}`);o.cause=e,a&&(o.stack=a);try{await t.events.create(n,{eventType:`step_failed`,specVersion:5,correlationId:s,eventData:{stepName:l,error:await mt(o,n,await g(),[],globalThis,f),...F}})}catch(e){if(Q.is(e))return B.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:l,message:e.message}),{type:`skipped`};throw e}return u?.setAttributes({...C(`failed`),...c(!0)}),{type:`failed`}}zt.is(e)?V.info(`Encountered RetryableError, step will be retried`,{workflowRunId:n,stepName:l,attempt:d,message:e.message}):V.info(`Encountered Error, step will be retried`,{workflowRunId:n,stepName:l,attempt:d,errorStack:a}),yn.isNativeError(e)&&a&&(e.stack=a);try{await t.events.create(n,{eventType:`step_retrying`,specVersion:5,correlationId:s,eventData:{stepName:l,error:await mt(e,n,await g(),[],globalThis,f),...zt.is(e)&&{retryAfter:e.retryAfter}}})}catch(e){if(Q.is(e))return B.info(`Tried retrying step, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:l,message:e.message}),{type:`skipped`};throw e}let h=Math.max(1,zt.is(e)?Math.ceil((+e.retryAfter.getTime()-Date.now())/1e3):1);return u?.setAttributes({...Le(h),...M(!0)}),{type:`retry`,timeoutSeconds:h}}let ie;try{ie=await t.events.create(n,{eventType:`step_completed`,specVersion:5,correlationId:s,eventData:{stepName:l,workflowName:r,result:A,...F}},e.inlineDeltaSinceCursor===void 0?void 0:{sinceCursor:e.inlineDeltaSinceCursor})}catch(e){if(Q.is(e))return B.info(`Tried completing step, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:l,message:e.message}),{type:`skipped`};if(Y.is(e))return V.info(`Workflow run already completed, skipping step`,{workflowRunId:n,stepId:s,message:e.message}),{type:`gone`};throw e}let R=wr(ie,e.inlineDeltaSinceCursor!==void 0);return u?.setAttributes({...C(`completed`),...Be(typeof A)}),N.length>0&&V.debug(`Step has pending ops`,{workflowRunId:n,stepName:l,opsCount:N.length}),{type:`completed`,hasPendingOps:!ee,inlineDelta:R}})}function Er(e){return e.hasCreatedEvent===!0&&e.ownerMessageId!==void 0&&e.sawRetrying!==!0}function Dr(e,t){if(e.lastStartedAt===void 0)return 0;let n=Kn(),r=e.lastStartedAt+n*1e3-t;return Math.min(n,Math.max(0,Math.ceil(r/1e3)))}function Or(e){return`${e.correlationId}:backstop:${e.lastStartedAt}`}function kr(e,t,n){let r=new Map,i=new Set;for(let t of e)if(t.correlationId!==void 0)if(t.eventType===`step_started`){let e=`eventData`in t&&t.eventData&&`ownerMessageId`in t.eventData&&typeof t.eventData.ownerMessageId==`string`?t.eventData.ownerMessageId:void 0;r.set(t.correlationId,e)}else t.eventType===`step_retrying`&&i.add(t.correlationId);for(let e of t)if(e!==void 0&&!i.has(e)&&r.get(e)===n)return!0;return!1}const Ar=new Map;async function jr(e,t,n){let r=`${e}:${t}`,i=Ar.get(r);if(i){B.warn(`Step execution already in flight in this process; awaiting its settlement instead of executing again`,{workflowRunId:e,stepId:t});try{await i}catch{}return{type:`skipped`}}let a=n();Ar.set(r,a);try{return await a}finally{Ar.delete(r)}}async function Mr({runId:e,hookEvent:t,queueItem:n,requestId:r,createEvent:i}){try{return(await i(t,{requestId:r})).event?.eventType===`hook_conflict`?{hasHookConflict:!0,hasAwaitedHookCreation:!1}:{hasHookConflict:!1,hasAwaitedHookCreation:n.hasConflictAwaiter===!0}}catch(t){if(Q.is(t))return B.info(`Hook already exists, continuing`,{workflowRunId:e,message:t.message}),{hasHookConflict:!1,hasAwaitedHookCreation:n.hasConflictAwaiter===!0};if(Y.is(t))return B.info(`Workflow run already completed, skipping hook`,{workflowRunId:e,message:t.message}),{hasHookConflict:!1,hasAwaitedHookCreation:!1};throw t}}async function Nr({suspension:e,world:t,run:n,span:r,requestId:i,eventLog:a,runReadyBarrier:o}){let s=n.runId,c=async()=>{if(o)try{await o}catch{}},u=(e,n)=>a?Ue(s,a,r=>t.events.create(s,e,{...n,stateUpdatedAt:r})):t.events.create(s,e,n),d=e.steps.filter(e=>e.type===`step`),f=e.steps.filter(e=>e.type===`hook`),p=e.steps.filter(e=>e.type===`wait`),m=e.steps.filter(e=>e.type===`attribute`),h=f.filter(e=>!e.hasCreatedEvent),g=new Map;for(let e of f){if(e.hasCreatedEvent&&!e.disposed)continue;let t=g.get(e.token);t?t.push(e):g.set(e.token,[e])}let _=await t.getEncryptionKeyForRun?.(n),v=_?await N(_):void 0,b=(n.specVersion??0)>=5;async function x(e){let t={eventType:`hook_disposed`,specVersion:5,correlationId:e.correlationId,eventData:{token:e.token}};try{await u(t,{requestId:i})}catch(t){if(Q.is(t))B.info(`Hook already disposed, skipping duplicate disposal`,{workflowRunId:s,correlationId:e.correlationId,message:t.message});else if(Y.is(t))B.info(`Workflow run already completed, skipping hook disposal`,{workflowRunId:s,correlationId:e.correlationId,message:t.message});else if(It.is(t))B.info(`Hook not found for disposal, continuing`,{workflowRunId:s,correlationId:e.correlationId,message:t.message});else throw t}}let S=!1,C=!1,w=0;if(g.size>0){let t=Date.now();await c(),await Promise.all([...g.values()].map(async t=>{for(let n of t){let t=!1;if(!n.hasCreatedEvent){let r=n.metadata===void 0?void 0:await xe(n.metadata,s,v,e.globalThis,!1,b),a={eventType:`hook_created`,specVersion:5,correlationId:n.correlationId,eventData:{token:n.token,tokenRetentionUntil:n.tokenRetentionUntil,metadata:r,isWebhook:n.isWebhook??!1,...n.isSystem&&{isSystem:!0}}},o=await Mr({runId:s,hookEvent:a,queueItem:n,requestId:i,createEvent:u});S||=o.hasHookConflict,C||=o.hasAwaitedHookCreation,t=o.hasHookConflict}n.disposed&&!t&&await x(n)}})),w=Date.now()-t}let T=f.filter(e=>e.abortRequested&&!e.disposed);T.length>0&&(await c(),await Promise.all(T.map(async n=>{try{let r=await xe({aborted:!0,reason:n.abortReason},s,v,e.globalThis,!1,b);await u({eventType:`hook_received`,specVersion:5,correlationId:n.correlationId,eventData:{token:n.token,payload:r}});try{let e=l(n.token);await t.streams.write(s,e,r),await t.streams.close(s,e)}catch{B.debug(`Failed to write abort stream packet, hook event will provide fallback`,{workflowRunId:s,correlationId:n.correlationId})}}catch(e){if(Q.is(e)||Y.is(e))B.info(`Workflow run already completed, skipping abort`,{workflowRunId:s,correlationId:n.correlationId,message:e.message});else throw e}})));let E=new Set(d.filter(e=>!e.hasCreatedEvent).map(e=>e.correlationId)),D=new Set,O=new Set(C===!1?d.filter(e=>E.has(e.correlationId)).slice(0,zn()).map(e=>e.correlationId):[]),k=new Map,A=[];for(let t of d)E.has(t.correlationId)&&A.push((async()=>{let r=await xe({args:t.args,closureVars:t.closureVars,thisVal:t.thisVal},s,v,e.globalThis,!1,b);if(O.has(t.correlationId)){k.set(t.correlationId,{correlationId:t.correlationId,stepName:t.stepName,dehydratedInput:r});return}let a={eventType:`step_created`,specVersion:5,correlationId:t.correlationId,eventData:{stepName:t.stepName,workflowName:n.workflowName,input:r}};try{await c(),await u(a,{requestId:i}),D.add(t.correlationId)}catch(e){if(Q.is(e))B.info(`Step already exists, continuing`,{workflowRunId:s,correlationId:t.correlationId,message:e.message});else throw e}})());for(let e of p)e.hasCreatedEvent||A.push((async()=>{let t={eventType:`wait_created`,specVersion:5,correlationId:e.correlationId,eventData:{resumeAt:e.resumeAt}};try{await c(),await u(t,{requestId:i})}catch(t){if(Q.is(t))B.info(`Wait already exists, continuing`,{workflowRunId:s,correlationId:e.correlationId,message:t.message});else throw t}})());for(let e of m)A.push((async()=>{try{await c(),await t.events.create(s,{eventType:`attr_set`,specVersion:5,correlationId:e.correlationId,eventData:{changes:e.changes,writer:{type:`workflow`},...e.allowReservedAttributes?{allowReservedAttributes:!0}:{}}},{requestId:i})}catch(t){if(Q.is(t))B.info(`Workflow attribute event already exists, continuing`,{workflowRunId:s,correlationId:e.correlationId,message:t.message});else if(Pr(t)){let e=new X(`setAttributes failed World validation: ${t instanceof Error?t.message:String(t)}`);throw e.cause=t,e}else throw t}})());await Promise.all(A);let j=[];for(let e of O){let t=k.get(e);t&&j.push(t)}let M=Date.now(),P;for(let e of p){let t=e.resumeAt.getTime(),n=Math.max(1e3,t-M),r=Math.ceil(n/1e3);(!P||r<P.seconds)&&(P={seconds:r,correlationId:e.correlationId})}return r?.setAttributes({...Ke(`workflow_suspended`),...Ne(d.length),...y(h.length),...Ce(p.length)}),{pendingSteps:d,createdStepCorrelationIds:D,lazyInlineSteps:j,waitTimeout:S?void 0:P,hasHookConflict:S,hasAwaitedHookCreation:C,hasAttributeEvents:m.length>0,hasHookEvents:h.length>0,hookCreationMs:w}}function Pr(e){return e instanceof qt||e instanceof Error&&e.name===`AttributeValidationError`||kt.is(e)&&e.status===400}const Fr=()=>$t(`WORKFLOW_WAIT_CONTINUATION_MAX_DELAY_SECONDS`,82800,{integer:!0,min:1}),Ir=()=>$t(`WORKFLOW_NEAR_ELAPSED_WAIT_THRESHOLD_SECONDS`,2);function Lr(e,t,n=Date.now()){let r=Fr();if(e<=Math.min(Ir(),r))return{delaySeconds:e,idempotencyKey:`${t}:${Math.floor(n/1e3)}`};let i=Math.ceil(e/r);return{delaySeconds:Math.min(e,r),idempotencyKey:i===1?t:`${t}:hop-${i}`}}var Rr=44,zr=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Br=new Uint8Array(64),Vr=new Uint8Array(128);for(let e=0;e<zr.length;e++){let t=zr.charCodeAt(e);Br[e]=t,Vr[t]=e}function Hr(e,t){let n=0,r=0,i=0;do i=Vr[e.next()],n|=(i&31)<<r,r+=5;while(i&32);let a=n&1;return n>>>=1,a&&(n=-2147483648|-n),t+n}function Ur(e,t){return e.pos>=t?!1:e.peek()!==Rr}var Wr=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function Gr(e){let{length:t}=e,n=new Wr(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i=Hr(n,i),i<u&&(l=!1),u=i,Ur(n,e)?(a=Hr(n,a),o=Hr(n,o),s=Hr(n,s),Ur(n,e)?(c=Hr(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||Kr(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function Kr(e){e.sort(qr)}function qr(e,t){return e[0]-t[0]}const Jr=/^[\w+.-]+:\/\//,Yr=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,Xr=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function Zr(e){return Jr.test(e)}function Qr(e){return e.startsWith(`//`)}function $r(e){return e.startsWith(`/`)}function ei(e){return e.startsWith(`file:`)}function ti(e){return/^[.?#]/.test(e)}function ni(e){let t=Yr.exec(e);return ii(t[1],t[2]||``,t[3],t[4]||``,t[5]||`/`,t[6]||``,t[7]||``)}function ri(e){let t=Xr.exec(e),n=t[2];return ii(`file:`,``,t[1]||``,``,$r(n)?n:`/`+n,t[3]||``,t[4]||``)}function ii(e,t,n,r,i,a,o){return{scheme:e,user:t,host:n,port:r,path:i,query:a,hash:o,type:7}}function ai(e){if(Qr(e)){let t=ni(`http:`+e);return t.scheme=``,t.type=6,t}if($r(e)){let t=ni(`http://foo.com`+e);return t.scheme=``,t.host=``,t.type=5,t}if(ei(e))return ri(e);if(Zr(e))return ni(e);let t=ni(`http://foo.com/`+e);return t.scheme=``,t.host=``,t.type=e?e.startsWith(`?`)?3:e.startsWith(`#`)?2:4:1,t}function oi(e){if(e.endsWith(`/..`))return e;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function si(e,t){ci(t,t.type),e.path===`/`?e.path=t.path:e.path=oi(t.path)+e.path}function ci(e,t){let n=t<=4,r=e.path.split(`/`),i=1,a=0,o=!1;for(let e=1;e<r.length;e++){let t=r[e];if(!t){o=!0;continue}if(o=!1,t!==`.`){if(t===`..`){a?(o=!0,a--,i--):n&&(r[i++]=t);continue}r[i++]=t,a++}}let s=``;for(let e=1;e<i;e++)s+=`/`+r[e];(!s||o&&!s.endsWith(`/..`))&&(s+=`/`),e.path=s}function li(e,t){if(!e&&!t)return``;let n=ai(e),r=n.type;if(t&&r!==7){let e=ai(t),i=e.type;switch(r){case 1:n.hash=e.hash;case 2:n.query=e.query;case 3:case 4:si(n,e);case 5:n.user=e.user,n.host=e.host,n.port=e.port;case 6:n.scheme=e.scheme}i>r&&(r=i)}ci(n,r);let i=n.query+n.hash;switch(r){case 2:case 3:return i;case 4:{let r=n.path.slice(1);return r?ti(t||e)&&!ti(r)?`./`+r+i:r+i:i||`.`}case 5:return n.path+i;default:return n.scheme+`//`+n.user+n.host+n.port+n.path+i}}function ui(e){if(!e)return``;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function di(e,t){let n=ui(e),r=t?t+`/`:``;return e=>li(r+(e||``),n)}var fi=0,pi=1,mi=2,hi=3,gi=4;function _i(e,t){let n=vi(e,0);if(n===e.length)return e;t||(e=e.slice());for(let r=n;r<e.length;r=vi(e,r+1))e[r]=bi(e[r],t);return e}function vi(e,t){for(let n=t;n<e.length;n++)if(!yi(e[n]))return n;return e.length}function yi(e){for(let t=1;t<e.length;t++)if(e[t][fi]<e[t-1][fi])return!1;return!0}function bi(e,t){return t||(e=e.slice()),e.sort(xi)}function xi(e,t){return e[fi]-t[fi]}var Si=!1;function Ci(e,t,n,r){for(;n<=r;){let i=n+(r-n>>1),a=e[i][fi]-t;if(a===0)return Si=!0,i;a<0?n=i+1:r=i-1}return Si=!1,n-1}function wi(e,t,n){for(let r=n+1;r<e.length&&e[r][fi]===t;n=r++);return n}function Ti(e,t,n){for(let r=n-1;r>=0&&e[r][fi]===t;n=r--);return n}function Ei(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function Di(e,t,n,r){let{lastKey:i,lastNeedle:a,lastIndex:o}=n,s=0,c=e.length-1;if(r===i){if(t===a)return Si=o!==-1&&e[o][fi]===t,o;t>=a?s=o===-1?0:o:c=o}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=Ci(e,t,s,c)}function Oi(e){return typeof e==`string`?JSON.parse(e):e}var ki="`line` must be greater than 0 (lines start at line 1)",Ai="`column` must be greater than or equal to 0 (columns start at column 0)",ji=class{constructor(e,t){let n=typeof e==`string`;if(!n&&e._decodedMemo)return e;let r=Oi(e),{version:i,file:a,names:o,sourceRoot:s,sources:c,sourcesContent:l}=r;this.version=i,this.file=a,this.names=o||[],this.sourceRoot=s,this.sources=c,this.sourcesContent=l,this.ignoreList=r.ignoreList||r.x_google_ignoreList||void 0;let u=di(t,s);this.resolvedSources=c.map(u);let{mappings:d}=r;if(typeof d==`string`)this._encoded=d,this._decoded=void 0;else if(Array.isArray(d))this._encoded=void 0,this._decoded=_i(d,n);else if(r.sections)throw Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`);else throw Error(`invalid source map: ${JSON.stringify(r)}`);this._decodedMemo=Ei(),this._bySources=void 0,this._bySourceMemos=void 0}};function Mi(e){return e}function Ni(e){var t;return(t=Mi(e))._decoded||(t._decoded=Gr(Mi(e)._encoded))}function Pi(e,t){let{line:n,column:r,bias:i}=t;if(n--,n<0)throw Error(ki);if(r<0)throw Error(Ai);let a=Ni(e);if(n>=a.length)return Fi(null,null,null,null);let o=a[n],s=Ii(o,Mi(e)._decodedMemo,n,r,i||1);if(s===-1)return Fi(null,null,null,null);let c=o[s];if(c.length===1)return Fi(null,null,null,null);let{names:l,resolvedSources:u}=e;return Fi(u[c[pi]],c[mi]+1,c[hi],c.length===5?l[c[gi]]:null)}function Fi(e,t,n,r){return{source:e,line:t,column:n,name:r}}function Ii(e,t,n,r,i){let a=Di(e,r,t,n);return Si?a=(i===-1?wi:Ti)(e,r,a):i===-1&&a++,a===-1||a===e.length?-1:a}function Li(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47||e===61}function Ri(e){let t=0;for(;t<e.length;){let n=e.indexOf(`//# sourceMappingURL=data:application/json`,t);if(n===-1)return;let r=e.indexOf(`;base64,`,n+42);if(r===-1){t=n+42;continue}let i=e.indexOf(`,`,n);if(i!==-1&&i<r){t=r+8;continue}let a=r+8,o=a;for(;o<e.length&&Li(e.charCodeAt(o));)o++;if(o>a)return e.slice(a,o);t=o}}const zi=new Map;function Bi(e){let t=zi.get(e);if(t!==void 0)return zi.delete(e),zi.set(e,t),t;let n=null,r=Ri(e);if(r)try{let e=Buffer.from(r,`base64`).toString(`utf-8`);n=new ji(JSON.parse(e))}catch{n=null}for(zi.set(e,n);zi.size>8;){let e=zi.keys().next().value;if(e===void 0)break;zi.delete(e)}return n}function Vi(e,t,n){if(!e.includes(t))return e;let r=Bi(n);if(!r)return e;try{return e.split(`
2
- `).map(e=>{let n=e.match(/^\s*at\s+(?:(.+?)\s+\()?(.+?):(\d+):(\d+)\)?$/);if(!n)return e;let[,i,a,o,s]=n;if(!a.includes(t))return e;let c=parseInt(o,10),l=parseInt(s,10),u=Pi(r,{line:c,column:l});if(u.source&&u.line!==null){let e=i||u.name||`anonymous`,t=u.column===null?l:u.column;return` at ${e} (${u.source}:${u.line}:${t})`}return e}).join(`
3
- `)}catch{return e}}function Hi(e,t,n){let r=(2<<31-Math.clz32(e.length-1|1))-1,i=Math.ceil(1.6*r*t/e.length);return(a=t)=>{if(!a)return``;let o=``;for(;;){let t=n(i),s=i;for(;s--;)if(o+=e[t[s]&r]||``,o.length>=a)return o}}}function Ui(e){return function(t,n){let r=function(...r){let{promise:i,resolve:a,reject:s}=wt(),c=`step_${e.generateUlid()}`,l={type:`step`,correlationId:c,stepName:t,args:r};this!==void 0&&this!==null&&this!==globalThis&&(l.thisVal=this);let u=n?.();return u&&(l.closureVars=u),e.invocationsQueue.set(c,l),V.debug(`Step consumer setup`,{correlationId:c,stepName:t,args:r}),e.eventsConsumer.subscribe(n=>{if(!n)return xt(e,()=>{e.onWorkflowError(new K(e.invocationsQueue,e.globalThis))}),O.NotConsumed;if(V.debug(`Step consumer event processing`,{correlationId:c,stepName:t,args:r.join(`, `),incomingCorrelationId:n.correlationId,isMatch:c===n.correlationId,eventType:n.eventType}),n.correlationId!==c)return O.NotConsumed;let i=`eventData`in n&&n.eventData&&`stepName`in n.eventData?n.eventData.stepName:void 0;if(typeof i==`string`&&i!==t)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Z(`Replay divergence: step event ${n.eventType} for ${c} belongs to "${i}", but the current step consumer is "${t}"`,{eventId:n.eventId}))}),O.Finished;if(n.eventType===`step_created`){let r=e.invocationsQueue.get(c);return!r||r.type!==`step`?(e.promiseQueue=e.promiseQueue.then(()=>{s(new Z(`Replay divergence: step ${c} (${t}) created but not found in invocation queue`,{eventId:n.eventId}))}),O.Finished):(r.hasCreatedEvent=!0,O.Consumed)}if(n.eventType===`step_started`){let t=e.invocationsQueue.get(c);return t&&t.type===`step`&&(t.ownerMessageId=`eventData`in n&&n.eventData&&`ownerMessageId`in n.eventData&&typeof n.eventData.ownerMessageId==`string`?n.eventData.ownerMessageId:void 0,t.lastStartedAt=+n.createdAt),O.Consumed}if(n.eventType===`step_retrying`){let t=e.invocationsQueue.get(c);return t&&t.type===`step`&&(t.sawRetrying=!0,t.ownerMessageId=void 0),O.Consumed}if(n.eventType===`step_failed`)return e.invocationsQueue.delete(n.correlationId),e.promiseQueue=e.promiseQueue.then(async()=>{try{let t=await e.replayPayloadCache.prepareEventPayload(n.eventId,`error`,n.eventData.error),r=await o(n.eventData.error,e.runId,e.encryptionKey,e.globalThis,{},t);s(r)}catch(e){V.error(`Failed to hydrate step_failed error`,{correlationId:n.correlationId,error:e instanceof Error?e.message:String(e)}),s(new X(`Failed to hydrate step error: ${e instanceof Error?e.message:String(e)}`))}}),O.Finished;if(n.eventType===`step_completed`){e.invocationsQueue.delete(n.correlationId);let t=n.eventId,r=n.eventData.result;return e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{let n=await e.replayPayloadCache.getStepResult(t,async()=>{let n=await e.replayPayloadCache.prepareEventPayload(t,`result`,r);return await Fe(r,e.runId,e.encryptionKey,e.globalThis,{},n)});a(n)}catch(e){s(e)}finally{e.pendingDeliveries--}}),O.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Z(`Replay divergence: Unexpected event type for step ${c} (name: ${t}) "${n.eventType}"`,{eventId:n.eventId}))}),O.Finished}),i},i=t.split(`//`).pop();return Object.defineProperty(r,"name",{value:i}),Object.defineProperty(r,"stepId",{value:t,writable:!1,enumerable:!1,configurable:!1}),n&&Object.defineProperty(r,"__closureVarsFn",{value:n,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(r,"bind",{value:function(e,...r){let i=Function.prototype.bind.call(this,e,...r);return Object.defineProperty(i,"stepId",{value:t,writable:!1,enumerable:!1,configurable:!1}),n&&Object.defineProperty(i,"__closureVarsFn",{value:n,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(i,"__boundThis",{value:e,writable:!1,enumerable:!1,configurable:!1}),r.length>0&&Object.defineProperty(i,"__boundArgs",{value:r,writable:!1,enumerable:!1,configurable:!1}),i},writable:!1,enumerable:!1,configurable:!1}),r}}var Wi=r(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=o();t.next=function(){var e=2091639*t.s0+t.c*23283064365386963e-26;return t.s0=t.s1,t.s1=t.s2,t.s2=e-(t.c=e|0)},t.c=1,t.s0=n(` `),t.s1=n(` `),t.s2=n(` `),t.s0-=n(e),t.s0<0&&(t.s0+=1),t.s1-=n(e),t.s1<0&&(t.s1+=1),t.s2-=n(e),t.s2<0&&(t.s2+=1),n=null}function i(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function a(e,t){var n=new r(e),a=t&&t.state,o=n.next;return o.int32=function(){return n.next()*4294967296|0},o.double=function(){return o()+(o()*2097152|0)*11102230246251565e-32},o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}function o(){var e=4022871197;return function(t){t=String(t);for(var n=0;n<t.length;n++){e+=t.charCodeAt(n);var r=.02519603282416938*e;e=r>>>0,r-=e,r*=e,e=r>>>0,r-=e,e+=r*4294967296}return(e>>>0)*23283064365386963e-26}}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.alea=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),Gi=r(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(e|0)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=n.charCodeAt(r)|0,t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xor128=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),Ki=r(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^(e^e<<1))|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(e|0)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=n.charCodeAt(r)|0,r==n.length&&(t.d=t.x<<10^t.x>>>4),t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xorwow=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),qi=r(((e,t)=>{(function(e,t,n){function r(e){var t=this;t.next=function(){var e=t.x,n=t.i,r=e[n],i;return r^=r>>>7,i=r^r<<24,r=e[n+1&7],i^=r^r>>>10,r=e[n+3&7],i^=r^r>>>3,r=e[n+4&7],i^=r^r<<7,r=e[n+7&7],r^=r<<13,i^=r^r<<9,e[n]=i,t.i=n+1&7,i};function n(e,t){var n,r=[];if(t===(t|0))r[0]=t;else for(t=``+t,n=0;n<t.length;++n)r[n&7]=r[n&7]<<15^t.charCodeAt(n)+r[n+1&7]<<13;for(;r.length<8;)r.push(0);for(n=0;n<8&&r[n]===0;++n);for(n==8?r[7]=-1:r[n],e.x=r,e.i=0,n=256;n>0;--n)e.next()}n(t,e)}function i(e,t){return t.x=e.x.slice(),t.i=e.i,t}function a(e,t){e??=+new Date;var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(a.x&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xorshift7=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),Ji=r(((e,t)=>{(function(e,t,n){function r(e){var t=this;t.next=function(){var e=t.w,n=t.X,r=t.i,i,a;return t.w=e=e+1640531527|0,a=n[r+34&127],i=n[r=r+1&127],a^=a<<13,i^=i<<17,a^=a>>>15,i^=i>>>12,a=n[r]=a^i,t.i=r,a+(e^e>>>16)|0};function n(e,t){var n,r,i,a,o,s=[],c=128;for(t===(t|0)?(r=t,t=null):(t+=`\0`,r=0,c=Math.max(c,t.length)),i=0,a=-32;a<c;++a)t&&(r^=t.charCodeAt((a+32)%t.length)),a===0&&(o=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,a>=0&&(o=o+1640531527|0,n=s[a&127]^=r+o,i=n==0?i+1:0);for(i>=128&&(s[(t&&t.length||0)&127]=-1),i=127,a=512;a>0;--a)r=s[i+34&127],n=s[i=i+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,s[i]=r^n;e.w=o,e.X=s,e.i=i}n(t,e)}function i(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function a(e,t){e??=+new Date;var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(a.X&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xor4096=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),Yi=r(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.next=function(){var e=t.b,n=t.c,r=t.d,i=t.a;return e=e<<25^e>>>7^n,n=n-r|0,r=r<<24^r>>>8^i,i=i-e|0,t.b=e=e<<20^e>>>12^n,t.c=n=n-r|0,t.d=r<<16^n>>>16^i,t.a=i-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=e|0):n+=e;for(var r=0;r<n.length+20;r++)t.b^=n.charCodeAt(r)|0,t.next()}function i(e,t){return t.a=e.a,t.b=e.b,t.c=e.c,t.d=e.d,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.tychei=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),Xi=r(((t,n)=>{(function(t,r,i){var a=256,o=6,s=52,c=`random`,l=i.pow(a,o),u=i.pow(2,s),d=u*2,f=a-1,p;function m(e,t,n){var s=[];t=t==1?{entropy:!0}:t||{};var f=v(_(t.entropy?[e,b(r)]:e??y(),3),s),p=new h(s),m=function(){for(var e=p.g(o),t=l,n=0;e<u;)e=(e+n)*a,t*=a,n=p.g(1);for(;e>=d;)e/=2,t/=2,n>>>=1;return(e+n)/t};return m.int32=function(){return p.g(4)|0},m.quick=function(){return p.g(4)/4294967296},m.double=m,v(b(p.S),r),(t.pass||n||function(e,t,n,r){return r&&(r.S&&g(r,p),e.state=function(){return g(p,{})}),n?(i[c]=e,t):e})(m,f,`global`in t?t.global:this==i,t.state)}function h(e){var t,n=e.length,r=this,i=0,o=r.i=r.j=0,s=r.S=[];for(n||(e=[n++]);i<a;)s[i]=i++;for(i=0;i<a;i++)s[i]=s[o=f&o+e[i%n]+(t=s[i])],s[o]=t;(r.g=function(e){for(var t,n=0,i=r.i,o=r.j,s=r.S;e--;)t=s[i=f&i+1],n=n*a+s[f&(s[i]=s[o=f&o+t])+(s[o]=t)];return r.i=i,r.j=o,n})(a)}function g(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function _(e,t){var n=[],r=typeof e,i;if(t&&r==`object`)for(i in e)try{n.push(_(e[i],t-1))}catch{}return n.length?n:r==`string`?e:e+`\0`}function v(e,t){for(var n=e+``,r,i=0;i<n.length;)t[f&i]=f&(r^=t[f&i]*19)+n.charCodeAt(i++);return b(t)}function y(){try{var e;return p&&(e=p.randomBytes)?e=e(a):(e=new Uint8Array(a),(t.crypto||t.msCrypto).getRandomValues(e)),b(e)}catch{var n=t.navigator,i=n&&n.plugins;return[+new Date,t,i,t.screen,b(r)]}}function b(e){return String.fromCharCode.apply(0,e)}if(v(i.random(),r),typeof n==`object`&&n.exports){n.exports=m;try{p=e(`crypto`)}catch{}}else typeof define==`function`&&define.amd?define(function(){return m}):i[`seed`+c]=m})(typeof self<`u`?self:t,[],Math)})),Zi=t(r(((e,t)=>{var n=Wi(),r=Gi(),i=Ki(),a=qi(),o=Ji(),s=Yi(),c=Xi();c.alea=n,c.xor128=r,c.xorwow=i,c.xorshift7=a,c.xor4096=o,c.tychei=s,t.exports=c}))(),1);const Qi=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,$i=new Uint8Array(128).fill(255);for(let e=0;e<64;e++)$i[Qi.charCodeAt(e)]=e;function ea(e){return e===9||e===10||e===12||e===13||e===32}function ta(e,t){for(;t<e.length&&ea(e.charCodeAt(t));)t++;return t}function na(e,t){let n=e.length,r=e;n===2?r=e+`AA`:n===3&&(r=e+`A`);let i=$i[r.charCodeAt(0)],a=$i[r.charCodeAt(1)],o=$i[r.charCodeAt(2)],s=$i[r.charCodeAt(3)],c=i<<2|a>>4,l=(a&15)<<4|o>>2,u=(o&3)<<6|s;if(n===2){if(t&&l!==0)throw SyntaxError(`Extra bits in base64 chunk`);return[c]}if(n===3){if(t&&u!==0)throw SyntaxError(`Extra bits in base64 chunk`);return[c,l]}return[c,l,u]}function ra(e,t,n,r){if(r===void 0&&(r=2**53-1),r===0)return{read:0,bytes:[],error:null};let i=0,a=[],o=``,s=0,c=0,l=e.length;for(;;){if(c=ta(e,c),c===l){if(s>0){if(n===`stop-before-partial`)return{read:i,bytes:a,error:null};if(n===`loose`){if(s===1)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: lone character in final chunk`)};a.push(...na(o,!1))}else return{read:i,bytes:a,error:SyntaxError(`Invalid base64: incomplete chunk in strict mode`)}}return{read:l,bytes:a,error:null}}let u=e[c];if(c++,u===`=`){if(s<2)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: padding in unexpected place`)};if(c=ta(e,c),s===2){if(c===l)return n===`stop-before-partial`?{read:i,bytes:a,error:null}:{read:i,bytes:a,error:SyntaxError(`Invalid base64: missing second padding character`)};u=e[c],u===`=`&&(c=ta(e,c+1))}if(c<l)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: unexpected characters after padding`)};let t=n===`strict`;try{a.push(...na(o,t))}catch(e){return{read:i,bytes:a,error:e}}return{read:l,bytes:a,error:null}}if(t===`base64url`){if(u===`+`||u===`/`)return{read:i,bytes:a,error:SyntaxError(`Invalid base64url: unexpected character '${u}'`)};u===`-`?u=`+`:u===`_`&&(u=`/`)}let d=u.charCodeAt(0);if(d>=128||$i[d]===255)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: unexpected character '${e[c-1]}'`)};let f=r-a.length;if(f===1&&s===2||f===2&&s===3||(o+=u,s=o.length,s===4&&(a.push(...na(o)),o=``,s=0,i=c,a.length===r)))return{read:i,bytes:a,error:null}}}function ia(e,t){t===void 0&&(t=2**53-1);let n=e.length,r=[],i=0;if(n%2!=0)return{read:0,bytes:[],error:SyntaxError(`Invalid hex: string length must be even`)};for(;i<n&&r.length<t;){let t=e.substring(i,i+2);if(!/^[0-9a-fA-F]{2}$/.test(t))return{read:i,bytes:r,error:SyntaxError(`Invalid hex: unexpected character at position ${i}`)};i+=2,r.push(Number.parseInt(t,16))}return{read:i,bytes:r,error:null}}function aa(e,t){let n=t?.alphabet??`base64`;if(n!==`base64`&&n!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${n}"`);let r=!!t?.omitPadding,i=``,a=e.length;for(let t=0;t<a;t+=3){let n=e[t],o=t+1<a?e[t+1]:0,s=t+2<a?e[t+2]:0;i+=Qi[n>>2&63],i+=Qi[(n&3)<<4|o>>4&15],t+1<a?i+=Qi[(o&15)<<2|s>>6&3]:r||(i+=`=`),t+2<a?i+=Qi[s&63]:r||(i+=`=`)}return n===`base64url`&&(i=i.replace(/\+/g,`-`).replace(/\//g,`_`)),i}function oa(e){let t=``;for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,`0`);return t}function sa(e){let t=e.prototype,n=e;t.toBase64||Object.defineProperty(t,"toBase64",{value:function(t){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);return aa(this,t)},writable:!0,enumerable:!1,configurable:!0}),t.toHex||Object.defineProperty(t,"toHex",{value:function(){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);return oa(this)},writable:!0,enumerable:!1,configurable:!0}),t.setFromBase64||Object.defineProperty(t,"setFromBase64",{value:function(t,n){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);if(typeof t!=`string`)throw TypeError(`expected a string`);let r=n?.alphabet??`base64`;if(r!==`base64`&&r!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${r}"`);let i=n?.lastChunkHandling??`loose`;if(i!==`loose`&&i!==`strict`&&i!==`stop-before-partial`)throw TypeError(`Invalid lastChunkHandling: expected "loose", "strict", or "stop-before-partial", got "${i}"`);let a=ra(t,r,i,this.length),o=a.bytes,s=o.length;for(let e=0;e<s;e++)this[e]=o[e];if(a.error)throw a.error;return{read:a.read,written:s}},writable:!0,enumerable:!1,configurable:!0}),t.setFromHex||Object.defineProperty(t,"setFromHex",{value:function(t){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);if(typeof t!=`string`)throw TypeError(`expected a string`);let n=ia(t,this.length),r=n.bytes,i=r.length;for(let e=0;e<i;e++)this[e]=r[e];if(n.error)throw n.error;return{read:n.read,written:i}},writable:!0,enumerable:!1,configurable:!0}),n.fromBase64||Object.defineProperty(e,"fromBase64",{value:function(t,n){if(typeof t!=`string`)throw TypeError(`expected a string`);let r=n?.alphabet??`base64`;if(r!==`base64`&&r!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${r}"`);let i=n?.lastChunkHandling??`loose`;if(i!==`loose`&&i!==`strict`&&i!==`stop-before-partial`)throw TypeError(`Invalid lastChunkHandling: expected "loose", "strict", or "stop-before-partial", got "${i}"`);let a=ra(t,r,i);if(a.error)throw a.error;return new e(a.bytes)},writable:!0,enumerable:!1,configurable:!0}),n.fromHex||Object.defineProperty(e,"fromHex",{value:function(t){if(typeof t!=`string`)throw TypeError(`expected a string`);let n=ia(t);if(n.error)throw n.error;return new e(n.bytes)},writable:!0,enumerable:!1,configurable:!0})}function ca(e){return function(){let t=`0123456789abcdef`,n=``;for(let r=0;r<36;r++)r===8||r===13||r===18||r===23?n+=`-`:r===14?n+=`4`:r===19?n+=t[Math.floor(e()*4)+8]:n+=t[Math.floor(e()*16)];return n}}function la(e){let{fixedTimestamp:t}=e,{seed:n}=e,r=(0,Zi.default)(n),i=Sn(),a=Cn(`globalThis`,i);a.Math.random=r;let o=a.Date;a.Date=function(...e){return e.length===0?new o(t):new o(...e)},a.Date.prototype=o.prototype,Object.setPrototypeOf(a.Date,o),a.Date.now=()=>t;let s=globalThis.crypto,c=s.subtle;function l(e){for(let t=0;t<e.length;t++)e[t]=Math.floor(r()*256);return e}let u=ca(r),d=c.digest.bind(c);return a.crypto=new Proxy(s,{get(e,t){return t===`getRandomValues`?l:t===`randomUUID`?u:t===`subtle`?new Proxy(c,{get(e,t){return t===`generateKey`?()=>{throw new q("`crypto.subtle.generateKey()` is not available inside a workflow function. Move key generation to a step function where full Node.js crypto is available.")}:t===`digest`?d:e[t]}}):e[t]}}),a.process={env:Object.freeze({...process.env})},a.DOMException=globalThis.DOMException,a.Headers=globalThis.Headers,a.TextEncoder=globalThis.TextEncoder,a.TextDecoder=globalThis.TextDecoder,a.console=globalThis.console,a.URL=globalThis.URL,a.URLSearchParams=globalThis.URLSearchParams,a.structuredClone=globalThis.structuredClone,a.atob=globalThis.atob,a.btoa=globalThis.btoa,sa(a.Uint8Array),a.Symbol.dispose??=Symbol.for(`Symbol.dispose`),a.Symbol.asyncDispose??=Symbol.for(`Symbol.asyncDispose`),a.exports={},a.module={exports:a.exports},{context:i,globalThis:a,updateTimestamp:e=>{t=e}}}const ua=new Map;function da(e){let t=ua.get(e);if(t!==void 0)return ua.delete(e),ua.set(e,t),t}function fa(e,t){let n=da(e);if(n===void 0)for(n=new Map,ua.set(e,n);ua.size>8;){let e=ua.keys().next().value;if(e===void 0)break;ua.delete(e)}let r=n.get(t);return r===void 0&&(r=new xn(e,{filename:t}),n.set(t,r)),r}function pa(e,t,n){return fa(e,t).runInContext(n)}function ma(e){return async function(t,n={}){let{promise:r,resolve:i}=wt(),a=`attr_${e.generateUlid()}`,o={type:`attribute`,correlationId:a,changes:t,...n.allowReservedAttributes===!0?{allowReservedAttributes:!0}:{}};return e.invocationsQueue.set(a,o),e.eventsConsumer.subscribe(r=>r?r.correlationId===a?r.eventType!==`attr_set`||r.eventData.writer.type!==`workflow`||JSON.stringify(r.eventData.changes)!==JSON.stringify(t)||r.eventData.allowReservedAttributes===!0!=(n.allowReservedAttributes===!0)?(e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Z(`Replay divergence: Unexpected attribute event for ${a}`,{eventId:r.eventId}))}),O.Finished):(e.invocationsQueue.delete(a),e.promiseQueue=e.promiseQueue.then(()=>{i()}),O.Finished):O.NotConsumed:(xt(e,()=>{e.onWorkflowError(new K(e.invocationsQueue,e.globalThis))}),O.NotConsumed)),r}}function ha(e,t){if(typeof t!=`string`)return null;let n=We(Oe,e.globalThis),r=n?.[je];return typeof r==`function`?r.call(n,{runId:t}):null}function ga(e){return function(t={}){if(t.token===``)throw Error("`createHook()` was called with an empty string token. Pass a non-empty token, or omit the `token` option to use a randomly generated one.");if(t.isWebhook===!0&&t.experimental_minRetention!==void 0)throw Error("Webhook hooks do not support `experimental_minRetention`. Use a non-webhook `createHook()` with `resumeHook()`.");if(t.experimental_minRetention!==void 0&&e.worldCapabilities?.hookRetention?.active!==!0)throw new X("The configured World does not support `experimental_minRetention` for Hooks.");let n=`hook_${e.generateUlid()}`,r=t.token??e.generateNanoid(),i=t.experimental_minRetention===void 0?void 0:Et(t.experimental_minRetention),a=t.isWebhook??!1;e.invocationsQueue.set(n,{type:`hook`,correlationId:n,token:r,tokenRetentionUntil:i,metadata:t.metadata,isWebhook:a});let o=[],s=[],c=[],l=!1,u=!1,d=!1,f=!1,p=null,m=null;v.debug(`Hook consumer setup`,{correlationId:n,token:r}),e.eventsConsumer.subscribe(t=>{if(!t)return l=!0,(s.length>0&&o.length===0||c.length>0&&!u&&!f)&&xt(e,()=>{e.onWorkflowError(new K(e.invocationsQueue,e.globalThis))}),O.NotConsumed;if(t.correlationId!==n)return O.NotConsumed;let i=`eventData`in t&&t.eventData&&`token`in t.eventData?t.eventData.token:void 0;if(typeof i==`string`&&i!==r)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Z(`Replay divergence: hook event ${t.eventType} for ${n} belongs to token "${i}", but the current hook consumer expects "${r}"`,{eventId:t.eventId}))}),O.Finished;if(t.eventType===`hook_created`){let r=e.invocationsQueue.get(n);r&&r.type===`hook`&&(r.hasCreatedEvent=!0,r.tokenRetentionUntil=t.eventData.tokenRetentionUntil),u=!0;let i=c.slice();return c.length=0,e.promiseQueue=e.promiseQueue.then(()=>{for(let e of i)e.resolve(null)}),O.Consumed}if(t.eventType===`hook_conflict`){e.invocationsQueue.delete(n);let r=t,i=new jt(r.eventData.token,r.eventData.conflictingRunId);f=!0,p=i,m=ha(e,r.eventData.conflictingRunId);let a=s.slice();s.length=0;let o=c.slice();return c.length=0,e.promiseQueue=e.promiseQueue.then(()=>{for(let e of a)e.reject(i);for(let e of o)m?e.resolve(m):e.reject(i)}),O.Consumed}if(t.eventType===`hook_received`){let n=e.eventsConsumer.eventIndex,r=Ct(e,n,`hook`);if(s.length>0){let i=s.shift();if(i){e.pendingDeliveries++;let a;e.promiseQueue=e.promiseQueue.then(async()=>{try{let n=await e.replayPayloadCache.prepareEventPayload(t.eventId,`payload`,t.eventData.payload);a={ok:!0,value:await Fe(t.eventData.payload,e.runId,e.encryptionKey,e.globalThis,{},n)}}catch(e){a={ok:!1,error:e}}finally{e.pendingDeliveries--}Tt(e,n,[`wait`]).then(()=>{r.markDelivered(),a.ok?i.resolve(a.value):i.reject(a.error)})})}}else{let i,a=wt();e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{let n=await e.replayPayloadCache.prepareEventPayload(t.eventId,`payload`,t.eventData.payload);i={ok:!0,value:await Fe(t.eventData.payload,e.runId,e.encryptionKey,e.globalThis,{},n)}}catch(e){i={ok:!1,error:e}}finally{e.pendingDeliveries--,a.resolve()}}),o.push({claim:()=>a.promise.then(()=>Tt(e,n,[`wait`])).then(()=>{if(r.markDelivered(),i&&!i.ok)throw i.error;return i.value})})}return O.Consumed}return t.eventType===`hook_disposed`?(e.invocationsQueue.delete(n),d=!0,O.Finished):(e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Z(`Replay divergence: Unexpected event type for hook ${n} (token: ${r}) "${t.eventType}"`,{eventId:t.eventId}))}),O.Finished)});let h=!1;function g(){let t=wt();if(f&&p)return e.promiseQueue=e.promiseQueue.then(()=>{t.reject(p)}),t.promise;if(o.length>0){let e=o.shift();if(e)return e.claim()}return l&&xt(e,()=>{e.onWorkflowError(new K(e.invocationsQueue,e.globalThis))}),s.push(t),t.promise}function _(){let t=wt();if(u)return e.promiseQueue=e.promiseQueue.then(()=>{t.resolve(null)}),t.promise;if(f)return e.promiseQueue=e.promiseQueue.then(()=>{m?t.resolve(m):t.reject(p)}),t.promise;let r=e.invocationsQueue.get(n);return r&&r.type===`hook`&&(r.hasConflictAwaiter=!0),l&&xt(e,()=>{e.onWorkflowError(new K(e.invocationsQueue,e.globalThis))}),c.push(t),t.promise}function y(){if(h||(h=!0,d))return;let t=e.invocationsQueue.get(n);t&&t.type===`hook`&&(t.disposed=!0),s.length>0&&(s.length=0,xt(e,()=>{e.onWorkflowError(new K(e.invocationsQueue,e.globalThis))})),v.debug(`Hook disposed`,{correlationId:n,token:r})}let b={token:r,getConflict(){return _()},then(e,t){return g().then(e,t)},async*[Symbol.asyncIterator](){for(;!h;)yield await this},dispose:y,[Symbol.dispose]:y},x=e.globalThis.Symbol.dispose;return x&&x!==Symbol.dispose&&(b[x]=y),b}}function _a(e){return async function(t){let{promise:n,resolve:r}=wt(),i=`wait_${e.generateUlid()}`,a=Et(t),o={type:`wait`,correlationId:i,resumeAt:a};return e.invocationsQueue.set(i,o),e.eventsConsumer.subscribe(t=>{if(!t)return xt(e,()=>{e.onWorkflowError(new K(e.invocationsQueue,e.globalThis))}),O.NotConsumed;if(t.correlationId!==i)return O.NotConsumed;if(t.eventType===`wait_created`){let n=e.invocationsQueue.get(i);return n&&n.type===`wait`&&(n.hasCreatedEvent=!0,n.resumeAt=t.eventData.resumeAt),O.Consumed}if(t.eventType===`wait_completed`){let n=t.eventData?.resumeAt;if(n!==void 0){let r=e.invocationsQueue.get(i),o=r&&r.type===`wait`?r.resumeAt:a,s=new Date(n),c=s.getTime(),l=o.getTime(),u=Number.isFinite(c)?s.toISOString():String(n);if(c!==l)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Z(`Replay divergence: wait_completed event for ${i} has resumeAt "${u}", but the current wait consumer expects "${o.toISOString()}"`,{eventId:t.eventId}))}),O.Finished}e.invocationsQueue.delete(i);let o=e.eventsConsumer.eventIndex,s=Ct(e,o,`wait`);return e.promiseQueue.then(()=>Tt(e,o,[`hook`])).then(()=>{s.markDelivered(),r()}),O.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Z(`Replay divergence: Unexpected event type for wait ${i} "${t.eventType}"`,{eventId:t.eventId}))}),O.Finished}),n}}async function va(e,t,n,r,i,a){if(t.size!==0){for(let e of t.values())e.type===`hook`&&e.isSystem&&!e.disposed&&!e.abortRequested&&(e.disposed=!0);try{let e=await ir();await Nr({suspension:new K(t,n),world:e,run:r,runReadyBarrier:a})}catch(t){B.warn(`Failed to drain pending queue items for ${i} workflow run`,{workflowRunId:e,message:t instanceof Error?t.message:String(t)})}}}async function ya(e,t,n,r,a=new kn(r),o,c){return i(`workflow.run ${t.workflowName}`,async i=>{i?.setAttributes({...D(t.workflowName),...at(t.runId),...Ke(t.status),...de(n.length)});let l=t.startedAt;if(!l)throw new q(`Workflow run "${t.runId}" has no "startedAt" timestamp (should not happen)`);let u=lr(t.runId)??+t.createdAt,d=Ot(process.env.VERCEL_URL===void 0?`http://localhost:${await br()??3e3}`:`https://${process.env.VERCEL_URL}`),{context:p,globalThis:m,updateTimestamp:h}=la({seed:`${t.runId}:${t.workflowName}:${t.deploymentId}`,fixedTimestamp:u}),_=wt(),v=Qt(()=>m.Math.random()),y=Hi(`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`,21,e=>new Uint8Array(e).map(()=>256*m.Math.random())),b={current:Promise.resolve()},x=new ie(n,{onConsumedEvent:e=>{h(+e.createdAt)},onUnconsumedEvent:e=>{_.reject(new Z(`Replay could not consume event: eventType=${e.eventType}, correlationId=${e.correlationId}, eventId=${e.eventId}.`,{eventId:e.eventId}))},getPromiseQueue:()=>b.current}),C={runId:t.runId,encryptionKey:r,worldCapabilities:c,globalThis:m,onWorkflowError:_.reject,eventsConsumer:x,generateUlid:()=>v(u),generateNanoid:y,invocationsQueue:new Map,get promiseQueue(){return b.current},set promiseQueue(e){b.current=e},pendingDeliveries:0,pendingDeliveryBarriers:new Map,replayPayloadCache:a};C.eventsConsumer.subscribe(e=>e&&(e.eventType===`run_created`||e.eventType===`run_started`||e.eventType===`attr_set`&&e.eventData.writer.type===`step`)?O.Consumed:O.NotConsumed);let w=Ui(C),T=ga(C),E=_a(C),k=ma(C);m[j]=w,m[s]=k,m[ee]=T,m[Ie]=E,m[ze]=e=>ce(t.runId,e),m[Wt]={workflowName:t.workflowName,workflowRunId:t.runId,workflowStartedAt:new m.Date(+l),url:d,features:{encryption:!!r}},m[f]=v,m.fetch=()=>{throw new m.Error(`Global "fetch" is unavailable in workflow functions. Use the "fetch" step function from "workflow" to make HTTP requests.\n\nLearn more: https://workflow-sdk.dev/err/${Ft.FETCH_IN_WORKFLOW_FUNCTION}`)};let M=`Timeout functions like "setTimeout" and "setInterval" are not supported in workflow functions. Use the "sleep" function from "workflow" for time-based delays.`;m.setTimeout=()=>{throw new q(M,{slug:Ft.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.setInterval=()=>{throw new q(M,{slug:Ft.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.clearTimeout=()=>{throw new q(M,{slug:Ft.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.clearInterval=()=>{throw new q(M,{slug:Ft.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.setImmediate=()=>{throw new q(M,{slug:Ft.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.clearImmediate=()=>{throw new q(M,{slug:Ft.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.AbortController=S(C);let N=g();m.AbortSignal={abort:N.abort,any:N.any,timeout:N.timeout};class P{cache;credentials;destination;headers;integrity;method;mode;redirect;referrer;referrerPolicy;url;keepalive;signal;duplex;body;constructor(e,t){if(typeof e==`string`||e instanceof m.URL){let t=String(e);try{new m.URL(t),this.url=t}catch(e){throw TypeError(`Failed to parse URL from ${t}`,{cause:e})}}else{if(this.url=e.url,!t){this.method=e.method,this.headers=new m.Headers(e.headers),this.body=e.body,this.mode=e.mode,this.credentials=e.credentials,this.cache=e.cache,this.redirect=e.redirect,this.referrer=e.referrer,this.referrerPolicy=e.referrerPolicy,this.integrity=e.integrity,this.keepalive=e.keepalive,this.signal=e.signal,this.duplex=e.duplex,this.destination=e.destination;return}this.method=e.method,this.headers=new m.Headers(e.headers),this.body=e.body,this.mode=e.mode,this.credentials=e.credentials,this.cache=e.cache,this.redirect=e.redirect,this.referrer=e.referrer,this.referrerPolicy=e.referrerPolicy,this.integrity=e.integrity,this.keepalive=e.keepalive,this.signal=e.signal,this.duplex=e.duplex,this.destination=e.destination}t?.method?this.method=t.method.toUpperCase():typeof this.method!=`string`&&(this.method=`GET`),t?.headers?this.headers=new m.Headers(t.headers):(typeof e==`string`||e instanceof m.URL)&&(this.headers=new m.Headers),t?.mode===void 0?typeof this.mode!=`string`&&(this.mode=`cors`):this.mode=t.mode,t?.credentials===void 0?typeof this.credentials!=`string`&&(this.credentials=`same-origin`):this.credentials=t.credentials,t?.cache===void 0?typeof this.cache!=`string`&&(this.cache=`default`):this.cache=t.cache,t?.redirect===void 0?typeof this.redirect!=`string`&&(this.redirect=`follow`):this.redirect=t.redirect,t?.referrer===void 0?typeof this.referrer!=`string`&&(this.referrer=`about:client`):this.referrer=t.referrer,t?.referrerPolicy===void 0?typeof this.referrerPolicy!=`string`&&(this.referrerPolicy=``):this.referrerPolicy=t.referrerPolicy,t?.integrity===void 0?typeof this.integrity!=`string`&&(this.integrity=``):this.integrity=t.integrity,t?.keepalive===void 0?typeof this.keepalive!=`boolean`&&(this.keepalive=!1):this.keepalive=t.keepalive,t?.signal===void 0?this.signal||={aborted:!1}:this.signal=t.signal,this.duplex||=`half`,this.destination||=`document`;let n=t?.body;if(n!=null&&(this.method===`GET`||this.method===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body.`);n==null?this.body=null:this.body=Object.create(m.ReadableStream.prototype,{[R]:{value:n,writable:!1}})}clone(){G()}get bodyUsed(){return!1}blob;formData;arrayBuffer;json;text;async bytes(){return new Uint8Array(await this.arrayBuffer())}}m.Request=P,Object.defineProperties(P.prototype,{arrayBuffer:{value:w(`__builtin_response_array_buffer`),writable:!0,configurable:!0},json:{value:w(`__builtin_response_json`),writable:!0,configurable:!0},text:{value:w(`__builtin_response_text`),writable:!0,configurable:!0}});class te{type;url;status;statusText;body;headers;redirected;constructor(e,t){if(this.status=t?.status??200,this.statusText=t?.statusText??``,this.headers=new m.Headers(t?.headers),this.type=`default`,this.url=``,this.redirected=!1,e!=null&&(this.status===204||this.status===205||this.status===304))throw TypeError(`Response constructor: Invalid response status code ${this.status}`);e==null?this.body=null:this.body=Object.create(m.ReadableStream.prototype,{[R]:{value:e,writable:!1}})}clone;blob;formData;get ok(){return this.status>=200&&this.status<300}get bodyUsed(){return!1}arrayBuffer;json;text;async bytes(){return new Uint8Array(await this.arrayBuffer())}static json(e,t){let n=JSON.stringify(e),r=new m.Headers(t?.headers);return r.has(`content-type`)||r.set(`content-type`,`application/json`),new te(n,{...t,headers:r})}static error(){G()}static redirect(e,t=302){if(![301,302,303,307,308].includes(t))throw RangeError(`Invalid redirect status code: ${t}. Must be one of: 301, 302, 303, 307, 308`);let n=new m.Headers;n.set(`Location`,String(e));let r=Object.create(te.prototype);return r.status=t,r.statusText=``,r.headers=n,r.body=null,r.type=`default`,r.url=``,r.redirected=!1,r}}m.Response=te,Object.defineProperties(te.prototype,{arrayBuffer:{value:w(`__builtin_response_array_buffer`),writable:!0,configurable:!0},json:{value:w(`__builtin_response_json`),writable:!0,configurable:!0},text:{value:w(`__builtin_response_text`),writable:!0,configurable:!0}});class F{constructor(){G()}get locked(){return!1}cancel(){G()}getReader(){G()}pipeThrough(){G()}pipeTo(){G()}tee(){G()}values(){G()}static from(){G()}[Symbol.asyncIterator](){G()}}m.ReadableStream=F;class ne{constructor(){G()}get locked(){return!1}abort(){G()}close(){G()}getWriter(){G()}}m.WritableStream=ne;class re{readable;writable;constructor(){G()}}m.TransformStream=re,m.console=globalThis.console;let I=Symbol.for(`@vercel/request-context`);m[I]=globalThis[I];let L=yt(t.workflowName)?.moduleSpecifier||t.workflowName;pa(e,L,p);let ae=pa(`globalThis.__private_workflows?.get(${JSON.stringify(t.workflowName)})`,L,p);if(typeof ae!=`function`)throw new Bt(t.workflowName);let z=[];C.promiseQueue=C.promiseQueue.then(async()=>{let e=await a.prepareWorkflowInput(t);z=await A(t.input,t.runId,r,m,{},e)}),await C.promiseQueue,i?.setAttributes({...bt(z.length)});try{let e=await Promise.race([ae(...z),_.promise]),n=await ft(e,t.runId,r,m,!1,(t.specVersion??0)>=5);return i?.setAttributes({...he(typeof e)}),await va(t.runId,C.invocationsQueue,m,t,`completed`,o),n}catch(e){throw K.is(e)||Z.is(e)||await va(t.runId,C.invocationsQueue,m,t,`failed`,o),e}})}function ba(e){let t=Vn();return t===void 0?e:e===void 0?t:Math.min(e,t)}function xa(e){return q.is(e)?J.RUNTIME_ERROR:cn(e)?J.WORLD_CONTRACT_ERROR:null}async function Sa({world:e,workflowRun:t,runId:n,requestId:r,err:i,errorCode:a,logMessage:o}){B.error(o,{workflowRunId:n,errorCode:a,error:i instanceof Error?i.message:String(i)});try{let o=Ve(e,t??n);await e.events.create(n,{eventType:`run_failed`,specVersion:5,eventData:{error:await gt(i,n,await o(),globalThis,(t?.specVersion??0)>=5),errorCode:a}},{requestId:r})}catch(e){if(Q.is(e)||Y.is(e))return;if(cn(e)){B.error(`Fatal world contract error while recording workflow failure`,{workflowRunId:n,errorCode:J.WORLD_CONTRACT_ERROR,error:e instanceof Error?e.message:String(e)});return}throw e}}function Ca(e,t){let n=e.find(e=>e.runId===t&&(e.eventType===`run_completed`||e.eventType===`run_failed`||e.eventType===`run_cancelled`));return n?(B.debug(`Run reached terminal event, exiting`,{workflowRunId:t,eventType:n.eventType,eventId:n.eventId}),!0):!1}function wa(e,t){if(!e)return 0;let n=0;for(let r of e)r.eventType===`step_started`&&r.correlationId===t&&n++;return n}function Ta(e,t){return e?.[Kt]??t}function Ea(e){let t=new Set,n=new Set;for(let r of e)r.eventType===`hook_disposed`?t.add(r.correlationId):r.eventType===`wait_completed`&&n.add(r.correlationId);let r=!1,i=!1;for(let a of e)if(a.eventType===`hook_created`&&!t.has(a.correlationId)?r=!0:a.eventType===`wait_created`&&!n.has(a.correlationId)&&(i=!0),r&&i)break;return{openHook:r,openWait:i}}function Da(e,t){Dt(t?.basePath);let n=Number(process.env.WORKFLOW_V2_TIMEOUT_MS)||12e4,r=Jt(t?.namespace),o=Xt(`workflow`,r),s=t=>t.createQueueHandler(o,async(a,s)=>{let c=st(a);if(c){await ve(c,`workflow`,t.specVersion);return}let{runId:l,traceCarrier:u,requestedAt:f,stepId:p,stepName:m,replayDivergence:h,runInput:g}=Zt.parse(a),_=fe(u)?u:void 0,{requestId:v}=s,y=s.queueName.slice(o.length),b=B.forRun(l,y),S=An();if(s.attempt>S){let e=En(void 0,J.MAX_DELIVERIES_EXCEEDED);b.error(`Workflow handler exceeded max deliveries (${s.attempt}/${S})`,{attempt:s.attempt,errorCode:e.errorCode,errorAttribution:e.attribution});try{let e=await ir(),t=Ve(e,l),n=new X(`Workflow exceeded maximum queue deliveries (${s.attempt}/${S})`);await e.events.create(l,{eventType:`run_failed`,specVersion:5,eventData:{error:await gt(n,l,await t()),errorCode:J.MAX_DELIVERIES_EXCEEDED}},{requestId:v})}catch(e){if(Q.is(e)||Y.is(e))return;b.error(`Failed to mark run as failed after ${s.attempt} delivery attempts. A persistent error is preventing the run from being terminated. The run will remain in its current state until manually resolved. This is most likely due to a persistent outage of the workflow backend or a bug in the workflow runtime and should be reported to the Workflow team.`,{attempt:s.attempt,errorName:e instanceof Error?e.name:`UnknownError`,errorMessage:e instanceof Error?e.message:String(e),errorStack:e instanceof Error?e.stack:void 0})}return}let C=me(),O=()=>Ze(C,_),k=await E(C,_),A=new sr,j=C===`continuous`?_:void 0,M=await w(`CONSUMER`);return await Ee(j,async()=>await ot({workflowRunId:l,workflowName:y},async()=>{let t=await i(`workflow.route.get_world`,async()=>ir());return i(`workflow.execute ${le(y)}`,{kind:M,links:k},async i=>{i?.setAttributes({...D(y),...Qe(`execute_v2`),...Me(`vercel-queue`),...ke(s.queueName),...Xe(s.messageId),...Ge(`process`),...$e({requestedAt:f}),...at(l),...Je(!!_),...ye(C)});let a=Date.now(),o=0,c=null,u=null,S=null,w,E,k=-1,j,M,N,P,ee=0,te,F=Wn()&&g!==void 0&&s.attempt===1&&p===void 0&&!h;i?.setAttributes(rt(F));let ne,re=async()=>{if(ne)try{await ne}catch{}},ie=new Set,I=e=>{ie.size>0&&B.error(`Invariant violation: acking the workflow message while owned inline steps are still executing — crash recovery for these steps is broken`,{workflowRunId:l,ackPath:e,stepIds:[...ie]})},L=async e=>{if(I(`reinvoke`),!F)return{timeoutSeconds:e};await U(t,W(y,r),{runId:l,traceCarrier:await O(),requestedAt:new Date},e>0?{delaySeconds:e}:void 0)};if(p&&m)try{let e=await t.runs.get(l,{resolveData:`none`});if(e.status!==`running`){B.debug(`Run already finished, skipping background step`,{workflowRunId:l,status:e.status});return}let n=e.startedAt?+e.startedAt:Date.now(),i=s.attempt,a=St(m)?.maxRetries??3;if(s.attempt>a+1){let e=await H(l);c=e.events,u=e.cursor,i=wa(c,p)+1}A.pause();let o;try{o=await jr(l,p,()=>Tr({world:t,workflowRunId:l,workflowDeploymentId:e.deploymentId,workflowName:y,workflowStartedAt:n,rootRunId:Ta(e.attributes,l),stepId:p,stepName:m,runSpecVersion:e.specVersion,authoritativeAttempt:i}))}finally{A.resume()}if(o.type===`retry`||o.type===`throttled`)return{timeoutSeconds:o.timeoutSeconds};if(o.type===`completed`&&o.hasPendingOps){await U(t,W(y,r),{runId:l,traceCarrier:await O(),requestedAt:new Date});return}if(o.type===`completed`||o.type===`failed`||o.type===`skipped`){let r=await H(l);c=r.events,u=r.cursor;let i=new Set,a=new Set;for(let e of c)e.eventType===`step_created`?i.add(e.correlationId):(e.eventType===`step_completed`||e.eventType===`step_failed`)&&a.add(e.correlationId);let o=new Set;for(let e of i)a.has(e)||o.add(e);if(o.size>0)if(Gn()&&kr(c,o,s.messageId))B.debug(`Background step done; falling through to recover an inline step owned by this message`,{workflowRunId:l});else{B.debug(`Background step done but other steps pending, returning`,{workflowRunId:l});return}B.debug(`All parallel steps done, replaying inline after background step`,{workflowRunId:l});let d=c.find(e=>e.eventType===`run_created`),f;if(d)f=d.eventData.input;else{if(!en(e.specVersion))throw new q(`Workflow run "${l}" has no "run_created" event`);let n=await t.runs.get(l,{resolveData:`all`});if(n.status!==`running`)return;f=n.input}w={...e,input:f,status:`running`,output:void 0,error:void 0,completedAt:void 0},k=n}else return}catch(e){let n=xa(e);if(!n)throw e;await Sa({world:t,workflowRun:w,runId:l,requestId:v,err:e,errorCode:n,logMessage:`Fatal error while preparing background workflow step`});return}if(!w){let e={eventType:`run_started`,specVersion:g?.specVersion??5,...g?{eventData:{input:g.input,deploymentId:g.deploymentId,workflowName:g.workflowName,executionContext:g.executionContext,attributes:g.attributes,allowReservedAttributes:g.allowReservedAttributes}}:{}},n=e=>{i?.addEvent(`workflow.run_started.create.start`,{"workflow.run_started.skip_preload":e})};if(F&&g){n(!0);let r=t.events.create(l,e,{requestId:v,skipPreload:!0});ne=r,r.then(e=>{let t=ba(e?.maxEvents);t!==void 0&&(E=t)},()=>{}),r.catch(()=>{}),j=[];let a=new Date;w={runId:l,status:`running`,deploymentId:g.deploymentId,workflowName:g.workflowName,specVersion:g.specVersion,executionContext:g.executionContext,input:g.input,attributes:g.attributes??{},startedAt:a,createdAt:a,updatedAt:a},k=+a,P=+a,i?.setAttributes({...Ke(`running`),...et(k)})}else{try{n(!1);let r=await t.events.create(l,e,{requestId:v});if(!r.run)throw new q(`Event creation for 'run_started' did not return the run entity for run "${l}"`);if(w=r.run,E=ba(r.maxEvents),P=Date.now(),r.events&&r.events.length>0&&r.hasMore!==!0&&(j=r.events,M=r.cursor),!w.startedAt)throw new q(`Workflow run "${l}" has no "startedAt" timestamp`)}catch(e){if(Q.is(e)||Y.is(e)){B.info(`Run already finished during setup, skipping`,{workflowRunId:l,message:e.message});return}else{let n=xa(e);if(!n)throw e;await Sa({world:t,workflowRun:w,runId:l,requestId:v,err:e,errorCode:n,logMessage:`Fatal runtime error during workflow setup`});return}}if(k=+w.startedAt,i?.setAttributes({...Ke(w.status),...et(k)}),w.status!==`running`){B.info(`Workflow already completed or failed, skipping`,{workflowRunId:l,status:w.status});return}}}let ae=await Ve(t,w)(),R=new kn(ae);for(;;){if(o++,A.isExhausted()){await cr({runId:l,workflowName:y,requestId:v,attempt:s.attempt,limitMs:A.configuredLimitMs});return}if(Date.now()-a>=n){B.info(`V2 timeout reached, re-scheduling workflow`,{workflowRunId:l,loopIteration:o,elapsedMs:Date.now()-a}),await U(t,W(y,r),{runId:l,traceCarrier:await O(),requestedAt:new Date});return}let f=0,p=null;try{let n;if(S&&c){let e=S;if(S=null,e.events.length>0){let t=new Set(c.map(e=>e.eventId));for(let n of e.events)t.has(n.eventId)||(t.add(n.eventId),c.push(n))}u=e.cursor??u,n=c}else if(c===null)if(j)n=j,u=M??null;else{let e=await H(l);n=e.events,u=e.cursor}else if(u){let e=await H(l,u);if(e.events.length>0){let t=new Set(c.map(e=>e.eventId));for(let n of e.events)t.has(n.eventId)||(t.add(n.eventId),c.push(n))}u=e.cursor??u,n=c}else if(j){B.debug(`No cursor after preloaded-events first iteration; doing full reload to pick up cursor.`,{workflowRunId:l});let e=await H(l);c=e.events,u=e.cursor,n=c}else{B.warn(`Event cursor missing after initial load — falling back to full reload. This indicates a bug in the World implementation.`,{workflowRunId:l});let e=await H(l);c=e.events,u=e.cursor,n=c}if(Ca(n,l))return;let r=Date.now(),a=new Set(n.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId)),s=n.filter(e=>e.eventType===`wait_created`&&e.correlationId!==void 0&&!a.has(e.correlationId)&&r>=e.eventData.resumeAt.getTime()).map(e=>({eventType:`wait_completed`,specVersion:5,correlationId:e.correlationId,eventData:{resumeAt:e.eventData.resumeAt}}));for(let e of s){let r={events:n,cursor:u};try{await Ue(l,r,n=>t.events.create(l,e,{requestId:v,stateUpdatedAt:n}))}catch(t){if(Q.is(t)){B.info(`Wait already completed, skipping`,{workflowRunId:l,correlationId:e.correlationId});continue}throw t}finally{u=r.cursor}}if(s.length>0)if(u){let e=await H(l,u),t=new Set(e.events.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId));if(s.every(e=>t.has(e.correlationId))){let t=new Set(n.map(e=>e.eventId));for(let r of e.events)t.has(r.eventId)||(t.add(r.eventId),n.push(r));u=e.cursor??u}else{let e=await H(l);n=e.events,u=e.cursor}}else{let e=await H(l);n=e.events,u=e.cursor}if(Ca(n,l))return;if(E!==void 0&&n.length>=E)throw new Lt(n.length,E);c=n,N??=n.every(e=>e.eventType===`run_created`||e.eventType===`run_started`||e.eventType===`attr_set`),p=u,B.debug(`Starting workflow replay`,{workflowRunId:l,loopIteration:o,eventCount:n.length}),f=Date.now();let d=R.prewarm(w,n),m=await ya(e,w,n,ae,R,ne,t.capabilities);await d,B.debug(`Workflow replay completed`,{workflowRunId:l,loopIteration:o,replayMs:Date.now()-f});try{await re(),await t.events.create(l,{eventType:`run_completed`,specVersion:5,eventData:{output:m}},{requestId:v,stateUpdatedAt:De(n)})}catch(e){if(Q.is(e)||Y.is(e)){B.info(`Tried completing workflow run, but run has already finished.`,{workflowRunId:l,message:e.message});return}throw e}i?.setAttributes({...Ke(`completed`)});return}catch(n){if(K.is(n)){let e=Date.now()-f;B.debug(`Workflow suspended`,{workflowRunId:l,loopIteration:o,replayMs:e,steps:n.stepCount,hooks:n.hookCount,waits:n.waitCount});let a=vt(n.stepCount,n.hookCount,n.waitCount);a&&B.debug(a);let m=Date.now();if(!c)throw Error(`Invariant violation: workflow suspended before its event log was loaded`);let h={events:c,cursor:u},g;try{g=await Nr({suspension:n,world:t,run:w,span:i,requestId:v,eventLog:h,runReadyBarrier:ne})}catch(e){if(Mt.is(e))return B.warn(`Suspension event creation rejected as stale after reload retries; re-invoking run for a fresh replay`,{workflowRunId:l,loopIteration:o}),await L(0);if(!X.is(e))throw e;let n=gn(e);B.error(`Non-retryable error while committing workflow suspension; failing run`,{workflowRunId:l,errorCode:n,errorName:e.name,errorMessage:e.message});try{await re(),await t.events.create(l,{eventType:`run_failed`,specVersion:5,eventData:{error:await gt(e,l,ae,globalThis,(w?.specVersion??0)>=5),errorCode:n}},{requestId:v})}catch(e){if(Q.is(e)||Y.is(e)){B.info(`Tried failing workflow run, but run has already finished.`,{workflowRunId:l,message:e.message});return}throw e}i?.setAttributes({...Ke(`failed`),...ue(n),...se(e.name),...x(e.message),...be(e.name)});return}if(u=h.cursor,ee+=g.hookCreationMs,g.hasAttributeEvents&&te===void 0&&(te=ee),B.debug(`Suspension handled`,{workflowRunId:l,suspensionMs:Date.now()-m,pendingSteps:g.pendingSteps.length,timeoutSeconds:g.waitTimeout?.seconds,hasHookConflict:g.hasHookConflict,hasAwaitedHookCreation:g.hasAwaitedHookCreation,hasAttributeEvents:g.hasAttributeEvents}),g.hasHookConflict)return await L(0);if(g.hasAttributeEvents)continue;let _=g.pendingSteps,b=g.lazyInlineSteps,C=new Set(b.map(e=>e.correlationId)),E=await O(),D=[],j=Gn(),M=Date.now(),I=[],R=0;for(let e of _){if(C.has(e.correlationId))continue;let n=j&&Er(e);if(n&&e.ownerMessageId===s.messageId){I.push(e);continue}let i=n?Dr(e,M):0;if(i>0){R++,B.debug(`Pending step is inline-owned by a live invocation; ensuring delayed backstop wake instead of immediate requeue`,{workflowRunId:l,stepId:e.correlationId,ownerMessageId:e.ownerMessageId,backstopDelaySeconds:i}),D.push(U(t,W(y,r),{runId:l,traceCarrier:E,requestedAt:new Date},{delaySeconds:i,idempotencyKey:Or(e)}));continue}D.push(U(t,W(y,r),{runId:l,stepId:e.correlationId,stepName:e.stepName,traceCarrier:E,requestedAt:new Date},{idempotencyKey:e.correlationId}))}g.waitTimeout&&D.push(U(t,W(y,r),{runId:l,traceCarrier:E,requestedAt:new Date},Lr(g.waitTimeout.seconds,g.waitTimeout.correlationId))),await Promise.all(D);let z=[...b.map(e=>({correlationId:e.correlationId,stepName:e.stepName,lazyStepInput:e.dehydratedInput})),...I.map(e=>({correlationId:e.correlationId,stepName:e.stepName}))];if((R>0||I.length>0)&&i?.setAttributes({...I.length>0?T(I.length):{},...R>0?d(R):{}}),I.length>0&&B.warn(`Re-executing inline steps owned by this queue message — a previous delivery crashed mid-body and this redelivery is recovering them`,{workflowRunId:l,stepIds:I.map(e=>e.correlationId)}),z.length===0)return g.hasAwaitedHookCreation?await L(0):void 0;let oe=Ea(c??[]),ce=nt()&&t.capabilities?.preconditionGuard===!0,le=typeof p==`string`&&n.stepCount===1&&n.waitCount===0&&_.length===1&&b.length===1&&I.length===0&&!g.waitTimeout&&!oe.openWait&&(ce||n.hookCount===0&&!oe.openHook),V=ce&&(oe.openHook||n.hookCount>0||g.hasHookEvents),de=F&&!g.hasAttributeEvents&&!g.waitTimeout&&!g.hasHookEvents&&!g.hasAwaitedHookCreation&&!oe.openHook&&!oe.openWait,fe=Sr({events:c??[],invocationStartedClean:N===!0,runCreatedAtMs:lr(l)??(F?void 0:+w.createdAt),runStartedReceivedAtMs:P,replayMs:e,preStepBlockingMs:ee,preStepBlockingBeforeAttrMs:te,suspensionHasWaits:n.waitCount>0||g.waitTimeout!==void 0,suspensionCreatedHooks:n.hookCount>0||g.hasHookEvents,turbo:F}),pe=De(c??[]);A.pause();let me,he=z.map((e,n)=>{let r=()=>Tr({world:t,workflowRunId:l,workflowDeploymentId:w.deploymentId,workflowName:y,workflowStartedAt:k,rootRunId:Ta(w.attributes,l),stepId:e.correlationId,stepName:e.stepName,runSpecVersion:w.specVersion,authoritativeAttempt:e.lazyStepInput===void 0?wa(c,e.correlationId)+1:1,lazyStepInput:e.lazyStepInput,ownerMessageId:s.messageId,forceOptimisticStart:de,suppressOptimisticStart:V,runReadyBarrier:ne,stateUpdatedAt:pe,...n===0&&e.lazyStepInput!==void 0&&fe?{latencyTracking:fe}:{},...le&&p?{inlineDeltaSinceCursor:p}:{}});return ie.add(e.correlationId),(e.lazyStepInput===void 0?jr(l,e.correlationId,r):r()).finally(()=>ie.delete(e.correlationId))});try{me=await Promise.all(he)}catch(e){if(Mt.is(e))return await Promise.allSettled(he),B.warn(`Inline step claim rejected as stale; re-invoking run for a fresh replay`,{workflowRunId:l,loopIteration:o}),await L(0);throw e}finally{A.resume()}let ge=[],_e=!1,ve;for(let e=0;e<z.length;e++){let t=me[e],n=z[e];t.type===`retry`?ge.push({step:n,delaySeconds:t.timeoutSeconds}):t.type===`throttled`?ve=Math.max(ve??0,t.timeoutSeconds):t.type===`completed`&&t.hasPendingOps&&(_e=!0)}if(ve!==void 0)return await L(ve);if(ge.length>0){let e=await O();await Promise.all(ge.map(({step:n,delaySeconds:i})=>U(t,W(y,r),{runId:l,stepId:n.correlationId,stepName:n.stepName,traceCarrier:e,requestedAt:new Date},{delaySeconds:i,idempotencyKey:n.correlationId})))}if(_e){B.debug(`Breaking loop: inline step has pending ops`,{workflowRunId:l,loopIteration:o}),await U(t,W(y,r),{runId:l,traceCarrier:await O(),requestedAt:new Date});return}if(ge.length>0)return;if(z.length===1){let e=me[0];e.type===`completed`&&e.inlineDelta&&!e.inlineDelta.hasMore&&(S={events:e.inlineDelta.events,cursor:e.inlineDelta.cursor})}}else{if(Mt.is(n))return B.warn(`Event creation rejected as stale; re-invoking run for a fresh replay`,{workflowRunId:l,loopIteration:o}),await L(0);if(sn(n))throw b.warn(`Transient world error during replay; redelivering via queue instead of failing the run`,{errorName:n instanceof Error?n.name:`UnknownError`,errorMessage:n instanceof Error?n.message:String(n),deliveryAttempt:s.attempt}),n;let a=n;if(Z.is(n)){let e=(h?.count??0)+1,i=qn();if(e<=i){b.warn(`Workflow replay diverged; queueing a recovery replay before declaring the event log corrupted`,{errorCode:J.REPLAY_DIVERGENCE,divergenceEventId:n.eventId,priorDivergenceEventId:h?.eventId,divergenceCount:e,deliveryAttempt:s.attempt,maxRecoveryReplays:i,errorMessage:n.message}),await U(t,W(y,r),{runId:l,traceCarrier:await O(),requestedAt:new Date,replayDivergence:{eventId:n.eventId,count:e}});return}a=new Rt(`Workflow replay diverged ${e} times after ${i} recovery replays; latest divergent event was ${n.eventId}. Last divergence: ${n.message}`,{cause:n})}a instanceof Error&&i?.recordException?.(a);let c=await gr(a),u=c.name||ur(a),d=c.message,f=c.stack||dr(a);if(f){let t=yt(y)?.moduleSpecifier||y;f=Vi(f,t,e)}let p=gn(a);B.error(`Error while running workflow`,{workflowRunId:l,errorCode:p,errorName:u,errorStack:f}),yn.isNativeError(a)&&f&&(a.stack=f);try{await re(),await t.events.create(l,{eventType:`run_failed`,specVersion:5,eventData:{error:await gt(a,l,ae,globalThis,(w?.specVersion??0)>=5),errorCode:p}},{requestId:v})}catch(e){if(Q.is(e)||Y.is(e)){B.info(`Tried failing workflow run, but run has already finished.`,{workflowRunId:l,message:e.message});return}if(cn(e)){B.error(`Fatal world contract error while recording workflow failure`,{workflowRunId:l,errorCode:J.WORLD_CONTRACT_ERROR,error:e instanceof Error?e.message:String(e)});return}throw e}i?.setAttributes({...Ke(`failed`),...ue(p),...se(u),...x(d),...be(u)});return}}}})}))}),c,l=0,u=Date.now(),f=typeof t?.routeModuleBodyStartedAt==`number`?u-t.routeModuleBodyStartedAt:void 0;return Ye(async e=>{l+=1;let t=c!==void 0;return i(`workflow.route.flow`,{kind:await w(`SERVER`),attributes:{...Te(`flow`),...ge(t),...re(l),...pe(Date.now()-u),...f===void 0?{}:a(f),...He(e.method),...we(`/.well-known/workflow/v1/flow`)}},async t=>{c||=await i(`workflow.route.init`,async()=>{let e=await i(`workflow.route.get_world_handlers`,async()=>rr());return s(e)});let n=await c(e);return n instanceof Response&&t?.setAttributes(ct(n.status)),n})})}export{hn as Run,K as WorkflowSuspension,pn as cancelRun,nr as createWorld,tr as createWorldFromModule,rn as getHookByToken,dn as getRun,ir as getWorld,rr as getWorldHandlers,qe as healthCheck,ln as listStreams,an as readStream,fn as recreateRunFromExisting,mn as reenqueueRun,tn as resumeHook,nn as resumeWebhook,ar as setWorld,un as start,on as wakeUpRun,Da as workflowEntrypoint};
1
+ import{i as e,o as t,r as n,t as r}from"../../_chunks/workflow/rolldown-runtime-DaDcL9Zw.js";import{$t as i,A as a,At as o,B as s,Bt as c,C as l,Ct as u,Dn as d,Dt as f,En as p,Et as m,F as h,Fn as g,Ft as _,G as v,Gt as y,H as b,Ht as x,I as S,In as C,It as w,J as T,Jn as E,Jt as D,K as O,Kn as k,Kt as A,L as j,Ln as ee,Lt as M,M as N,Mt as te,N as P,Nn as F,Nt as ne,Ot as I,Pn as L,Pt as R,Qt as re,R as z,Rt as ie,S as B,Sn as ae,St as oe,T as se,Tt as ce,U as le,Ut as ue,V as de,Vn as fe,Vt as pe,W as V,Wt as me,X as he,Xt as ge,Y as _e,Yn as ve,Yt as ye,Z as be,Zt as xe,_t as Se,a as H,an as Ce,at as we,b as Te,bt as Ee,c as De,cn as Oe,d as ke,dn as U,dt as Ae,en as je,et as W,f as Me,ft as Ne,gn as Pe,gt as Fe,h as Ie,ht as Le,i as Re,in as ze,it as Be,j as Ve,jt as He,kt as Ue,l as We,ln as Ge,m as Ke,mt as qe,nn as Je,nt as Ye,o as Xe,on as Ze,ot as Qe,p as $e,pt as et,q as tt,qn as nt,qt as rt,r as it,rn as at,s as ot,sn as st,t as ct,tn as lt,tt as ut,u as dt,un as G,ut as ft,vn as pt,vt as mt,wt as ht,x as gt,xt as _t,y as vt,yn as yt,yt as bt,z as xt,zt as St}from"../../_chunks/workflow/wait-until-De9yESQN.js";import{a as Ct,n as wt,r as Tt,s as Et,t as Dt}from"../../_chunks/workflow/private-Cre8uYkA.js";import{t as Ot}from"../../_chunks/workflow/dist-B-vbuNqP.js";import{a as kt,n as At}from"../../_chunks/workflow/workflow-routes-CwqB063q.js";import{D as jt,E as K,O as q,_ as Mt,a as Nt,c as Pt,d as J,g as Ft,i as Y,l as X,m as It,n as Lt,o as Rt,r as Z,s as zt,t as Bt,u as Vt,x as Ht}from"../../_chunks/workflow/dist-BeQ_csYA.js";import{d as Ut,l as Wt,n as Gt,s as Kt,u as qt}from"../../_chunks/workflow/attribute-changes-DeZc2RZz.js";import{G as Jt,U as Yt,a as Xt,g as Zt,h as Qt,o as $t,v as en}from"../../_chunks/workflow/dist-WjtNsOyf.js";import{t as tn}from"../../_chunks/workflow/env-config-CYoX3muK.js";import{t as nn}from"../../_chunks/workflow/spec-version-C0hBsfu-.js";import{n as rn,r as an,t as on}from"../../_chunks/workflow/resume-hook-ip1hbn1b.js";import{a as sn,c as cn,d as ln,f as un,i as dn,l as fn,n as pn,o as mn,r as hn,s as gn,t as _n,u as vn}from"../../_chunks/workflow/run-CWytxfIp.js";import{t as yn}from"../../_chunks/workflow/run-id-BdE0MZz9.js";import{createRequire as bn}from"node:module";import{createHash as xn}from"node:crypto";import{types as Q}from"node:util";import{pathToFileURL as Sn}from"node:url";import{Script as Cn,createContext as wn,runInContext as Tn}from"node:vm";function En(e){return e instanceof qt||e instanceof Wt||e instanceof Ut||e instanceof Gt}const Dn=`The workflow event log contains orphaned or mismatched events and cannot be replayed. This is an internal workflow SDK error; please report it with the runId.`;function On(e,t){let n=t??vn(e);return It.is(e)?{attribution:`user`,errorCode:n,hint:`A value passed across a workflow/step boundary could not be serialized. See the error message for the offending path and the Learn More link for details.`}:En(e)?{attribution:`user`,errorCode:n,hint:`A workflow-only or step-only API was called from the wrong context. The error message includes the exact API and how to move the call.`}:Bt.is(e)?{attribution:`sdk`,errorCode:n,hint:Dn}:e instanceof K?{attribution:`sdk`,errorCode:n,hint:`This is an internal workflow SDK error, not a bug in your code. If it keeps happening, please report it with the stack trace and the runId.`}:n===q.REPLAY_TIMEOUT?{attribution:`sdk`,errorCode:n,hint:'The workflow replay between step boundaries took too long. This bounds workflow-VM and event-log replay time only — step bodies (`"use step"` functions) are excluded. This usually means the event log is unusually large or the workflow function is doing heavy synchronous work in workflow code outside of step bodies. Override the default budget via the WORKFLOW_REPLAY_TIMEOUT_MS env var if needed.'}:n===q.MAX_DELIVERIES_EXCEEDED?{attribution:`sdk`,errorCode:n,hint:`The workflow queue exceeded its max-delivery budget. This usually indicates a persistent runtime failure — check the most recent stack traces for the underlying cause.`}:n===q.MAX_EVENTS_EXCEEDED?{attribution:`user`,errorCode:n,hint:`The workflow exceeded the maximum number of events per run. This usually means unbounded work in the workflow function — e.g. a loop that keeps creating steps without terminating. Break long-running workflows into child workflows to stay under the limit.`}:n===q.CORRUPTED_EVENT_LOG?{attribution:`sdk`,errorCode:n,hint:Dn}:n===q.WORLD_CONTRACT_ERROR?{attribution:`sdk`,errorCode:n,hint:`The workflow backend returned data that violated the SDK contract. This is not retryable; please report it with the stack trace and runId.`}:{attribution:`user`,errorCode:n}}const kn=4096;function An(e){if(e===null)return!0;let t=typeof e;return t===`object`||t===`function`?!1:t===`string`?e.length<=kn:t!==`bigint`||e.toString().length<=kn}var jn=class{encryptionKey;preparer;preparedPayloads=new Map;primitiveStepResults=new Map;nextUnscannedEventIndex=0;constructor(e,t=h){this.encryptionKey=e,this.preparer=t}async prewarm(e,t){let n=[],r=(e,t)=>{t instanceof Uint8Array&&(this.preparedPayloads.has(e)||n.push(this.ensurePreparation(e,t)))};r(this.workflowInputKey(e.runId),e.input);for(let e=this.nextUnscannedEventIndex;e<t.length;e++){let n=t[e];switch(n.eventType){case`step_completed`:r(this.eventPayloadKey(n.eventId,`result`),n.eventData?.result);break;case`step_failed`:r(this.eventPayloadKey(n.eventId,`error`),n.eventData?.error);break;case`hook_received`:r(this.eventPayloadKey(n.eventId,`payload`),n.eventData?.payload);break}}this.nextUnscannedEventIndex=t.length,await Promise.allSettled(n)}prepareWorkflowInput(e){return this.consumePreparation(this.workflowInputKey(e.runId),e.input)}prepareEventPayload(e,t,n){return this.consumePreparation(this.eventPayloadKey(e,t),n)}async getStepResult(e,t){if(this.primitiveStepResults.has(e))return this.primitiveStepResults.get(e);let n=await t();return An(n)&&this.primitiveStepResults.set(e,n),n}consumePreparation(e,t){if(!(t instanceof Uint8Array))return this.runPreparation(t);let n=this.ensurePreparation(e,t);return n.catch(()=>{this.preparedPayloads.get(e)===n&&this.preparedPayloads.delete(e)}),n}ensurePreparation(e,t){let n=this.preparedPayloads.get(e);if(n)return n;let r=this.runPreparation(t);return this.preparedPayloads.set(e,r),r}async runPreparation(e){return this.preparer(e,this.encryptionKey)}workflowInputKey(e){return`run:${e}:input`}eventPayloadKey(e,t){return`event:${e}:${t}`}};function Mn(){return tn(`WORKFLOW_MAX_QUEUE_DELIVERIES`,48,{integer:!0,min:1,max:48})}const Nn=24e4,Pn=3e4,Fn=78e4,In=new Set;function Ln(e,t,n){In.has(e)||(In.add(e),V.warn(t,n))}function Rn(){let e=process.env.WORKFLOW_REPLAY_TIMEOUT_MS;if(!e)return Nn;let t=Number(e);return!Number.isFinite(t)||t<=0?(Ln(e,`Ignoring WORKFLOW_REPLAY_TIMEOUT_MS: not a positive finite number; using default`,{raw:e,defaultMs:Nn}),Nn):t<3e4?(Ln(e,`WORKFLOW_REPLAY_TIMEOUT_MS below minimum; clamped`,{raw:e,clampedMs:Pn,minMs:Pn}),Pn):t>78e4?(Ln(e,`WORKFLOW_REPLAY_TIMEOUT_MS above maximum; clamped`,{raw:e,clampedMs:Fn,maxMs:Fn}),Fn):t}function zn(){return tn(`WORKFLOW_REPLAY_TIMEOUT_MAX_RETRIES`,3,{integer:!0})}const Bn=new Set;function Vn(){let e=process.env.WORKFLOW_MAX_INLINE_STEPS;if(!e)return 3;let t=Number(e);return!Number.isInteger(t)||t<=0?(Bn.has(e)||(Bn.add(e),V.warn(`Ignoring WORKFLOW_MAX_INLINE_STEPS: not a positive integer; using default`,{raw:e,defaultValue:3})),3):t<1?1:t>16?(Bn.has(e)||(Bn.add(e),V.warn(`WORKFLOW_MAX_INLINE_STEPS above maximum; clamped`,{raw:e,clampedValue:16,maxValue:16})),16):t}const Hn=new Set;function Un(){let e=process.env.WORKFLOW_MAX_EVENTS_OVERRIDE;if(!e)return;let t=Number(e);if(!Number.isInteger(t)||t<=0){Hn.has(e)||(Hn.add(e),V.warn(`Ignoring WORKFLOW_MAX_EVENTS_OVERRIDE: not a positive integer; using server limit`,{raw:e}));return}return t}function Wn(){let e=process.env.WORKFLOW_OPTIMISTIC_INLINE_START;return e===void 0||e===``?!1:e===`1`||e.toLowerCase()===`true`}function Gn(){let e=process.env.WORKFLOW_OPTIMISTIC_INLINE_START;return e===void 0||e===``?!1:e===`0`||e.toLowerCase()===`false`}function Kn(){let e=process.env.WORKFLOW_TURBO;return e===void 0||e===``||!(e===`0`||e.toLowerCase()===`false`)}function qn(){let e=process.env.WORKFLOW_INLINE_OWNERSHIP;return e===void 0||e===``||!(e===`0`||e.toLowerCase()===`false`)}function Jn(){return tn(`WORKFLOW_INLINE_OWNERSHIP_LEASE_SECONDS`,860,{integer:!0,min:1,max:900})}function Yn(){return tn(`WORKFLOW_REPLAY_DIVERGENCE_MAX_RETRIES`,3,{integer:!0})}const Xn=e=>`eventData`in e&&e.eventData&&`ownerMessageId`in e.eventData&&typeof e.eventData.ownerMessageId==`string`?e.eventData.ownerMessageId:void 0;function Zn(e,t,n){if(!e)return 0;let r=0,i=new Map;for(let n of e){if(n.eventType!==`step_started`||n.correlationId!==t)continue;let e=Xn(n);e===void 0?r++:i.set(e,(i.get(e)??0)+1)}if(n===void 0){let e=r;for(let t of i.values())e+=t;return e}if(n.type===`ownedBy`)return i.get(n.messageId)??0;let a=0;for(let e of i.values())e>a&&(a=e);return r+a}var Qn=n({createWorld:()=>er});function $n(){throw Error(`Workflow target world was not statically injected. Configure a Workflow builder/framework plugin so @workflow/core/runtime/world-target is aliased to the selected world package.`)}function er(){$n()}const tr=Symbol.for(`@workflow/world//cache`),nr=Symbol.for(`@workflow/world//stubbedCache`),rr=Symbol.for(`@workflow/world//cachePromise`),ir=Symbol.for(`@workflow/world//stubbedCachePromise`),$=globalThis;function ar(e){if(typeof e.createWorld==`function`)return e.createWorld();if(typeof e.default==`function`)return e.default();if(e.default&&typeof e.default==`object`)return e.default;throw Error(`Invalid target world module: must export createWorld(), a default factory, or a default World instance.`)}const or=async()=>{let e=await ar(Qn),t=[`WORKFLOW_VERCEL_PROJECT`,`WORKFLOW_VERCEL_TEAM`,`WORKFLOW_VERCEL_AUTH_TOKEN`,`WORKFLOW_VERCEL_ENV`].filter(e=>process.env[e]);return t.length>0&&process.env.VERCEL===`1`&&console.warn(`[workflow] Warning: ${t.join(`, `)} env var(s) are set but have no effect at runtime. These are only used by the Workflow CLI. Remove them from your Vercel project environment variables.`),e},sr=async()=>{if($[nr])return ae($[nr]),$[nr];$[ir]||($[ir]=or().catch(e=>{throw $[ir]=void 0,e}));let e=await $[ir];return ae(e),$[nr]=e,{createQueueHandler:e.createQueueHandler,specVersion:e.specVersion}},cr=async()=>$[tr]?(ae($[tr]),$[tr]):($[rr]||($[rr]=or().catch(e=>{throw $[rr]=void 0,e})),$[tr]=await $[rr],ae($[tr]),$[tr]),lr=e=>{$[tr]=e,$[nr]=e,$[rr]=void 0,$[ir]=void 0},ur=Symbol.for(`@workflow/world//getWorldFn`);globalThis[ur]??=cr;var dr=class{limitMs;elapsedMs=0;intervalStart;constructor(e=Rn()){this.limitMs=e,this.intervalStart=Date.now()}get configuredLimitMs(){return this.limitMs}elapsed(){let e=this.intervalStart===null?0:Date.now()-this.intervalStart;return this.elapsedMs+e}pause(){this.intervalStart!==null&&(this.elapsedMs+=Date.now()-this.intervalStart,this.intervalStart=null)}resume(){this.intervalStart=Date.now()}isExhausted(){return this.elapsed()>=this.limitMs}};async function fr(e){let{runId:t,workflowName:n,requestId:r,attempt:i,limitMs:a}=e,o=V.forRun(t,n),s=await cr();if(s.processExitTriggersQueueRedelivery!==!0){o.warn(`Workflow replay exceeded timeout; current World does not support process exit for redelivery — failing the run and returning`,{timeoutMs:a,attempt:i});try{let e=dt(s,t),n=new Y(`Workflow replay exceeded maximum duration (${a/1e3}s)`);await s.events.create(t,{eventType:`run_failed`,specVersion:5,eventData:{error:await Te(n,t,await e()),errorCode:q.REPLAY_TIMEOUT}},{requestId:r})}catch(e){o.warn(`Unable to mark run as failed`,{attempt:i,errorName:e instanceof Error?e.name:`UnknownError`,errorMessage:e instanceof Error?e.message:String(e)})}return}let c=zn();i<=c&&(o.warn(`Workflow replay exceeded timeout but will be re-attempted (attempt < maxRetries)`,{timeoutMs:a,attempt:i,maxRetries:c}),process.exit(1));let l=On(void 0,q.REPLAY_TIMEOUT);o.error(`Workflow replay exceeded timeout and max retries exceeded. Failing the run`,{timeoutMs:a,attempt:i,maxRetries:c,errorCode:l.errorCode,errorAttribution:l.attribution});try{let e=dt(s,t),n=new Y(`Workflow replay exceeded maximum duration (${a/1e3}s) after ${i} attempts`);await s.events.create(t,{eventType:`run_failed`,specVersion:5,eventData:{error:await Te(n,t,await e()),errorCode:q.REPLAY_TIMEOUT}},{requestId:r})}catch(e){o.warn(`Unable to mark run as failed. The queue will continue to retry`,{attempt:i,errorName:e instanceof Error?e.name:`UnknownError`,errorMessage:e instanceof Error?e.message:String(e),errorStack:e instanceof Error?e.stack:void 0})}process.exit(1)}function pr(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{return Xt(yn(t).ulid)}catch{return}}function mr(e){return Q.isNativeError(e)?e.name:`Error`}function hr(e){return Q.isNativeError(e)?e.stack??``:``}function gr(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`&&`message`in e&&typeof e.message==`string`&&(!(`stack`in e)||e.stack===void 0||typeof e.stack==`string`)}function _r(e){if(!gr(e)||Y.is(e))return e;let t=new Y(`Aborted: ${e.message}`);return e.stack&&(t.stack=e.stack),t}function vr(e){return typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`}function yr(e){if(Q.isNativeError(e))return{name:e.name,message:e.message,stack:e.stack??``};if(typeof e==`string`)return{name:`Error`,message:e,stack:``};try{return{name:`Error`,message:JSON.stringify(e),stack:``}}catch{return{name:`Error`,message:String(e),stack:``}}}async function br(e){if(vr(e))try{let t=await br(await e);return{...t,message:`Promise rejection: ${t.message}`}}catch(e){let t=await br(e);return{...t,message:`Promise rejection: ${t.message}`}}return yr(e)}let xr,Sr,Cr;async function wr(){if(Sr!==void 0)return Sr;if(Cr)return Cr;if(!xr)try{let e=[`@workflow/utils`,`get-port`].join(`/`);xr=bn(Sn(process.cwd()+`/package.json`).href)(e).getPort}catch{xr=async()=>void 0}return Cr=(xr??(async()=>void 0))().then(e=>(typeof e==`number`&&(Sr=e),e)).finally(()=>{Cr=void 0}),Cr}const Tr=new Set([`step_created`,`step_started`,`step_completed`,`step_failed`,`step_retrying`,`hook_received`,`wait_created`,`wait_completed`]);function Er(e){let{events:t}=e,n=e.invocationStartedClean&&e.runCreatedAtMs!==void 0&&!e.suspensionHasWaits,r;if(n)for(let e of t){if(Tr.has(e.eventType)){n=!1;break}if(e.eventType===`attr_set`){let t=+(e.occurredAt??e.createdAt);r=r===void 0?t:Math.min(r,t)}}let i,a,o,s=t[t.length-1];if(!e.suspensionHasWaits&&!e.suspensionCreatedHooks&&s&&(s.eventType===`step_completed`||s.eventType===`step_failed`)){i=+(s.occurredAt??s.createdAt);let e=new Set;for(let n of t)(n.eventType===`step_completed`||n.eventType===`step_failed`)&&n.correlationId!==void 0&&e.add(n.correlationId);a=e.size,o=t.length}let c=n&&e.runStartedReceivedAtMs!==void 0;if(!(!n&&i===void 0))return{...n?{ttfsAnchorMs:e.runCreatedAtMs,preStepBlockingMs:r===void 0?e.preStepBlockingMs:e.preStepBlockingBeforeAttrMs??0,...r===void 0?{}:{preStepAttrStartMs:r}}:{},...c?{rsfsAnchorMs:e.runStartedReceivedAtMs,replayMs:e.replayMs}:{},...i===void 0?{}:{prevStepEndMs:i,stepCount:a,eventCount:o},turbo:e.turbo}}function Dr(e){let{tracking:t}=e;if(!t||e.attempt!==1)return;let n=t.preStepAttrStartMs??e.stepCodeStartedAtMs,r=t.ttfsAnchorMs===void 0?void 0:n-t.ttfsAnchorMs-(t.preStepBlockingMs??0),i=r!==void 0&&r>=-6e4?Math.max(0,r):void 0,a=t.prevStepEndMs===void 0?void 0:e.stepCodeStartedAtMs-t.prevStepEndMs,o=a!==void 0&&a>=-6e4?Math.max(0,a):void 0,s=t.rsfsAnchorMs!==void 0&&e.stepStartPostSentAtMs!==void 0?Math.max(0,e.stepStartPostSentAtMs-t.rsfsAnchorMs):void 0,c=t.replayMs===void 0?void 0:Math.max(0,t.replayMs);if(i===void 0&&o===void 0)return;let l=[];return t.turbo&&l.push(`turbo`),e.lazyStepStart&&l.push(`lazyStepStart`),e.optimisticStart&&l.push(`optimisticStart`),{...i===void 0?{}:{ttfs:i},...o===void 0?{}:{stso:o},...o!==void 0&&t.stepCount!==void 0?{stepCount:t.stepCount}:{},...o!==void 0&&t.eventCount!==void 0?{eventCount:t.eventCount}:{},...s===void 0?{}:{rsfs:s},...c===void 0?{}:{finalSchedulingReplay:c},optimizations:l}}function Or(e,t){if(t&&!(!e.events||e.cursor===void 0))return{events:e.events,cursor:e.cursor,hasMore:e.hasMore??!1}}async function kr(e){let{world:t,workflowRunId:n,workflowName:r,workflowStartedAt:i,stepId:s,stepName:c}=e,d=process.env.VERCEL_URL!==void 0,p=(e.runSpecVersion??0)>=5;return W(`step.execute ${E(c)}`,{},async h=>{h?.setAttributes({...Ue(c),...rt(r),...Je(n),...m(s)});let g=dt(t,n),y=wt(c);if(!y||typeof y!=`function`){let i=`Step "${c}" is not registered in the current deployment. This usually indicates a build or bundling issue that caused the step to not be included in the deployment.`;if(V.error(`Step function not registered, failing step`,{workflowRunId:n,stepName:c,stepId:s}),e.lazyStepInput!==void 0)try{e.runReadyBarrier&&await e.runReadyBarrier.catch(()=>{}),await t.events.create(n,{eventType:`step_started`,specVersion:5,correlationId:s,eventData:{stepName:c,workflowName:r,input:e.lazyStepInput,...e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId}}})}catch(e){if(Z.is(e))return{type:`skipped`};if(J.is(e))return{type:`gone`};throw e}try{await t.events.create(n,{eventType:`step_failed`,specVersion:5,correlationId:s,eventData:{stepName:c,error:await B(new Y(i),n,await g(),[],globalThis,p)}})}catch(e){if(Z.is(e))return{type:`skipped`};throw e}return h?.setAttributes({...M(`failed`),...ht(!0)}),{type:`failed`}}let b=y.maxRetries??3;if(h?.setAttributes({...I(b)}),e.authoritativeAttempt!==void 0&&e.authoritativeAttempt>b+1){let r=b,i=`Step "${c}" exceeded max retries (${r} ${k(`retry`,`retries`,r)})`;v.error(`Step exceeded max retries`,{workflowRunId:n,stepName:c,stepId:s,attempt:e.authoritativeAttempt,maxRetries:b});try{await t.events.create(n,{eventType:`step_failed`,specVersion:5,correlationId:s,eventData:{stepName:c,error:await B(new Y(i),n,await g(),[],globalThis,p)}})}catch(e){if(Z.is(e))return V.info(`Tried failing step for exceeded retries, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:c,message:e instanceof Error?e.message:String(e)}),{type:`skipped`};if(J.is(e))return{type:`gone`};throw e}return h?.setAttributes({...M(`failed`),...He(!0)}),{type:`failed`}}let x=e=>{if(Ft.is(e)){let t=Math.max(1,typeof e.retryAfter==`number`?e.retryAfter:1);return V.info(`Throttled on step_started, deferring`,{retryAfterSeconds:t}),{type:`throttled`,timeoutSeconds:t}}if(J.is(e))return V.info(`Workflow run "${n}" has already completed, skipping step "${s}": ${e.message}`),{type:`gone`};if(Z.is(e))return V.debug(`Step in terminal state, skipping`,{stepName:c,stepId:s,workflowRunId:n,error:e instanceof Error?e.message:String(e)}),h?.setAttributes({...w(!0),..._(`completed`)}),{type:`skipped`};if(Mt.is(e)){let t=Math.max(1,e.retryAfter??1);return V.debug(`Step retryAfter timestamp not yet reached`,{stepName:c,stepId:s,timeoutSeconds:t}),{type:`retry`,timeoutSeconds:t}}},S=e.lazyStepInput!==void 0&&e.suppressOptimisticStart!==!0&&(Wn()||e.forceOptimisticStart===!0&&!Gn()),C,T,E,D=async()=>{if(!E)return;let e=await E;if(e.ok)return;let t=x(e.err);if(!t)throw e.err;return t};if(S){E=(e.runReadyBarrier??Promise.resolve()).then(()=>(T=Date.now(),t.events.create(n,{eventType:`step_started`,specVersion:5,correlationId:s,eventData:{stepName:c,workflowName:r,input:e.lazyStepInput,...e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId}}},e.stateUpdatedAt===void 0?void 0:{stateUpdatedAt:e.stateUpdatedAt}))).then(()=>({ok:!0}),e=>({ok:!1,err:e}));let i=new Date;C={runId:n,stepId:s,stepName:c,status:`running`,input:e.lazyStepInput,attempt:1,startedAt:i,createdAt:i,updatedAt:i}}else try{let i=e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId};T=Date.now();let a=await t.events.create(n,{eventType:`step_started`,specVersion:5,correlationId:s,eventData:e.lazyStepInput===void 0?{stepName:c,...i}:{stepName:c,workflowName:r,input:e.lazyStepInput,...i}},e.stateUpdatedAt===void 0?void 0:{stateUpdatedAt:e.stateUpdatedAt});if(!a.step)throw new K(`step_started event for "${s}" did not return step entity`);C=a.step}catch(e){let t=x(e);if(t)return t;throw e}V.debug(`Step execution details`,{stepName:c,stepId:C.stepId,status:C.status,attempt:C.attempt}),h?.setAttributes({...M(C.status)});let O;if(C.attempt>b+1&&C.error){let e=C.attempt-1,r=`Step "${c}" exceeded max retries (${e} ${k(`retry`,`retries`,e)})`;v.error(`Step exceeded max retries`,{workflowRunId:n,stepName:c,retryCount:e});let i=new Y(r);if(C.error!=null)try{i.cause=await Ve(C.error,n,await g())}catch{}try{await t.events.create(n,{eventType:`step_failed`,specVersion:5,correlationId:s,eventData:{stepName:c,error:await B(i,n,await g(),[],globalThis,p)}})}catch(e){if(Z.is(e))return V.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:c,message:e.message}),{type:`skipped`};throw e}return h?.setAttributes({...M(`failed`),...He(!0)}),{type:`failed`}}let A=[],j=[],ee=!0,N,P=()=>{if(!N||N.rsfs!==void 0)return;let t=e.latencyTracking?.rsfsAnchorMs;t===void 0||T===void 0||(N.rsfs=Math.max(0,T-t),h&&h.setAttributes({...R(N.rsfs)}))};try{let t=C.attempt;if(!C.startedAt)throw new K(`Step "${s}" has no "startedAt" timestamp`);let u=C.startedAt,m=e.encryptionKey??await g(),_=await W(`step.hydrate`,{},async t=>{let r=Date.now(),i=await a(C.input,n,m,j,globalThis,{},e.workflowDeploymentId),o=Date.now()-r;return t?.setAttributes({...Ee(i.args.length),...Se(o)}),i}),v=_.args,b=_.thisVal??null,x=At(d?`https://${process.env.VERCEL_URL}`:`http://localhost:${await wr()??3e3}`),w,E=!1,k=Date.now();N=Dr({tracking:e.latencyTracking,stepCodeStartedAtMs:k,attempt:t,lazyStepStart:e.lazyStepInput!==void 0,optimisticStart:S,stepStartPostSentAtMs:T}),N&&h?.setAttributes({...N.ttfs===void 0?{}:St(N.ttfs),...N.stso===void 0?{}:ie(N.stso),...N.rsfs===void 0?{}:R(N.rsfs),...N.finalSchedulingReplay===void 0?{}:ce(N.finalSchedulingReplay),...f(N.optimizations??[])});try{O=await W(`step.execute`,{},async()=>await le.run({stepMetadata:{stepName:c,stepId:s,stepStartedAt:new Date(+u),attempt:t},workflowMetadata:{workflowName:r,workflowRunId:n,workflowStartedAt:new Date(+i),url:x,features:{encryption:!!m}},workflowDeploymentId:e.workflowDeploymentId,rootRunId:e.rootRunId,ops:j,preCompletionOps:A,closureVars:_.closureVars,encryptionKey:m,runReadyBarrier:S?e.runReadyBarrier:void 0},()=>y.apply(b,v)))}catch(e){w=e,E=!0}let M=Date.now()-k;if(vt(...v,b,_.closureVars),E)throw w;if(h?.setAttributes({...mt(M)}),O=await W(`step.dehydrate`,{},async t=>{let r=Date.now(),i=await l(O,n,m,j,globalThis,!1,!1,p,S?e.runReadyBarrier:void 0),a=Date.now()-r;return t?.setAttributes({...bt(a),...o(typeof i)}),i}),j.length>0){let e=Promise.all(j);ct(e,e=>{V.warn(`Background flush of step stream ops failed`,{workflowRunId:n,stepId:s,error:e instanceof Error?e.message:String(e)})}),ee=await Promise.race([e.then(()=>!0,e=>{if(e?.name===`AbortError`||e?.name===`ResponseAborted`)return!0;throw e}),new Promise(e=>setTimeout(()=>e(!1),500))])}if(S){let e=await D();if(e)return e;P()}A.length>0&&await Promise.all(A).catch(()=>{})}catch(e){if(S){let e=await D();if(e)return e;P()}A.length>0&&await Promise.all(A).catch(()=>{});let r=_r(e),i=await br(r),a=i.stack||hr(r)||``;r instanceof Error&&h?.recordException?.(r);let o=Y.is(r);if(h?.setAttributes({...u(mr(r)),...oe(i.message),...Qe(mr(r)),...Be(o?`fatal`:Vt.is(r)?`retryable`:`transient`),...we(!o)}),J.is(e))return v.info(`Workflow run already completed, skipping step`,{workflowRunId:n,stepId:s,message:e.message}),{type:`gone`};if(o){v.error(`Encountered FatalError while executing step, bubbling up to parent workflow`,{workflowRunId:n,stepName:c,errorStack:a}),Q.isNativeError(r)&&a&&(r.stack=a);try{await t.events.create(n,{eventType:`step_failed`,specVersion:5,correlationId:s,eventData:{stepName:c,error:await B(r,n,await g(),[],globalThis,p),...N}})}catch(e){if(Z.is(e))return V.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:c,message:e.message}),{type:`skipped`};throw e}return h?.setAttributes({...M(`failed`),...ht(!0)}),{type:`failed`}}let l=C.attempt;if(h?.setAttributes({..._t(l),...I(b)}),l>=b+1){let r=C.attempt-1;v.error(`Max retries reached, bubbling error to parent workflow`,{workflowRunId:n,stepName:c,attempt:C.attempt,retryCount:r,errorStack:a});let o=new Y(`Step "${c}" failed after ${b} ${k(`retry`,`retries`,b)}: ${i.message}`);o.cause=e,a&&(o.stack=a);try{await t.events.create(n,{eventType:`step_failed`,specVersion:5,correlationId:s,eventData:{stepName:c,error:await B(o,n,await g(),[],globalThis,p),...N}})}catch(e){if(Z.is(e))return V.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:c,message:e.message}),{type:`skipped`};throw e}return h?.setAttributes({...M(`failed`),...He(!0)}),{type:`failed`}}Vt.is(e)?v.info(`Encountered RetryableError, step will be retried`,{workflowRunId:n,stepName:c,attempt:l,message:e.message}):v.info(`Encountered Error, step will be retried`,{workflowRunId:n,stepName:c,attempt:l,errorStack:a}),Q.isNativeError(e)&&a&&(e.stack=a);try{await t.events.create(n,{eventType:`step_retrying`,specVersion:5,correlationId:s,eventData:{stepName:c,error:await B(e,n,await g(),[],globalThis,p),...Vt.is(e)&&{retryAfter:e.retryAfter}}})}catch(e){if(Z.is(e))return V.info(`Tried retrying step, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:c,message:e.message}),{type:`skipped`};throw e}let d=Math.max(1,Vt.is(e)?Math.ceil((+e.retryAfter.getTime()-Date.now())/1e3):1);return h?.setAttributes({...te(d),...ne(!0)}),{type:`retry`,timeoutSeconds:d}}let F;try{F=await t.events.create(n,{eventType:`step_completed`,specVersion:5,correlationId:s,eventData:{stepName:c,workflowName:r,result:O,...N}},e.inlineDeltaSinceCursor===void 0?void 0:{sinceCursor:e.inlineDeltaSinceCursor})}catch(e){if(Z.is(e))return V.info(`Tried completing step, but step has already finished.`,{workflowRunId:n,stepId:s,stepName:c,message:e.message}),{type:`skipped`};if(J.is(e))return v.info(`Workflow run already completed, skipping step`,{workflowRunId:n,stepId:s,message:e.message}),{type:`gone`};throw e}let L=Or(F,e.inlineDeltaSinceCursor!==void 0);return h?.setAttributes({...M(`completed`),...o(typeof O)}),j.length>0&&v.debug(`Step has pending ops`,{workflowRunId:n,stepName:c,opsCount:j.length}),{type:`completed`,hasPendingOps:!ee,inlineDelta:L}})}function Ar(e){return e.hasCreatedEvent===!0&&e.ownerMessageId!==void 0&&e.sawRetrying!==!0}function jr(e,t){if(e.lastStartedAt===void 0)return 0;let n=Jn(),r=e.lastStartedAt+n*1e3-t;return Math.min(n,Math.max(0,Math.ceil(r/1e3)))}function Mr(e){return`${e.correlationId}:backstop:${e.lastStartedAt}`}function Nr(e,t,n){let r=new Map,i=new Set;for(let t of e)if(t.correlationId!==void 0)if(t.eventType===`step_started`){let e=`eventData`in t&&t.eventData&&`ownerMessageId`in t.eventData&&typeof t.eventData.ownerMessageId==`string`?t.eventData.ownerMessageId:void 0;r.set(t.correlationId,e)}else t.eventType===`step_retrying`&&i.add(t.correlationId);for(let e of t)if(e!==void 0&&!i.has(e)&&r.get(e)===n)return!0;return!1}const Pr=new Map;async function Fr(e,t,n){let r=`${e}:${t}`,i=Pr.get(r);if(i){V.warn(`Step execution already in flight in this process; awaiting its settlement instead of executing again`,{workflowRunId:e,stepId:t});try{await i}catch{}return{type:`skipped`}}let a=n();Pr.set(r,a);try{return await a}finally{Pr.delete(r)}}async function Ir({runId:e,hookEvent:t,queueItem:n,requestId:r,createEvent:i}){try{return(await i(t,{requestId:r})).event?.eventType===`hook_conflict`?{hasHookConflict:!0,hasAwaitedHookCreation:!1}:{hasHookConflict:!1,hasAwaitedHookCreation:n.hasConflictAwaiter===!0}}catch(t){if(Z.is(t))return V.info(`Hook already exists, continuing`,{workflowRunId:e,message:t.message}),{hasHookConflict:!1,hasAwaitedHookCreation:n.hasConflictAwaiter===!0};if(J.is(t))return V.info(`Workflow run already completed, skipping hook`,{workflowRunId:e,message:t.message}),{hasHookConflict:!1,hasAwaitedHookCreation:!1};throw t}}async function Lr({suspension:e,world:t,run:n,span:r,requestId:i,eventLog:a,runReadyBarrier:o}){let s=n.runId,c=async()=>{if(o)try{await o}catch{}},l=(e,n)=>a?Ie(s,a,r=>t.events.create(s,e,{...n,stateUpdatedAt:r})):t.events.create(s,e,n),u=e.steps.filter(e=>e.type===`step`),d=e.steps.filter(e=>e.type===`hook`),f=e.steps.filter(e=>e.type===`wait`),p=e.steps.filter(e=>e.type===`attribute`),m=d.filter(e=>!e.hasCreatedEvent),h=new Map;for(let e of d){if(e.hasCreatedEvent&&!e.disposed)continue;let t=h.get(e.token);t?t.push(e):h.set(e.token,[e])}let g=await t.getEncryptionKeyForRun?.(n),_=g?await fe(g):void 0,v=(n.specVersion??0)>=5;async function y(e){let t={eventType:`hook_disposed`,specVersion:5,correlationId:e.correlationId,eventData:{token:e.token}};try{await l(t,{requestId:i})}catch(t){if(Z.is(t))V.info(`Hook already disposed, skipping duplicate disposal`,{workflowRunId:s,correlationId:e.correlationId,message:t.message});else if(J.is(t))V.info(`Workflow run already completed, skipping hook disposal`,{workflowRunId:s,correlationId:e.correlationId,message:t.message});else if(Rt.is(t))V.info(`Hook not found for disposal, continuing`,{workflowRunId:s,correlationId:e.correlationId,message:t.message});else throw t}}let b=!1,x=!1,S=0;if(h.size>0){let t=Date.now();await c(),await Promise.all([...h.values()].map(async t=>{for(let n of t){let t=!1;if(!n.hasCreatedEvent){let r=n.metadata===void 0?void 0:await gt(n.metadata,s,_,e.globalThis,!1,v),a={eventType:`hook_created`,specVersion:5,correlationId:n.correlationId,eventData:{token:n.token,tokenRetentionUntil:n.tokenRetentionUntil,metadata:r,isWebhook:n.isWebhook??!1,...n.isSystem&&{isSystem:!0}}},o=await Ir({runId:s,hookEvent:a,queueItem:n,requestId:i,createEvent:l});b||=o.hasHookConflict,x||=o.hasAwaitedHookCreation,t=o.hasHookConflict}n.disposed&&!t&&await y(n)}})),S=Date.now()-t}let C=d.filter(e=>e.abortRequested&&!e.disposed);C.length>0&&(await c(),await Promise.all(C.map(async n=>{try{let r=await gt({aborted:!0,reason:n.abortReason},s,_,e.globalThis,!1,v);await l({eventType:`hook_received`,specVersion:5,correlationId:n.correlationId,eventData:{token:n.token,payload:r}});try{let e=de(n.token);await t.streams.write(s,e,r),await t.streams.close(s,e)}catch{V.debug(`Failed to write abort stream packet, hook event will provide fallback`,{workflowRunId:s,correlationId:n.correlationId})}}catch(e){if(Z.is(e)||J.is(e))V.info(`Workflow run already completed, skipping abort`,{workflowRunId:s,correlationId:n.correlationId,message:e.message});else throw e}})));let w=new Set(u.filter(e=>!e.hasCreatedEvent).map(e=>e.correlationId)),T=new Set,E=new Set(x===!1?u.filter(e=>w.has(e.correlationId)).slice(0,Vn()).map(e=>e.correlationId):[]),D=new Map,O=[];for(let t of u)w.has(t.correlationId)&&O.push((async()=>{let r=await gt({args:t.args,closureVars:t.closureVars,thisVal:t.thisVal},s,_,e.globalThis,!1,v);if(E.has(t.correlationId)){D.set(t.correlationId,{correlationId:t.correlationId,stepName:t.stepName,dehydratedInput:r});return}let a={eventType:`step_created`,specVersion:5,correlationId:t.correlationId,eventData:{stepName:t.stepName,workflowName:n.workflowName,input:r}};try{await c(),await l(a,{requestId:i}),T.add(t.correlationId)}catch(e){if(Z.is(e))V.info(`Step already exists, continuing`,{workflowRunId:s,correlationId:t.correlationId,message:e.message});else throw e}})());for(let e of f)e.hasCreatedEvent||O.push((async()=>{let t={eventType:`wait_created`,specVersion:5,correlationId:e.correlationId,eventData:{resumeAt:e.resumeAt}};try{await c(),await l(t,{requestId:i})}catch(t){if(Z.is(t))V.info(`Wait already exists, continuing`,{workflowRunId:s,correlationId:e.correlationId,message:t.message});else throw t}})());for(let e of p)O.push((async()=>{try{await c(),await t.events.create(s,{eventType:`attr_set`,specVersion:5,correlationId:e.correlationId,eventData:{changes:e.changes,writer:{type:`workflow`},...e.allowReservedAttributes?{allowReservedAttributes:!0}:{}}},{requestId:i})}catch(t){if(Z.is(t))V.info(`Workflow attribute event already exists, continuing`,{workflowRunId:s,correlationId:e.correlationId,message:t.message});else if(Rr(t)){let e=new Y(`setAttributes failed World validation: ${t instanceof Error?t.message:String(t)}`);throw e.cause=t,e}else throw t}})());await Promise.all(O);let k=[];for(let e of E){let t=D.get(e);t&&k.push(t)}let j=Date.now(),ee;for(let e of f){let t=e.resumeAt.getTime(),n=Math.max(1e3,t-j),r=Math.ceil(n/1e3);(!ee||r<ee.seconds)&&(ee={seconds:r,correlationId:e.correlationId})}return r?.setAttributes({...at(`workflow_suspended`),...Ce(u.length),...A(m.length),...Ge(f.length)}),{pendingSteps:u,createdStepCorrelationIds:T,lazyInlineSteps:k,waitTimeout:b?void 0:ee,hasHookConflict:b,hasAwaitedHookCreation:x,hasAttributeEvents:p.length>0,hasHookEvents:m.length>0,hookCreationMs:S}}function Rr(e){return e instanceof Yt||e instanceof Error&&e.name===`AttributeValidationError`||jt.is(e)&&e.status===400}const zr=()=>tn(`WORKFLOW_WAIT_CONTINUATION_MAX_DELAY_SECONDS`,82800,{integer:!0,min:1}),Br=()=>tn(`WORKFLOW_NEAR_ELAPSED_WAIT_THRESHOLD_SECONDS`,2);function Vr(e,t,n=Date.now()){let r=zr();if(e<=Math.min(Br(),r))return{delaySeconds:e,idempotencyKey:`${t}:${Math.floor(n/1e3)}`};let i=Math.ceil(e/r);return{delaySeconds:Math.min(e,r),idempotencyKey:i===1?t:`${t}:hop-${i}`}}var Hr=44,Ur=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Wr=new Uint8Array(64),Gr=new Uint8Array(128);for(let e=0;e<Ur.length;e++){let t=Ur.charCodeAt(e);Wr[e]=t,Gr[t]=e}function Kr(e,t){let n=0,r=0,i=0;do i=Gr[e.next()],n|=(i&31)<<r,r+=5;while(i&32);let a=n&1;return n>>>=1,a&&(n=-2147483648|-n),t+n}function qr(e,t){return e.pos>=t?!1:e.peek()!==Hr}var Jr=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function Yr(e){let{length:t}=e,n=new Jr(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i=Kr(n,i),i<u&&(l=!1),u=i,qr(n,e)?(a=Kr(n,a),o=Kr(n,o),s=Kr(n,s),qr(n,e)?(c=Kr(n,c),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||Xr(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function Xr(e){e.sort(Zr)}function Zr(e,t){return e[0]-t[0]}const Qr=/^[\w+.-]+:\/\//,$r=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,ei=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function ti(e){return Qr.test(e)}function ni(e){return e.startsWith(`//`)}function ri(e){return e.startsWith(`/`)}function ii(e){return e.startsWith(`file:`)}function ai(e){return/^[.?#]/.test(e)}function oi(e){let t=$r.exec(e);return ci(t[1],t[2]||``,t[3],t[4]||``,t[5]||`/`,t[6]||``,t[7]||``)}function si(e){let t=ei.exec(e),n=t[2];return ci(`file:`,``,t[1]||``,``,ri(n)?n:`/`+n,t[3]||``,t[4]||``)}function ci(e,t,n,r,i,a,o){return{scheme:e,user:t,host:n,port:r,path:i,query:a,hash:o,type:7}}function li(e){if(ni(e)){let t=oi(`http:`+e);return t.scheme=``,t.type=6,t}if(ri(e)){let t=oi(`http://foo.com`+e);return t.scheme=``,t.host=``,t.type=5,t}if(ii(e))return si(e);if(ti(e))return oi(e);let t=oi(`http://foo.com/`+e);return t.scheme=``,t.host=``,t.type=e?e.startsWith(`?`)?3:e.startsWith(`#`)?2:4:1,t}function ui(e){if(e.endsWith(`/..`))return e;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function di(e,t){fi(t,t.type),e.path===`/`?e.path=t.path:e.path=ui(t.path)+e.path}function fi(e,t){let n=t<=4,r=e.path.split(`/`),i=1,a=0,o=!1;for(let e=1;e<r.length;e++){let t=r[e];if(!t){o=!0;continue}if(o=!1,t!==`.`){if(t===`..`){a?(o=!0,a--,i--):n&&(r[i++]=t);continue}r[i++]=t,a++}}let s=``;for(let e=1;e<i;e++)s+=`/`+r[e];(!s||o&&!s.endsWith(`/..`))&&(s+=`/`),e.path=s}function pi(e,t){if(!e&&!t)return``;let n=li(e),r=n.type;if(t&&r!==7){let e=li(t),i=e.type;switch(r){case 1:n.hash=e.hash;case 2:n.query=e.query;case 3:case 4:di(n,e);case 5:n.user=e.user,n.host=e.host,n.port=e.port;case 6:n.scheme=e.scheme}i>r&&(r=i)}fi(n,r);let i=n.query+n.hash;switch(r){case 2:case 3:return i;case 4:{let r=n.path.slice(1);return r?ai(t||e)&&!ai(r)?`./`+r+i:r+i:i||`.`}case 5:return n.path+i;default:return n.scheme+`//`+n.user+n.host+n.port+n.path+i}}function mi(e){if(!e)return``;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function hi(e,t){let n=mi(e),r=t?t+`/`:``;return e=>pi(r+(e||``),n)}var gi=0,_i=1,vi=2,yi=3,bi=4;function xi(e,t){let n=Si(e,0);if(n===e.length)return e;t||(e=e.slice());for(let r=n;r<e.length;r=Si(e,r+1))e[r]=wi(e[r],t);return e}function Si(e,t){for(let n=t;n<e.length;n++)if(!Ci(e[n]))return n;return e.length}function Ci(e){for(let t=1;t<e.length;t++)if(e[t][gi]<e[t-1][gi])return!1;return!0}function wi(e,t){return t||(e=e.slice()),e.sort(Ti)}function Ti(e,t){return e[gi]-t[gi]}var Ei=!1;function Di(e,t,n,r){for(;n<=r;){let i=n+(r-n>>1),a=e[i][gi]-t;if(a===0)return Ei=!0,i;a<0?n=i+1:r=i-1}return Ei=!1,n-1}function Oi(e,t,n){for(let r=n+1;r<e.length&&e[r][gi]===t;n=r++);return n}function ki(e,t,n){for(let r=n-1;r>=0&&e[r][gi]===t;n=r--);return n}function Ai(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function ji(e,t,n,r){let{lastKey:i,lastNeedle:a,lastIndex:o}=n,s=0,c=e.length-1;if(r===i){if(t===a)return Ei=o!==-1&&e[o][gi]===t,o;t>=a?s=o===-1?0:o:c=o}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=Di(e,t,s,c)}function Mi(e){return typeof e==`string`?JSON.parse(e):e}var Ni="`line` must be greater than 0 (lines start at line 1)",Pi="`column` must be greater than or equal to 0 (columns start at column 0)",Fi=class{constructor(e,t){let n=typeof e==`string`;if(!n&&e._decodedMemo)return e;let r=Mi(e),{version:i,file:a,names:o,sourceRoot:s,sources:c,sourcesContent:l}=r;this.version=i,this.file=a,this.names=o||[],this.sourceRoot=s,this.sources=c,this.sourcesContent=l,this.ignoreList=r.ignoreList||r.x_google_ignoreList||void 0;let u=hi(t,s);this.resolvedSources=c.map(u);let{mappings:d}=r;if(typeof d==`string`)this._encoded=d,this._decoded=void 0;else if(Array.isArray(d))this._encoded=void 0,this._decoded=xi(d,n);else if(r.sections)throw Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`);else throw Error(`invalid source map: ${JSON.stringify(r)}`);this._decodedMemo=Ai(),this._bySources=void 0,this._bySourceMemos=void 0}};function Ii(e){return e}function Li(e){var t;return(t=Ii(e))._decoded||(t._decoded=Yr(Ii(e)._encoded))}function Ri(e,t){let{line:n,column:r,bias:i}=t;if(n--,n<0)throw Error(Ni);if(r<0)throw Error(Pi);let a=Li(e);if(n>=a.length)return zi(null,null,null,null);let o=a[n],s=Bi(o,Ii(e)._decodedMemo,n,r,i||1);if(s===-1)return zi(null,null,null,null);let c=o[s];if(c.length===1)return zi(null,null,null,null);let{names:l,resolvedSources:u}=e;return zi(u[c[_i]],c[vi]+1,c[yi],c.length===5?l[c[bi]]:null)}function zi(e,t,n,r){return{source:e,line:t,column:n,name:r}}function Bi(e,t,n,r,i){let a=ji(e,r,t,n);return Ei?a=(i===-1?Oi:ki)(e,r,a):i===-1&&a++,a===-1||a===e.length?-1:a}function Vi(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47||e===61}function Hi(e){let t=0;for(;t<e.length;){let n=e.indexOf(`//# sourceMappingURL=data:application/json`,t);if(n===-1)return;let r=e.indexOf(`;base64,`,n+42);if(r===-1){t=n+42;continue}let i=e.indexOf(`,`,n);if(i!==-1&&i<r){t=r+8;continue}let a=r+8,o=a;for(;o<e.length&&Vi(e.charCodeAt(o));)o++;if(o>a)return e.slice(a,o);t=o}}const Ui=new Map;function Wi(e){let t=Ui.get(e);if(t!==void 0)return Ui.delete(e),Ui.set(e,t),t;let n=null,r=Hi(e);if(r)try{let e=Buffer.from(r,`base64`).toString(`utf-8`);n=new Fi(JSON.parse(e))}catch{n=null}for(Ui.set(e,n);Ui.size>8;){let e=Ui.keys().next().value;if(e===void 0)break;Ui.delete(e)}return n}function Gi(e,t,n){if(!e.includes(t))return e;let r=Wi(n);if(!r)return e;try{return e.split(`
2
+ `).map(e=>{let n=e.match(/^\s*at\s+(?:(.+?)\s+\()?(.+?):(\d+):(\d+)\)?$/);if(!n)return e;let[,i,a,o,s]=n;if(!a.includes(t))return e;let c=parseInt(o,10),l=parseInt(s,10),u=Ri(r,{line:c,column:l});if(u.source&&u.line!==null){let e=i||u.name||`anonymous`,t=u.column===null?l:u.column;return` at ${e} (${u.source}:${u.line}:${t})`}return e}).join(`
3
+ `)}catch{return e}}function Ki(e,t,n){let r=(2<<31-Math.clz32(e.length-1|1))-1,i=Math.ceil(1.6*r*t/e.length);return(a=t)=>{if(!a)return``;let o=``;for(;;){let t=n(i),s=i;for(;s--;)if(o+=e[t[s]&r]||``,o.length>=a)return o}}}function qi(e){return function(t,n){let r=function(...r){let{promise:i,resolve:a,reject:o}=Et(),s=`step_${e.generateUlid()}`,c={type:`step`,correlationId:s,stepName:t,args:r};this!==void 0&&this!==null&&this!==globalThis&&(c.thisVal=this);let l=n?.();return l&&(c.closureVars=l),e.invocationsQueue.set(s,c),v.debug(`Step consumer setup`,{correlationId:s,stepName:t,args:r}),e.eventsConsumer.subscribe(n=>{if(!n)return Ct(e,()=>{e.onWorkflowError(new U(e.invocationsQueue,e.globalThis))}),z.NotConsumed;if(v.debug(`Step consumer event processing`,{correlationId:s,stepName:t,args:r.join(`, `),incomingCorrelationId:n.correlationId,isMatch:s===n.correlationId,eventType:n.eventType}),n.correlationId!==s)return z.NotConsumed;let i=`eventData`in n&&n.eventData&&`stepName`in n.eventData?n.eventData.stepName:void 0;if(typeof i==`string`&&i!==t)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new X(`Replay divergence: step event ${n.eventType} for ${s} belongs to "${i}", but the current step consumer is "${t}"`,{eventId:n.eventId}))}),z.Finished;if(n.eventType===`step_created`){let r=e.invocationsQueue.get(s);return!r||r.type!==`step`?(e.promiseQueue=e.promiseQueue.then(()=>{o(new X(`Replay divergence: step ${s} (${t}) created but not found in invocation queue`,{eventId:n.eventId}))}),z.Finished):(r.hasCreatedEvent=!0,z.Consumed)}if(n.eventType===`step_started`){let t=e.invocationsQueue.get(s);return t&&t.type===`step`&&(t.ownerMessageId=`eventData`in n&&n.eventData&&`ownerMessageId`in n.eventData&&typeof n.eventData.ownerMessageId==`string`?n.eventData.ownerMessageId:void 0,t.lastStartedAt=+n.createdAt),z.Consumed}if(n.eventType===`step_retrying`){let t=e.invocationsQueue.get(s);return t&&t.type===`step`&&(t.sawRetrying=!0,t.ownerMessageId=void 0),z.Consumed}if(n.eventType===`step_failed`){e.invocationsQueue.delete(n.correlationId);let t=e.eventsConsumer.eventIndex,r=Tt(e,t,`step`),i,a=Dt(e,t,`step`);return e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{let t=await e.replayPayloadCache.prepareEventPayload(n.eventId,`error`,n.eventData.error);i=await Ve(n.eventData.error,e.runId,e.encryptionKey,e.globalThis,{},t)}catch(e){v.error(`Failed to hydrate step_failed error`,{correlationId:n.correlationId,error:e instanceof Error?e.message:String(e)}),i=new Y(`Failed to hydrate step error: ${e instanceof Error?e.message:String(e)}`)}finally{e.pendingDeliveries--}a.then(()=>{r.markDelivered(),o(i)})}),z.Finished}if(n.eventType===`step_completed`){e.invocationsQueue.delete(n.correlationId);let t=n.eventId,r=n.eventData.result,i=e.eventsConsumer.eventIndex,s=Tt(e,i,`step`),c,l=Dt(e,i,`step`);return e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{c={ok:!0,value:await e.replayPayloadCache.getStepResult(t,async()=>{let n=await e.replayPayloadCache.prepareEventPayload(t,`result`,r);return await N(r,e.runId,e.encryptionKey,e.globalThis,{},n)})}}catch(e){c={ok:!1,error:e}}finally{e.pendingDeliveries--}l.then(()=>{s.markDelivered(),c.ok?a(c.value):o(c.error)})}),z.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new X(`Replay divergence: Unexpected event type for step ${s} (name: ${t}) "${n.eventType}"`,{eventId:n.eventId}))}),z.Finished}),i},i=t.split(`//`).pop();return Object.defineProperty(r,"name",{value:i}),Object.defineProperty(r,"stepId",{value:t,writable:!1,enumerable:!1,configurable:!1}),n&&Object.defineProperty(r,"__closureVarsFn",{value:n,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(r,"bind",{value:function(e,...r){let i=Function.prototype.bind.call(this,e,...r);return Object.defineProperty(i,"stepId",{value:t,writable:!1,enumerable:!1,configurable:!1}),n&&Object.defineProperty(i,"__closureVarsFn",{value:n,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(i,"__boundThis",{value:e,writable:!1,enumerable:!1,configurable:!1}),r.length>0&&Object.defineProperty(i,"__boundArgs",{value:r,writable:!1,enumerable:!1,configurable:!1}),i},writable:!1,enumerable:!1,configurable:!1}),r}}var Ji=r(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=o();t.next=function(){var e=2091639*t.s0+t.c*23283064365386963e-26;return t.s0=t.s1,t.s1=t.s2,t.s2=e-(t.c=e|0)},t.c=1,t.s0=n(` `),t.s1=n(` `),t.s2=n(` `),t.s0-=n(e),t.s0<0&&(t.s0+=1),t.s1-=n(e),t.s1<0&&(t.s1+=1),t.s2-=n(e),t.s2<0&&(t.s2+=1),n=null}function i(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function a(e,t){var n=new r(e),a=t&&t.state,o=n.next;return o.int32=function(){return n.next()*4294967296|0},o.double=function(){return o()+(o()*2097152|0)*11102230246251565e-32},o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}function o(){var e=4022871197;return function(t){t=String(t);for(var n=0;n<t.length;n++){e+=t.charCodeAt(n);var r=.02519603282416938*e;e=r>>>0,r-=e,r*=e,e=r>>>0,r-=e,e+=r*4294967296}return(e>>>0)*23283064365386963e-26}}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.alea=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),Yi=r(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(e|0)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=n.charCodeAt(r)|0,t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xor128=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),Xi=r(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^(e^e<<1))|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(e|0)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=n.charCodeAt(r)|0,r==n.length&&(t.d=t.x<<10^t.x>>>4),t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xorwow=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),Zi=r(((e,t)=>{(function(e,t,n){function r(e){var t=this;t.next=function(){var e=t.x,n=t.i,r=e[n],i;return r^=r>>>7,i=r^r<<24,r=e[n+1&7],i^=r^r>>>10,r=e[n+3&7],i^=r^r>>>3,r=e[n+4&7],i^=r^r<<7,r=e[n+7&7],r^=r<<13,i^=r^r<<9,e[n]=i,t.i=n+1&7,i};function n(e,t){var n,r=[];if(t===(t|0))r[0]=t;else for(t=``+t,n=0;n<t.length;++n)r[n&7]=r[n&7]<<15^t.charCodeAt(n)+r[n+1&7]<<13;for(;r.length<8;)r.push(0);for(n=0;n<8&&r[n]===0;++n);for(n==8?r[7]=-1:r[n],e.x=r,e.i=0,n=256;n>0;--n)e.next()}n(t,e)}function i(e,t){return t.x=e.x.slice(),t.i=e.i,t}function a(e,t){e??=+new Date;var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(a.x&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xorshift7=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),Qi=r(((e,t)=>{(function(e,t,n){function r(e){var t=this;t.next=function(){var e=t.w,n=t.X,r=t.i,i,a;return t.w=e=e+1640531527|0,a=n[r+34&127],i=n[r=r+1&127],a^=a<<13,i^=i<<17,a^=a>>>15,i^=i>>>12,a=n[r]=a^i,t.i=r,a+(e^e>>>16)|0};function n(e,t){var n,r,i,a,o,s=[],c=128;for(t===(t|0)?(r=t,t=null):(t+=`\0`,r=0,c=Math.max(c,t.length)),i=0,a=-32;a<c;++a)t&&(r^=t.charCodeAt((a+32)%t.length)),a===0&&(o=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,a>=0&&(o=o+1640531527|0,n=s[a&127]^=r+o,i=n==0?i+1:0);for(i>=128&&(s[(t&&t.length||0)&127]=-1),i=127,a=512;a>0;--a)r=s[i+34&127],n=s[i=i+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,s[i]=r^n;e.w=o,e.X=s,e.i=i}n(t,e)}function i(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function a(e,t){e??=+new Date;var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(a.X&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xor4096=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),$i=r(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.next=function(){var e=t.b,n=t.c,r=t.d,i=t.a;return e=e<<25^e>>>7^n,n=n-r|0,r=r<<24^r>>>8^i,i=i-e|0,t.b=e=e<<20^e>>>12^n,t.c=n=n-r|0,t.d=r<<16^n>>>16^i,t.a=i-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=e|0):n+=e;for(var r=0;r<n.length+20;r++)t.b^=n.charCodeAt(r)|0,t.next()}function i(e,t){return t.a=e.a,t.b=e.b,t.c=e.c,t.d=e.d,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.tychei=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),ea=r(((t,n)=>{(function(t,r,i){var a=256,o=6,s=52,c=`random`,l=i.pow(a,o),u=i.pow(2,s),d=u*2,f=a-1,p;function m(e,t,n){var s=[];t=t==1?{entropy:!0}:t||{};var f=v(_(t.entropy?[e,b(r)]:e??y(),3),s),p=new h(s),m=function(){for(var e=p.g(o),t=l,n=0;e<u;)e=(e+n)*a,t*=a,n=p.g(1);for(;e>=d;)e/=2,t/=2,n>>>=1;return(e+n)/t};return m.int32=function(){return p.g(4)|0},m.quick=function(){return p.g(4)/4294967296},m.double=m,v(b(p.S),r),(t.pass||n||function(e,t,n,r){return r&&(r.S&&g(r,p),e.state=function(){return g(p,{})}),n?(i[c]=e,t):e})(m,f,`global`in t?t.global:this==i,t.state)}function h(e){var t,n=e.length,r=this,i=0,o=r.i=r.j=0,s=r.S=[];for(n||(e=[n++]);i<a;)s[i]=i++;for(i=0;i<a;i++)s[i]=s[o=f&o+e[i%n]+(t=s[i])],s[o]=t;(r.g=function(e){for(var t,n=0,i=r.i,o=r.j,s=r.S;e--;)t=s[i=f&i+1],n=n*a+s[f&(s[i]=s[o=f&o+t])+(s[o]=t)];return r.i=i,r.j=o,n})(a)}function g(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function _(e,t){var n=[],r=typeof e,i;if(t&&r==`object`)for(i in e)try{n.push(_(e[i],t-1))}catch{}return n.length?n:r==`string`?e:e+`\0`}function v(e,t){for(var n=e+``,r,i=0;i<n.length;)t[f&i]=f&(r^=t[f&i]*19)+n.charCodeAt(i++);return b(t)}function y(){try{var e;return p&&(e=p.randomBytes)?e=e(a):(e=new Uint8Array(a),(t.crypto||t.msCrypto).getRandomValues(e)),b(e)}catch{var n=t.navigator,i=n&&n.plugins;return[+new Date,t,i,t.screen,b(r)]}}function b(e){return String.fromCharCode.apply(0,e)}if(v(i.random(),r),typeof n==`object`&&n.exports){n.exports=m;try{p=e(`crypto`)}catch{}}else typeof define==`function`&&define.amd?define(function(){return m}):i[`seed`+c]=m})(typeof self<`u`?self:t,[],Math)})),ta=t(r(((e,t)=>{var n=Ji(),r=Yi(),i=Xi(),a=Zi(),o=Qi(),s=$i(),c=ea();c.alea=n,c.xor128=r,c.xorwow=i,c.xorshift7=a,c.xor4096=o,c.tychei=s,t.exports=c}))(),1);const na=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,ra=new Uint8Array(128).fill(255);for(let e=0;e<64;e++)ra[na.charCodeAt(e)]=e;function ia(e){return e===9||e===10||e===12||e===13||e===32}function aa(e,t){for(;t<e.length&&ia(e.charCodeAt(t));)t++;return t}function oa(e,t){let n=e.length,r=e;n===2?r=e+`AA`:n===3&&(r=e+`A`);let i=ra[r.charCodeAt(0)],a=ra[r.charCodeAt(1)],o=ra[r.charCodeAt(2)],s=ra[r.charCodeAt(3)],c=i<<2|a>>4,l=(a&15)<<4|o>>2,u=(o&3)<<6|s;if(n===2){if(t&&l!==0)throw SyntaxError(`Extra bits in base64 chunk`);return[c]}if(n===3){if(t&&u!==0)throw SyntaxError(`Extra bits in base64 chunk`);return[c,l]}return[c,l,u]}function sa(e,t,n,r){if(r===void 0&&(r=2**53-1),r===0)return{read:0,bytes:[],error:null};let i=0,a=[],o=``,s=0,c=0,l=e.length;for(;;){if(c=aa(e,c),c===l){if(s>0){if(n===`stop-before-partial`)return{read:i,bytes:a,error:null};if(n===`loose`){if(s===1)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: lone character in final chunk`)};a.push(...oa(o,!1))}else return{read:i,bytes:a,error:SyntaxError(`Invalid base64: incomplete chunk in strict mode`)}}return{read:l,bytes:a,error:null}}let u=e[c];if(c++,u===`=`){if(s<2)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: padding in unexpected place`)};if(c=aa(e,c),s===2){if(c===l)return n===`stop-before-partial`?{read:i,bytes:a,error:null}:{read:i,bytes:a,error:SyntaxError(`Invalid base64: missing second padding character`)};u=e[c],u===`=`&&(c=aa(e,c+1))}if(c<l)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: unexpected characters after padding`)};let t=n===`strict`;try{a.push(...oa(o,t))}catch(e){return{read:i,bytes:a,error:e}}return{read:l,bytes:a,error:null}}if(t===`base64url`){if(u===`+`||u===`/`)return{read:i,bytes:a,error:SyntaxError(`Invalid base64url: unexpected character '${u}'`)};u===`-`?u=`+`:u===`_`&&(u=`/`)}let d=u.charCodeAt(0);if(d>=128||ra[d]===255)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: unexpected character '${e[c-1]}'`)};let f=r-a.length;if(f===1&&s===2||f===2&&s===3||(o+=u,s=o.length,s===4&&(a.push(...oa(o)),o=``,s=0,i=c,a.length===r)))return{read:i,bytes:a,error:null}}}function ca(e,t){t===void 0&&(t=2**53-1);let n=e.length,r=[],i=0;if(n%2!=0)return{read:0,bytes:[],error:SyntaxError(`Invalid hex: string length must be even`)};for(;i<n&&r.length<t;){let t=e.substring(i,i+2);if(!/^[0-9a-fA-F]{2}$/.test(t))return{read:i,bytes:r,error:SyntaxError(`Invalid hex: unexpected character at position ${i}`)};i+=2,r.push(Number.parseInt(t,16))}return{read:i,bytes:r,error:null}}function la(e,t){let n=t?.alphabet??`base64`;if(n!==`base64`&&n!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${n}"`);let r=!!t?.omitPadding,i=``,a=e.length;for(let t=0;t<a;t+=3){let n=e[t],o=t+1<a?e[t+1]:0,s=t+2<a?e[t+2]:0;i+=na[n>>2&63],i+=na[(n&3)<<4|o>>4&15],t+1<a?i+=na[(o&15)<<2|s>>6&3]:r||(i+=`=`),t+2<a?i+=na[s&63]:r||(i+=`=`)}return n===`base64url`&&(i=i.replace(/\+/g,`-`).replace(/\//g,`_`)),i}function ua(e){let t=``;for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,`0`);return t}function da(e){let t=e.prototype,n=e;t.toBase64||Object.defineProperty(t,"toBase64",{value:function(t){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);return la(this,t)},writable:!0,enumerable:!1,configurable:!0}),t.toHex||Object.defineProperty(t,"toHex",{value:function(){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);return ua(this)},writable:!0,enumerable:!1,configurable:!0}),t.setFromBase64||Object.defineProperty(t,"setFromBase64",{value:function(t,n){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);if(typeof t!=`string`)throw TypeError(`expected a string`);let r=n?.alphabet??`base64`;if(r!==`base64`&&r!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${r}"`);let i=n?.lastChunkHandling??`loose`;if(i!==`loose`&&i!==`strict`&&i!==`stop-before-partial`)throw TypeError(`Invalid lastChunkHandling: expected "loose", "strict", or "stop-before-partial", got "${i}"`);let a=sa(t,r,i,this.length),o=a.bytes,s=o.length;for(let e=0;e<s;e++)this[e]=o[e];if(a.error)throw a.error;return{read:a.read,written:s}},writable:!0,enumerable:!1,configurable:!0}),t.setFromHex||Object.defineProperty(t,"setFromHex",{value:function(t){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);if(typeof t!=`string`)throw TypeError(`expected a string`);let n=ca(t,this.length),r=n.bytes,i=r.length;for(let e=0;e<i;e++)this[e]=r[e];if(n.error)throw n.error;return{read:n.read,written:i}},writable:!0,enumerable:!1,configurable:!0}),n.fromBase64||Object.defineProperty(e,"fromBase64",{value:function(t,n){if(typeof t!=`string`)throw TypeError(`expected a string`);let r=n?.alphabet??`base64`;if(r!==`base64`&&r!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${r}"`);let i=n?.lastChunkHandling??`loose`;if(i!==`loose`&&i!==`strict`&&i!==`stop-before-partial`)throw TypeError(`Invalid lastChunkHandling: expected "loose", "strict", or "stop-before-partial", got "${i}"`);let a=sa(t,r,i);if(a.error)throw a.error;return new e(a.bytes)},writable:!0,enumerable:!1,configurable:!0}),n.fromHex||Object.defineProperty(e,"fromHex",{value:function(t){if(typeof t!=`string`)throw TypeError(`expected a string`);let n=ca(t);if(n.error)throw n.error;return new e(n.bytes)},writable:!0,enumerable:!1,configurable:!0})}function fa(e){return function(){let t=`0123456789abcdef`,n=``;for(let r=0;r<36;r++)r===8||r===13||r===18||r===23?n+=`-`:r===14?n+=`4`:r===19?n+=t[Math.floor(e()*4)+8]:n+=t[Math.floor(e()*16)];return n}}const pa={"SHA-1":`sha1`,"SHA-256":`sha256`,"SHA-384":`sha384`,"SHA-512":`sha512`};function ma(e){if(Q.isTypedArray(e)||Q.isDataView(e)){if(Q.isSharedArrayBuffer(e.buffer))throw TypeError(`crypto.subtle.digest does not accept SharedArrayBuffer-backed views`);return e}if(!Q.isArrayBuffer(e))throw TypeError(`data must be an ArrayBuffer or ArrayBufferView`);return new Uint8Array(e)}function ha(e){let{fixedTimestamp:t}=e,{seed:n}=e,r=(0,ta.default)(n),i=wn(),a=Tn(`globalThis`,i);a.Math.random=r;let o=a.Date;a.Date=function(...e){return e.length===0?new o(t):new o(...e)},a.Date.prototype=o.prototype,Object.setPrototypeOf(a.Date,o),a.Date.now=()=>t;let s=globalThis.crypto,c=s.subtle;function l(e){for(let t=0;t<e.length;t++)e[t]=Math.floor(r()*256);return e}let u=fa(r),d=a;delete d.Atomics.waitAsync,delete d.WebAssembly.compile,delete d.WebAssembly.instantiate,delete d.WebAssembly.compileStreaming,delete d.WebAssembly.instantiateStreaming,delete d.WeakRef,delete d.FinalizationRegistry;let f=async(e,t)=>{let n=typeof e==`string`?e:e.name,r=pa[n.toUpperCase()];if(!r)throw new DOMException(`Unrecognized algorithm name: ${n}`,`NotSupportedError`);let i=xn(r).update(ma(t)).digest(),a=new ArrayBuffer(i.byteLength);return new Uint8Array(a).set(i),a};return a.crypto=new Proxy(s,{get(e,t){return t===`getRandomValues`?l:t===`randomUUID`?u:t===`subtle`?new Proxy(c,{get(e,t){if(t===`digest`)return f;let n=e[t];return typeof n==`function`?()=>{throw new K(`\`crypto.subtle.${String(t)}()\` is not available inside a workflow function. Move it to a step function where full Node.js crypto is available.`)}:n}}):e[t]}}),a.process={env:Object.freeze({...process.env})},a.DOMException=globalThis.DOMException,a.Headers=globalThis.Headers,a.TextEncoder=globalThis.TextEncoder,a.TextDecoder=globalThis.TextDecoder,a.console=globalThis.console,a.URL=globalThis.URL,a.URLSearchParams=globalThis.URLSearchParams,a.structuredClone=globalThis.structuredClone,a.atob=globalThis.atob,a.btoa=globalThis.btoa,da(a.Uint8Array),a.Symbol.dispose??=Symbol.for(`Symbol.dispose`),a.Symbol.asyncDispose??=Symbol.for(`Symbol.asyncDispose`),a.exports={},a.module={exports:a.exports},{context:i,globalThis:a,updateTimestamp:e=>{t=e}}}const ga=new Map;function _a(e){let t=ga.get(e);if(t!==void 0)return ga.delete(e),ga.set(e,t),t}function va(e,t){let n=_a(e);if(n===void 0)for(n=new Map,ga.set(e,n);ga.size>8;){let e=ga.keys().next().value;if(e===void 0)break;ga.delete(e)}let r=n.get(t);return r===void 0&&(r=new Cn(e,{filename:t}),n.set(t,r)),r}function ya(e,t,n){return va(e,t).runInContext(n)}function ba(e){return async function(t,n={}){let{promise:r,resolve:i}=Et(),a=`attr_${e.generateUlid()}`,o={type:`attribute`,correlationId:a,changes:t,...n.allowReservedAttributes===!0?{allowReservedAttributes:!0}:{}};return e.invocationsQueue.set(a,o),e.eventsConsumer.subscribe(r=>r?r.correlationId===a?r.eventType!==`attr_set`||r.eventData.writer.type!==`workflow`||JSON.stringify(r.eventData.changes)!==JSON.stringify(t)||r.eventData.allowReservedAttributes===!0!=(n.allowReservedAttributes===!0)?(e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new X(`Replay divergence: Unexpected attribute event for ${a}`,{eventId:r.eventId}))}),z.Finished):(e.invocationsQueue.delete(a),e.promiseQueue=e.promiseQueue.then(()=>{i()}),z.Finished):z.NotConsumed:(Ct(e,()=>{e.onWorkflowError(new U(e.invocationsQueue,e.globalThis))}),z.NotConsumed)),r}}function xa(e,t){if(typeof t!=`string`)return null;let n=pt(Pe,e.globalThis),r=n?.[yt];return typeof r==`function`?r.call(n,{runId:t}):null}function Sa(e){return function(t={}){if(t.token===``)throw Error("`createHook()` was called with an empty string token. Pass a non-empty token, or omit the `token` option to use a randomly generated one.");if(t.isWebhook===!0&&t.experimental_minRetention!==void 0)throw Error("Webhook hooks do not support `experimental_minRetention`. Use a non-webhook `createHook()` with `resumeHook()`.");if(t.experimental_minRetention!==void 0&&e.worldCapabilities?.hookRetention?.active!==!0)throw new Y("The configured World does not support `experimental_minRetention` for Hooks.");let n=`hook_${e.generateUlid()}`,r=t.token??e.generateNanoid(),i=t.experimental_minRetention===void 0?void 0:Ot(t.experimental_minRetention),a=t.isWebhook??!1;e.invocationsQueue.set(n,{type:`hook`,correlationId:n,token:r,tokenRetentionUntil:i,metadata:t.metadata,isWebhook:a});let o=[],s=[],c=[],l=!1,u=!1,d=!1,f=!1,p=null,m=null;O.debug(`Hook consumer setup`,{correlationId:n,token:r}),e.eventsConsumer.subscribe(t=>{if(!t)return l=!0,(s.length>0&&o.length===0||c.length>0&&!u&&!f)&&Ct(e,()=>{e.onWorkflowError(new U(e.invocationsQueue,e.globalThis))}),z.NotConsumed;if(t.correlationId!==n)return z.NotConsumed;let i=`eventData`in t&&t.eventData&&`token`in t.eventData?t.eventData.token:void 0;if(typeof i==`string`&&i!==r)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new X(`Replay divergence: hook event ${t.eventType} for ${n} belongs to token "${i}", but the current hook consumer expects "${r}"`,{eventId:t.eventId}))}),z.Finished;if(t.eventType===`hook_created`){let r=e.invocationsQueue.get(n);r&&r.type===`hook`&&(r.hasCreatedEvent=!0,r.tokenRetentionUntil=t.eventData.tokenRetentionUntil),u=!0;let i=c.slice();return c.length=0,e.promiseQueue=e.promiseQueue.then(()=>{for(let e of i)e.resolve(null)}),z.Consumed}if(t.eventType===`hook_conflict`){e.invocationsQueue.delete(n);let r=t,i=new Nt(r.eventData.token,r.eventData.conflictingRunId);f=!0,p=i,m=xa(e,r.eventData.conflictingRunId);let a=s.slice();s.length=0;let o=c.slice();return c.length=0,e.promiseQueue=e.promiseQueue.then(()=>{for(let e of a)e.reject(i);for(let e of o)m?e.resolve(m):e.reject(i)}),z.Consumed}if(t.eventType===`hook_received`){let n=e.eventsConsumer.eventIndex,r=s.length>0,i=Tt(e,n,`hook`,{armed:r});if(r){let r=Dt(e,n,`hook`),a=s.shift();if(a){e.pendingDeliveries++;let n;e.promiseQueue=e.promiseQueue.then(async()=>{try{let r=await e.replayPayloadCache.prepareEventPayload(t.eventId,`payload`,t.eventData.payload);n={ok:!0,value:await N(t.eventData.payload,e.runId,e.encryptionKey,e.globalThis,{},r)}}catch(e){n={ok:!1,error:e}}finally{e.pendingDeliveries--}r.then(()=>{i.markDelivered(),n.ok?a.resolve(n.value):a.reject(n.error)})})}}else{let r,a=Et();e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{let n=await e.replayPayloadCache.prepareEventPayload(t.eventId,`payload`,t.eventData.payload);r={ok:!0,value:await N(t.eventData.payload,e.runId,e.encryptionKey,e.globalThis,{},n)}}catch(e){r={ok:!1,error:e}}finally{e.pendingDeliveries--,a.resolve()}}),o.push({claim:()=>(i.arm(),a.promise.then(()=>Dt(e,n,`hook`)).then(()=>{if(i.markDelivered(),r&&!r.ok)throw r.error;return r.value}))})}return z.Consumed}return t.eventType===`hook_disposed`?(e.invocationsQueue.delete(n),d=!0,z.Finished):(e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new X(`Replay divergence: Unexpected event type for hook ${n} (token: ${r}) "${t.eventType}"`,{eventId:t.eventId}))}),z.Finished)});let h=!1;function g(){let t=Et();if(f&&p)return e.promiseQueue=e.promiseQueue.then(()=>{t.reject(p)}),t.promise;if(o.length>0){let e=o.shift();if(e)return e.claim()}return l&&Ct(e,()=>{e.onWorkflowError(new U(e.invocationsQueue,e.globalThis))}),s.push(t),t.promise}function _(){let t=Et();if(u)return e.promiseQueue=e.promiseQueue.then(()=>{t.resolve(null)}),t.promise;if(f)return e.promiseQueue=e.promiseQueue.then(()=>{m?t.resolve(m):t.reject(p)}),t.promise;let r=e.invocationsQueue.get(n);return r&&r.type===`hook`&&(r.hasConflictAwaiter=!0),l&&Ct(e,()=>{e.onWorkflowError(new U(e.invocationsQueue,e.globalThis))}),c.push(t),t.promise}function v(){if(h||(h=!0,d))return;let t=e.invocationsQueue.get(n);t&&t.type===`hook`&&(t.disposed=!0),s.length>0&&(s.length=0,Ct(e,()=>{e.onWorkflowError(new U(e.invocationsQueue,e.globalThis))})),O.debug(`Hook disposed`,{correlationId:n,token:r})}let y={token:r,getConflict(){return _()},then(e,t){return g().then(e,t)},async*[Symbol.asyncIterator](){for(;!h;)yield await this},dispose:v,[Symbol.dispose]:v},b=e.globalThis.Symbol.dispose;return b&&b!==Symbol.dispose&&(y[b]=v),y}}function Ca(e){return async function(t){let{promise:n,resolve:r}=Et(),i=`wait_${e.generateUlid()}`,a=Ot(t),o={type:`wait`,correlationId:i,resumeAt:a};return e.invocationsQueue.set(i,o),e.eventsConsumer.subscribe(t=>{if(!t)return Ct(e,()=>{e.onWorkflowError(new U(e.invocationsQueue,e.globalThis))}),z.NotConsumed;if(t.correlationId!==i)return z.NotConsumed;if(t.eventType===`wait_created`){let n=e.invocationsQueue.get(i);return n&&n.type===`wait`&&(n.hasCreatedEvent=!0,n.resumeAt=t.eventData.resumeAt),z.Consumed}if(t.eventType===`wait_completed`){let n=t.eventData?.resumeAt;if(n!==void 0){let r=e.invocationsQueue.get(i),o=r&&r.type===`wait`?r.resumeAt:a,s=new Date(n),c=s.getTime(),l=o.getTime(),u=Number.isFinite(c)?s.toISOString():String(n);if(c!==l)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new X(`Replay divergence: wait_completed event for ${i} has resumeAt "${u}", but the current wait consumer expects "${o.toISOString()}"`,{eventId:t.eventId}))}),z.Finished}e.invocationsQueue.delete(i);let o=e.eventsConsumer.eventIndex,s=Tt(e,o,`wait`),c=Dt(e,o,`wait`);return e.promiseQueue.then(()=>c).then(()=>{s.markDelivered(),r()}),z.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new X(`Replay divergence: Unexpected event type for wait ${i} "${t.eventType}"`,{eventId:t.eventId}))}),z.Finished}),n}}async function wa(e,t,n,r,i,a){if(t.size!==0){for(let e of t.values())e.type===`hook`&&e.isSystem&&!e.disposed&&!e.abortRequested&&(e.disposed=!0);try{let e=await cr();await Lr({suspension:new U(t,n),world:e,run:r,runReadyBarrier:a})}catch(t){V.warn(`Failed to drain pending queue items for ${i} workflow run`,{workflowRunId:e,message:t instanceof Error?t.message:String(t)})}}}async function Ta(e,t,n,r,i=new jn(r),a,o){return W(`workflow.run ${t.workflowName}`,async s=>{s?.setAttributes({...rt(t.workflowName),...Je(t.runId),...at(t.status),...y(n.length)});let l=t.startedAt;if(!l)throw new K(`Workflow run "${t.runId}" has no "startedAt" timestamp (should not happen)`);let u=pr(t.runId)??+t.createdAt,f=At(process.env.VERCEL_URL===void 0?`http://localhost:${await wr()??3e3}`:`https://${process.env.VERCEL_URL}`),{context:m,globalThis:h,updateTimestamp:_}=ha({seed:`${t.runId}:${t.workflowName}:${t.deploymentId}`,fixedTimestamp:u}),v=Et(),x=$t(()=>h.Math.random()),w=Ki(`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`,21,e=>new Uint8Array(e).map(()=>256*h.Math.random())),T={current:Promise.resolve()},E=new xt(n,{onConsumedEvent:e=>{_(+e.createdAt)},onUnconsumedEvent:e=>{v.reject(new X(`Replay could not consume event: eventType=${e.eventType}, correlationId=${e.correlationId}, eventId=${e.eventId}.`,{eventId:e.eventId}))},getPromiseQueue:()=>T.current}),D={runId:t.runId,encryptionKey:r,worldCapabilities:o,globalThis:h,onWorkflowError:v.reject,eventsConsumer:E,generateUlid:()=>x(u),generateNanoid:w,invocationsQueue:new Map,get promiseQueue(){return T.current},set promiseQueue(e){T.current=e},pendingDeliveries:0,pendingDeliveryBarriers:new Map,replayPayloadCache:i};D.eventsConsumer.subscribe(e=>e&&(e.eventType===`run_created`||e.eventType===`run_started`||e.eventType===`attr_set`&&e.eventData.writer.type===`step`)?z.Consumed:z.NotConsumed);let O=qi(D),k=Sa(D),A=Ca(D),M=ba(D);h[ee]=O,h[g]=M,h[F]=k,h[C]=A,h[L]=e=>b(t.runId,e),h[Kt]={workflowName:t.workflowName,workflowRunId:t.runId,workflowStartedAt:new h.Date(+l),url:f,features:{encryption:!!r}},h[d]=x,h.fetch=()=>{throw new h.Error(`Global "fetch" is unavailable in workflow functions. Use the "fetch" step function from "workflow" to make HTTP requests.\n\nLearn more: https://workflow-sdk.dev/err/${Lt.FETCH_IN_WORKFLOW_FUNCTION}`)};let N=`Timeout functions like "setTimeout" and "setInterval" are not supported in workflow functions. Use the "sleep" function from "workflow" for time-based delays.`;h.setTimeout=()=>{throw new K(N,{slug:Lt.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.setInterval=()=>{throw new K(N,{slug:Lt.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.clearTimeout=()=>{throw new K(N,{slug:Lt.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.clearInterval=()=>{throw new K(N,{slug:Lt.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.setImmediate=()=>{throw new K(N,{slug:Lt.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.clearImmediate=()=>{throw new K(N,{slug:Lt.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.AbortController=j(D);let te=S();h.AbortSignal={abort:te.abort,any:te.any,timeout:te.timeout};class ne{cache;credentials;destination;headers;integrity;method;mode;redirect;referrer;referrerPolicy;url;keepalive;signal;duplex;body;constructor(e,t){if(typeof e==`string`||e instanceof h.URL){let t=String(e);try{new h.URL(t),this.url=t}catch(e){throw TypeError(`Failed to parse URL from ${t}`,{cause:e})}}else{if(this.url=e.url,!t){this.method=e.method,this.headers=new h.Headers(e.headers),this.body=e.body,this.mode=e.mode,this.credentials=e.credentials,this.cache=e.cache,this.redirect=e.redirect,this.referrer=e.referrer,this.referrerPolicy=e.referrerPolicy,this.integrity=e.integrity,this.keepalive=e.keepalive,this.signal=e.signal,this.duplex=e.duplex,this.destination=e.destination;return}this.method=e.method,this.headers=new h.Headers(e.headers),this.body=e.body,this.mode=e.mode,this.credentials=e.credentials,this.cache=e.cache,this.redirect=e.redirect,this.referrer=e.referrer,this.referrerPolicy=e.referrerPolicy,this.integrity=e.integrity,this.keepalive=e.keepalive,this.signal=e.signal,this.duplex=e.duplex,this.destination=e.destination}t?.method?this.method=t.method.toUpperCase():typeof this.method!=`string`&&(this.method=`GET`),t?.headers?this.headers=new h.Headers(t.headers):(typeof e==`string`||e instanceof h.URL)&&(this.headers=new h.Headers),t?.mode===void 0?typeof this.mode!=`string`&&(this.mode=`cors`):this.mode=t.mode,t?.credentials===void 0?typeof this.credentials!=`string`&&(this.credentials=`same-origin`):this.credentials=t.credentials,t?.cache===void 0?typeof this.cache!=`string`&&(this.cache=`default`):this.cache=t.cache,t?.redirect===void 0?typeof this.redirect!=`string`&&(this.redirect=`follow`):this.redirect=t.redirect,t?.referrer===void 0?typeof this.referrer!=`string`&&(this.referrer=`about:client`):this.referrer=t.referrer,t?.referrerPolicy===void 0?typeof this.referrerPolicy!=`string`&&(this.referrerPolicy=``):this.referrerPolicy=t.referrerPolicy,t?.integrity===void 0?typeof this.integrity!=`string`&&(this.integrity=``):this.integrity=t.integrity,t?.keepalive===void 0?typeof this.keepalive!=`boolean`&&(this.keepalive=!1):this.keepalive=t.keepalive,t?.signal===void 0?this.signal||={aborted:!1}:this.signal=t.signal,this.duplex||=`half`,this.destination||=`document`;let n=t?.body;if(n!=null&&(this.method===`GET`||this.method===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body.`);n==null?this.body=null:this.body=Object.create(h.ReadableStream.prototype,{[p]:{value:n,writable:!1}})}clone(){G()}get bodyUsed(){return!1}blob;formData;arrayBuffer;json;text;async bytes(){return new Uint8Array(await this.arrayBuffer())}}h.Request=ne,Object.defineProperties(ne.prototype,{arrayBuffer:{value:O(`__builtin_response_array_buffer`),writable:!0,configurable:!0},json:{value:O(`__builtin_response_json`),writable:!0,configurable:!0},text:{value:O(`__builtin_response_text`),writable:!0,configurable:!0}});class I{type;url;status;statusText;body;headers;redirected;constructor(e,t){if(this.status=t?.status??200,this.statusText=t?.statusText??``,this.headers=new h.Headers(t?.headers),this.type=`default`,this.url=``,this.redirected=!1,e!=null&&(this.status===204||this.status===205||this.status===304))throw TypeError(`Response constructor: Invalid response status code ${this.status}`);e==null?this.body=null:this.body=Object.create(h.ReadableStream.prototype,{[p]:{value:e,writable:!1}})}clone;blob;formData;get ok(){return this.status>=200&&this.status<300}get bodyUsed(){return!1}arrayBuffer;json;text;async bytes(){return new Uint8Array(await this.arrayBuffer())}static json(e,t){let n=JSON.stringify(e),r=new h.Headers(t?.headers);return r.has(`content-type`)||r.set(`content-type`,`application/json`),new I(n,{...t,headers:r})}static error(){G()}static redirect(e,t=302){if(![301,302,303,307,308].includes(t))throw RangeError(`Invalid redirect status code: ${t}. Must be one of: 301, 302, 303, 307, 308`);let n=new h.Headers;n.set(`Location`,String(e));let r=Object.create(I.prototype);return r.status=t,r.statusText=``,r.headers=n,r.body=null,r.type=`default`,r.url=``,r.redirected=!1,r}}h.Response=I,Object.defineProperties(I.prototype,{arrayBuffer:{value:O(`__builtin_response_array_buffer`),writable:!0,configurable:!0},json:{value:O(`__builtin_response_json`),writable:!0,configurable:!0},text:{value:O(`__builtin_response_text`),writable:!0,configurable:!0}});class R{constructor(){G()}get locked(){return!1}cancel(){G()}getReader(){G()}pipeThrough(){G()}pipeTo(){G()}tee(){G()}values(){G()}static from(){G()}[Symbol.asyncIterator](){G()}}h.ReadableStream=R;class re{constructor(){G()}get locked(){return!1}abort(){G()}close(){G()}getWriter(){G()}}h.WritableStream=re;class ie{readable;writable;constructor(){G()}}h.TransformStream=ie,h.console=globalThis.console;let B=Symbol.for(`@vercel/request-context`);h[B]=globalThis[B];let ae=nt(t.workflowName)?.moduleSpecifier||t.workflowName;ya(e,ae,m);let oe=ya(`globalThis.__private_workflows?.get(${JSON.stringify(t.workflowName)})`,ae,m);if(typeof oe!=`function`)throw new Ht(t.workflowName);let ce=[];D.promiseQueue=D.promiseQueue.then(async()=>{let e=await i.prepareWorkflowInput(t);ce=await P(t.input,t.runId,r,h,{},e)}),await D.promiseQueue,s?.setAttributes({...c(ce.length)});try{let e=await Promise.race([oe(...ce),v.promise]),n=await se(e,t.runId,r,h,!1,(t.specVersion??0)>=5);return s?.setAttributes({...ge(typeof e)}),await wa(t.runId,D.invocationsQueue,h,t,`completed`,a),n}catch(e){throw U.is(e)||X.is(e)||await wa(t.runId,D.invocationsQueue,h,t,`failed`,a),e}})}function Ea(e){let t=Un();return t===void 0?e:e===void 0?t:Math.min(e,t)}function Da(e){return K.is(e)?q.RUNTIME_ERROR:un(e)?q.WORLD_CONTRACT_ERROR:null}async function Oa({world:e,workflowRun:t,runId:n,requestId:r,err:i,errorCode:a,logMessage:o}){V.error(o,{workflowRunId:n,errorCode:a,error:i instanceof Error?i.message:String(i)});try{let o=dt(e,t??n);await e.events.create(n,{eventType:`run_failed`,specVersion:5,eventData:{error:await Te(i,n,await o(),globalThis,(t?.specVersion??0)>=5),errorCode:a}},{requestId:r})}catch(e){if(Z.is(e)||J.is(e))return;if(un(e)){V.error(`Fatal world contract error while recording workflow failure`,{workflowRunId:n,errorCode:q.WORLD_CONTRACT_ERROR,error:e instanceof Error?e.message:String(e)});return}throw e}}function ka(e,t){let n=e.find(e=>e.runId===t&&(e.eventType===`run_completed`||e.eventType===`run_failed`||e.eventType===`run_cancelled`));return n?(V.debug(`Run reached terminal event, exiting`,{workflowRunId:t,eventType:n.eventType,eventId:n.eventId}),!0):!1}function Aa(e,t){return e?.[Jt]??t}function ja(e){let t=new Set,n=new Set;for(let r of e)r.eventType===`hook_disposed`?t.add(r.correlationId):r.eventType===`wait_completed`&&n.add(r.correlationId);let r=!1,i=!1;for(let a of e)if(a.eventType===`hook_created`&&!t.has(a.correlationId)?r=!0:a.eventType===`wait_created`&&!n.has(a.correlationId)&&(i=!0),r&&i)break;return{openHook:r,openWait:i}}function Ma(e,t){kt(t?.basePath);let n=Number(process.env.WORKFLOW_V2_TIMEOUT_MS)||12e4,r=en(t?.namespace),a=Zt(`workflow`,r),o=t=>t.createQueueHandler(a,async(i,o)=>{let c=ke(i);if(c){await Xe(c,t.specVersion);return}let{runId:l,traceCarrier:u,requestedAt:d,stepId:f,stepName:p,replayDivergence:m,runInput:h}=Qt.parse(i),g=be(u)?u:void 0,{requestId:_}=o,v=o.queueName.slice(a.length),y=V.forRun(l,v),b=Mn();if(o.attempt>b){let e=On(void 0,q.MAX_DELIVERIES_EXCEEDED);y.error(`Workflow handler exceeded max deliveries (${o.attempt}/${b})`,{attempt:o.attempt,errorCode:e.errorCode,errorAttribution:e.attribution});try{let e=await cr(),t=dt(e,l),n=new Y(`Workflow exceeded maximum queue deliveries (${o.attempt}/${b})`);await e.events.create(l,{eventType:`run_failed`,specVersion:5,eventData:{error:await Te(n,l,await t()),errorCode:q.MAX_DELIVERIES_EXCEEDED}},{requestId:_})}catch(e){if(Z.is(e)||J.is(e))return;y.error(`Failed to mark run as failed after ${o.attempt} delivery attempts. A persistent error is preventing the run from being terminated. The run will remain in its current state until manually resolved. This is most likely due to a persistent outage of the workflow backend or a bug in the workflow runtime and should be reported to the Workflow team.`,{attempt:o.attempt,errorName:e instanceof Error?e.name:`UnknownError`,errorMessage:e instanceof Error?e.message:String(e),errorStack:e instanceof Error?e.stack:void 0})}return}let S=he(),C=()=>T(S,g),w=await tt(S,g),E=new dr,O=S===`continuous`?g:void 0,k=await _e(`CONSUMER`);return await ut(O,async()=>await Ye({workflowRunId:l,workflowName:v},async()=>{let t=await W(`workflow.route.get_world`,async()=>cr());return W(`workflow.execute ${ve(v)}`,{kind:k,links:w},async i=>{i?.setAttributes({...rt(v),...D(`execute_v2`),...Fe(`vercel-queue`),...et(o.queueName),...qe(o.messageId),...Le(`process`),...Re({requestedAt:d}),...Je(l),...st(!!g),...Ze(S)});let a=Date.now(),c=0,u=null,b=null,w=null,T,O,k=-1,A,j,ee,M,N=0,te,P=Kn()&&h!==void 0&&o.attempt===1&&f===void 0&&!m;i?.setAttributes(Oe(P));let F,ne=async()=>{if(F)try{await F}catch{}},I=new Set,L=e=>{I.size>0&&V.error(`Invariant violation: acking the workflow message while owned inline steps are still executing — crash recovery for these steps is broken`,{workflowRunId:l,ackPath:e,stepIds:[...I]})},R=async e=>{if(L(`reinvoke`),!P)return{timeoutSeconds:e};await Me(t,H(v,r),{runId:l,traceCarrier:await C(),requestedAt:new Date},e>0?{delaySeconds:e}:void 0)};if(f&&p)try{let e=await t.runs.get(l,{resolveData:`none`});if(e.status!==`running`){V.debug(`Run already finished, skipping background step`,{workflowRunId:l,status:e.status});return}let n=e.startedAt?+e.startedAt:Date.now(),i=o.attempt,a=wt(p)?.maxRetries??3;if(o.attempt>a+1){let e=await We(l);u=e.events,b=e.cursor,i=Zn(u,f,{type:`totalAttempts`})+1}E.pause();let s;try{s=await Fr(l,f,()=>kr({world:t,workflowRunId:l,workflowDeploymentId:e.deploymentId,workflowName:v,workflowStartedAt:n,rootRunId:Aa(e.attributes,l),stepId:f,stepName:p,runSpecVersion:e.specVersion,authoritativeAttempt:i}))}finally{E.resume()}if(s.type===`retry`||s.type===`throttled`)return{timeoutSeconds:s.timeoutSeconds};if(s.type===`completed`&&s.hasPendingOps){await Me(t,H(v,r),{runId:l,traceCarrier:await C(),requestedAt:new Date});return}if(s.type===`completed`||s.type===`failed`||s.type===`skipped`){let r=await We(l);u=r.events,b=r.cursor;let i=new Set,a=new Set;for(let e of u)e.eventType===`step_created`?i.add(e.correlationId):(e.eventType===`step_completed`||e.eventType===`step_failed`)&&a.add(e.correlationId);let s=new Set;for(let e of i)a.has(e)||s.add(e);if(s.size>0)if(qn()&&Nr(u,s,o.messageId))V.debug(`Background step done; falling through to recover an inline step owned by this message`,{workflowRunId:l});else{V.debug(`Background step done but other steps pending, returning`,{workflowRunId:l});return}V.debug(`All parallel steps done, replaying inline after background step`,{workflowRunId:l});let c=u.find(e=>e.eventType===`run_created`),d;if(c)d=c.eventData.input;else{if(!nn(e.specVersion))throw new K(`Workflow run "${l}" has no "run_created" event`);let n=await t.runs.get(l,{resolveData:`all`});if(n.status!==`running`)return;d=n.input}T={...e,input:d,status:`running`,output:void 0,error:void 0,completedAt:void 0},k=n}else return}catch(e){let n=Da(e);if(!n)throw e;await Oa({world:t,workflowRun:T,runId:l,requestId:_,err:e,errorCode:n,logMessage:`Fatal error while preparing background workflow step`});return}if(!T){let e={eventType:`run_started`,specVersion:h?.specVersion??5,...h?{eventData:{input:h.input,deploymentId:h.deploymentId,workflowName:h.workflowName,executionContext:h.executionContext,attributes:h.attributes,allowReservedAttributes:h.allowReservedAttributes}}:{}},n=e=>{i?.addEvent(`workflow.run_started.create.start`,{"workflow.run_started.skip_preload":e})};if(P&&h){n(!0);let r=t.events.create(l,e,{requestId:_,skipPreload:!0});F=r,r.then(e=>{let t=Ea(e?.maxEvents);t!==void 0&&(O=t)},()=>{}),r.catch(()=>{}),A=[];let a=new Date;T={runId:l,status:`running`,deploymentId:h.deploymentId,workflowName:h.workflowName,specVersion:h.specVersion,executionContext:h.executionContext,input:h.input,attributes:h.attributes??{},startedAt:a,createdAt:a,updatedAt:a},k=+a,M=+a,i?.setAttributes({...at(`running`),...ze(k)})}else{try{n(!1);let r=await t.events.create(l,e,{requestId:_});if(!r.run)throw new K(`Event creation for 'run_started' did not return the run entity for run "${l}"`);if(T=r.run,O=Ea(r.maxEvents),M=Date.now(),r.events&&r.events.length>0&&r.hasMore!==!0&&(A=r.events,j=r.cursor),!T.startedAt)throw new K(`Workflow run "${l}" has no "startedAt" timestamp`)}catch(e){if(Z.is(e)||J.is(e)){V.info(`Run already finished during setup, skipping`,{workflowRunId:l,message:e.message});return}else{let n=Da(e);if(!n)throw e;await Oa({world:t,workflowRun:T,runId:l,requestId:_,err:e,errorCode:n,logMessage:`Fatal runtime error during workflow setup`});return}}if(k=+T.startedAt,i?.setAttributes({...at(T.status),...ze(k)}),T.status!==`running`){V.info(`Workflow already completed or failed, skipping`,{workflowRunId:l,status:T.status});return}}}let re=await dt(t,T)(),z=new jn(re);for(;;){if(c++,E.isExhausted()){await fr({runId:l,workflowName:v,requestId:_,attempt:o.attempt,limitMs:E.configuredLimitMs});return}if(Date.now()-a>=n){V.info(`V2 timeout reached, re-scheduling workflow`,{workflowRunId:l,loopIteration:c,elapsedMs:Date.now()-a}),await Me(t,H(v,r),{runId:l,traceCarrier:await C(),requestedAt:new Date});return}let d=0,f=null;try{let n;if(w&&u){let e=w;w=null,it(u,e.events),b=e.cursor??b,n=u}else if(u===null)if(A)n=A,b=j??null;else{let e=await We(l);n=e.events,b=e.cursor}else if(b){let e=await We(l,b);it(u,e.events),b=e.cursor??b,n=u}else if(A){V.debug(`No cursor after preloaded-events first iteration; doing full reload to pick up cursor.`,{workflowRunId:l});let e=await We(l);u=e.events,b=e.cursor,n=u}else{V.warn(`Event cursor missing after initial load — falling back to full reload. This indicates a bug in the World implementation.`,{workflowRunId:l});let e=await We(l);u=e.events,b=e.cursor,n=u}if(ka(n,l))return;let r=Date.now(),a=new Set(n.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId)),o=n.filter(e=>e.eventType===`wait_created`&&e.correlationId!==void 0&&!a.has(e.correlationId)&&r>=e.eventData.resumeAt.getTime()).map(e=>({eventType:`wait_completed`,specVersion:5,correlationId:e.correlationId,eventData:{resumeAt:e.eventData.resumeAt}}));for(let e of o){let r={events:n,cursor:b};try{await Ie(l,r,n=>t.events.create(l,e,{requestId:_,stateUpdatedAt:n}))}catch(t){if(Z.is(t)){V.info(`Wait already completed, skipping`,{workflowRunId:l,correlationId:e.correlationId});continue}throw t}finally{b=r.cursor}}if(o.length>0)if(b){let e=await We(l,b),t=new Set(e.events.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId));if(o.every(e=>t.has(e.correlationId)))it(n,e.events),b=e.cursor??b;else{let e=await We(l);n=e.events,b=e.cursor}}else{let e=await We(l);n=e.events,b=e.cursor}if(ka(n,l))return;if(O!==void 0&&n.length>=O)throw new zt(n.length,O);u=n,ee??=n.every(e=>e.eventType===`run_created`||e.eventType===`run_started`||e.eventType===`attr_set`),f=b,V.debug(`Starting workflow replay`,{workflowRunId:l,loopIteration:c,eventCount:n.length}),d=Date.now();let s=z.prewarm(T,n),p=await Ta(e,T,n,re,z,F,t.capabilities);await s,V.debug(`Workflow replay completed`,{workflowRunId:l,loopIteration:c,replayMs:Date.now()-d});try{await ne(),await t.events.create(l,{eventType:`run_completed`,specVersion:5,eventData:{output:p}},{requestId:_,stateUpdatedAt:$e(n)})}catch(e){if(Z.is(e)||J.is(e)){V.info(`Tried completing workflow run, but run has already finished.`,{workflowRunId:l,message:e.message});return}throw e}i?.setAttributes({...at(`completed`)});return}catch(n){if(U.is(n)){let e=Date.now()-d;V.debug(`Workflow suspended`,{workflowRunId:l,loopIteration:c,replayMs:e,steps:n.stepCount,hooks:n.hookCount,waits:n.waitCount});let a=s(n.stepCount,n.hookCount,n.waitCount);a&&V.debug(a);let p=Date.now();if(!u)throw Error(`Invariant violation: workflow suspended before its event log was loaded`);let m={events:u,cursor:b},h;try{h=await Lr({suspension:n,world:t,run:T,span:i,requestId:_,eventLog:m,runReadyBarrier:F})}catch(e){if(Pt.is(e))return V.warn(`Suspension event creation rejected as stale after reload retries; re-invoking run for a fresh replay`,{workflowRunId:l,loopIteration:c}),await R(0);if(!Y.is(e))throw e;let n=vn(e);V.error(`Non-retryable error while committing workflow suspension; failing run`,{workflowRunId:l,errorCode:n,errorName:e.name,errorMessage:e.message});try{await ne(),await t.events.create(l,{eventType:`run_failed`,specVersion:5,eventData:{error:await Te(e,l,re,globalThis,(T?.specVersion??0)>=5),errorCode:n}},{requestId:_})}catch(e){if(Z.is(e)||J.is(e)){V.info(`Tried failing workflow run, but run has already finished.`,{workflowRunId:l,message:e.message});return}throw e}i?.setAttributes({...at(`failed`),...x(n),...me(e.name),...ue(e.message),...Qe(e.name)});return}if(b=m.cursor,N+=h.hookCreationMs,h.hasAttributeEvents&&te===void 0&&(te=N),V.debug(`Suspension handled`,{workflowRunId:l,suspensionMs:Date.now()-p,pendingSteps:h.pendingSteps.length,timeoutSeconds:h.waitTimeout?.seconds,hasHookConflict:h.hasHookConflict,hasAwaitedHookCreation:h.hasAwaitedHookCreation,hasAttributeEvents:h.hasAttributeEvents}),h.hasHookConflict)return await R(0);if(h.hasAttributeEvents)continue;let g=h.pendingSteps,y=h.lazyInlineSteps,S=new Set(y.map(e=>e.correlationId)),D=await C(),O=[],A=qn(),j=Date.now(),L=[],z=0;for(let e of g){if(S.has(e.correlationId))continue;let n=A&&Ar(e);if(n&&e.ownerMessageId===o.messageId){L.push(e);continue}let i=n?jr(e,j):0;if(i>0){z++,V.debug(`Pending step is inline-owned by a live invocation; ensuring delayed backstop wake instead of immediate requeue`,{workflowRunId:l,stepId:e.correlationId,ownerMessageId:e.ownerMessageId,backstopDelaySeconds:i}),O.push(Me(t,H(v,r),{runId:l,traceCarrier:D,requestedAt:new Date},{delaySeconds:i,idempotencyKey:Mr(e)}));continue}O.push(Me(t,H(v,r),{runId:l,stepId:e.correlationId,stepName:e.stepName,traceCarrier:D,requestedAt:new Date},{idempotencyKey:e.correlationId}))}h.waitTimeout&&O.push(Me(t,H(v,r),{runId:l,traceCarrier:D,requestedAt:new Date},Vr(h.waitTimeout.seconds,h.waitTimeout.correlationId))),await Promise.all(O);let ie=[...y.map(e=>({correlationId:e.correlationId,stepName:e.stepName,lazyStepInput:e.dehydratedInput})),...L.map(e=>({correlationId:e.correlationId,stepName:e.stepName}))];if((z>0||L.length>0)&&i?.setAttributes({...L.length>0?ye(L.length):{},...z>0?pe(z):{}}),L.length>0&&V.warn(`Re-executing inline steps owned by this queue message — a previous delivery crashed mid-body and this redelivery is recovering them`,{workflowRunId:l,stepIds:L.map(e=>e.correlationId)}),ie.length===0)return h.hasAwaitedHookCreation?await R(0):void 0;let B=ja(u??[]),ae=De()&&t.capabilities?.preconditionGuard===!0,oe=typeof f==`string`&&n.stepCount===1&&n.waitCount===0&&g.length===1&&y.length===1&&L.length===0&&!h.waitTimeout&&!B.openWait&&(ae||n.hookCount===0&&!B.openHook),se=ae&&(B.openHook||n.hookCount>0||h.hasHookEvents),ce=P&&!h.hasAttributeEvents&&!h.waitTimeout&&!h.hasHookEvents&&!h.hasAwaitedHookCreation&&!B.openHook&&!B.openWait,le=Er({events:u??[],invocationStartedClean:ee===!0,runCreatedAtMs:pr(l)??(P?void 0:+T.createdAt),runStartedReceivedAtMs:M,replayMs:e,preStepBlockingMs:N,preStepBlockingBeforeAttrMs:te,suspensionHasWaits:n.waitCount>0||h.waitTimeout!==void 0,suspensionCreatedHooks:n.hookCount>0||h.hasHookEvents,turbo:P}),de=$e(u??[]);E.pause();let fe,he=ie.map((e,n)=>{let r=()=>kr({world:t,workflowRunId:l,workflowDeploymentId:T.deploymentId,workflowName:v,workflowStartedAt:k,rootRunId:Aa(T.attributes,l),stepId:e.correlationId,stepName:e.stepName,runSpecVersion:T.specVersion,authoritativeAttempt:e.lazyStepInput===void 0?Zn(u,e.correlationId,{type:`ownedBy`,messageId:o.messageId})+1:1,lazyStepInput:e.lazyStepInput,ownerMessageId:o.messageId,forceOptimisticStart:ce,suppressOptimisticStart:se,runReadyBarrier:F,stateUpdatedAt:de,...n===0&&e.lazyStepInput!==void 0&&le?{latencyTracking:le}:{},...oe&&f?{inlineDeltaSinceCursor:f}:{}});return I.add(e.correlationId),(e.lazyStepInput===void 0?Fr(l,e.correlationId,r):r()).finally(()=>I.delete(e.correlationId))});try{fe=await Promise.all(he)}catch(e){if(Pt.is(e))return await Promise.allSettled(he),V.warn(`Inline step claim rejected as stale; re-invoking run for a fresh replay`,{workflowRunId:l,loopIteration:c}),await R(0);throw e}finally{E.resume()}let ge=[],_e=!1,ve;for(let e=0;e<ie.length;e++){let t=fe[e],n=ie[e];t.type===`retry`?ge.push({step:n,delaySeconds:t.timeoutSeconds}):t.type===`throttled`?ve=Math.max(ve??0,t.timeoutSeconds):t.type===`completed`&&t.hasPendingOps&&(_e=!0)}if(ve!==void 0)return await R(ve);if(ge.length>0){let e=await C();await Promise.all(ge.map(({step:n,delaySeconds:i})=>Me(t,H(v,r),{runId:l,stepId:n.correlationId,stepName:n.stepName,traceCarrier:e,requestedAt:new Date},{delaySeconds:i,idempotencyKey:n.correlationId})))}if(_e){V.debug(`Breaking loop: inline step has pending ops`,{workflowRunId:l,loopIteration:c}),await Me(t,H(v,r),{runId:l,traceCarrier:await C(),requestedAt:new Date});return}if(ge.length>0)return;if(ie.length===1){let e=fe[0];e.type===`completed`&&e.inlineDelta&&!e.inlineDelta.hasMore&&(w={events:e.inlineDelta.events,cursor:e.inlineDelta.cursor})}}else{if(Pt.is(n))return V.warn(`Event creation rejected as stale; re-invoking run for a fresh replay`,{workflowRunId:l,loopIteration:c}),await R(0);if(ln(n))throw y.warn(`Transient world error during replay; redelivering via queue instead of failing the run`,{errorName:n instanceof Error?n.name:`UnknownError`,errorMessage:n instanceof Error?n.message:String(n),deliveryAttempt:o.attempt}),n;let a=n;if(X.is(n)){let e=(m?.count??0)+1,i=Yn();if(e<=i){y.warn(`Workflow replay diverged; queueing a recovery replay before declaring the event log corrupted`,{errorCode:q.REPLAY_DIVERGENCE,divergenceEventId:n.eventId,priorDivergenceEventId:m?.eventId,divergenceCount:e,deliveryAttempt:o.attempt,maxRecoveryReplays:i,errorMessage:n.message}),await Me(t,H(v,r),{runId:l,traceCarrier:await C(),requestedAt:new Date,replayDivergence:{eventId:n.eventId,count:e}});return}a=new Bt(`Workflow replay diverged ${e} times after ${i} recovery replays; latest divergent event was ${n.eventId}. Last divergence: ${n.message}`,{cause:n})}a instanceof Error&&i?.recordException?.(a);let s=await br(a),u=s.name||mr(a),d=s.message,f=s.stack||hr(a);if(f){let t=nt(v)?.moduleSpecifier||v;f=Gi(f,t,e)}let p=vn(a);V.error(`Error while running workflow`,{workflowRunId:l,errorCode:p,errorName:u,errorStack:f}),Q.isNativeError(a)&&f&&(a.stack=f);try{await ne(),await t.events.create(l,{eventType:`run_failed`,specVersion:5,eventData:{error:await Te(a,l,re,globalThis,(T?.specVersion??0)>=5),errorCode:p}},{requestId:_})}catch(e){if(Z.is(e)||J.is(e)){V.info(`Tried failing workflow run, but run has already finished.`,{workflowRunId:l,message:e.message});return}if(un(e)){V.error(`Fatal world contract error while recording workflow failure`,{workflowRunId:l,errorCode:q.WORLD_CONTRACT_ERROR,error:e instanceof Error?e.message:String(e)});return}throw e}i?.setAttributes({...at(`failed`),...x(p),...me(u),...ue(d),...Qe(u)});return}}}})}))}),c,l=0,u=Date.now(),d=typeof t?.routeModuleBodyStartedAt==`number`?u-t.routeModuleBodyStartedAt:void 0;return Ke(async e=>{l+=1;let t=c!==void 0;return W(`workflow.route.flow`,{kind:await _e(`SERVER`),attributes:{...lt(`flow`),...re(t),...i(l),...xe(Date.now()-u),...d===void 0?{}:je(d),...ft(e.method),...Ne(`/.well-known/workflow/v1/flow`)}},async t=>{c||=await W(`workflow.route.init`,async()=>{let e=await W(`workflow.route.get_world_handlers`,async()=>sr());return o(e)});let n=await c(e);return n instanceof Response&&t?.setAttributes(Ae(n.status)),n})})}export{_n as Run,U as WorkflowSuspension,hn as cancelRun,or as createWorld,ar as createWorldFromModule,on as getHookByToken,pn as getRun,cr as getWorld,sr as getWorldHandlers,ot as healthCheck,dn as listStreams,sn as readStream,mn as recreateRunFromExisting,gn as reenqueueRun,rn as resumeHook,an as resumeWebhook,lr as setWorld,fn as start,cn as wakeUpRun,Ma as workflowEntrypoint};