@effect/cluster 0.36.3 → 0.37.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 (90) hide show
  1. package/ClusterWorkflowEngine/package.json +6 -0
  2. package/dist/cjs/ClusterSchema.js +9 -1
  3. package/dist/cjs/ClusterSchema.js.map +1 -1
  4. package/dist/cjs/ClusterWorkflowEngine.js +386 -0
  5. package/dist/cjs/ClusterWorkflowEngine.js.map +1 -0
  6. package/dist/cjs/Envelope.js +14 -4
  7. package/dist/cjs/Envelope.js.map +1 -1
  8. package/dist/cjs/Message.js +22 -2
  9. package/dist/cjs/Message.js.map +1 -1
  10. package/dist/cjs/MessageStorage.js +59 -21
  11. package/dist/cjs/MessageStorage.js.map +1 -1
  12. package/dist/cjs/Reply.js +15 -0
  13. package/dist/cjs/Reply.js.map +1 -1
  14. package/dist/cjs/Runners.js +2 -2
  15. package/dist/cjs/Runners.js.map +1 -1
  16. package/dist/cjs/Sharding.js +23 -8
  17. package/dist/cjs/Sharding.js.map +1 -1
  18. package/dist/cjs/Snowflake.js +2 -2
  19. package/dist/cjs/Snowflake.js.map +1 -1
  20. package/dist/cjs/SqlMessageStorage.js +36 -12
  21. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  22. package/dist/cjs/SqlShardStorage.js +6 -6
  23. package/dist/cjs/SqlShardStorage.js.map +1 -1
  24. package/dist/cjs/index.js +3 -1
  25. package/dist/cjs/internal/entityManager.js +4 -4
  26. package/dist/cjs/internal/entityManager.js.map +1 -1
  27. package/dist/dts/ClusterSchema.d.ts +7 -0
  28. package/dist/dts/ClusterSchema.d.ts.map +1 -1
  29. package/dist/dts/ClusterWorkflowEngine.d.ts +48 -0
  30. package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -0
  31. package/dist/dts/Envelope.d.ts +9 -0
  32. package/dist/dts/Envelope.d.ts.map +1 -1
  33. package/dist/dts/Message.d.ts +11 -1
  34. package/dist/dts/Message.d.ts.map +1 -1
  35. package/dist/dts/MessageStorage.d.ts +56 -0
  36. package/dist/dts/MessageStorage.d.ts.map +1 -1
  37. package/dist/dts/Reply.d.ts +7 -0
  38. package/dist/dts/Reply.d.ts.map +1 -1
  39. package/dist/dts/ShardStorage.d.ts +1 -1
  40. package/dist/dts/Sharding.d.ts +9 -0
  41. package/dist/dts/Sharding.d.ts.map +1 -1
  42. package/dist/dts/SqlMessageStorage.d.ts +10 -1
  43. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  44. package/dist/dts/SqlShardStorage.d.ts +1 -1
  45. package/dist/dts/index.d.ts +4 -0
  46. package/dist/dts/index.d.ts.map +1 -1
  47. package/dist/dts/internal/resourceMap.d.ts +1 -1
  48. package/dist/dts/internal/resourceMap.d.ts.map +1 -1
  49. package/dist/dts/internal/resourceRef.d.ts +1 -1
  50. package/dist/dts/internal/resourceRef.d.ts.map +1 -1
  51. package/dist/esm/ClusterSchema.js +7 -0
  52. package/dist/esm/ClusterSchema.js.map +1 -1
  53. package/dist/esm/ClusterWorkflowEngine.js +378 -0
  54. package/dist/esm/ClusterWorkflowEngine.js.map +1 -0
  55. package/dist/esm/Envelope.js +12 -3
  56. package/dist/esm/Envelope.js.map +1 -1
  57. package/dist/esm/Message.js +20 -1
  58. package/dist/esm/Message.js.map +1 -1
  59. package/dist/esm/MessageStorage.js +59 -21
  60. package/dist/esm/MessageStorage.js.map +1 -1
  61. package/dist/esm/Reply.js +15 -0
  62. package/dist/esm/Reply.js.map +1 -1
  63. package/dist/esm/Runners.js +2 -2
  64. package/dist/esm/Runners.js.map +1 -1
  65. package/dist/esm/Sharding.js +24 -9
  66. package/dist/esm/Sharding.js.map +1 -1
  67. package/dist/esm/Snowflake.js +2 -2
  68. package/dist/esm/Snowflake.js.map +1 -1
  69. package/dist/esm/SqlMessageStorage.js +36 -12
  70. package/dist/esm/SqlMessageStorage.js.map +1 -1
  71. package/dist/esm/SqlShardStorage.js +6 -6
  72. package/dist/esm/SqlShardStorage.js.map +1 -1
  73. package/dist/esm/index.js +4 -0
  74. package/dist/esm/index.js.map +1 -1
  75. package/dist/esm/internal/entityManager.js +5 -5
  76. package/dist/esm/internal/entityManager.js.map +1 -1
  77. package/package.json +14 -5
  78. package/src/ClusterSchema.ts +10 -0
  79. package/src/ClusterWorkflowEngine.ts +475 -0
  80. package/src/Envelope.ts +17 -3
  81. package/src/Message.ts +24 -2
  82. package/src/MessageStorage.ts +122 -22
  83. package/src/Reply.ts +18 -0
  84. package/src/Runners.ts +2 -2
  85. package/src/Sharding.ts +45 -9
  86. package/src/Snowflake.ts +2 -2
  87. package/src/SqlMessageStorage.ts +74 -16
  88. package/src/SqlShardStorage.ts +6 -6
  89. package/src/index.ts +5 -0
  90. package/src/internal/entityManager.ts +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"resourceMap.d.ts","sourceRoot":"","sources":["../../../src/internal/resourceMap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAE5B,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE;QACjD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAA;QACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KAC3C,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;gBALxC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3D,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE;QACjD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAA;QACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KAC3C,CAAC,EACO,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;IAGnD,MAAM,CAAC,IAAI,kBAAwC,CAAC,+BAAgB,GAAC,KAAK,MAAM,CAAC,MAAM,CAAC,GAAC,EAAE,GAAC,EAAE,CAAC,CAAC,uEA0B9F;IAEF,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAsBhC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAWnC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;CAQ1C"}
