@effect/workflow 0.1.3 → 0.1.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Workflow.d.ts","sourceRoot":"","sources":["../../src/Workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Workflow.d.ts","sourceRoot":"","sources":["../../src/Workflow.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as Context from "effect/Context";
5
- import type * as Effect from "effect/Effect";
5
+ import * as Effect from "effect/Effect";
6
6
  import type * as Option from "effect/Option";
7
7
  import type * as Schema from "effect/Schema";
8
8
  import type * as Activity from "./Activity.js";
@@ -27,10 +27,6 @@ declare const WorkflowEngine_base: Context.TagClass<WorkflowEngine, "@effect/wor
27
27
  * Interrupt a registered workflow.
28
28
  */
29
29
  readonly interrupt: (workflow: Workflow.Any, executionId: string) => Effect.Effect<void>;
30
- /**
31
- * Resume a suspended workflow.
32
- */
33
- readonly resume: (workflowName: string, executionId: string) => Effect.Effect<void>;
34
30
  /**
35
31
  * Execute an activity from a workflow.
36
32
  */
@@ -80,12 +76,17 @@ declare const WorkflowInstance_base: Context.TagClass<WorkflowInstance, "@effect
80
76
  * Whether the workflow has requested to be suspended.
81
77
  */
82
78
  suspended: boolean;
79
+ readonly activityState: {
80
+ count: number;
81
+ readonly latch: Effect.Latch;
82
+ };
83
83
  }>;
84
84
  /**
85
85
  * @since 1.0.0
86
86
  * @category Services
87
87
  */
88
88
  export declare class WorkflowInstance extends WorkflowInstance_base {
89
+ static initial(workflow: Workflow.Any, executionId: string): WorkflowInstance["Type"];
89
90
  }
90
91
  export {};
91
92
  //# sourceMappingURL=WorkflowEngine.d.ts.map
@@ -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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"}
@@ -1,12 +1,11 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
1
  import * as Context from "effect/Context";
5
2
  import * as Effect from "effect/Effect";
6
3
  import * as Effectable from "effect/Effectable";
7
4
  import { dual } from "effect/Function";
8
5
  import * as Schema from "effect/Schema";
6
+ import * as DurableDeferred from "./DurableDeferred.js";
9
7
  import { makeHashDigest } from "./internal/crypto.js";
