@jagreehal/workflow 1.3.0 → 1.4.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/README.md +119 -0
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +215 -1
- package/dist/core.d.ts +215 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/visualize.cjs +6 -6
- package/dist/visualize.cjs.map +1 -1
- package/dist/visualize.d.cts +6 -0
- package/dist/visualize.d.ts +6 -0
- package/dist/visualize.js +6 -6
- package/dist/visualize.js.map +1 -1
- package/dist/workflow.cjs +1 -1
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.js +1 -1
- package/dist/workflow.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AsyncResult, CauseOf, EmptyInputError, ErrorOf, Errors, ExtractCause, ExtractError, ExtractValue, MaybeAsyncResult, PromiseRejectedError, PromiseRejectionCause, Result, RunOptions, RunOptionsWithCatch, RunOptionsWithoutCatch, RunStep, ScopeType, SettledError, StepOptions, UnexpectedCause, UnexpectedError, UnexpectedStepFailureCause, UnwrapError, WorkflowEvent, all, allAsync, allSettled, allSettledAsync, andThen, any, anyAsync, err, from, fromNullable, fromPromise, isErr, isOk, isUnexpectedError, map, mapError, mapErrorTry, mapTry, match, ok, partition, run, tap, tapError, tryAsync, unwrap, unwrapOr, unwrapOrElse } from './core.cjs';
|
|
1
|
+
export { AsyncResult, BackoffStrategy, CauseOf, EmptyInputError, ErrorOf, Errors, ExtractCause, ExtractError, ExtractValue, MaybeAsyncResult, PromiseRejectedError, PromiseRejectionCause, Result, RetryOptions, RunOptions, RunOptionsWithCatch, RunOptionsWithoutCatch, RunStep, STEP_TIMEOUT_MARKER, ScopeType, SettledError, StepOptions, StepTimeoutError, StepTimeoutMarkerMeta, TimeoutOptions, UnexpectedCause, UnexpectedError, UnexpectedStepFailureCause, UnwrapError, WorkflowEvent, all, allAsync, allSettled, allSettledAsync, andThen, any, anyAsync, err, from, fromNullable, fromPromise, getStepTimeoutMeta, isErr, isOk, isStepTimeoutError, isUnexpectedError, map, mapError, mapErrorTry, mapTry, match, ok, partition, run, tap, tapError, tryAsync, unwrap, unwrapOr, unwrapOrElse } from './core.cjs';
|
|
2
2
|
export { AnyResultFn, ApprovalRejected, ApprovalStepOptions, CausesOfDeps, ErrorsOfDeps, PendingApproval, ResumeState, ResumeStateEntry, StepCache, Workflow, WorkflowOptions, WorkflowOptionsStrict, WorkflowStrict, clearStep, createApprovalStep, createHITLCollector, createStepCollector, createWorkflow, getPendingApprovals, hasPendingApproval, injectApproval, isApprovalRejected, isPendingApproval, isStepComplete, pendingApproval } from './workflow.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AsyncResult, CauseOf, EmptyInputError, ErrorOf, Errors, ExtractCause, ExtractError, ExtractValue, MaybeAsyncResult, PromiseRejectedError, PromiseRejectionCause, Result, RunOptions, RunOptionsWithCatch, RunOptionsWithoutCatch, RunStep, ScopeType, SettledError, StepOptions, UnexpectedCause, UnexpectedError, UnexpectedStepFailureCause, UnwrapError, WorkflowEvent, all, allAsync, allSettled, allSettledAsync, andThen, any, anyAsync, err, from, fromNullable, fromPromise, isErr, isOk, isUnexpectedError, map, mapError, mapErrorTry, mapTry, match, ok, partition, run, tap, tapError, tryAsync, unwrap, unwrapOr, unwrapOrElse } from './core.js';
|
|
1
|
+
export { AsyncResult, BackoffStrategy, CauseOf, EmptyInputError, ErrorOf, Errors, ExtractCause, ExtractError, ExtractValue, MaybeAsyncResult, PromiseRejectedError, PromiseRejectionCause, Result, RetryOptions, RunOptions, RunOptionsWithCatch, RunOptionsWithoutCatch, RunStep, STEP_TIMEOUT_MARKER, ScopeType, SettledError, StepOptions, StepTimeoutError, StepTimeoutMarkerMeta, TimeoutOptions, UnexpectedCause, UnexpectedError, UnexpectedStepFailureCause, UnwrapError, WorkflowEvent, all, allAsync, allSettled, allSettledAsync, andThen, any, anyAsync, err, from, fromNullable, fromPromise, getStepTimeoutMeta, isErr, isOk, isStepTimeoutError, isUnexpectedError, map, mapError, mapErrorTry, mapTry, match, ok, partition, run, tap, tapError, tryAsync, unwrap, unwrapOr, unwrapOrElse } from './core.js';
|
|
2
2
|
export { AnyResultFn, ApprovalRejected, ApprovalStepOptions, CausesOfDeps, ErrorsOfDeps, PendingApproval, ResumeState, ResumeStateEntry, StepCache, Workflow, WorkflowOptions, WorkflowOptionsStrict, WorkflowStrict, clearStep, createApprovalStep, createHITLCollector, createStepCollector, createWorkflow, getPendingApprovals, hasPendingApproval, injectApproval, isApprovalRejected, isPendingApproval, isStepComplete, pendingApproval } from './workflow.js';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var R=e=>({ok:!0,value:e}),w=(e,t)=>({ok:!1,error:e,...t?.cause!==void 0?{cause:t.cause}:{}}),H=e=>e.ok,q=e=>!e.ok,J=e=>typeof e=="object"&&e!==null&&e.type==="UNEXPECTED_ERROR",G=Symbol("early-exit");function K(e,t){return{[G]:!0,error:e,meta:t}}function b(e){return typeof e=="object"&&e!==null&&e[G]===!0}var Y=Symbol("mapper-exception");function B(e){return{[Y]:!0,thrown:e}}function z(e){return typeof e=="object"&&e!==null&&e[Y]===!0}function Q(e){return typeof e=="string"?{name:e}:e??{}}async function O(e,t){let{onError:n,onEvent:p,catchUnexpected:f,workflowId:x,context:v}=t&&typeof t=="object"?t:{},E=x??crypto.randomUUID(),h=!n&&!f,g=[],U=0,I=a=>a??`step_${++U}`,k=a=>{if(a.type==="step_success"){let A=a.stepId;for(let c=g.length-1;c>=0;c--){let y=g[c];if(y.type==="race"&&!y.winnerId){y.winnerId=A;break}}}p?.(a,v)},P=K,m=a=>b(a),M=(a,A)=>h?A?.origin==="result"?{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"result",error:a,...A.resultCause!==void 0?{cause:A.resultCause}:{}}}:A?.origin==="throw"?{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"throw",error:a,thrown:A.thrown}}:{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"result",error:a}}:a,W=a=>a.origin==="result"?a.resultCause:a.thrown,j=a=>({type:"UNEXPECTED_ERROR",cause:a.meta.origin==="result"?{type:"STEP_FAILURE",origin:"result",error:a.error,...a.meta.resultCause!==void 0?{cause:a.meta.resultCause}:{}}:{type:"STEP_FAILURE",origin:"throw",error:a.error,thrown:a.meta.thrown}});try{let a=(y,d)=>(async()=>{let{name:o,key:u}=Q(d),s=I(u),r=p?performance.now():0;p&&k({type:"step_start",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now()});let i;try{i=await(typeof y=="function"?y():y)}catch(S){let _=performance.now()-r;if(m(S))throw k({type:"step_aborted",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now(),durationMs:_}),S;if(f){let D;try{D=f(S)}catch($){throw B($)}throw k({type:"step_error",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now(),durationMs:_,error:D}),u&&k({type:"step_complete",workflowId:E,stepKey:u,name:o,ts:Date.now(),durationMs:_,result:w(D,{cause:S}),meta:{origin:"throw",thrown:S}}),n?.(D,o),P(D,{origin:"throw",thrown:S})}else{let D={type:"UNEXPECTED_ERROR",cause:{type:"UNCAUGHT_EXCEPTION",thrown:S}};throw k({type:"step_error",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now(),durationMs:_,error:D}),u&&k({type:"step_complete",workflowId:E,stepKey:u,name:o,ts:Date.now(),durationMs:_,result:w(D,{cause:S}),meta:{origin:"throw",thrown:S}}),S}}let T=performance.now()-r;if(i.ok)return k({type:"step_success",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now(),durationMs:T}),u&&k({type:"step_complete",workflowId:E,stepKey:u,name:o,ts:Date.now(),durationMs:T,result:i}),i.value;let C=M(i.error,{origin:"result",resultCause:i.cause});throw k({type:"step_error",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now(),durationMs:T,error:C}),u&&k({type:"step_complete",workflowId:E,stepKey:u,name:o,ts:Date.now(),durationMs:T,result:i,meta:{origin:"result",resultCause:i.cause}}),n?.(i.error,o),P(i.error,{origin:"result",resultCause:i.cause})})();a.try=(y,d)=>{let o=d.name,u=d.key,s=I(u),l="error"in d?()=>d.error:d.onError,r=p;return(async()=>{let i=r?performance.now():0;p&&k({type:"step_start",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now()});try{let T=await y(),C=performance.now()-i;return k({type:"step_success",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now(),durationMs:C}),u&&k({type:"step_complete",workflowId:E,stepKey:u,name:o,ts:Date.now(),durationMs:C,result:R(T)}),T}catch(T){let C=l(T),S=performance.now()-i,_=M(C,{origin:"throw",thrown:T});throw k({type:"step_error",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now(),durationMs:S,error:_}),u&&k({type:"step_complete",workflowId:E,stepKey:u,name:o,ts:Date.now(),durationMs:S,result:w(C,{cause:T}),meta:{origin:"throw",thrown:T}}),n?.(C,o),P(C,{origin:"throw",thrown:T})}})()},a.fromResult=(y,d)=>{let o=d.name,u=d.key,s=I(u),l="error"in d?()=>d.error:d.onError,r=p;return(async()=>{let i=r?performance.now():0;p&&k({type:"step_start",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now()});let T=await y();if(T.ok){let C=performance.now()-i;return k({type:"step_success",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now(),durationMs:C}),u&&k({type:"step_complete",workflowId:E,stepKey:u,name:o,ts:Date.now(),durationMs:C,result:R(T.value)}),T.value}else{let C=l(T.error),S=performance.now()-i,_=M(C,{origin:"result",resultCause:T.error});throw k({type:"step_error",workflowId:E,stepId:s,stepKey:u,name:o,ts:Date.now(),durationMs:S,error:_}),u&&k({type:"step_complete",workflowId:E,stepKey:u,name:o,ts:Date.now(),durationMs:S,result:w(C,{cause:T.error}),meta:{origin:"result",resultCause:T.error}}),n?.(C,o),P(C,{origin:"result",resultCause:T.error})}})()},a.parallel=(y,d)=>{let o=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let u=performance.now(),s=!1;g.push({scopeId:o,type:"parallel"});let l=()=>{if(s)return;s=!0;let r=g.findIndex(i=>i.scopeId===o);r!==-1&&g.splice(r,1),k({type:"scope_end",workflowId:E,scopeId:o,ts:Date.now(),durationMs:performance.now()-u})};k({type:"scope_start",workflowId:E,scopeId:o,scopeType:"parallel",name:y,ts:Date.now()});try{let r=await d();if(l(),!r.ok)throw n?.(r.error,y),P(r.error,{origin:"result",resultCause:r.cause});return r.value}catch(r){throw l(),r}})()},a.race=(y,d)=>{let o=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let u=performance.now(),s=!1,l={scopeId:o,type:"race",winnerId:void 0};g.push(l);let r=()=>{if(s)return;s=!0;let i=g.findIndex(T=>T.scopeId===o);i!==-1&&g.splice(i,1),k({type:"scope_end",workflowId:E,scopeId:o,ts:Date.now(),durationMs:performance.now()-u,winnerId:l.winnerId})};k({type:"scope_start",workflowId:E,scopeId:o,scopeType:"race",name:y,ts:Date.now()});try{let i=await d();if(r(),!i.ok)throw n?.(i.error,y),P(i.error,{origin:"result",resultCause:i.cause});return i.value}catch(i){throw r(),i}})()},a.allSettled=(y,d)=>{let o=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let u=performance.now(),s=!1;g.push({scopeId:o,type:"allSettled"});let l=()=>{if(s)return;s=!0;let r=g.findIndex(i=>i.scopeId===o);r!==-1&&g.splice(r,1),k({type:"scope_end",workflowId:E,scopeId:o,ts:Date.now(),durationMs:performance.now()-u})};k({type:"scope_start",workflowId:E,scopeId:o,scopeType:"allSettled",name:y,ts:Date.now()});try{let r=await d();if(l(),!r.ok)throw n?.(r.error,y),P(r.error,{origin:"result",resultCause:r.cause});return r.value}catch(r){throw l(),r}})()};let c=await e(a);return R(c)}catch(a){if(z(a))throw a.thrown;if(m(a)){let c=W(a.meta);if(f||n)return w(a.error,{cause:c});if(J(a.error))return w(a.error,{cause:c});let y=j(a);return w(y,{cause:c})}if(f){let c=f(a);return n?.(c,"unexpected"),w(c,{cause:a})}let A={type:"UNEXPECTED_ERROR",cause:{type:"UNCAUGHT_EXCEPTION",thrown:a}};return n?.(A,"unexpected"),w(A,{cause:a})}}O.strict=(e,t)=>O(e,t);var N=class extends Error{constructor(n,p){super(`Unwrap called on an error result: ${String(n)}`);this.error=n;this.cause=p;this.name="UnwrapError"}},Z=e=>{if(e.ok)return e.value;throw new N(e.error,e.cause)},ee=(e,t)=>e.ok?e.value:t,te=(e,t)=>e.ok?e.value:t(e.error,e.cause);function ne(e,t){try{return R(e())}catch(n){return t?w(t(n),{cause:n}):w(n)}}async function re(e,t){try{return R(await e)}catch(n){return t?w(t(n),{cause:n}):w(n)}}async function se(e,t){try{return R(await e())}catch(n){return t?w(t(n),{cause:n}):w(n)}}function oe(e,t){return e!=null?R(e):w(t())}function ue(e,t){return e.ok?R(t(e.value)):e}function ae(e,t){return e.ok?e:w(t(e.error),{cause:e.cause})}function pe(e,t){return e.ok?t.ok(e.value):t.err(e.error,e.cause)}function ie(e,t){return e.ok?t(e.value):e}function ce(e,t){return e.ok&&t(e.value),e}function le(e,t){return e.ok||t(e.error,e.cause),e}function Ee(e,t,n){if(!e.ok)return e;try{return R(t(e.value))}catch(p){return w(n(p),{cause:p})}}function ye(e,t,n){if(e.ok)return e;try{return w(t(e.error),{cause:e.cause})}catch(p){return w(n(p),{cause:p})}}function we(e){let t=[];for(let n of e){if(!n.ok)return n;t.push(n.value)}return R(t)}async function de(e){return e.length===0?R([]):new Promise(t=>{let n=!1,p=e.length,f=new Array(e.length);for(let x=0;x<e.length;x++){let v=x;Promise.resolve(e[v]).catch(E=>w({type:"PROMISE_REJECTED",cause:E},{cause:{type:"PROMISE_REJECTION",reason:E}})).then(E=>{if(!n){if(!E.ok){n=!0,t(E);return}f[v]=E.value,p--,p===0&&t(R(f))}})}})}function ke(e){let t=[],n=[];for(let p of e)p.ok?t.push(p.value):n.push({error:p.error,cause:p.cause});return n.length>0?w(n):R(t)}function fe(e){let t=[],n=[];for(let p of e)p.ok?t.push(p.value):n.push(p.error);return{values:t,errors:n}}function Te(e){if(e.length===0)return w({type:"EMPTY_INPUT",message:"any() requires at least one Result"});let t=null;for(let n of e){if(n.ok)return n;t||(t=n)}return t}async function Re(e){return e.length===0?w({type:"EMPTY_INPUT",message:"anyAsync() requires at least one Result"}):new Promise(t=>{let n=!1,p=e.length,f=null;for(let x of e)Promise.resolve(x).catch(v=>w({type:"PROMISE_REJECTED",cause:v},{cause:{type:"PROMISE_REJECTION",reason:v}})).then(v=>{if(!n){if(v.ok){n=!0,t(v);return}f||(f=v),p--,p===0&&t(f)}})})}async function me(e){let t=await Promise.all(e.map(f=>Promise.resolve(f).then(x=>({status:"result",result:x})).catch(x=>({status:"rejected",error:{type:"PROMISE_REJECTED",cause:x},cause:{type:"PROMISE_REJECTION",reason:x}})))),n=[],p=[];for(let f of t)f.status==="rejected"?p.push({error:f.error,cause:f.cause}):f.result.ok?n.push(f.result.value):p.push({error:f.result.error,cause:f.result.cause});return p.length>0?w(p):R(n)}function Ce(){let e=new Map;return{handleEvent:t=>{X(t)&&e.set(t.stepKey,{result:t.result,meta:t.meta})},getState:()=>({steps:new Map(e)}),clear:()=>e.clear()}}function xe(e){return typeof e=="object"&&e!==null&&e.__cachedMeta===!0}function V(e,t,n){return w(e,{cause:{__cachedMeta:!0,originalCause:n,meta:t}})}function L(e){return xe(e)?e.meta:{origin:"result",resultCause:e}}function Se(e,t){async function n(p,f){let x=typeof f=="function",v=x?p:void 0,E=x?f:p,h=crypto.randomUUID(),g=t?.createContext?.(),U=c=>{t?.onEvent?.(c,g)},I=Date.now(),k=performance.now();U({type:"workflow_start",workflowId:h,ts:I});let P=t?.resumeState,m=t?.cache;if(P&&!m&&(m=new Map),P&&m){let c=typeof P=="function"?await P():P;for(let[y,d]of c.steps){let{result:o,meta:u}=d;if(o.ok)m.set(y,o);else{let s=u??{origin:"result",resultCause:o.cause};m.set(y,V(o.error,s,o.cause))}}}let M=c=>typeof c=="string"?{name:c}:c??{},W=c=>{if(!m)return c;let y=async(d,o)=>{let{name:u,key:s}=M(o);if(s&&m.has(s)){U({type:"step_cache_hit",workflowId:h,stepKey:s,name:u,ts:Date.now()});let r=m.get(s);if(r.ok)return r.value;let i=L(r.cause);throw K(r.error,i)}s&&U({type:"step_cache_miss",workflowId:h,stepKey:s,name:u,ts:Date.now()});let l=typeof d=="function"?d:()=>d;try{let r=await c(l,o);return s&&m.set(s,R(r)),r}catch(r){if(s&&b(r)){let i=r,T=i.meta.origin==="result"?i.meta.resultCause:i.meta.thrown;m.set(s,V(i.error,i.meta,T))}throw r}};return y.try=async(d,o)=>{let{name:u,key:s}=o;if(s&&m.has(s)){U({type:"step_cache_hit",workflowId:h,stepKey:s,name:u,ts:Date.now()});let l=m.get(s);if(l.ok)return l.value;let r=L(l.cause);throw K(l.error,r)}s&&U({type:"step_cache_miss",workflowId:h,stepKey:s,name:u,ts:Date.now()});try{let l=await c.try(d,o);return s&&m.set(s,R(l)),l}catch(l){if(s&&b(l)){let r=l,i=r.meta.origin==="result"?r.meta.resultCause:r.meta.thrown;m.set(s,V(r.error,r.meta,i))}throw l}},y.fromResult=async(d,o)=>{let{name:u,key:s}=o;if(s&&m.has(s)){U({type:"step_cache_hit",workflowId:h,stepKey:s,name:u,ts:Date.now()});let l=m.get(s);if(l.ok)return l.value;let r=L(l.cause);throw K(l.error,r)}s&&U({type:"step_cache_miss",workflowId:h,stepKey:s,name:u,ts:Date.now()});try{let l=await c.fromResult(d,o);return s&&m.set(s,R(l)),l}catch(l){if(s&&b(l)){let r=l,i=r.meta.origin==="result"?r.meta.resultCause:r.meta.thrown;m.set(s,V(r.error,r.meta,i))}throw l}},y.parallel=c.parallel,y.race=c.race,y.allSettled=c.allSettled,y},j=x?c=>E(W(c),e,v):c=>E(W(c),e),a;if(t?.strict===!0){let c=t;a=await O.strict(j,{onError:c.onError,onEvent:c.onEvent,catchUnexpected:c.catchUnexpected,workflowId:h,context:g})}else{let c=t;a=await O(j,{onError:c?.onError??(()=>{}),onEvent:c?.onEvent,workflowId:h,context:g})}let A=performance.now()-k;return a.ok?U({type:"workflow_success",workflowId:h,ts:Date.now(),durationMs:A}):U({type:"workflow_error",workflowId:h,ts:Date.now(),durationMs:A,error:a.error}),a}return n}function X(e){return e.type==="step_complete"}function F(e){return typeof e=="object"&&e!==null&&e.type==="PENDING_APPROVAL"}function ge(e){return typeof e=="object"&&e!==null&&e.type==="APPROVAL_REJECTED"}function Ae(e,t){return w({type:"PENDING_APPROVAL",stepKey:e,reason:t?.reason,metadata:t?.metadata})}function ve(e){return async()=>{let t=await e.checkApproval();switch(t.status){case"pending":return w({type:"PENDING_APPROVAL",stepKey:e.key,reason:e.pendingReason,metadata:e.metadata});case"rejected":return w({type:"APPROVAL_REJECTED",stepKey:e.key,reason:t.reason});case"approved":return R(t.value)}}}function he(e,t){let n=new Map(e.steps);return n.set(t.stepKey,{result:R(t.value)}),{steps:n}}function Pe(e,t){let n=new Map(e.steps);return n.delete(t),{steps:n}}function Ue(e,t){let n=e.steps.get(t);return!n||n.result.ok?!1:F(n.result.error)}function _e(e){let t=[];for(let[n,p]of e.steps)!p.result.ok&&F(p.result.error)&&t.push(n);return t}function De(){let e=new Map;return{handleEvent:t=>{X(t)&&e.set(t.stepKey,{result:t.result,meta:t.meta})},getState:()=>({steps:new Map(e)}),clear:()=>e.clear(),hasPendingApprovals:()=>{for(let t of e.values())if(!t.result.ok&&F(t.result.error))return!0;return!1},getPendingApprovals:()=>{let t=[];for(let[n,p]of e)!p.result.ok&&F(p.result.error)&&t.push({stepKey:n,error:p.result.error});return t},injectApproval:(t,n)=>(e.set(t,{result:R(n)}),{steps:new Map(e)})}}export{N as UnwrapError,we as all,de as allAsync,ke as allSettled,me as allSettledAsync,ie as andThen,Te as any,Re as anyAsync,Pe as clearStep,ve as createApprovalStep,De as createHITLCollector,Ce as createStepCollector,Se as createWorkflow,w as err,ne as from,oe as fromNullable,re as fromPromise,_e as getPendingApprovals,Ue as hasPendingApproval,he as injectApproval,ge as isApprovalRejected,q as isErr,H as isOk,F as isPendingApproval,X as isStepComplete,J as isUnexpectedError,ue as map,ae as mapError,ye as mapErrorTry,Ee as mapTry,pe as match,R as ok,fe as partition,Ae as pendingApproval,O as run,ce as tap,le as tapError,se as tryAsync,Z as unwrap,ee as unwrapOr,te as unwrapOrElse};
|
|
1
|
+
var g=e=>({ok:!0,value:e}),T=(e,t)=>({ok:!1,error:e,...t?.cause!==void 0?{cause:t.cause}:{}}),Ee=e=>e.ok,ye=e=>!e.ok,ae=e=>typeof e=="object"&&e!==null&&e.type==="UNEXPECTED_ERROR",I=Symbol.for("step_timeout_marker");function ee(e){return typeof e!="object"||e===null?!1:e.type==="STEP_TIMEOUT"?!0:I in e}function ue(e){if(!(typeof e!="object"||e===null)){if(e.type==="STEP_TIMEOUT"){let t=e;return{timeoutMs:t.timeoutMs,stepName:t.stepName,stepKey:t.stepKey,attempt:t.attempt}}if(I in e)return e[I]}}var pe=Symbol("early-exit");function V(e,t){return{[pe]:!0,error:e,meta:t}}function L(e){return typeof e=="object"&&e!==null&&e[pe]===!0}var ie=Symbol("mapper-exception");function me(e){return{[ie]:!0,thrown:e}}function we(e){return typeof e=="object"&&e!==null&&e[ie]===!0}function de(e){return typeof e=="string"?{name:e}:e??{}}function Q(e,t){let{backoff:n,initialDelay:p,maxDelay:f,jitter:A}=t,k;switch(n){case"fixed":k=p;break;case"linear":k=p*e;break;case"exponential":k=p*Math.pow(2,e-1);break}if(k=Math.min(k,f),A){let i=k*.25*Math.random();k=k+i}return Math.floor(k)}function Z(e){return new Promise(t=>setTimeout(t,e))}var oe=Symbol("timeout");async function Te(e,t,n){let p=new AbortController,f=t.error??{type:"STEP_TIMEOUT",stepName:n.name,stepKey:n.key,timeoutMs:t.ms,attempt:n.attempt},A,k=new Promise((v,R)=>{A=setTimeout(()=>{p.abort(),R({[oe]:!0,error:f})},t.ms)}),i;t.signal?i=Promise.resolve(e(p.signal)):i=Promise.resolve(e());try{return await Promise.race([i,k])}catch(v){if(typeof v=="object"&&v!==null&&v[oe]===!0){let R=v.error;if(typeof R=="object"&&R!==null&&R.type!=="STEP_TIMEOUT"){let O={timeoutMs:t.ms,stepName:n.name,stepKey:n.key,attempt:n.attempt};I in R?R[I]=O:Object.defineProperty(R,I,{value:O,enumerable:!1,writable:!0,configurable:!1})}throw R}throw v}finally{clearTimeout(A)}}var j={backoff:"exponential",initialDelay:100,maxDelay:3e4,jitter:!0,retryOn:()=>!0,onRetry:()=>{}};async function F(e,t){let{onError:n,onEvent:p,catchUnexpected:f,workflowId:A,context:k}=t&&typeof t=="object"?t:{},i=A??crypto.randomUUID(),v=!n&&!f,R=[],O=0,W=u=>u??`step_${++O}`,w=u=>{if(u.type==="step_success"){let _=u.stepId;for(let m=R.length-1;m>=0;m--){let y=R[m];if(y.type==="race"&&!y.winnerId){y.winnerId=_;break}}}p?.(u,k)},b=V,h=u=>L(u),N=(u,_)=>v?_?.origin==="result"?{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"result",error:u,..._.resultCause!==void 0?{cause:_.resultCause}:{}}}:_?.origin==="throw"?{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"throw",error:u,thrown:_.thrown}}:{type:"UNEXPECTED_ERROR",cause:{type:"STEP_FAILURE",origin:"result",error:u}}:u,G=u=>u.origin==="result"?u.resultCause:u.thrown,J=u=>({type:"UNEXPECTED_ERROR",cause:u.meta.origin==="result"?{type:"STEP_FAILURE",origin:"result",error:u.error,...u.meta.resultCause!==void 0?{cause:u.meta.resultCause}:{}}:{type:"STEP_FAILURE",origin:"throw",error:u.error,thrown:u.meta.thrown}});try{let u=(y,c)=>(async()=>{let o=de(c),{name:a,key:r,retry:l,timeout:s}=o,E=W(r),S=p,C=S?performance.now():0;if(!(typeof y=="function")){if(l&&l.attempts>1)throw new Error("step: retry options require a function operation. Direct Promise/Result values cannot be re-executed on retry. Wrap your operation in a function: step(() => yourOperation, { retry: {...} })");if(s)throw new Error("step: timeout options require a function operation. Direct Promise/Result values cannot be wrapped with timeout after they've started. Wrap your operation in a function: step(() => yourOperation, { timeout: {...} })")}let P={attempts:Math.max(1,l?.attempts??1),backoff:l?.backoff??j.backoff,initialDelay:l?.initialDelay??j.initialDelay,maxDelay:l?.maxDelay??j.maxDelay,jitter:l?.jitter??j.jitter,retryOn:l?.retryOn??j.retryOn,onRetry:l?.onRetry??j.onRetry};p&&w({type:"step_start",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now()});let re;for(let x=1;x<=P.attempts;x++){let le=S?performance.now():0;try{let d;if(typeof y=="function"?s?d=await Te(y,s,{name:a,key:r,attempt:x}):d=await y():d=await y,d.ok){let M=performance.now()-C;return w({type:"step_success",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),durationMs:M}),r&&w({type:"step_complete",workflowId:i,stepKey:r,name:a,ts:Date.now(),durationMs:M,result:d}),d.value}if(re=d,x<P.attempts&&P.retryOn(d.error,x)){let M=Q(x,P);w({type:"step_retry",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),attempt:x+1,maxAttempts:P.attempts,delayMs:M,error:d.error}),P.onRetry(d.error,x,M),await Z(M);continue}P.attempts>1&&w({type:"step_retries_exhausted",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),durationMs:performance.now()-C,attempts:x,lastError:d.error});break}catch(d){let M=performance.now()-le;if(h(d))throw w({type:"step_aborted",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),durationMs:M}),d;if(ee(d)){let D=ue(d),H=s?.ms??D?.timeoutMs??0;if(w({type:"step_timeout",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),timeoutMs:H,attempt:x}),x<P.attempts&&P.retryOn(d,x)){let z=Q(x,P);w({type:"step_retry",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),attempt:x+1,maxAttempts:P.attempts,delayMs:z,error:d}),P.onRetry(d,x,z),await Z(z);continue}P.attempts>1&&w({type:"step_retries_exhausted",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),durationMs:performance.now()-C,attempts:x,lastError:d})}if(x<P.attempts&&P.retryOn(d,x)){let D=Q(x,P);w({type:"step_retry",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),attempt:x+1,maxAttempts:P.attempts,delayMs:D,error:d}),P.onRetry(d,x,D),await Z(D);continue}P.attempts>1&&!ee(d)&&w({type:"step_retries_exhausted",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),durationMs:performance.now()-C,attempts:x,lastError:d});let B=performance.now()-C;if(f){let D;try{D=f(d)}catch(H){throw me(H)}throw w({type:"step_error",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),durationMs:B,error:D}),r&&w({type:"step_complete",workflowId:i,stepKey:r,name:a,ts:Date.now(),durationMs:B,result:T(D,{cause:d}),meta:{origin:"throw",thrown:d}}),n?.(D,a),b(D,{origin:"throw",thrown:d})}else{let D={type:"UNEXPECTED_ERROR",cause:{type:"UNCAUGHT_EXCEPTION",thrown:d}};throw w({type:"step_error",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),durationMs:B,error:D}),r&&w({type:"step_complete",workflowId:i,stepKey:r,name:a,ts:Date.now(),durationMs:B,result:T(D,{cause:d}),meta:{origin:"throw",thrown:d}}),d}}}let U=re,se=performance.now()-C,ce=N(U.error,{origin:"result",resultCause:U.cause});throw w({type:"step_error",workflowId:i,stepId:E,stepKey:r,name:a,ts:Date.now(),durationMs:se,error:ce}),r&&w({type:"step_complete",workflowId:i,stepKey:r,name:a,ts:Date.now(),durationMs:se,result:U,meta:{origin:"result",resultCause:U.cause}}),n?.(U.error,a),b(U.error,{origin:"result",resultCause:U.cause})})();u.try=(y,c)=>{let o=c.name,a=c.key,r=W(a),l="error"in c?()=>c.error:c.onError,s=p;return(async()=>{let E=s?performance.now():0;p&&w({type:"step_start",workflowId:i,stepId:r,stepKey:a,name:o,ts:Date.now()});try{let S=await y(),C=performance.now()-E;return w({type:"step_success",workflowId:i,stepId:r,stepKey:a,name:o,ts:Date.now(),durationMs:C}),a&&w({type:"step_complete",workflowId:i,stepKey:a,name:o,ts:Date.now(),durationMs:C,result:g(S)}),S}catch(S){let C=l(S),K=performance.now()-E,Y=N(C,{origin:"throw",thrown:S});throw w({type:"step_error",workflowId:i,stepId:r,stepKey:a,name:o,ts:Date.now(),durationMs:K,error:Y}),a&&w({type:"step_complete",workflowId:i,stepKey:a,name:o,ts:Date.now(),durationMs:K,result:T(C,{cause:S}),meta:{origin:"throw",thrown:S}}),n?.(C,o),b(C,{origin:"throw",thrown:S})}})()},u.fromResult=(y,c)=>{let o=c.name,a=c.key,r=W(a),l="error"in c?()=>c.error:c.onError,s=p;return(async()=>{let E=s?performance.now():0;p&&w({type:"step_start",workflowId:i,stepId:r,stepKey:a,name:o,ts:Date.now()});let S=await y();if(S.ok){let C=performance.now()-E;return w({type:"step_success",workflowId:i,stepId:r,stepKey:a,name:o,ts:Date.now(),durationMs:C}),a&&w({type:"step_complete",workflowId:i,stepKey:a,name:o,ts:Date.now(),durationMs:C,result:g(S.value)}),S.value}else{let C=l(S.error),K=performance.now()-E,Y=N(C,{origin:"result",resultCause:S.error});throw w({type:"step_error",workflowId:i,stepId:r,stepKey:a,name:o,ts:Date.now(),durationMs:K,error:Y}),a&&w({type:"step_complete",workflowId:i,stepKey:a,name:o,ts:Date.now(),durationMs:K,result:T(C,{cause:S.error}),meta:{origin:"result",resultCause:S.error}}),n?.(C,o),b(C,{origin:"result",resultCause:S.error})}})()},u.retry=(y,c)=>u(y,{name:c.name,key:c.key,retry:{attempts:c.attempts,backoff:c.backoff,initialDelay:c.initialDelay,maxDelay:c.maxDelay,jitter:c.jitter,retryOn:c.retryOn,onRetry:c.onRetry},timeout:c.timeout}),u.withTimeout=(y,c)=>u(y,{name:c.name,key:c.key,timeout:c}),u.parallel=(y,c)=>{let o=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let a=performance.now(),r=!1;R.push({scopeId:o,type:"parallel"});let l=()=>{if(r)return;r=!0;let s=R.findIndex(E=>E.scopeId===o);s!==-1&&R.splice(s,1),w({type:"scope_end",workflowId:i,scopeId:o,ts:Date.now(),durationMs:performance.now()-a})};w({type:"scope_start",workflowId:i,scopeId:o,scopeType:"parallel",name:y,ts:Date.now()});try{let s=await c();if(l(),!s.ok)throw n?.(s.error,y),b(s.error,{origin:"result",resultCause:s.cause});return s.value}catch(s){throw l(),s}})()},u.race=(y,c)=>{let o=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let a=performance.now(),r=!1,l={scopeId:o,type:"race",winnerId:void 0};R.push(l);let s=()=>{if(r)return;r=!0;let E=R.findIndex(S=>S.scopeId===o);E!==-1&&R.splice(E,1),w({type:"scope_end",workflowId:i,scopeId:o,ts:Date.now(),durationMs:performance.now()-a,winnerId:l.winnerId})};w({type:"scope_start",workflowId:i,scopeId:o,scopeType:"race",name:y,ts:Date.now()});try{let E=await c();if(s(),!E.ok)throw n?.(E.error,y),b(E.error,{origin:"result",resultCause:E.cause});return E.value}catch(E){throw s(),E}})()},u.allSettled=(y,c)=>{let o=`scope_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return(async()=>{let a=performance.now(),r=!1;R.push({scopeId:o,type:"allSettled"});let l=()=>{if(r)return;r=!0;let s=R.findIndex(E=>E.scopeId===o);s!==-1&&R.splice(s,1),w({type:"scope_end",workflowId:i,scopeId:o,ts:Date.now(),durationMs:performance.now()-a})};w({type:"scope_start",workflowId:i,scopeId:o,scopeType:"allSettled",name:y,ts:Date.now()});try{let s=await c();if(l(),!s.ok)throw n?.(s.error,y),b(s.error,{origin:"result",resultCause:s.cause});return s.value}catch(s){throw l(),s}})()};let m=await e(u);return g(m)}catch(u){if(we(u))throw u.thrown;if(h(u)){let m=G(u.meta);if(f||n)return T(u.error,{cause:m});if(ae(u.error))return T(u.error,{cause:m});let y=J(u);return T(y,{cause:m})}if(f){let m=f(u);return n?.(m,"unexpected"),T(m,{cause:u})}let _={type:"UNEXPECTED_ERROR",cause:{type:"UNCAUGHT_EXCEPTION",thrown:u}};return n?.(_,"unexpected"),T(_,{cause:u})}}F.strict=(e,t)=>F(e,t);var q=class extends Error{constructor(n,p){super(`Unwrap called on an error result: ${String(n)}`);this.error=n;this.cause=p;this.name="UnwrapError"}},fe=e=>{if(e.ok)return e.value;throw new q(e.error,e.cause)},ke=(e,t)=>e.ok?e.value:t,Re=(e,t)=>e.ok?e.value:t(e.error,e.cause);function Se(e,t){try{return g(e())}catch(n){return t?T(t(n),{cause:n}):T(n)}}async function Ce(e,t){try{return g(await e)}catch(n){return t?T(t(n),{cause:n}):T(n)}}async function xe(e,t){try{return g(await e())}catch(n){return t?T(t(n),{cause:n}):T(n)}}function ge(e,t){return e!=null?g(e):T(t())}function Ae(e,t){return e.ok?g(t(e.value)):e}function ve(e,t){return e.ok?e:T(t(e.error),{cause:e.cause})}function he(e,t){return e.ok?t.ok(e.value):t.err(e.error,e.cause)}function Pe(e,t){return e.ok?t(e.value):e}function Oe(e,t){return e.ok&&t(e.value),e}function _e(e,t){return e.ok||t(e.error,e.cause),e}function De(e,t,n){if(!e.ok)return e;try{return g(t(e.value))}catch(p){return T(n(p),{cause:p})}}function be(e,t,n){if(e.ok)return e;try{return T(t(e.error),{cause:e.cause})}catch(p){return T(n(p),{cause:p})}}function Me(e){let t=[];for(let n of e){if(!n.ok)return n;t.push(n.value)}return g(t)}async function Ue(e){return e.length===0?g([]):new Promise(t=>{let n=!1,p=e.length,f=new Array(e.length);for(let A=0;A<e.length;A++){let k=A;Promise.resolve(e[k]).catch(i=>T({type:"PROMISE_REJECTED",cause:i},{cause:{type:"PROMISE_REJECTION",reason:i}})).then(i=>{if(!n){if(!i.ok){n=!0,t(i);return}f[k]=i.value,p--,p===0&&t(g(f))}})}})}function Ie(e){let t=[],n=[];for(let p of e)p.ok?t.push(p.value):n.push({error:p.error,cause:p.cause});return n.length>0?T(n):g(t)}function Ke(e){let t=[],n=[];for(let p of e)p.ok?t.push(p.value):n.push(p.error);return{values:t,errors:n}}function je(e){if(e.length===0)return T({type:"EMPTY_INPUT",message:"any() requires at least one Result"});let t=null;for(let n of e){if(n.ok)return n;t||(t=n)}return t}async function Fe(e){return e.length===0?T({type:"EMPTY_INPUT",message:"anyAsync() requires at least one Result"}):new Promise(t=>{let n=!1,p=e.length,f=null;for(let A of e)Promise.resolve(A).catch(k=>T({type:"PROMISE_REJECTED",cause:k},{cause:{type:"PROMISE_REJECTION",reason:k}})).then(k=>{if(!n){if(k.ok){n=!0,t(k);return}f||(f=k),p--,p===0&&t(f)}})})}async function We(e){let t=await Promise.all(e.map(f=>Promise.resolve(f).then(A=>({status:"result",result:A})).catch(A=>({status:"rejected",error:{type:"PROMISE_REJECTED",cause:A},cause:{type:"PROMISE_REJECTION",reason:A}})))),n=[],p=[];for(let f of t)f.status==="rejected"?p.push({error:f.error,cause:f.cause}):f.result.ok?n.push(f.result.value):p.push({error:f.result.error,cause:f.result.cause});return p.length>0?T(p):g(n)}function Ne(){let e=new Map;return{handleEvent:t=>{ne(t)&&e.set(t.stepKey,{result:t.result,meta:t.meta})},getState:()=>({steps:new Map(e)}),clear:()=>e.clear()}}function Ve(e){return typeof e=="object"&&e!==null&&e.__cachedMeta===!0}function $(e,t,n){return T(e,{cause:{__cachedMeta:!0,originalCause:n,meta:t}})}function te(e){return Ve(e)?e.meta:{origin:"result",resultCause:e}}function Le(e,t){async function n(p,f){let A=typeof f=="function",k=A?p:void 0,i=A?f:p,v=crypto.randomUUID(),R=t?.createContext?.(),O=m=>{t?.onEvent?.(m,R)},W=Date.now(),w=performance.now();O({type:"workflow_start",workflowId:v,ts:W});let b=t?.resumeState,h=t?.cache;if(b&&!h&&(h=new Map),b&&h){let m=typeof b=="function"?await b():b;for(let[y,c]of m.steps){let{result:o,meta:a}=c;if(o.ok)h.set(y,o);else{let r=a??{origin:"result",resultCause:o.cause};h.set(y,$(o.error,r,o.cause))}}}let N=m=>typeof m=="string"?{name:m}:m??{},G=m=>{if(!h)return m;let y=async(c,o)=>{let{name:a,key:r}=N(o);if(r&&h.has(r)){O({type:"step_cache_hit",workflowId:v,stepKey:r,name:a,ts:Date.now()});let s=h.get(r);if(s.ok)return s.value;let E=te(s.cause);throw V(s.error,E)}r&&O({type:"step_cache_miss",workflowId:v,stepKey:r,name:a,ts:Date.now()});let l=typeof c=="function"?c:()=>c;try{let s=await m(l,o);return r&&h.set(r,g(s)),s}catch(s){if(r&&L(s)){let E=s,S=E.meta.origin==="result"?E.meta.resultCause:E.meta.thrown;h.set(r,$(E.error,E.meta,S))}throw s}};return y.try=async(c,o)=>{let{name:a,key:r}=o;if(r&&h.has(r)){O({type:"step_cache_hit",workflowId:v,stepKey:r,name:a,ts:Date.now()});let l=h.get(r);if(l.ok)return l.value;let s=te(l.cause);throw V(l.error,s)}r&&O({type:"step_cache_miss",workflowId:v,stepKey:r,name:a,ts:Date.now()});try{let l=await m.try(c,o);return r&&h.set(r,g(l)),l}catch(l){if(r&&L(l)){let s=l,E=s.meta.origin==="result"?s.meta.resultCause:s.meta.thrown;h.set(r,$(s.error,s.meta,E))}throw l}},y.fromResult=async(c,o)=>{let{name:a,key:r}=o;if(r&&h.has(r)){O({type:"step_cache_hit",workflowId:v,stepKey:r,name:a,ts:Date.now()});let l=h.get(r);if(l.ok)return l.value;let s=te(l.cause);throw V(l.error,s)}r&&O({type:"step_cache_miss",workflowId:v,stepKey:r,name:a,ts:Date.now()});try{let l=await m.fromResult(c,o);return r&&h.set(r,g(l)),l}catch(l){if(r&&L(l)){let s=l,E=s.meta.origin==="result"?s.meta.resultCause:s.meta.thrown;h.set(r,$(s.error,s.meta,E))}throw l}},y.parallel=m.parallel,y.race=m.race,y.allSettled=m.allSettled,y.retry=(c,o)=>y(c,{name:o.name,key:o.key,retry:{attempts:o.attempts,backoff:o.backoff,initialDelay:o.initialDelay,maxDelay:o.maxDelay,jitter:o.jitter,retryOn:o.retryOn,onRetry:o.onRetry},timeout:o.timeout}),y.withTimeout=(c,o)=>y(c,{name:o.name,key:o.key,timeout:o}),y},J=A?m=>i(G(m),e,k):m=>i(G(m),e),u;if(t?.strict===!0){let m=t;u=await F.strict(J,{onError:m.onError,onEvent:m.onEvent,catchUnexpected:m.catchUnexpected,workflowId:v,context:R})}else{let m=t;u=await F(J,{onError:m?.onError??(()=>{}),onEvent:m?.onEvent,workflowId:v,context:R})}let _=performance.now()-w;return u.ok?O({type:"workflow_success",workflowId:v,ts:Date.now(),durationMs:_}):O({type:"workflow_error",workflowId:v,ts:Date.now(),durationMs:_,error:u.error}),u}return n}function ne(e){return e.type==="step_complete"}function X(e){return typeof e=="object"&&e!==null&&e.type==="PENDING_APPROVAL"}function Xe(e){return typeof e=="object"&&e!==null&&e.type==="APPROVAL_REJECTED"}function Ge(e,t){return T({type:"PENDING_APPROVAL",stepKey:e,reason:t?.reason,metadata:t?.metadata})}function Je(e){return async()=>{let t=await e.checkApproval();switch(t.status){case"pending":return T({type:"PENDING_APPROVAL",stepKey:e.key,reason:e.pendingReason,metadata:e.metadata});case"rejected":return T({type:"APPROVAL_REJECTED",stepKey:e.key,reason:t.reason});case"approved":return g(t.value)}}}function Ye(e,t){let n=new Map(e.steps);return n.set(t.stepKey,{result:g(t.value)}),{steps:n}}function Be(e,t){let n=new Map(e.steps);return n.delete(t),{steps:n}}function qe(e,t){let n=e.steps.get(t);return!n||n.result.ok?!1:X(n.result.error)}function $e(e){let t=[];for(let[n,p]of e.steps)!p.result.ok&&X(p.result.error)&&t.push(n);return t}function He(){let e=new Map;return{handleEvent:t=>{ne(t)&&e.set(t.stepKey,{result:t.result,meta:t.meta})},getState:()=>({steps:new Map(e)}),clear:()=>e.clear(),hasPendingApprovals:()=>{for(let t of e.values())if(!t.result.ok&&X(t.result.error))return!0;return!1},getPendingApprovals:()=>{let t=[];for(let[n,p]of e)!p.result.ok&&X(p.result.error)&&t.push({stepKey:n,error:p.result.error});return t},injectApproval:(t,n)=>(e.set(t,{result:g(n)}),{steps:new Map(e)})}}export{I as STEP_TIMEOUT_MARKER,q as UnwrapError,Me as all,Ue as allAsync,Ie as allSettled,We as allSettledAsync,Pe as andThen,je as any,Fe as anyAsync,Be as clearStep,Je as createApprovalStep,He as createHITLCollector,Ne as createStepCollector,Le as createWorkflow,T as err,Se as from,ge as fromNullable,Ce as fromPromise,$e as getPendingApprovals,ue as getStepTimeoutMeta,qe as hasPendingApproval,Ye as injectApproval,Xe as isApprovalRejected,ye as isErr,Ee as isOk,X as isPendingApproval,ne as isStepComplete,ee as isStepTimeoutError,ae as isUnexpectedError,Ae as map,ve as mapError,be as mapErrorTry,De as mapTry,he as match,g as ok,Ke as partition,Ge as pendingApproval,F as run,Oe as tap,_e as tapError,xe as tryAsync,fe as unwrap,ke as unwrapOr,Re as unwrapOrElse};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|