@effect/workflow 0.4.12 → 0.4.14
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/cjs/Workflow.js +47 -8
- package/dist/cjs/Workflow.js.map +1 -1
- package/dist/cjs/WorkflowEngine.js.map +1 -1
- package/dist/dts/Workflow.d.ts +17 -0
- package/dist/dts/Workflow.d.ts.map +1 -1
- package/dist/dts/WorkflowEngine.d.ts +5 -0
- package/dist/dts/WorkflowEngine.d.ts.map +1 -1
- package/dist/esm/Workflow.js +46 -8
- package/dist/esm/Workflow.js.map +1 -1
- package/dist/esm/WorkflowEngine.js.map +1 -1
- package/package.json +4 -4
- package/src/Workflow.ts +59 -7
- package/src/WorkflowEngine.ts +9 -0
package/dist/cjs/Workflow.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.wrapActivityResult = exports.withCompensation = exports.make = exports.isResult = exports.intoResult = exports.fromTaggedRequest = exports.TypeId = exports.Suspended = exports.ResultTypeId = exports.Result = exports.Complete = exports.CaptureDefects = void 0;
|
|
6
|
+
exports.wrapActivityResult = exports.withCompensation = exports.make = exports.isResult = exports.intoResult = exports.fromTaggedRequest = exports.TypeId = exports.Suspended = exports.SuspendOnFailure = exports.ResultTypeId = exports.Result = exports.Complete = exports.CaptureDefects = void 0;
|
|
7
7
|
var Cause = _interopRequireWildcard(require("effect/Cause"));
|
|
8
8
|
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
9
9
|
var Data = _interopRequireWildcard(require("effect/Data"));
|
|
@@ -11,6 +11,7 @@ var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
|
11
11
|
var Exit = _interopRequireWildcard(require("effect/Exit"));
|
|
12
12
|
var _Function = require("effect/Function");
|
|
13
13
|
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
14
|
+
var Option = _interopRequireWildcard(require("effect/Option"));
|
|
14
15
|
var Predicate = _interopRequireWildcard(require("effect/Predicate"));
|
|
15
16
|
var PrimaryKey = _interopRequireWildcard(require("effect/PrimaryKey"));
|
|
16
17
|
var Schedule = _interopRequireWildcard(require("effect/Schedule"));
|
|
@@ -69,14 +70,25 @@ const make = options => {
|
|
|
69
70
|
discard: true
|
|
70
71
|
});
|
|
71
72
|
}
|
|
73
|
+
const parentInstance = yield* Effect.serviceOption(InstanceTag);
|
|
74
|
+
const run = engine.execute({
|
|
75
|
+
workflow: self,
|
|
76
|
+
executionId,
|
|
77
|
+
payload,
|
|
78
|
+
discard: false,
|
|
79
|
+
parent: Option.getOrUndefined(parentInstance)
|
|
80
|
+
});
|
|
81
|
+
if (Option.isSome(parentInstance)) {
|
|
82
|
+
const result = yield* wrapActivityResult(run, result => result._tag === "Suspended");
|
|
83
|
+
if (result._tag === "Suspended") {
|
|
84
|
+
parentInstance.value.suspended = true;
|
|
85
|
+
return yield* Effect.interrupt;
|
|
86
|
+
}
|
|
87
|
+
return yield* result.exit;
|
|
88
|
+
}
|
|
72
89
|
let sleep;
|
|
73
90
|
while (true) {
|
|
74
|
-
const result = yield*
|
|
75
|
-
workflow: self,
|
|
76
|
-
executionId,
|
|
77
|
-
payload,
|
|
78
|
-
discard: false
|
|
79
|
-
});
|
|
91
|
+
const result = yield* run;
|
|
80
92
|
if (result._tag === "Complete") {
|
|
81
93
|
return yield* result.exit;
|
|
82
94
|
}
|
|
@@ -95,6 +107,15 @@ const make = options => {
|
|
|
95
107
|
executionId
|
|
96
108
|
}
|
|
97
109
|
})),
|
|
110
|
+
resume: Effect.fnUntraced(function* (executionId) {
|
|
111
|
+
const engine = yield* EngineTag;
|
|
112
|
+
yield* engine.resume(self, executionId);
|
|
113
|
+
}, (effect, executionId) => Effect.withSpan(effect, `${options.name}.resume`, {
|
|
114
|
+
captureStackTrace: false,
|
|
115
|
+
attributes: {
|
|
116
|
+
executionId
|
|
117
|
+
}
|
|
118
|
+
})),
|
|
98
119
|
toLayer: execute => Layer.effectContext(Effect.gen(function* () {
|
|
99
120
|
const context = yield* Effect.context();
|
|
100
121
|
const engine = Context.get(context, EngineTag);
|
|
@@ -201,7 +222,11 @@ exports.Result = Result;
|
|
|
201
222
|
const intoResult = effect => Effect.contextWithEffect(context => {
|
|
202
223
|
const instance = Context.get(context, InstanceTag);
|
|
203
224
|
const captureDefects = Context.get(instance.workflow.annotations, CaptureDefects);
|
|
204
|
-
|
|
225
|
+
const suspendOnFailure = Context.get(instance.workflow.annotations, SuspendOnFailure);
|
|
226
|
+
return Effect.uninterruptibleMask(restore => restore(effect).pipe(suspendOnFailure ? Effect.catchAllCause(() => {
|
|
227
|
+
instance.suspended = true;
|
|
228
|
+
return Effect.interrupt;
|
|
229
|
+
}) : _Function.identity, Effect.scoped, Effect.matchCauseEffect({
|
|
205
230
|
onSuccess: value => Effect.succeed(new Complete({
|
|
206
231
|
exit: Exit.succeed(value)
|
|
207
232
|
})),
|
|
@@ -254,5 +279,19 @@ const withCompensation = exports.withCompensation = /*#__PURE__*/(0, _Function.d
|
|
|
254
279
|
class CaptureDefects extends /*#__PURE__*/Context.Reference()("@effect/workflow/Workflow/CaptureDefects", {
|
|
255
280
|
defaultValue: _Function.constTrue
|
|
256
281
|
}) {}
|
|
282
|
+
/**
|
|
283
|
+
* If you set this annotation to `true` for a workflow, it will suspend if it
|
|
284
|
+
* encounters any kind of error.
|
|
285
|
+
*
|
|
286
|
+
* You can then manually resume the workflow later with
|
|
287
|
+
* `Workflow.resume(executionId)`.
|
|
288
|
+
*
|
|
289
|
+
* @since 1.0.0
|
|
290
|
+
* @category Annotations
|
|
291
|
+
*/
|
|
257
292
|
exports.CaptureDefects = CaptureDefects;
|
|
293
|
+
class SuspendOnFailure extends /*#__PURE__*/Context.Reference()("@effect/workflow/Workflow/SuspendOnFailure", {
|
|
294
|
+
defaultValue: _Function.constFalse
|
|
295
|
+
}) {}
|
|
296
|
+
exports.SuspendOnFailure = SuspendOnFailure;
|
|
258
297
|
//# sourceMappingURL=Workflow.js.map
|
package/dist/cjs/Workflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.js","names":["Cause","_interopRequireWildcard","require","Context","Data","Effect","Exit","_Function","Layer","Predicate","PrimaryKey","Schedule","Schema","_crypto","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","EngineTag","GenericTag","InstanceTag","make","options","suspendedRetrySchedule","defaultRetrySchedule","makeExecutionId","payload","makeHashDigest","name","idempotencyKey","self","payloadSchema","isSchema","Struct","successSchema","success","Void","errorSchema","error","Never","annotations","empty","annotate","tag","value","add","annotateContext","context","merge","execute","fnUntraced","fields","opts","engine","executionId","annotateCurrentSpan","discard","workflow","sleep","result","_tag","exit","driver","next","pipe","catchAll","dieMessage","withSpan","captureStackTrace","interrupt","effect","attributes","toLayer","effectContext","gen","register","mapInputContext","input","withCompensation","exponential","union","spaced","fromTaggedRequest","schema","failure","ResultTypeId","isResult","u","hasProperty","Complete","TaggedClass","SchemaFromSelf","_options","declare","SchemaEncoded","defect","Defect","transform","decode","fromA","encode","toI","Suspended","Result","Union","intoResult","contextWithEffect","instance","captureDefects","CaptureDefects","uninterruptibleMask","restore","scoped","matchCauseEffect","onSuccess","succeed","onFailure","cause","suspended","isDie","failCause","wrapActivityResult","isSuspend","state","activityState","count","latch","await","andThen","yieldNow","unsafeClose","onExit","isSuspended","isSuccess","open","void","dual","compensation","tap","addFinalizer","Reference","defaultValue","constTrue"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Workflow.js","names":["Cause","_interopRequireWildcard","require","Context","Data","Effect","Exit","_Function","Layer","Option","Predicate","PrimaryKey","Schedule","Schema","_crypto","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","EngineTag","GenericTag","InstanceTag","make","options","suspendedRetrySchedule","defaultRetrySchedule","makeExecutionId","payload","makeHashDigest","name","idempotencyKey","self","payloadSchema","isSchema","Struct","successSchema","success","Void","errorSchema","error","Never","annotations","empty","annotate","tag","value","add","annotateContext","context","merge","execute","fnUntraced","fields","opts","engine","executionId","annotateCurrentSpan","discard","workflow","parentInstance","serviceOption","run","parent","getOrUndefined","isSome","result","wrapActivityResult","_tag","suspended","interrupt","exit","sleep","driver","next","pipe","catchAll","dieMessage","withSpan","captureStackTrace","effect","attributes","resume","toLayer","effectContext","gen","register","mapInputContext","input","withCompensation","exponential","union","spaced","fromTaggedRequest","schema","failure","ResultTypeId","isResult","u","hasProperty","Complete","TaggedClass","SchemaFromSelf","_options","declare","SchemaEncoded","defect","Defect","transform","decode","fromA","encode","toI","Suspended","Result","Union","intoResult","contextWithEffect","instance","captureDefects","CaptureDefects","suspendOnFailure","SuspendOnFailure","uninterruptibleMask","restore","catchAllCause","identity","scoped","matchCauseEffect","onSuccess","succeed","onFailure","cause","isDie","failCause","isSuspend","state","activityState","count","latch","await","andThen","yieldNow","unsafeClose","onExit","isSuspended","isSuccess","open","void","dual","compensation","tap","addFinalizer","Reference","defaultValue","constTrue","constFalse"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,IAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAR,uBAAA,CAAAC,OAAA;AAEA,IAAAQ,SAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,UAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,QAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,MAAA,GAAAZ,uBAAA,CAAAC,OAAA;AAGA,IAAAY,OAAA,GAAAZ,OAAA;AAAqD,SAAAD,wBAAAc,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAhB,uBAAA,YAAAA,CAAAc,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAlBrD;;;;AAqBA;;;;AAIO,MAAMkB,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAkBE,MAAM,CAACC,GAAG,CAAC,2BAA2B,CAAC;AAiL5E,MAAMC,SAAS,gBAAGnC,OAAO,CAACoC,UAAU,CAClC,iCAAqE,CACtE;AAED,MAAMC,WAAW,gBAAGrC,OAAO,CAACoC,UAAU,CACpC,kDAAwF,CACzF;AAED;;;;AAIO,MAAME,IAAI,GAMfC,OAUC,IAC0G;EAC3G,MAAMC,sBAAsB,GAAGD,OAAO,CAACC,sBAAsB,IAAIC,oBAAoB;EACrF,MAAMC,eAAe,GAAIC,OAAY,IAAK,IAAAC,sBAAc,EAAC,GAAGL,OAAO,CAACM,IAAI,IAAIN,OAAO,CAACO,cAAc,CAACH,OAAO,CAAC,EAAE,CAAC;EAC9G,MAAMI,IAAI,GAAwC;IAChD,CAAChB,MAAM,GAAGA,MAAM;IAChBc,IAAI,EAAEN,OAAO,CAACM,IAAI;IAClBG,aAAa,EAAEtC,MAAM,CAACuC,QAAQ,CAACV,OAAO,CAACI,OAAO,CAAC,GAAGJ,OAAO,CAACI,OAAO,GAAGjC,MAAM,CAACwC,MAAM,CAACX,OAAO,CAACI,OAAc,CAAC;IACzGQ,aAAa,EAAEZ,OAAO,CAACa,OAAO,IAAI1C,MAAM,CAAC2C,IAAW;IACpDC,WAAW,EAAEf,OAAO,CAACgB,KAAK,IAAI7C,MAAM,CAAC8C,KAAY;IACjDC,WAAW,EAAElB,OAAO,CAACkB,WAAW,IAAIzD,OAAO,CAAC0D,KAAK,EAAE;IACnDC,QAAQA,CAACC,GAAG,EAAEC,KAAK;MACjB,OAAOvB,IAAI,CAAC;QACV,GAAGC,OAAO;QACVkB,WAAW,EAAEzD,OAAO,CAAC8D,GAAG,CAACf,IAAI,CAACU,WAAW,EAAEG,GAAG,EAAEC,KAAK;OACtD,CAAC;IACJ,CAAC;IACDE,eAAeA,CAACC,OAAO;MACrB,OAAO1B,IAAI,CAAC;QACV,GAAGC,OAAO;QACVkB,WAAW,EAAEzD,OAAO,CAACiE,KAAK,CAAClB,IAAI,CAACU,WAAW,EAAEO,OAAO;OACrD,CAAC;IACJ,CAAC;IACDE,OAAO,EAAEhE,MAAM,CAACiE,UAAU,CACxB,WAAUC,MAAW,EAAEC,IAAI;MACzB,MAAM1B,OAAO,GAAGI,IAAI,CAACC,aAAa,CAACV,IAAI,CAAC8B,MAAM,CAAC;MAC/C,MAAME,MAAM,GAAG,OAAOnC,SAAS;MAC/B,MAAMoC,WAAW,GAAG,OAAO7B,eAAe,CAACC,OAAO,CAAC;MACnD,OAAOzC,MAAM,CAACsE,mBAAmB,CAAC;QAAED;MAAW,CAAE,CAAC;MAClD,IAAIF,IAAI,EAAEI,OAAO,EAAE;QACjB,OAAO,OAAOH,MAAM,CAACJ,OAAO,CAAC;UAC3BQ,QAAQ,EAAE3B,IAAI;UACdwB,WAAW;UACX5B,OAAO;UACP8B,OAAO,EAAE;SACV,CAAC;MACJ;MACA,MAAME,cAAc,GAAG,OAAOzE,MAAM,CAAC0E,aAAa,CAACvC,WAAW,CAAC;MAC/D,MAAMwC,GAAG,GAAGP,MAAM,CAACJ,OAAO,CAAC;QACzBQ,QAAQ,EAAE3B,IAAI;QACdwB,WAAW;QACX5B,OAAO;QACP8B,OAAO,EAAE,KAAK;QACdK,MAAM,EAAExE,MAAM,CAACyE,cAAc,CAACJ,cAAc;OAC7C,CAAC;MACF,IAAIrE,MAAM,CAAC0E,MAAM,CAACL,cAAc,CAAC,EAAE;QACjC,MAAMM,MAAM,GAAG,OAAOC,kBAAkB,CAACL,GAAG,EAAGI,MAAM,IAAKA,MAAM,CAACE,IAAI,KAAK,WAAW,CAAC;QACtF,IAAIF,MAAM,CAACE,IAAI,KAAK,WAAW,EAAE;UAC/BR,cAAc,CAACd,KAAK,CAACuB,SAAS,GAAG,IAAI;UACrC,OAAO,OAAOlF,MAAM,CAACmF,SAAS;QAChC;QACA,OAAO,OAAOJ,MAAM,CAACK,IAAiD;MACxE;MAEA,IAAIC,KAAqC;MACzC,OAAO,IAAI,EAAE;QACX,MAAMN,MAAM,GAAG,OAAOJ,GAAG;QACzB,IAAII,MAAM,CAACE,IAAI,KAAK,UAAU,EAAE;UAC9B,OAAO,OAAOF,MAAM,CAACK,IAAiD;QACxE;QACAC,KAAK,KAAK,CAAC,OAAO9E,QAAQ,CAAC+E,MAAM,CAAChD,sBAAsB,CAAC,EAAEiD,IAAI,CAAC,KAAK,CAAC,CAAC,CAACC,IAAI,CAC1ExF,MAAM,CAACyF,QAAQ,CAAC,MAAMzF,MAAM,CAAC0F,UAAU,CAAC,GAAGrD,OAAO,CAACM,IAAI,4CAA4C,CAAC,CAAC,CACtG;QACD,OAAO0C,KAAK;MACd;IACF,CAAC,EACDrF,MAAM,CAAC2F,QAAQ,CAAC,GAAGtD,OAAO,CAACM,IAAI,UAAU,EAAE;MAAEiD,iBAAiB,EAAE;IAAK,CAAE,CAAC,CACzE;IACDT,SAAS,EAAEnF,MAAM,CAACiE,UAAU,CAC1B,WAAUI,WAAmB;MAC3B,MAAMD,MAAM,GAAG,OAAOnC,SAAS;MAC/B,OAAOmC,MAAM,CAACe,SAAS,CAACtC,IAAI,EAAEwB,WAAW,CAAC;IAC5C,CAAC,EACD,CAACwB,MAAM,EAAExB,WAAW,KAClBrE,MAAM,CAAC2F,QAAQ,CAACE,MAAM,EAAE,GAAGxD,OAAO,CAACM,IAAI,YAAY,EAAE;MACnDiD,iBAAiB,EAAE,KAAK;MACxBE,UAAU,EAAE;QAAEzB;MAAW;KAC1B,CAAC,CACL;IACD0B,MAAM,EAAE/F,MAAM,CAACiE,UAAU,CACvB,WAAUI,WAAmB;MAC3B,MAAMD,MAAM,GAAG,OAAOnC,SAAS;MAC/B,OAAOmC,MAAM,CAAC2B,MAAM,CAAClD,IAAI,EAAEwB,WAAW,CAAC;IACzC,CAAC,EACD,CAACwB,MAAM,EAAExB,WAAW,KAClBrE,MAAM,CAAC2F,QAAQ,CAACE,MAAM,EAAE,GAAGxD,OAAO,CAACM,IAAI,SAAS,EAAE;MAChDiD,iBAAiB,EAAE,KAAK;MACxBE,UAAU,EAAE;QAAEzB;MAAW;KAC1B,CAAC,CACL;IACD2B,OAAO,EAAGhC,OAAO,IACf7D,KAAK,CAAC8F,aAAa,CAACjG,MAAM,CAACkG,GAAG,CAAC,aAAS;MACtC,MAAMpC,OAAO,GAAG,OAAO9D,MAAM,CAAC8D,OAAO,EAAkB;MACvD,MAAMM,MAAM,GAAGtE,OAAO,CAACwB,GAAG,CAACwC,OAAO,EAAE7B,SAAS,CAAC;MAC9C,OAAOmC,MAAM,CAAC+B,QAAQ,CAACtD,IAAI,EAAE,CAACJ,OAAO,EAAE4B,WAAW,KAChDL,OAAO,CAACvB,OAAO,EAAE4B,WAAW,CAAC,CAACmB,IAAI,CAChCxF,MAAM,CAACoG,eAAe,CAAEC,KAAK,IAAKvG,OAAO,CAACiE,KAAK,CAACD,OAAO,EAAEuC,KAAK,CAAC,CAAC,CAC1D,CAAC;MACX,OAAOpE,SAAS,CAAC6B,OAAO,CAACM,MAAM,CAAC;IAClC,CAAC,CAAC,CAAQ;IACZC,WAAW,EAAG5B,OAAO,IAAKD,eAAe,CAACK,IAAI,CAACC,aAAa,CAACV,IAAI,CAACK,OAAO,CAAC,CAAC;IAC3E6D;GACD;EAED,OAAOzD,IAAI;AACb,CAAC;AAAAf,OAAA,CAAAM,IAAA,GAAAA,IAAA;AAED,MAAMG,oBAAoB,gBAAGhC,QAAQ,CAACgG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAACf,IAAI,cAC9DjF,QAAQ,CAACiG,KAAK,cAACjG,QAAQ,CAACkG,MAAM,CAAC,KAAK,CAAC,CAAC,CACvC;AAED;;;;AAIO,MAAMC,iBAAiB,GAAGA,CAAmCC,MAAS,EAAEtE,OAE9E,KACCD,IAAI,CAAC;EACHO,IAAI,EAAEgE,MAAM,CAAC1B,IAAI;EACjBxC,OAAO,EAAEkE,MAAa;EACtBzD,OAAO,EAAEyD,MAAM,CAACzD,OAAO;EACvBG,KAAK,EAAEsD,MAAM,CAACC,OAAO;EACrBhE,cAAc,EAAEtC,UAAU,CAACqD,KAAK;EAChCrB,sBAAsB,EAAED,OAAO,EAAEC;CAClC,CAAC;AAEJ;;;;AAAAR,OAAA,CAAA4E,iBAAA,GAAAA,iBAAA;AAIO,MAAMG,YAAY,GAAA/E,OAAA,CAAA+E,YAAA,gBAAkB9E,MAAM,CAACC,GAAG,CAAC,kCAAkC,CAAC;AAQzF;;;;AAIO,MAAM8E,QAAQ,GAA8BC,CAAU,IAC3D1G,SAAS,CAAC2G,WAAW,CAACD,CAAC,EAAEF,YAAY,CAAC;AAcxC;;;;AAAA/E,OAAA,CAAAgF,QAAA,GAAAA,QAAA;AAIM,MAAOG,QAAe,sBAAQlH,IAAI,CAACmH,WAAW,CAAC,UAAU,CAE7D;EACA;;;EAGS,CAACL,YAAY,IAAkBA,YAAY;EAEpD;;;EAGA,OAAOM,cAAcA,CAAqEC,QAGzF;IACC,OAAO5G,MAAM,CAAC6G,OAAO,CAAEN,CAAC,IAAoDD,QAAQ,CAACC,CAAC,CAAC,IAAIA,CAAC,CAAC9B,IAAI,KAAK,UAAU,CAAC;EACnH;EAEA;;;EAGA,OAAOqC,aAAaA,CAAqEjF,OAGxF;IACC,OAAO7B,MAAM,CAACwC,MAAM,CAAC;MACnBiC,IAAI,EAAEzE,MAAM,CAACkD,GAAG,CAAC,UAAU,CAAC;MAC5B0B,IAAI,EAAE5E,MAAM,CAACP,IAAI,CAAC;QAAEiD,OAAO,EAAEb,OAAO,CAACa,OAAO;QAAE0D,OAAO,EAAEvE,OAAO,CAACgB,KAAK;QAAEkE,MAAM,EAAE/G,MAAM,CAACgH;MAAM,CAAE;KAC9F,CAAC;EACJ;EAEA;;;EAGA,OAAOhH,MAAMA,CAAqE6B,OAGjF;IAIC,OAAO7B,MAAM,CAACiH,SAAS,CACrB,IAAI,CAACH,aAAa,CAACjF,OAAO,CAAC,EAC3B,IAAI,CAAC8E,cAAc,CAAC9E,OAAO,CAAC,EAC5B;MACEqF,MAAMA,CAACC,KAAK;QACV,OAAO,IAAIV,QAAQ,CAAC;UAAE7B,IAAI,EAAEuC,KAAK,CAACvC;QAAI,CAAE,CAAC;MAC3C,CAAC;MACDwC,MAAMA,CAACC,GAAG;QACR,OAAOA,GAAG;MACZ;KACD,CACK;EACV;;AAYF;;;;AAAA/F,OAAA,CAAAmF,QAAA,GAAAA,QAAA;AAIM,MAAOa,SAAU,sBAAQtH,MAAM,CAAC0G,WAAW,CAAY,qCAAqC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;EAClH;;;EAGS,CAACL,YAAY,IAAkBA,YAAY;;AAGtD;;;;AAAA/E,OAAA,CAAAgG,SAAA,GAAAA,SAAA;AAIO,MAAMC,MAAM,GACjB1F,OAGC,IAKE7B,MAAM,CAACwH,KAAK,CAACf,QAAQ,CAACzG,MAAM,CAAC6B,OAAO,CAAC,EAAEyF,SAAS,CAAC;AAEtD;;;;AAAAhG,OAAA,CAAAiG,MAAA,GAAAA,MAAA;AAIO,MAAME,UAAU,GACrBpC,MAA8B,IAE9B7F,MAAM,CAACkI,iBAAiB,CAAEpE,OAA0C,IAAI;EACtE,MAAMqE,QAAQ,GAAGrI,OAAO,CAACwB,GAAG,CAACwC,OAAO,EAAE3B,WAAW,CAAC;EAClD,MAAMiG,cAAc,GAAGtI,OAAO,CAACwB,GAAG,CAAC6G,QAAQ,CAAC3D,QAAQ,CAACjB,WAAW,EAAE8E,cAAc,CAAC;EACjF,MAAMC,gBAAgB,GAAGxI,OAAO,CAACwB,GAAG,CAAC6G,QAAQ,CAAC3D,QAAQ,CAACjB,WAAW,EAAEgF,gBAAgB,CAAC;EACrF,OAAOvI,MAAM,CAACwI,mBAAmB,CAAEC,OAAO,IACxCA,OAAO,CAAC5C,MAAM,CAAC,CAACL,IAAI,CAClB8C,gBAAgB,GACdtI,MAAM,CAAC0I,aAAa,CAAC,MAAK;IACxBP,QAAQ,CAACjD,SAAS,GAAG,IAAI;IACzB,OAAOlF,MAAM,CAACmF,SAAS;EACzB,CAAC,CAAC,GACFwD,kBAAQ,EACV3I,MAAM,CAAC4I,MAAM,EACb5I,MAAM,CAAC6I,gBAAgB,CAAC;IACtBC,SAAS,EAAGnF,KAAK,IAAK3D,MAAM,CAAC+I,OAAO,CAAC,IAAI9B,QAAQ,CAAC;MAAE7B,IAAI,EAAEnF,IAAI,CAAC8I,OAAO,CAACpF,KAAK;IAAC,CAAE,CAAC,CAAC;IACjFqF,SAAS,EAAGC,KAAK,IACfd,QAAQ,CAACjD,SAAS,GACdlF,MAAM,CAAC+I,OAAO,CAAC,IAAIjB,SAAS,EAAE,CAAC,GAC/B,CAACM,cAAc,IAAIzI,KAAK,CAACuJ,KAAK,CAACD,KAAK,CAAC,GACrCjJ,MAAM,CAACmJ,SAAS,CAACF,KAA2B,CAAC,GAC7CjJ,MAAM,CAAC+I,OAAO,CAAC,IAAI9B,QAAQ,CAAC;MAAE7B,IAAI,EAAEnF,IAAI,CAACkJ,SAAS,CAACF,KAAK;IAAC,CAAE,CAAC;GACnE,CAAC,CACH,CACF;AACH,CAAC,CAAC;AAEJ;;;;AAAAnH,OAAA,CAAAmG,UAAA,GAAAA,UAAA;AAIO,MAAMjD,kBAAkB,GAAGA,CAChCa,MAA8B,EAC9BuD,SAAgC,KAEhCpJ,MAAM,CAACkI,iBAAiB,CAAEpE,OAA0C,IAAI;EACtE,MAAMqE,QAAQ,GAAGrI,OAAO,CAACwB,GAAG,CAACwC,OAAO,EAAE3B,WAAW,CAAC;EAClD,MAAMkH,KAAK,GAAGlB,QAAQ,CAACmB,aAAa;EACpC,IAAInB,QAAQ,CAACjD,SAAS,EAAE;IACtB,OAAOmE,KAAK,CAACE,KAAK,GAAG,CAAC,GACpBF,KAAK,CAACG,KAAK,CAACC,KAAK,CAACjE,IAAI,CACpBxF,MAAM,CAAC0J,OAAO,CAAC1J,MAAM,CAAC2J,QAAQ,EAAE,CAAC,EACjC3J,MAAM,CAAC0J,OAAO,CAAC1J,MAAM,CAACmF,SAAS,CAAC,CACjC,GACDnF,MAAM,CAACmF,SAAS;EACpB;EACA,IAAIkE,KAAK,CAACE,KAAK,KAAK,CAAC,EAAEF,KAAK,CAACG,KAAK,CAACI,WAAW,EAAE;EAChDP,KAAK,CAACE,KAAK,EAAE;EACb,OAAOvJ,MAAM,CAAC6J,MAAM,CAAChE,MAAM,EAAGT,IAAI,IAAI;IACpCiE,KAAK,CAACE,KAAK,EAAE;IACb,MAAMO,WAAW,GAAG7J,IAAI,CAAC8J,SAAS,CAAC3E,IAAI,CAAC,IAAIgE,SAAS,CAAChE,IAAI,CAACzB,KAAK,CAAC;IACjE,OAAO0F,KAAK,CAACE,KAAK,KAAK,CAAC,GAAGF,KAAK,CAACG,KAAK,CAACQ,IAAI,GAAGF,WAAW,GAAGT,KAAK,CAACG,KAAK,CAACC,KAAK,GAAGzJ,MAAM,CAACiK,IAAI;EAC7F,CAAC,CAAC;AACJ,CAAC,CAAC;AAEJ;;;;;;;;;;;AAAAnI,OAAA,CAAAkD,kBAAA,GAAAA,kBAAA;AAWO,MAAMsB,gBAAgB,GAAAxE,OAAA,CAAAwE,gBAAA,gBAgCzB,IAAA4D,cAAI,EAAC,CAAC,EAAE,CACVrE,MAA8B,EAC9BsE,YAAuF,KAEvFnK,MAAM,CAACwI,mBAAmB,CAAEC,OAAO,IACjCzI,MAAM,CAACoK,GAAG,CACR3B,OAAO,CAAC5C,MAAM,CAAC,EACdlC,KAAK,IACJ3D,MAAM,CAACkI,iBAAiB,CAAEpE,OAA0C,IAClE9D,MAAM,CAACqK,YAAY,CAAEjF,IAAI,IACvBnF,IAAI,CAAC8J,SAAS,CAAC3E,IAAI,CAAC,IAAItF,OAAO,CAACwB,GAAG,CAACwC,OAAO,EAAE3B,WAAW,CAAC,CAAC+C,SAAS,GAC/DlF,MAAM,CAACiK,IAAI,GACXE,YAAY,CAACxG,KAAK,EAAEyB,IAAI,CAAC6D,KAAK,CAAC,CACpC,CACF,CACJ,CACF,CAAC;AAEJ;;;;;;;;;AASM,MAAOZ,cAAe,sBAAQvI,OAAO,CAACwK,SAAS,EAAkB,CAAC,0CAA0C,EAAE;EAClHC,YAAY,EAAEC;CACf,CAAC;AAEF;;;;;;;;;;AAAA1I,OAAA,CAAAuG,cAAA,GAAAA,cAAA;AAUM,MAAOE,gBACX,sBAAQzI,OAAO,CAACwK,SAAS,EAAoB,CAAC,4CAA4C,EAAE;EAC1FC,YAAY,EAAEE;CACf,CAAC;AAAA3I,OAAA,CAAAyG,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowEngine.js","names":["Context","_interopRequireWildcard","require","Effect","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WorkflowEngine","Tag","exports","WorkflowInstance","initial","workflow","executionId","of","suspended","activityState","count","latch","unsafeMakeLatch"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,uBAAA,CAAAC,OAAA;AAAuC,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAJvC;;;;AAYA;;;;AAIM,MAAOkB,cAAe,sBAAQvB,OAAO,CAACwB,GAAG,CAAC,iCAAiC,CAAC,
|
|
1
|
+
{"version":3,"file":"WorkflowEngine.js","names":["Context","_interopRequireWildcard","require","Effect","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WorkflowEngine","Tag","exports","WorkflowInstance","initial","workflow","executionId","of","suspended","activityState","count","latch","unsafeMakeLatch"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,uBAAA,CAAAC,OAAA;AAAuC,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAJvC;;;;AAYA;;;;AAIM,MAAOkB,cAAe,sBAAQvB,OAAO,CAACwB,GAAG,CAAC,iCAAiC,CAAC,EAkF/E;AAEH;;;;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AAIM,MAAOG,gBAAiB,sBAAQ1B,OAAO,CAACwB,GAAG,CAAC,kDAAkD,CAAC,EAuBlG;EACD,OAAOG,OAAOA,CAACC,QAAsB,EAAEC,WAAmB;IACxD,OAAOH,gBAAgB,CAACI,EAAE,CAAC;MACzBD,WAAW;MACXD,QAAQ;MACRG,SAAS,EAAE,KAAK;MAChBC,aAAa,EAAE;QACbC,KAAK,EAAE,CAAC;QACRC,KAAK,EAAE/B,MAAM,CAACgC,eAAe;;KAEhC,CAAC;EACJ","ignoreList":[]}
|
package/dist/dts/Workflow.d.ts
CHANGED
|
@@ -52,6 +52,10 @@ export interface Workflow<Name extends string, Payload extends AnyStructSchema,
|
|
|
52
52
|
* Interrupt a workflow execution for the given execution ID.
|
|
53
53
|
*/
|
|
54
54
|
readonly interrupt: (executionId: string) => Effect.Effect<void, never, WorkflowEngine>;
|
|
55
|
+
/**
|
|
56
|
+
* Manually resume a workflow execution for the given execution ID.
|
|
57
|
+
*/
|
|
58
|
+
readonly resume: (executionId: string) => Effect.Effect<void, never, WorkflowEngine>;
|
|
55
59
|
/**
|
|
56
60
|
* Create a layer that registers the workflow and provides an effect to
|
|
57
61
|
* execute it.
|
|
@@ -295,5 +299,18 @@ declare const CaptureDefects_base: Context.ReferenceClass<CaptureDefects, "@effe
|
|
|
295
299
|
*/
|
|
296
300
|
export declare class CaptureDefects extends CaptureDefects_base {
|
|
297
301
|
}
|
|
302
|
+
declare const SuspendOnFailure_base: Context.ReferenceClass<SuspendOnFailure, "@effect/workflow/Workflow/SuspendOnFailure", boolean>;
|
|
303
|
+
/**
|
|
304
|
+
* If you set this annotation to `true` for a workflow, it will suspend if it
|
|
305
|
+
* encounters any kind of error.
|
|
306
|
+
*
|
|
307
|
+
* You can then manually resume the workflow later with
|
|
308
|
+
* `Workflow.resume(executionId)`.
|
|
309
|
+
*
|
|
310
|
+
* @since 1.0.0
|
|
311
|
+
* @category Annotations
|
|
312
|
+
*/
|
|
313
|
+
export declare class SuspendOnFailure extends SuspendOnFailure_base {
|
|
314
|
+
}
|
|
298
315
|
export {};
|
|
299
316
|
//# sourceMappingURL=Workflow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.d.ts","sourceRoot":"","sources":["../../src/Workflow.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAEnC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Workflow.d.ts","sourceRoot":"","sources":["../../src/Workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,11 +22,16 @@ declare const WorkflowEngine_base: Context.TagClass<WorkflowEngine, "@effect/wor
|
|
|
22
22
|
readonly executionId: string;
|
|
23
23
|
readonly payload: object;
|
|
24
24
|
readonly discard: Discard;
|
|
25
|
+
readonly parent?: WorkflowInstance["Type"] | undefined;
|
|
25
26
|
}) => Effect.Effect<Discard extends true ? void : Workflow.Result<unknown, unknown>>;
|
|
26
27
|
/**
|
|
27
28
|
* Interrupt a registered workflow.
|
|
28
29
|
*/
|
|
29
30
|
readonly interrupt: (workflow: Workflow.Any, executionId: string) => Effect.Effect<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Resume a registered workflow.
|
|
33
|
+
*/
|
|
34
|
+
readonly resume: (workflow: Workflow.Any, executionId: string) => Effect.Effect<void>;
|
|
30
35
|
/**
|
|
31
36
|
* Execute an activity from a workflow.
|
|
32
37
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowEngine.d.ts","sourceRoot":"","sources":["../../src/WorkflowEngine.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;;IAS1C;;OAEG;uBACgB,CACjB,QAAQ,EAAE,QAAQ,CAAC,GAAG,EACtB,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,KAChB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,KACpE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAExB;;OAEG;sBACe,CAAC,KAAK,CAAC,OAAO,SAAS,OAAO,EAC9C,OAAO,EAAE;QACP,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAA;QAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"WorkflowEngine.d.ts","sourceRoot":"","sources":["../../src/WorkflowEngine.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Workflow.js
CHANGED
|
@@ -6,8 +6,9 @@ import * as Context from "effect/Context";
|
|
|
6
6
|
import * as Data from "effect/Data";
|
|
7
7
|
import * as Effect from "effect/Effect";
|
|
8
8
|
import * as Exit from "effect/Exit";
|
|
9
|
-
import { constTrue, dual } from "effect/Function";
|
|
9
|
+
import { constFalse, constTrue, dual, identity } from "effect/Function";
|
|
10
10
|
import * as Layer from "effect/Layer";
|
|
11
|
+
import * as Option from "effect/Option";
|
|
11
12
|
import * as Predicate from "effect/Predicate";
|
|
12
13
|
import * as PrimaryKey from "effect/PrimaryKey";
|
|
13
14
|
import * as Schedule from "effect/Schedule";
|
|
@@ -61,14 +62,25 @@ export const make = options => {
|
|
|
61
62
|
discard: true
|
|
62
63
|
});
|
|
63
64
|
}
|
|
65
|
+
const parentInstance = yield* Effect.serviceOption(InstanceTag);
|
|
66
|
+
const run = engine.execute({
|
|
67
|
+
workflow: self,
|
|
68
|
+
executionId,
|
|
69
|
+
payload,
|
|
70
|
+
discard: false,
|
|
71
|
+
parent: Option.getOrUndefined(parentInstance)
|
|
72
|
+
});
|
|
73
|
+
if (Option.isSome(parentInstance)) {
|
|
74
|
+
const result = yield* wrapActivityResult(run, result => result._tag === "Suspended");
|
|
75
|
+
if (result._tag === "Suspended") {
|
|
76
|
+
parentInstance.value.suspended = true;
|
|
77
|
+
return yield* Effect.interrupt;
|
|
78
|
+
}
|
|
79
|
+
return yield* result.exit;
|
|
80
|
+
}
|
|
64
81
|
let sleep;
|
|
65
82
|
while (true) {
|
|
66
|
-
const result = yield*
|
|
67
|
-
workflow: self,
|
|
68
|
-
executionId,
|
|
69
|
-
payload,
|
|
70
|
-
discard: false
|
|
71
|
-
});
|
|
83
|
+
const result = yield* run;
|
|
72
84
|
if (result._tag === "Complete") {
|
|
73
85
|
return yield* result.exit;
|
|
74
86
|
}
|
|
@@ -87,6 +99,15 @@ export const make = options => {
|
|
|
87
99
|
executionId
|
|
88
100
|
}
|
|
89
101
|
})),
|
|
102
|
+
resume: Effect.fnUntraced(function* (executionId) {
|
|
103
|
+
const engine = yield* EngineTag;
|
|
104
|
+
yield* engine.resume(self, executionId);
|
|
105
|
+
}, (effect, executionId) => Effect.withSpan(effect, `${options.name}.resume`, {
|
|
106
|
+
captureStackTrace: false,
|
|
107
|
+
attributes: {
|
|
108
|
+
executionId
|
|
109
|
+
}
|
|
110
|
+
})),
|
|
90
111
|
toLayer: execute => Layer.effectContext(Effect.gen(function* () {
|
|
91
112
|
const context = yield* Effect.context();
|
|
92
113
|
const engine = Context.get(context, EngineTag);
|
|
@@ -187,7 +208,11 @@ export const Result = options => Schema.Union(Complete.Schema(options), Suspende
|
|
|
187
208
|
export const intoResult = effect => Effect.contextWithEffect(context => {
|
|
188
209
|
const instance = Context.get(context, InstanceTag);
|
|
189
210
|
const captureDefects = Context.get(instance.workflow.annotations, CaptureDefects);
|
|
190
|
-
|
|
211
|
+
const suspendOnFailure = Context.get(instance.workflow.annotations, SuspendOnFailure);
|
|
212
|
+
return Effect.uninterruptibleMask(restore => restore(effect).pipe(suspendOnFailure ? Effect.catchAllCause(() => {
|
|
213
|
+
instance.suspended = true;
|
|
214
|
+
return Effect.interrupt;
|
|
215
|
+
}) : identity, Effect.scoped, Effect.matchCauseEffect({
|
|
191
216
|
onSuccess: value => Effect.succeed(new Complete({
|
|
192
217
|
exit: Exit.succeed(value)
|
|
193
218
|
})),
|
|
@@ -238,4 +263,17 @@ export const withCompensation = /*#__PURE__*/dual(2, (effect, compensation) => E
|
|
|
238
263
|
export class CaptureDefects extends /*#__PURE__*/Context.Reference()("@effect/workflow/Workflow/CaptureDefects", {
|
|
239
264
|
defaultValue: constTrue
|
|
240
265
|
}) {}
|
|
266
|
+
/**
|
|
267
|
+
* If you set this annotation to `true` for a workflow, it will suspend if it
|
|
268
|
+
* encounters any kind of error.
|
|
269
|
+
*
|
|
270
|
+
* You can then manually resume the workflow later with
|
|
271
|
+
* `Workflow.resume(executionId)`.
|
|
272
|
+
*
|
|
273
|
+
* @since 1.0.0
|
|
274
|
+
* @category Annotations
|
|
275
|
+
*/
|
|
276
|
+
export class SuspendOnFailure extends /*#__PURE__*/Context.Reference()("@effect/workflow/Workflow/SuspendOnFailure", {
|
|
277
|
+
defaultValue: constFalse
|
|
278
|
+
}) {}
|
|
241
279
|
//# sourceMappingURL=Workflow.js.map
|
package/dist/esm/Workflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.js","names":["Cause","Context","Data","Effect","Exit","constTrue","dual","Layer","Predicate","PrimaryKey","Schedule","Schema","makeHashDigest","TypeId","Symbol","for","EngineTag","GenericTag","InstanceTag","make","options","suspendedRetrySchedule","defaultRetrySchedule","makeExecutionId","payload","name","idempotencyKey","self","payloadSchema","isSchema","Struct","successSchema","success","Void","errorSchema","error","Never","annotations","empty","annotate","tag","value","add","annotateContext","context","merge","execute","fnUntraced","fields","opts","engine","executionId","annotateCurrentSpan","discard","workflow","sleep","result","_tag","exit","driver","next","pipe","catchAll","dieMessage","withSpan","captureStackTrace","interrupt","effect","attributes","toLayer","effectContext","gen","get","register","mapInputContext","input","withCompensation","exponential","union","spaced","fromTaggedRequest","schema","failure","ResultTypeId","isResult","u","hasProperty","Complete","TaggedClass","SchemaFromSelf","_options","declare","SchemaEncoded","defect","Defect","transform","decode","fromA","encode","toI","Suspended","Result","Union","intoResult","contextWithEffect","instance","captureDefects","CaptureDefects","uninterruptibleMask","restore","scoped","matchCauseEffect","onSuccess","succeed","onFailure","cause","suspended","isDie","failCause","wrapActivityResult","isSuspend","state","activityState","count","latch","await","andThen","yieldNow","unsafeClose","onExit","isSuspended","isSuccess","open","void","compensation","tap","addFinalizer","Reference","defaultValue"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Workflow.js","names":["Cause","Context","Data","Effect","Exit","constFalse","constTrue","dual","identity","Layer","Option","Predicate","PrimaryKey","Schedule","Schema","makeHashDigest","TypeId","Symbol","for","EngineTag","GenericTag","InstanceTag","make","options","suspendedRetrySchedule","defaultRetrySchedule","makeExecutionId","payload","name","idempotencyKey","self","payloadSchema","isSchema","Struct","successSchema","success","Void","errorSchema","error","Never","annotations","empty","annotate","tag","value","add","annotateContext","context","merge","execute","fnUntraced","fields","opts","engine","executionId","annotateCurrentSpan","discard","workflow","parentInstance","serviceOption","run","parent","getOrUndefined","isSome","result","wrapActivityResult","_tag","suspended","interrupt","exit","sleep","driver","next","pipe","catchAll","dieMessage","withSpan","captureStackTrace","effect","attributes","resume","toLayer","effectContext","gen","get","register","mapInputContext","input","withCompensation","exponential","union","spaced","fromTaggedRequest","schema","failure","ResultTypeId","isResult","u","hasProperty","Complete","TaggedClass","SchemaFromSelf","_options","declare","SchemaEncoded","defect","Defect","transform","decode","fromA","encode","toI","Suspended","Result","Union","intoResult","contextWithEffect","instance","captureDefects","CaptureDefects","suspendOnFailure","SuspendOnFailure","uninterruptibleMask","restore","catchAllCause","scoped","matchCauseEffect","onSuccess","succeed","onFailure","cause","isDie","failCause","isSuspend","state","activityState","count","latch","await","andThen","yieldNow","unsafeClose","onExit","isSuspended","isSuccess","open","void","compensation","tap","addFinalizer","Reference","defaultValue"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowEngine.js","names":["Context","Effect","WorkflowEngine","Tag","WorkflowInstance","initial","workflow","executionId","of","suspended","activityState","count","latch","unsafeMakeLatch"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAQvC;;;;AAIA,OAAM,MAAOC,cAAe,sBAAQF,OAAO,CAACG,GAAG,CAAC,iCAAiC,CAAC,
|
|
1
|
+
{"version":3,"file":"WorkflowEngine.js","names":["Context","Effect","WorkflowEngine","Tag","WorkflowInstance","initial","workflow","executionId","of","suspended","activityState","count","latch","unsafeMakeLatch"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAQvC;;;;AAIA,OAAM,MAAOC,cAAe,sBAAQF,OAAO,CAACG,GAAG,CAAC,iCAAiC,CAAC,EAkF/E;AAEH;;;;AAIA,OAAM,MAAOC,gBAAiB,sBAAQJ,OAAO,CAACG,GAAG,CAAC,kDAAkD,CAAC,EAuBlG;EACD,OAAOE,OAAOA,CAACC,QAAsB,EAAEC,WAAmB;IACxD,OAAOH,gBAAgB,CAACI,EAAE,CAAC;MACzBD,WAAW;MACXD,QAAQ;MACRG,SAAS,EAAE,KAAK;MAChBC,aAAa,EAAE;QACbC,KAAK,EAAE,CAAC;QACRC,KAAK,EAAEX,MAAM,CAACY,eAAe;;KAEhC,CAAC;EACJ","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/workflow",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.14",
|
|
4
4
|
"description": "Durable workflows for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
"sideEffects": [],
|
|
12
12
|
"homepage": "https://effect.website",
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"effect": "^
|
|
15
|
-
"
|
|
16
|
-
"@effect/rpc": "^0.64.
|
|
14
|
+
"@effect/platform": "^0.87.13",
|
|
15
|
+
"effect": "^3.16.13",
|
|
16
|
+
"@effect/rpc": "^0.64.14"
|
|
17
17
|
},
|
|
18
18
|
"publishConfig": {
|
|
19
19
|
"provenance": true
|
package/src/Workflow.ts
CHANGED
|
@@ -6,8 +6,9 @@ import * as Context from "effect/Context"
|
|
|
6
6
|
import * as Data from "effect/Data"
|
|
7
7
|
import * as Effect from "effect/Effect"
|
|
8
8
|
import * as Exit from "effect/Exit"
|
|
9
|
-
import { constTrue, dual } from "effect/Function"
|
|
9
|
+
import { constFalse, constTrue, dual, identity } from "effect/Function"
|
|
10
10
|
import * as Layer from "effect/Layer"
|
|
11
|
+
import * as Option from "effect/Option"
|
|
11
12
|
import type { Pipeable } from "effect/Pipeable"
|
|
12
13
|
import * as Predicate from "effect/Predicate"
|
|
13
14
|
import * as PrimaryKey from "effect/PrimaryKey"
|
|
@@ -87,6 +88,11 @@ export interface Workflow<
|
|
|
87
88
|
*/
|
|
88
89
|
readonly interrupt: (executionId: string) => Effect.Effect<void, never, WorkflowEngine>
|
|
89
90
|
|
|
91
|
+
/**
|
|
92
|
+
* Manually resume a workflow execution for the given execution ID.
|
|
93
|
+
*/
|
|
94
|
+
readonly resume: (executionId: string) => Effect.Effect<void, never, WorkflowEngine>
|
|
95
|
+
|
|
90
96
|
/**
|
|
91
97
|
* Create a layer that registers the workflow and provides an effect to
|
|
92
98
|
* execute it.
|
|
@@ -259,14 +265,26 @@ export const make = <
|
|
|
259
265
|
discard: true
|
|
260
266
|
})
|
|
261
267
|
}
|
|
268
|
+
const parentInstance = yield* Effect.serviceOption(InstanceTag)
|
|
269
|
+
const run = engine.execute({
|
|
270
|
+
workflow: self,
|
|
271
|
+
executionId,
|
|
272
|
+
payload,
|
|
273
|
+
discard: false,
|
|
274
|
+
parent: Option.getOrUndefined(parentInstance)
|
|
275
|
+
})
|
|
276
|
+
if (Option.isSome(parentInstance)) {
|
|
277
|
+
const result = yield* wrapActivityResult(run, (result) => result._tag === "Suspended")
|
|
278
|
+
if (result._tag === "Suspended") {
|
|
279
|
+
parentInstance.value.suspended = true
|
|
280
|
+
return yield* Effect.interrupt
|
|
281
|
+
}
|
|
282
|
+
return yield* result.exit as Exit.Exit<Success["Type"], Error["Type"]>
|
|
283
|
+
}
|
|
284
|
+
|
|
262
285
|
let sleep: Effect.Effect<any> | undefined
|
|
263
286
|
while (true) {
|
|
264
|
-
const result = yield*
|
|
265
|
-
workflow: self,
|
|
266
|
-
executionId,
|
|
267
|
-
payload,
|
|
268
|
-
discard: false
|
|
269
|
-
})
|
|
287
|
+
const result = yield* run
|
|
270
288
|
if (result._tag === "Complete") {
|
|
271
289
|
return yield* result.exit as Exit.Exit<Success["Type"], Error["Type"]>
|
|
272
290
|
}
|
|
@@ -289,6 +307,17 @@ export const make = <
|
|
|
289
307
|
attributes: { executionId }
|
|
290
308
|
})
|
|
291
309
|
),
|
|
310
|
+
resume: Effect.fnUntraced(
|
|
311
|
+
function*(executionId: string) {
|
|
312
|
+
const engine = yield* EngineTag
|
|
313
|
+
yield* engine.resume(self, executionId)
|
|
314
|
+
},
|
|
315
|
+
(effect, executionId) =>
|
|
316
|
+
Effect.withSpan(effect, `${options.name}.resume`, {
|
|
317
|
+
captureStackTrace: false,
|
|
318
|
+
attributes: { executionId }
|
|
319
|
+
})
|
|
320
|
+
),
|
|
292
321
|
toLayer: (execute) =>
|
|
293
322
|
Layer.effectContext(Effect.gen(function*() {
|
|
294
323
|
const context = yield* Effect.context<WorkflowEngine>()
|
|
@@ -462,8 +491,15 @@ export const intoResult = <A, E, R>(
|
|
|
462
491
|
Effect.contextWithEffect((context: Context.Context<WorkflowInstance>) => {
|
|
463
492
|
const instance = Context.get(context, InstanceTag)
|
|
464
493
|
const captureDefects = Context.get(instance.workflow.annotations, CaptureDefects)
|
|
494
|
+
const suspendOnFailure = Context.get(instance.workflow.annotations, SuspendOnFailure)
|
|
465
495
|
return Effect.uninterruptibleMask((restore) =>
|
|
466
496
|
restore(effect).pipe(
|
|
497
|
+
suspendOnFailure ?
|
|
498
|
+
Effect.catchAllCause(() => {
|
|
499
|
+
instance.suspended = true
|
|
500
|
+
return Effect.interrupt
|
|
501
|
+
}) :
|
|
502
|
+
identity,
|
|
467
503
|
Effect.scoped,
|
|
468
504
|
Effect.matchCauseEffect({
|
|
469
505
|
onSuccess: (value) => Effect.succeed(new Complete({ exit: Exit.succeed(value) })),
|
|
@@ -579,3 +615,19 @@ export const withCompensation: {
|
|
|
579
615
|
export class CaptureDefects extends Context.Reference<CaptureDefects>()("@effect/workflow/Workflow/CaptureDefects", {
|
|
580
616
|
defaultValue: constTrue
|
|
581
617
|
}) {}
|
|
618
|
+
|
|
619
|
+
/**
|
|
620
|
+
* If you set this annotation to `true` for a workflow, it will suspend if it
|
|
621
|
+
* encounters any kind of error.
|
|
622
|
+
*
|
|
623
|
+
* You can then manually resume the workflow later with
|
|
624
|
+
* `Workflow.resume(executionId)`.
|
|
625
|
+
*
|
|
626
|
+
* @since 1.0.0
|
|
627
|
+
* @category Annotations
|
|
628
|
+
*/
|
|
629
|
+
export class SuspendOnFailure
|
|
630
|
+
extends Context.Reference<SuspendOnFailure>()("@effect/workflow/Workflow/SuspendOnFailure", {
|
|
631
|
+
defaultValue: constFalse
|
|
632
|
+
})
|
|
633
|
+
{}
|
package/src/WorkflowEngine.ts
CHANGED
|
@@ -37,6 +37,7 @@ export class WorkflowEngine extends Context.Tag("@effect/workflow/WorkflowEngine
|
|
|
37
37
|
readonly executionId: string
|
|
38
38
|
readonly payload: object
|
|
39
39
|
readonly discard: Discard
|
|
40
|
+
readonly parent?: WorkflowInstance["Type"] | undefined
|
|
40
41
|
}
|
|
41
42
|
) => Effect.Effect<Discard extends true ? void : Workflow.Result<unknown, unknown>>
|
|
42
43
|
|
|
@@ -48,6 +49,14 @@ export class WorkflowEngine extends Context.Tag("@effect/workflow/WorkflowEngine
|
|
|
48
49
|
executionId: string
|
|
49
50
|
) => Effect.Effect<void>
|
|
50
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Resume a registered workflow.
|
|
54
|
+
*/
|
|
55
|
+
readonly resume: (
|
|
56
|
+
workflow: Workflow.Any,
|
|
57
|
+
executionId: string
|
|
58
|
+
) => Effect.Effect<void>
|
|
59
|
+
|
|
51
60
|
/**
|
|
52
61
|
* Execute an activity from a workflow.
|
|
53
62
|
*/
|