awaitly 1.12.0 → 1.14.0

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 (167) hide show
  1. package/dist/adapters.cjs +2 -2
  2. package/dist/adapters.cjs.map +1 -1
  3. package/dist/adapters.d.cts +1 -1
  4. package/dist/adapters.d.ts +1 -1
  5. package/dist/adapters.js +2 -2
  6. package/dist/adapters.js.map +1 -1
  7. package/dist/batch.cjs +2 -2
  8. package/dist/batch.cjs.map +1 -1
  9. package/dist/batch.d.cts +1 -1
  10. package/dist/batch.d.ts +1 -1
  11. package/dist/batch.js +2 -2
  12. package/dist/batch.js.map +1 -1
  13. package/dist/circuit-breaker.cjs +2 -2
  14. package/dist/circuit-breaker.cjs.map +1 -1
  15. package/dist/circuit-breaker.d.cts +1 -1
  16. package/dist/circuit-breaker.d.ts +1 -1
  17. package/dist/circuit-breaker.js +2 -2
  18. package/dist/circuit-breaker.js.map +1 -1
  19. package/dist/conditional.d.cts +1 -1
  20. package/dist/conditional.d.ts +1 -1
  21. package/dist/core.cjs +2 -2
  22. package/dist/core.cjs.map +1 -1
  23. package/dist/core.d.cts +1 -1
  24. package/dist/core.d.ts +1 -1
  25. package/dist/core.js +2 -2
  26. package/dist/core.js.map +1 -1
  27. package/dist/durable.cjs +10 -4
  28. package/dist/durable.cjs.map +1 -1
  29. package/dist/durable.d.cts +158 -35
  30. package/dist/durable.d.ts +158 -35
  31. package/dist/durable.js +11 -5
  32. package/dist/durable.js.map +1 -1
  33. package/dist/fetch.cjs +2 -2
  34. package/dist/fetch.cjs.map +1 -1
  35. package/dist/fetch.d.cts +1 -1
  36. package/dist/fetch.d.ts +1 -1
  37. package/dist/fetch.js +2 -2
  38. package/dist/fetch.js.map +1 -1
  39. package/dist/functional.cjs +2 -2
  40. package/dist/functional.cjs.map +1 -1
  41. package/dist/functional.d.cts +1 -1
  42. package/dist/functional.d.ts +1 -1
  43. package/dist/functional.js +2 -2
  44. package/dist/functional.js.map +1 -1
  45. package/dist/guards-B3BQc6q5.d.cts +61 -0
  46. package/dist/guards-CwjQTK7V.d.ts +61 -0
  47. package/dist/hitl.cjs +2 -2
  48. package/dist/hitl.cjs.map +1 -1
  49. package/dist/hitl.d.cts +343 -5
  50. package/dist/hitl.d.ts +343 -5
  51. package/dist/hitl.js +2 -2
  52. package/dist/hitl.js.map +1 -1
  53. package/dist/index.cjs +1 -1
  54. package/dist/index.cjs.map +1 -1
  55. package/dist/index.d.cts +1 -1
  56. package/dist/index.d.ts +1 -1
  57. package/dist/index.js +1 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/otel.d.cts +1 -1
  60. package/dist/otel.d.ts +1 -1
  61. package/dist/persistence-entry-7hs7oAnI.d.ts +1120 -0
  62. package/dist/persistence-entry-C2l-D7Ag.d.cts +1120 -0
  63. package/dist/persistence.cjs +1 -6
  64. package/dist/persistence.cjs.map +1 -1
  65. package/dist/persistence.d.cts +3 -270
  66. package/dist/persistence.d.ts +3 -270
  67. package/dist/persistence.js +1 -6
  68. package/dist/persistence.js.map +1 -1
  69. package/dist/policies.cjs +1 -1
  70. package/dist/policies.cjs.map +1 -1
  71. package/dist/policies.d.cts +12 -14
  72. package/dist/policies.d.ts +12 -14
  73. package/dist/policies.js +1 -1
  74. package/dist/policies.js.map +1 -1
  75. package/dist/ratelimit.cjs +2 -2
  76. package/dist/ratelimit.cjs.map +1 -1
  77. package/dist/ratelimit.d.cts +1 -1
  78. package/dist/ratelimit.d.ts +1 -1
  79. package/dist/ratelimit.js +2 -2
  80. package/dist/ratelimit.js.map +1 -1
  81. package/dist/reliability.cjs +2 -2
  82. package/dist/reliability.cjs.map +1 -1
  83. package/dist/reliability.d.cts +1 -1
  84. package/dist/reliability.d.ts +1 -1
  85. package/dist/reliability.js +2 -2
  86. package/dist/reliability.js.map +1 -1
  87. package/dist/resource.cjs +2 -2
  88. package/dist/resource.cjs.map +1 -1
  89. package/dist/resource.d.cts +1 -1
  90. package/dist/resource.d.ts +1 -1
  91. package/dist/resource.js +2 -2
  92. package/dist/resource.js.map +1 -1
  93. package/dist/result.cjs +1 -1
  94. package/dist/result.cjs.map +1 -1
  95. package/dist/result.d.cts +37 -1
  96. package/dist/result.d.ts +37 -1
  97. package/dist/result.js +1 -1
  98. package/dist/result.js.map +1 -1
  99. package/dist/retry.cjs.map +1 -1
  100. package/dist/retry.js.map +1 -1
  101. package/dist/{run-entry-DVacLeGz.d.cts → run-entry-B7iA0dGO.d.cts} +382 -35
  102. package/dist/{run-entry-DVacLeGz.d.ts → run-entry-B7iA0dGO.d.ts} +382 -35
  103. package/dist/run.cjs +2 -2
  104. package/dist/run.cjs.map +1 -1
  105. package/dist/run.d.cts +1 -1
  106. package/dist/run.d.ts +1 -1
  107. package/dist/run.js +2 -2
  108. package/dist/run.js.map +1 -1
  109. package/dist/saga.cjs +2 -2
  110. package/dist/saga.cjs.map +1 -1
  111. package/dist/saga.d.cts +21 -15
  112. package/dist/saga.d.ts +21 -15
  113. package/dist/saga.js +2 -2
  114. package/dist/saga.js.map +1 -1
  115. package/dist/singleflight.d.cts +1 -1
  116. package/dist/singleflight.d.ts +1 -1
  117. package/dist/streaming.cjs +4 -4
  118. package/dist/streaming.cjs.map +1 -1
  119. package/dist/streaming.d.cts +3 -3
  120. package/dist/streaming.d.ts +3 -3
  121. package/dist/streaming.js +4 -4
  122. package/dist/streaming.js.map +1 -1
  123. package/dist/testing.cjs +3 -3
  124. package/dist/testing.cjs.map +1 -1
  125. package/dist/testing.d.cts +21 -15
  126. package/dist/testing.d.ts +21 -15
  127. package/dist/testing.js +3 -3
  128. package/dist/testing.js.map +1 -1
  129. package/dist/{types-B_VYAWxj.d.ts → types-CZfKw-O2.d.ts} +1 -1
  130. package/dist/{types-D2Byrc_Y.d.cts → types-CvRwZw4c.d.cts} +1 -1
  131. package/dist/webhook.cjs +2 -2
  132. package/dist/webhook.cjs.map +1 -1
  133. package/dist/webhook.d.cts +3 -3
  134. package/dist/webhook.d.ts +3 -3
  135. package/dist/webhook.js +2 -2
  136. package/dist/webhook.js.map +1 -1
  137. package/dist/workflow.cjs +11 -5
  138. package/dist/workflow.cjs.map +1 -1
  139. package/dist/workflow.d.cts +189 -3
  140. package/dist/workflow.d.ts +189 -3
  141. package/dist/workflow.js +11 -5
  142. package/dist/workflow.js.map +1 -1
  143. package/package.json +3 -145
  144. package/dist/dev-server-AhMRq4tJ.d.ts +0 -1324
  145. package/dist/dev-server-C3DfICkJ.d.cts +0 -1324
  146. package/dist/devtools.cjs +0 -11
  147. package/dist/devtools.cjs.map +0 -1
  148. package/dist/devtools.d.cts +0 -179
  149. package/dist/devtools.d.ts +0 -179
  150. package/dist/devtools.js +0 -11
  151. package/dist/devtools.js.map +0 -1
  152. package/dist/persistence-DA-jTPRf.d.cts +0 -402
  153. package/dist/persistence-scWNecPd.d.ts +0 -402
  154. package/dist/visualize.browser.cjs +0 -1575
  155. package/dist/visualize.browser.cjs.map +0 -1
  156. package/dist/visualize.browser.d.cts +0 -192
  157. package/dist/visualize.browser.d.ts +0 -192
  158. package/dist/visualize.browser.js +0 -1575
  159. package/dist/visualize.browser.js.map +0 -1
  160. package/dist/visualize.cjs +0 -1585
  161. package/dist/visualize.cjs.map +0 -1
  162. package/dist/visualize.d.cts +0 -179
  163. package/dist/visualize.d.ts +0 -179
  164. package/dist/visualize.js +0 -1585
  165. package/dist/visualize.js.map +0 -1
  166. package/dist/workflow-BmPfF6N7.d.ts +0 -1259
  167. package/dist/workflow-GkGF7ybE.d.cts +0 -1259
