@effect/workflow 0.1.2 → 0.1.4

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.
Files changed (51) hide show
  1. package/WorkflowProxy/package.json +6 -0
  2. package/WorkflowProxyServer/package.json +6 -0
  3. package/dist/cjs/Activity.js +17 -8
  4. package/dist/cjs/Activity.js.map +1 -1
  5. package/dist/cjs/DurableDeferred.js +40 -2
  6. package/dist/cjs/DurableDeferred.js.map +1 -1
  7. package/dist/cjs/Workflow.js +44 -21
  8. package/dist/cjs/Workflow.js.map +1 -1
  9. package/dist/cjs/WorkflowEngine.js +14 -1
  10. package/dist/cjs/WorkflowEngine.js.map +1 -1
  11. package/dist/cjs/WorkflowProxy.js +111 -0
  12. package/dist/cjs/WorkflowProxy.js.map +1 -0
  13. package/dist/cjs/WorkflowProxyServer.js +61 -0
  14. package/dist/cjs/WorkflowProxyServer.js.map +1 -0
  15. package/dist/cjs/index.js +5 -1
  16. package/dist/dts/Activity.d.ts +13 -6
  17. package/dist/dts/Activity.d.ts.map +1 -1
  18. package/dist/dts/DurableDeferred.d.ts +28 -1
  19. package/dist/dts/DurableDeferred.d.ts.map +1 -1
  20. package/dist/dts/Workflow.d.ts +28 -1
  21. package/dist/dts/Workflow.d.ts.map +1 -1
  22. package/dist/dts/WorkflowEngine.d.ts +6 -5
  23. package/dist/dts/WorkflowEngine.d.ts.map +1 -1
  24. package/dist/dts/WorkflowProxy.d.ts +90 -0
  25. package/dist/dts/WorkflowProxy.d.ts.map +1 -0
  26. package/dist/dts/WorkflowProxyServer.d.ts +27 -0
  27. package/dist/dts/WorkflowProxyServer.d.ts.map +1 -0
  28. package/dist/dts/index.d.ts +8 -0
  29. package/dist/dts/index.d.ts.map +1 -1
  30. package/dist/esm/Activity.js +15 -6
  31. package/dist/esm/Activity.js.map +1 -1
  32. package/dist/esm/DurableDeferred.js +38 -1
  33. package/dist/esm/DurableDeferred.js.map +1 -1
  34. package/dist/esm/Workflow.js +41 -19
  35. package/dist/esm/Workflow.js.map +1 -1
  36. package/dist/esm/WorkflowEngine.js +14 -1
  37. package/dist/esm/WorkflowEngine.js.map +1 -1
  38. package/dist/esm/WorkflowProxy.js +101 -0
  39. package/dist/esm/WorkflowProxy.js.map +1 -0
  40. package/dist/esm/WorkflowProxyServer.js +52 -0
  41. package/dist/esm/WorkflowProxyServer.js.map +1 -0
  42. package/dist/esm/index.js +8 -0
  43. package/dist/esm/index.js.map +1 -1
  44. package/package.json +20 -2
  45. package/src/Activity.ts +47 -13
  46. package/src/DurableDeferred.ts +103 -2
  47. package/src/Workflow.ts +111 -22
  48. package/src/WorkflowEngine.ts +19 -10
  49. package/src/WorkflowProxy.ts +178 -0
  50. package/src/WorkflowProxyServer.ts +103 -0
  51. package/src/index.ts +10 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/WorkflowProxy.js",
3
+ "module": "../dist/esm/WorkflowProxy.js",
4
+ "types": "../dist/dts/WorkflowProxy.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/WorkflowProxyServer.js",
3
+ "module": "../dist/esm/WorkflowProxyServer.js",
4
+ "types": "../dist/dts/WorkflowProxyServer.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -3,18 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.retry = exports.make = exports.executionIdWithAttempt = exports.TypeId = exports.CurrentAttempt = void 0;
6
+ exports.retry = exports.raceAll = exports.make = exports.executionIdWithAttempt = exports.TypeId = exports.CurrentAttempt = void 0;
7
7
  var Context = _interopRequireWildcard(require("effect/Context"));
