@effect/workflow 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/Activity/package.json +6 -0
  2. package/DurableClock/package.json +6 -0
  3. package/DurableDeferred/package.json +6 -0
  4. package/LICENSE +21 -0
  5. package/README.md +133 -0
  6. package/Workflow/package.json +6 -0
  7. package/WorkflowEngine/package.json +6 -0
  8. package/dist/cjs/Activity.js +100 -0
  9. package/dist/cjs/Activity.js.map +1 -0
  10. package/dist/cjs/DurableClock.js +49 -0
  11. package/dist/cjs/DurableClock.js.map +1 -0
  12. package/dist/cjs/DurableDeferred.js +158 -0
  13. package/dist/cjs/DurableDeferred.js.map +1 -0
  14. package/dist/cjs/Workflow.js +198 -0
  15. package/dist/cjs/Workflow.js.map +1 -0
  16. package/dist/cjs/WorkflowEngine.js +25 -0
  17. package/dist/cjs/WorkflowEngine.js.map +1 -0
  18. package/dist/cjs/index.js +18 -0
  19. package/dist/cjs/index.js.map +1 -0
  20. package/dist/cjs/internal/crypto.js +19 -0
  21. package/dist/cjs/internal/crypto.js.map +1 -0
  22. package/dist/dts/Activity.d.ts +70 -0
  23. package/dist/dts/Activity.d.ts.map +1 -0
  24. package/dist/dts/DurableClock.d.ts +42 -0
  25. package/dist/dts/DurableClock.d.ts.map +1 -0
  26. package/dist/dts/DurableDeferred.d.ts +252 -0
  27. package/dist/dts/DurableDeferred.d.ts.map +1 -0
  28. package/dist/dts/Workflow.d.ts +211 -0
  29. package/dist/dts/Workflow.d.ts.map +1 -0
  30. package/dist/dts/WorkflowEngine.d.ts +91 -0
  31. package/dist/dts/WorkflowEngine.d.ts.map +1 -0
  32. package/dist/dts/index.d.ts +21 -0
  33. package/dist/dts/index.d.ts.map +1 -0
  34. package/dist/dts/internal/crypto.d.ts +2 -0
  35. package/dist/dts/internal/crypto.d.ts.map +1 -0
  36. package/dist/esm/Activity.js +90 -0
  37. package/dist/esm/Activity.js.map +1 -0
  38. package/dist/esm/DurableClock.js +40 -0
  39. package/dist/esm/DurableClock.js.map +1 -0
  40. package/dist/esm/DurableDeferred.js +155 -0
  41. package/dist/esm/DurableDeferred.js.map +1 -0
  42. package/dist/esm/Workflow.js +183 -0
  43. package/dist/esm/Workflow.js.map +1 -0
  44. package/dist/esm/WorkflowEngine.js +15 -0
  45. package/dist/esm/WorkflowEngine.js.map +1 -0
  46. package/dist/esm/index.js +21 -0
  47. package/dist/esm/index.js.map +1 -0
  48. package/dist/esm/internal/crypto.js +11 -0
  49. package/dist/esm/internal/crypto.js.map +1 -0
  50. package/dist/esm/package.json +4 -0
  51. package/package.json +74 -0
  52. package/src/Activity.ts +177 -0
  53. package/src/DurableClock.ts +82 -0
  54. package/src/DurableDeferred.ts +461 -0
  55. package/src/Workflow.ts +401 -0
  56. package/src/WorkflowEngine.ts +122 -0
  57. package/src/index.ts +24 -0
  58. package/src/internal/crypto.ts +15 -0
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = exports.isResult = exports.intoResult = exports.fromTaggedRequest = exports.TypeId = exports.Suspended = exports.ResultTypeId = exports.Result = exports.Complete = void 0;
7
+ var Context = _interopRequireWildcard(require("effect/Context"));
8
+ var Data = _interopRequireWildcard(require("effect/Data"));
9
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
10
+ var Exit = _interopRequireWildcard(require("effect/Exit"));
11
+ var Layer = _interopRequireWildcard(require("effect/Layer"));
12
+ var Predicate = _interopRequireWildcard(require("effect/Predicate"));
13
+ var PrimaryKey = _interopRequireWildcard(require("effect/PrimaryKey"));
14
+ var Schedule = _interopRequireWildcard(require("effect/Schedule"));
15
+ var Schema = _interopRequireWildcard(require("effect/Schema"));
16
+ var _crypto = require("./internal/crypto.js");
17
+ 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); }
18
+ /**
19
+ * @since 1.0.0
20
+ */
21
+
22
+ /**
23
+ * @since 1.0.0
24
+ * @category Symbols
25
+ */
26
+ const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("@effect/workflow/Workflow");
27
+ const EngineTag = /*#__PURE__*/Context.GenericTag("@effect/workflow/WorkflowEngine");
28
+ const InstanceTag = /*#__PURE__*/Context.GenericTag("@effect/workflow/WorkflowEngine/WorkflowInstance");
29
+ /**
30
+ * @since 1.0.0
31
+ * @category Constructors
32
+ */
33
+ const make = options => {
34
+ const suspendedRetrySchedule = options.suspendedRetrySchedule ?? defaultRetrySchedule;
35
+ const makeExecutionId = payload => (0, _crypto.makeHashDigest)(`${options.name}-${options.idempotencyKey(payload)}`);
36
+ const self = {
37
+ [TypeId]: TypeId,
38
+ name: options.name,
39
+ payloadSchema: Schema.isSchema(options.payload) ? options.payload : Schema.Struct(options.payload),
40
+ successSchema: options.success ?? Schema.Void,
41
+ errorSchema: options.error ?? Schema.Never,
42
+ execute: Effect.fnUntraced(function* (fields, opts) {
43
+ const payload = self.payloadSchema.make(fields);
44
+ const engine = yield* EngineTag;
45
+ const executionId = yield* makeExecutionId(payload);
46
+ yield* Effect.annotateCurrentSpan({
47
+ executionId
48
+ });
49
+ if (opts?.discard) {
50
+ return yield* engine.execute({
51
+ workflow: self,
52
+ executionId,
53
+ payload,
54
+ discard: true
55
+ });
56
+ }
57
+ let sleep;
58
+ while (true) {
59
+ const result = yield* engine.execute({
60
+ workflow: self,
61
+ executionId,
62
+ payload,
63
+ discard: false
64
+ });
65
+ if (result._tag === "Complete") {
66
+ return yield* result.exit;
67
+ }
68
+ // @effect-diagnostics effect/floatingEffect:off
69
+ sleep ??= (yield* Schedule.driver(suspendedRetrySchedule)).next(void 0).pipe(Effect.catchAll(() => Effect.dieMessage(`${options.name}.execute: suspendedRetrySchedule exhausted`)));
70
+ yield* sleep;
71
+ }
72
+ }, Effect.withSpan(`${options.name}.execute`, {
73
+ captureStackTrace: false
74
+ })),
75
+ interrupt: Effect.fnUntraced(function* (executionId) {
76
+ const engine = yield* EngineTag;
77
+ yield* engine.interrupt(self, executionId);
78
+ }, (effect, executionId) => Effect.withSpan(effect, `${options.name}.interrupt`, {
79
+ captureStackTrace: false,
80
+ attributes: {
81
+ executionId
82
+ }
83
+ })),
84
+ toLayer: execute => Layer.effectContext(Effect.gen(function* () {
85
+ const context = yield* Effect.context();
86
+ const engine = Context.get(context, EngineTag);
87
+ yield* engine.register(self, (payload, executionId) => execute(payload, executionId).pipe(Effect.provide(context)));
88
+ return EngineTag.context(engine);
89
+ })),
90
+ executionId: payload => makeExecutionId(self.payloadSchema.make(payload))
91
+ };
92
+ return self;
93
+ };
94
+ exports.make = make;
95
+ const defaultRetrySchedule = /*#__PURE__*/Schedule.exponential(200, 1.5).pipe(/*#__PURE__*/Schedule.union(/*#__PURE__*/Schedule.spaced(30000)));
96
+ /**
97
+ * @since 1.0.0
98
+ * @category Constructors
99
+ */
100
+ const fromTaggedRequest = (schema, options) => make({
101
+ name: schema._tag,
102
+ payload: schema,
103
+ success: schema.success,
104
+ error: schema.failure,
105
+ idempotencyKey: PrimaryKey.value,
106
+ suspendedRetrySchedule: options?.suspendedRetrySchedule
107
+ });
108
+ /**
109
+ * @since 1.0.0
110
+ * @category Result
111
+ */
112
+ exports.fromTaggedRequest = fromTaggedRequest;
113
+ const ResultTypeId = exports.ResultTypeId = /*#__PURE__*/Symbol.for("@effect/workflow/Workflow/Result");
114
+ /**
115
+ * @since 1.0.0
116
+ * @category Result
117
+ */
118
+ const isResult = u => Predicate.hasProperty(u, ResultTypeId);
119
+ /**
120
+ * @since 1.0.0
121
+ * @category Result
122
+ */
123
+ exports.isResult = isResult;
124
+ class Complete extends /*#__PURE__*/Data.TaggedClass("Complete") {
125
+ /**
126
+ * @since 1.0.0
127
+ */
128
+ [ResultTypeId] = ResultTypeId;
129
+ /**
130
+ * @since 1.0.0
131
+ */
132
+ static SchemaFromSelf(_options) {
133
+ return Schema.declare(u => isResult(u) && u._tag === "Complete");
134
+ }
135
+ /**
136
+ * @since 1.0.0
137
+ */
138
+ static SchemaEncoded(options) {
139
+ return Schema.Struct({
140
+ _tag: Schema.tag("Complete"),
141
+ exit: Schema.Exit({
142
+ success: options.success,
143
+ failure: options.error,
144
+ defect: Schema.Defect
145
+ })
146
+ });
147
+ }
148
+ /**
149
+ * @since 1.0.0
150
+ */
151
+ static Schema(options) {
152
+ return Schema.transform(this.SchemaEncoded(options), this.SchemaFromSelf(options), {
153
+ decode(fromA) {
154
+ return new Complete({
155
+ exit: fromA.exit
156
+ });
157
+ },
158
+ encode(toI) {
159
+ return toI;
160
+ }
161
+ });
162
+ }
163
+ }
164
+ /**
165
+ * @since 1.0.0
166
+ * @category Result
167
+ */
168
+ exports.Complete = Complete;
169
+ class Suspended extends /*#__PURE__*/Schema.TaggedClass("@effect/workflow/Workflow/Suspended")("Suspended", {}) {
170
+ /**
171
+ * @since 1.0.0
172
+ */
173
+ [ResultTypeId] = ResultTypeId;
174
+ }
175
+ /**
176
+ * @since 1.0.0
177
+ * @category Result
178
+ */
179
+ exports.Suspended = Suspended;
180
+ const Result = options => Schema.Union(Complete.Schema(options), Suspended);
181
+ /**
182
+ * @since 1.0.0
183
+ * @category Result
184
+ */
185
+ exports.Result = Result;
186
+ const intoResult = effect => Effect.uninterruptibleMask(restore => Effect.withFiberRuntime(fiber => Effect.matchCause(restore(effect), {
187
+ onSuccess: value => new Complete({
188
+ exit: Exit.succeed(value)
189
+ }),
190
+ onFailure(cause) {
191
+ const instance = Context.unsafeGet(fiber.currentContext, InstanceTag);
192
+ return instance.suspended ? new Suspended() : new Complete({
193
+ exit: Exit.failCause(cause)
194
+ });
195
+ }
196
+ })));
197
+ exports.intoResult = intoResult;
198
+ //# sourceMappingURL=Workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Workflow.js","names":["Context","_interopRequireWildcard","require","Data","Effect","Exit","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","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"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WorkflowInstance = exports.WorkflowEngine = void 0;
7
+ var Context = _interopRequireWildcard(require("effect/Context"));
8
+ 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
+ * @since 1.0.0
11
+ */
12
+
13
+ /**
14
+ * @since 1.0.0
15
+ * @category Services
16
+ */
17
+ class WorkflowEngine extends /*#__PURE__*/Context.Tag("@effect/workflow/WorkflowEngine")() {}
18
+ /**
19
+ * @since 1.0.0
20
+ * @category Services
21
+ */
22
+ exports.WorkflowEngine = WorkflowEngine;
23
+ class WorkflowInstance extends /*#__PURE__*/Context.Tag("@effect/workflow/WorkflowEngine/WorkflowInstance")() {}
24
+ exports.WorkflowInstance = WorkflowInstance;
25
+ //# sourceMappingURL=WorkflowEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowEngine.js","names":["Context","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WorkflowEngine","Tag","exports","WorkflowInstance"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAHzC;;;;AAYA;;;;AAIM,MAAOkB,cAAe,sBAAQtB,OAAO,CAACuB,GAAG,CAAC,iCAAiC,CAAC,EAiF/E;AAEH;;;;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AAIM,MAAOG,gBAAiB,sBAAQzB,OAAO,CAACuB,GAAG,CAAC,kDAAkD,CAAC,EAkBlG;AAAAC,OAAA,CAAAC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WorkflowEngine = exports.Workflow = exports.DurableDeferred = exports.DurableClock = exports.Activity = void 0;
7
+ var _Activity = _interopRequireWildcard(require("./Activity.js"));
8
+ exports.Activity = _Activity;
9
+ var _DurableClock = _interopRequireWildcard(require("./DurableClock.js"));
10
+ exports.DurableClock = _DurableClock;
11
+ var _DurableDeferred = _interopRequireWildcard(require("./DurableDeferred.js"));
12
+ exports.DurableDeferred = _DurableDeferred;
13
+ var _Workflow = _interopRequireWildcard(require("./Workflow.js"));
14
+ exports.Workflow = _Workflow;
15
+ var _WorkflowEngine = _interopRequireWildcard(require("./WorkflowEngine.js"));
16
+ exports.WorkflowEngine = _WorkflowEngine;
17
+ 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); }
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.makeHashDigest = void 0;
7
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
8
+ 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
+ /** @internal */
10
+ const makeHashDigest = original => Effect.map(Effect.promise(() => crypto.subtle.digest("SHA-256", new TextEncoder().encode(original))), buffer => {
11
+ const data = new Uint8Array(buffer);
12
+ let hexString = "";
13
+ for (let i = 0; i < 16; i++) {
14
+ hexString += data[i].toString(16).padStart(2, "0");
15
+ }
16
+ return hexString;
17
+ });
18
+ exports.makeHashDigest = makeHashDigest;
19
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","names":["Effect","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","makeHashDigest","original","map","promise","crypto","subtle","digest","TextEncoder","encode","buffer","data","Uint8Array","hexString","toString","padStart","exports"],"sources":["../../../src/internal/crypto.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAuC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEvC;AACO,MAAMkB,cAAc,GAAIC,QAAgB,IAC7CvB,MAAM,CAACwB,GAAG,CACRxB,MAAM,CAACyB,OAAO,CAAC,MAAMC,MAAM,CAACC,MAAM,CAACC,MAAM,CAAC,SAAS,EAAE,IAAIC,WAAW,EAAE,CAACC,MAAM,CAACP,QAAQ,CAAC,CAAC,CAAC,EACxFQ,MAAM,IAAI;EACT,MAAMC,IAAI,GAAG,IAAIC,UAAU,CAACF,MAAM,CAAC;EACnC,IAAIG,SAAS,GAAG,EAAE;EAClB,KAAK,IAAIxB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAEA,CAAC,EAAE,EAAE;IAC3BwB,SAAS,IAAIF,IAAI,CAACtB,CAAC,CAAC,CAACyB,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACpD;EACA,OAAOF,SAAS;AAClB,CAAC,CACF;AAAAG,OAAA,CAAAf,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Context from "effect/Context";
5
+ import * as Effect from "effect/Effect";
6
+ import type * as Exit from "effect/Exit";
7
+ import * as Schema from "effect/Schema";
8
+ import type { WorkflowEngine, WorkflowInstance } from "./WorkflowEngine.js";
9
+ /**
10
+ * @since 1.0.0
11
+ * @category Symbols
12
+ */
13
+ export declare const TypeId: unique symbol;
14
+ /**
15
+ * @since 1.0.0
16
+ * @category Symbols
17
+ */
18
+ export type TypeId = typeof TypeId;
19
+ /**
20
+ * @since 1.0.0
21
+ * @category Models
22
+ */
23
+ export interface Activity<Success extends Schema.Schema.Any, Error extends Schema.Schema.All, R> extends Effect.Effect<Success["Type"], Error["Type"], Success["Context"] | Error["Context"] | R | WorkflowEngine | WorkflowInstance> {
24
+ readonly [TypeId]: TypeId;
25
+ readonly name: string;
26
+ readonly successSchema: Success;
27
+ readonly errorSchema: Error;
28
+ readonly exitSchema: Schema.Schema<Exit.Exit<Success["Type"], Error["Type"]>, Exit.Exit<Success["Encoded"], Error["Encoded"]>, Success["Context"] | Error["Context"]>;
29
+ readonly executeEncoded: Effect.Effect<Success["Encoded"], Error["Encoded"], Success["Context"] | Error["Context"] | R | WorkflowEngine | WorkflowInstance>;
30
+ }
31
+ /**
32
+ * @since 1.0.0
33
+ * @category Models
34
+ */
35
+ export interface Any {
36
+ readonly [TypeId]: TypeId;
37
+ readonly name: string;
38
+ readonly successSchema: Schema.Schema.Any;
39
+ readonly errorSchema: Schema.Schema.All;
40
+ readonly executeEncoded: Effect.Effect<any, any, any>;
41
+ }
42
+ /**
43
+ * @since 1.0.0
44
+ * @category Constructors
45
+ */
46
+ export declare const make: <R, Success extends Schema.Schema.Any = typeof Schema.Void, Error extends Schema.Schema.All = typeof Schema.Never>(options: {
47
+ readonly name: string;
48
+ readonly success?: Success;
49
+ readonly error?: Error;
50
+ readonly execute: Effect.Effect<Success["Type"], Error["Type"], R>;
51
+ }) => Activity<Success, Error, Exclude<R, WorkflowInstance | WorkflowEngine>>;
52
+ /**
53
+ * @since 1.0.0
54
+ * @category Error handling
55
+ */
56
+ export declare const retry: typeof Effect.retry;
57
+ declare const CurrentAttempt_base: Context.ReferenceClass<CurrentAttempt, "@effect/workflow/Activity/CurrentAttempt", number>;
58
+ /**
59
+ * @since 1.0.0
60
+ * @category Attempts
61
+ */
62
+ export declare class CurrentAttempt extends CurrentAttempt_base {
63
+ }
64
+ /**
65
+ * @since 1.0.0
66
+ * @category Execution ID
67
+ */
68
+ export declare const executionIdWithAttempt: Effect.Effect<string, never, WorkflowInstance>;
69
+ export {};
70
+ //# sourceMappingURL=Activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Activity.d.ts","sourceRoot":"","sources":["../../src/Activity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import * as Duration from "effect/Duration";
2
+ import * as Effect from "effect/Effect";
3
+ import type * as Schema from "effect/Schema";
4
+ import * as DurableDeferred from "./DurableDeferred.js";
5
+ import type { WorkflowEngine, WorkflowInstance } from "./WorkflowEngine.js";
6
+ /**
7
+ * @since 1.0.0
8
+ * @category Symbols
9
+ */
10
+ export declare const TypeId: unique symbol;
11
+ /**
12
+ * @since 1.0.0
13
+ * @category Symbols
14
+ */
15
+ export type TypeId = typeof TypeId;
16
+ /**
17
+ * @since 1.0.0
18
+ * @category Models
19
+ */
20
+ export interface DurableClock {
21
+ readonly [TypeId]: TypeId;
22
+ readonly name: string;
23
+ readonly duration: Duration.Duration;
24
+ readonly deferred: DurableDeferred.DurableDeferred<typeof Schema.Void>;
25
+ }
26
+ /**
27
+ * @since 1.0.0
28
+ * @category Constructors
29
+ */
30
+ export declare const make: (options: {
31
+ readonly name: string;
32
+ readonly duration: Duration.DurationInput;
33
+ }) => DurableClock;
34
+ /**
35
+ * @since 1.0.0
36
+ * @category Sleeping
37
+ */
38
+ export declare const sleep: (options: {
39
+ readonly name: string;
40
+ readonly duration: Duration.DurationInput;
41
+ }) => Effect.Effect<void, never, WorkflowEngine | WorkflowInstance>;
42
+ //# sourceMappingURL=DurableClock.d.ts.map
@@ -0,0 +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"}