@effect/workflow 0.12.1 → 0.12.3

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.
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/cjs/DurableRateLimiter.js",
3
+ "module": "../dist/esm/DurableRateLimiter.js",
4
+ "types": "../dist/dts/DurableRateLimiter.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -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,eAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAAuD,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;AAPvD;;;;AAUA;;;;AAIO,MAAMkB,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAkBE,MAAM,CAACC,GAAG,CAAC,+BAA+B,CAAC;AAmBhF;;;;AAIO,MAAMC,IAAI,GAAIC,OAGpB,KAAoB;EACnB,CAACL,MAAM,GAAGA,MAAM;EAChBM,IAAI,EAAED,OAAO,CAACC,IAAI;EAClBC,QAAQ,EAAE7B,QAAQ,CAAC8B,MAAM,CAACH,OAAO,CAACE,QAAQ,CAAC;EAC3CE,QAAQ,EAAE7B,eAAe,CAACwB,IAAI,CAAC,gBAAgBC,OAAO,CAACC,IAAI,EAAE;CAC9D,CAAC;AAAAL,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAEF,MAAMM,SAAS,gBAAGnC,OAAO,CAACoC,UAAU,CAClC,iCAAqE,CACtE;AAED,MAAMC,WAAW,gBAAGrC,OAAO,CAACoC,UAAU,CACpC,kDAAwF,CACzF;AAED;;;;AAIO,MAAME,KAAK,GAAAZ,OAAA,CAAAY,KAAA,gBASdlC,MAAM,CAACmC,UAAU,CAAC,WAAUT,OAG/B;EACC,MAAMU,MAAM,GAAG,OAAOL,SAAS;EAC/B,MAAMM,QAAQ,GAAG,OAAOJ,WAAW;EACnC,MAAMK,KAAK,GAAGb,IAAI,CAACC,OAAO,CAAC;EAC3B,OAAOU,MAAM,CAACG,aAAa,CAAC;IAC1BC,QAAQ,EAAEH,QAAQ,CAACG,QAAQ;IAC3BC,WAAW,EAAEJ,QAAQ,CAACI,WAAW;IACjCH;GACD,CAAC;EACF,OAAO,OAAOrC,eAAe,CAACyC,KAAK,CAACJ,KAAK,CAACR,QAAQ,CAAC;AACrD,CAAC,CAAC","ignoreList":[]}
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":[]}
@@ -143,7 +143,7 @@ const make = options => {
143
143
  executionId
144
144
  }
145
145
  })),
