@effect/workflow 0.12.2 → 0.12.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/DurableRateLimiter/package.json +6 -0
- package/dist/cjs/DurableClock.js +13 -0
- package/dist/cjs/DurableClock.js.map +1 -1
- package/dist/cjs/DurableRateLimiter.js +36 -0
- package/dist/cjs/DurableRateLimiter.js.map +1 -0
- package/dist/cjs/Workflow.js +1 -1
- package/dist/cjs/Workflow.js.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/dts/DurableClock.d.ts +7 -0
- package/dist/dts/DurableClock.d.ts.map +1 -1
- package/dist/dts/DurableRateLimiter.d.ts +20 -0
- package/dist/dts/DurableRateLimiter.d.ts.map +1 -0
- package/dist/dts/index.d.ts +4 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/DurableClock.js +13 -0
- package/dist/esm/DurableClock.js.map +1 -1
- package/dist/esm/DurableRateLimiter.js +27 -0
- package/dist/esm/DurableRateLimiter.js.map +1 -0
- package/dist/esm/Workflow.js +1 -1
- package/dist/esm/Workflow.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +12 -3
- package/src/DurableClock.ts +27 -0
- package/src/DurableRateLimiter.ts +43 -0
- package/src/Workflow.ts +1 -1
- package/src/index.ts +5 -0
package/dist/cjs/DurableClock.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.sleep = exports.make = exports.TypeId = void 0;
|
|
|
7
7
|
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
8
8
|
var Duration = _interopRequireWildcard(require("effect/Duration"));
|
|
9
9
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
10
|
+
var Activity = _interopRequireWildcard(require("./Activity.js"));
|
|
10
11
|
var DurableDeferred = _interopRequireWildcard(require("./DurableDeferred.js"));
|
|
11
12
|
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
|
/**
|
|
@@ -36,6 +37,17 @@ const InstanceTag = /*#__PURE__*/Context.GenericTag("@effect/workflow/WorkflowEn
|
|
|
36
37
|
* @category Sleeping
|
|
37
38
|
*/
|
|
38
39
|
const sleep = exports.sleep = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
40
|
+
const duration = Duration.decode(options.duration);
|
|
41
|
+
if (Duration.isZero(duration)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const inMemoryThreshold = options.inMemoryThreshold ? Duration.decode(options.inMemoryThreshold) : defaultInMemoryThreshold;
|
|
45
|
+
if (Duration.lessThanOrEqualTo(duration, inMemoryThreshold)) {
|
|
46
|
+
return yield* Activity.make({
|
|
47
|
+
name: `DurableClock/${options.name}`,
|
|
48
|
+
execute: Effect.sleep(duration)
|
|
49
|
+
});
|
|
50
|
+
}
|
|
39
51
|
const engine = yield* EngineTag;
|
|
40
52
|
const instance = yield* InstanceTag;
|
|
41
53
|
const clock = make(options);
|
|
@@ -46,4 +58,5 @@ const sleep = exports.sleep = /*#__PURE__*/Effect.fnUntraced(function* (options)
|
|
|
46
58
|
});
|
|
47
59
|
return yield* DurableDeferred.await(clock.deferred);
|
|
48
60
|
});
|
|
61
|
+
const defaultInMemoryThreshold = /*#__PURE__*/Duration.seconds(60);
|
|
49
62
|
//# sourceMappingURL=DurableClock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurableClock.js","names":["Context","_interopRequireWildcard","require","Duration","Effect","DurableDeferred","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","name","duration","decode","deferred","EngineTag","GenericTag","InstanceTag","sleep","fnUntraced","engine","instance","clock","scheduleClock","workflow","executionId","await"],"sources":["../../src/DurableClock.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,uBAAA,CAAAC,OAAA;AAEA,IAAAG,
|
|
1
|
+
{"version":3,"file":"DurableClock.js","names":["Context","_interopRequireWildcard","require","Duration","Effect","Activity","DurableDeferred","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","name","duration","decode","deferred","EngineTag","GenericTag","InstanceTag","sleep","fnUntraced","isZero","inMemoryThreshold","defaultInMemoryThreshold","lessThanOrEqualTo","execute","engine","instance","clock","scheduleClock","workflow","executionId","await","seconds"],"sources":["../../src/DurableClock.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.rateLimit = void 0;
|
|
7
|
+
var RateLimiter = _interopRequireWildcard(require("@effect/experimental/RateLimiter"));
|
|
8
|
+
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
9
|
+
var Activity = _interopRequireWildcard(require("./Activity.js"));
|
|
10
|
+
var DurableClock = _interopRequireWildcard(require("./DurableClock.js"));
|
|
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
|
+
* @since 1.0.0
|
|
18
|
+
* @category Accessors
|
|
19
|
+
*/
|
|
20
|
+
const rateLimit = options => Activity.make({
|
|
21
|
+
name: `DurableRateLimiter/${options.name}`,
|
|
22
|
+
error: RateLimiter.RateLimitStoreError,
|
|
23
|
+
execute: Effect.gen(function* () {
|
|
24
|
+
const limiter = yield* RateLimiter.RateLimiter;
|
|
25
|
+
const result = yield* limiter.consume({
|
|
26
|
+
onExceeded: "delay",
|
|
27
|
+
...options
|
|
28
|
+
}).pipe(Effect.catchIf(e => e.reason === "Exceeded", Effect.die));
|
|
29
|
+
return yield* DurableClock.sleep({
|
|
30
|
+
name: `DurableRateLimiter/${options.name}`,
|
|
31
|
+
duration: result.delay
|
|
32
|
+
});
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
exports.rateLimit = rateLimit;
|
|
36
|
+
//# sourceMappingURL=DurableRateLimiter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DurableRateLimiter.js","names":["RateLimiter","_interopRequireWildcard","require","Effect","Activity","DurableClock","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","rateLimit","options","make","name","error","RateLimitStoreError","execute","gen","limiter","result","consume","onExceeded","pipe","catchIf","reason","die","sleep","duration","delay","exports"],"sources":["../../src/DurableRateLimiter.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAF,uBAAA,CAAAC,OAAA;AAEA,IAAAE,QAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,YAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAAiD,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,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;AARjD;;;;AAUA;;;;AAIO,MAAMkB,SAAS,GAAIC,OAOzB,IAKCtB,QAAQ,CAACuB,IAAI,CAAC;EACZC,IAAI,EAAE,sBAAsBF,OAAO,CAACE,IAAI,EAAE;EAC1CC,KAAK,EAAE7B,WAAW,CAAC8B,mBAAmB;EACtCC,OAAO,EAAE5B,MAAM,CAAC6B,GAAG,CAAC,aAAS;IAC3B,MAAMC,OAAO,GAAG,OAAOjC,WAAW,CAACA,WAAW;IAC9C,MAAMkC,MAAM,GAAG,OAAOD,OAAO,CAACE,OAAO,CAAC;MACpCC,UAAU,EAAE,OAAO;MACnB,GAAGV;KACJ,CAAC,CAACW,IAAI,CACLlC,MAAM,CAACmC,OAAO,CAAEhC,CAAC,IAAKA,CAAC,CAACiC,MAAM,KAAK,UAAU,EAAEpC,MAAM,CAACqC,GAAG,CAAC,CAC3D;IACD,OAAO,OAAOnC,YAAY,CAACoC,KAAK,CAAC;MAC/Bb,IAAI,EAAE,sBAAsBF,OAAO,CAACE,IAAI,EAAE;MAC1Cc,QAAQ,EAAER,MAAM,CAACS;KAClB,CAAC;EACJ,CAAC;CACF,CAAC;AAAAC,OAAA,CAAAnB,SAAA,GAAAA,SAAA","ignoreList":[]}
|
package/dist/cjs/Workflow.js
CHANGED
|
@@ -92,7 +92,7 @@ const make = options => {
|
|
|
92
92
|
});
|
|
93
93
|
if (Option.isSome(parentInstance)) {
|
|
94
94
|
result = yield* run;
|
|
95
|
-
if (result._tag === "Suspended") {
|
|
95
|
+
if (result._tag === "Suspended" && !result.cause) {
|
|
96
96
|
yield* engine.resume(self, executionId);
|
|
97
97
|
result = yield* wrapActivityResult(run, result => result._tag === "Suspended");
|
|
98
98
|
}
|
package/dist/cjs/Workflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.js","names":["Cause","_interopRequireWildcard","require","Context","Data","Effect","Exit","Fiber","_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","parentInstance","serviceOption","result","isSome","instance","addFinalizer","interrupted","_tag","void","interrupt","discard","workflow","run","parent","getOrUndefined","resume","wrapActivityResult","suspend","exit","sleep","driver","next","pipe","catchAll","dieMessage","withSpan","captureStackTrace","poll","effect","attributes","toLayer","scopedContext","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","cause","optional","Result","Union","intoResult","contextWithEffect","captureDefects","CaptureDefects","suspendOnFailure","SuspendOnFailure","fork","flatMap","fiber","onInterrupt","join","interruptible","catchAllCause","suspended","isInterruptedOnly","die","squash","identity","scoped","matchCauseEffect","onSuccess","succeed","onFailure","isDie","failCause","uninterruptible","isSuspend","state","activityState","count","latch","await","andThen","yieldNow","unsafeClose","onExit","isSuspended","isSuccess","sequential","open","dual","compensation","uninterruptibleMask","restore","tap","async","getOrThrow","getCurrentFiber","unsafeInterruptAsFork","id","Reference","defaultValue","constTrue","constFalse"],"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","Fiber","_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","parentInstance","serviceOption","result","isSome","instance","addFinalizer","interrupted","_tag","void","interrupt","discard","workflow","run","parent","getOrUndefined","cause","resume","wrapActivityResult","suspend","exit","sleep","driver","next","pipe","catchAll","dieMessage","withSpan","captureStackTrace","poll","effect","attributes","toLayer","scopedContext","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","optional","Result","Union","intoResult","contextWithEffect","captureDefects","CaptureDefects","suspendOnFailure","SuspendOnFailure","fork","flatMap","fiber","onInterrupt","join","interruptible","catchAllCause","suspended","isInterruptedOnly","die","squash","identity","scoped","matchCauseEffect","onSuccess","succeed","onFailure","isDie","failCause","uninterruptible","isSuspend","state","activityState","count","latch","await","andThen","yieldNow","unsafeClose","onExit","isSuspended","isSuccess","sequential","open","dual","compensation","uninterruptibleMask","restore","tap","async","getOrThrow","getCurrentFiber","unsafeInterruptAsFork","id","Reference","defaultValue","constTrue","constFalse"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WorkflowProxyServer = exports.WorkflowProxy = exports.WorkflowEngine = exports.Workflow = exports.DurableDeferred = exports.DurableClock = exports.Activity = void 0;
|
|
6
|
+
exports.WorkflowProxyServer = exports.WorkflowProxy = exports.WorkflowEngine = exports.Workflow = exports.DurableRateLimiter = exports.DurableDeferred = exports.DurableClock = exports.Activity = void 0;
|
|
7
7
|
var _Activity = _interopRequireWildcard(require("./Activity.js"));
|
|
8
8
|
exports.Activity = _Activity;
|
|
9
9
|
var _DurableClock = _interopRequireWildcard(require("./DurableClock.js"));
|
|
10
10
|
exports.DurableClock = _DurableClock;
|
|
11
11
|
var _DurableDeferred = _interopRequireWildcard(require("./DurableDeferred.js"));
|
|
12
12
|
exports.DurableDeferred = _DurableDeferred;
|
|
13
|
+
var _DurableRateLimiter = _interopRequireWildcard(require("./DurableRateLimiter.js"));
|
|
14
|
+
exports.DurableRateLimiter = _DurableRateLimiter;
|
|
13
15
|
var _Workflow = _interopRequireWildcard(require("./Workflow.js"));
|
|
14
16
|
exports.Workflow = _Workflow;
|
|
15
17
|
var _WorkflowEngine = _interopRequireWildcard(require("./WorkflowEngine.js"));
|
|
@@ -38,5 +38,12 @@ export declare const make: (options: {
|
|
|
38
38
|
export declare const sleep: (options: {
|
|
39
39
|
readonly name: string;
|
|
40
40
|
readonly duration: Duration.DurationInput;
|
|
41
|
+
/**
|
|
42
|
+
* If the duration is less than or equal to this threshold, the clock will
|
|
43
|
+
* be executed in memory.
|
|
44
|
+
*
|
|
45
|
+
* Defaults to 60 seconds.
|
|
46
|
+
*/
|
|
47
|
+
readonly inMemoryThreshold?: Duration.DurationInput | undefined;
|
|
41
48
|
}) => Effect.Effect<void, never, WorkflowEngine | WorkflowInstance>;
|
|
42
49
|
//# sourceMappingURL=DurableClock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurableClock.d.ts","sourceRoot":"","sources":["../../src/DurableClock.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"DurableClock.d.ts","sourceRoot":"","sources":["../../src/DurableClock.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE3E;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAoD,CAAA;AAEhF;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;CACvE;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAA;CAC1C,KAAG,YAKF,CAAA;AAUF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAClB,OAAO,EAAE;IACP,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAA;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;CAChE,KACE,MAAM,CAAC,MAAM,CAChB,IAAI,EACJ,KAAK,EACL,cAAc,GAAG,gBAAgB,CA+BjC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as RateLimiter from "@effect/experimental/RateLimiter";
|
|
5
|
+
import type * as Duration from "effect/Duration";
|
|
6
|
+
import type * as Schema from "effect/Schema";
|
|
7
|
+
import * as Activity from "./Activity.js";
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category Accessors
|
|
11
|
+
*/
|
|
12
|
+
export declare const rateLimit: (options: {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly algorithm?: "fixed-window" | "token-bucket" | undefined;
|
|
15
|
+
readonly window: Duration.DurationInput;
|
|
16
|
+
readonly limit: number;
|
|
17
|
+
readonly key: string;
|
|
18
|
+
readonly tokens?: number | undefined;
|
|
19
|
+
}) => Activity.Activity<typeof Schema.Void, typeof RateLimiter.RateLimitStoreError, RateLimiter.RateLimiter>;
|
|
20
|
+
//# sourceMappingURL=DurableRateLimiter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DurableRateLimiter.d.ts","sourceRoot":"","sources":["../../src/DurableRateLimiter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kCAAkC,CAAA;AAC/D,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAEhD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAGzC;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,QAAQ,CAAC,QAAQ,CACnB,OAAO,MAAM,CAAC,IAAI,EAClB,OAAO,WAAW,CAAC,mBAAmB,EACtC,WAAW,CAAC,WAAW,CAkBrB,CAAA"}
|
package/dist/dts/index.d.ts
CHANGED
|
@@ -10,6 +10,10 @@ export * as DurableClock from "./DurableClock.js";
|
|
|
10
10
|
* @since 1.0.0
|
|
11
11
|
*/
|
|
12
12
|
export * as DurableDeferred from "./DurableDeferred.js";
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
*/
|
|
16
|
+
export * as DurableRateLimiter from "./DurableRateLimiter.js";
|
|
13
17
|
/**
|
|
14
18
|
* @since 1.0.0
|
|
15
19
|
*/
|
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAE7D;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA"}
|
package/dist/esm/DurableClock.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as Context from "effect/Context";
|
|
5
5
|
import * as Duration from "effect/Duration";
|
|
6
6
|
import * as Effect from "effect/Effect";
|
|
7
|
+
import * as Activity from "./Activity.js";
|
|
7
8
|
import * as DurableDeferred from "./DurableDeferred.js";
|
|
8
9
|
/**
|
|
9
10
|
* @since 1.0.0
|
|
@@ -27,6 +28,17 @@ const InstanceTag = /*#__PURE__*/Context.GenericTag("@effect/workflow/WorkflowEn
|
|
|
27
28
|
* @category Sleeping
|
|
28
29
|
*/
|
|
29
30
|
export const sleep = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
31
|
+
const duration = Duration.decode(options.duration);
|
|
32
|
+
if (Duration.isZero(duration)) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const inMemoryThreshold = options.inMemoryThreshold ? Duration.decode(options.inMemoryThreshold) : defaultInMemoryThreshold;
|
|
36
|
+
if (Duration.lessThanOrEqualTo(duration, inMemoryThreshold)) {
|
|
37
|
+
return yield* Activity.make({
|
|
38
|
+
name: `DurableClock/${options.name}`,
|
|
39
|
+
execute: Effect.sleep(duration)
|
|
40
|
+
});
|
|
41
|
+
}
|
|
30
42
|
const engine = yield* EngineTag;
|
|
31
43
|
const instance = yield* InstanceTag;
|
|
32
44
|
const clock = make(options);
|
|
@@ -37,4 +49,5 @@ export const sleep = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
37
49
|
});
|
|
38
50
|
return yield* DurableDeferred.await(clock.deferred);
|
|
39
51
|
});
|
|
52
|
+
const defaultInMemoryThreshold = /*#__PURE__*/Duration.seconds(60);
|
|
40
53
|
//# sourceMappingURL=DurableClock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DurableClock.js","names":["Context","Duration","Effect","DurableDeferred","TypeId","Symbol","for","make","options","name","duration","decode","deferred","EngineTag","GenericTag","InstanceTag","sleep","fnUntraced","engine","instance","clock","scheduleClock","workflow","executionId","await"],"sources":["../../src/DurableClock.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAGvD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,+BAA+B,CAAC;AAmBhF;;;;AAIA,OAAO,MAAMC,IAAI,GAAIC,OAGpB,KAAoB;EACnB,CAACJ,MAAM,GAAGA,MAAM;EAChBK,IAAI,EAAED,OAAO,CAACC,IAAI;EAClBC,QAAQ,
|
|
1
|
+
{"version":3,"file":"DurableClock.js","names":["Context","Duration","Effect","Activity","DurableDeferred","TypeId","Symbol","for","make","options","name","duration","decode","deferred","EngineTag","GenericTag","InstanceTag","sleep","fnUntraced","isZero","inMemoryThreshold","defaultInMemoryThreshold","lessThanOrEqualTo","execute","engine","instance","clock","scheduleClock","workflow","executionId","await","seconds"],"sources":["../../src/DurableClock.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAGvD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,+BAA+B,CAAC;AAmBhF;;;;AAIA,OAAO,MAAMC,IAAI,GAAIC,OAGpB,KAAoB;EACnB,CAACJ,MAAM,GAAGA,MAAM;EAChBK,IAAI,EAAED,OAAO,CAACC,IAAI;EAClBC,QAAQ,EAAEV,QAAQ,CAACW,MAAM,CAACH,OAAO,CAACE,QAAQ,CAAC;EAC3CE,QAAQ,EAAET,eAAe,CAACI,IAAI,CAAC,gBAAgBC,OAAO,CAACC,IAAI,EAAE;CAC9D,CAAC;AAEF,MAAMI,SAAS,gBAAGd,OAAO,CAACe,UAAU,CAClC,iCAAqE,CACtE;AAED,MAAMC,WAAW,gBAAGhB,OAAO,CAACe,UAAU,CACpC,kDAAwF,CACzF;AAED;;;;AAIA,OAAO,MAAME,KAAK,gBAgBdf,MAAM,CAACgB,UAAU,CAAC,WAAUT,OAI/B;EACC,MAAME,QAAQ,GAAGV,QAAQ,CAACW,MAAM,CAACH,OAAO,CAACE,QAAQ,CAAC;EAClD,IAAIV,QAAQ,CAACkB,MAAM,CAACR,QAAQ,CAAC,EAAE;IAC7B;EACF;EAEA,MAAMS,iBAAiB,GAAGX,OAAO,CAACW,iBAAiB,GAC/CnB,QAAQ,CAACW,MAAM,CAACH,OAAO,CAACW,iBAAiB,CAAC,GAC1CC,wBAAwB;EAE5B,IAAIpB,QAAQ,CAACqB,iBAAiB,CAACX,QAAQ,EAAES,iBAAiB,CAAC,EAAE;IAC3D,OAAO,OAAOjB,QAAQ,CAACK,IAAI,CAAC;MAC1BE,IAAI,EAAE,gBAAgBD,OAAO,CAACC,IAAI,EAAE;MACpCa,OAAO,EAAErB,MAAM,CAACe,KAAK,CAACN,QAAQ;KAC/B,CAAC;EACJ;EAEA,MAAMa,MAAM,GAAG,OAAOV,SAAS;EAC/B,MAAMW,QAAQ,GAAG,OAAOT,WAAW;EACnC,MAAMU,KAAK,GAAGlB,IAAI,CAACC,OAAO,CAAC;EAC3B,OAAOe,MAAM,CAACG,aAAa,CAAC;IAC1BC,QAAQ,EAAEH,QAAQ,CAACG,QAAQ;IAC3BC,WAAW,EAAEJ,QAAQ,CAACI,WAAW;IACjCH;GACD,CAAC;EACF,OAAO,OAAOtB,eAAe,CAAC0B,KAAK,CAACJ,KAAK,CAACb,QAAQ,CAAC;AACrD,CAAC,CAAC;AAEF,MAAMQ,wBAAwB,gBAAGpB,QAAQ,CAAC8B,OAAO,CAAC,EAAE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as RateLimiter from "@effect/experimental/RateLimiter";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
import * as Activity from "./Activity.js";
|
|
7
|
+
import * as DurableClock from "./DurableClock.js";
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category Accessors
|
|
11
|
+
*/
|
|
12
|
+
export const rateLimit = options => Activity.make({
|
|
13
|
+
name: `DurableRateLimiter/${options.name}`,
|
|
14
|
+
error: RateLimiter.RateLimitStoreError,
|
|
15
|
+
execute: Effect.gen(function* () {
|
|
16
|
+
const limiter = yield* RateLimiter.RateLimiter;
|
|
17
|
+
const result = yield* limiter.consume({
|
|
18
|
+
onExceeded: "delay",
|
|
19
|
+
...options
|
|
20
|
+
}).pipe(Effect.catchIf(e => e.reason === "Exceeded", Effect.die));
|
|
21
|
+
return yield* DurableClock.sleep({
|
|
22
|
+
name: `DurableRateLimiter/${options.name}`,
|
|
23
|
+
duration: result.delay
|
|
24
|
+
});
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=DurableRateLimiter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DurableRateLimiter.js","names":["RateLimiter","Effect","Activity","DurableClock","rateLimit","options","make","name","error","RateLimitStoreError","execute","gen","limiter","result","consume","onExceeded","pipe","catchIf","e","reason","die","sleep","duration","delay"],"sources":["../../src/DurableRateLimiter.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,WAAW,MAAM,kCAAkC;AAE/D,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;;AAIA,OAAO,MAAMC,SAAS,GAAIC,OAOzB,IAKCH,QAAQ,CAACI,IAAI,CAAC;EACZC,IAAI,EAAE,sBAAsBF,OAAO,CAACE,IAAI,EAAE;EAC1CC,KAAK,EAAER,WAAW,CAACS,mBAAmB;EACtCC,OAAO,EAAET,MAAM,CAACU,GAAG,CAAC,aAAS;IAC3B,MAAMC,OAAO,GAAG,OAAOZ,WAAW,CAACA,WAAW;IAC9C,MAAMa,MAAM,GAAG,OAAOD,OAAO,CAACE,OAAO,CAAC;MACpCC,UAAU,EAAE,OAAO;MACnB,GAAGV;KACJ,CAAC,CAACW,IAAI,CACLf,MAAM,CAACgB,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,KAAK,UAAU,EAAElB,MAAM,CAACmB,GAAG,CAAC,CAC3D;IACD,OAAO,OAAOjB,YAAY,CAACkB,KAAK,CAAC;MAC/Bd,IAAI,EAAE,sBAAsBF,OAAO,CAACE,IAAI,EAAE;MAC1Ce,QAAQ,EAAET,MAAM,CAACU;KAClB,CAAC;EACJ,CAAC;CACF,CAAC","ignoreList":[]}
|
package/dist/esm/Workflow.js
CHANGED
|
@@ -84,7 +84,7 @@ export const make = options => {
|
|
|
84
84
|
});
|
|
85
85
|
if (Option.isSome(parentInstance)) {
|
|
86
86
|
result = yield* run;
|
|
87
|
-
if (result._tag === "Suspended") {
|
|
87
|
+
if (result._tag === "Suspended" && !result.cause) {
|
|
88
88
|
yield* engine.resume(self, executionId);
|
|
89
89
|
result = yield* wrapActivityResult(run, result => result._tag === "Suspended");
|
|
90
90
|
}
|
package/dist/esm/Workflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.js","names":["Cause","Context","Data","Effect","Exit","Fiber","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","parentInstance","serviceOption","result","isSome","instance","addFinalizer","interrupted","_tag","void","interrupt","discard","workflow","run","parent","getOrUndefined","resume","wrapActivityResult","suspend","exit","sleep","driver","next","pipe","catchAll","dieMessage","withSpan","captureStackTrace","poll","effect","attributes","toLayer","scopedContext","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","cause","optional","Result","Union","intoResult","contextWithEffect","captureDefects","CaptureDefects","suspendOnFailure","SuspendOnFailure","fork","flatMap","fiber","onInterrupt","join","interruptible","catchAllCause","suspended","isInterruptedOnly","die","squash","scoped","matchCauseEffect","onSuccess","succeed","onFailure","isDie","failCause","uninterruptible","isSuspend","state","activityState","count","latch","await","andThen","yieldNow","unsafeClose","onExit","isSuspended","isSuccess","sequential","open","compensation","uninterruptibleMask","restore","tap","async","getOrThrow","getCurrentFiber","unsafeInterruptAsFork","id","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","Fiber","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","parentInstance","serviceOption","result","isSome","instance","addFinalizer","interrupted","_tag","void","interrupt","discard","workflow","run","parent","getOrUndefined","cause","resume","wrapActivityResult","suspend","exit","sleep","driver","next","pipe","catchAll","dieMessage","withSpan","captureStackTrace","poll","effect","attributes","toLayer","scopedContext","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","optional","Result","Union","intoResult","contextWithEffect","captureDefects","CaptureDefects","suspendOnFailure","SuspendOnFailure","fork","flatMap","fiber","onInterrupt","join","interruptible","catchAllCause","suspended","isInterruptedOnly","die","squash","scoped","matchCauseEffect","onSuccess","succeed","onFailure","isDie","failCause","uninterruptible","isSuspend","state","activityState","count","latch","await","andThen","yieldNow","unsafeClose","onExit","isSuspended","isSuccess","sequential","open","compensation","uninterruptibleMask","restore","tap","async","getOrThrow","getCurrentFiber","unsafeInterruptAsFork","id","Reference","defaultValue"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -10,6 +10,10 @@ export * as DurableClock from "./DurableClock.js";
|
|
|
10
10
|
* @since 1.0.0
|
|
11
11
|
*/
|
|
12
12
|
export * as DurableDeferred from "./DurableDeferred.js";
|
|
13
|
+
/**
|
|
14
|
+
* @since 1.0.0
|
|
15
|
+
*/
|
|
16
|
+
export * as DurableRateLimiter from "./DurableRateLimiter.js";
|
|
13
17
|
/**
|
|
14
18
|
* @since 1.0.0
|
|
15
19
|
*/
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Activity","DurableClock","DurableDeferred","Workflow","WorkflowEngine","WorkflowProxy","WorkflowProxyServer"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,mBAAmB,MAAM,0BAA0B","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["Activity","DurableClock","DurableDeferred","DurableRateLimiter","Workflow","WorkflowEngine","WorkflowProxy","WorkflowProxyServer"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,mBAAmB,MAAM,0BAA0B","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/workflow",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4",
|
|
4
4
|
"description": "Durable workflows for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
"sideEffects": [],
|
|
12
12
|
"homepage": "https://effect.website",
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"effect": "^3.19.
|
|
15
|
-
"@effect/
|
|
14
|
+
"effect": "^3.19.3",
|
|
15
|
+
"@effect/experimental": "^0.57.1",
|
|
16
|
+
"@effect/platform": "^0.93.2",
|
|
16
17
|
"@effect/rpc": "^0.72.1"
|
|
17
18
|
},
|
|
18
19
|
"publishConfig": {
|
|
@@ -43,6 +44,11 @@
|
|
|
43
44
|
"import": "./dist/esm/DurableDeferred.js",
|
|
44
45
|
"default": "./dist/cjs/DurableDeferred.js"
|
|
45
46
|
},
|
|
47
|
+
"./DurableRateLimiter": {
|
|
48
|
+
"types": "./dist/dts/DurableRateLimiter.d.ts",
|
|
49
|
+
"import": "./dist/esm/DurableRateLimiter.js",
|
|
50
|
+
"default": "./dist/cjs/DurableRateLimiter.js"
|
|
51
|
+
},
|
|
46
52
|
"./Workflow": {
|
|
47
53
|
"types": "./dist/dts/Workflow.d.ts",
|
|
48
54
|
"import": "./dist/esm/Workflow.js",
|
|
@@ -75,6 +81,9 @@
|
|
|
75
81
|
"DurableDeferred": [
|
|
76
82
|
"./dist/dts/DurableDeferred.d.ts"
|
|
77
83
|
],
|
|
84
|
+
"DurableRateLimiter": [
|
|
85
|
+
"./dist/dts/DurableRateLimiter.d.ts"
|
|
86
|
+
],
|
|
78
87
|
"Workflow": [
|
|
79
88
|
"./dist/dts/Workflow.d.ts"
|
|
80
89
|
],
|
package/src/DurableClock.ts
CHANGED
|
@@ -5,6 +5,7 @@ import * as Context from "effect/Context"
|
|
|
5
5
|
import * as Duration from "effect/Duration"
|
|
6
6
|
import * as Effect from "effect/Effect"
|
|
7
7
|
import type * as Schema from "effect/Schema"
|
|
8
|
+
import * as Activity from "./Activity.js"
|
|
8
9
|
import * as DurableDeferred from "./DurableDeferred.js"
|
|
9
10
|
import type { WorkflowEngine, WorkflowInstance } from "./WorkflowEngine.js"
|
|
10
11
|
|
|
@@ -61,6 +62,13 @@ export const sleep: (
|
|
|
61
62
|
options: {
|
|
62
63
|
readonly name: string
|
|
63
64
|
readonly duration: Duration.DurationInput
|
|
65
|
+
/**
|
|
66
|
+
* If the duration is less than or equal to this threshold, the clock will
|
|
67
|
+
* be executed in memory.
|
|
68
|
+
*
|
|
69
|
+
* Defaults to 60 seconds.
|
|
70
|
+
*/
|
|
71
|
+
readonly inMemoryThreshold?: Duration.DurationInput | undefined
|
|
64
72
|
}
|
|
65
73
|
) => Effect.Effect<
|
|
66
74
|
void,
|
|
@@ -69,7 +77,24 @@ export const sleep: (
|
|
|
69
77
|
> = Effect.fnUntraced(function*(options: {
|
|
70
78
|
readonly name: string
|
|
71
79
|
readonly duration: Duration.DurationInput
|
|
80
|
+
readonly inMemoryThreshold?: Duration.DurationInput | undefined
|
|
72
81
|
}) {
|
|
82
|
+
const duration = Duration.decode(options.duration)
|
|
83
|
+
if (Duration.isZero(duration)) {
|
|
84
|
+
return
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const inMemoryThreshold = options.inMemoryThreshold
|
|
88
|
+
? Duration.decode(options.inMemoryThreshold)
|
|
89
|
+
: defaultInMemoryThreshold
|
|
90
|
+
|
|
91
|
+
if (Duration.lessThanOrEqualTo(duration, inMemoryThreshold)) {
|
|
92
|
+
return yield* Activity.make({
|
|
93
|
+
name: `DurableClock/${options.name}`,
|
|
94
|
+
execute: Effect.sleep(duration)
|
|
95
|
+
})
|
|
96
|
+
}
|
|
97
|
+
|
|
73
98
|
const engine = yield* EngineTag
|
|
74
99
|
const instance = yield* InstanceTag
|
|
75
100
|
const clock = make(options)
|
|
@@ -80,3 +105,5 @@ export const sleep: (
|
|
|
80
105
|
})
|
|
81
106
|
return yield* DurableDeferred.await(clock.deferred)
|
|
82
107
|
})
|
|
108
|
+
|
|
109
|
+
const defaultInMemoryThreshold = Duration.seconds(60)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as RateLimiter from "@effect/experimental/RateLimiter"
|
|
5
|
+
import type * as Duration from "effect/Duration"
|
|
6
|
+
import * as Effect from "effect/Effect"
|
|
7
|
+
import type * as Schema from "effect/Schema"
|
|
8
|
+
import * as Activity from "./Activity.js"
|
|
9
|
+
import * as DurableClock from "./DurableClock.js"
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
* @category Accessors
|
|
14
|
+
*/
|
|
15
|
+
export const rateLimit = (options: {
|
|
16
|
+
readonly name: string
|
|
17
|
+
readonly algorithm?: "fixed-window" | "token-bucket" | undefined
|
|
18
|
+
readonly window: Duration.DurationInput
|
|
19
|
+
readonly limit: number
|
|
20
|
+
readonly key: string
|
|
21
|
+
readonly tokens?: number | undefined
|
|
22
|
+
}): Activity.Activity<
|
|
23
|
+
typeof Schema.Void,
|
|
24
|
+
typeof RateLimiter.RateLimitStoreError,
|
|
25
|
+
RateLimiter.RateLimiter
|
|
26
|
+
> =>
|
|
27
|
+
Activity.make({
|
|
28
|
+
name: `DurableRateLimiter/${options.name}`,
|
|
29
|
+
error: RateLimiter.RateLimitStoreError,
|
|
30
|
+
execute: Effect.gen(function*() {
|
|
31
|
+
const limiter = yield* RateLimiter.RateLimiter
|
|
32
|
+
const result = yield* limiter.consume({
|
|
33
|
+
onExceeded: "delay",
|
|
34
|
+
...options
|
|
35
|
+
}).pipe(
|
|
36
|
+
Effect.catchIf((e) => e.reason === "Exceeded", Effect.die)
|
|
37
|
+
)
|
|
38
|
+
return yield* DurableClock.sleep({
|
|
39
|
+
name: `DurableRateLimiter/${options.name}`,
|
|
40
|
+
duration: result.delay
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
|
+
})
|
package/src/Workflow.ts
CHANGED
|
@@ -336,7 +336,7 @@ export const make = <
|
|
|
336
336
|
})
|
|
337
337
|
if (Option.isSome(parentInstance)) {
|
|
338
338
|
result = yield* run
|
|
339
|
-
if (result._tag === "Suspended") {
|
|
339
|
+
if (result._tag === "Suspended" && !result.cause) {
|
|
340
340
|
yield* engine.resume(self, executionId)
|
|
341
341
|
result = yield* wrapActivityResult(run, (result) => result._tag === "Suspended")
|
|
342
342
|
}
|
package/src/index.ts
CHANGED