awaitly 1.34.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 +35 -5
- package/dist/result.d.ts +35 -5
- 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-D2MmJFj9.d.cts → types-B8NfNRGX.d.ts} +1152 -1499
- package/dist/{run-entry-Dduz-is2.d.ts → types-BZ2f4MRR.d.cts} +1152 -1499
- 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 +13 -178
- 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-COl5oFnR.d.cts +0 -15
- package/dist/di-CyDj_JyZ.d.ts +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-BodHXLzX.d.cts +0 -72
- package/dist/guards-CeWoQ8fn.d.ts +0 -72
- package/dist/hitl-BPE_1UiM.d.cts +0 -468
- package/dist/hitl-byp570uC.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-BYT3amEz.d.ts +0 -417
- package/dist/index-C_ak66jy.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-DOMx3woy.d.ts +0 -822
- package/dist/persistence-entry-ymCA4iDu.d.cts +0 -822
- 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-DQmzO9f4.d.ts +0 -323
- package/dist/types-qBUOYi-4.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/run.d.cts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { ae as BackoffStrategy, av as EARLY_EXIT_SYMBOL, aw as EarlyExit, af as RetryOptions, aj as RunOptions, ak as RunOptionsWithCatch, al as RunOptionsWithoutCatch, ah as RunStep, am as STEP_TIMEOUT_MARKER, an as ScopeType, au as StepFailureMeta, ai as StepOptions, ao as StepTimeoutError, ap as StepTimeoutMarkerMeta, aq as TimeoutOptions, ag as WorkflowEvent, ax as createEarlyExit, ar as getStepTimeoutMeta, ay as isEarlyExit, as as isStepTimeoutError, at as run } from './run-entry-D2MmJFj9.cjs';
|
|
2
|
-
import './errors.cjs';
|
|
3
|
-
import './tagged-error.cjs';
|
|
4
|
-
import './slugs.cjs';
|
package/dist/run.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { ae as BackoffStrategy, av as EARLY_EXIT_SYMBOL, aw as EarlyExit, af as RetryOptions, aj as RunOptions, ak as RunOptionsWithCatch, al as RunOptionsWithoutCatch, ah as RunStep, am as STEP_TIMEOUT_MARKER, an as ScopeType, au as StepFailureMeta, ai as StepOptions, ao as StepTimeoutError, ap as StepTimeoutMarkerMeta, aq as TimeoutOptions, ag as WorkflowEvent, ax as createEarlyExit, ar as getStepTimeoutMeta, ay as isEarlyExit, as as isStepTimeoutError, at as run } from './run-entry-Dduz-is2.js';
|
|
2
|
-
import './errors.js';
|
|
3
|
-
import './tagged-error.js';
|
|
4
|
-
import './slugs.js';
|
package/dist/run.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
var De={"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 ye(o){return`https://jagreehal.github.io/awaitly/rules/#${o}`}var qe=Object.keys(De);var ee=class extends Error{_tag};function K(o,t){return class extends ee{_tag=o;constructor(l,R){let M=t?.message?t.message(l??{}):o;if(super(M),this.name=o,t?.slug!==void 0){if(!t.hint)throw new TypeError(`TaggedError: 'hint' is required when 'slug' is set (slug: "${t.slug}")`);Object.defineProperty(this,"code",{value:t.slug,enumerable:!0,writable:!1,configurable:!1}),Object.defineProperty(this,"hint",{value:t.hint,enumerable:!0,writable:!1,configurable:!1}),Object.defineProperty(this,"docsUrl",{value:ye(t.slug),enumerable:!0,writable:!1,configurable:!1})}if(Object.setPrototypeOf(this,new.target.prototype),l&&typeof l=="object"){let h;if(t?.slug!==void 0){let{_tag:a,name:U,message:v,stack:N,code:$,hint:u,docsUrl:I,...V}=l;h=V}else{let{_tag:a,name:U,message:v,stack:N,...$}=l;h=$}let S=Object.prototype.hasOwnProperty.call(h,"cause"),y=S?h.cause:void 0;S&&delete h.cause;let O=R?.cause!==void 0;if(S&&O)throw new TypeError("TaggedError: cannot provide 'cause' in props when also setting ErrorOptions.cause");Object.assign(this,h),S&&(this.cause=y),O&&(this.cause=R?.cause)}else R?.cause!==void 0&&(this.cause=R.cause)}}}Object.defineProperty(K,Symbol.hasInstance,{value:o=>o instanceof ee});(M=>{function o(h){return h instanceof Error}M.isError=o;function t(h){return h instanceof ee}M.isTaggedError=t;function l(h,S){let y=h._tag,O=S[y];return O(h)}M.match=l;function R(h,S,y){let O=h._tag,a=S[O];return a?a(h):y(h)}M.matchPartial=R})(K||={});var we=class extends K("TimeoutError",{slug:"runtime-step-timeout",hint:"Increase the step's timeout option, or check why the upstream operation is slow.",message:t=>t.operation?`TimeoutError: ${t.operation} timed out after ${t.ms}ms`:`TimeoutError: Operation timed out after ${t.ms}ms`}){},fe=class extends K("RetryExhaustedError",{slug:"runtime-retry-exhausted",hint:"All retry attempts failed. Inspect lastError and decide whether to surface it or compensate.",message:t=>t.operation?`RetryExhaustedError: ${t.operation} failed after ${t.attempts} attempts`:`RetryExhaustedError: Operation failed after ${t.attempts} attempts`}){},ge=class extends K("RateLimitError",{slug:"runtime-rate-limit",hint:"Wait retryAfterMs before retrying, or apply step.cache to deduplicate calls.",message:t=>t.limiterName?`RateLimitError: Rate limit exceeded for ${t.limiterName}${t.retryAfterMs?`, retry after ${t.retryAfterMs}ms`:""}`:`RateLimitError: Rate limit exceeded${t.retryAfterMs?`, retry after ${t.retryAfterMs}ms`:""}`}){},Te=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:t=>`CircuitBreakerOpenError: Circuit ${t.circuitName} is ${t.state??"OPEN"}${t.retryAfterMs?`, retry after ${Math.ceil(t.retryAfterMs/1e3)}s`:""}`}){},ke=class extends K("ValidationError",{message:t=>`ValidationError: Invalid ${t.field} - ${t.reason}`}){},Re=class extends K("NotFoundError",{message:t=>t.id?`NotFoundError: ${t.resource} with id ${t.id} not found`:`NotFoundError: ${t.resource} not found`}){},xe=class extends K("UnauthorizedError",{message:t=>t.reason?`UnauthorizedError: ${t.reason}`:t.action&&t.resource?`UnauthorizedError: Not authorized to ${t.action} ${t.resource}`:"UnauthorizedError: Access denied"}){},he=class extends K("NetworkError",{message:t=>t.url?`NetworkError: ${t.reason} (${t.url})`:`NetworkError: ${t.reason}`}){},Ce=class extends K("CompensationError",{slug:"runtime-saga-compensation",hint:"A saga compensation step failed. Inspect compensationError and ensure compensation is idempotent.",message:t=>`CompensationError: Failed to compensate step ${t.step}`}){},ne=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:t=>`UnexpectedError: ${t.cause instanceof Error?t.cause.message:String(t.cause??"unknown")}`}){};function Ue(o){let t=o.trim().match(/^(\d+(?:\.\d+)?)\s*(ms|s|m|h|d)$/i);if(!t)return;let l=parseFloat(t[1]),R=t[2].toLowerCase();return{_tag:"Duration",millis:l*({ms:1,s:1e3,m:6e4,h:36e5,d:864e5}[R]??1)}}function Ne(o){return new ne({cause:o})}function B(o){return{ok:!0,value:o}}function D(o,t){let l=t?.cause;return{ok:!1,error:o,...l!==void 0?{cause:l}:{}}}function Ke(o){if(o==null)return"unknown";if(typeof o=="string")return o.trim()||"unknown";if(typeof o=="object"){let t=o;if(typeof t._tag=="string"){let l=t._tag.trim();if(l)return l}if(typeof t.tag=="string"){let l=t.tag.trim();if(l)return l}if(typeof t.code=="string"){let l=t.code.trim();if(l)return l}else if(typeof t.code=="number")return String(t.code);if(o instanceof Error&&o.name){let l=o.name.trim();if(l)return l}}return"unknown"}function je(o,t){if(!(!t||!o))return t[o]}function Fe(o){let{intent:t,domain:l,owner:R,tags:M,stateChanges:h,emits:S,calls:y}=o;if(!t&&!l&&!R&&!M?.length&&!h?.length&&!S?.length&&!y?.length)return;let O={};return t&&(O.intent=t),l&&(O.domain=l),R&&(O.owner=R),M?.length&&(O.tags=M),h?.length&&(O.stateChanges=h),S?.length&&(O.emits=S),y?.length&&(O.calls=y),O}function j(o,t,l,R,M){let h=Ke(o),S=je(h,t),y={tag:h,origin:l};return S!==void 0&&(y.classification=S),R!==void 0&&(y.attempt=R),M!==void 0&&(y.cumulativeDurationMs=M),y}var G=Symbol.for("step_timeout_marker");function me(o){return typeof o!="object"||o===null?!1:o.type==="STEP_TIMEOUT"?!0:G in o}function Ae(o){if(!(typeof o!="object"||o===null)){if(o.type==="STEP_TIMEOUT"){let t=o;return{timeoutMs:t.timeoutMs,stepName:t.stepName,stepKey:t.stepKey,attempt:t.attempt}}if(G in o)return o[G]}}var Ee=Symbol("early-exit");function _e(o,t){return{[Ee]:!0,error:o,meta:t}}function Pe(o){return typeof o=="object"&&o!==null&&o[Ee]===!0}var Oe=Symbol("mapper-exception");function X(o){return{[Oe]:!0,thrown:o}}function Le(o){return typeof o=="object"&&o!==null&&o[Oe]===!0}function le(o,t){let{backoff:l,initialDelay:R,maxDelay:M,jitter:h}=t,S;switch(l){case"fixed":S=R;break;case"linear":S=R*o;break;case"exponential":S=R*Math.pow(2,o-1);break}if(S=Math.min(S,M),h){let y=S*.25*Math.random();S=S+y}return Math.floor(S)}function pe(o){return new Promise(t=>setTimeout(t,o))}var be=Symbol("timeout"),oe=Symbol("timeout-option");function Be(o){return typeof o=="object"&&o!==null&&o[oe]===!0}async function $e(o,t,l,R){let M=new AbortController,h=t.onTimeout??"error",S=()=>typeof h=="function"?h({name:l.name,key:l.key,ms:t.ms}):t.error??{type:"STEP_TIMEOUT",stepName:l.name,stepKey:l.key,timeoutMs:t.ms,attempt:l.attempt},y;R?.aborted&&M.abort(R.reason);let O;R&&!R.aborted&&(O=()=>M.abort(R.reason),R.addEventListener("abort",O,{once:!0}));let a=new Promise((v,N)=>{y=setTimeout(()=>{if(h!=="disconnect"&&M.abort(),h==="option"){N({[oe]:!0,ms:t.ms});return}N({[be]:!0,error:S()})},t.ms)}),U;t.signal?U=Promise.resolve(o(M.signal)):U=Promise.resolve(o());try{return await Promise.race([U,a])}catch(v){if(typeof v=="object"&&v!==null&&v[oe]===!0)throw{[oe]:!0,ms:t.ms};if(typeof v=="object"&&v!==null&&v[be]===!0){h==="disconnect"&&U.catch(()=>{});let N=v.error;if(typeof N=="object"&&N!==null&&N.type!=="STEP_TIMEOUT"){let $={timeoutMs:t.ms,stepName:l.name,stepKey:l.key,attempt:l.attempt};G in N?N[G]=$:Object.defineProperty(N,G,{value:$,enumerable:!1,writable:!0,configurable:!1})}throw N}throw v}finally{clearTimeout(y),O&&R&&R.removeEventListener("abort",O)}}var Q={backoff:"exponential",initialDelay:100,maxDelay:3e4,jitter:!0,shouldRetry:()=>!0,onRetry:()=>{}};async function de(o,t){let{onError:l,onEvent:R,catchUnexpected:M,workflowId:h,workflowName:S,context:y,_workflowSignal:O}=t&&typeof t=="object"?t:{},a=h??crypto.randomUUID(),U=M??Ne,v=[],N=0,$=p=>p??`step_${++N}`,u=p=>{let F=p.context!==void 0||y===void 0?p:{...p,context:y},q=S!==void 0&&F.workflowName===void 0?{...F,workflowName:S}:F;if(q.type==="step_success"){let te=q.stepId;for(let re=v.length-1;re>=0;re--){let L=v[re];if(L.type==="race"&&!L.winnerId){L.winnerId=te;break}}}R?.(q,y)},I=_e,V=p=>Pe(p),H=(p,F)=>p,ve=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 F=function(s){let m={};for(let[r,n]of Object.entries(s))if(typeof n=="function")m[r]=n;else if(n&&typeof n=="object"&&"fn"in n)m[r]=n.fn;else throw new TypeError(`step.all: operation "${r}" must be a function or { fn, errors? } object`);return m},q=function(s,m){let r=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let n=performance.now(),e=!1;v.push({scopeId:r,type:"parallel"});let i=()=>{if(e)return;e=!0;let c=v.findIndex(d=>d.scopeId===r);c!==-1&&v.splice(c,1),u({type:"scope_end",workflowId:a,scopeId:r,ts:Date.now(),durationMs:performance.now()-n})};u({type:"scope_start",workflowId:a,scopeId:r,scopeType:"parallel",name:s,ts:Date.now()});try{let c=await m();if(i(),!c.ok)throw l?.(c.error,s,y),I(c.error,{origin:"result",resultCause:c.cause});return c.value}catch(c){throw i(),c}})()},te=function(s,m){let r=Object.keys(s),n=m.name??`Parallel(${r.join(", ")})`,e=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let i=performance.now(),c=!1;v.push({scopeId:e,type:"parallel"});let d=()=>{if(c)return;c=!0;let E=v.findIndex(w=>w.scopeId===e);E!==-1&&v.splice(E,1),u({type:"scope_end",workflowId:a,scopeId:e,ts:Date.now(),durationMs:performance.now()-i})};u({type:"scope_start",workflowId:a,scopeId:e,scopeType:"parallel",name:n,ts:Date.now()});try{let E=await new Promise(g=>{if(r.length===0){g([]);return}let b=!1,P=r.length,T=new Array(r.length);for(let _=0;_<r.length;_++){let k=r[_],C=_;Promise.resolve(s[k]()).catch(x=>D({type:"PROMISE_REJECTED",cause:x},{cause:{type:"PROMISE_REJECTION",reason:x}})).then(x=>{if(!b){if(!x.ok){b=!0,g([{key:k,result:x}]);return}T[C]={key:k,result:x},P--,P===0&&g(T)}})}});d();let w={};for(let{key:g,result:b}of E){if(!b.ok)throw l?.(b.error,g,y),I(b.error,{origin:"result",resultCause:b.cause});w[g]=b.value}return w}catch(E){throw d(),E}})()};var Ve=F,We=q,He=te;let p=(s,m,r)=>(async()=>{if(typeof s!="string"||s.length===0)throw new Error('[awaitly] step() requires an explicit string ID as the first argument. Example: step("fetchUser", () => fetchUser(id))');let n=r??{},e=Fe(n),i=s,c=n.key??s,d=n.key??s,{description:E,retry:w,timeout:g}=n,b=$(c),P=R,T=P?performance.now():0,k=ve(m)?()=>m:m,x={attempts:Math.max(1,w?.attempts??1),backoff:w?.backoff??Q.backoff,initialDelay:w?.initialDelay??Q.initialDelay,maxDelay:w?.maxDelay??Q.maxDelay,jitter:w?.jitter??Q.jitter,shouldRetry:w?.shouldRetry??Q.shouldRetry,onRetry:w?.onRetry??Q.onRetry};R&&u({type:"step_start",workflowId:a,stepId:b,stepKey:c,name:i,description:E,ts:Date.now(),...e&&{metadata:e}});let J;for(let A=1;A<=x.attempts;A++){let Me=P?performance.now():0;try{let f;if(g?f=await $e(k,g,{name:i,key:c,attempt:A},O):f=await k(),f.ok){let z=performance.now()-T;return u({type:"step_success",workflowId:a,stepId:b,stepKey:c,name:i,description:E,ts:Date.now(),durationMs:z,...e&&{metadata:e}}),d&&u({type:"step_complete",workflowId:a,stepKey:d,name:i,description:E,ts:Date.now(),durationMs:z,result:f,...e&&{metadata:e}}),f.value}if(J=f,A<x.attempts&&x.shouldRetry(f.error,A)){let z=le(A,x);u({type:"step_retry",workflowId:a,stepId:b,stepKey:c,name:i,ts:Date.now(),attempt:A+1,maxAttempts:x.attempts,delayMs:z,error:f.error,...e&&{metadata:e},diagnostics:j(f.error,n.errorMeta,"result",A,performance.now()-T)}),x.onRetry(f.error,A,z),await pe(z);continue}x.attempts>1&&u({type:"step_retries_exhausted",workflowId:a,stepId:b,stepKey:c,name:i,ts:Date.now(),durationMs:performance.now()-T,attempts:A,lastError:f.error,...e&&{metadata:e},diagnostics:j(f.error,n.errorMeta,"result",A,performance.now()-T)});break}catch(f){let z=performance.now()-Me;if(Be(f)){let W=f.ms;u({type:"step_timeout",workflowId:a,stepId:b,stepKey:c,name:i,ts:Date.now(),timeoutMs:W,attempt:A,...e&&{metadata:e},diagnostics:j(f,n.errorMeta,"timeout",A)}),u({type:"step_success",workflowId:a,stepId:b,stepKey:c,name:i,description:E,ts:Date.now(),durationMs:performance.now()-T,...e&&{metadata:e}}),d&&u({type:"step_complete",workflowId:a,stepKey:d,name:i,description:E,ts:Date.now(),durationMs:performance.now()-T,result:B(void 0),...e&&{metadata:e}});return}if(V(f))throw u({type:"step_aborted",workflowId:a,stepId:b,stepKey:c,name:i,description:E,ts:Date.now(),durationMs:z,...e&&{metadata:e}}),f;if(me(f)){let W=Ae(f),Ie=g?.ms??W?.timeoutMs??0;if(u({type:"step_timeout",workflowId:a,stepId:b,stepKey:c,name:i,ts:Date.now(),timeoutMs:Ie,attempt:A,...e&&{metadata:e},diagnostics:j(f,n.errorMeta,"timeout",A)}),A<x.attempts&&x.shouldRetry(f,A)){let ce=le(A,x);u({type:"step_retry",workflowId:a,stepId:b,stepKey:c,name:i,ts:Date.now(),attempt:A+1,maxAttempts:x.attempts,delayMs:ce,error:f,...e&&{metadata:e},diagnostics:j(f,n.errorMeta,"timeout",A,performance.now()-T)}),x.onRetry(f,A,ce),await pe(ce);continue}x.attempts>1&&u({type:"step_retries_exhausted",workflowId:a,stepId:b,stepKey:c,name:i,ts:Date.now(),durationMs:performance.now()-T,attempts:A,lastError:f,...e&&{metadata:e},diagnostics:j(f,n.errorMeta,"timeout",A,performance.now()-T)});let ue=performance.now()-T;throw u({type:"step_error",workflowId:a,stepId:b,stepKey:c,name:i,description:E,ts:Date.now(),durationMs:ue,error:f,...e&&{metadata:e},diagnostics:j(f,n.errorMeta,"timeout",A,ue)}),d&&u({type:"step_complete",workflowId:a,stepKey:d,name:i,description:E,ts:Date.now(),durationMs:ue,result:D(f,{cause:f}),meta:{origin:"throw",thrown:f},...e&&{metadata:e}}),l?.(f,i,y),I(f,{origin:"throw",thrown:f})}if(A<x.attempts&&x.shouldRetry(f,A)){let W=le(A,x);u({type:"step_retry",workflowId:a,stepId:b,stepKey:c,name:i,ts:Date.now(),attempt:A+1,maxAttempts:x.attempts,delayMs:W,error:f,...e&&{metadata:e},diagnostics:j(f,n.errorMeta,"throw",A,performance.now()-T)}),x.onRetry(f,A,W),await pe(W);continue}x.attempts>1&&!me(f)&&u({type:"step_retries_exhausted",workflowId:a,stepId:b,stepKey:c,name:i,ts:Date.now(),durationMs:performance.now()-T,attempts:A,lastError:f,...e&&{metadata:e},diagnostics:j(f,n.errorMeta,"throw",A,performance.now()-T)});let ie=performance.now()-T,Z;try{Z=U(f)}catch(W){throw X(W)}throw u({type:"step_error",workflowId:a,stepId:b,stepKey:c,name:i,description:E,ts:Date.now(),durationMs:ie,error:Z,...e&&{metadata:e},diagnostics:j(f,n.errorMeta,"throw",A,ie)}),d&&u({type:"step_complete",workflowId:a,stepKey:d,name:i,description:E,ts:Date.now(),durationMs:ie,result:D(Z,{cause:f}),meta:{origin:"throw",thrown:f},...e&&{metadata:e}}),l?.(Z,i,y),I(Z,{origin:"throw",thrown:f})}}let Y=J,se=performance.now()-T,ae=H(Y.error,{origin:"result",resultCause:Y.cause});throw u({type:"step_error",workflowId:a,stepId:b,stepKey:c,name:i,description:E,ts:Date.now(),durationMs:se,error:ae,...e&&{metadata:e},diagnostics:j(Y.error,n.errorMeta,"result",x.attempts,se)}),d&&u({type:"step_complete",workflowId:a,stepKey:d,name:i,description:E,ts:Date.now(),durationMs:se,result:Y,meta:{origin:"result",resultCause:Y.cause},...e&&{metadata:e}}),l?.(ae,i,y),I(ae,{origin:"result",resultCause:Y.cause})})();p.try=(s,m,r)=>{if(typeof s!="string"||s.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 n="error"in r?()=>r.error:r.onError;if(r.retry||r.timeout)return p.retry(s,async()=>{try{return B(await m())}catch(E){return D(n(E),{cause:E})}},{attempts:r.retry?.attempts??1,...r.retry??{},key:r.key,timeout:r.timeout});let e=r.key??s,i=s,c=s,d=R;return(async()=>{let E=d?performance.now():0;R&&u({type:"step_start",workflowId:a,stepId:c,stepKey:e,name:i,ts:Date.now()});try{let w=await m(),g=performance.now()-E;return u({type:"step_success",workflowId:a,stepId:c,stepKey:e,name:i,ts:Date.now(),durationMs:g}),e&&u({type:"step_complete",workflowId:a,stepKey:e,name:i,ts:Date.now(),durationMs:g,result:B(w)}),w}catch(w){let g=n(w),b=performance.now()-E,P=H(g,{origin:"throw",thrown:w});throw u({type:"step_error",workflowId:a,stepId:c,stepKey:e,name:i,ts:Date.now(),durationMs:b,error:P}),e&&u({type:"step_complete",workflowId:a,stepKey:e,name:i,ts:Date.now(),durationMs:b,result:D(g,{cause:w}),meta:{origin:"throw",thrown:w}}),l?.(P,i,y),I(P,{origin:"throw",thrown:w})}})()},p.fromResult=(s,m,r)=>{if(typeof s!="string"||s.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 n=r.key??s,e=s,i=s,c="error"in r?()=>r.error:r.onError,d=R;return(async()=>{let E=d?performance.now():0;R&&u({type:"step_start",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now()});let w=await m();if(w.ok){let g=performance.now()-E;return u({type:"step_success",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:g}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:g,result:B(w.value)}),w.value}else{let g=c(w.error),b=performance.now()-E,P=H(g,{origin:"result",resultCause:w.error});throw u({type:"step_error",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:b,error:P}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:b,result:D(g,{cause:w.error}),meta:{origin:"result",resultCause:w.error}}),l?.(P,e,y),I(P,{origin:"result",resultCause:w.error})}})()},p.fromNullable=(s,m,r,n)=>{if(typeof s!="string"||s.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(s,async()=>{let e=await m();return e!=null?B(e):D(r())},n)},p.retry=(s,m,r)=>{if(typeof s!="string"||s.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(s,m,{key:r.key??s,retry:{attempts:r.attempts,backoff:r.backoff,initialDelay:r.initialDelay,maxDelay:r.maxDelay,jitter:r.jitter,shouldRetry:r.shouldRetry,onRetry:r.onRetry},timeout:r.timeout})},p.withTimeout=(s,m,r)=>{if(typeof s!="string"||s.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(s,m,{key:r.key??s,timeout:r})},p.sleep=(s,m,r)=>{if(typeof s!="string"||s.length===0)throw new Error('[awaitly] step.sleep() requires an explicit string ID as the first argument. Example: step.sleep("delay", "5s")');let n=typeof m=="string"?Ue(m):m;if(!n)throw new Error(`step.sleep: invalid duration '${m}'`);let e=n.millis,i=r?.signal;return p(s,async()=>{if(O?.aborted||i?.aborted){let c=new Error("Sleep aborted");throw c.name="AbortError",c}return new Promise((c,d)=>{let E={timeoutId:void 0},w=()=>{E.timeoutId&&clearTimeout(E.timeoutId);let g=new Error("Sleep aborted");g.name="AbortError",d(g)};O?.addEventListener("abort",w,{once:!0}),i?.addEventListener("abort",w,{once:!0}),E.timeoutId=setTimeout(()=>{O?.removeEventListener("abort",w),i?.removeEventListener("abort",w),c(B(void 0))},e)})},{key:r?.key??s,description:r?.description})},p.all=((...s)=>{if(typeof s[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 m=s[0],r=s[1];if(typeof r=="function")return q(m,r);if(r&&typeof r=="object"&&!Array.isArray(r)){let e=F(r);return te(e,{name:m})}throw new TypeError("step.all(name, ...): second argument must be a function (array form) or an object of operations (object form).")}),p.race=(s,m)=>{let r=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let n=performance.now(),e=!1,i={scopeId:r,type:"race",winnerId:void 0};v.push(i);let c=()=>{if(e)return;e=!0;let d=v.findIndex(E=>E.scopeId===r);d!==-1&&v.splice(d,1),u({type:"scope_end",workflowId:a,scopeId:r,ts:Date.now(),durationMs:performance.now()-n,winnerId:i.winnerId})};u({type:"scope_start",workflowId:a,scopeId:r,scopeType:"race",name:s,ts:Date.now()});try{let d=await m();if(c(),!d.ok)throw l?.(d.error,s,y),I(d.error,{origin:"result",resultCause:d.cause});return d.value}catch(d){throw c(),d}})()},p.if=(s,m,r)=>r(),p.label=p.if,p.branch=async(s,m)=>{let{condition:r,then:n,else:e}=m;if(r())return await n();if(e)return await e()},p.arm=(s,m)=>({fn:s,errors:m}),p.forEach=async(s,m,r)=>{let n=[],e=r.maxIterations,i=0,c="run"in r,d=Symbol.asyncIterator in m?m:(async function*(){yield*m})();for await(let E of d){if(e!==void 0&&i>=e)break;let w;c?w=await r.run(E,i):w=await r.item.handler(E,i,p),n.push(w),i++}return n},p.item=s=>({__forEachItemHandler:!0,handler:s}),p.dep=(s,m)=>m,p.workflow=(s,m,r)=>p(s,m,r),p.map=async(s,m,r,n)=>{let e=n?.concurrency??m.length;return p(s,()=>e>=m.length?Se(m.map((i,c)=>r(i,c))):(async()=>{let i=[];for(let c=0;c<m.length;c+=e){let d=m.slice(c,c+e),E=await Se(d.map((w,g)=>r(w,c+g)));if(!E.ok)return E;i.push(...E.value)}return B(i)})(),{key:n?.key})},p.withFallback=(s,m,r)=>{if(typeof s!="string"||s.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 n=r.key??s,e=s,i=$(n),c=R;return(async()=>{let d=c?performance.now():0;R&&u({type:"step_start",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now()});let E;try{E=await m()}catch(T){if(V(T))throw u({type:"step_aborted",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:performance.now()-d}),T;let _;try{_=U(T)}catch(C){throw X(C)}if(r.on!==void 0&&r.on!==_){let C=performance.now()-d;throw u({type:"step_error",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:C,error:_}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:C,result:D(_,{cause:T}),meta:{origin:"throw",thrown:T}}),l?.(_,e,y),I(_,{origin:"throw",thrown:T})}let k;try{k=await r.fallback()}catch(C){if(V(C))throw u({type:"step_aborted",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:performance.now()-d}),C;let x;try{x=U(C)}catch(Y){throw X(Y)}let J=performance.now()-d;throw u({type:"step_error",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:J,error:x}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:J,result:D(x,{cause:C}),meta:{origin:"throw",thrown:C}}),l?.(x,e,y),I(x,{origin:"throw",thrown:C})}if(k.ok){let C=performance.now()-d;return u({type:"step_success",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:C}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:C,result:k,meta:{origin:"fallback",fallbackUsed:!0,fallbackReason:String(_)}}),k.value}else{let C=performance.now()-d,x=H(k.error,{origin:"result",resultCause:k.cause});throw u({type:"step_error",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:C,error:x}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:C,result:k,meta:{origin:"result",resultCause:k.cause}}),l?.(x,e,y),I(x,{origin:"result",resultCause:k.cause})}}if(E.ok){let T=performance.now()-d;return u({type:"step_success",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:T}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:T,result:E}),E.value}let w=E.error;if(r.on!==void 0&&r.on!==w){let T=performance.now()-d,_=H(w,{origin:"result",resultCause:E.cause});throw u({type:"step_error",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:T,error:_}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:T,result:E,meta:{origin:"result",resultCause:E.cause}}),l?.(_,e,y),I(_,{origin:"result",resultCause:E.cause})}let g;try{g=await r.fallback()}catch(T){if(V(T))throw u({type:"step_aborted",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:performance.now()-d}),T;let _;try{_=U(T)}catch(C){throw X(C)}let k=performance.now()-d;throw u({type:"step_error",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:k,error:_}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:k,result:D(_,{cause:T}),meta:{origin:"throw",thrown:T}}),l?.(_,e,y),I(_,{origin:"throw",thrown:T})}if(g.ok){let T=performance.now()-d;return u({type:"step_success",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:T}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:T,result:g,meta:{origin:"fallback",fallbackUsed:!0,fallbackReason:String(w)}}),g.value}let b=performance.now()-d,P=H(g.error,{origin:"result",resultCause:g.cause});throw u({type:"step_error",workflowId:a,stepId:i,stepKey:n,name:e,ts:Date.now(),durationMs:b,error:P}),n&&u({type:"step_complete",workflowId:a,stepKey:n,name:e,ts:Date.now(),durationMs:b,result:g,meta:{origin:"result",resultCause:g.cause}}),l?.(P,e,y),I(P,{origin:"result",resultCause:g.cause})})()},p.withResource=(s,m)=>{if(typeof s!="string"||s.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 r=s,n=s,e=$(r),i=R;return(async()=>{let c=i?performance.now():0;R&&u({type:"step_start",workflowId:a,stepId:e,stepKey:r,name:n,ts:Date.now()});let d;try{d=await m.acquire()}catch(k){if(V(k))throw u({type:"step_aborted",workflowId:a,stepId:e,stepKey:r,name:n,ts:Date.now(),durationMs:performance.now()-c}),k;let C;try{C=U(k)}catch(J){throw X(J)}let x=performance.now()-c;throw u({type:"step_error",workflowId:a,stepId:e,stepKey:r,name:n,ts:Date.now(),durationMs:x,error:C}),r&&u({type:"step_complete",workflowId:a,stepKey:r,name:n,ts:Date.now(),durationMs:x,result:D(C,{cause:k}),meta:{origin:"throw",thrown:k}}),l?.(C,n,y),I(C,{origin:"throw",thrown:k})}if(!d.ok){let k=performance.now()-c,C=H(d.error,{origin:"result",resultCause:d.cause});throw u({type:"step_error",workflowId:a,stepId:e,stepKey:r,name:n,ts:Date.now(),durationMs:k,error:C}),r&&u({type:"step_complete",workflowId:a,stepKey:r,name:n,ts:Date.now(),durationMs:k,result:d,meta:{origin:"result",resultCause:d.cause}}),l?.(C,n,y),I(C,{origin:"result",resultCause:d.cause})}let E=d.value,w,g,b=!1;try{w=await m.use(E)}catch(k){if(V(k)){try{await m.release(E)}catch(C){console.warn(`[awaitly] step.withResource("${s}"): release threw after earlyExit:`,C)}throw k}g=k,b=!0}try{await m.release(E)}catch(k){console.warn(`[awaitly] step.withResource("${s}"): release threw:`,k)}if(b){let k;try{k=U(g)}catch(x){throw X(x)}let C=performance.now()-c;throw u({type:"step_error",workflowId:a,stepId:e,stepKey:r,name:n,ts:Date.now(),durationMs:C,error:k}),r&&u({type:"step_complete",workflowId:a,stepKey:r,name:n,ts:Date.now(),durationMs:C,result:D(k,{cause:g}),meta:{origin:"throw",thrown:g}}),l?.(k,n,y),I(k,{origin:"throw",thrown:g})}let P=w;if(P.ok){let k=performance.now()-c;return u({type:"step_success",workflowId:a,stepId:e,stepKey:r,name:n,ts:Date.now(),durationMs:k}),r&&u({type:"step_complete",workflowId:a,stepKey:r,name:n,ts:Date.now(),durationMs:k,result:P}),P.value}let T=performance.now()-c,_=H(P.error,{origin:"result",resultCause:P.cause});throw u({type:"step_error",workflowId:a,stepId:e,stepKey:r,name:n,ts:Date.now(),durationMs:T,error:_}),r&&u({type:"step_complete",workflowId:a,stepKey:r,name:n,ts:Date.now(),durationMs:T,result:P,meta:{origin:"result",resultCause:P.cause}}),l?.(_,n,y),I(_,{origin:"result",resultCause:P.cause})})()};let L=await o({step:p});if(process.env.NODE_ENV!=="production"&&L!==null&&typeof L=="object"&&"ok"in L&&typeof L.ok=="boolean"){let s=L;(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
|
-
|
|
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 B(L)}catch(p){if(Le(p))throw p.thrown;if(V(p)){let q=p.meta.origin==="throw"?p.meta.thrown:p.meta.origin==="result"?p.meta.resultCause:void 0;return D(p.error,{cause:q})}let F=U(p);return l?.(F,"unexpected",y),D(F,{cause:p})}}de.strict=(o,t)=>de(o,t);async function Se(o){return o.length===0?B([]):new Promise(t=>{let l=!1,R=o.length,M=new Array(o.length);for(let h=0;h<o.length;h++){let S=h;Promise.resolve(o[S]).catch(y=>D({type:"PROMISE_REJECTED",cause:y},{cause:{type:"PROMISE_REJECTION",reason:y}})).then(y=>{if(!l){if(!y.ok){l=!0,t(y);return}M[S]=y.value,R--,R===0&&t(B(M))}})}})}export{Ee as EARLY_EXIT_SYMBOL,G as STEP_TIMEOUT_MARKER,_e as createEarlyExit,Ae as getStepTimeoutMeta,Pe as isEarlyExit,me as isStepTimeoutError,de as run};
|
|
7
|
-
//# sourceMappingURL=run.js.map
|