8
8
  var Effect = _interopRequireWildcard(require("effect/Effect"));
9
9
  var Effectable = _interopRequireWildcard(require("effect/Effectable"));
10
10
  var _Function = require("effect/Function");
11
11
  var Schema = _interopRequireWildcard(require("effect/Schema"));
12
+ var DurableDeferred = _interopRequireWildcard(require("./DurableDeferred.js"));
12
13
  var _crypto = require("./internal/crypto.js");
14
+ var Workflow = _interopRequireWildcard(require("./Workflow.js"));
13
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
- /**
15
- * @since 1.0.0
16
- */
17
-
18
16
  /**
19
17
  * @since 1.0.0
20
18
  * @category Symbols
@@ -66,7 +64,7 @@ const retry = exports.retry = /*#__PURE__*/(0, _Function.dual)(2, (effect, optio
66
64
  * @category Attempts
67
65
  */
68
66
  class CurrentAttempt extends /*#__PURE__*/Context.Reference()("@effect/workflow/Activity/CurrentAttempt", {
69
- defaultValue: () => 0
67
+ defaultValue: () => 1
70
68
  }) {}
71
69
  /**
72
70
  * @since 1.0.0
@@ -78,19 +76,30 @@ const executionIdWithAttempt = exports.executionIdWithAttempt = /*#__PURE__*/Eff
78
76
  const attempt = yield* CurrentAttempt;
79
77
  return yield* (0, _crypto.makeHashDigest)(`${instance.executionId}-${attempt}`);
80
78
  });
79
+ /**
80
+ * @since 1.0.0
81
+ * @category Racing
82
+ */
83
+ const raceAll = (name, activities) => DurableDeferred.raceAll({
84
+ name: `Activity/${name}`,
85
+ success: Schema.Union(...activities.map(activity => activity.successSchema)),
86
+ error: Schema.Union(...activities.map(activity => activity.errorSchema)),
87
+ effects: activities
88
+ });
81
89
  // -----------------------------------------------------------------------------
82
90
  // internal
83
91
  // -----------------------------------------------------------------------------
92
+ exports.raceAll = raceAll;
84
93
  const EngineTag = /*#__PURE__*/Context.GenericTag("@effect/workflow/WorkflowEngine");
85
94
  const InstanceTag = /*#__PURE__*/Context.GenericTag("@effect/workflow/WorkflowEngine/WorkflowInstance");