package/dist/adapters.cjs CHANGED
@@ -1,7 +1,7 @@
1
- "use strict";var z=Object.defineProperty;var de=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.prototype.hasOwnProperty;var fe=(e,n)=>{for(var y in n)z(e,y,{get:n[y],enumerable:!0})},Re=(e,n,y,m)=>{if(n&&typeof n=="object"||typeof n=="function")for(let k of Te(n))!ke.call(e,k)&&k!==y&&z(e,k,{get:()=>n[k],enumerable:!(m=de(n,k))||m.enumerable});return e};var Ce=e=>Re(z({},"__esModule",{value:!0}),e);var Oe={};fe(Oe,{fromCallback:()=>le,fromEvent:()=>Ee,isEventEmitterLike:()=>me,isEventTimeoutError:()=>pe,isInvalidEmitterError:()=>ce});module.exports=Ce(Oe);function xe(e){let n=e.trim().match(/^(\d+(?:\.\d+)?)\s*(ms|s|m|h|d)$/i);if(!n)return;let y=parseFloat(n[1]),m=n[2].toLowerCase();return{_tag:"Duration",millis:y*({ms:1,s:1e3,m:6e4,h:36e5,d:864e5}[m]??1)}}var F=e=>({ok:!0,value:e}),A=(e,n)=>({ok:!1,error:e,...n?.cause!==void 0?{cause:n.cause}:{}});var ge=e=>typeof e=="object"&&e!==null&&e.type==="UNEXPECTED_ERROR";var W=Symbol.for("step_timeout_marker");function Q(e){return typeof e!="object"||e===null?!1:e.type==="STEP_TIMEOUT"?!0:W in e}function Se(e){if(!(typeof e!="object"||e===null)){if(e.type==="STEP_TIMEOUT"){let n=e;return{timeoutMs:n.timeoutMs,stepName:n.stepName,stepKey:n.stepKey,attempt:n.attempt}}if(W in e)return e[W]}}var ae=Symbol("early-exit");function be(e,n){return{[ae]:!0,error:e,meta:n}}function ve(e){return typeof e=="object"&&e!==null&&e[ae]===!0}var ie=Symbol("mapper-exception");function Ae(e){return{[ie]:!0,thrown:e}}function he(e){return typeof e=="object"&&e!==null&&e[ie]===!0}function Pe(e){return typeof e=="string"?{name:e}:e??{}}function Z(e,n){let{backoff:y,initialDelay:m,maxDelay:k,jitter:v}=n,d;switch(y){case"fixed":d=m;break;case"linear":d=m*e;break;case"exponential":d=m*Math.pow(2,e-1);break}if(d=Math.min(d,k),v){let _=d*.25*Math.random();d=d+_}return Math.floor(d)}function ee(e){return new Promise(n=>setTimeout(n,e))}var se=Symbol("timeout"),J=Symbol("timeout-option");function _e(e){return typeof e=="object"&&e!==null&&e[J]===!0}async function Ie(e,n,y,m){let k=new AbortController,v=n.onTimeout??"error",d=()=>typeof v=="function"?v({name:y.name,key:y.key,ms:n.ms}):n.error??{type:"STEP_TIMEOUT",stepName:y.name,stepKey:y.key,timeoutMs:n.ms,attempt:y.attempt},_;m?.aborted&&k.abort(m.reason);let s;m&&!m.aborted&&(s=()=>k.abort(m.reason),m.addEventListener("abort",s,{once:!0}));let L=new Promise((R,C)=>{_=setTimeout(()=>{if(v!=="disconnect"&&k.abort(),v==="option"){C({[J]:!0,ms:n.ms});return}C({[se]:!0,error:d()})},n.ms)}),g;n.signal?g=Promise.resolve(e(k.signal)):g=Promise.resolve(e());try{return await Promise.race([g,L])}catch(R){if(typeof R=="object"&&R!==null&&R[J]===!0)throw{[J]:!0,ms:n.ms};if(typeof R=="object"&&R!==null&&R[se]===!0){v==="disconnect"&&g.catch(()=>{});let C=R.error;if(typeof C=="object"&&C!==null&&C.type!=="STEP_TIMEOUT"){let i={timeoutMs:n.ms,stepName:y.name,stepKey:y.key,attempt:y.attempt};W in C?C[W]=i:Object.defineProperty(C,W,{value:i,enumerable:!1,writable:!0,configurable:!1})}throw C}throw R}finally{clearTimeout(_),s&&m&&m.removeEventListener("abort",s)}}var B={backoff:"exponential",initialDelay:100,maxDelay:3e4,jitter:!0,retryOn:()=>!0,onRetry:()=>{}};async function ue(e,n){let{onError:y,onEvent:m,catchUnexpected:k,workflowId:v,context:d,_workflowSignal:_}=n&&typeof n=="object"?n:{},s=v??crypto.randomUUID(),L=!y&&!k,g=[],R=0,C=o=>o??`step_${++R}`,i=o=>{let P=o.context!==void 0||d===void 0?o:{...o,context:d};if(P.type==="step_success"){let O=P.stepId;for(let V=g.length-1;V>=0;V--){let U=g[V];if(U.type==="race"&&!U.winnerId){U.winnerId=O;break}}}m?.(P,d)},D=be,re=o=>ve(o),Y=(o,P)=>L?P?.origin==="result"?{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"result",error:o,...P.resultCause!==void 0?{cause:P.resultCause}:{}}}:P?.origin==="throw"?{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"throw",error:o,thrown:P.thrown}}:{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"result",error:o}}:o,ye=o=>({type:"UNEXPECTED_ERROR",cause:o.meta.origin==="result"?{type:"STEP_FAILURE",origin:"result",error:o.error,...o.meta.resultCause!==void 0?{cause:o.meta.resultCause}:{}}:{type:"STEP_FAILURE",origin:"throw",error:o.error,thrown:o.meta.thrown}});try{let P=function(l,p){let c=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let t=performance.now(),r=!1;g.push({scopeId:c,type:"parallel"});let w=()=>{if(r)return;r=!0;let a=g.findIndex(T=>T.scopeId===c);a!==-1&&g.splice(a,1),i({type:"scope_end",workflowId:s,scopeId:c,ts:Date.now(),durationMs:performance.now()-t})};i({type:"scope_start",workflowId:s,scopeId:c,scopeType:"parallel",name:l,ts:Date.now()});try{let a=await p();if(w(),!a.ok)throw y?.(a.error,l,d),D(a.error,{origin:"result",resultCause:a.cause});return a.value}catch(a){throw w(),a}})()},O=function(l,p){let c=Object.keys(l),t=p.name??`Parallel(${c.join(", ")})`,r=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let w=performance.now(),a=!1;g.push({scopeId:r,type:"parallel"});let T=()=>{if(a)return;a=!0;let u=g.findIndex(f=>f.scopeId===r);u!==-1&&g.splice(u,1),i({type:"scope_end",workflowId:s,scopeId:r,ts:Date.now(),durationMs:performance.now()-w})};i({type:"scope_start",workflowId:s,scopeId:r,scopeType:"parallel",name:t,ts:Date.now()});try{let u=await new Promise(x=>{if(c.length===0){x([]);return}let I=!1,q=c.length,b=new Array(c.length);for(let j=0;j<c.length;j++){let M=c[j],X=j;Promise.resolve(l[M]()).catch(K=>A({type:"PROMISE_REJECTED",cause:K},{cause:{type:"PROMISE_REJECTION",reason:K}})).then(K=>{if(!I){if(!K.ok){I=!0,x([{key:M,result:K}]);return}b[X]={key:M,result:K},q--,q===0&&x(b)}})}});T();let f={};for(let{key:x,result:I}of u){if(!I.ok)throw y?.(I.error,x,d),D(I.error,{origin:"result",resultCause:I.cause});f[x]=I.value}return f}catch(u){throw T(),u}})()};var Me=P,Ue=O;let o=(l,p)=>(async()=>{let c=Pe(p),{name:t,key:r,description:w,retry:a,timeout:T}=c,u=C(r),f=m,x=f?performance.now():0;if(!(typeof l=="function")){if(a&&a.attempts>1)throw new Error("step: retry options require a function operation. Direct Promise/Result values cannot be re-executed on retry. Wrap your operation in a function: step(() => yourOperation, { retry: {...} })");if(T)throw new Error("step: timeout options require a function operation. Direct Promise/Result values cannot be wrapped with timeout after they've started. Wrap your operation in a function: step(() => yourOperation, { timeout: {...} })")}let b={attempts:Math.max(1,a?.attempts??1),backoff:a?.backoff??B.backoff,initialDelay:a?.initialDelay??B.initialDelay,maxDelay:a?.maxDelay??B.maxDelay,jitter:a?.jitter??B.jitter,retryOn:a?.retryOn??B.retryOn,onRetry:a?.onRetry??B.onRetry};m&&i({type:"step_start",workflowId:s,stepId:u,stepKey:r,name:t,description:w,ts:Date.now()});let j;for(let S=1;S<=b.attempts;S++){let we=f?performance.now():0;try{let E;if(typeof l=="function"?T?E=await Ie(l,T,{name:t,key:r,attempt:S},_):E=await l():E=await l,E.ok){let N=performance.now()-x;return i({type:"step_success",workflowId:s,stepId:u,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:N}),r&&i({type:"step_complete",workflowId:s,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:N,result:E}),E.value}if(j=E,S<b.attempts&&b.retryOn(E.error,S)){let N=Z(S,b);i({type:"step_retry",workflowId:s,stepId:u,stepKey:r,name:t,ts:Date.now(),attempt:S+1,maxAttempts:b.attempts,delayMs:N,error:E.error}),b.onRetry(E.error,S,N),await ee(N);continue}b.attempts>1&&i({type:"step_retries_exhausted",workflowId:s,stepId:u,stepKey:r,name:t,ts:Date.now(),durationMs:performance.now()-x,attempts:S,lastError:E.error});break}catch(E){let N=performance.now()-we;if(_e(E)){let h=E.ms;i({type:"step_timeout",workflowId:s,stepId:u,stepKey:r,name:t,ts:Date.now(),timeoutMs:h,attempt:S}),i({type:"step_success",workflowId:s,stepId:u,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:performance.now()-x}),r&&i({type:"step_complete",workflowId:s,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:performance.now()-x,result:F(void 0)});return}if(re(E))throw i({type:"step_aborted",workflowId:s,stepId:u,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:N}),E;if(Q(E)){let h=Se(E),H=T?.ms??h?.timeoutMs??0;if(i({type:"step_timeout",workflowId:s,stepId:u,stepKey:r,name:t,ts:Date.now(),timeoutMs:H,attempt:S}),S<b.attempts&&b.retryOn(E,S)){let G=Z(S,b);i({type:"step_retry",workflowId:s,stepId:u,stepKey:r,name:t,ts:Date.now(),attempt:S+1,maxAttempts:b.attempts,delayMs:G,error:E}),b.onRetry(E,S,G),await ee(G);continue}b.attempts>1&&i({type:"step_retries_exhausted",workflowId:s,stepId:u,stepKey:r,name:t,ts:Date.now(),durationMs:performance.now()-x,attempts:S,lastError:E});let oe=performance.now()-x;throw i({type:"step_error",workflowId:s,stepId:u,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:oe,error:E}),r&&i({type:"step_complete",workflowId:s,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:oe,result:A(E,{cause:E}),meta:{origin:"throw",thrown:E}}),y?.(E,t,d),D(E,{origin:"throw",thrown:E})}if(S<b.attempts&&b.retryOn(E,S)){let h=Z(S,b);i({type:"step_retry",workflowId:s,stepId:u,stepKey:r,name:t,ts:Date.now(),attempt:S+1,maxAttempts:b.attempts,delayMs:h,error:E}),b.onRetry(E,S,h),await ee(h);continue}b.attempts>1&&!Q(E)&&i({type:"step_retries_exhausted",workflowId:s,stepId:u,stepKey:r,name:t,ts:Date.now(),durationMs:performance.now()-x,attempts:S,lastError:E});let $=performance.now()-x;if(k){let h;try{h=k(E)}catch(H){throw Ae(H)}throw i({type:"step_error",workflowId:s,stepId:u,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:$,error:h}),r&&i({type:"step_complete",workflowId:s,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:$,result:A(h,{cause:E}),meta:{origin:"throw",thrown:E}}),y?.(h,t,d),D(h,{origin:"throw",thrown:E})}else{let h={type:"UNEXPECTED_ERROR",cause:{type:"UNCAUGHT_EXCEPTION",thrown:E}};throw i({type:"step_error",workflowId:s,stepId:u,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:$,error:h}),r&&i({type:"step_complete",workflowId:s,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:$,result:A(h,{cause:E}),meta:{origin:"throw",thrown:E}}),E}}}let M=j,X=performance.now()-x,K=Y(M.error,{origin:"result",resultCause:M.cause});throw i({type:"step_error",workflowId:s,stepId:u,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:X,error:K}),r&&i({type:"step_complete",workflowId:s,stepKey:r,name:t,description:w,ts:Date.now(),durationMs:X,result:M,meta:{origin:"result",resultCause:M.cause}}),y?.(M.error,t,d),D(M.error,{origin:"result",resultCause:M.cause})})();o.try=(l,p)=>{let c=p.name,t=p.key,r=C(t),w="error"in p?()=>p.error:p.onError,a=m;return(async()=>{let T=a?performance.now():0;m&&i({type:"step_start",workflowId:s,stepId:r,stepKey:t,name:c,ts:Date.now()});try{let u=await l(),f=performance.now()-T;return i({type:"step_success",workflowId:s,stepId:r,stepKey:t,name:c,ts:Date.now(),durationMs:f}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:c,ts:Date.now(),durationMs:f,result:F(u)}),u}catch(u){let f=w(u),x=performance.now()-T,I=Y(f,{origin:"throw",thrown:u});throw i({type:"step_error",workflowId:s,stepId:r,stepKey:t,name:c,ts:Date.now(),durationMs:x,error:I}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:c,ts:Date.now(),durationMs:x,result:A(f,{cause:u}),meta:{origin:"throw",thrown:u}}),y?.(f,c,d),D(f,{origin:"throw",thrown:u})}})()},o.fromResult=(l,p)=>{let c=p.name,t=p.key,r=C(t),w="error"in p?()=>p.error:p.onError,a=m;return(async()=>{let T=a?performance.now():0;m&&i({type:"step_start",workflowId:s,stepId:r,stepKey:t,name:c,ts:Date.now()});let u=await l();if(u.ok){let f=performance.now()-T;return i({type:"step_success",workflowId:s,stepId:r,stepKey:t,name:c,ts:Date.now(),durationMs:f}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:c,ts:Date.now(),durationMs:f,result:F(u.value)}),u.value}else{let f=w(u.error),x=performance.now()-T,I=Y(f,{origin:"result",resultCause:u.error});throw i({type:"step_error",workflowId:s,stepId:r,stepKey:t,name:c,ts:Date.now(),durationMs:x,error:I}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:c,ts:Date.now(),durationMs:x,result:A(f,{cause:u.error}),meta:{origin:"result",resultCause:u.error}}),y?.(f,c,d),D(f,{origin:"result",resultCause:u.error})}})()},o.retry=(l,p)=>o(l,{name:p.name,key:p.key,retry:{attempts:p.attempts,backoff:p.backoff,initialDelay:p.initialDelay,maxDelay:p.maxDelay,jitter:p.jitter,retryOn:p.retryOn,onRetry:p.onRetry},timeout:p.timeout}),o.withTimeout=(l,p)=>o(l,{name:p.name,key:p.key,timeout:p}),o.sleep=(l,p)=>{let c=typeof l=="string"?xe(l):l;if(!c)throw new Error(`step.sleep: invalid duration '${l}'`);let t=c.millis,r=p?.name??`sleep ${typeof l=="string"?l:`${t}ms`}`,w=p?.signal;return o(async()=>{if(_?.aborted||w?.aborted){let a=new Error("Sleep aborted");throw a.name="AbortError",a}return new Promise((a,T)=>{let u={timeoutId:void 0},f=()=>{u.timeoutId&&clearTimeout(u.timeoutId);let x=new Error("Sleep aborted");x.name="AbortError",T(x)};_?.addEventListener("abort",f,{once:!0}),w?.addEventListener("abort",f,{once:!0}),u.timeoutId=setTimeout(()=>{_?.removeEventListener("abort",f),w?.removeEventListener("abort",f),a(F(void 0))},t)})},{name:r,key:p?.key,description:p?.description})},o.parallel=((...l)=>{if(typeof l[0]=="string"){let p=l[0],c=l[1];return P(p,c)}else{let p=l[0],c=l[1]??{};return O(p,c)}}),o.race=(l,p)=>{let c=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let t=performance.now(),r=!1,w={scopeId:c,type:"race",winnerId:void 0};g.push(w);let a=()=>{if(r)return;r=!0;let T=g.findIndex(u=>u.scopeId===c);T!==-1&&g.splice(T,1),i({type:"scope_end",workflowId:s,scopeId:c,ts:Date.now(),durationMs:performance.now()-t,winnerId:w.winnerId})};i({type:"scope_start",workflowId:s,scopeId:c,scopeType:"race",name:l,ts:Date.now()});try{let T=await p();if(a(),!T.ok)throw y?.(T.error,l,d),D(T.error,{origin:"result",resultCause:T.cause});return T.value}catch(T){throw a(),T}})()},o.allSettled=(l,p)=>{let c=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let t=performance.now(),r=!1;g.push({scopeId:c,type:"allSettled"});let w=()=>{if(r)return;r=!0;let a=g.findIndex(T=>T.scopeId===c);a!==-1&&g.splice(a,1),i({type:"scope_end",workflowId:s,scopeId:c,ts:Date.now(),durationMs:performance.now()-t})};i({type:"scope_start",workflowId:s,scopeId:c,scopeType:"allSettled",name:l,ts:Date.now()});try{let a=await p();if(w(),!a.ok)throw y?.(a.error,l,d),D(a.error,{origin:"result",resultCause:a.cause});return a.value}catch(a){throw w(),a}})()};let U=await e(o);if(process.env.NODE_ENV!=="production"&&U!==null&&typeof U=="object"&&"ok"in U&&typeof U.ok=="boolean"){let l=U;(l.ok===!0&&"value"in l||l.ok===!1&&"error"in l)&&console.warn(`awaitly: Workflow executor returned a Result-like object. Return raw values, not ok() or err().
1
+ "use strict";var Q=Object.defineProperty;var Re=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var xe=Object.prototype.hasOwnProperty;var ge=(e,o)=>{for(var w in o)Q(e,w,{get:o[w],enumerable:!0})},Se=(e,o,w,y)=>{if(o&&typeof o=="object"||typeof o=="function")for(let R of Ce(o))!xe.call(e,R)&&R!==w&&Q(e,R,{get:()=>o[R],enumerable:!(y=Re(o,R))||y.enumerable});return e};var be=e=>Se(Q({},"__esModule",{value:!0}),e);var Ue={};ge(Ue,{fromCallback:()=>ye,fromEvent:()=>de,isEventEmitterLike:()=>Te,isEventTimeoutError:()=>Ee,isInvalidEmitterError:()=>me});module.exports=be(Ue);function Ae(e){let o=e.trim().match(/^(\d+(?:\.\d+)?)\s*(ms|s|m|h|d)$/i);if(!o)return;let w=parseFloat(o[1]),y=o[2].toLowerCase();return{_tag:"Duration",millis:w*({ms:1,s:1e3,m:6e4,h:36e5,d:864e5}[y]??1)}}var L=e=>({ok:!0,value:e}),P=(e,o)=>({ok:!1,error:e,...o?.cause!==void 0?{cause:o.cause}:{}});var ve=e=>typeof e=="object"&&e!==null&&e.type==="UNEXPECTED_ERROR";var X=Symbol.for("step_timeout_marker");function ee(e){return typeof e!="object"||e===null?!1:e.type==="STEP_TIMEOUT"?!0:X in e}function he(e){if(!(typeof e!="object"||e===null)){if(e.type==="STEP_TIMEOUT"){let o=e;return{timeoutMs:o.timeoutMs,stepName:o.stepName,stepKey:o.stepKey,attempt:o.attempt}}if(X in e)return e[X]}}var pe=Symbol("early-exit");function Pe(e,o){return{[pe]:!0,error:e,meta:o}}function _e(e){return typeof e=="object"&&e!==null&&e[pe]===!0}var le=Symbol("mapper-exception");function Ie(e){return{[le]:!0,thrown:e}}function Oe(e){return typeof e=="object"&&e!==null&&e[le]===!0}function ne(e,o){let{backoff:w,initialDelay:y,maxDelay:R,jitter:v}=o,f;switch(w){case"fixed":f=y;break;case"linear":f=y*e;break;case"exponential":f=y*Math.pow(2,e-1);break}if(f=Math.min(f,R),v){let M=f*.25*Math.random();f=f+M}return Math.floor(f)}function te(e){return new Promise(o=>setTimeout(o,e))}var ie=Symbol("timeout"),z=Symbol("timeout-option");function Me(e){return typeof e=="object"&&e!==null&&e[z]===!0}async function De(e,o,w,y){let R=new AbortController,v=o.onTimeout??"error",f=()=>typeof v=="function"?v({name:w.name,key:w.key,ms:o.ms}):o.error??{type:"STEP_TIMEOUT",stepName:w.name,stepKey:w.key,timeoutMs:o.ms,attempt:w.attempt},M;y?.aborted&&R.abort(y.reason);let u;y&&!y.aborted&&(u=()=>R.abort(y.reason),y.addEventListener("abort",u,{once:!0}));let V=new Promise((C,x)=>{M=setTimeout(()=>{if(v!=="disconnect"&&R.abort(),v==="option"){x({[z]:!0,ms:o.ms});return}x({[ie]:!0,error:f()})},o.ms)}),b;o.signal?b=Promise.resolve(e(R.signal)):b=Promise.resolve(e());try{return await Promise.race([b,V])}catch(C){if(typeof C=="object"&&C!==null&&C[z]===!0)throw{[z]:!0,ms:o.ms};if(typeof C=="object"&&C!==null&&C[ie]===!0){v==="disconnect"&&b.catch(()=>{});let x=C.error;if(typeof x=="object"&&x!==null&&x.type!=="STEP_TIMEOUT"){let c={timeoutMs:o.ms,stepName:w.name,stepKey:w.key,attempt:w.attempt};X in x?x[X]=c:Object.defineProperty(x,X,{value:c,enumerable:!1,writable:!0,configurable:!1})}throw x}throw C}finally{clearTimeout(M),u&&y&&y.removeEventListener("abort",u)}}var W={backoff:"exponential",initialDelay:100,maxDelay:3e4,jitter:!0,retryOn:()=>!0,onRetry:()=>{}};async function ce(e,o){let{onError:w,onEvent:y,catchUnexpected:R,workflowId:v,context:f,_workflowSignal:M}=o&&typeof o=="object"?o:{},u=v??crypto.randomUUID(),V=!w&&!R,b=[],C=0,x=T=>T??`step_${++C}`,c=T=>{let k=T.context!==void 0||f===void 0?T:{...T,context:f};if(k.type==="step_success"){let D=k.stepId;for(let F=b.length-1;F>=0;F--){let $=b[F];if($.type==="race"&&!$.winnerId){$.winnerId=D;break}}}y?.(k,f)},U=Pe,se=T=>_e(T),G=(T,k)=>V?k?.origin==="result"?{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"result",error:T,...k.resultCause!==void 0?{cause:k.resultCause}:{}}}:k?.origin==="throw"?{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"throw",error:T,thrown:k.thrown}}:{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"result",error:T}}:T,we=T=>({type:"UNEXPECTED_ERROR",cause:T.meta.origin==="result"?{type:"STEP_FAILURE",origin:"result",error:T.error,...T.meta.resultCause!==void 0?{cause:T.meta.resultCause}:{}}:{type:"STEP_FAILURE",origin:"throw",error:T.error,thrown:T.meta.thrown}});try{let D=function(s,n){let t=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let p=performance.now(),E=!1;b.push({scopeId:t,type:"parallel"});let d=()=>{if(E)return;E=!0;let r=b.findIndex(a=>a.scopeId===t);r!==-1&&b.splice(r,1),c({type:"scope_end",workflowId:u,scopeId:t,ts:Date.now(),durationMs:performance.now()-p})};c({type:"scope_start",workflowId:u,scopeId:t,scopeType:"parallel",name:s,ts:Date.now()});try{let r=await n();if(d(),!r.ok)throw w?.(r.error,s,f),U(r.error,{origin:"result",resultCause:r.cause});return r.value}catch(r){throw d(),r}})()},F=function(s,n){let t=Object.keys(s),p=n.name??`Parallel(${t.join(", ")})`,E=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let d=performance.now(),r=!1;b.push({scopeId:E,type:"parallel"});let a=()=>{if(r)return;r=!0;let i=b.findIndex(l=>l.scopeId===E);i!==-1&&b.splice(i,1),c({type:"scope_end",workflowId:u,scopeId:E,ts:Date.now(),durationMs:performance.now()-d})};c({type:"scope_start",workflowId:u,scopeId:E,scopeType:"parallel",name:p,ts:Date.now()});try{let i=await new Promise(g=>{if(t.length===0){g([]);return}let _=!1,h=t.length,Y=new Array(t.length);for(let O=0;O<t.length;O++){let H=t[O],A=O;Promise.resolve(s[H]()).catch(K=>P({type:"PROMISE_REJECTED",cause:K},{cause:{type:"PROMISE_REJECTION",reason:K}})).then(K=>{if(!_){if(!K.ok){_=!0,g([{key:H,result:K}]);return}Y[A]={key:H,result:K},h--,h===0&&g(Y)}})}});a();let l={};for(let{key:g,result:_}of i){if(!_.ok)throw w?.(_.error,g,f),U(_.error,{origin:"result",resultCause:_.cause});l[g]=_.value}return l}catch(i){throw a(),i}})()};var Ke=D,Fe=F;let T=s=>{let n=s.toString(),t=n.match(/(?:async\s*)?\(\)\s*=>\s*(?:await\s+)?([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(t)return t[1];let p=n.match(/(?:async\s*)?\(\)\s*=>\s*(?:await\s+)?(?:deps|this|ctx)\.([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);return p?p[1]:x()},k=(s,n,t)=>(async()=>{let p,E,d;if(typeof s=="string")p=s,E=n,d=t??{};else if(typeof s=="function")E=s,typeof n=="string"?(p=n,d={}):n&&typeof n=="object"&&!("ok"in n)?(d=n,p=T(E)):(d={},p=T(E));else{let S=s;E=()=>S,typeof n=="string"?(p=n,d={}):n&&typeof n=="object"&&!("ok"in n)?(d=n,p="directStep"):(d={},p="directStep")}let r=p,a=d.key??p,i=d.key,{description:l,retry:g,timeout:_}=d,h=x(a),Y=y,O=Y?performance.now():0,A={attempts:Math.max(1,g?.attempts??1),backoff:g?.backoff??W.backoff,initialDelay:g?.initialDelay??W.initialDelay,maxDelay:g?.maxDelay??W.maxDelay,jitter:g?.jitter??W.jitter,retryOn:g?.retryOn??W.retryOn,onRetry:g?.onRetry??W.onRetry};y&&c({type:"step_start",workflowId:u,stepId:h,stepKey:a,name:r,description:l,ts:Date.now()});let K;for(let S=1;S<=A.attempts;S++){let fe=Y?performance.now():0;try{let m;if(_?m=await De(E,_,{name:r,key:a,attempt:S},M):m=await E(),m.ok){let N=performance.now()-O;return c({type:"step_success",workflowId:u,stepId:h,stepKey:a,name:r,description:l,ts:Date.now(),durationMs:N}),i&&c({type:"step_complete",workflowId:u,stepKey:i,name:r,description:l,ts:Date.now(),durationMs:N,result:m}),m.value}if(K=m,S<A.attempts&&A.retryOn(m.error,S)){let N=ne(S,A);c({type:"step_retry",workflowId:u,stepId:h,stepKey:a,name:r,ts:Date.now(),attempt:S+1,maxAttempts:A.attempts,delayMs:N,error:m.error}),A.onRetry(m.error,S,N),await te(N);continue}A.attempts>1&&c({type:"step_retries_exhausted",workflowId:u,stepId:h,stepKey:a,name:r,ts:Date.now(),durationMs:performance.now()-O,attempts:S,lastError:m.error});break}catch(m){let N=performance.now()-fe;if(Me(m)){let I=m.ms;c({type:"step_timeout",workflowId:u,stepId:h,stepKey:a,name:r,ts:Date.now(),timeoutMs:I,attempt:S}),c({type:"step_success",workflowId:u,stepId:h,stepKey:a,name:r,description:l,ts:Date.now(),durationMs:performance.now()-O}),i&&c({type:"step_complete",workflowId:u,stepKey:i,name:r,description:l,ts:Date.now(),durationMs:performance.now()-O,result:L(void 0)});return}if(se(m))throw c({type:"step_aborted",workflowId:u,stepId:h,stepKey:a,name:r,description:l,ts:Date.now(),durationMs:N}),m;if(ee(m)){let I=he(m),q=_?.ms??I?.timeoutMs??0;if(c({type:"step_timeout",workflowId:u,stepId:h,stepKey:a,name:r,ts:Date.now(),timeoutMs:q,attempt:S}),S<A.attempts&&A.retryOn(m,S)){let Z=ne(S,A);c({type:"step_retry",workflowId:u,stepId:h,stepKey:a,name:r,ts:Date.now(),attempt:S+1,maxAttempts:A.attempts,delayMs:Z,error:m}),A.onRetry(m,S,Z),await te(Z);continue}A.attempts>1&&c({type:"step_retries_exhausted",workflowId:u,stepId:h,stepKey:a,name:r,ts:Date.now(),durationMs:performance.now()-O,attempts:S,lastError:m});let ae=performance.now()-O;throw c({type:"step_error",workflowId:u,stepId:h,stepKey:a,name:r,description:l,ts:Date.now(),durationMs:ae,error:m}),i&&c({type:"step_complete",workflowId:u,stepKey:i,name:r,description:l,ts:Date.now(),durationMs:ae,result:P(m,{cause:m}),meta:{origin:"throw",thrown:m}}),w?.(m,r,f),U(m,{origin:"throw",thrown:m})}if(S<A.attempts&&A.retryOn(m,S)){let I=ne(S,A);c({type:"step_retry",workflowId:u,stepId:h,stepKey:a,name:r,ts:Date.now(),attempt:S+1,maxAttempts:A.attempts,delayMs:I,error:m}),A.onRetry(m,S,I),await te(I);continue}A.attempts>1&&!ee(m)&&c({type:"step_retries_exhausted",workflowId:u,stepId:h,stepKey:a,name:r,ts:Date.now(),durationMs:performance.now()-O,attempts:S,lastError:m});let J=performance.now()-O;if(R){let I;try{I=R(m)}catch(q){throw Ie(q)}throw c({type:"step_error",workflowId:u,stepId:h,stepKey:a,name:r,description:l,ts:Date.now(),durationMs:J,error:I}),i&&c({type:"step_complete",workflowId:u,stepKey:i,name:r,description:l,ts:Date.now(),durationMs:J,result:P(I,{cause:m}),meta:{origin:"throw",thrown:m}}),w?.(I,r,f),U(I,{origin:"throw",thrown:m})}else{let I={type:"UNEXPECTED_ERROR",cause:{type:"UNCAUGHT_EXCEPTION",thrown:m}};throw c({type:"step_error",workflowId:u,stepId:h,stepKey:a,name:r,description:l,ts:Date.now(),durationMs:J,error:I}),i&&c({type:"step_complete",workflowId:u,stepKey:i,name:r,description:l,ts:Date.now(),durationMs:J,result:P(I,{cause:m}),meta:{origin:"throw",thrown:m}}),m}}}let j=K,ue=performance.now()-O,ke=G(j.error,{origin:"result",resultCause:j.cause});throw c({type:"step_error",workflowId:u,stepId:h,stepKey:a,name:r,description:l,ts:Date.now(),durationMs:ue,error:ke}),i&&c({type:"step_complete",workflowId:u,stepKey:i,name:r,description:l,ts:Date.now(),durationMs:ue,result:j,meta:{origin:"result",resultCause:j.cause}}),w?.(j.error,r,f),U(j.error,{origin:"result",resultCause:j.cause})})();k.try=(s,n)=>{let t=n.key,p=t,E=x(t),d="error"in n?()=>n.error:n.onError,r=y;return(async()=>{let a=r?performance.now():0;y&&c({type:"step_start",workflowId:u,stepId:E,stepKey:t,name:p,ts:Date.now()});try{let i=await s(),l=performance.now()-a;return c({type:"step_success",workflowId:u,stepId:E,stepKey:t,name:p,ts:Date.now(),durationMs:l}),t&&c({type:"step_complete",workflowId:u,stepKey:t,name:p,ts:Date.now(),durationMs:l,result:L(i)}),i}catch(i){let l=d(i),g=performance.now()-a,_=G(l,{origin:"throw",thrown:i});throw c({type:"step_error",workflowId:u,stepId:E,stepKey:t,name:p,ts:Date.now(),durationMs:g,error:_}),t&&c({type:"step_complete",workflowId:u,stepKey:t,name:p,ts:Date.now(),durationMs:g,result:P(l,{cause:i}),meta:{origin:"throw",thrown:i}}),w?.(l,p,f),U(l,{origin:"throw",thrown:i})}})()},k.fromResult=(s,n)=>{let t=n.key,p=t,E=x(t),d="error"in n?()=>n.error:n.onError,r=y;return(async()=>{let a=r?performance.now():0;y&&c({type:"step_start",workflowId:u,stepId:E,stepKey:t,name:p,ts:Date.now()});let i=await s();if(i.ok){let l=performance.now()-a;return c({type:"step_success",workflowId:u,stepId:E,stepKey:t,name:p,ts:Date.now(),durationMs:l}),t&&c({type:"step_complete",workflowId:u,stepKey:t,name:p,ts:Date.now(),durationMs:l,result:L(i.value)}),i.value}else{let l=d(i.error),g=performance.now()-a,_=G(l,{origin:"result",resultCause:i.error});throw c({type:"step_error",workflowId:u,stepId:E,stepKey:t,name:p,ts:Date.now(),durationMs:g,error:_}),t&&c({type:"step_complete",workflowId:u,stepKey:t,name:p,ts:Date.now(),durationMs:g,result:P(l,{cause:i.error}),meta:{origin:"result",resultCause:i.error}}),w?.(l,p,f),U(l,{origin:"result",resultCause:i.error})}})()},k.retry=(s,n)=>{let t=n.key??"retry";return k(t,s,{key:n.key,retry:{attempts:n.attempts,backoff:n.backoff,initialDelay:n.initialDelay,maxDelay:n.maxDelay,jitter:n.jitter,retryOn:n.retryOn,onRetry:n.onRetry},timeout:n.timeout})},k.withTimeout=(s,n)=>{let t=n.key??"timeout";return k(t,s,{key:n.key,timeout:n})},k.sleep=(s,n)=>{let t=typeof s=="string"?Ae(s):s;if(!t)throw new Error(`step.sleep: invalid duration '${s}'`);let p=t.millis,E=n?.signal,d=n?.key??"sleep";return k(d,async()=>{if(M?.aborted||E?.aborted){let r=new Error("Sleep aborted");throw r.name="AbortError",r}return new Promise((r,a)=>{let i={timeoutId:void 0},l=()=>{i.timeoutId&&clearTimeout(i.timeoutId);let g=new Error("Sleep aborted");g.name="AbortError",a(g)};M?.addEventListener("abort",l,{once:!0}),E?.addEventListener("abort",l,{once:!0}),i.timeoutId=setTimeout(()=>{M?.removeEventListener("abort",l),E?.removeEventListener("abort",l),r(L(void 0))},p)})},{key:n?.key,description:n?.description})},k.parallel=((...s)=>{if(typeof s[0]=="string"){let n=s[0],t=s[1];return D(n,t)}else{let n=s[0],t=s[1]??{},p={};for(let[E,d]of Object.entries(n))if(typeof d=="function")p[E]=d;else if(d&&typeof d=="object"&&"fn"in d)p[E]=d.fn;else throw new TypeError(`step.parallel: operation "${E}" must be a function or { fn, errors? } object`);return F(p,t)}}),k.race=(s,n)=>{let t=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let p=performance.now(),E=!1,d={scopeId:t,type:"race",winnerId:void 0};b.push(d);let r=()=>{if(E)return;E=!0;let a=b.findIndex(i=>i.scopeId===t);a!==-1&&b.splice(a,1),c({type:"scope_end",workflowId:u,scopeId:t,ts:Date.now(),durationMs:performance.now()-p,winnerId:d.winnerId})};c({type:"scope_start",workflowId:u,scopeId:t,scopeType:"race",name:s,ts:Date.now()});try{let a=await n();if(r(),!a.ok)throw w?.(a.error,s,f),U(a.error,{origin:"result",resultCause:a.cause});return a.value}catch(a){throw r(),a}})()},k.allSettled=(s,n)=>{let t=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let p=performance.now(),E=!1;b.push({scopeId:t,type:"allSettled"});let d=()=>{if(E)return;E=!0;let r=b.findIndex(a=>a.scopeId===t);r!==-1&&b.splice(r,1),c({type:"scope_end",workflowId:u,scopeId:t,ts:Date.now(),durationMs:performance.now()-p})};c({type:"scope_start",workflowId:u,scopeId:t,scopeType:"allSettled",name:s,ts:Date.now()});try{let r=await n();if(d(),!r.ok)throw w?.(r.error,s,f),U(r.error,{origin:"result",resultCause:r.cause});return r.value}catch(r){throw d(),r}})()},k.if=(s,n,t)=>t(),k.label=k.if,k.branch=async(s,n)=>{let{condition:t,then:p,else:E}=n;if(t())return await p();if(E)return await E()},k.arm=(s,n)=>({fn:s,errors:n}),k.forEach=async(s,n,t)=>{let p=[],E=t.maxIterations,d=0,r="run"in t,a=Symbol.asyncIterator in n?n:(async function*(){yield*n})();for await(let i of a){if(E!==void 0&&d>=E)break;let l;r?l=await t.run(i,d):l=await t.item.handler(i,d,k),p.push(l),d++}return p},k.item=s=>({__forEachItemHandler:!0,handler:s}),k.dep=(s,n)=>n;let B=await e(k);if(process.env.NODE_ENV!=="production"&&B!==null&&typeof B=="object"&&"ok"in B&&typeof B.ok=="boolean"){let s=B;(s.ok===!0&&"value"in s||s.ok===!1&&"error"in s)&&console.warn(`awaitly: Workflow executor returned a Result-like object. Return raw values, not ok() or err().
2
2
 
3
3
  Incorrect: return ok({ data });
4
4
  Correct: return { data };
5
5
 
6
- See: https://awaitly.dev/guides/troubleshooting/#returning-ok-from-workflow-executor-double-wrapping`)}return F(U)}catch(o){if(he(o))throw o.thrown;if(re(o)){let O=o.meta.origin==="throw"?o.meta.thrown:o.meta.resultCause;if(k||y)return A(o.error,{cause:O});if(ge(o.error))return A(o.error,{cause:O});if(Q(o.error))return A(o.error,{cause:O});let V=ye(o);return A(V,{cause:O})}if(k){let O=k(o);return y?.(O,"unexpected",d),A(O,{cause:o})}let P={type:"UNEXPECTED_ERROR",cause:{type:"UNCAUGHT_EXCEPTION",thrown:o}};return y?.(P,"unexpected",d),A(P,{cause:o})}}ue.strict=(e,n)=>ue(e,n);function pe(e){return typeof e=="object"&&e!==null&&e.type==="EVENT_TIMEOUT"}function ce(e){return typeof e=="object"&&e!==null&&e.type==="INVALID_EMITTER"}function le(e,n){return new Promise(y=>{try{e((m,k)=>{if(m){let v=n?.onError?n.onError(m):m;y(A(v,{cause:m}))}else y(F(k))})}catch(m){let k=m instanceof Error?m:new Error(String(m)),v=n?.onError?n.onError(k):k;y(A(v,{cause:m}))}})}function ne(e){return typeof e=="object"&&e!==null&&"on"in e&&"off"in e&&typeof e.on=="function"&&typeof e.off=="function"}function te(e){return typeof e=="object"&&e!==null&&"addEventListener"in e&&"removeEventListener"in e&&typeof e.addEventListener=="function"&&typeof e.removeEventListener=="function"}function Ee(e,n,y){return new Promise(m=>{let k,v=!1,d=ne(e)?(R,C)=>e.on(R,C):te(e)?(R,C)=>e.addEventListener(R,C):null,_=ne(e)?(R,C)=>e.off(R,C):te(e)?(R,C)=>e.removeEventListener(R,C):null;if(!d||!_){m(A({type:"INVALID_EMITTER",message:"Object does not have on/off or addEventListener/removeEventListener"}));return}let s=(...R)=>{v||(v=!0,g(),m(F(R[0])))},L=(...R)=>{if(v)return;v=!0,g();let C=R[0],i=y?.onError?y.onError(C):C;m(A(i,{cause:C}))},g=()=>{k&&clearTimeout(k),_(n.success,s),n.error&&_(n.error,L)};d(n.success,s),n.error&&d(n.error,L),n.timeout&&(k=setTimeout(()=>{if(v)return;v=!0,g();let R={type:"EVENT_TIMEOUT",event:n.success,timeoutMs:n.timeout};m(A(R))},n.timeout))})}function me(e){return ne(e)||te(e)}0&&(module.exports={fromCallback,fromEvent,isEventEmitterLike,isEventTimeoutError,isInvalidEmitterError});
6
+ See: https://jagreehal.github.io/awaitly/guides/troubleshooting/#returning-ok-from-workflow-executor-double-wrapping`)}return L(B)}catch(T){if(Oe(T))throw T.thrown;if(se(T)){let D=T.meta.origin==="throw"?T.meta.thrown:T.meta.resultCause;if(R||w)return P(T.error,{cause:D});if(ve(T.error))return P(T.error,{cause:D});if(ee(T.error))return P(T.error,{cause:D});let F=we(T);return P(F,{cause:D})}if(R){let D=R(T);return w?.(D,"unexpected",f),P(D,{cause:T})}let k={type:"UNEXPECTED_ERROR",cause:{type:"UNCAUGHT_EXCEPTION",thrown:T}};return w?.(k,"unexpected",f),P(k,{cause:T})}}ce.strict=(e,o)=>ce(e,o);function Ee(e){return typeof e=="object"&&e!==null&&e.type==="EVENT_TIMEOUT"}function me(e){return typeof e=="object"&&e!==null&&e.type==="INVALID_EMITTER"}function ye(e,o){return new Promise(w=>{try{e((y,R)=>{if(y){let v=o?.onError?o.onError(y):y;w(P(v,{cause:y}))}else w(L(R))})}catch(y){let R=y instanceof Error?y:new Error(String(y)),v=o?.onError?o.onError(R):R;w(P(v,{cause:y}))}})}function re(e){return typeof e=="object"&&e!==null&&"on"in e&&"off"in e&&typeof e.on=="function"&&typeof e.off=="function"}function oe(e){return typeof e=="object"&&e!==null&&"addEventListener"in e&&"removeEventListener"in e&&typeof e.addEventListener=="function"&&typeof e.removeEventListener=="function"}function de(e,o,w){return new Promise(y=>{let R,v=!1,f=re(e)?(C,x)=>e.on(C,x):oe(e)?(C,x)=>e.addEventListener(C,x):null,M=re(e)?(C,x)=>e.off(C,x):oe(e)?(C,x)=>e.removeEventListener(C,x):null;if(!f||!M){y(P({type:"INVALID_EMITTER",message:"Object does not have on/off or addEventListener/removeEventListener"}));return}let u=(...C)=>{v||(v=!0,b(),y(L(C[0])))},V=(...C)=>{if(v)return;v=!0,b();let x=C[0],c=w?.onError?w.onError(x):x;y(P(c,{cause:x}))},b=()=>{R&&clearTimeout(R),M(o.success,u),o.error&&M(o.error,V)};f(o.success,u),o.error&&f(o.error,V),o.timeout&&(R=setTimeout(()=>{if(v)return;v=!0,b();let C={type:"EVENT_TIMEOUT",event:o.success,timeoutMs:o.timeout};y(P(C))},o.timeout))})}function Te(e){return re(e)||oe(e)}0&&(module.exports={fromCallback,fromEvent,isEventEmitterLike,isEventTimeoutError,isInvalidEmitterError});
7
7
  //# sourceMappingURL=adapters.cjs.map