8
+ import * as Workflow from "./Workflow.js";
10
9
  /**
11
10
  * @since 1.0.0
12
11
  * @category Symbols
@@ -57,7 +56,7 @@ export const retry = /*#__PURE__*/dual(2, (effect, options) => Effect.suspend(()
57
56
  * @category Attempts
58
57
  */
59
58
  export class CurrentAttempt extends /*#__PURE__*/Context.Reference()("@effect/workflow/Activity/CurrentAttempt", {
60
- defaultValue: () => 0
59
+ defaultValue: () => 1
61
60
  }) {}
62
61
  /**
63
62
  * @since 1.0.0
@@ -68,6 +67,16 @@ export const executionIdWithAttempt = /*#__PURE__*/Effect.gen(function* () {
68
67
  const attempt = yield* CurrentAttempt;
69
68
  return yield* makeHashDigest(`${instance.executionId}-${attempt}`);
70
69
  });
70
+ /**
71
+ * @since 1.0.0
72
+ * @category Racing
73
+ */
74
+ export const raceAll = (name, activities) => DurableDeferred.raceAll({
75
+ name: `Activity/${name}`,
76
+ success: Schema.Union(...activities.map(activity => activity.successSchema)),
77
+ error: Schema.Union(...activities.map(activity => activity.errorSchema)),
78
+ effects: activities
79
+ });
71
80
  // -----------------------------------------------------------------------------
72
81
  // internal
73
82
  // -----------------------------------------------------------------------------
@@ -77,10 +86,10 @@ const makeExecute = /*#__PURE__*/Effect.fnUntraced(function* (activity) {
77
86
  const engine = yield* EngineTag;
78
87
  const instance = yield* InstanceTag;
79
88
  const attempt = yield* CurrentAttempt;
80
- const result = yield* engine.activityExecute({
89
+ const result = yield* Workflow.wrapActivityResult(engine.activityExecute({
81
90
  activity,
82
91
  attempt
83
- });
92
+ }), _ => _._tag === "Suspended");
84
93
  if (result._tag === "Suspended") {
85
94
  instance.suspended = true;
86
95
  return yield* Effect.interrupt;
@@ -1 +1 @@
1
- {"version":3,"file":"Activity.js","names":["Context","Effect","Effectable","dual","Schema","makeHashDigest","TypeId","Symbol","for","make","options","successSchema","success","Void","errorSchema","error","Never","execute","self","CommitPrototype","name","exitSchema","ExitFromSelf","failure","defect","Defect","executeEncoded","matchEffect","onFailure","flatMap","orDie","encode","fail","onSuccess","value","commit","makeExecute","retry","effect","suspend","attempt","provideService","CurrentAttempt","pipe","Reference","defaultValue","executionIdWithAttempt","gen","instance","InstanceTag","executionId","EngineTag","GenericTag","fnUntraced","activity","engine","result","activityExecute","_tag","suspended","interrupt","exit","decode"],"sources":["../../src/Activity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Activity.js","names":["Context","Effect","Effectable","dual","Schema","DurableDeferred","makeHashDigest","Workflow","TypeId","Symbol","for","make","options","successSchema","success","Void","errorSchema","error","Never","execute","self","CommitPrototype","name","exitSchema","ExitFromSelf","failure","defect","Defect","executeEncoded","matchEffect","onFailure","flatMap","orDie","encode","fail","onSuccess","value","commit","makeExecute","retry","effect","suspend","attempt","provideService","CurrentAttempt","pipe","Reference","defaultValue","executionIdWithAttempt","gen","instance","InstanceTag","executionId","raceAll","activities","Union","map","activity","effects","EngineTag","GenericTag","fnUntraced","engine","result","wrapActivityResult","activityExecute","_","_tag","suspended","interrupt","exit","decode"],"sources":["../../src/Activity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ import * as Exit from "effect/Exit";
5
5
  import { dual } from "effect/Function";
6
6
  import * as Option from "effect/Option";
7
7
  import * as Schema from "effect/Schema";
8
+ import * as Workflow from "./Workflow.js";
8
9
  /**
9
10
  * @since 1.0.0
10
11
  * @category Symbols
@@ -30,7 +31,7 @@ const InstanceTag = /*#__PURE__*/Context.GenericTag("@effect/workflow/WorkflowEn
30
31
  const await_ = /*#__PURE__*/Effect.fnUntraced(function* (self) {
31
32
  const engine = yield* EngineTag;
32
33
  const instance = yield* InstanceTag;
33
- const oexit = yield* engine.deferredResult(self);
34
+ const oexit = yield* Workflow.wrapActivityResult(engine.deferredResult(self), Option.isNone);
34
35
  if (Option.isNone(oexit)) {
35
36
  instance.suspended = true;
36
37
  return yield* Effect.interrupt;
@@ -43,6 +44,42 @@ export {
43
44
  * @category Combinators
44
45
  */
45
46
  await_ as await };
47
+ /**
48
+ * @since 1.0.0
49
+ * @category Combinators
50
+ */
51
+ export const into = /*#__PURE__*/dual(2, (effect, self) => Effect.contextWithEffect(context => {
52
+ const engine = Context.get(context, EngineTag);
53
+ const instance = Context.get(context, InstanceTag);
54
+ return Effect.onExit(effect, Effect.fnUntraced(function* (exit) {
55
+ if (instance.suspended) return;
56
+ const encodedExit = yield* Effect.orDie(Schema.encode(self.exitSchema)(exit));
57
+ yield* engine.deferredDone({
58
+ workflowName: instance.workflow.name,
59
+ executionId: instance.executionId,
60
+ deferred: self,
61
+ exit: encodedExit
62
+ });
63
+ }));
64
+ }));
65
+ /**
66
+ * @since 1.0.0
67
+ * @category Racing
68
+ */
69
+ export const raceAll = options => {
70
+ const deferred = make(`raceAll/${options.name}`, {
71
+ success: options.success,
72
+ error: options.error
73
+ });
74
+ return Effect.gen(function* () {
75
+ const engine = yield* EngineTag;
76
+ const oexit = yield* Workflow.wrapActivityResult(engine.deferredResult(deferred), Option.isNone);
77
+ if (Option.isSome(oexit)) {
78
+ return yield* Effect.flatten(Effect.orDie(Schema.decodeUnknown(deferred.exitSchema)(oexit.value)));
79
+ }
80
+ return yield* into(Effect.raceAll(options.effects), deferred);
81
+ });
82
+ };
46
83
  /**
47
84
  * @since 1.0.0
48
85
  * @category Token
@@ -1 +1 @@
1
- {"version":3,"file":"DurableDeferred.js","names":["Context","Effect","Encoding","Exit","dual","Option","Schema","TypeId","Symbol","for","make","name","options","successSchema","success","Void","errorSchema","error","Never","exitSchema","failure","defect","Defect","EngineTag","GenericTag","InstanceTag","await_","fnUntraced","self","engine","instance","oexit","deferredResult","isNone","suspended","interrupt","flatten","orDie","decodeUnknown","value","await","TokenTypeId","Token","String","pipe","brand","TokenParsed","Class","workflowName","executionId","deferredName","asToken","encodeBase64Url","JSON","stringify","FromString","StringFromBase64Url","compose","parseJson","Tuple","transform","decode","encode","parsed","fromString","decodeSync","encodeSync","token","tokenFromExecutionId","workflow","tokenFromPayload","map","payload","done","exit","deferredDone","deferred","succeed","fail","failCause","cause"],"sources":["../../src/DurableDeferred.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DurableDeferred.js","names":["Context","Effect","Encoding","Exit","dual","Option","Schema","Workflow","TypeId","Symbol","for","make","name","options","successSchema","success","Void","errorSchema","error","Never","exitSchema","failure","defect","Defect","EngineTag","GenericTag","InstanceTag","await_","fnUntraced","self","engine","instance","oexit","wrapActivityResult","deferredResult","isNone","suspended","interrupt","flatten","orDie","decodeUnknown","value","await","into","effect","contextWithEffect","context","get","onExit","exit","encodedExit","encode","deferredDone","workflowName","workflow","executionId","deferred","raceAll","gen","isSome","effects","TokenTypeId","Token","String","pipe","brand","TokenParsed","Class","deferredName","asToken","encodeBase64Url","JSON","stringify","FromString","StringFromBase64Url","compose","parseJson","Tuple","transform","decode","parsed","fromString","decodeSync","encodeSync","token","tokenFromExecutionId","tokenFromPayload","map","payload","done","succeed","fail","failCause","cause"],"sources":["../../src/DurableDeferred.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -68,7 +68,6 @@ export const make = options => {
68
68
  if (result._tag === "Complete") {
69
69
  return yield* result.exit;
70
70
  }
71
- // @effect-diagnostics effect/floatingEffect:off
72
71
  sleep ??= (yield* Schedule.driver(suspendedRetrySchedule)).next(void 0).pipe(Effect.catchAll(() => Effect.dieMessage(`${options.name}.execute: suspendedRetrySchedule exhausted`)));
73
72
  yield* sleep;
74
73
  }
@@ -181,17 +180,35 @@ export const Result = options => Schema.Union(Complete.Schema(options), Suspende
181
180
  * @since 1.0.0
182
181
  * @category Result
183
182
  */
184
- export const intoResult = effect => Effect.uninterruptibleMask(restore => Effect.withFiberRuntime(fiber => Effect.matchCause(restore(effect), {
185
- onSuccess: value => new Complete({
186
- exit: Exit.succeed(value)
187
- }),
188
- onFailure(cause) {
189
- const instance = Context.unsafeGet(fiber.currentContext, InstanceTag);
190
- return instance.suspended ? new Suspended() : new Complete({
183
+ export const intoResult = effect => Effect.contextWithEffect(context => {
184
+ const instance = Context.get(context, InstanceTag);
185
+ return Effect.uninterruptibleMask(restore => restore(effect).pipe(Effect.scoped, Effect.matchCause({
186
+ onSuccess: value => new Complete({
187
+ exit: Exit.succeed(value)
188
+ }),
189
+ onFailure: cause => instance.suspended ? new Suspended() : new Complete({
191
190
  exit: Exit.failCause(cause)
192
- });
191
+ })
192
+ })));
193
+ });
194
+ /**
195
+ * @since 1.0.0
196
+ * @category Result
197
+ */
198
+ export const wrapActivityResult = (effect, isSuspend) => Effect.contextWithEffect(context => {
199
+ const instance = Context.get(context, InstanceTag);
200
+ const state = instance.activityState;
201
+ if (instance.suspended) {
202
+ return state.count > 0 ? state.latch.await.pipe(Effect.andThen(Effect.yieldNow()), Effect.andThen(Effect.interrupt)) : Effect.interrupt;
193
203
  }
194
- })));
204
+ if (state.count === 0) state.latch.unsafeClose();
205
+ state.count++;
206
+ return Effect.onExit(effect, exit => {
207
+ state.count--;
208
+ const isSuspended = Exit.isSuccess(exit) && isSuspend(exit.value);
209
+ return state.count === 0 ? state.latch.open : isSuspended ? state.latch.await : Effect.void;
210
+ });
211
+ });
195
212
  /**
196
213
  * Add compensation logic to an effect inside a Workflow. The compensation finalizer will be
197
214
  * called if the entire workflow fails, allowing you to perform cleanup or
@@ -203,13 +220,5 @@ export const intoResult = effect => Effect.uninterruptibleMask(restore => Effect
203
220
  * @since 1.0.0
204
221
  * @category Compensation
205
222
  */
206
- export const withCompensation = /*#__PURE__*/dual(2, (effect, compensation) => Effect.uninterruptibleMask(restore => Effect.contextWithEffect(context => {
207
- const instance = Context.get(context, InstanceTag);
208
- return Effect.tap(restore(effect), value => Effect.addFinalizer(exit => {
209
- if (Exit.isSuccess(exit) || instance.suspended) {
210
- return Effect.void;
211
- }
212
- return compensation(value, exit.cause);
213
- }));
214
- })));
223
+ export const withCompensation = /*#__PURE__*/dual(2, (effect, compensation) => Effect.uninterruptibleMask(restore => Effect.tap(restore(effect), value => Effect.contextWithEffect(context => Effect.addFinalizer(exit => Exit.isSuccess(exit) || Context.get(context, InstanceTag).suspended ? Effect.void : compensation(value, exit.cause))))));
215
224
  //# sourceMappingURL=Workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Workflow.js","names":["Context","Data","Effect","Exit","dual","Layer","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","discard","workflow","sleep","result","_tag","exit","driver","next","pipe","catchAll","dieMessage","withSpan","captureStackTrace","interrupt","effect","attributes","toLayer","effectContext","gen","get","register","provide","withCompensation","exponential","union","spaced","fromTaggedRequest","schema","failure","ResultTypeId","isResult","u","hasProperty","Complete","TaggedClass","SchemaFromSelf","_options","declare","SchemaEncoded","defect","Defect","transform","decode","fromA","encode","toI","Suspended","Result","Union","intoResult","uninterruptibleMask","restore","withFiberRuntime","fiber","matchCause","onSuccess","succeed","onFailure","cause","instance","unsafeGet","currentContext","suspended","failCause","compensation","contextWithEffect","tap","addFinalizer","isSuccess","void"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Workflow.js","names":["Context","Data","Effect","Exit","dual","Layer","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","discard","workflow","sleep","result","_tag","exit","driver","next","pipe","catchAll","dieMessage","withSpan","captureStackTrace","interrupt","effect","attributes","toLayer","effectContext","gen","get","register","provide","withCompensation","exponential","union","spaced","fromTaggedRequest","schema","failure","ResultTypeId","isResult","u","hasProperty","Complete","TaggedClass","SchemaFromSelf","_options","declare","SchemaEncoded","defect","Defect","transform","decode","fromA","encode","toI","Suspended","Result","Union","intoResult","contextWithEffect","instance","uninterruptibleMask","restore","scoped","matchCause","onSuccess","succeed","onFailure","cause","suspended","failCause","wrapActivityResult","isSuspend","state","activityState","count","latch","await","andThen","yieldNow","unsafeClose","onExit","isSuspended","isSuccess","open","void","compensation","tap","addFinalizer"],"sources":["../../src/Workflow.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as Context from "effect/Context";
5
+ import * as Effect from "effect/Effect";
5
6
  /**
6
7
  * @since 1.0.0
7
8
  * @category Services
@@ -11,5 +12,17 @@ export class WorkflowEngine extends /*#__PURE__*/Context.Tag("@effect/workflow/W
11
12
  * @since 1.0.0
12
13
  * @category Services
13
14
  */
14
- export class WorkflowInstance extends /*#__PURE__*/Context.Tag("@effect/workflow/WorkflowEngine/WorkflowInstance")() {}
15
+ export class WorkflowInstance extends /*#__PURE__*/Context.Tag("@effect/workflow/WorkflowEngine/WorkflowInstance")() {
16
+ static initial(workflow, executionId) {
17
+ return WorkflowInstance.of({
18
+ executionId,
19
+ workflow,
20
+ suspended: false,
21
+ activityState: {
22
+ count: 0,
23
+ latch: Effect.unsafeMakeLatch()
24
+ }
25
+ });
26
+ }
27
+ }
15
28
  //# sourceMappingURL=WorkflowEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowEngine.js","names":["Context","WorkflowEngine","Tag","WorkflowInstance"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AASzC;;;;AAIA,OAAM,MAAOC,cAAe,sBAAQD,OAAO,CAACE,GAAG,CAAC,iCAAiC,CAAC,EAiF/E;AAEH;;;;AAIA,OAAM,MAAOC,gBAAiB,sBAAQH,OAAO,CAACE,GAAG,CAAC,kDAAkD,CAAC,EAkBlG","ignoreList":[]}
1
+ {"version":3,"file":"WorkflowEngine.js","names":["Context","Effect","WorkflowEngine","Tag","WorkflowInstance","initial","workflow","executionId","of","suspended","activityState","count","latch","unsafeMakeLatch"],"sources":["../../src/WorkflowEngine.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAQvC;;;;AAIA,OAAM,MAAOC,cAAe,sBAAQF,OAAO,CAACG,GAAG,CAAC,iCAAiC,CAAC,EAyE/E;AAEH;;;;AAIA,OAAM,MAAOC,gBAAiB,sBAAQJ,OAAO,CAACG,GAAG,CAAC,kDAAkD,CAAC,EAuBlG;EACD,OAAOE,OAAOA,CAACC,QAAsB,EAAEC,WAAmB;IACxD,OAAOH,gBAAgB,CAACI,EAAE,CAAC;MACzBD,WAAW;MACXD,QAAQ;MACRG,SAAS,EAAE,KAAK;MAChBC,aAAa,EAAE;QACbC,KAAK,EAAE,CAAC;QACRC,KAAK,EAAEX,MAAM,CAACY,eAAe;;KAEhC,CAAC;EACJ","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/workflow",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Durable workflows for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,9 +11,9 @@
11
11
  "sideEffects": [],
12
12
  "homepage": "https://effect.website",
13
13
  "peerDependencies": {
14
- "@effect/platform": "^0.84.6",
15
- "effect": "^3.16.3",
16
- "@effect/rpc": "^0.61.6"
14
+ "effect": "^3.16.4",
15
+ "@effect/platform": "^0.84.8",
16
+ "@effect/rpc": "^0.61.8"
17
17
  },
18
18
  "publishConfig": {
19
19
  "provenance": true
package/src/Activity.ts CHANGED
@@ -1,13 +1,17 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
+ import type { NonEmptyReadonlyArray } from "effect/Array"
4
5
  import * as Context from "effect/Context"
5
6
  import * as Effect from "effect/Effect"
6
7
  import * as Effectable from "effect/Effectable"
7
8
  import type * as Exit from "effect/Exit"
8
9
  import { dual } from "effect/Function"
9
10
  import * as Schema from "effect/Schema"
11
+ import type { Scope } from "effect/Scope"
12
+ import * as DurableDeferred from "./DurableDeferred.js"
10
13
  import { makeHashDigest } from "./internal/crypto.js"
14
+ import * as Workflow from "./Workflow.js"
11
15
  import type { WorkflowEngine, WorkflowInstance } from "./WorkflowEngine.js"
12
16
 
13
17
  /**
@@ -27,9 +31,9 @@ export type TypeId = typeof TypeId
27
31
  * @category Models
28
32
  */
29
33
  export interface Activity<
30
- Success extends Schema.Schema.Any,
31
- Error extends Schema.Schema.All,
32
- R
34
+ Success extends Schema.Schema.Any = typeof Schema.Void,
35
+ Error extends Schema.Schema.All = typeof Schema.Never,
36
+ R = never
33
37
  > extends
34
38
  Effect.Effect<
35
39
  Success["Type"],
@@ -49,12 +53,12 @@ export interface Activity<
49
53
  readonly execute: Effect.Effect<
50
54
  Success["Type"],
51
55
  Error["Type"],
52
- Success["Context"] | Error["Context"] | R | WorkflowEngine | WorkflowInstance
56
+ Success["Context"] | Error["Context"] | R | Scope | WorkflowEngine | WorkflowInstance
53
57
  >
54
58
  readonly executeEncoded: Effect.Effect<
55
59
  Success["Encoded"],
56
60
  Error["Encoded"],
57
- Success["Context"] | Error["Context"] | R | WorkflowEngine | WorkflowInstance
61
+ Success["Context"] | Error["Context"] | R | Scope | WorkflowEngine | WorkflowInstance
58
62
  >
59
63
  }
60
64
 
@@ -80,10 +84,10 @@ export const make = <
80
84
  Error extends Schema.Schema.All = typeof Schema.Never
81
85
  >(options: {
82
86
  readonly name: string
83
- readonly success?: Success
84
- readonly error?: Error
87
+ readonly success?: Success | undefined
88
+ readonly error?: Error | undefined
85
89
  readonly execute: Effect.Effect<Success["Type"], Error["Type"], R>
86
- }): Activity<Success, Error, Exclude<R, WorkflowInstance | WorkflowEngine>> => {
90
+ }): Activity<Success, Error, Exclude<R, WorkflowInstance | WorkflowEngine | Scope>> => {
87
91
  const successSchema = options.success ?? Schema.Void as any as Success
88
92
  const errorSchema = options.error ?? Schema.Never as any as Error
89
93
  // eslint-disable-next-line prefer-const
@@ -132,7 +136,7 @@ export const retry: typeof Effect.retry = dual(
132
136
  * @category Attempts
133
137
  */
134
138
  export class CurrentAttempt extends Context.Reference<CurrentAttempt>()("@effect/workflow/Activity/CurrentAttempt", {
135
- defaultValue: () => 0
139
+ defaultValue: () => 1
136
140
  }) {}
137
141
 
138
142
  /**
@@ -149,6 +153,33 @@ export const executionIdWithAttempt: Effect.Effect<
149
153
  return yield* makeHashDigest(`${instance.executionId}-${attempt}`)
150
154
  })
151
155
 
156
+ /**
157
+ * @since 1.0.0
158
+ * @category Racing
159
+ */
160
+ export const raceAll = <const Activities extends NonEmptyReadonlyArray<Any>>(
161
+ name: string,
162
+ activities: Activities
163
+ ): Effect.Effect<
164
+ (Activities[number] extends Activity<infer _A, infer _E, infer _R> ? _A["Type"] : never),
165
+ (Activities[number] extends Activity<infer _A, infer _E, infer _R> ? _E["Type"] : never),
166
+ | (Activities[number] extends Activity<infer Success, infer Error, infer R>
167
+ ? Success["Context"] | Error["Context"] | R
168
+ : never)
169
+ | WorkflowEngine
170
+ | WorkflowInstance
171
+ > =>
172
+ DurableDeferred.raceAll({
173
+ name: `Activity/${name}`,
174
+ success: Schema.Union(
175
+ ...activities.map((activity) => activity.successSchema)
176
+ ),
177
+ error: Schema.Union(
178
+ ...activities.map((activity) => activity.errorSchema)
179
+ ),
180
+ effects: activities as any
181
+ }) as any
182
+
152
183
  // -----------------------------------------------------------------------------
153
184
  // internal
154
185
  // -----------------------------------------------------------------------------
@@ -168,10 +199,13 @@ const makeExecute = Effect.fnUntraced(function*<
168
199
  const engine = yield* EngineTag
169
200
  const instance = yield* InstanceTag
170
201
  const attempt = yield* CurrentAttempt
171
- const result = yield* engine.activityExecute({
172
- activity,
173
- attempt
174
- })
202
+ const result = yield* Workflow.wrapActivityResult(
203
+ engine.activityExecute({
204
+ activity,
205
+ attempt
206
+ }),
207
+ (_) => _._tag === "Suspended"
208
+ )
175
209
  if (result._tag === "Suspended") {
176
210
  instance.suspended = true
177
211
  return yield* Effect.interrupt