@effect/workflow 0.12.5 → 0.13.1

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 (49) hide show
  1. package/DurableQueue/package.json +6 -0
  2. package/dist/cjs/Activity.js +2 -6
  3. package/dist/cjs/Activity.js.map +1 -1
  4. package/dist/cjs/DurableClock.js +1 -2
  5. package/dist/cjs/DurableClock.js.map +1 -1
  6. package/dist/cjs/DurableDeferred.js +16 -18
  7. package/dist/cjs/DurableDeferred.js.map +1 -1
  8. package/dist/cjs/DurableQueue.js +186 -0
  9. package/dist/cjs/DurableQueue.js.map +1 -0
  10. package/dist/cjs/Workflow.js +8 -53
  11. package/dist/cjs/Workflow.js.map +1 -1
  12. package/dist/cjs/WorkflowEngine.js +234 -3
  13. package/dist/cjs/WorkflowEngine.js.map +1 -1
  14. package/dist/cjs/index.js +3 -1
  15. package/dist/dts/Activity.d.ts +1 -0
  16. package/dist/dts/Activity.d.ts.map +1 -1
  17. package/dist/dts/DurableClock.d.ts.map +1 -1
  18. package/dist/dts/DurableDeferred.d.ts +2 -2
  19. package/dist/dts/DurableDeferred.d.ts.map +1 -1
  20. package/dist/dts/DurableQueue.d.ts +116 -0
  21. package/dist/dts/DurableQueue.d.ts.map +1 -0
  22. package/dist/dts/Workflow.d.ts +2 -2
  23. package/dist/dts/Workflow.d.ts.map +1 -1
  24. package/dist/dts/WorkflowEngine.d.ts +59 -30
  25. package/dist/dts/WorkflowEngine.d.ts.map +1 -1
  26. package/dist/dts/index.d.ts +4 -0
  27. package/dist/dts/index.d.ts.map +1 -1
  28. package/dist/esm/Activity.js +2 -6
  29. package/dist/esm/Activity.js.map +1 -1
  30. package/dist/esm/DurableClock.js +1 -2
  31. package/dist/esm/DurableClock.js.map +1 -1
  32. package/dist/esm/DurableDeferred.js +16 -18
  33. package/dist/esm/DurableDeferred.js.map +1 -1
  34. package/dist/esm/DurableQueue.js +176 -0
  35. package/dist/esm/DurableQueue.js.map +1 -0
  36. package/dist/esm/Workflow.js +7 -52
  37. package/dist/esm/Workflow.js.map +1 -1
  38. package/dist/esm/WorkflowEngine.js +232 -2
  39. package/dist/esm/WorkflowEngine.js.map +1 -1
  40. package/dist/esm/index.js +4 -0
  41. package/dist/esm/index.js.map +1 -1
  42. package/package.json +13 -5
  43. package/src/Activity.ts +3 -8
  44. package/src/DurableClock.ts +1 -2
  45. package/src/DurableDeferred.ts +24 -30
  46. package/src/DurableQueue.ts +332 -0
  47. package/src/Workflow.ts +9 -61
  48. package/src/WorkflowEngine.ts +509 -44
  49. package/src/index.ts +5 -0
@@ -4,38 +4,33 @@
4
4
  import type * as Cause from "effect/Cause";
5
5
  import * as Context from "effect/Context";
6
6
  import * as Effect from "effect/Effect";
7
- import type * as Option from "effect/Option";
8
- import type * as Schema from "effect/Schema";
7
+ import * as Exit from "effect/Exit";
8
+ import * as Layer from "effect/Layer";
9
+ import * as Schedule from "effect/Schedule";
10
+ import * as Schema from "effect/Schema";
9
11
  import type * as Scope from "effect/Scope";
10
12
  import type * as Activity from "./Activity.js";
11
13
  import type { DurableClock } from "./DurableClock.js";
12
14
  import type * as DurableDeferred from "./DurableDeferred.js";
