@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.
- package/WorkflowProxy/package.json +6 -0
- package/WorkflowProxyServer/package.json +6 -0
- package/dist/cjs/Activity.js +17 -8
- package/dist/cjs/Activity.js.map +1 -1
- package/dist/cjs/DurableDeferred.js +40 -2
- package/dist/cjs/DurableDeferred.js.map +1 -1
- package/dist/cjs/Workflow.js +44 -21
- package/dist/cjs/Workflow.js.map +1 -1
- package/dist/cjs/WorkflowEngine.js +14 -1
- package/dist/cjs/WorkflowEngine.js.map +1 -1
- package/dist/cjs/WorkflowProxy.js +111 -0
- package/dist/cjs/WorkflowProxy.js.map +1 -0
- package/dist/cjs/WorkflowProxyServer.js +61 -0
- package/dist/cjs/WorkflowProxyServer.js.map +1 -0
- package/dist/cjs/index.js +5 -1
- package/dist/dts/Activity.d.ts +13 -6
- package/dist/dts/Activity.d.ts.map +1 -1
- package/dist/dts/DurableDeferred.d.ts +28 -1
- package/dist/dts/DurableDeferred.d.ts.map +1 -1
- package/dist/dts/Workflow.d.ts +28 -1
- package/dist/dts/Workflow.d.ts.map +1 -1
- package/dist/dts/WorkflowEngine.d.ts +6 -5
- package/dist/dts/WorkflowEngine.d.ts.map +1 -1
- package/dist/dts/WorkflowProxy.d.ts +90 -0
- package/dist/dts/WorkflowProxy.d.ts.map +1 -0
- package/dist/dts/WorkflowProxyServer.d.ts +27 -0
- package/dist/dts/WorkflowProxyServer.d.ts.map +1 -0
- package/dist/dts/index.d.ts +8 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/Activity.js +15 -6
- package/dist/esm/Activity.js.map +1 -1
- package/dist/esm/DurableDeferred.js +38 -1
- package/dist/esm/DurableDeferred.js.map +1 -1
- package/dist/esm/Workflow.js +41 -19
- package/dist/esm/Workflow.js.map +1 -1
- package/dist/esm/WorkflowEngine.js +14 -1
- package/dist/esm/WorkflowEngine.js.map +1 -1
- package/dist/esm/WorkflowProxy.js +101 -0
- package/dist/esm/WorkflowProxy.js.map +1 -0
- package/dist/esm/WorkflowProxyServer.js +52 -0
- package/dist/esm/WorkflowProxyServer.js.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +20 -2
- package/src/Activity.ts +47 -13
- package/src/DurableDeferred.ts +103 -2
- package/src/Workflow.ts +111 -22
- package/src/WorkflowEngine.ts +19 -10
- package/src/WorkflowProxy.ts +178 -0
- package/src/WorkflowProxyServer.ts +103 -0
- package/src/index.ts +10 -0
package/dist/cjs/Activity.js
CHANGED
|
@@ -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: () =>
|
|
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;
|
package/dist/cjs/Activity.js.map
CHANGED
|
@@ -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","
|
|
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","
|
|
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":[]}
|
package/dist/cjs/Workflow.js
CHANGED
|
@@ -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.
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
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.
|
|
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
|
package/dist/cjs/Workflow.js.map
CHANGED
|
@@ -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;
|
|
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":[]}
|