awaitly 1.35.0 → 2.0.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.
- package/dist/{duration.d.ts → di-BDlT7InM.d.cts} +15 -1
- package/dist/{duration.d.cts → di-BbFFfO8y.d.ts} +15 -1
- package/dist/errors-DtXvrCiO.d.cts +708 -0
- package/dist/errors-DtXvrCiO.d.ts +708 -0
- package/dist/index.cjs +4594 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1970 -141
- package/dist/index.d.ts +1970 -141
- package/dist/index.js +4398 -1
- package/dist/index.js.map +1 -1
- package/dist/result.cjs +641 -1
- package/dist/result.cjs.map +1 -1
- package/dist/result.d.cts +29 -4
- package/dist/result.d.ts +29 -4
- package/dist/result.js +561 -1
- package/dist/result.js.map +1 -1
- package/dist/testing.cjs +4202 -8
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +2 -6
- package/dist/testing.d.ts +2 -6
- package/dist/testing.js +4154 -8
- package/dist/testing.js.map +1 -1
- package/dist/{run-entry-DGs0tySr.d.cts → types-B8NfNRGX.d.ts} +1078 -1502
- package/dist/{run-entry-BOuNyVoO.d.ts → types-BZ2f4MRR.d.cts} +1078 -1502
- package/dist/workflow.cjs +7096 -6
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +3346 -22
- package/dist/workflow.d.ts +3346 -22
- package/dist/workflow.js +6929 -6
- package/dist/workflow.js.map +1 -1
- package/package.json +3 -168
- package/dist/adapters.cjs +0 -7
- package/dist/adapters.cjs.map +0 -1
- package/dist/adapters.d.cts +0 -179
- package/dist/adapters.d.ts +0 -179
- package/dist/adapters.js +0 -7
- package/dist/adapters.js.map +0 -1
- package/dist/batch.cjs +0 -7
- package/dist/batch.cjs.map +0 -1
- package/dist/batch.d.cts +0 -200
- package/dist/batch.d.ts +0 -200
- package/dist/batch.js +0 -7
- package/dist/batch.js.map +0 -1
- package/dist/bind-deps.cjs +0 -2
- package/dist/bind-deps.cjs.map +0 -1
- package/dist/bind-deps.d.cts +0 -28
- package/dist/bind-deps.d.ts +0 -28
- package/dist/bind-deps.js +0 -2
- package/dist/bind-deps.js.map +0 -1
- package/dist/cache.cjs +0 -2
- package/dist/cache.cjs.map +0 -1
- package/dist/cache.d.cts +0 -269
- package/dist/cache.d.ts +0 -269
- package/dist/cache.js +0 -2
- package/dist/cache.js.map +0 -1
- package/dist/circuit-breaker.cjs +0 -7
- package/dist/circuit-breaker.cjs.map +0 -1
- package/dist/circuit-breaker.d.cts +0 -211
- package/dist/circuit-breaker.d.ts +0 -211
- package/dist/circuit-breaker.js +0 -7
- package/dist/circuit-breaker.js.map +0 -1
- package/dist/conditional.cjs +0 -2
- package/dist/conditional.cjs.map +0 -1
- package/dist/conditional.d.cts +0 -252
- package/dist/conditional.d.ts +0 -252
- package/dist/conditional.js +0 -2
- package/dist/conditional.js.map +0 -1
- package/dist/core.cjs +0 -7
- package/dist/core.cjs.map +0 -1
- package/dist/core.d.cts +0 -5
- package/dist/core.d.ts +0 -5
- package/dist/core.js +0 -7
- package/dist/core.js.map +0 -1
- package/dist/di-By77n4Fa.d.ts +0 -15
- package/dist/di-OJfsohf-.d.cts +0 -15
- package/dist/diagnostics.cjs +0 -8
- package/dist/diagnostics.cjs.map +0 -1
- package/dist/diagnostics.d.cts +0 -68
- package/dist/diagnostics.d.ts +0 -68
- package/dist/diagnostics.js +0 -8
- package/dist/diagnostics.js.map +0 -1
- package/dist/durable.cjs +0 -11
- package/dist/durable.cjs.map +0 -1
- package/dist/durable.d.cts +0 -9
- package/dist/durable.d.ts +0 -9
- package/dist/durable.js +0 -11
- package/dist/durable.js.map +0 -1
- package/dist/duration.cjs +0 -2
- package/dist/duration.cjs.map +0 -1
- package/dist/duration.js +0 -2
- package/dist/duration.js.map +0 -1
- package/dist/engine.cjs +0 -11
- package/dist/engine.cjs.map +0 -1
- package/dist/engine.d.cts +0 -115
- package/dist/engine.d.ts +0 -115
- package/dist/engine.js +0 -11
- package/dist/engine.js.map +0 -1
- package/dist/errors.cjs +0 -2
- package/dist/errors.cjs.map +0 -1
- package/dist/errors.d.cts +0 -361
- package/dist/errors.d.ts +0 -361
- package/dist/errors.js +0 -2
- package/dist/errors.js.map +0 -1
- package/dist/fetch.cjs +0 -7
- package/dist/fetch.cjs.map +0 -1
- package/dist/fetch.d.cts +0 -86
- package/dist/fetch.d.ts +0 -86
- package/dist/fetch.js +0 -7
- package/dist/fetch.js.map +0 -1
- package/dist/flow.cjs +0 -7
- package/dist/flow.cjs.map +0 -1
- package/dist/flow.d.cts +0 -163
- package/dist/flow.d.ts +0 -163
- package/dist/flow.js +0 -7
- package/dist/flow.js.map +0 -1
- package/dist/functional.cjs +0 -2
- package/dist/functional.cjs.map +0 -1
- package/dist/functional.d.cts +0 -444
- package/dist/functional.d.ts +0 -444
- package/dist/functional.js +0 -2
- package/dist/functional.js.map +0 -1
- package/dist/guards-4sV7mTqj.d.cts +0 -72
- package/dist/guards-BIX05ALH.d.ts +0 -72
- package/dist/hitl-DFn4Xa_l.d.cts +0 -468
- package/dist/hitl-DU5VpKq7.d.ts +0 -468
- package/dist/hitl.cjs +0 -7
- package/dist/hitl.cjs.map +0 -1
- package/dist/hitl.d.cts +0 -442
- package/dist/hitl.d.ts +0 -442
- package/dist/hitl.js +0 -7
- package/dist/hitl.js.map +0 -1
- package/dist/index-CnvBryQB.d.ts +0 -417
- package/dist/index-DEZEf8Fs.d.cts +0 -417
- package/dist/match-entry-DjI2bLpD.d.cts +0 -209
- package/dist/match-entry-DjI2bLpD.d.ts +0 -209
- package/dist/match.cjs +0 -2
- package/dist/match.cjs.map +0 -1
- package/dist/match.d.cts +0 -1
- package/dist/match.d.ts +0 -1
- package/dist/match.js +0 -2
- package/dist/match.js.map +0 -1
- package/dist/otel.cjs +0 -2
- package/dist/otel.cjs.map +0 -1
- package/dist/otel.d.cts +0 -188
- package/dist/otel.d.ts +0 -188
- package/dist/otel.js +0 -2
- package/dist/otel.js.map +0 -1
- package/dist/persistence-entry-B-8PjnSR.d.cts +0 -831
- package/dist/persistence-entry-D8zRkLiT.d.ts +0 -831
- package/dist/persistence.cjs +0 -2
- package/dist/persistence.cjs.map +0 -1
- package/dist/persistence.d.cts +0 -7
- package/dist/persistence.d.ts +0 -7
- package/dist/persistence.js +0 -2
- package/dist/persistence.js.map +0 -1
- package/dist/policies.cjs +0 -2
- package/dist/policies.cjs.map +0 -1
- package/dist/policies.d.cts +0 -379
- package/dist/policies.d.ts +0 -379
- package/dist/policies.js +0 -2
- package/dist/policies.js.map +0 -1
- package/dist/ratelimit.cjs +0 -7
- package/dist/ratelimit.cjs.map +0 -1
- package/dist/ratelimit.d.cts +0 -458
- package/dist/ratelimit.d.ts +0 -458
- package/dist/ratelimit.js +0 -7
- package/dist/ratelimit.js.map +0 -1
- package/dist/reliability.cjs +0 -11
- package/dist/reliability.cjs.map +0 -1
- package/dist/reliability.d.cts +0 -11
- package/dist/reliability.d.ts +0 -11
- package/dist/reliability.js +0 -11
- package/dist/reliability.js.map +0 -1
- package/dist/resolver.cjs +0 -7
- package/dist/resolver.cjs.map +0 -1
- package/dist/resolver.d.cts +0 -68
- package/dist/resolver.d.ts +0 -68
- package/dist/resolver.js +0 -7
- package/dist/resolver.js.map +0 -1
- package/dist/resource.cjs +0 -7
- package/dist/resource.cjs.map +0 -1
- package/dist/resource.d.cts +0 -174
- package/dist/resource.d.ts +0 -174
- package/dist/resource.js +0 -7
- package/dist/resource.js.map +0 -1
- package/dist/result/retry.cjs +0 -2
- package/dist/result/retry.cjs.map +0 -1
- package/dist/result/retry.d.cts +0 -70
- package/dist/result/retry.d.ts +0 -70
- package/dist/result/retry.js +0 -2
- package/dist/result/retry.js.map +0 -1
- package/dist/retry.cjs +0 -2
- package/dist/retry.cjs.map +0 -1
- package/dist/retry.d.cts +0 -388
- package/dist/retry.d.ts +0 -388
- package/dist/retry.js +0 -2
- package/dist/retry.js.map +0 -1
- package/dist/run.cjs +0 -7
- package/dist/run.cjs.map +0 -1
- package/dist/run.d.cts +0 -4
- package/dist/run.d.ts +0 -4
- package/dist/run.js +0 -7
- package/dist/run.js.map +0 -1
- package/dist/saga.cjs +0 -11
- package/dist/saga.cjs.map +0 -1
- package/dist/saga.d.cts +0 -164
- package/dist/saga.d.ts +0 -164
- package/dist/saga.js +0 -11
- package/dist/saga.js.map +0 -1
- package/dist/singleflight.cjs +0 -2
- package/dist/singleflight.cjs.map +0 -1
- package/dist/singleflight.d.cts +0 -145
- package/dist/singleflight.d.ts +0 -145
- package/dist/singleflight.js +0 -2
- package/dist/singleflight.js.map +0 -1
- package/dist/slugs.cjs +0 -2
- package/dist/slugs.cjs.map +0 -1
- package/dist/slugs.d.cts +0 -67
- package/dist/slugs.d.ts +0 -67
- package/dist/slugs.js +0 -2
- package/dist/slugs.js.map +0 -1
- package/dist/streaming.cjs +0 -9
- package/dist/streaming.cjs.map +0 -1
- package/dist/streaming.d.cts +0 -596
- package/dist/streaming.d.ts +0 -596
- package/dist/streaming.js +0 -9
- package/dist/streaming.js.map +0 -1
- package/dist/tagged-error.cjs +0 -2
- package/dist/tagged-error.cjs.map +0 -1
- package/dist/tagged-error.d.cts +0 -275
- package/dist/tagged-error.d.ts +0 -275
- package/dist/tagged-error.js +0 -2
- package/dist/tagged-error.js.map +0 -1
- package/dist/types-BziYHFkD.d.ts +0 -323
- package/dist/types-C5jLEUqY.d.cts +0 -323
- package/dist/webhook.cjs +0 -7
- package/dist/webhook.cjs.map +0 -1
- package/dist/webhook.d.cts +0 -499
- package/dist/webhook.d.ts +0 -499
- package/dist/webhook.js +0 -7
- package/dist/webhook.js.map +0 -1
package/dist/flow.cjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";var de=Object.defineProperty;var je=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var Le=Object.prototype.hasOwnProperty;var Ve=(r,e)=>{for(var m in e)de(r,m,{get:e[m],enumerable:!0})},We=(r,e,m,C)=>{if(e&&typeof e=="object"||typeof e=="function")for(let h of Be(e))!Le.call(r,h)&&h!==m&&de(r,h,{get:()=>e[h],enumerable:!(C=je(e,h))||C.enumerable});return r};var $e=r=>We(de({},"__esModule",{value:!0}),r);var ar={};Ve(ar,{flow:()=>Ue});module.exports=$e(ar);var He={"step-require-id":"step-require-id","step-no-immediate-execution":"step-no-immediate-execution","step-require-thunk-for-key":"step-require-thunk-for-key","step-no-bare-await":"step-no-bare-await","step-no-try-catch-wrap":"step-no-try-catch-wrap","step-stable-cache-keys":"step-stable-cache-keys","workflow-no-floating":"workflow-no-floating","workflow-options-position":"workflow-options-position","workflow-callback-shape":"workflow-callback-shape","workflow-no-callable-form":"workflow-no-callable-form","workflow-no-dynamic-import":"workflow-no-dynamic-import","result-no-floating":"result-no-floating","result-require-handling":"result-require-handling","result-no-double-wrap":"result-no-double-wrap","result-no-manual-propagation":"result-no-manual-propagation","result-no-direct-ok-err":"result-no-direct-ok-err","error-check-unexpected-first":"error-check-unexpected-first","error-access-cause":"error-access-cause","error-normalize":"error-normalize","error-no-throw-in-deps":"error-no-throw-in-deps","concurrency-no-promise-all":"concurrency-no-promise-all","concurrency-no-promise-race":"concurrency-no-promise-race","concurrency-no-promise-allsettled":"concurrency-no-promise-allsettled","runtime-step-timeout":"runtime-step-timeout","runtime-step-aborted":"runtime-step-aborted","runtime-retry-exhausted":"runtime-retry-exhausted","runtime-rate-limit":"runtime-rate-limit","runtime-circuit-open":"runtime-circuit-open","runtime-unexpected":"runtime-unexpected","runtime-resolver-not-found":"runtime-resolver-not-found","runtime-saga-compensation":"runtime-saga-compensation"};function fe(r){return`https://jagreehal.github.io/awaitly/rules/#${r}`}var pr=Object.keys(He);var te=class extends Error{_tag};function K(r,e){return class extends te{_tag=r;constructor(m,C){let h=e?.message?e.message(m??{}):r;if(super(h),this.name=r,e?.slug!==void 0){if(!e.hint)throw new TypeError(`TaggedError: 'hint' is required when 'slug' is set (slug: "${e.slug}")`);Object.defineProperty(this,"code",{value:e.slug,enumerable:!0,writable:!1,configurable:!1}),Object.defineProperty(this,"hint",{value:e.hint,enumerable:!0,writable:!1,configurable:!1}),Object.defineProperty(this,"docsUrl",{value:fe(e.slug),enumerable:!0,writable:!1,configurable:!1})}if(Object.setPrototypeOf(this,new.target.prototype),m&&typeof m=="object"){let c;if(e?.slug!==void 0){let{_tag:M,name:O,message:I,stack:s,code:N,hint:B,docsUrl:ye,...re}=m;c=re}else{let{_tag:M,name:O,message:I,stack:s,...N}=m;c=N}let y=Object.prototype.hasOwnProperty.call(c,"cause"),P=y?c.cause:void 0;y&&delete c.cause;let S=C?.cause!==void 0;if(y&&S)throw new TypeError("TaggedError: cannot provide 'cause' in props when also setting ErrorOptions.cause");Object.assign(this,c),y&&(this.cause=P),S&&(this.cause=C?.cause)}else C?.cause!==void 0&&(this.cause=C.cause)}}}Object.defineProperty(K,Symbol.hasInstance,{value:r=>r instanceof te});(h=>{function r(c){return c instanceof Error}h.isError=r;function e(c){return c instanceof te}h.isTaggedError=e;function m(c,y){let P=c._tag,S=y[P];return S(c)}h.match=m;function C(c,y,P){let S=c._tag,M=y[S];return M?M(c):P(c)}h.matchPartial=C})(K||={});var ke=class extends K("TimeoutError",{slug:"runtime-step-timeout",hint:"Increase the step's timeout option, or check why the upstream operation is slow.",message:e=>e.operation?`TimeoutError: ${e.operation} timed out after ${e.ms}ms`:`TimeoutError: Operation timed out after ${e.ms}ms`}){},Te=class extends K("RetryExhaustedError",{slug:"runtime-retry-exhausted",hint:"All retry attempts failed. Inspect lastError and decide whether to surface it or compensate.",message:e=>e.operation?`RetryExhaustedError: ${e.operation} failed after ${e.attempts} attempts`:`RetryExhaustedError: Operation failed after ${e.attempts} attempts`}){},Re=class extends K("RateLimitError",{slug:"runtime-rate-limit",hint:"Wait retryAfterMs before retrying, or apply step.cache to deduplicate calls.",message:e=>e.limiterName?`RateLimitError: Rate limit exceeded for ${e.limiterName}${e.retryAfterMs?`, retry after ${e.retryAfterMs}ms`:""}`:`RateLimitError: Rate limit exceeded${e.retryAfterMs?`, retry after ${e.retryAfterMs}ms`:""}`}){},ge=class extends K("CircuitBreakerOpenError",{slug:"runtime-circuit-open",hint:"The circuit is open. Wait for it to half-open or fall back to a degraded path.",message:e=>`CircuitBreakerOpenError: Circuit ${e.circuitName} is ${e.state??"OPEN"}${e.retryAfterMs?`, retry after ${Math.ceil(e.retryAfterMs/1e3)}s`:""}`}){},xe=class extends K("ValidationError",{message:e=>`ValidationError: Invalid ${e.field} - ${e.reason}`}){},Ce=class extends K("NotFoundError",{message:e=>e.id?`NotFoundError: ${e.resource} with id ${e.id} not found`:`NotFoundError: ${e.resource} not found`}){},he=class extends K("UnauthorizedError",{message:e=>e.reason?`UnauthorizedError: ${e.reason}`:e.action&&e.resource?`UnauthorizedError: Not authorized to ${e.action} ${e.resource}`:"UnauthorizedError: Access denied"}){},be=class extends K("NetworkError",{message:e=>e.url?`NetworkError: ${e.reason} (${e.url})`:`NetworkError: ${e.reason}`}){},Ae=class extends K("CompensationError",{slug:"runtime-saga-compensation",hint:"A saga compensation step failed. Inspect compensationError and ensure compensation is idempotent.",message:e=>`CompensationError: Failed to compensate step ${e.step}`}){},se=class extends K("UnexpectedError",{slug:"runtime-unexpected",hint:"An unexpected exception escaped a step. Inspect cause; consider returning a typed Result instead of throwing.",message:e=>`UnexpectedError: ${e.cause instanceof Error?e.cause.message:String(e.cause??"unknown")}`}){};function Se(r){return{ok:!0,value:r}}var qe=r=>typeof r=="object"&&r!==null&&"ok"in r&&typeof r.ok=="boolean"&&(r.ok?"value"in r:"error"in r),Pe=(r,e)=>{let m={},C=new Map;for(let h of Object.keys(r)){let c=r[h];typeof c=="function"&&(m[h]=(...y)=>{let P=(C.get(h)??0)+1;C.set(h,P);let S=P===1?h:`${h}#${P}`;return e(S,async()=>{let M=await c(...y);return qe(M)?M:Se(M)})})}return m};function Ye(r){let e=r.trim().match(/^(\d+(?:\.\d+)?)\s*(ms|s|m|h|d)$/i);if(!e)return;let m=parseFloat(e[1]),C=e[2].toLowerCase();return{_tag:"Duration",millis:m*({ms:1,s:1e3,m:6e4,h:36e5,d:864e5}[C]??1)}}function ze(r){return new se({cause:r})}function W(r){return{ok:!0,value:r}}function F(r,e){let m=e?.cause;return{ok:!1,error:r,...m!==void 0?{cause:m}:{}}}function Je(r){if(r==null)return"unknown";if(typeof r=="string")return r.trim()||"unknown";if(typeof r=="object"){let e=r;if(typeof e._tag=="string"){let m=e._tag.trim();if(m)return m}if(typeof e.tag=="string"){let m=e.tag.trim();if(m)return m}if(typeof e.code=="string"){let m=e.code.trim();if(m)return m}else if(typeof e.code=="number")return String(e.code);if(r instanceof Error&&r.name){let m=r.name.trim();if(m)return m}}return"unknown"}function Ge(r,e){if(!(!e||!r))return e[r]}function Xe(r){let{intent:e,domain:m,owner:C,tags:h,stateChanges:c,emits:y,calls:P}=r;if(!e&&!m&&!C&&!h?.length&&!c?.length&&!y?.length&&!P?.length)return;let S={};return e&&(S.intent=e),m&&(S.domain=m),C&&(S.owner=C),h?.length&&(S.tags=h),c?.length&&(S.stateChanges=c),y?.length&&(S.emits=y),P?.length&&(S.calls=P),S}function L(r,e,m,C,h){let c=Je(r),y=Ge(c,e),P={tag:c,origin:m};return y!==void 0&&(P.classification=y),C!==void 0&&(P.attempt=C),h!==void 0&&(P.cumulativeDurationMs=h),P}var ee=Symbol.for("step_timeout_marker");function ve(r){return typeof r!="object"||r===null?!1:r.type==="STEP_TIMEOUT"?!0:ee in r}function Ze(r){if(!(typeof r!="object"||r===null)){if(r.type==="STEP_TIMEOUT"){let e=r;return{timeoutMs:e.timeoutMs,stepName:e.stepName,stepKey:e.stepKey,attempt:e.attempt}}if(ee in r)return r[ee]}}var De=Symbol("early-exit");function Qe(r,e){return{[De]:!0,error:r,meta:e}}function er(r){return typeof r=="object"&&r!==null&&r[De]===!0}var Me=Symbol("mapper-exception");function Z(r){return{[Me]:!0,thrown:r}}function rr(r){return typeof r=="object"&&r!==null&&r[Me]===!0}function me(r,e){let{backoff:m,initialDelay:C,maxDelay:h,jitter:c}=e,y;switch(m){case"fixed":y=C;break;case"linear":y=C*r;break;case"exponential":y=C*Math.pow(2,r-1);break}if(y=Math.min(y,h),c){let P=y*.25*Math.random();y=y+P}return Math.floor(y)}function we(r){return new Promise(e=>setTimeout(e,r))}var Oe=Symbol("timeout"),ae=Symbol("timeout-option");function nr(r){return typeof r=="object"&&r!==null&&r[ae]===!0}async function tr(r,e,m,C){let h=new AbortController,c=e.onTimeout??"error",y=()=>typeof c=="function"?c({name:m.name,key:m.key,ms:e.ms}):e.error??{type:"STEP_TIMEOUT",stepName:m.name,stepKey:m.key,timeoutMs:e.ms,attempt:m.attempt},P;C?.aborted&&h.abort(C.reason);let S;C&&!C.aborted&&(S=()=>h.abort(C.reason),C.addEventListener("abort",S,{once:!0}));let M=new Promise((I,s)=>{P=setTimeout(()=>{if(c!=="disconnect"&&h.abort(),c==="option"){s({[ae]:!0,ms:e.ms});return}s({[Oe]:!0,error:y()})},e.ms)}),O;e.signal?O=Promise.resolve(r(h.signal)):O=Promise.resolve(r());try{return await Promise.race([O,M])}catch(I){if(typeof I=="object"&&I!==null&&I[ae]===!0)throw{[ae]:!0,ms:e.ms};if(typeof I=="object"&&I!==null&&I[Oe]===!0){c==="disconnect"&&O.catch(()=>{});let s=I.error;if(typeof s=="object"&&s!==null&&s.type!=="STEP_TIMEOUT"){let N={timeoutMs:e.ms,stepName:m.name,stepKey:m.key,attempt:m.attempt};ee in s?s[ee]=N:Object.defineProperty(s,ee,{value:N,enumerable:!1,writable:!0,configurable:!1})}throw s}throw I}finally{clearTimeout(P),S&&C&&C.removeEventListener("abort",S)}}var Q={backoff:"exponential",initialDelay:100,maxDelay:3e4,jitter:!0,shouldRetry:()=>!0,onRetry:()=>{}};async function ue(r,e,m){if(typeof r!="function"){let p=r,j=e;if(typeof j!="function")throw new TypeError("[awaitly] run(deps, fn) requires a callback as the second argument. Example: run({ getUser }, async (s) => s.getUser(id))");return ue(({step:G})=>j(Pe(p,G),{step:G}),m)}let C=r,h=e,{onError:c,onEvent:y,catchUnexpected:P,workflowId:S,workflowName:M,context:O,_workflowSignal:I}=h&&typeof h=="object"?h:{},s=S??crypto.randomUUID(),N=P??ze,B=[],ye=0,re=p=>p??`step_${++ye}`,i=p=>{let j=p.context!==void 0||O===void 0?p:{...p,context:O},$=M!==void 0&&j.workflowName===void 0?{...j,workflowName:M}:j;if($.type==="step_success"){let G=$.stepId;for(let oe=B.length-1;oe>=0;oe--){let V=B[oe];if(V.type==="race"&&!V.winnerId){V.winnerId=G;break}}}y?.($,O)},U=Qe,J=p=>er(p),q=(p,j)=>p,Fe=p=>typeof p=="function"?!1:!!(p&&typeof p=="object"&&"ok"in p||p&&typeof p=="object"&&"then"in p&&typeof p.then=="function");try{let j=function(a){let E={};for(let[t,o]of Object.entries(a))if(typeof o=="function")E[t]=o;else if(o&&typeof o=="object"&&"fn"in o)E[t]=o.fn;else throw new TypeError(`step.all: operation "${t}" must be a function or { fn, errors? } object`);return E},$=function(a,E){let t=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let o=performance.now(),n=!1;B.push({scopeId:t,type:"parallel"});let u=()=>{if(n)return;n=!0;let l=B.findIndex(d=>d.scopeId===t);l!==-1&&B.splice(l,1),i({type:"scope_end",workflowId:s,scopeId:t,ts:Date.now(),durationMs:performance.now()-o})};i({type:"scope_start",workflowId:s,scopeId:t,scopeType:"parallel",name:a,ts:Date.now()});try{let l=await E();if(u(),!l.ok)throw c?.(l.error,a,O),U(l.error,{origin:"result",resultCause:l.cause});return l.value}catch(l){throw u(),l}})()},G=function(a,E){let t=Object.keys(a),o=E.name??`Parallel(${t.join(", ")})`,n=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let u=performance.now(),l=!1;B.push({scopeId:n,type:"parallel"});let d=()=>{if(l)return;l=!0;let w=B.findIndex(f=>f.scopeId===n);w!==-1&&B.splice(w,1),i({type:"scope_end",workflowId:s,scopeId:n,ts:Date.now(),durationMs:performance.now()-u})};i({type:"scope_start",workflowId:s,scopeId:n,scopeType:"parallel",name:o,ts:Date.now()});try{let w=await new Promise(T=>{if(t.length===0){T([]);return}let A=!1,D=t.length,R=new Array(t.length);for(let _=0;_<t.length;_++){let g=t[_],b=_;Promise.resolve(a[g]()).catch(x=>F({type:"PROMISE_REJECTED",cause:x},{cause:{type:"PROMISE_REJECTION",reason:x}})).then(x=>{if(!A){if(!x.ok){A=!0,T([{key:g,result:x}]);return}R[b]={key:g,result:x},D--,D===0&&T(R)}})}});d();let f={};for(let{key:T,result:A}of w){if(!A.ok)throw c?.(A.error,T,O),U(A.error,{origin:"result",resultCause:A.cause});f[T]=A.value}return f}catch(w){throw d(),w}})()};var ur=j,ir=$,lr=G;let p=(a,E,t)=>(async()=>{if(typeof a!="string"||a.length===0)throw new Error('[awaitly] step() requires an explicit string ID as the first argument. Example: step("fetchUser", () => fetchUser(id))');let o=t??{},n=Xe(o),u=a,l=o.key??a,d=o.key??a,{description:w,retry:f,timeout:T}=o,A=re(l),D=y,R=D?performance.now():0,g=Fe(E)?()=>E:E,x={attempts:Math.max(1,f?.attempts??1),backoff:f?.backoff??Q.backoff,initialDelay:f?.initialDelay??Q.initialDelay,maxDelay:f?.maxDelay??Q.maxDelay,jitter:f?.jitter??Q.jitter,shouldRetry:f?.shouldRetry??Q.shouldRetry,onRetry:f?.onRetry??Q.onRetry};y&&i({type:"step_start",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),...n&&{metadata:n}});let X;for(let v=1;v<=x.attempts;v++){let Ke=D?performance.now():0;try{let k;if(T?k=await tr(g,T,{name:u,key:l,attempt:v},I):k=await g(),k.ok){let z=performance.now()-R;return i({type:"step_success",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),durationMs:z,...n&&{metadata:n}}),d&&i({type:"step_complete",workflowId:s,stepKey:d,name:u,description:w,ts:Date.now(),durationMs:z,result:k,...n&&{metadata:n}}),k.value}if(X=k,v<x.attempts&&x.shouldRetry(k.error,v)){let z=me(v,x);i({type:"step_retry",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),attempt:v+1,maxAttempts:x.attempts,delayMs:z,error:k.error,...n&&{metadata:n},diagnostics:L(k.error,o.errorMeta,"result",v,performance.now()-R)}),x.onRetry(k.error,v,z),await we(z);continue}x.attempts>1&&i({type:"step_retries_exhausted",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),durationMs:performance.now()-R,attempts:v,lastError:k.error,...n&&{metadata:n},diagnostics:L(k.error,o.errorMeta,"result",v,performance.now()-R)});break}catch(k){let z=performance.now()-Ke;if(nr(k)){let H=k.ms;i({type:"step_timeout",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),timeoutMs:H,attempt:v,...n&&{metadata:n},diagnostics:L(k,o.errorMeta,"timeout",v)}),i({type:"step_success",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),durationMs:performance.now()-R,...n&&{metadata:n}}),d&&i({type:"step_complete",workflowId:s,stepKey:d,name:u,description:w,ts:Date.now(),durationMs:performance.now()-R,result:W(void 0),...n&&{metadata:n}});return}if(J(k))throw i({type:"step_aborted",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),durationMs:z,...n&&{metadata:n}}),k;if(ve(k)){let H=Ze(k),Ne=T?.ms??H?.timeoutMs??0;if(i({type:"step_timeout",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),timeoutMs:Ne,attempt:v,...n&&{metadata:n},diagnostics:L(k,o.errorMeta,"timeout",v)}),v<x.attempts&&x.shouldRetry(k,v)){let Ee=me(v,x);i({type:"step_retry",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),attempt:v+1,maxAttempts:x.attempts,delayMs:Ee,error:k,...n&&{metadata:n},diagnostics:L(k,o.errorMeta,"timeout",v,performance.now()-R)}),x.onRetry(k,v,Ee),await we(Ee);continue}x.attempts>1&&i({type:"step_retries_exhausted",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),durationMs:performance.now()-R,attempts:v,lastError:k,...n&&{metadata:n},diagnostics:L(k,o.errorMeta,"timeout",v,performance.now()-R)});let pe=performance.now()-R;throw i({type:"step_error",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),durationMs:pe,error:k,...n&&{metadata:n},diagnostics:L(k,o.errorMeta,"timeout",v,pe)}),d&&i({type:"step_complete",workflowId:s,stepKey:d,name:u,description:w,ts:Date.now(),durationMs:pe,result:F(k,{cause:k}),meta:{origin:"throw",thrown:k},...n&&{metadata:n}}),c?.(k,u,O),U(k,{origin:"throw",thrown:k})}if(v<x.attempts&&x.shouldRetry(k,v)){let H=me(v,x);i({type:"step_retry",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),attempt:v+1,maxAttempts:x.attempts,delayMs:H,error:k,...n&&{metadata:n},diagnostics:L(k,o.errorMeta,"throw",v,performance.now()-R)}),x.onRetry(k,v,H),await we(H);continue}x.attempts>1&&!ve(k)&&i({type:"step_retries_exhausted",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),durationMs:performance.now()-R,attempts:v,lastError:k,...n&&{metadata:n},diagnostics:L(k,o.errorMeta,"throw",v,performance.now()-R)});let ce=performance.now()-R,ne;try{ne=N(k)}catch(H){throw Z(H)}throw i({type:"step_error",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),durationMs:ce,error:ne,...n&&{metadata:n},diagnostics:L(k,o.errorMeta,"throw",v,ce)}),d&&i({type:"step_complete",workflowId:s,stepKey:d,name:u,description:w,ts:Date.now(),durationMs:ce,result:F(ne,{cause:k}),meta:{origin:"throw",thrown:k},...n&&{metadata:n}}),c?.(ne,u,O),U(ne,{origin:"throw",thrown:k})}}let Y=X,ie=performance.now()-R,le=q(Y.error,{origin:"result",resultCause:Y.cause});throw i({type:"step_error",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),durationMs:ie,error:le,...n&&{metadata:n},diagnostics:L(Y.error,o.errorMeta,"result",x.attempts,ie)}),d&&i({type:"step_complete",workflowId:s,stepKey:d,name:u,description:w,ts:Date.now(),durationMs:ie,result:Y,meta:{origin:"result",resultCause:Y.cause},...n&&{metadata:n}}),c?.(le,u,O),U(le,{origin:"result",resultCause:Y.cause})})();p.try=(a,E,t)=>{if(typeof a!="string"||a.length===0)throw new Error('[awaitly] step.try() requires an explicit string ID as the first argument. Example: step.try("parse", () => JSON.parse(str), { error: "PARSE_ERROR" })');let o="error"in t?()=>t.error:t.onError;if(t.retry||t.timeout)return p.retry(a,async()=>{try{return W(await E())}catch(w){return F(o(w),{cause:w})}},{attempts:t.retry?.attempts??1,...t.retry??{},key:t.key,timeout:t.timeout});let n=t.key??a,u=a,l=a,d=y;return(async()=>{let w=d?performance.now():0;y&&i({type:"step_start",workflowId:s,stepId:l,stepKey:n,name:u,ts:Date.now()});try{let f=await E(),T=performance.now()-w;return i({type:"step_success",workflowId:s,stepId:l,stepKey:n,name:u,ts:Date.now(),durationMs:T}),n&&i({type:"step_complete",workflowId:s,stepKey:n,name:u,ts:Date.now(),durationMs:T,result:W(f)}),f}catch(f){let T=o(f),A=performance.now()-w,D=q(T,{origin:"throw",thrown:f});throw i({type:"step_error",workflowId:s,stepId:l,stepKey:n,name:u,ts:Date.now(),durationMs:A,error:D}),n&&i({type:"step_complete",workflowId:s,stepKey:n,name:u,ts:Date.now(),durationMs:A,result:F(T,{cause:f}),meta:{origin:"throw",thrown:f}}),c?.(D,u,O),U(D,{origin:"throw",thrown:f})}})()},p.fromResult=(a,E,t)=>{if(typeof a!="string"||a.length===0)throw new Error('[awaitly] step.fromResult() requires an explicit string ID as the first argument. Example: step.fromResult("callProvider", () => callProvider(input), { onError: (e) => ({ type: "FAILED" }) })');let o=t.key??a,n=a,u=a,l="error"in t?()=>t.error:t.onError,d=y;return(async()=>{let w=d?performance.now():0;y&&i({type:"step_start",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now()});let f=await E();if(f.ok){let T=performance.now()-w;return i({type:"step_success",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:T}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:T,result:W(f.value)}),f.value}else{let T=l(f.error),A=performance.now()-w,D=q(T,{origin:"result",resultCause:f.error});throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:A,error:D}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:A,result:F(T,{cause:f.error}),meta:{origin:"result",resultCause:f.error}}),c?.(D,n,O),U(D,{origin:"result",resultCause:f.error})}})()},p.fromNullable=(a,E,t,o)=>{if(typeof a!="string"||a.length===0)throw new Error('[awaitly] step.fromNullable() requires an explicit string ID as the first argument. Example: step.fromNullable("getUser", () => db.find(id), () => ({ type: "NOT_FOUND" }))');return p(a,async()=>{let n=await E();return n!=null?W(n):F(t())},o)},p.retry=(a,E,t)=>{if(typeof a!="string"||a.length===0)throw new Error('[awaitly] step.retry() requires an explicit string ID as the first argument. Example: step.retry("fetchData", () => fetchData(), { attempts: 3 })');return p(a,E,{key:t.key??a,retry:{attempts:t.attempts,backoff:t.backoff,initialDelay:t.initialDelay,maxDelay:t.maxDelay,jitter:t.jitter,shouldRetry:t.shouldRetry,onRetry:t.onRetry},timeout:t.timeout})},p.withTimeout=(a,E,t)=>{if(typeof a!="string"||a.length===0)throw new Error('[awaitly] step.withTimeout() requires an explicit string ID as the first argument. Example: step.withTimeout("slowOp", () => slowOp(), { ms: 5000 })');return p(a,E,{key:t.key??a,timeout:t})},p.sleep=(a,E,t)=>{if(typeof a!="string"||a.length===0)throw new Error('[awaitly] step.sleep() requires an explicit string ID as the first argument. Example: step.sleep("delay", "5s")');let o=typeof E=="string"?Ye(E):E;if(!o)throw new Error(`step.sleep: invalid duration '${E}'`);let n=o.millis,u=t?.signal;return p(a,async()=>{if(I?.aborted||u?.aborted){let l=new Error("Sleep aborted");throw l.name="AbortError",l}return new Promise((l,d)=>{let w={timeoutId:void 0},f=()=>{w.timeoutId&&clearTimeout(w.timeoutId);let T=new Error("Sleep aborted");T.name="AbortError",d(T)};I?.addEventListener("abort",f,{once:!0}),u?.addEventListener("abort",f,{once:!0}),w.timeoutId=setTimeout(()=>{I?.removeEventListener("abort",f),u?.removeEventListener("abort",f),l(W(void 0))},n)})},{key:t?.key??a,description:t?.description})},p.all=((...a)=>{if(typeof a[0]!="string")throw new TypeError("step.all(name, ...): first argument must be a string (step name). Example: step.all('Fetch data', { user: () => fetchUser(), posts: () => fetchPosts() })");let E=a[0],t=a[1];if(typeof t=="function")return $(E,t);if(t&&typeof t=="object"&&!Array.isArray(t)){let n=j(t);return G(n,{name:E})}throw new TypeError("step.all(name, ...): second argument must be a function (array form) or an object of operations (object form).")}),p.race=(a,E)=>{let t=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let o=performance.now(),n=!1,u={scopeId:t,type:"race",winnerId:void 0};B.push(u);let l=()=>{if(n)return;n=!0;let d=B.findIndex(w=>w.scopeId===t);d!==-1&&B.splice(d,1),i({type:"scope_end",workflowId:s,scopeId:t,ts:Date.now(),durationMs:performance.now()-o,winnerId:u.winnerId})};i({type:"scope_start",workflowId:s,scopeId:t,scopeType:"race",name:a,ts:Date.now()});try{let d=await E();if(l(),!d.ok)throw c?.(d.error,a,O),U(d.error,{origin:"result",resultCause:d.cause});return d.value}catch(d){throw l(),d}})()},p.if=(a,E,t)=>t(),p.label=p.if,p.branch=async(a,E)=>{let{condition:t,then:o,else:n}=E;if(t())return await o();if(n)return await n()},p.arm=(a,E)=>({fn:a,errors:E}),p.forEach=async(a,E,t)=>{let o=[],n=t.maxIterations,u=0,l="run"in t,d=Symbol.asyncIterator in E?E:(async function*(){yield*E})();for await(let w of d){if(n!==void 0&&u>=n)break;let f;l?f=await t.run(w,u):f=await t.item.handler(w,u,p),o.push(f),u++}return o},p.item=a=>({__forEachItemHandler:!0,handler:a}),p.dep=(a,E)=>E,p.workflow=(a,E,t)=>p(a,E,t),p.map=async(a,E,t,o)=>{let n=o?.concurrency??E.length;return p(a,()=>n>=E.length?_e(E.map((u,l)=>t(u,l))):(async()=>{let u=[];for(let l=0;l<E.length;l+=n){let d=E.slice(l,l+n),w=await _e(d.map((f,T)=>t(f,l+T)));if(!w.ok)return w;u.push(...w.value)}return W(u)})(),{key:o?.key})},p.withFallback=(a,E,t)=>{if(typeof a!="string"||a.length===0)throw new Error('[awaitly] step.withFallback() requires an explicit string ID as the first argument. Example: step.withFallback("getUser", () => fetchUser(id), { fallback: () => fetchFromCache(id) })');let o=t.key??a,n=a,u=re(o),l=y;return(async()=>{let d=l?performance.now():0;y&&i({type:"step_start",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now()});let w;try{w=await E()}catch(R){if(J(R))throw i({type:"step_aborted",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:performance.now()-d}),R;let _;try{_=N(R)}catch(b){throw Z(b)}if(t.on!==void 0&&t.on!==_){let b=performance.now()-d;throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:b,error:_}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:b,result:F(_,{cause:R}),meta:{origin:"throw",thrown:R}}),c?.(_,n,O),U(_,{origin:"throw",thrown:R})}let g;try{g=await t.fallback()}catch(b){if(J(b))throw i({type:"step_aborted",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:performance.now()-d}),b;let x;try{x=N(b)}catch(Y){throw Z(Y)}let X=performance.now()-d;throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:X,error:x}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:X,result:F(x,{cause:b}),meta:{origin:"throw",thrown:b}}),c?.(x,n,O),U(x,{origin:"throw",thrown:b})}if(g.ok){let b=performance.now()-d;return i({type:"step_success",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:b}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:b,result:g,meta:{origin:"fallback",fallbackUsed:!0,fallbackReason:String(_)}}),g.value}else{let b=performance.now()-d,x=q(g.error,{origin:"result",resultCause:g.cause});throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:b,error:x}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:b,result:g,meta:{origin:"result",resultCause:g.cause}}),c?.(x,n,O),U(x,{origin:"result",resultCause:g.cause})}}if(w.ok){let R=performance.now()-d;return i({type:"step_success",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:R}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:R,result:w}),w.value}let f=w.error;if(t.on!==void 0&&t.on!==f){let R=performance.now()-d,_=q(f,{origin:"result",resultCause:w.cause});throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:R,error:_}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:R,result:w,meta:{origin:"result",resultCause:w.cause}}),c?.(_,n,O),U(_,{origin:"result",resultCause:w.cause})}let T;try{T=await t.fallback()}catch(R){if(J(R))throw i({type:"step_aborted",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:performance.now()-d}),R;let _;try{_=N(R)}catch(b){throw Z(b)}let g=performance.now()-d;throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:g,error:_}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:g,result:F(_,{cause:R}),meta:{origin:"throw",thrown:R}}),c?.(_,n,O),U(_,{origin:"throw",thrown:R})}if(T.ok){let R=performance.now()-d;return i({type:"step_success",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:R}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:R,result:T,meta:{origin:"fallback",fallbackUsed:!0,fallbackReason:String(f)}}),T.value}let A=performance.now()-d,D=q(T.error,{origin:"result",resultCause:T.cause});throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:A,error:D}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:A,result:T,meta:{origin:"result",resultCause:T.cause}}),c?.(D,n,O),U(D,{origin:"result",resultCause:T.cause})})()},p.withResource=(a,E)=>{if(typeof a!="string"||a.length===0)throw new Error('[awaitly] step.withResource() requires an explicit string ID as the first argument. Example: step.withResource("useDb", { acquire: () => connect(), use: (db) => query(db), release: (db) => db.close() })');let t=a,o=a,n=re(t),u=y;return(async()=>{let l=u?performance.now():0;y&&i({type:"step_start",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now()});let d;try{d=await E.acquire()}catch(g){if(J(g))throw i({type:"step_aborted",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:performance.now()-l}),g;let b;try{b=N(g)}catch(X){throw Z(X)}let x=performance.now()-l;throw i({type:"step_error",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:x,error:b}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:o,ts:Date.now(),durationMs:x,result:F(b,{cause:g}),meta:{origin:"throw",thrown:g}}),c?.(b,o,O),U(b,{origin:"throw",thrown:g})}if(!d.ok){let g=performance.now()-l,b=q(d.error,{origin:"result",resultCause:d.cause});throw i({type:"step_error",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:g,error:b}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:o,ts:Date.now(),durationMs:g,result:d,meta:{origin:"result",resultCause:d.cause}}),c?.(b,o,O),U(b,{origin:"result",resultCause:d.cause})}let w=d.value,f,T,A=!1;try{f=await E.use(w)}catch(g){if(J(g)){try{await E.release(w)}catch(b){console.warn(`[awaitly] step.withResource("${a}"): release threw after earlyExit:`,b)}throw g}T=g,A=!0}try{await E.release(w)}catch(g){console.warn(`[awaitly] step.withResource("${a}"): release threw:`,g)}if(A){let g;try{g=N(T)}catch(x){throw Z(x)}let b=performance.now()-l;throw i({type:"step_error",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:b,error:g}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:o,ts:Date.now(),durationMs:b,result:F(g,{cause:T}),meta:{origin:"throw",thrown:T}}),c?.(g,o,O),U(g,{origin:"throw",thrown:T})}let D=f;if(D.ok){let g=performance.now()-l;return i({type:"step_success",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:g}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:o,ts:Date.now(),durationMs:g,result:D}),D.value}let R=performance.now()-l,_=q(D.error,{origin:"result",resultCause:D.cause});throw i({type:"step_error",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:R,error:_}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:o,ts:Date.now(),durationMs:R,result:D,meta:{origin:"result",resultCause:D.cause}}),c?.(_,o,O),U(_,{origin:"result",resultCause:D.cause})})()};let V=await C({step:p});if(process.env.NODE_ENV!=="production"&&V!==null&&typeof V=="object"&&"ok"in V&&typeof V.ok=="boolean"){let a=V;(a.ok===!0&&"value"in a||a.ok===!1&&"error"in a)&&console.warn(`awaitly: Workflow executor returned a Result-like object. Return raw values, not ok() or err().
|
|
2
|
-
|
|
3
|
-
Incorrect: return ok({ data });
|
|
4
|
-
Correct: return { data };
|
|
5
|
-
|
|
6
|
-
See: https://jagreehal.github.io/awaitly/guides/troubleshooting/#returning-ok-from-workflow-executor-double-wrapping`)}return W(V)}catch(p){if(rr(p))throw p.thrown;if(J(p)){let $=p.meta.origin==="throw"?p.meta.thrown:p.meta.origin==="result"?p.meta.resultCause:void 0;return F(p.error,{cause:$})}let j=N(p);return c?.(j,"unexpected",O),F(j,{cause:p})}}var Ie=ue;ue.strict=(r,e)=>ue(r,e);async function _e(r){return r.length===0?W([]):new Promise(e=>{let m=!1,C=r.length,h=new Array(r.length);for(let c=0;c<r.length;c++){let y=c;Promise.resolve(r[y]).catch(P=>F({type:"PROMISE_REJECTED",cause:P},{cause:{type:"PROMISE_REJECTION",reason:P}})).then(P=>{if(!m){if(!P.ok){m=!0,e(P);return}h[y]=P.value,C--,C===0&&e(W(h))}})}})}var or=r=>typeof r=="object"&&r!==null,sr=r=>or(r)&&r.ok===!1&&!("error"in r);function Ue(r,e,m){return Ie(async({step:C})=>{let h=C,c=C,y={};for(let S of Object.keys(r)){let M=r[S];if(typeof M=="function"){let O=M;y[S]=(...I)=>h(S,async()=>{let s=await Reflect.apply(O,r,I);if(sr(s))throw new TypeError(`flow(${S}) expected Err to include an error field`);return s})}else y[S]=M}return e(y,{raw:r,key:((S,M)=>h(S,M)),all:((S,M)=>c.all(S,M))})},{catchUnexpected:m?.catchUnexpected,onEvent:m?.onEvent})}0&&(module.exports={flow});
|
|
7
|
-
//# sourceMappingURL=flow.cjs.map
|