13
- import type * as Workflow from "./Workflow.js";
15
+ import * as Workflow from "./Workflow.js";
14
16
  declare const WorkflowEngine_base: Context.TagClass<WorkflowEngine, "@effect/workflow/WorkflowEngine", {
15
17
  /**
16
18
  * Register a workflow with the engine.
17
19
  */
18
- readonly register: (workflow: Workflow.Any, execute: (payload: object, executionId: string) => Effect.Effect<unknown, unknown, WorkflowInstance | WorkflowEngine>) => Effect.Effect<void, never, Scope.Scope>;
20
+ readonly register: <Name extends string, Payload extends Workflow.AnyStructSchema, Success extends Schema.Schema.Any, Error extends Schema.Schema.All, R>(workflow: Workflow.Workflow<Name, Payload, Success, Error>, execute: (payload: Payload["Type"], executionId: string) => Effect.Effect<Success["Type"], Error["Type"], R>) => Effect.Effect<void, never, Scope.Scope | Exclude<R, WorkflowEngine | WorkflowInstance | Workflow.Execution<Name> | Scope.Scope> | Payload["Context"] | Success["Context"] | Error["Context"]>;
19
21
  /**
20
22
  * Execute a registered workflow.
21
23
  */
22
- readonly execute: <const Discard extends boolean>(options: {
23
- readonly workflow: Workflow.Any;
24
+ readonly execute: <Name extends string, Payload extends Workflow.AnyStructSchema, Success extends Schema.Schema.Any, Error extends Schema.Schema.All, const Discard extends boolean = false>(workflow: Workflow.Workflow<Name, Payload, Success, Error>, options: {
24
25
  readonly executionId: string;
25
- readonly payload: object;
26
- readonly discard: Discard;
27
- readonly parent?: WorkflowInstance["Type"] | undefined;
28
- }) => Effect.Effect<Discard extends true ? void : Workflow.Result<unknown, unknown>>;
26
+ readonly payload: Payload["Type"];
27
+ readonly discard?: Discard | undefined;
28
+ readonly suspendedRetrySchedule?: Schedule.Schedule<any, unknown> | undefined;
29
+ }) => Effect.Effect<Discard extends true ? string : Success["Type"], Error["Type"], Payload["Context"] | Success["Context"] | Error["Context"]>;
29
30
  /**
30
- * Poll a registered workflow for its current status.
31
- *
32
- * If the workflow has not run yet, it will return `undefined`, otherwise it
33
- * will return the current `Workflow.Result`.
31
+ * Execute a registered workflow.
34
32
  */
35
- readonly poll: (options: {
36
- readonly workflow: Workflow.Any;
37
- readonly executionId: string;
38
- }) => Effect.Effect<Workflow.Result<unknown, unknown> | undefined>;
33
+ readonly poll: <Name extends string, Payload extends Workflow.AnyStructSchema, Success extends Schema.Schema.Any, Error extends Schema.Schema.All>(workflow: Workflow.Workflow<Name, Payload, Success, Error>, executionId: string) => Effect.Effect<Workflow.Result<Success["Type"], Error["Type"]> | undefined, never, Success["Context"] | Error["Context"]>;
39
34
  /**
40
35
  * Interrupt a registered workflow.
41
36
  */
@@ -47,35 +42,31 @@ declare const WorkflowEngine_base: Context.TagClass<WorkflowEngine, "@effect/wor
47
42
  /**
48
43
  * Execute an activity from a workflow.
49
44
  */
50
- readonly activityExecute: (options: {
51
- readonly activity: Activity.Any;
52
- readonly attempt: number;
53
- }) => Effect.Effect<Workflow.Result<unknown, unknown>, never, WorkflowInstance>;
45
+ readonly activityExecute: <Success extends Schema.Schema.Any, Error extends Schema.Schema.All, R>(activity: Activity.Activity<Success, Error, R>, attempt: number) => Effect.Effect<Workflow.Result<Success["Type"], Error["Type"]>, never, Success["Context"] | Error["Context"] | R | WorkflowInstance>;
54
46
  /**
55
47
  * Try to retrieve the result of an DurableDeferred
56
48
  */
57
- readonly deferredResult: (deferred: DurableDeferred.Any) => Effect.Effect<Option.Option<Schema.ExitEncoded<unknown, unknown, unknown>>, never, WorkflowInstance>;
49
+ readonly deferredResult: <Success extends Schema.Schema.Any, Error extends Schema.Schema.All>(deferred: DurableDeferred.DurableDeferred<Success, Error>) => Effect.Effect<Exit.Exit<Success["Type"], Error["Type"]> | undefined, never, WorkflowInstance>;
58
50
  /**
59
51
  * Set the result of a DurableDeferred, and then resume any waiting
60
52
  * workflows.
61
53
  */
62
- readonly deferredDone: (options: {
54
+ readonly deferredDone: <Success extends Schema.Schema.Any, Error extends Schema.Schema.All>(deferred: DurableDeferred.DurableDeferred<Success, Error>, options: {
63
55
  readonly workflowName: string;
64
56
  readonly executionId: string;
65
57
  readonly deferredName: string;
66
- readonly exit: Schema.ExitEncoded<unknown, unknown, unknown>;
67
- }) => Effect.Effect<void>;
58
+ readonly exit: Exit.Exit<Success["Type"], Error["Type"]>;
59
+ }) => Effect.Effect<void, never, Success["Context"] | Error["Context"]>;
68
60
  /**
69
61
  * Schedule a wake up for a DurableClock
70
62
  */
71
- readonly scheduleClock: (options: {
72
- readonly workflow: Workflow.Any;
63
+ readonly scheduleClock: (workflow: Workflow.Any, options: {
73
64
  readonly executionId: string;
74
65
  readonly clock: DurableClock;
75
66
  }) => Effect.Effect<void>;
76
67
  }>;
77
68
  /**
78
- * @since 1.0.0
69
+ * @since 4.0.0
79
70
  * @category Services
80
71
  */
81
72
  export declare class WorkflowEngine extends WorkflowEngine_base {
@@ -108,11 +99,49 @@ declare const WorkflowInstance_base: Context.TagClass<WorkflowInstance, "@effect
108
99
  };
109
100
  }>;
110
101
  /**
111
- * @since 1.0.0
102
+ * @since 4.0.0
112
103
  * @category Services
113
104
  */
114
105
  export declare class WorkflowInstance extends WorkflowInstance_base {
115
106
  static initial(workflow: Workflow.Any, executionId: string): WorkflowInstance["Type"];
116
107
  }
108
+ /**
109
+ * @since 4.0.0
110
+ * @category Encoded
111
+ */
112
+ export interface Encoded {
113
+ readonly register: (workflow: Workflow.Any, execute: (payload: object, executionId: string) => Effect.Effect<unknown, unknown, WorkflowInstance | WorkflowEngine>) => Effect.Effect<void, never, Scope.Scope>;
114
+ readonly execute: <const Discard extends boolean>(workflow: Workflow.Any, options: {
115
+ readonly executionId: string;
116
+ readonly payload: object;
117
+ readonly discard: Discard;
118
+ readonly parent?: WorkflowInstance["Type"] | undefined;
119
+ }) => Effect.Effect<Discard extends true ? void : Workflow.Result<unknown, unknown>>;
120
+ readonly poll: (workflow: Workflow.Any, executionId: string) => Effect.Effect<Workflow.Result<unknown, unknown> | undefined>;
121
+ readonly interrupt: (workflow: Workflow.Any, executionId: string) => Effect.Effect<void>;
122
+ readonly resume: (workflow: Workflow.Any, executionId: string) => Effect.Effect<void>;
123
+ readonly activityExecute: (activity: Activity.Any, attempt: number) => Effect.Effect<Workflow.Result<unknown, unknown>, never, WorkflowInstance>;
124
+ readonly deferredResult: (deferred: DurableDeferred.Any) => Effect.Effect<Exit.Exit<unknown, unknown> | undefined, never, WorkflowInstance>;
125
+ readonly deferredDone: (options: {
126
+ readonly workflowName: string;
127
+ readonly executionId: string;
128
+ readonly deferredName: string;
129
+ readonly exit: Exit.Exit<unknown, unknown>;
130
+ }) => Effect.Effect<void>;
131
+ readonly scheduleClock: (workflow: Workflow.Any, options: {
132
+ readonly executionId: string;
133
+ readonly clock: DurableClock;
134
+ }) => Effect.Effect<void>;
135
+ }
136
+ /**
137
+ * @since 4.0.0
138
+ * @category Constructors
139
+ */
140
+ export declare const makeUnsafe: (options: Encoded) => WorkflowEngine["Type"];
141
+ /**
142
+ * @since 1.0.0
143
+ * @category In-memory
144
+ */
145
+ export declare const layerMemory: Layer.Layer<WorkflowEngine>;
117
146
  export {};
118
147
  //# 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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"}
@@ -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 DurableQueue from "./DurableQueue.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,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"}
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,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;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"}
@@ -97,15 +97,11 @@ const makeExecute = /*#__PURE__*/Effect.fnUntraced(function* (activity) {
97
97
  yield* Effect.annotateCurrentSpan({
98
98
  executionId: instance.executionId
99
99
  });
100
- const result = yield* Workflow.wrapActivityResult(engine.activityExecute({
101
- activity,
102
- attempt
103
- }), _ => _._tag === "Suspended");
100
+ const result = yield* Workflow.wrapActivityResult(engine.activityExecute(activity, attempt), _ => _._tag === "Suspended");
104
101
  if (result._tag === "Suspended") {
105
102
  return yield* Workflow.suspend(instance);
106
103
  }
107
- const exit = yield* Effect.orDie(Schema.decode(activity.exitSchema)(result.exit));
108
- return yield* exit;
104
+ return yield* result.exit;
109
105
  }, (effect, activity) => Effect.withSpan(effect, activity.name, {
110
106
  captureStackTrace: false
111
107
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"Activity.js","names":["Cause","Context","Effect","Effectable","dual","Schedule","Schema","DurableDeferred","makeHashDigest","Workflow","TypeId","Symbol","for","make","options","successSchema","success","Void","errorSchema","error","Never","execute","executeWithoutInterrupt","retryOnInterrupt","name","interruptRetryPolicy","self","CommitPrototype","exitSchema","ExitFromSelf","failure","defect","Defect","executeEncoded","matchEffect","onFailure","flatMap","orDie","encode","fail","onSuccess","value","commit","makeExecute","exponential","pipe","union","spaced","recurs","whileInput","cause","isInterrupted","policy","effect","sandbox","retry","catchAll","failCause","die","suspend","attempt","provideService","CurrentAttempt","Reference","defaultValue","executionIdWithAttempt","gen","instance","InstanceTag","executionId","raceAll","activities","Union","map","activity","effects","EngineTag","GenericTag","fnUntraced","engine","annotateCurrentSpan","result","wrapActivityResult","activityExecute","_","_tag","exit","decode","withSpan","captureStackTrace"],"sources":["../../src/Activity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Activity.js","names":["Cause","Context","Effect","Effectable","dual","Schedule","Schema","DurableDeferred","makeHashDigest","Workflow","TypeId","Symbol","for","make","options","successSchema","success","Void","errorSchema","error","Never","execute","executeWithoutInterrupt","retryOnInterrupt","name","interruptRetryPolicy","self","CommitPrototype","exitSchema","ExitFromSelf","failure","defect","Defect","executeEncoded","matchEffect","onFailure","flatMap","orDie","encode","fail","onSuccess","value","commit","makeExecute","exponential","pipe","union","spaced","recurs","whileInput","cause","isInterrupted","policy","effect","sandbox","retry","catchAll","failCause","die","suspend","attempt","provideService","CurrentAttempt","Reference","defaultValue","executionIdWithAttempt","gen","instance","InstanceTag","executionId","raceAll","activities","Union","map","activity","effects","EngineTag","GenericTag","fnUntraced","engine","annotateCurrentSpan","result","wrapActivityResult","activityExecute","_","_tag","exit","withSpan","captureStackTrace"],"sources":["../../src/Activity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -42,8 +42,7 @@ export const sleep = /*#__PURE__*/Effect.fnUntraced(function* (options) {
42
42
  const engine = yield* EngineTag;
43
43
  const instance = yield* InstanceTag;
44
44
  const clock = make(options);
45
- yield* engine.scheduleClock({
46
- workflow: instance.workflow,
45
+ yield* engine.scheduleClock(instance.workflow, {
47
46
  executionId: instance.executionId,
48
47
  clock
49
48
  });
@@ -1 +1 @@
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":[]}
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,CAACF,QAAQ,CAACG,QAAQ,EAAE;IAC7CC,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":[]}
@@ -3,7 +3,7 @@ import * as Effect from "effect/Effect";
3
3
  import * as Encoding from "effect/Encoding";
4
4
  import * as Exit from "effect/Exit";
5
5
  import { dual } from "effect/Function";
6
- import * as Option from "effect/Option";
6
+ import * as Predicate from "effect/Predicate";
7
7
  import * as Schema from "effect/Schema";
8
8
  import * as Workflow from "./Workflow.js";
9
9
  /**
@@ -20,7 +20,7 @@ export const make = (name, options) => ({
20
20
  name,
21
21
  successSchema: options?.success ?? Schema.Void,
22
22
  errorSchema: options?.error ?? Schema.Never,
23
- exitSchema: Schema.Exit({
23
+ exitSchema: Schema.ExitFromSelf({
24
24
  success: options?.success ?? Schema.Void,
25
25
  failure: options?.error ?? Schema.Never,
26
26
  defect: Schema.Defect
@@ -41,11 +41,11 @@ const CurrentAttempt = /*#__PURE__*/Context.Reference()("@effect/workflow/Activi
41
41
  const await_ = /*#__PURE__*/Effect.fnUntraced(function* (self) {
42
42
  const engine = yield* EngineTag;
43
43
  const instance = yield* InstanceTag;
44
- const oexit = yield* Workflow.wrapActivityResult(engine.deferredResult(self), Option.isNone);
45
- if (Option.isNone(oexit)) {
44
+ const exit = yield* Workflow.wrapActivityResult(engine.deferredResult(self), Predicate.isUndefined);
45
+ if (exit === undefined) {
46
46
  return yield* Workflow.suspend(instance);
47
47
  }
48
- return yield* Effect.flatten(Effect.orDie(Schema.decodeUnknown(self.exitSchema)(oexit.value)));
48
+ return yield* exit;
49
49
  });
50
50
  export {
51
51
  /**
@@ -60,16 +60,15 @@ await_ as await };
60
60
  export const into = /*#__PURE__*/dual(2, (effect, self) => Effect.contextWithEffect(context => {
61
61
  const engine = Context.get(context, EngineTag);
62
62
  const instance = Context.get(context, InstanceTag);
63
- return Effect.onExit(effect, Effect.fnUntraced(function* (exit) {
64
- if (instance.suspended) return;
65
- const encodedExit = yield* Effect.orDie(Schema.encode(self.exitSchema)(exit));
66
- yield* engine.deferredDone({
63
+ return Effect.onExit(effect, exit => {
64
+ if (instance.suspended) return Effect.void;
65
+ return engine.deferredDone(self, {
67
66
  workflowName: instance.workflow.name,
68
67
  executionId: instance.executionId,
69
68
  deferredName: self.name,
70
- exit: encodedExit
69
+ exit
71
70
  });
72
- }));
71
+ });
73
72
  }));
74
73
  /**
75
74
  * @since 1.0.0
@@ -82,9 +81,9 @@ export const raceAll = options => {
82
81
  });
83
82
  return Effect.gen(function* () {
84
83
  const engine = yield* EngineTag;
85
- const oexit = yield* Workflow.wrapActivityResult(engine.deferredResult(deferred), Option.isNone);
86
- if (Option.isSome(oexit)) {
87
- return yield* Effect.flatten(Effect.orDie(Schema.decodeUnknown(deferred.exitSchema)(oexit.value)));
84
+ const exit = yield* Workflow.wrapActivityResult(engine.deferredResult(deferred), Predicate.isUndefined);
85
+ if (exit) {
86
+ return yield* Effect.flatten(exit);
88
87
  }
89
88
  return yield* into(Effect.raceAll(options.effects), deferred);
90
89
  });
@@ -166,14 +165,13 @@ export const tokenFromPayload = /*#__PURE__*/dual(2, (self, options) => Effect.m
166
165
  export const done = /*#__PURE__*/dual(2, /*#__PURE__*/Effect.fnUntraced(function* (self, options) {
167
166
  const engine = yield* EngineTag;
168
167
  const token = TokenParsed.fromString(options.token);
169
- const exit = yield* Schema.encode(self.exitSchema)(options.exit);
170
- yield* engine.deferredDone({
168
+ yield* engine.deferredDone(self, {
171
169
  workflowName: token.workflowName,
172
170
  executionId: token.executionId,
173
171
  deferredName: token.deferredName,
174
- exit: exit
172
+ exit: options.exit
175
173
  });
176
- }, Effect.orDie));
174
+ }));
177
175
  /**
178
176
  * @since 1.0.0
179
177
  * @category Combinators
@@ -1 +1 @@
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","withActivityAttempt","gen","attempt","CurrentAttempt","EngineTag","GenericTag","InstanceTag","Reference","defaultValue","await_","fnUntraced","self","engine","instance","oexit","wrapActivityResult","deferredResult","isNone","suspend","flatten","orDie","decodeUnknown","value","await","into","effect","contextWithEffect","context","get","onExit","exit","suspended","encodedExit","encode","deferredDone","workflowName","workflow","executionId","deferredName","raceAll","deferred","isSome","effects","TokenTypeId","Token","String","pipe","brand","TokenParsed","Class","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":[]}
1
+ {"version":3,"file":"DurableDeferred.js","names":["Context","Effect","Encoding","Exit","dual","Predicate","Schema","Workflow","TypeId","Symbol","for","make","name","options","successSchema","success","Void","errorSchema","error","Never","exitSchema","ExitFromSelf","failure","defect","Defect","withActivityAttempt","gen","attempt","CurrentAttempt","EngineTag","GenericTag","InstanceTag","Reference","defaultValue","await_","fnUntraced","self","engine","instance","exit","wrapActivityResult","deferredResult","isUndefined","undefined","suspend","await","into","effect","contextWithEffect","context","get","onExit","suspended","void","deferredDone","workflowName","workflow","executionId","deferredName","raceAll","deferred","flatten","effects","TokenTypeId","Token","String","pipe","brand","TokenParsed","Class","asToken","encodeBase64Url","JSON","stringify","FromString","StringFromBase64Url","compose","parseJson","Tuple","transform","decode","encode","parsed","fromString","decodeSync","encodeSync","token","tokenFromExecutionId","tokenFromPayload","map","payload","done","succeed","value","fail","failCause","cause"],"sources":["../../src/DurableDeferred.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as PersistedQueue from "@effect/experimental/PersistedQueue";
5
+ import * as Context from "effect/Context";
6
+ import * as Effect from "effect/Effect";
7
+ import * as Layer from "effect/Layer";
8
+ import * as Schedule from "effect/Schedule";
9
+ import * as Schema from "effect/Schema";
10
+ import * as Activity from "./Activity.js";
11
+ import * as DurableDeferred from "./DurableDeferred.js";
12
+ import { makeHashDigest } from "./internal/crypto.js";
13
+ /**
14
+ * @since 1.0.0
15
+ * @category Type IDs
16
+ */
17
+ export const TypeId = "~@effect/workflow/DurableQueue";
18
+ /**
19
+ * A `DurableQueue` wraps a `PersistedQueue`, providing a way to wait for items
20
+ * to finish processing using a `DurableDeferred`.
21
+ *
22
+ * ```ts
23
+ * import { DurableQueue, Workflow } from "@effect/workflow"
24
+ * import { Effect, Schema } from "effect"
25
+ *
26
+ * // Define a DurableQueue that can be used to derive workers and offer items for
27
+ * // processing.
28
+ * const ApiQueue = DurableQueue.make({
29
+ * name: "ApiQueue",
30
+ * payload: {
31
+ * id: Schema.String
32
+ * },
33
+ * success: Schema.Void,
34
+ * error: Schema.Never,
35
+ * idempotencyKey(payload) {
36
+ * return payload.id
37
+ * }
38
+ * })
39
+ *
40
+ * const MyWorkflow = Workflow.make({
41
+ * name: "MyWorkflow",
42
+ * payload: {
43
+ * id: Schema.String
44
+ * },
45
+ * idempotencyKey: ({ id }) => id
46
+ * })
47
+ *
48
+ * const MyWorkflowLayer = MyWorkflow.toLayer(
49
+ * Effect.fn(function*() {
50
+ * // Add an item to the DurableQueue defined above.
51
+ * //
52
+ * // When the worker has finished processing the item, the workflow will
53
+ * // resume.
54
+ * //
55
+ * yield* DurableQueue.process(ApiQueue, { id: "api-call-1" })
56
+ *
57
+ * yield* Effect.log("Workflow succeeded!")
58
+ * })
59
+ * )
60
+ *
61
+ * // Define a worker layer that can process items from the DurableQueue.
62
+ * const ApiWorker = DurableQueue.worker(
63
+ * ApiQueue,
64
+ * Effect.fn(function*({ id }) {
65
+ * yield* Effect.log(`Worker processing API call with id: ${id}`)
66
+ * }),
67
+ * { concurrency: 5 } // Process up to 5 items concurrently
68
+ * )
69
+ * ```
70
+ *
71
+ * @since 1.0.0
72
+ * @category Constructors
73
+ */
74
+ export const make = options => ({
75
+ [TypeId]: TypeId,
76
+ name: options.name,
77
+ payloadSchema: Schema.isSchema(options.payload) ? options.payload : Schema.Struct(options.payload),
78
+ idempotencyKey: options.idempotencyKey,
79
+ deferred: DurableDeferred.make(`DurableQueue/${options.name}`, {
80
+ success: options.success,
81
+ error: options.error
82
+ })
83
+ });
84
+ const queueSchemas = /*#__PURE__*/new WeakMap();
85
+ const getQueueSchema = payload => {
86
+ let schema = queueSchemas.get(payload);
87
+ if (!schema) {
88
+ schema = Schema.Struct({
89
+ token: Schema.String,
90
+ traceId: Schema.String,
91
+ spanId: Schema.String,
92
+ sampled: Schema.Boolean,
93
+ payload
94
+ });
95
+ queueSchemas.set(payload, schema);
96
+ }
97
+ return schema;
98
+ };
99
+ /**
100
+ * @since 1.0.0
101
+ * @category Processing
102
+ */
103
+ export const process = /*#__PURE__*/Effect.fnUntraced(function* (self, payload, options) {
104
+ const key = yield* makeHashDigest(self.idempotencyKey(payload));
105
+ const deferred = DurableDeferred.make(`${self.deferred.name}/${key}`, {
106
+ success: self.deferred.successSchema,
107
+ error: self.deferred.errorSchema
108
+ });
109
+ yield* Activity.make({
110
+ name: `DurableQueue/${self.name}/${key}`,
111
+ execute: Effect.gen(function* () {
112
+ const span = yield* Effect.orDie(Effect.currentSpan);
113
+ const queue = yield* PersistedQueue.make({
114
+ name: `DurableQueue/${self.name}`,
115
+ schema: getQueueSchema(self.payloadSchema)
116
+ });
117
+ const token = yield* DurableDeferred.token(deferred);
118
+ yield* queue.offer({
119
+ token,
120
+ payload,
121
+ traceId: span.traceId,
122
+ spanId: span.spanId,
123
+ sampled: span.sampled
124
+ }).pipe(Effect.tapErrorCause(Effect.logWarning), Effect.catchTag("ParseError", Effect.die), Effect.retry(options?.retrySchedule ?? defaultRetrySchedule), Effect.orDie, Effect.annotateLogs({
125
+ package: "@effect/workflow",
126
+ module: "DurableQueue",
127
+ fiber: "process",
128
+ queueName: self.name
129
+ }));
130
+ })
131
+ });
132
+ return yield* DurableDeferred.await(deferred);
133
+ });
134
+ const defaultRetrySchedule = /*#__PURE__*/Schedule.exponential(500, 1.5).pipe(/*#__PURE__*/Schedule.union(/*#__PURE__*/Schedule.spaced("1 minute")));
135
+ /**
136
+ * @since 1.0.0
137
+ * @category Worker
138
+ */
139
+ export const makeWorker = /*#__PURE__*/Effect.fnUntraced(function* (self, f, options) {
140
+ const queue = yield* PersistedQueue.make({
141
+ name: `DurableQueue/${self.name}`,
142
+ schema: getQueueSchema(self.payloadSchema)
143
+ });
144
+ const concurrency = options?.concurrency ?? 1;
145
+ const worker = queue.take(item_ => {
146
+ const item = item_;
147
+ return f(item.payload).pipe(Effect.exit, Effect.flatMap(exit => DurableDeferred.done(self.deferred, {
148
+ token: item.token,
149
+ exit
150
+ })), Effect.asVoid, Effect.withSpan(`DurableQueue/${self.name}/worker`, {
151
+ captureStackTrace: false,
152
+ parent: {
153
+ _tag: "ExternalSpan",
154
+ traceId: item.traceId,
155
+ spanId: item.spanId,
156
+ sampled: item.sampled,
157
+ context: Context.empty()
158
+ }
159
+ }));
160
+ }).pipe(Effect.catchAllCause(Effect.logWarning), Effect.forever, Effect.annotateLogs({
161
+ package: "@effect/workflow",
162
+ module: "DurableQueue",
163
+ fiber: "worker"
164
+ }));
165
+ yield* Effect.replicateEffect(worker, concurrency, {
166
+ concurrency,
167
+ discard: true
168
+ });
169
+ return yield* Effect.never;
170
+ });
171
+ /**
172
+ * @since 1.0.0
173
+ * @category Worker
174
+ */
175
+ export const worker = (self, f, options) => Layer.scopedDiscard(Effect.forkScoped(makeWorker(self, f, options)));
176
+ //# sourceMappingURL=DurableQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DurableQueue.js","names":["PersistedQueue","Context","Effect","Layer","Schedule","Schema","Activity","DurableDeferred","makeHashDigest","TypeId","make","options","name","payloadSchema","isSchema","payload","Struct","idempotencyKey","deferred","success","error","queueSchemas","WeakMap","getQueueSchema","schema","get","token","String","traceId","spanId","sampled","Boolean","set","process","fnUntraced","self","key","successSchema","errorSchema","execute","gen","span","orDie","currentSpan","queue","offer","pipe","tapErrorCause","logWarning","catchTag","die","retry","retrySchedule","defaultRetrySchedule","annotateLogs","package","module","fiber","queueName","await","exponential","union","spaced","makeWorker","f","concurrency","worker","take","item_","item","exit","flatMap","done","asVoid","withSpan","captureStackTrace","parent","_tag","context","empty","catchAllCause","forever","replicateEffect","discard","never","scopedDiscard","forkScoped"],"sources":["../../src/DurableQueue.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,cAAc,MAAM,qCAAqC;AACrE,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AACvD,SAASC,cAAc,QAAQ,sBAAsB;AASrD;;;;AAIA,OAAO,MAAMC,MAAM,GAAW,gCAAgC;AAkB9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDA,OAAO,MAAMC,IAAI,GAKfC,OAQC,KAKG;EACJ,CAACF,MAAM,GAAGA,MAAM;EAChBG,IAAI,EAAED,OAAO,CAACC,IAAI;EAClBC,aAAa,EAAER,MAAM,CAACS,QAAQ,CAACH,OAAO,CAACI,OAAO,CAAC,GAAGJ,OAAO,CAACI,OAAO,GAAGV,MAAM,CAACW,MAAM,CAACL,OAAO,CAACI,OAAO,CAAQ;EACzGE,cAAc,EAAEN,OAAO,CAACM,cAAqB;EAC7CC,QAAQ,EAAEX,eAAe,CAACG,IAAI,CAAC,gBAAgBC,OAAO,CAACC,IAAI,EAAE,EAAE;IAC7DO,OAAO,EAAER,OAAO,CAACQ,OAAO;IACxBC,KAAK,EAAET,OAAO,CAACS;GAChB;CACF,CAAC;AAEF,MAAMC,YAAY,gBAAG,IAAIC,OAAO,EAAwC;AACxE,MAAMC,cAAc,GAClBR,OAAgB,IAOb;EACH,IAAIS,MAAM,GAAGH,YAAY,CAACI,GAAG,CAACV,OAAO,CAAC;EACtC,IAAI,CAACS,MAAM,EAAE;IACXA,MAAM,GAAGnB,MAAM,CAACW,MAAM,CAAC;MACrBU,KAAK,EAAErB,MAAM,CAACsB,MAAM;MACpBC,OAAO,EAAEvB,MAAM,CAACsB,MAAM;MACtBE,MAAM,EAAExB,MAAM,CAACsB,MAAM;MACrBG,OAAO,EAAEzB,MAAM,CAAC0B,OAAO;MACvBhB;KACD,CAAC;IACFM,YAAY,CAACW,GAAG,CAACjB,OAAO,EAAES,MAAM,CAAC;EACnC;EACA,OAAOA,MAAa;AACtB,CAAC;AAED;;;;AAIA,OAAO,MAAMS,OAAO,gBAmBhB/B,MAAM,CAACgC,UAAU,CAAC,WAIpBC,IAA2C,EAAEpB,OAAwB,EAAEJ,OAExE;EACC,MAAMyB,GAAG,GAAG,OAAO5B,cAAc,CAAC2B,IAAI,CAAClB,cAAc,CAACF,OAAO,CAAC,CAAC;EAE/D,MAAMG,QAAQ,GAAGX,eAAe,CAACG,IAAI,CAAC,GAAGyB,IAAI,CAACjB,QAAQ,CAACN,IAAI,IAAIwB,GAAG,EAAE,EAAE;IACpEjB,OAAO,EAAEgB,IAAI,CAACjB,QAAQ,CAACmB,aAAa;IACpCjB,KAAK,EAAEe,IAAI,CAACjB,QAAQ,CAACoB;GACtB,CAAC;EAEF,OAAOhC,QAAQ,CAACI,IAAI,CAAC;IACnBE,IAAI,EAAE,gBAAgBuB,IAAI,CAACvB,IAAI,IAAIwB,GAAG,EAAE;IACxCG,OAAO,EAAErC,MAAM,CAACsC,GAAG,CAAC,aAAS;MAC3B,MAAMC,IAAI,GAAG,OAAOvC,MAAM,CAACwC,KAAK,CAACxC,MAAM,CAACyC,WAAW,CAAC;MACpD,MAAMC,KAAK,GAAG,OAAO5C,cAAc,CAACU,IAAI,CAAC;QACvCE,IAAI,EAAE,gBAAgBuB,IAAI,CAACvB,IAAI,EAAE;QACjCY,MAAM,EAAED,cAAc,CAACY,IAAI,CAACtB,aAAa;OAC1C,CAAC;MACF,MAAMa,KAAK,GAAG,OAAOnB,eAAe,CAACmB,KAAK,CAACR,QAAQ,CAAC;MACpD,OAAO0B,KAAK,CAACC,KAAK,CAAC;QACjBnB,KAAK;QACLX,OAAO;QACPa,OAAO,EAAEa,IAAI,CAACb,OAAO;QACrBC,MAAM,EAAEY,IAAI,CAACZ,MAAM;QACnBC,OAAO,EAAEW,IAAI,CAACX;OACR,CAAC,CAACgB,IAAI,CACZ5C,MAAM,CAAC6C,aAAa,CAAC7C,MAAM,CAAC8C,UAAU,CAAC,EACvC9C,MAAM,CAAC+C,QAAQ,CAAC,YAAY,EAAE/C,MAAM,CAACgD,GAAG,CAAC,EACzChD,MAAM,CAACiD,KAAK,CAACxC,OAAO,EAAEyC,aAAa,IAAIC,oBAAoB,CAAC,EAC5DnD,MAAM,CAACwC,KAAK,EACZxC,MAAM,CAACoD,YAAY,CAAC;QAClBC,OAAO,EAAE,kBAAkB;QAC3BC,MAAM,EAAE,cAAc;QACtBC,KAAK,EAAE,SAAS;QAChBC,SAAS,EAAEvB,IAAI,CAACvB;OACjB,CAAC,CACH;IACH,CAAC;GACF,CAAC;EAEF,OAAO,OAAOL,eAAe,CAACoD,KAAK,CAACzC,QAAQ,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAMmC,oBAAoB,gBAAGjD,QAAQ,CAACwD,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAACd,IAAI,cAC9D1C,QAAQ,CAACyD,KAAK,cAACzD,QAAQ,CAAC0D,MAAM,CAAC,UAAU,CAAC,CAAC,CAC5C;AAED;;;;AAIA,OAAO,MAAMC,UAAU,gBAkBnB7D,MAAM,CAACgC,UAAU,CAAC,WAMpBC,IAA2C,EAC3C6B,CAAiF,EACjFrD,OAEC;EAED,MAAMiC,KAAK,GAAG,OAAO5C,cAAc,CAACU,IAAI,CAAC;IACvCE,IAAI,EAAE,gBAAgBuB,IAAI,CAACvB,IAAI,EAAE;IACjCY,MAAM,EAAED,cAAc,CAACY,IAAI,CAACtB,aAAa;GAC1C,CAAC;EACF,MAAMoD,WAAW,GAAGtD,OAAO,EAAEsD,WAAW,IAAI,CAAC;EAE7C,MAAMC,MAAM,GAAGtB,KAAK,CAACuB,IAAI,CAAEC,KAAK,IAAI;IAClC,MAAMC,IAAI,GAAGD,KAMZ;IACD,OAAOJ,CAAC,CAACK,IAAI,CAACtD,OAAO,CAAC,CAAC+B,IAAI,CACzB5C,MAAM,CAACoE,IAAI,EACXpE,MAAM,CAACqE,OAAO,CAAED,IAAI,IAClB/D,eAAe,CAACiE,IAAI,CAACrC,IAAI,CAACjB,QAAQ,EAAE;MAClCQ,KAAK,EAAE2C,IAAI,CAAC3C,KAAK;MACjB4C;KACD,CAAC,CACH,EACDpE,MAAM,CAACuE,MAAM,EACbvE,MAAM,CAACwE,QAAQ,CAAC,gBAAgBvC,IAAI,CAACvB,IAAI,SAAS,EAAE;MAClD+D,iBAAiB,EAAE,KAAK;MACxBC,MAAM,EAAE;QACNC,IAAI,EAAE,cAAc;QACpBjD,OAAO,EAAEyC,IAAI,CAACzC,OAAO;QACrBC,MAAM,EAAEwC,IAAI,CAACxC,MAAM;QACnBC,OAAO,EAAEuC,IAAI,CAACvC,OAAO;QACrBgD,OAAO,EAAE7E,OAAO,CAAC8E,KAAK;;KAEzB,CAAC,CACH;EACH,CAAC,CAAC,CAACjC,IAAI,CACL5C,MAAM,CAAC8E,aAAa,CAAC9E,MAAM,CAAC8C,UAAU,CAAC,EACvC9C,MAAM,CAAC+E,OAAO,EACd/E,MAAM,CAACoD,YAAY,CAAC;IAClBC,OAAO,EAAE,kBAAkB;IAC3BC,MAAM,EAAE,cAAc;IACtBC,KAAK,EAAE;GACR,CAAC,CACH;EAED,OAAOvD,MAAM,CAACgF,eAAe,CAAChB,MAAM,EAAED,WAAW,EAAE;IAAEA,WAAW;IAAEkB,OAAO,EAAE;EAAI,CAAE,CAAC;EAClF,OAAO,OAAOjF,MAAM,CAACkF,KAAK;AAC5B,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMlB,MAAM,GAoBfA,CAAC/B,IAAI,EAAE6B,CAAC,EAAErD,OAAO,KAAKR,KAAK,CAACkF,aAAa,CAACnF,MAAM,CAACoF,UAAU,CAACvB,UAAU,CAAC5B,IAAI,EAAE6B,CAAC,EAAErD,OAAO,CAAC,CAAC,CAAC","ignoreList":[]}