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/resource.cjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";var Ee=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var Le=Object.prototype.hasOwnProperty;var Ve=(r,e)=>{for(var c in e)Ee(r,c,{get:e[c],enumerable:!0})},$e=(r,e,c,f)=>{if(e&&typeof e=="object"||typeof e=="function")for(let h of Be(e))!Le.call(r,h)&&h!==c&&Ee(r,h,{get:()=>e[h],enumerable:!(f=Fe(e,h))||f.enumerable});return r};var We=r=>$e(Ee({},"__esModule",{value:!0}),r);var ar={};Ve(ar,{createResource:()=>sr,createResourceScope:()=>De,isResourceCleanupError:()=>ye,withScope:()=>or});module.exports=We(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 Te(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(c,f){let h=e?.message?e.message(c??{}):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:Te(e.slug),enumerable:!0,writable:!1,configurable:!1})}if(Object.setPrototypeOf(this,new.target.prototype),c&&typeof c=="object"){let E;if(e?.slug!==void 0){let{_tag:N,name:v,message:D,stack:s,code:j,hint:B,docsUrl:fe,...re}=c;E=re}else{let{_tag:N,name:v,message:D,stack:s,...j}=c;E=j}let R=Object.prototype.hasOwnProperty.call(E,"cause"),P=R?E.cause:void 0;R&&delete E.cause;let M=f?.cause!==void 0;if(R&&M)throw new TypeError("TaggedError: cannot provide 'cause' in props when also setting ErrorOptions.cause");Object.assign(this,E),R&&(this.cause=P),M&&(this.cause=f?.cause)}else f?.cause!==void 0&&(this.cause=f.cause)}}}Object.defineProperty(K,Symbol.hasInstance,{value:r=>r instanceof te});(h=>{function r(E){return E instanceof Error}h.isError=r;function e(E){return E instanceof te}h.isTaggedError=e;function c(E,R){let P=E._tag,M=R[P];return M(E)}h.match=c;function f(E,R,P){let M=E._tag,N=R[M];return N?N(E):P(E)}h.matchPartial=f})(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`}){},Re=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`}){},ge=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`:""}`}){},xe=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`:""}`}){},Ce=class extends K("ValidationError",{message:e=>`ValidationError: Invalid ${e.field} - ${e.reason}`}){},he=class extends K("NotFoundError",{message:e=>e.id?`NotFoundError: ${e.resource} with id ${e.id} not found`:`NotFoundError: ${e.resource} not found`}){},be=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"}){},Ae=class extends K("NetworkError",{message:e=>e.url?`NetworkError: ${e.reason} (${e.url})`:`NetworkError: ${e.reason}`}){},Se=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 Pe(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),ve=(r,e)=>{let c={},f=new Map;for(let h of Object.keys(r)){let E=r[h];typeof E=="function"&&(c[h]=(...R)=>{let P=(f.get(h)??0)+1;f.set(h,P);let M=P===1?h:`${h}#${P}`;return e(M,async()=>{let N=await E(...R);return qe(N)?N:Pe(N)})})}return c};function Ye(r){let e=r.trim().match(/^(\d+(?:\.\d+)?)\s*(ms|s|m|h|d)$/i);if(!e)return;let c=parseFloat(e[1]),f=e[2].toLowerCase();return{_tag:"Duration",millis:c*({ms:1,s:1e3,m:6e4,h:36e5,d:864e5}[f]??1)}}function ze(r){return new se({cause:r})}function $(r){return{ok:!0,value:r}}function U(r,e){let c=e?.cause;return{ok:!1,error:r,...c!==void 0?{cause:c}:{}}}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 c=e._tag.trim();if(c)return c}if(typeof e.tag=="string"){let c=e.tag.trim();if(c)return c}if(typeof e.code=="string"){let c=e.code.trim();if(c)return c}else if(typeof e.code=="number")return String(e.code);if(r instanceof Error&&r.name){let c=r.name.trim();if(c)return c}}return"unknown"}function Ge(r,e){if(!(!e||!r))return e[r]}function Xe(r){let{intent:e,domain:c,owner:f,tags:h,stateChanges:E,emits:R,calls:P}=r;if(!e&&!c&&!f&&!h?.length&&!E?.length&&!R?.length&&!P?.length)return;let M={};return e&&(M.intent=e),c&&(M.domain=c),f&&(M.owner=f),h?.length&&(M.tags=h),E?.length&&(M.stateChanges=E),R?.length&&(M.emits=R),P?.length&&(M.calls=P),M}function L(r,e,c,f,h){let E=Je(r),R=Ge(E,e),P={tag:E,origin:c};return R!==void 0&&(P.classification=R),f!==void 0&&(P.attempt=f),h!==void 0&&(P.cumulativeDurationMs=h),P}var ee=Symbol.for("step_timeout_marker");function Oe(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 Ie=Symbol("early-exit");function Qe(r,e){return{[Ie]:!0,error:r,meta:e}}function er(r){return typeof r=="object"&&r!==null&&r[Ie]===!0}var Ue=Symbol("mapper-exception");function Z(r){return{[Ue]:!0,thrown:r}}function rr(r){return typeof r=="object"&&r!==null&&r[Ue]===!0}function de(r,e){let{backoff:c,initialDelay:f,maxDelay:h,jitter:E}=e,R;switch(c){case"fixed":R=f;break;case"linear":R=f*r;break;case"exponential":R=f*Math.pow(2,r-1);break}if(R=Math.min(R,h),E){let P=R*.25*Math.random();R=R+P}return Math.floor(R)}function me(r){return new Promise(e=>setTimeout(e,r))}var _e=Symbol("timeout"),ae=Symbol("timeout-option");function nr(r){return typeof r=="object"&&r!==null&&r[ae]===!0}async function tr(r,e,c,f){let h=new AbortController,E=e.onTimeout??"error",R=()=>typeof E=="function"?E({name:c.name,key:c.key,ms:e.ms}):e.error??{type:"STEP_TIMEOUT",stepName:c.name,stepKey:c.key,timeoutMs:e.ms,attempt:c.attempt},P;f?.aborted&&h.abort(f.reason);let M;f&&!f.aborted&&(M=()=>h.abort(f.reason),f.addEventListener("abort",M,{once:!0}));let N=new Promise((D,s)=>{P=setTimeout(()=>{if(E!=="disconnect"&&h.abort(),E==="option"){s({[ae]:!0,ms:e.ms});return}s({[_e]:!0,error:R()})},e.ms)}),v;e.signal?v=Promise.resolve(r(h.signal)):v=Promise.resolve(r());try{return await Promise.race([v,N])}catch(D){if(typeof D=="object"&&D!==null&&D[ae]===!0)throw{[ae]:!0,ms:e.ms};if(typeof D=="object"&&D!==null&&D[_e]===!0){E==="disconnect"&&v.catch(()=>{});let s=D.error;if(typeof s=="object"&&s!==null&&s.type!=="STEP_TIMEOUT"){let j={timeoutMs:e.ms,stepName:c.name,stepKey:c.key,attempt:c.attempt};ee in s?s[ee]=j:Object.defineProperty(s,ee,{value:j,enumerable:!1,writable:!0,configurable:!1})}throw s}throw D}finally{clearTimeout(P),M&&f&&f.removeEventListener("abort",M)}}var Q={backoff:"exponential",initialDelay:100,maxDelay:3e4,jitter:!0,shouldRetry:()=>!0,onRetry:()=>{}};async function we(r,e,c){if(typeof r!="function"){let p=r,F=e;if(typeof F!="function")throw new TypeError("[awaitly] run(deps, fn) requires a callback as the second argument. Example: run({ getUser }, async (s) => s.getUser(id))");return we(({step:G})=>F(ve(p,G),{step:G}),c)}let f=r,h=e,{onError:E,onEvent:R,catchUnexpected:P,workflowId:M,workflowName:N,context:v,_workflowSignal:D}=h&&typeof h=="object"?h:{},s=M??crypto.randomUUID(),j=P??ze,B=[],fe=0,re=p=>p??`step_${++fe}`,i=p=>{let F=p.context!==void 0||v===void 0?p:{...p,context:v},W=N!==void 0&&F.workflowName===void 0?{...F,workflowName:N}:F;if(W.type==="step_success"){let G=W.stepId;for(let oe=B.length-1;oe>=0;oe--){let V=B[oe];if(V.type==="race"&&!V.winnerId){V.winnerId=G;break}}}R?.(W,v)},I=Qe,J=p=>er(p),q=(p,F)=>p,Ke=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(a){let d={};for(let[t,o]of Object.entries(a))if(typeof o=="function")d[t]=o;else if(o&&typeof o=="object"&&"fn"in o)d[t]=o.fn;else throw new TypeError(`step.all: operation "${t}" must be a function or { fn, errors? } object`);return d},W=function(a,d){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(m=>m.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 d();if(u(),!l.ok)throw E?.(l.error,a,v),I(l.error,{origin:"result",resultCause:l.cause});return l.value}catch(l){throw u(),l}})()},G=function(a,d){let t=Object.keys(a),o=d.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 m=()=>{if(l)return;l=!0;let w=B.findIndex(y=>y.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(k=>{if(t.length===0){k([]);return}let A=!1,_=t.length,g=new Array(t.length);for(let O=0;O<t.length;O++){let x=t[O],b=O;Promise.resolve(a[x]()).catch(C=>U({type:"PROMISE_REJECTED",cause:C},{cause:{type:"PROMISE_REJECTION",reason:C}})).then(C=>{if(!A){if(!C.ok){A=!0,k([{key:x,result:C}]);return}g[b]={key:x,result:C},_--,_===0&&k(g)}})}});m();let y={};for(let{key:k,result:A}of w){if(!A.ok)throw E?.(A.error,k,v),I(A.error,{origin:"result",resultCause:A.cause});y[k]=A.value}return y}catch(w){throw m(),w}})()};var ur=F,ir=W,cr=G;let p=(a,d,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,m=o.key??a,{description:w,retry:y,timeout:k}=o,A=re(l),_=R,g=_?performance.now():0,x=Ke(d)?()=>d:d,C={attempts:Math.max(1,y?.attempts??1),backoff:y?.backoff??Q.backoff,initialDelay:y?.initialDelay??Q.initialDelay,maxDelay:y?.maxDelay??Q.maxDelay,jitter:y?.jitter??Q.jitter,shouldRetry:y?.shouldRetry??Q.shouldRetry,onRetry:y?.onRetry??Q.onRetry};R&&i({type:"step_start",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),...n&&{metadata:n}});let X;for(let S=1;S<=C.attempts;S++){let Ne=_?performance.now():0;try{let T;if(k?T=await tr(x,k,{name:u,key:l,attempt:S},D):T=await x(),T.ok){let z=performance.now()-g;return i({type:"step_success",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),durationMs:z,...n&&{metadata:n}}),m&&i({type:"step_complete",workflowId:s,stepKey:m,name:u,description:w,ts:Date.now(),durationMs:z,result:T,...n&&{metadata:n}}),T.value}if(X=T,S<C.attempts&&C.shouldRetry(T.error,S)){let z=de(S,C);i({type:"step_retry",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),attempt:S+1,maxAttempts:C.attempts,delayMs:z,error:T.error,...n&&{metadata:n},diagnostics:L(T.error,o.errorMeta,"result",S,performance.now()-g)}),C.onRetry(T.error,S,z),await me(z);continue}C.attempts>1&&i({type:"step_retries_exhausted",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),durationMs:performance.now()-g,attempts:S,lastError:T.error,...n&&{metadata:n},diagnostics:L(T.error,o.errorMeta,"result",S,performance.now()-g)});break}catch(T){let z=performance.now()-Ne;if(nr(T)){let H=T.ms;i({type:"step_timeout",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),timeoutMs:H,attempt:S,...n&&{metadata:n},diagnostics:L(T,o.errorMeta,"timeout",S)}),i({type:"step_success",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),durationMs:performance.now()-g,...n&&{metadata:n}}),m&&i({type:"step_complete",workflowId:s,stepKey:m,name:u,description:w,ts:Date.now(),durationMs:performance.now()-g,result:$(void 0),...n&&{metadata:n}});return}if(J(T))throw i({type:"step_aborted",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),durationMs:z,...n&&{metadata:n}}),T;if(Oe(T)){let H=Ze(T),je=k?.ms??H?.timeoutMs??0;if(i({type:"step_timeout",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),timeoutMs:je,attempt:S,...n&&{metadata:n},diagnostics:L(T,o.errorMeta,"timeout",S)}),S<C.attempts&&C.shouldRetry(T,S)){let pe=de(S,C);i({type:"step_retry",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),attempt:S+1,maxAttempts:C.attempts,delayMs:pe,error:T,...n&&{metadata:n},diagnostics:L(T,o.errorMeta,"timeout",S,performance.now()-g)}),C.onRetry(T,S,pe),await me(pe);continue}C.attempts>1&&i({type:"step_retries_exhausted",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),durationMs:performance.now()-g,attempts:S,lastError:T,...n&&{metadata:n},diagnostics:L(T,o.errorMeta,"timeout",S,performance.now()-g)});let le=performance.now()-g;throw i({type:"step_error",workflowId:s,stepId:A,stepKey:l,name:u,description:w,ts:Date.now(),durationMs:le,error:T,...n&&{metadata:n},diagnostics:L(T,o.errorMeta,"timeout",S,le)}),m&&i({type:"step_complete",workflowId:s,stepKey:m,name:u,description:w,ts:Date.now(),durationMs:le,result:U(T,{cause:T}),meta:{origin:"throw",thrown:T},...n&&{metadata:n}}),E?.(T,u,v),I(T,{origin:"throw",thrown:T})}if(S<C.attempts&&C.shouldRetry(T,S)){let H=de(S,C);i({type:"step_retry",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),attempt:S+1,maxAttempts:C.attempts,delayMs:H,error:T,...n&&{metadata:n},diagnostics:L(T,o.errorMeta,"throw",S,performance.now()-g)}),C.onRetry(T,S,H),await me(H);continue}C.attempts>1&&!Oe(T)&&i({type:"step_retries_exhausted",workflowId:s,stepId:A,stepKey:l,name:u,ts:Date.now(),durationMs:performance.now()-g,attempts:S,lastError:T,...n&&{metadata:n},diagnostics:L(T,o.errorMeta,"throw",S,performance.now()-g)});let ce=performance.now()-g,ne;try{ne=j(T)}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(T,o.errorMeta,"throw",S,ce)}),m&&i({type:"step_complete",workflowId:s,stepKey:m,name:u,description:w,ts:Date.now(),durationMs:ce,result:U(ne,{cause:T}),meta:{origin:"throw",thrown:T},...n&&{metadata:n}}),E?.(ne,u,v),I(ne,{origin:"throw",thrown:T})}}let Y=X,ue=performance.now()-g,ie=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:ue,error:ie,...n&&{metadata:n},diagnostics:L(Y.error,o.errorMeta,"result",C.attempts,ue)}),m&&i({type:"step_complete",workflowId:s,stepKey:m,name:u,description:w,ts:Date.now(),durationMs:ue,result:Y,meta:{origin:"result",resultCause:Y.cause},...n&&{metadata:n}}),E?.(ie,u,v),I(ie,{origin:"result",resultCause:Y.cause})})();p.try=(a,d,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 $(await d())}catch(w){return U(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,m=R;return(async()=>{let w=m?performance.now():0;R&&i({type:"step_start",workflowId:s,stepId:l,stepKey:n,name:u,ts:Date.now()});try{let y=await d(),k=performance.now()-w;return i({type:"step_success",workflowId:s,stepId:l,stepKey:n,name:u,ts:Date.now(),durationMs:k}),n&&i({type:"step_complete",workflowId:s,stepKey:n,name:u,ts:Date.now(),durationMs:k,result:$(y)}),y}catch(y){let k=o(y),A=performance.now()-w,_=q(k,{origin:"throw",thrown:y});throw i({type:"step_error",workflowId:s,stepId:l,stepKey:n,name:u,ts:Date.now(),durationMs:A,error:_}),n&&i({type:"step_complete",workflowId:s,stepKey:n,name:u,ts:Date.now(),durationMs:A,result:U(k,{cause:y}),meta:{origin:"throw",thrown:y}}),E?.(_,u,v),I(_,{origin:"throw",thrown:y})}})()},p.fromResult=(a,d,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,m=R;return(async()=>{let w=m?performance.now():0;R&&i({type:"step_start",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now()});let y=await d();if(y.ok){let k=performance.now()-w;return i({type:"step_success",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:k}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:k,result:$(y.value)}),y.value}else{let k=l(y.error),A=performance.now()-w,_=q(k,{origin:"result",resultCause:y.error});throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:A,error:_}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:A,result:U(k,{cause:y.error}),meta:{origin:"result",resultCause:y.error}}),E?.(_,n,v),I(_,{origin:"result",resultCause:y.error})}})()},p.fromNullable=(a,d,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 d();return n!=null?$(n):U(t())},o)},p.retry=(a,d,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,d,{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,d,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,d,{key:t.key??a,timeout:t})},p.sleep=(a,d,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 d=="string"?Ye(d):d;if(!o)throw new Error(`step.sleep: invalid duration '${d}'`);let n=o.millis,u=t?.signal;return p(a,async()=>{if(D?.aborted||u?.aborted){let l=new Error("Sleep aborted");throw l.name="AbortError",l}return new Promise((l,m)=>{let w={timeoutId:void 0},y=()=>{w.timeoutId&&clearTimeout(w.timeoutId);let k=new Error("Sleep aborted");k.name="AbortError",m(k)};D?.addEventListener("abort",y,{once:!0}),u?.addEventListener("abort",y,{once:!0}),w.timeoutId=setTimeout(()=>{D?.removeEventListener("abort",y),u?.removeEventListener("abort",y),l($(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 d=a[0],t=a[1];if(typeof t=="function")return W(d,t);if(t&&typeof t=="object"&&!Array.isArray(t)){let n=F(t);return G(n,{name:d})}throw new TypeError("step.all(name, ...): second argument must be a function (array form) or an object of operations (object form).")}),p.race=(a,d)=>{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 m=B.findIndex(w=>w.scopeId===t);m!==-1&&B.splice(m,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 m=await d();if(l(),!m.ok)throw E?.(m.error,a,v),I(m.error,{origin:"result",resultCause:m.cause});return m.value}catch(m){throw l(),m}})()},p.if=(a,d,t)=>t(),p.label=p.if,p.branch=async(a,d)=>{let{condition:t,then:o,else:n}=d;if(t())return await o();if(n)return await n()},p.arm=(a,d)=>({fn:a,errors:d}),p.forEach=async(a,d,t)=>{let o=[],n=t.maxIterations,u=0,l="run"in t,m=Symbol.asyncIterator in d?d:(async function*(){yield*d})();for await(let w of m){if(n!==void 0&&u>=n)break;let y;l?y=await t.run(w,u):y=await t.item.handler(w,u,p),o.push(y),u++}return o},p.item=a=>({__forEachItemHandler:!0,handler:a}),p.dep=(a,d)=>d,p.workflow=(a,d,t)=>p(a,d,t),p.map=async(a,d,t,o)=>{let n=o?.concurrency??d.length;return p(a,()=>n>=d.length?Me(d.map((u,l)=>t(u,l))):(async()=>{let u=[];for(let l=0;l<d.length;l+=n){let m=d.slice(l,l+n),w=await Me(m.map((y,k)=>t(y,l+k)));if(!w.ok)return w;u.push(...w.value)}return $(u)})(),{key:o?.key})},p.withFallback=(a,d,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=R;return(async()=>{let m=l?performance.now():0;R&&i({type:"step_start",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now()});let w;try{w=await d()}catch(g){if(J(g))throw i({type:"step_aborted",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:performance.now()-m}),g;let O;try{O=j(g)}catch(b){throw Z(b)}if(t.on!==void 0&&t.on!==O){let b=performance.now()-m;throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:b,error:O}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:b,result:U(O,{cause:g}),meta:{origin:"throw",thrown:g}}),E?.(O,n,v),I(O,{origin:"throw",thrown:g})}let x;try{x=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()-m}),b;let C;try{C=j(b)}catch(Y){throw Z(Y)}let X=performance.now()-m;throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:X,error:C}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:X,result:U(C,{cause:b}),meta:{origin:"throw",thrown:b}}),E?.(C,n,v),I(C,{origin:"throw",thrown:b})}if(x.ok){let b=performance.now()-m;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:x,meta:{origin:"fallback",fallbackUsed:!0,fallbackReason:String(O)}}),x.value}else{let b=performance.now()-m,C=q(x.error,{origin:"result",resultCause:x.cause});throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:b,error:C}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:b,result:x,meta:{origin:"result",resultCause:x.cause}}),E?.(C,n,v),I(C,{origin:"result",resultCause:x.cause})}}if(w.ok){let g=performance.now()-m;return i({type:"step_success",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:g}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:g,result:w}),w.value}let y=w.error;if(t.on!==void 0&&t.on!==y){let g=performance.now()-m,O=q(y,{origin:"result",resultCause:w.cause});throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:g,error:O}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:g,result:w,meta:{origin:"result",resultCause:w.cause}}),E?.(O,n,v),I(O,{origin:"result",resultCause:w.cause})}let k;try{k=await t.fallback()}catch(g){if(J(g))throw i({type:"step_aborted",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:performance.now()-m}),g;let O;try{O=j(g)}catch(b){throw Z(b)}let x=performance.now()-m;throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:x,error:O}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:x,result:U(O,{cause:g}),meta:{origin:"throw",thrown:g}}),E?.(O,n,v),I(O,{origin:"throw",thrown:g})}if(k.ok){let g=performance.now()-m;return i({type:"step_success",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:g}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:g,result:k,meta:{origin:"fallback",fallbackUsed:!0,fallbackReason:String(y)}}),k.value}let A=performance.now()-m,_=q(k.error,{origin:"result",resultCause:k.cause});throw i({type:"step_error",workflowId:s,stepId:u,stepKey:o,name:n,ts:Date.now(),durationMs:A,error:_}),o&&i({type:"step_complete",workflowId:s,stepKey:o,name:n,ts:Date.now(),durationMs:A,result:k,meta:{origin:"result",resultCause:k.cause}}),E?.(_,n,v),I(_,{origin:"result",resultCause:k.cause})})()},p.withResource=(a,d)=>{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=R;return(async()=>{let l=u?performance.now():0;R&&i({type:"step_start",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now()});let m;try{m=await d.acquire()}catch(x){if(J(x))throw i({type:"step_aborted",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:performance.now()-l}),x;let b;try{b=j(x)}catch(X){throw Z(X)}let C=performance.now()-l;throw i({type:"step_error",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:C,error:b}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:o,ts:Date.now(),durationMs:C,result:U(b,{cause:x}),meta:{origin:"throw",thrown:x}}),E?.(b,o,v),I(b,{origin:"throw",thrown:x})}if(!m.ok){let x=performance.now()-l,b=q(m.error,{origin:"result",resultCause:m.cause});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:m,meta:{origin:"result",resultCause:m.cause}}),E?.(b,o,v),I(b,{origin:"result",resultCause:m.cause})}let w=m.value,y,k,A=!1;try{y=await d.use(w)}catch(x){if(J(x)){try{await d.release(w)}catch(b){console.warn(`[awaitly] step.withResource("${a}"): release threw after earlyExit:`,b)}throw x}k=x,A=!0}try{await d.release(w)}catch(x){console.warn(`[awaitly] step.withResource("${a}"): release threw:`,x)}if(A){let x;try{x=j(k)}catch(C){throw Z(C)}let b=performance.now()-l;throw i({type:"step_error",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:b,error:x}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:o,ts:Date.now(),durationMs:b,result:U(x,{cause:k}),meta:{origin:"throw",thrown:k}}),E?.(x,o,v),I(x,{origin:"throw",thrown:k})}let _=y;if(_.ok){let x=performance.now()-l;return i({type:"step_success",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:x}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:o,ts:Date.now(),durationMs:x,result:_}),_.value}let g=performance.now()-l,O=q(_.error,{origin:"result",resultCause:_.cause});throw i({type:"step_error",workflowId:s,stepId:n,stepKey:t,name:o,ts:Date.now(),durationMs:g,error:O}),t&&i({type:"step_complete",workflowId:s,stepKey:t,name:o,ts:Date.now(),durationMs:g,result:_,meta:{origin:"result",resultCause:_.cause}}),E?.(O,o,v),I(O,{origin:"result",resultCause:_.cause})})()};let V=await f({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 $(V)}catch(p){if(rr(p))throw p.thrown;if(J(p)){let W=p.meta.origin==="throw"?p.meta.thrown:p.meta.origin==="result"?p.meta.resultCause:void 0;return U(p.error,{cause:W})}let F=j(p);return E?.(F,"unexpected",v),U(F,{cause:p})}}we.strict=(r,e)=>we(r,e);async function Me(r){return r.length===0?$([]):new Promise(e=>{let c=!1,f=r.length,h=new Array(r.length);for(let E=0;E<r.length;E++){let R=E;Promise.resolve(r[R]).catch(P=>U({type:"PROMISE_REJECTED",cause:P},{cause:{type:"PROMISE_REJECTION",reason:P}})).then(P=>{if(!c){if(!P.ok){c=!0,e(P);return}h[R]=P.value,f--,f===0&&e($(h))}})}})}function ye(r){return typeof r=="object"&&r!==null&&r.type==="RESOURCE_CLEANUP_ERROR"}function De(){let r=[];return{add:e=>(r.push(e),e.value),close:async()=>{let e=[];for(let c=r.length-1;c>=0;c--)try{await r[c].close()}catch(f){e.push(f)}if(r.length=0,e.length>0)throw{type:"RESOURCE_CLEANUP_ERROR",errors:e}},has:e=>r.includes(e),size:()=>r.length}}async function or(r){let e=De(),c;try{c=await r(e)}catch(f){try{await e.close()}catch(h){if(ye(h))return U({...h,originalResult:{thrown:f}})}throw f}try{await e.close()}catch(f){if(ye(f))return U({...f,originalResult:c});throw f}return c}async function sr(r,e){let c=await r();return{value:c,close:async()=>{await e(c)}}}0&&(module.exports={createResource,createResourceScope,isResourceCleanupError,withScope});
|
|
7
|
-
//# sourceMappingURL=resource.cjs.map
|