@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.
@@ -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* engine.execute({
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
- return Effect.uninterruptibleMask(restore => restore(effect).pipe(Effect.scoped, Effect.matchCauseEffect({
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
@@ -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":"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","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,EAyE/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":[]}
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":[]}
@@ -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":"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"}
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":"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"}
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;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;KACvD,KACE,MAAM,CAAC,MAAM,CAAC,OAAO,SAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEnF;;OAEG;wBACiB,CAClB,QAAQ,EAAE,QAAQ,CAAC,GAAG,EACtB,WAAW,EAAE,MAAM,KAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAExB;;OAEG;qBACc,CACf,QAAQ,EAAE,QAAQ,CAAC,GAAG,EACtB,WAAW,EAAE,MAAM,KAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAExB;;OAEG;8BACuB,CACxB,OAAO,EAAE;QACP,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAA;QAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KACzB,KACE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC;IAE9E;;OAEG;6BACsB,CACvB,QAAQ,EAAE,eAAe,CAAC,GAAG,KAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC;IAEzG;;;OAGG;2BACoB,CACrB,OAAO,EAAE;QACP,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;QAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAA;QACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;KAC7D,KACE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAExB;;OAEG;4BACqB,CAAC,OAAO,EAAE;QAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAA;QAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;KAC7B,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AApF7B;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAkFjC;CAAG;;IASF;;OAEG;0BACmB,MAAM;IAE5B;;OAEG;uBACgB,QAAQ,CAAC,GAAG;IAE/B;;OAEG;eACQ,OAAO;4BAEM;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAA;KAC7B;;AAzBL;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAuBnC;IACD,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;CAWtF"}
@@ -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* engine.execute({
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
- return Effect.uninterruptibleMask(restore => restore(effect).pipe(Effect.scoped, Effect.matchCauseEffect({
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
@@ -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,EAyE/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":[]}
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.12",
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": "^3.16.12",
15
- "@effect/platform": "^0.87.11",
16
- "@effect/rpc": "^0.64.12"
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* engine.execute({
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
+ {}
@@ -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
  */