86
95
  const makeExecute = /*#__PURE__*/Effect.fnUntraced(function* (activity) {
87
96
  const engine = yield* EngineTag;
88
97
  const instance = yield* InstanceTag;
89
98
  const attempt = yield* CurrentAttempt;
90
- const result = yield* engine.activityExecute({
99
+ const result = yield* Workflow.wrapActivityResult(engine.activityExecute({
91
100
  activity,
92
101
  attempt
93
- });
102
+ }), _ => _._tag === "Suspended");
94
103
  if (result._tag === "Suspended") {
95
104
  instance.suspended = true;
96
105
  return yield* Effect.interrupt;
@@ -1 +1 @@
1
- {"version":3,"file":"Activity.js","names":["Context","_interopRequireWildcard","require","Effect","Effectable","_Function","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","make","options","successSchema","success","Void","errorSchema","error","Never","execute","self","CommitPrototype","name","exitSchema","ExitFromSelf","failure","defect","Defect","executeEncoded","matchEffect","onFailure","flatMap","orDie","encode","fail","onSuccess","value","commit","makeExecute","retry","dual","effect","suspend","attempt","provideService","CurrentAttempt","pipe","Reference","defaultValue","executionIdWithAttempt","gen","instance","InstanceTag","makeHashDigest","executionId","EngineTag","GenericTag","fnUntraced","activity","engine","result","activityExecute","_tag","suspended","interrupt","exit","decode"],"sources":["../../src/Activity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Activity.js","names":["Context","_interopRequireWildcard","require","Effect","Effectable","_Function","Schema","DurableDeferred","_crypto","Workflow","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","make","options","successSchema","success","Void","errorSchema","error","Never","execute","self","CommitPrototype","name","exitSchema","ExitFromSelf","failure","defect","Defect","executeEncoded","matchEffect","onFailure","flatMap","orDie","encode","fail","onSuccess","value","commit","makeExecute","retry","dual","effect","suspend","attempt","provideService","CurrentAttempt","pipe","Reference","defaultValue","executionIdWithAttempt","gen","instance","InstanceTag","makeHashDigest","executionId","raceAll","activities","Union","map","activity","effects","EngineTag","GenericTag","fnUntraced","engine","result","wrapActivityResult","activityExecute","_","_tag","suspended","interrupt","exit","decode"],"sources":["../../src/Activity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.tokenFromPayload = exports.tokenFromExecutionId = exports.token = exports.succeed = exports.make = exports.failCause = exports.fail = exports.done = exports.await = exports.TypeId = exports.TokenTypeId = exports.TokenParsed = exports.Token = void 0;
6
+ exports.tokenFromPayload = exports.tokenFromExecutionId = exports.token = exports.succeed = exports.raceAll = exports.make = exports.into = exports.failCause = exports.fail = exports.done = exports.await = exports.TypeId = exports.TokenTypeId = exports.TokenParsed = exports.Token = void 0;
7
7
  var Context = _interopRequireWildcard(require("effect/Context"));
8
8
  var Effect = _interopRequireWildcard(require("effect/Effect"));
9
9
  var Encoding = _interopRequireWildcard(require("effect/Encoding"));
@@ -11,6 +11,7 @@ var Exit = _interopRequireWildcard(require("effect/Exit"));
11
11
  var _Function = require("effect/Function");
12
12
  var Option = _interopRequireWildcard(require("effect/Option"));
13
13
  var Schema = _interopRequireWildcard(require("effect/Schema"));
14
+ var Workflow = _interopRequireWildcard(require("./Workflow.js"));
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
16
  /**
16
17
  * @since 1.0.0
@@ -38,17 +39,54 @@ const InstanceTag = /*#__PURE__*/Context.GenericTag("@effect/workflow/WorkflowEn
38
39
  const await_ = exports.await = /*#__PURE__*/Effect.fnUntraced(function* (self) {
39
40
  const engine = yield* EngineTag;
40
41
  const instance = yield* InstanceTag;
41
- const oexit = yield* engine.deferredResult(self);
42
+ const oexit = yield* Workflow.wrapActivityResult(engine.deferredResult(self), Option.isNone);
42
43
  if (Option.isNone(oexit)) {
43
44
  instance.suspended = true;
44
45
  return yield* Effect.interrupt;
45
46
  }
46
47
  return yield* Effect.flatten(Effect.orDie(Schema.decodeUnknown(self.exitSchema)(oexit.value)));
47
48
  });
49
+ /**
50
+ * @since 1.0.0
51
+ * @category Combinators
52
+ */
53
+ const into = exports.into = /*#__PURE__*/(0, _Function.dual)(2, (effect, self) => Effect.contextWithEffect(context => {
54
+ const engine = Context.get(context, EngineTag);
55
+ const instance = Context.get(context, InstanceTag);
56
+ return Effect.onExit(effect, Effect.fnUntraced(function* (exit) {
57
+ if (instance.suspended) return;
58
+ const encodedExit = yield* Effect.orDie(Schema.encode(self.exitSchema)(exit));
59
+ yield* engine.deferredDone({
60
+ workflowName: instance.workflow.name,
61
+ executionId: instance.executionId,
62
+ deferred: self,
63
+ exit: encodedExit
64
+ });
65
+ }));
66
+ }));
67
+ /**
68
+ * @since 1.0.0
69
+ * @category Racing
70
+ */
71
+ const raceAll = options => {
72
+ const deferred = make(`raceAll/${options.name}`, {
73
+ success: options.success,
74
+ error: options.error
75
+ });
76
+ return Effect.gen(function* () {
77
+ const engine = yield* EngineTag;
78
+ const oexit = yield* Workflow.wrapActivityResult(engine.deferredResult(deferred), Option.isNone);
79
+ if (Option.isSome(oexit)) {
80
+ return yield* Effect.flatten(Effect.orDie(Schema.decodeUnknown(deferred.exitSchema)(oexit.value)));
81
+ }
82
+ return yield* into(Effect.raceAll(options.effects), deferred);
83
+ });
84
+ };
48
85
  /**
49
86
  * @since 1.0.0
50
87
  * @category Token
51
88
  */
89
+ exports.raceAll = raceAll;
52
90
  const TokenTypeId = exports.TokenTypeId = /*#__PURE__*/Symbol.for("@effect/workflow/DurableDeferred/Token");
53
91
  /**
54
92
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"DurableDeferred.js","names":["Context","_interopRequireWildcard","require","Effect","Encoding","Exit","_Function","Option","Schema","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","make","name","options","successSchema","success","Void","errorSchema","error","Never","exitSchema","failure","defect","Defect","EngineTag","GenericTag","InstanceTag","await_","await","fnUntraced","self","engine","instance","oexit","deferredResult","isNone","suspended","interrupt","flatten","orDie","decodeUnknown","value","TokenTypeId","Token","String","pipe","brand","TokenParsed","Class","workflowName","executionId","deferredName","asToken","encodeBase64Url","JSON","stringify","FromString","StringFromBase64Url","compose","parseJson","Tuple","transform","decode","encode","parsed","fromString","decodeSync","encodeSync","token","tokenFromExecutionId","dual","workflow","tokenFromPayload","map","payload","done","exit","deferredDone","deferred","succeed","fail","failCause","cause"],"sources":["../../src/DurableDeferred.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DurableDeferred.js","names":["Context","_interopRequireWildcard","require","Effect","Encoding","Exit","_Function","Option","Schema","Workflow","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","make","name","options","successSchema","success","Void","errorSchema","error","Never","exitSchema","failure","defect","Defect","EngineTag","GenericTag","InstanceTag","await_","await","fnUntraced","self","engine","instance","oexit","wrapActivityResult","deferredResult","isNone","suspended","interrupt","flatten","orDie","decodeUnknown","value","into","dual","effect","contextWithEffect","context","onExit","exit","encodedExit","encode","deferredDone","workflowName","workflow","executionId","deferred","raceAll","gen","isSome","effects","TokenTypeId","Token","String","pipe","brand","TokenParsed","Class","deferredName","asToken","encodeBase64Url","JSON","stringify","FromString","StringFromBase64Url","compose","parseJson","Tuple","transform","decode","parsed","fromString","decodeSync","encodeSync","token","tokenFromExecutionId","tokenFromPayload","map","payload","done","succeed","fail","failCause","cause"],"sources":["../../src/DurableDeferred.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.withCompensation = exports.make = exports.isResult = exports.intoResult = exports.fromTaggedRequest = exports.TypeId = exports.Suspended = exports.ResultTypeId = exports.Result = exports.Complete = void 0;
6
+ exports.wrapActivityResult = exports.withCompensation = exports.make = exports.isResult = exports.intoResult = exports.fromTaggedRequest = exports.TypeId = exports.Suspended = exports.ResultTypeId = exports.Result = exports.Complete = void 0;
7
7
  var Context = _interopRequireWildcard(require("effect/Context"));
8
8
  var Data = _interopRequireWildcard(require("effect/Data"));
9
9
  var Effect = _interopRequireWildcard(require("effect/Effect"));
@@ -36,6 +36,19 @@ const make = options => {
36
36
  payloadSchema: Schema.isSchema(options.payload) ? options.payload : Schema.Struct(options.payload),
37
37
  successSchema: options.success ?? Schema.Void,
38
38
  errorSchema: options.error ?? Schema.Never,
39
+ annotations: options.annotations ?? Context.empty(),
40
+ annotate(tag, value) {
41
+ return make({
42
+ ...options,
43
+ annotations: Context.add(self.annotations, tag, value)
44
+ });
45
+ },
46
+ annotateContext(context) {
47
+ return make({
48
+ ...options,
49
+ annotations: Context.merge(self.annotations, context)
50
+ });
51
+ },
39
52
  execute: Effect.fnUntraced(function* (fields, opts) {
40
53
  const payload = self.payloadSchema.make(fields);
41
54
  const engine = yield* EngineTag;
@@ -62,7 +75,6 @@ const make = options => {
62
75
  if (result._tag === "Complete") {
63
76
  return yield* result.exit;
64
77
  }
65
- // @effect-diagnostics effect/floatingEffect:off
66
78
  sleep ??= (yield* Schedule.driver(suspendedRetrySchedule)).next(void 0).pipe(Effect.catchAll(() => Effect.dieMessage(`${options.name}.execute: suspendedRetrySchedule exhausted`)));
67
79
  yield* sleep;
68
80
  }
@@ -181,17 +193,36 @@ const Result = options => Schema.Union(Complete.Schema(options), Suspended);
181
193
  * @category Result
182
194
  */
183
195
  exports.Result = Result;
184
- const intoResult = effect => Effect.uninterruptibleMask(restore => Effect.withFiberRuntime(fiber => Effect.matchCause(restore(effect), {
185
- onSuccess: value => new Complete({
186
- exit: Exit.succeed(value)
187
- }),
188
- onFailure(cause) {
189
- const instance = Context.unsafeGet(fiber.currentContext, InstanceTag);
190
- return instance.suspended ? new Suspended() : new Complete({
196
+ const intoResult = effect => Effect.contextWithEffect(context => {
197
+ const instance = Context.get(context, InstanceTag);
198
+ return Effect.uninterruptibleMask(restore => restore(effect).pipe(Effect.scoped, Effect.matchCause({
199
+ onSuccess: value => new Complete({
200
+ exit: Exit.succeed(value)
201
+ }),
202
+ onFailure: cause => instance.suspended ? new Suspended() : new Complete({
191
203
  exit: Exit.failCause(cause)
192
- });
204
+ })
205
+ })));
206
+ });
207
+ /**
208
+ * @since 1.0.0
209
+ * @category Result
210
+ */
211
+ exports.intoResult = intoResult;
212
+ const wrapActivityResult = (effect, isSuspend) => Effect.contextWithEffect(context => {
213
+ const instance = Context.get(context, InstanceTag);
214
+ const state = instance.activityState;
215
+ if (instance.suspended) {
216
+ return state.count > 0 ? state.latch.await.pipe(Effect.andThen(Effect.yieldNow()), Effect.andThen(Effect.interrupt)) : Effect.interrupt;
193
217
  }
194
- })));
218
+ if (state.count === 0) state.latch.unsafeClose();
219
+ state.count++;
220
+ return Effect.onExit(effect, exit => {
221
+ state.count--;
222
+ const isSuspended = Exit.isSuccess(exit) && isSuspend(exit.value);
223
+ return state.count === 0 ? state.latch.open : isSuspended ? state.latch.await : Effect.void;
224
+ });
225
+ });
195
226
  /**
196
227
  * Add compensation logic to an effect inside a Workflow. The compensation finalizer will be
197
228
  * called if the entire workflow fails, allowing you to perform cleanup or
@@ -203,14 +234,6 @@ const intoResult = effect => Effect.uninterruptibleMask(restore => Effect.withFi
203
234
  * @since 1.0.0
204
235
  * @category Compensation
205
236
  */
206
- exports.intoResult = intoResult;
207
- const withCompensation = exports.withCompensation = /*#__PURE__*/(0, _Function.dual)(2, (effect, compensation) => Effect.uninterruptibleMask(restore => Effect.contextWithEffect(context => {
208
- const instance = Context.get(context, InstanceTag);
209
- return Effect.tap(restore(effect), value => Effect.addFinalizer(exit => {
210
- if (Exit.isSuccess(exit) || instance.suspended) {
211
- return Effect.void;
212
- }
213
- return compensation(value, exit.cause);
214
- }));
215
- })));
237
+ exports.wrapActivityResult = wrapActivityResult;
238
+ const withCompensation = exports.withCompensation = /*#__PURE__*/(0, _Function.dual)(2, (effect, compensation) => Effect.uninterruptibleMask(restore => Effect.tap(restore(effect), value => Effect.contextWithEffect(context => Effect.addFinalizer(exit => Exit.isSuccess(exit) || Context.get(context, InstanceTag).suspended ? Effect.void : compensation(value, exit.cause))))));
216
239
  //# sourceMappingURL=Workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Workflow.js","names":["Context","_interopRequireWildcard","require","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","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","context","register","provide","withCompensation","exponential","union","spaced","fromTaggedRequest","schema","failure","value","ResultTypeId","isResult","u","hasProperty","Complete","TaggedClass","SchemaFromSelf","_options","declare","SchemaEncoded","tag","defect","Defect","transform","decode","fromA","encode","toI","Suspended","Result","Union","intoResult","uninterruptibleMask","restore","withFiberRuntime","fiber","matchCause","onSuccess","succeed","onFailure","cause","instance","unsafeGet","currentContext","suspended","failCause","dual","compensation","contextWithEffect","tap","addFinalizer","isSuccess","void"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Workflow.js","names":["Context","_interopRequireWildcard","require","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","provide","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","uninterruptibleMask","restore","scoped","matchCause","onSuccess","succeed","onFailure","cause","suspended","failCause","wrapActivityResult","isSuspend","state","activityState","count","latch","await","andThen","yieldNow","unsafeClose","onExit","isSuspended","isSuccess","open","void","dual","compensation","tap","addFinalizer"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.WorkflowInstance = exports.WorkflowEngine = void 0;
7
7
  var Context = _interopRequireWildcard(require("effect/Context"));
8
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
8
9
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
10
  /**
10
11
  * @since 1.0.0
@@ -20,6 +21,18 @@ class WorkflowEngine extends /*#__PURE__*/Context.Tag("@effect/workflow/Workflow
20
21
  * @category Services
21
22
  */
22
23
  exports.WorkflowEngine = WorkflowEngine;
23
- class WorkflowInstance extends /*#__PURE__*/Context.Tag("@effect/workflow/WorkflowEngine/WorkflowInstance")() {}
24
+ class WorkflowInstance extends /*#__PURE__*/Context.Tag("@effect/workflow/WorkflowEngine/WorkflowInstance")() {
25
+ static initial(workflow, executionId) {
26
+ return WorkflowInstance.of({
27
+ executionId,
28
+ workflow,
29
+ suspended: false,
30
+ activityState: {
31
+ count: 0,
32
+ latch: Effect.unsafeMakeLatch()
33
+ }
34
+ });
35
+ }
36
+ }
24
37
  exports.WorkflowInstance = WorkflowInstance;
25
38
  //# sourceMappingURL=WorkflowEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowEngine.js","names":["Context","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WorkflowEngine","Tag","exports","WorkflowInstance"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,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;AAHzC;;;;AAYA;;;;AAIM,MAAOkB,cAAe,sBAAQtB,OAAO,CAACuB,GAAG,CAAC,iCAAiC,CAAC,EAiF/E;AAEH;;;;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AAIM,MAAOG,gBAAiB,sBAAQzB,OAAO,CAACuB,GAAG,CAAC,kDAAkD,CAAC,EAkBlG;AAAAC,OAAA,CAAAC,gBAAA,GAAAA,gBAAA","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,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":[]}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.toRpcGroup = exports.toHttpApiGroup = void 0;
7
+ var HttpApiEndpoint = _interopRequireWildcard(require("@effect/platform/HttpApiEndpoint"));
8
+ var HttpApiGroup = _interopRequireWildcard(require("@effect/platform/HttpApiGroup"));
9
+ var Rpc = _interopRequireWildcard(require("@effect/rpc/Rpc"));
10
+ var RpcGroup = _interopRequireWildcard(require("@effect/rpc/RpcGroup"));
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ /**
13
+ * @since 1.0.0
14
+ */
15
+
16
+ /**
17
+ * Derives an `RpcGroup` from a list of workflows.
18
+ *
19
+ * ```ts
20
+ * import { RpcServer } from "@effect/rpc"
21
+ * import { Workflow, WorkflowProxy, WorkflowProxyServer } from "@effect/workflow"
22
+ * import { Layer, Schema } from "effect"
23
+ *
24
+ * const EmailWorkflow = Workflow.make({
25
+ * name: "EmailWorkflow",
26
+ * payload: {
27
+ * id: Schema.String,
28
+ * to: Schema.String
29
+ * },
30
+ * idempotencyKey: ({ id }) => id
31
+ * })
32
+ *
33
+ * const myWorkflows = [EmailWorkflow] as const
34
+ *
35
+ * // Use WorkflowProxy.toRpcGroup to create a `RpcGroup` from the
36
+ * // workflows
37
+ * class MyRpcs extends WorkflowProxy.toRpcGroup(myWorkflows) {}
38
+ *
39
+ * // Use WorkflowProxyServer.layerRpcHandlers to create a layer that implements
40
+ * // the rpc handlers
41
+ * const ApiLayer = RpcServer.layer(MyRpcs).pipe(
42
+ * Layer.provide(WorkflowProxyServer.layerRpcHandlers(myWorkflows))
43
+ * )
44
+ * ```
45
+ *
46
+ * @since 1.0.0
47
+ * @category Constructors
48
+ */
49
+ const toRpcGroup = (workflows, options) => {
50
+ const prefix = options?.prefix ?? "";
51
+ const rpcs = [];
52
+ for (const workflow of workflows) {
53
+ rpcs.push(Rpc.make(`${prefix}${workflow.name}`, {
54
+ payload: workflow.payloadSchema,
55
+ error: workflow.errorSchema,
56
+ success: workflow.successSchema
57
+ }).annotateContext(workflow.annotations), Rpc.make(`${prefix}${workflow.name}Discard`, {
58
+ payload: workflow.payloadSchema
59
+ }).annotateContext(workflow.annotations));
60
+ }
61
+ return RpcGroup.make(...rpcs);
62
+ };
63
+ /**
64
+ * Derives an `HttpApiGroup` from a list of workflows.
65
+ *
66
+ * ```ts
67
+ * import { HttpApi, HttpApiBuilder } from "@effect/platform"
68
+ * import { Workflow, WorkflowProxy, WorkflowProxyServer } from "@effect/workflow"
69
+ * import { Layer, Schema } from "effect"
70
+ *
71
+ * const EmailWorkflow = Workflow.make({
72
+ * name: "EmailWorkflow",
73
+ * payload: {
74
+ * id: Schema.String,
75
+ * to: Schema.String
76
+ * },
77
+ * idempotencyKey: ({ id }) => id
78
+ * })
79
+ *
80
+ * const myWorkflows = [EmailWorkflow] as const
81
+ *
82
+ * // Use WorkflowProxy.toHttpApiGroup to create a `HttpApiGroup` from the
83
+ * // workflows
84
+ * class MyApi extends HttpApi.make("api")
85
+ * .add(WorkflowProxy.toHttpApiGroup("workflows", myWorkflows))
86
+ * {}
87
+ *
88
+ * // Use WorkflowProxyServer.layerHttpApi to create a layer that implements the
89
+ * // workflows HttpApiGroup
90
+ * const ApiLayer = HttpApiBuilder.api(MyApi).pipe(
91
+ * Layer.provide(WorkflowProxyServer.layerHttpApi(MyApi, "workflows", myWorkflows))
92
+ * )
93
+ * ```
94
+ *
95
+ * @since 1.0.0
96
+ * @category Constructors
97
+ */
98
+ exports.toRpcGroup = toRpcGroup;
99
+ const toHttpApiGroup = (name, workflows) => {
100
+ let group = HttpApiGroup.make(name);
101
+ for (const workflow of workflows) {
102
+ const path = `/${tagToPath(workflow.name)}`;
103
+ group = group.add(HttpApiEndpoint.post(workflow.name, path).setPayload(workflow.payloadSchema).addSuccess(workflow.successSchema).addError(workflow.errorSchema).annotateContext(workflow.annotations)).add(HttpApiEndpoint.post(workflow.name + "Discard", `${path}/discard`).setPayload(workflow.payloadSchema).annotateContext(workflow.annotations));
104
+ }
105
+ return group;
106
+ };
107
+ exports.toHttpApiGroup = toHttpApiGroup;
108
+ const tagToPath = tag => tag.replace(/[^a-zA-Z0-9]+/g, "-") // Replace non-alphanumeric characters with hyphen
109
+ .replace(/([a-z])([A-Z])/g, "$1-$2") // Insert hyphen before uppercase letters
110
+ .toLowerCase();
111
+ //# sourceMappingURL=WorkflowProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowProxy.js","names":["HttpApiEndpoint","_interopRequireWildcard","require","HttpApiGroup","Rpc","RpcGroup","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","toRpcGroup","workflows","options","prefix","rpcs","workflow","push","make","name","payload","payloadSchema","error","errorSchema","success","successSchema","annotateContext","annotations","exports","toHttpApiGroup","group","path","tagToPath","add","post","setPayload","addSuccess","addError","tag","replace","toLowerCase"],"sources":["../../src/WorkflowProxy.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.layerRpcHandlers = exports.layerHttpApi = void 0;
7
+ var HttpApiBuilder = _interopRequireWildcard(require("@effect/platform/HttpApiBuilder"));
8
+ var Context = _interopRequireWildcard(require("effect/Context"));
9
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
10
+ var Layer = _interopRequireWildcard(require("effect/Layer"));
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ /**
13
+ * @since 1.0.0
14
+ * @category Layers
15
+ */
16
+ const layerHttpApi = (api, name, workflows) => HttpApiBuilder.group(api, name, Effect.fnUntraced(function* (handlers_) {
17
+ let handlers = handlers_;
18
+ for (const workflow_ of workflows) {
19
+ const workflow = workflow_;
20
+ handlers = handlers.handle(workflow.name, ({
21
+ payload
22
+ }) => workflow.execute(payload)).handle(workflow.name + "Discard", ({
23
+ payload
24
+ }) => workflow.execute(payload, {
25
+ discard: true
26
+ }));
27
+ }
28
+ return handlers;
29
+ }));
30
+ /**
31
+ * @since 1.0.0
32
+ * @category Layers
33
+ */
34
+ exports.layerHttpApi = layerHttpApi;
35
+ const layerRpcHandlers = (workflows, options) => Layer.effectContext(Effect.gen(function* () {
36
+ const context = yield* Effect.context();
37
+ const prefix = options?.prefix ?? "";
38
+ const handlers = new Map();
39
+ for (const workflow_ of workflows) {
40
+ const workflow = workflow_;
41
+ const tag = `${prefix}${workflow.name}`;
42
+ const tagDiscard = `${tag}Discard`;
43
+ const key = `@effect/rpc/Rpc/${tag}`;
44
+ const keyDiscard = `${key}Discard`;
45
+ handlers.set(key, {
46
+ context,
47
+ tag,
48
+ handler: payload => workflow.execute(payload)
49
+ });
50
+ handlers.set(keyDiscard, {
51
+ context,
52
+ tag: tagDiscard,
53
+ handler: payload => workflow.execute(payload, {
54
+ discard: true
55
+ })
56
+ });
57
+ }
58
+ return Context.unsafeMake(handlers);
59
+ }));
60
+ exports.layerRpcHandlers = layerRpcHandlers;
61
+ //# sourceMappingURL=WorkflowProxyServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowProxyServer.js","names":["HttpApiBuilder","_interopRequireWildcard","require","Context","Effect","Layer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","layerHttpApi","api","name","workflows","group","fnUntraced","handlers_","handlers","workflow_","workflow","handle","payload","execute","discard","exports","layerRpcHandlers","options","effectContext","gen","context","prefix","Map","tag","tagDiscard","key","keyDiscard","handler","unsafeMake"],"sources":["../../src/WorkflowProxyServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}