146
- toLayer: execute => Layer.effectContext(Effect.gen(function* () {
146
+ toLayer: execute => Layer.scopedContext(Effect.gen(function* () {
147
147
  const context = yield* Effect.context();
148
148
  const engine = Context.get(context, EngineTag);
149
149
  yield* engine.register(self, (payload, executionId) => Effect.suspend(() => execute(payload, executionId)).pipe(Effect.mapInputContext(input => Context.merge(context, input))));
@@ -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","effectContext","gen","register","mapInputContext","input","withCompensation","exponential","union","spaced","fromTaggedRequest","schema","failure","ResultTypeId","isResult","u","hasProperty","Complete","TaggedClass","SchemaFromSelf","_options","declare","SchemaEncoded","defect","Defect","transform","decode","fromA","encode","toI","Suspended","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","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 +1 @@
1
- {"version":3,"file":"WorkflowEngine.js","names":["Context","_interopRequireWildcard","require","Effect","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WorkflowEngine","Tag","exports","WorkflowInstance","initial","workflow","executionId","of","suspended","interrupted","cause","undefined","activityState","count","latch","unsafeMakeLatch"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,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;AAQvC;;;;AAIM,MAAOkB,cAAe,sBAAQvB,OAAO,CAACwB,GAAG,CAAC,iCAAiC,CAAC,EA+F/E;AAEH;;;;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AAIM,MAAOG,gBAAiB,sBAAQ1B,OAAO,CAACwB,GAAG,CAAC,kDAAkD,CAAC,EAkClG;EACD,OAAOG,OAAOA,CAACC,QAAsB,EAAEC,WAAmB;IACxD,OAAOH,gBAAgB,CAACI,EAAE,CAAC;MACzBD,WAAW;MACXD,QAAQ;MACRG,SAAS,EAAE,KAAK;MAChBC,WAAW,EAAE,KAAK;MAClBC,KAAK,EAAEC,SAAS;MAChBC,aAAa,EAAE;QACbC,KAAK,EAAE,CAAC;QACRC,KAAK,EAAElC,MAAM,CAACmC,eAAe;;KAEhC,CAAC;EACJ","ignoreList":[]}
1
+ {"version":3,"file":"WorkflowEngine.js","names":["Context","_interopRequireWildcard","require","Effect","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WorkflowEngine","Tag","exports","WorkflowInstance","initial","workflow","executionId","of","suspended","interrupted","cause","undefined","activityState","count","latch","unsafeMakeLatch"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,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;AASvC;;;;AAIM,MAAOkB,cAAe,sBAAQvB,OAAO,CAACwB,GAAG,CAAC,iCAAiC,CAAC,EA+F/E;AAEH;;;;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AAIM,MAAOG,gBAAiB,sBAAQ1B,OAAO,CAACwB,GAAG,CAAC,kDAAkD,CAAC,EAkClG;EACD,OAAOG,OAAOA,CAACC,QAAsB,EAAEC,WAAmB;IACxD,OAAOH,gBAAgB,CAACI,EAAE,CAAC;MACzBD,WAAW;MACXD,QAAQ;MACRG,SAAS,EAAE,KAAK;MAChBC,WAAW,EAAE,KAAK;MAClBC,KAAK,EAAEC,SAAS;MAChBC,aAAa,EAAE;QACbC,KAAK,EAAE,CAAC;QACRC,KAAK,EAAElC,MAAM,CAACmC,eAAe;;KAEhC,CAAC;EACJ","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;AAC5C,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;CAC1C,KACE,MAAM,CAAC,MAAM,CAChB,IAAI,EACJ,KAAK,EACL,cAAc,GAAG,gBAAgB,CAcjC,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"}
@@ -6,6 +6,7 @@ import * as Context from "effect/Context";
6
6
  import * as Effect from "effect/Effect";
7
7
  import type * as Option from "effect/Option";
8
8
  import type * as Schema from "effect/Schema";
9
+ import type * as Scope from "effect/Scope";
9
10
  import type * as Activity from "./Activity.js";
10
11
  import type { DurableClock } from "./DurableClock.js";
11
12
  import type * as DurableDeferred from "./DurableDeferred.js";
@@ -14,7 +15,7 @@ declare const WorkflowEngine_base: Context.TagClass<WorkflowEngine, "@effect/wor
14
15
  /**
15
16
  * Register a workflow with the engine.
16
17
  */
17
- readonly register: (workflow: Workflow.Any, execute: (payload: object, executionId: string) => Effect.Effect<unknown, unknown, WorkflowInstance | WorkflowEngine>) => Effect.Effect<void>;
18
+ readonly register: (workflow: Workflow.Any, execute: (payload: object, executionId: string) => Effect.Effect<unknown, unknown, WorkflowInstance | WorkflowEngine>) => Effect.Effect<void, never, Scope.Scope>;
18
19
  /**
19
20
  * Execute a registered workflow.
20
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowEngine.d.ts","sourceRoot":"","sources":["../../src/WorkflowEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowEngine.d.ts","sourceRoot":"","sources":["../../src/WorkflowEngine.ts"],"names":[],"mappings":"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"}
@@ -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
  */
@@ -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"}
@@ -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,EAAET,QAAQ,CAACU,MAAM,CAACH,OAAO,CAACE,QAAQ,CAAC;EAC3CE,QAAQ,EAAET,eAAe,CAACI,IAAI,CAAC,gBAAgBC,OAAO,CAACC,IAAI,EAAE;CAC9D,CAAC;AAEF,MAAMI,SAAS,gBAAGb,OAAO,CAACc,UAAU,CAClC,iCAAqE,CACtE;AAED,MAAMC,WAAW,gBAAGf,OAAO,CAACc,UAAU,CACpC,kDAAwF,CACzF;AAED;;;;AAIA,OAAO,MAAME,KAAK,gBASdd,MAAM,CAACe,UAAU,CAAC,WAAUT,OAG/B;EACC,MAAMU,MAAM,GAAG,OAAOL,SAAS;EAC/B,MAAMM,QAAQ,GAAG,OAAOJ,WAAW;EACnC,MAAMK,KAAK,GAAGb,IAAI,CAACC,OAAO,CAAC;EAC3B,OAAOU,MAAM,CAACG,aAAa,CAAC;IAC1BC,QAAQ,EAAEH,QAAQ,CAACG,QAAQ;IAC3BC,WAAW,EAAEJ,QAAQ,CAACI,WAAW;IACjCH;GACD,CAAC;EACF,OAAO,OAAOjB,eAAe,CAACqB,KAAK,CAACJ,KAAK,CAACR,QAAQ,CAAC;AACrD,CAAC,CAAC","ignoreList":[]}
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":[]}
@@ -135,7 +135,7 @@ export const make = options => {
135
135
  executionId
136
136
  }
137
137
  })),
138
- toLayer: execute => Layer.effectContext(Effect.gen(function* () {
138
+ toLayer: execute => Layer.scopedContext(Effect.gen(function* () {
139
139
  const context = yield* Effect.context();
140
140
  const engine = Context.get(context, EngineTag);
141
141
  yield* engine.register(self, (payload, executionId) => Effect.suspend(() => execute(payload, executionId)).pipe(Effect.mapInputContext(input => Context.merge(context, input))));
@@ -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","effectContext","gen","get","register","mapInputContext","input","withCompensation","exponential","union","spaced","fromTaggedRequest","schema","failure","ResultTypeId","isResult","u","hasProperty","Complete","TaggedClass","SchemaFromSelf","_options","declare","SchemaEncoded","defect","Defect","transform","decode","fromA","encode","toI","Suspended","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","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 +1 @@
1
- {"version":3,"file":"WorkflowEngine.js","names":["Context","Effect","WorkflowEngine","Tag","WorkflowInstance","initial","workflow","executionId","of","suspended","interrupted","cause","undefined","activityState","count","latch","unsafeMakeLatch"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAQvC;;;;AAIA,OAAM,MAAOC,cAAe,sBAAQF,OAAO,CAACG,GAAG,CAAC,iCAAiC,CAAC,EA+F/E;AAEH;;;;AAIA,OAAM,MAAOC,gBAAiB,sBAAQJ,OAAO,CAACG,GAAG,CAAC,kDAAkD,CAAC,EAkClG;EACD,OAAOE,OAAOA,CAACC,QAAsB,EAAEC,WAAmB;IACxD,OAAOH,gBAAgB,CAACI,EAAE,CAAC;MACzBD,WAAW;MACXD,QAAQ;MACRG,SAAS,EAAE,KAAK;MAChBC,WAAW,EAAE,KAAK;MAClBC,KAAK,EAAEC,SAAS;MAChBC,aAAa,EAAE;QACbC,KAAK,EAAE,CAAC;QACRC,KAAK,EAAEd,MAAM,CAACe,eAAe;;KAEhC,CAAC;EACJ","ignoreList":[]}
1
+ {"version":3,"file":"WorkflowEngine.js","names":["Context","Effect","WorkflowEngine","Tag","WorkflowInstance","initial","workflow","executionId","of","suspended","interrupted","cause","undefined","activityState","count","latch","unsafeMakeLatch"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AASvC;;;;AAIA,OAAM,MAAOC,cAAe,sBAAQF,OAAO,CAACG,GAAG,CAAC,iCAAiC,CAAC,EA+F/E;AAEH;;;;AAIA,OAAM,MAAOC,gBAAiB,sBAAQJ,OAAO,CAACG,GAAG,CAAC,kDAAkD,CAAC,EAkClG;EACD,OAAOE,OAAOA,CAACC,QAAsB,EAAEC,WAAmB;IACxD,OAAOH,gBAAgB,CAACI,EAAE,CAAC;MACzBD,WAAW;MACXD,QAAQ;MACRG,SAAS,EAAE,KAAK;MAChBC,WAAW,EAAE,KAAK;MAClBC,KAAK,EAAEC,SAAS;MAChBC,aAAa,EAAE;QACbC,KAAK,EAAE,CAAC;QACRC,KAAK,EAAEd,MAAM,CAACe,eAAe;;KAEhC,CAAC;EACJ","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
  */
@@ -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.1",
3
+ "version": "0.12.3",
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.0",
15
- "@effect/platform": "^0.93.0",
14
+ "effect": "^3.19.3",
15
+ "@effect/experimental": "^0.57.1",
16
+ "@effect/platform": "^0.93.1",
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
  ],
@@ -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
@@ -394,7 +394,7 @@ export const make = <
394
394
  })
395
395
  ),
396
396
  toLayer: (execute) =>
397
- Layer.effectContext(Effect.gen(function*() {
397
+ Layer.scopedContext(Effect.gen(function*() {
398
398
  const context = yield* Effect.context<WorkflowEngine>()
399
399
  const engine = Context.get(context, EngineTag)
400
400
  yield* engine.register(self, (payload, executionId) =>
@@ -6,6 +6,7 @@ import * as Context from "effect/Context"
6
6
  import * as Effect from "effect/Effect"
7
7
  import type * as Option from "effect/Option"
8
8
  import type * as Schema from "effect/Schema"
9
+ import type * as Scope from "effect/Scope"
9
10
  import type * as Activity from "./Activity.js"
10
11
  import type { DurableClock } from "./DurableClock.js"
11
12
  import type * as DurableDeferred from "./DurableDeferred.js"
@@ -27,7 +28,7 @@ export class WorkflowEngine extends Context.Tag("@effect/workflow/WorkflowEngine
27
28
  payload: object,
28
29
  executionId: string
29
30
  ) => Effect.Effect<unknown, unknown, WorkflowInstance | WorkflowEngine>
30
- ) => Effect.Effect<void>
31
+ ) => Effect.Effect<void, never, Scope.Scope>
31
32
 
32
33
  /**
33
34
  * Execute a registered workflow.
package/src/index.ts CHANGED
@@ -13,6 +13,11 @@ export * as DurableClock from "./DurableClock.js"
13
13
  */
14
14
  export * as DurableDeferred from "./DurableDeferred.js"
15
15
 
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export * as DurableRateLimiter from "./DurableRateLimiter.js"
20
+
16
21
  /**
17
22
  * @since 1.0.0
18
23
  */