1
+ {"version":3,"file":"resourceMap.d.ts","sourceRoot":"","sources":["../../../src/internal/resourceMap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAE5B,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE;QACjD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAA;QACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KAC3C,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;gBALxC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3D,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE;QACjD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAA;QACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;KAC3C,CAAC,EACO,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;IAGnD,MAAM,CAAC,IAAI,kBAAwC,CAAC,gBAAgB,GAAC,KAAK,MAAM,CAAC,MAAM,CAAC,GAAC,EAAE,GAAC,EAAE,CAAC,CAAC,uEA0B9F;IAEF,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAsBhC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAWnC,YAAY,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;CAQ1C"}
@@ -15,7 +15,7 @@ export type State<A> = {
15
15
  export declare class ResourceRef<A, E = never> {
16
16
  readonly state: MutableRef.MutableRef<State<A>>;
17
17
  readonly acquire: (scope: Scope.Scope) => Effect.Effect<A, E>;
18
- static from: <A_1, E_1>(this: unknown, parentScope: Scope.Scope, acquire: (scope: Scope.Scope) => Effect.Effect<A_1, E_1>) => Effect.Effect<ResourceRef<A_1, E_1>, E_1, never>;
18
+ static from: <A_1, E_1>(parentScope: Scope.Scope, acquire: (scope: Scope.Scope) => Effect.Effect<A_1, E_1>) => Effect.Effect<ResourceRef<A_1, E_1>, E_1, never>;
19
19
  constructor(state: MutableRef.MutableRef<State<A>>, acquire: (scope: Scope.Scope) => Effect.Effect<A, E>);
20
20
  latch: Effect.Latch;
21
21
  unsafeGet(): Option.Option<A>;
@@ -1 +1 @@
1
- {"version":3,"file":"resourceRef.d.ts","sourceRoot":"","sources":["../../../src/internal/resourceRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CACxB,GAAG;IACF,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAA;CACrC,GAAG;IACF,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAClB,CAAA;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK;IA0BjC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IA1B/D,MAAM,CAAC,IAAI,uEAEQ,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,GAAC,EAAE,GAAC,CAAC,sDAoBpD;gBAGS,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACtC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAG/D,KAAK,eAA+B;IAEpC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAO7B,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAqBvC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAQrB;CACH"}
1
+ {"version":3,"file":"resourceRef.d.ts","sourceRoot":"","sources":["../../../src/internal/resourceRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CACxB,GAAG;IACF,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAA;CACrC,GAAG;IACF,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAClB,CAAA;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK;IA0BjC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IA1B/D,MAAM,CAAC,IAAI,wDAEQ,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,GAAC,EAAE,GAAC,CAAC,sDAoBpD;gBAGS,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACtC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAG/D,KAAK,eAA+B;IAEpC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAO7B,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAqBvC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAQrB;CACH"}
@@ -10,4 +10,11 @@ import { constFalse } from "effect/Function";
10
10
  export class Persisted extends /*#__PURE__*/Context.Reference()("@effect/cluster/ClusterSchema/Persisted", {
11
11
  defaultValue: constFalse
12
12
  }) {}
13
+ /**
14
+ * @since 1.0.0
15
+ * @category Annotations
16
+ */
17
+ export class Uninterruptible extends /*#__PURE__*/Context.Reference()("@effect/cluster/ClusterSchema/Uninterruptible", {
18
+ defaultValue: constFalse
19
+ }) {}
13
20
  //# sourceMappingURL=ClusterSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterSchema.js","names":["Context","constFalse","Persisted","Reference","defaultValue"],"sources":["../../src/ClusterSchema.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,SAASC,UAAU,QAAQ,iBAAiB;AAE5C;;;;AAIA,OAAM,MAAOC,SAAU,sBAAQF,OAAO,CAACG,SAAS,EAAa,CAAC,yCAAyC,EAAE;EACvGC,YAAY,EAAEH;CACf,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"ClusterSchema.js","names":["Context","constFalse","Persisted","Reference","defaultValue","Uninterruptible"],"sources":["../../src/ClusterSchema.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,SAASC,UAAU,QAAQ,iBAAiB;AAE5C;;;;AAIA,OAAM,MAAOC,SAAU,sBAAQF,OAAO,CAACG,SAAS,EAAa,CAAC,yCAAyC,EAAE;EACvGC,YAAY,EAAEH;CACf,CAAC;AAEF;;;;AAIA,OAAM,MAAOI,eACX,sBAAQL,OAAO,CAACG,SAAS,EAAmB,CAAC,+CAA+C,EAAE;EAC5FC,YAAY,EAAEH;CACf,CAAC","ignoreList":[]}
@@ -0,0 +1,378 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Rpc from "@effect/rpc/Rpc";
5
+ import * as Activity from "@effect/workflow/Activity";
6
+ import * as DurableClock from "@effect/workflow/DurableClock";
7
+ import * as Workflow from "@effect/workflow/Workflow";
8
+ import { WorkflowEngine, WorkflowInstance } from "@effect/workflow/WorkflowEngine";
9
+ import * as Arr from "effect/Array";
10
+ import * as Context from "effect/Context";
11
+ import * as DateTime from "effect/DateTime";
12
+ import * as Duration from "effect/Duration";
13
+ import * as Effect from "effect/Effect";
14
+ import * as Layer from "effect/Layer";
15
+ import * as Option from "effect/Option";
16
+ import * as PrimaryKey from "effect/PrimaryKey";
17
+ import * as RcMap from "effect/RcMap";
18
+ import * as Schedule from "effect/Schedule";
19
+ import * as Schema from "effect/Schema";
20
+ import * as ClusterSchema from "./ClusterSchema.js";
21
+ import * as DeliverAt from "./DeliverAt.js";
22
+ import * as Entity from "./Entity.js";
23
+ import { EntityAddress } from "./EntityAddress.js";
24
+ import { EntityId } from "./EntityId.js";
25
+ import { EntityType } from "./EntityType.js";
26
+ import * as Message from "./Message.js";
27
+ import { MessageStorage } from "./MessageStorage.js";
28
+ import * as Reply from "./Reply.js";
29
+ import * as Sharding from "./Sharding.js";
30
+ import * as Snowflake from "./Snowflake.js";
31
+ /**
32
+ * @since 1.0.0
33
+ * @category Constructors
34
+ */
35
+ export const make = /*#__PURE__*/Effect.gen(function* () {
36
+ const sharding = yield* Sharding.Sharding;
37
+ const storage = yield* MessageStorage;
38
+ const snowflakeGen = yield* Snowflake.Generator;
39
+ const entities = new Map();
40
+ const activities = new Map();
41
+ const activityLatches = new Map();
42
+ const clients = yield* RcMap.make({
43
+ lookup: Effect.fnUntraced(function* (workflowName) {
44
+ const entity = entities.get(workflowName);
45
+ if (!entity) {
46
+ return yield* Effect.dieMessage(`Workflow ${workflowName} not registered`);
47
+ }
48
+ return yield* entity.client;
49
+ }),
50
+ idleTimeToLive: "5 minutes"
51
+ });
52
+ const clockClient = yield* ClockEntity.client;
53
+ const deferredClient = yield* DeferredEntity.client;
54
+ const requestIdFor = Effect.fnUntraced(function* (options) {
55
+ const entityId = EntityId.make(options.executionId);
56
+ const address = new EntityAddress({
57
+ entityType: EntityType.make(options.entityType),
58
+ entityId,
59
+ shardId: sharding.getShardId(entityId)
60
+ });
61
+ return yield* storage.requestIdForPrimaryKey({
62
+ address,
63
+ tag: options.tag,
64
+ id: options.id
65
+ });
66
+ });
67
+ const replyForRequestId = Effect.fnUntraced(function* (requestId) {
68
+ const replies = yield* storage.repliesForUnfiltered([requestId]);
69
+ return Arr.last(replies).pipe(Option.filter(reply => reply._tag === "WithExit"), Option.map(reply => reply));
70
+ });
71
+ const requestReply = Effect.fnUntraced(function* (options) {
72
+ const requestId = yield* requestIdFor(options);
73
+ if (Option.isNone(requestId)) {
74
+ return Option.none();
75
+ }
76
+ return yield* replyForRequestId(requestId.value);
77
+ });
78
+ const resetActivityAttempt = Effect.fnUntraced(function* (options) {
79
+ const requestId = yield* requestIdFor({
80
+ entityType: `Workflow/${options.workflow.name}`,
81
+ executionId: options.executionId,
82
+ tag: "activity",
83
+ id: activityPrimaryKey(options.activity.name, options.attempt)
84
+ });
85
+ if (Option.isNone(requestId)) return;
86
+ yield* sharding.reset(requestId.value);
87
+ }, Effect.retry({
88
+ times: 3,
89
+ schedule: Schedule.exponential(250)
90
+ }), Effect.orDie);
91
+ return WorkflowEngine.of({
92
+ register: (workflow, execute) => Effect.suspend(() => {
93
+ if (entities.has(workflow.name)) {
94
+ return Effect.dieMessage(`Workflow ${workflow.name} already registered`);
95
+ }
96
+ const entity = makeWorkflowEntity(workflow);
97
+ entities.set(workflow.name, entity);
98
+ return sharding.registerEntity(entity, Effect.gen(function* () {
99
+ const address = yield* Entity.CurrentAddress;
100
+ const executionId = address.entityId;
101
+ return {
102
+ run: request => execute(request.payload, executionId).pipe(Workflow.intoResult, Effect.provideService(WorkflowInstance, WorkflowInstance.of({
103
+ workflow,
104
+ executionId,
105
+ suspended: false
106
+ }))),
107
+ activity: Effect.fnUntraced(function* (request) {
108
+ const activityId = `${executionId}/${request.payload.name}`;
109
+ let entry = activities.get(activityId);
110
+ while (!entry) {
111
+ const latch = Effect.unsafeMakeLatch();
112
+ activityLatches.set(activityId, latch);
113
+ yield* latch.await;
114
+ entry = activities.get(activityId);
115
+ }
116
+ const contextMap = new Map(entry.context.unsafeMap);
117
+ contextMap.set(Activity.CurrentAttempt.key, request.payload.attempt);
118
+ contextMap.set(WorkflowInstance.key, WorkflowInstance.of({
119
+ workflow,
120
+ executionId,
121
+ suspended: false
122
+ }));
123
+ return yield* entry.activity.executeEncoded.pipe(Workflow.intoResult, Effect.provide(Context.unsafeMake(contextMap)), Effect.ensuring(Effect.sync(() => {
124
+ activities.delete(activityId);
125
+ })));
126
+ }, Rpc.fork)
127
+ };
128
+ }));
129
+ }),
130
+ execute: ({
131
+ discard,
132
+ executionId,
133
+ payload,
134
+ workflow
135
+ }) => RcMap.get(clients, workflow.name).pipe(Effect.flatMap(make => make(executionId).run(payload, {
136
+ discard
137
+ })), Effect.orDie, Effect.scoped),
138
+ interrupt: Effect.fnUntraced(function* (workflow, executionId) {
139
+ const requestId = yield* requestIdFor({
140
+ entityType: `Workflow/${workflow.name}`,
141
+ executionId,
142
+ tag: "run",
143
+ id: ""
144
+ });
145
+ if (Option.isNone(requestId)) {
146
+ return;
147
+ }
148
+ const reply = yield* replyForRequestId(requestId.value);
149
+ const nonSuspendedReply = reply.pipe(Option.filter(reply => reply.exit._tag !== "Success" || reply.exit.value._tag !== "Suspended"));
150
+ if (Option.isSome(nonSuspendedReply)) {
151
+ return;
152
+ }
153
+ const entityId = EntityId.make(executionId);
154
+ const shardId = sharding.getShardId(entityId);
155
+ const workflowAddress = new EntityAddress({
156
+ entityType: EntityType.make(`Workflow/${workflow.name}`),
157
+ entityId,
158
+ shardId
159
+ });
160
+ const deferredAddress = new EntityAddress({
161
+ entityType: DeferredEntity.type,
162
+ entityId,
163
+ shardId
164
+ });
165
+ const clockAddress = new EntityAddress({
166
+ entityType: ClockEntity.type,
167
+ entityId,
168
+ shardId
169
+ });
170
+ if (Option.isNone(reply)) {
171
+ yield* sharding.sendOutgoing(Message.OutgoingEnvelope.interrupt({
172
+ address: workflowAddress,
173
+ id: snowflakeGen.unsafeNext(),
174
+ requestId: requestId.value
175
+ }), true);
176
+ } else {
177
+ yield* sharding.reset(requestId.value);
178
+ }
179
+ yield* storage.saveReply(Reply.ReplyWithContext.interrupt({
180
+ id: snowflakeGen.unsafeNext(),
181
+ requestId: requestId.value
182
+ }));
183
+ yield* storage.clearAddress(deferredAddress);
184
+ yield* storage.clearAddress(clockAddress);
185
+ }, Effect.retry({
186
+ while: e => e._tag === "PersistenceError",
187
+ times: 3,
188
+ schedule: Schedule.exponential(250)
189
+ }), Effect.orDie),
190
+ resume: Effect.fnUntraced(function* (workflowName, executionId) {
191
+ const maybeReply = yield* requestReply({
192
+ entityType: `Workflow/${workflowName}`,
193
+ executionId,
194
+ tag: "run",
195
+ id: ""
196
+ });
197
+ const maybeSuspended = Option.filter(maybeReply, reply => reply.exit._tag === "Success" && reply.exit.value._tag === "Suspended");
198
+ if (Option.isNone(maybeSuspended)) return;
199
+ yield* sharding.reset(Snowflake.Snowflake(maybeSuspended.value.requestId));
200
+ }, Effect.retry({
201
+ while: e => e._tag === "PersistenceError",
202
+ times: 3,
203
+ schedule: Schedule.exponential(250)
204
+ }), Effect.orDie),
205
+ activityExecute: Effect.fnUntraced(function* ({
206
+ activity,
207
+ attempt
208
+ }) {
209
+ const context = yield* Effect.context();
210
+ const instance = Context.get(context, WorkflowInstance);
211
+ const activityId = `${instance.executionId}/${activity.name}`;
212
+ activities.set(activityId, {
213
+ activity,
214
+ context
215
+ });
216
+ const latch = activityLatches.get(activityId);
217
+ if (latch) {
218
+ yield* latch.release;
219
+ activityLatches.delete(activityId);
220
+ }
221
+ const client = (yield* RcMap.get(clients, instance.workflow.name))(instance.executionId);
222
+ while (true) {
223
+ const result = yield* Effect.orDie(client.activity({
224
+ name: activity.name,
225
+ attempt
226
+ }));
227
+ // If the activity has suspended and did not execute, we need to resume
228
+ // it by resetting the attempt and re-executing.
229
+ if (result._tag === "Suspended" && activities.has(activityId)) {
230
+ yield* resetActivityAttempt({
231
+ workflow: instance.workflow,
232
+ executionId: instance.executionId,
233
+ activity,
234
+ attempt
235
+ });
236
+ continue;
237
+ }
238
+ activities.delete(activityId);
239
+ return result;
240
+ }
241
+ }, Effect.scoped),
242
+ deferredResult: deferred => WorkflowInstance.pipe(Effect.flatMap(instance => requestReply({
243
+ entityType: DeferredEntity.type,
244
+ executionId: instance.executionId,
245
+ tag: "set",
246
+ id: deferred.name
247
+ })), Effect.map(Option.map(reply => reply.exit)), Effect.retry({
248
+ while: e => e._tag === "PersistenceError",
249
+ times: 3,
250
+ schedule: Schedule.exponential(250)
251
+ }), Effect.orDie),
252
+ deferredDone({
253
+ deferred,
254
+ executionId,
255
+ exit,
256
+ workflowName
257
+ }) {
258
+ const client = deferredClient(executionId);
259
+ return Effect.orDie(client.set({
260
+ workflowName,
261
+ name: deferred.name,
262
+ exit
263
+ }));
264
+ },
265
+ scheduleClock(options) {
266
+ const client = clockClient(options.executionId);
267
+ return DateTime.now.pipe(Effect.flatMap(now => client.run({
268
+ name: options.clock.name,
269
+ workflowName: options.workflow.name,
270
+ wakeUp: DateTime.addDuration(now, options.clock.duration)
271
+ }, {
272
+ discard: true
273
+ })), Effect.orDie);
274
+ }
275
+ });
276
+ });
277
+ const ActivityRpc = /*#__PURE__*/Rpc.make("activity", {
278
+ payload: {
279
+ name: Schema.String,
280
+ attempt: Schema.Number
281
+ },
282
+ primaryKey: ({
283
+ attempt,
284
+ name
285
+ }) => activityPrimaryKey(name, attempt),
286
+ success: /*#__PURE__*/Workflow.Result({
287
+ success: Schema.Unknown,
288
+ error: Schema.Unknown
289
+ })
290
+ });
291
+ const makeWorkflowEntity = workflow => Entity.make(`Workflow/${workflow.name}`, [Rpc.make("run", {
292
+ payload: workflow.payloadSchema.fields,
293
+ primaryKey: () => "",
294
+ success: Workflow.Result({
295
+ success: workflow.successSchema,
296
+ error: workflow.errorSchema
297
+ })
298
+ }), ActivityRpc]).annotateRpcs(ClusterSchema.Persisted, true).annotateRpcs(ClusterSchema.Uninterruptible, true);
299
+ const activityPrimaryKey = (activity, attempt) => `${activity}/${attempt}`;
300
+ const ExitUnknown = /*#__PURE__*/Schema.encodedSchema(/*#__PURE__*/Schema.Exit({
301
+ success: Schema.Unknown,
302
+ failure: Schema.Unknown,
303
+ defect: Schema.Defect
304
+ }));
305
+ const DeferredEntity = /*#__PURE__*/Entity.make("Workflow/-/DurableDeferred", [Rpc.make("set", {
306
+ payload: {
307
+ workflowName: Schema.String,
308
+ name: Schema.String,
309
+ exit: ExitUnknown
310
+ },
311
+ primaryKey: ({
312
+ name
313
+ }) => name,
314
+ success: ExitUnknown
315
+ }), Rpc.make("resume", {
316
+ payload: {
317
+ workflowName: Schema.String,
318
+ name: Schema.String
319
+ },
320
+ primaryKey: ({
321
+ name
322
+ }) => name
323
+ })]).annotateRpcs(ClusterSchema.Persisted, true).annotateRpcs(ClusterSchema.Uninterruptible, true);
324
+ const DeferredEntityLayer = /*#__PURE__*/DeferredEntity.toLayer(/*#__PURE__*/Effect.gen(function* () {
325
+ const engine = yield* WorkflowEngine;
326
+ const address = yield* Entity.CurrentAddress;
327
+ const executionId = address.entityId;
328
+ const client = (yield* DeferredEntity.client)(executionId);
329
+ return {
330
+ set: request => Effect.as(Effect.orDie(client.resume(request.payload, {
331
+ discard: true
332
+ })), request.payload.exit),
333
+ resume: request => engine.resume(request.payload.workflowName, executionId)
334
+ };
335
+ }));
336
+ class ClockPayload extends /*#__PURE__*/Schema.Class(`Workflow/DurableClock/Run`)({
337
+ name: Schema.String,
338
+ workflowName: Schema.String,
339
+ wakeUp: Schema.DateTimeUtcFromNumber
340
+ }) {
341
+ [PrimaryKey.symbol]() {
342
+ return this.name;
343
+ }
344
+ [DeliverAt.symbol]() {
345
+ return this.wakeUp;
346
+ }
347
+ }
348
+ const ClockEntity = /*#__PURE__*/Entity.make("Workflow/-/DurableClock", [/*#__PURE__*/Rpc.make("run", {
349
+ payload: ClockPayload
350
+ }).annotate(ClusterSchema.Persisted, true).annotate(ClusterSchema.Uninterruptible, true)]);
351
+ const ClockEntityLayer = /*#__PURE__*/ClockEntity.toLayer(/*#__PURE__*/Effect.gen(function* () {
352
+ const engine = yield* WorkflowEngine;
353
+ const address = yield* Entity.CurrentAddress;
354
+ const executionId = address.entityId;
355
+ return {
356
+ run(request) {
357
+ const deferred = DurableClock.make({
358
+ name: request.payload.name,
359
+ duration: Duration.zero
360
+ }).deferred;
361
+ return engine.deferredDone({
362
+ workflowName: request.payload.workflowName,
363
+ executionId,
364
+ deferred,
365
+ exit: {
366
+ _tag: "Success",
367
+ value: void 0
368
+ }
369
+ });
370
+ }
371
+ };
372
+ }));
373
+ /**
374
+ * @since 1.0.0
375
+ * @category Layers
376
+ */
377
+ export const layer = /*#__PURE__*/DeferredEntityLayer.pipe(/*#__PURE__*/Layer.merge(ClockEntityLayer), /*#__PURE__*/Layer.provideMerge(/*#__PURE__*/Layer.scoped(WorkflowEngine, make)), /*#__PURE__*/Layer.provide(Snowflake.layerGenerator));
378
+ //# sourceMappingURL=ClusterWorkflowEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusterWorkflowEngine.js","names":["Rpc","Activity","DurableClock","Workflow","WorkflowEngine","WorkflowInstance","Arr","Context","DateTime","Duration","Effect","Layer","Option","PrimaryKey","RcMap","Schedule","Schema","ClusterSchema","DeliverAt","Entity","EntityAddress","EntityId","EntityType","Message","MessageStorage","Reply","Sharding","Snowflake","make","gen","sharding","storage","snowflakeGen","Generator","entities","Map","activities","activityLatches","clients","lookup","fnUntraced","workflowName","entity","get","dieMessage","client","idleTimeToLive","clockClient","ClockEntity","deferredClient","DeferredEntity","requestIdFor","options","entityId","executionId","address","entityType","shardId","getShardId","requestIdForPrimaryKey","tag","id","replyForRequestId","requestId","replies","repliesForUnfiltered","last","pipe","filter","reply","_tag","map","requestReply","isNone","none","value","resetActivityAttempt","workflow","name","activityPrimaryKey","activity","attempt","reset","retry","times","schedule","exponential","orDie","of","register","execute","suspend","has","makeWorkflowEntity","set","registerEntity","CurrentAddress","run","request","payload","intoResult","provideService","suspended","activityId","entry","latch","unsafeMakeLatch","await","contextMap","context","unsafeMap","CurrentAttempt","key","executeEncoded","provide","unsafeMake","ensuring","sync","delete","fork","discard","flatMap","scoped","interrupt","nonSuspendedReply","exit","isSome","workflowAddress","deferredAddress","type","clockAddress","sendOutgoing","OutgoingEnvelope","unsafeNext","saveReply","ReplyWithContext","clearAddress","while","e","resume","maybeReply","maybeSuspended","activityExecute","instance","release","result","deferredResult","deferred","deferredDone","scheduleClock","now","clock","wakeUp","addDuration","duration","ActivityRpc","String","Number","primaryKey","success","Result","Unknown","error","payloadSchema","fields","successSchema","errorSchema","annotateRpcs","Persisted","Uninterruptible","ExitUnknown","encodedSchema","Exit","failure","defect","Defect","DeferredEntityLayer","toLayer","engine","as","ClockPayload","Class","DateTimeUtcFromNumber","symbol","annotate","ClockEntityLayer","zero","layer","merge","provideMerge","layerGenerator"],"sources":["../../src/ClusterWorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -147,8 +147,17 @@ export const primaryKey = envelope => {
147
147
  if (envelope._tag !== "Request" || !Predicate.hasProperty(envelope.payload, PrimaryKey.symbol)) {
148
148
  return null;
149
149
  }
150
- const value = PrimaryKey.value(envelope.payload);
151
- // hash the entity address to save space?
152
- return `${envelope.address.entityType}/${envelope.address.entityId}/${envelope.tag}/${value}`;
150
+ return primaryKeyByAddress({
151
+ address: envelope.address,
152
+ tag: envelope.tag,
153
+ id: PrimaryKey.value(envelope.payload)
154
+ });
153
155
  };
156
+ /**
157
+ * @since 1.0.0
158
+ * @category primary key
159
+ */
160
+ export const primaryKeyByAddress = options =>
161
+ // hash the entity address to save space?
162
+ `${options.address.entityType}/${options.address.entityId}/${options.tag}/${options.id}`;
154
163
  //# sourceMappingURL=Envelope.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Envelope.js","names":["Headers","Predicate","PrimaryKey","Schema","EntityAddress","EntityAddressFromSelf","SnowflakeFromString","TypeId","Symbol","for","AckChunk","TaggedClass","id","address","requestId","replyId","withRequestId","Interrupt","isEnvelope","u","hasProperty","makeRequest","options","_tag","tag","payload","headers","traceId","spanId","sampled","EnvelopeFromSelf","declare","identifier","RequestFromSelf","PartialEncodedRequest","Struct","Literal","String","Unknown","schema","Boolean","PartialEncoded","Union","PartialEncodedArray","mutable","Array","PartialEncodedRequestFromSelf","typeSchema","schemaFromSelf","PartialEncodedFromSelf","primaryKey","envelope","symbol","value","entityType","entityId"],"sources":["../../src/Envelope.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Envelope.js","names":["Headers","Predicate","PrimaryKey","Schema","EntityAddress","EntityAddressFromSelf","SnowflakeFromString","TypeId","Symbol","for","AckChunk","TaggedClass","id","address","requestId","replyId","withRequestId","Interrupt","isEnvelope","u","hasProperty","makeRequest","options","_tag","tag","payload","headers","traceId","spanId","sampled","EnvelopeFromSelf","declare","identifier","RequestFromSelf","PartialEncodedRequest","Struct","Literal","String","Unknown","schema","Boolean","PartialEncoded","Union","PartialEncodedArray","mutable","Array","PartialEncodedRequestFromSelf","typeSchema","schemaFromSelf","PartialEncodedFromSelf","primaryKey","envelope","symbol","primaryKeyByAddress","value","entityType","entityId"],"sources":["../../src/Envelope.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Rpc from "@effect/rpc/Rpc";
1
5
  import * as Data from "effect/Data";
2
6
  import * as Effect from "effect/Effect";
3
7
  import * as FiberRef from "effect/FiberRef";
@@ -50,7 +54,22 @@ export class OutgoingRequest extends /*#__PURE__*/Data.TaggedClass("OutgoingRequ
50
54
  * @since 1.0.0
51
55
  * @category outgoing
52
56
  */
53
- export class OutgoingEnvelope extends /*#__PURE__*/Data.TaggedClass("OutgoingEnvelope") {}
57
+ export class OutgoingEnvelope extends /*#__PURE__*/Data.TaggedClass("OutgoingEnvelope") {
58
+ /**
59
+ * @since 1.0.0
60
+ */
61
+ static interrupt(options) {
62
+ return new OutgoingEnvelope({
63
+ envelope: new Envelope.Interrupt(options),
64
+ rpc: neverRpc
65
+ });
66
+ }
67
+ }
68
+ const neverRpc = /*#__PURE__*/Rpc.make("Never", {
69
+ success: Schema.Never,
70
+ error: Schema.Never,
71
+ payload: {}
72
+ });
54
73
  /**
55
74
  * @since 1.0.0
56
75
  * @category serialization / deserialization
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","names":["Data","Effect","FiberRef","Option","Schema","MalformedMessage","Envelope","incomingLocalFromOutgoing","self","_tag","IncomingEnvelope","envelope","IncomingRequestLocal","respond","lastSentReply","none","IncomingRequest","TaggedClass","OutgoingRequest","encodedCache","OutgoingEnvelope","serialize","message","succeed","suspend","serializeRequest","serializeEnvelope","flatMap","refail","encode","PartialEncoded","rpc","payloadSchema","payload","pipe","locally","currentContext","context","map","deserializeLocal","encoded","fail","cause","Error","decode","makeRequest"],"sources":["../../src/Message.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Message.js","names":["Rpc","Data","Effect","FiberRef","Option","Schema","MalformedMessage","Envelope","incomingLocalFromOutgoing","self","_tag","IncomingEnvelope","envelope","IncomingRequestLocal","respond","lastSentReply","none","IncomingRequest","TaggedClass","OutgoingRequest","encodedCache","OutgoingEnvelope","interrupt","options","Interrupt","rpc","neverRpc","make","success","Never","error","payload","serialize","message","succeed","suspend","serializeRequest","serializeEnvelope","flatMap","refail","encode","PartialEncoded","payloadSchema","pipe","locally","currentContext","context","map","deserializeLocal","encoded","fail","cause","Error","decode","makeRequest"],"sources":["../../src/Message.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}