@effect/cluster 0.37.1 → 0.38.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 (142) hide show
  1. package/ClusterCron/package.json +6 -0
  2. package/dist/cjs/ClusterCron.js +86 -0
  3. package/dist/cjs/ClusterCron.js.map +1 -0
  4. package/dist/cjs/ClusterSchema.js +9 -1
  5. package/dist/cjs/ClusterSchema.js.map +1 -1
  6. package/dist/cjs/ClusterWorkflowEngine.js +99 -78
  7. package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
  8. package/dist/cjs/Entity.js +6 -1
  9. package/dist/cjs/Entity.js.map +1 -1
  10. package/dist/cjs/EntityAddress.js +8 -1
  11. package/dist/cjs/EntityAddress.js.map +1 -1
  12. package/dist/cjs/MessageStorage.js +6 -4
  13. package/dist/cjs/MessageStorage.js.map +1 -1
  14. package/dist/cjs/Runner.js +15 -0
  15. package/dist/cjs/Runner.js.map +1 -1
  16. package/dist/cjs/RunnerAddress.js +8 -1
  17. package/dist/cjs/RunnerAddress.js.map +1 -1
  18. package/dist/cjs/Runners.js +5 -0
  19. package/dist/cjs/Runners.js.map +1 -1
  20. package/dist/cjs/ShardId.js +75 -7
  21. package/dist/cjs/ShardId.js.map +1 -1
  22. package/dist/cjs/ShardManager.js +63 -43
  23. package/dist/cjs/ShardManager.js.map +1 -1
  24. package/dist/cjs/ShardStorage.js +45 -36
  25. package/dist/cjs/ShardStorage.js.map +1 -1
  26. package/dist/cjs/Sharding.js +45 -37
  27. package/dist/cjs/Sharding.js.map +1 -1
  28. package/dist/cjs/ShardingConfig.js +9 -2
  29. package/dist/cjs/ShardingConfig.js.map +1 -1
  30. package/dist/cjs/Singleton.js +2 -2
  31. package/dist/cjs/Singleton.js.map +1 -1
  32. package/dist/cjs/SingletonAddress.js +2 -2
  33. package/dist/cjs/SingletonAddress.js.map +1 -1
  34. package/dist/cjs/SqlMessageStorage.js +32 -27
  35. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  36. package/dist/cjs/SqlShardStorage.js +14 -14
  37. package/dist/cjs/SqlShardStorage.js.map +1 -1
  38. package/dist/cjs/index.js +3 -1
  39. package/dist/cjs/internal/entityManager.js +2 -1
  40. package/dist/cjs/internal/entityManager.js.map +1 -1
  41. package/dist/cjs/internal/shardManager.js +138 -37
  42. package/dist/cjs/internal/shardManager.js.map +1 -1
  43. package/dist/dts/ClusterCron.d.ts +37 -0
  44. package/dist/dts/ClusterCron.d.ts.map +1 -0
  45. package/dist/dts/ClusterSchema.d.ts +8 -0
  46. package/dist/dts/ClusterSchema.d.ts.map +1 -1
  47. package/dist/dts/ClusterWorkflowEngine.d.ts +4 -4
  48. package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
  49. package/dist/dts/Entity.d.ts +10 -0
  50. package/dist/dts/Entity.d.ts.map +1 -1
  51. package/dist/dts/EntityAddress.d.ts +9 -3
  52. package/dist/dts/EntityAddress.d.ts.map +1 -1
  53. package/dist/dts/MessageStorage.d.ts +3 -3
  54. package/dist/dts/MessageStorage.d.ts.map +1 -1
  55. package/dist/dts/Runner.d.ts +15 -0
  56. package/dist/dts/Runner.d.ts.map +1 -1
  57. package/dist/dts/RunnerAddress.d.ts +5 -0
  58. package/dist/dts/RunnerAddress.d.ts.map +1 -1
  59. package/dist/dts/Runners.d.ts.map +1 -1
  60. package/dist/dts/ShardId.d.ts +60 -6
  61. package/dist/dts/ShardId.d.ts.map +1 -1
  62. package/dist/dts/ShardManager.d.ts +13 -13
  63. package/dist/dts/ShardManager.d.ts.map +1 -1
  64. package/dist/dts/ShardStorage.d.ts +11 -14
  65. package/dist/dts/ShardStorage.d.ts.map +1 -1
  66. package/dist/dts/Sharding.d.ts +4 -2
  67. package/dist/dts/Sharding.d.ts.map +1 -1
  68. package/dist/dts/ShardingConfig.d.ts +32 -6
  69. package/dist/dts/ShardingConfig.d.ts.map +1 -1
  70. package/dist/dts/Singleton.d.ts +3 -1
  71. package/dist/dts/Singleton.d.ts.map +1 -1
  72. package/dist/dts/SingletonAddress.d.ts +4 -3
  73. package/dist/dts/SingletonAddress.d.ts.map +1 -1
  74. package/dist/dts/SqlMessageStorage.d.ts +3 -2
  75. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  76. package/dist/dts/SqlShardStorage.d.ts +1 -1
  77. package/dist/dts/index.d.ts +4 -0
  78. package/dist/dts/index.d.ts.map +1 -1
  79. package/dist/esm/ClusterCron.js +77 -0
  80. package/dist/esm/ClusterCron.js.map +1 -0
  81. package/dist/esm/ClusterSchema.js +7 -0
  82. package/dist/esm/ClusterSchema.js.map +1 -1
  83. package/dist/esm/ClusterWorkflowEngine.js +99 -78
  84. package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
  85. package/dist/esm/Entity.js +6 -1
  86. package/dist/esm/Entity.js.map +1 -1
  87. package/dist/esm/EntityAddress.js +8 -1
  88. package/dist/esm/EntityAddress.js.map +1 -1
  89. package/dist/esm/MessageStorage.js +6 -4
  90. package/dist/esm/MessageStorage.js.map +1 -1
  91. package/dist/esm/Runner.js +15 -0
  92. package/dist/esm/Runner.js.map +1 -1
  93. package/dist/esm/RunnerAddress.js +8 -1
  94. package/dist/esm/RunnerAddress.js.map +1 -1
  95. package/dist/esm/Runners.js +5 -0
  96. package/dist/esm/Runners.js.map +1 -1
  97. package/dist/esm/ShardId.js +73 -6
  98. package/dist/esm/ShardId.js.map +1 -1
  99. package/dist/esm/ShardManager.js +64 -45
  100. package/dist/esm/ShardManager.js.map +1 -1
  101. package/dist/esm/ShardStorage.js +44 -36
  102. package/dist/esm/ShardStorage.js.map +1 -1
  103. package/dist/esm/Sharding.js +45 -37
  104. package/dist/esm/Sharding.js.map +1 -1
  105. package/dist/esm/ShardingConfig.js +9 -2
  106. package/dist/esm/ShardingConfig.js.map +1 -1
  107. package/dist/esm/Singleton.js +2 -2
  108. package/dist/esm/Singleton.js.map +1 -1
  109. package/dist/esm/SingletonAddress.js +2 -2
  110. package/dist/esm/SingletonAddress.js.map +1 -1
  111. package/dist/esm/SqlMessageStorage.js +32 -27
  112. package/dist/esm/SqlMessageStorage.js.map +1 -1
  113. package/dist/esm/SqlShardStorage.js +14 -14
  114. package/dist/esm/SqlShardStorage.js.map +1 -1
  115. package/dist/esm/index.js +4 -0
  116. package/dist/esm/index.js.map +1 -1
  117. package/dist/esm/internal/entityManager.js +2 -1
  118. package/dist/esm/internal/entityManager.js.map +1 -1
  119. package/dist/esm/internal/shardManager.js +136 -36
  120. package/dist/esm/internal/shardManager.js.map +1 -1
  121. package/package.json +13 -5
  122. package/src/ClusterCron.ts +129 -0
  123. package/src/ClusterSchema.ts +9 -0
  124. package/src/ClusterWorkflowEngine.ts +93 -58
  125. package/src/Entity.ts +20 -1
  126. package/src/EntityAddress.ts +11 -1
  127. package/src/MessageStorage.ts +12 -7
  128. package/src/Runner.ts +18 -0
  129. package/src/RunnerAddress.ts +9 -1
  130. package/src/Runners.ts +5 -0
  131. package/src/ShardId.ts +81 -11
  132. package/src/ShardManager.ts +74 -45
  133. package/src/ShardStorage.ts +51 -47
  134. package/src/Sharding.ts +45 -39
  135. package/src/ShardingConfig.ts +36 -7
  136. package/src/Singleton.ts +5 -2
  137. package/src/SingletonAddress.ts +2 -2
  138. package/src/SqlMessageStorage.ts +36 -30
  139. package/src/SqlShardStorage.ts +15 -15
  140. package/src/index.ts +5 -0
  141. package/src/internal/entityManager.ts +2 -1
  142. package/src/internal/shardManager.ts +158 -52
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": [],
3
+ "main": "../dist/cjs/ClusterCron.js",
4
+ "module": "../dist/esm/ClusterCron.js",
5
+ "types": "../dist/dts/ClusterCron.d.ts"
6
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = void 0;
7
+ var Rpc = _interopRequireWildcard(require("@effect/rpc/Rpc"));
8
+ var Cron = _interopRequireWildcard(require("effect/Cron"));
9
+ var DateTime = _interopRequireWildcard(require("effect/DateTime"));
10
+ var Duration = _interopRequireWildcard(require("effect/Duration"));
11
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
12
+ var Layer = _interopRequireWildcard(require("effect/Layer"));
13
+ var Option = _interopRequireWildcard(require("effect/Option"));
14
+ var PrimaryKey = _interopRequireWildcard(require("effect/PrimaryKey"));
15
+ var Schedule = _interopRequireWildcard(require("effect/Schedule"));
16
+ var Schema = _interopRequireWildcard(require("effect/Schema"));
17
+ var _ClusterSchema = _interopRequireWildcard(require("./ClusterSchema.js"));
18
+ var ClusterSchema = _ClusterSchema;
19
+ var DeliverAt = _interopRequireWildcard(require("./DeliverAt.js"));
20
+ var Entity = _interopRequireWildcard(require("./Entity.js"));
21
+ var Singleton = _interopRequireWildcard(require("./Singleton.js"));
22
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
23
+ /**
24
+ * @since 1.0.0
25
+ */
26
+
27
+ /**
28
+ * @since 1.0.0
29
+ * @category Constructors
30
+ */
31
+ const make = options => {
32
+ const CronEntity = Entity.make(`ClusterCron/${options.name}`, [Rpc.make("run", {
33
+ payload: CronPayload
34
+ }).annotate(_ClusterSchema.Persisted, true).annotate(_ClusterSchema.Uninterruptible, true)]).annotate(ClusterSchema.ShardGroup, () => options.shardGroup ?? "default");
35
+ const InitialRun = Singleton.make(`ClusterCron/${options.name}`, Effect.gen(function* () {
36
+ const client = (yield* CronEntity.client)("initial");
37
+ const now = yield* DateTime.now;
38
+ const next = Cron.next(options.cron, now);
39
+ yield* client.run({
40
+ dateTime: DateTime.unsafeFromDate(next)
41
+ }, {
42
+ discard: true
43
+ });
44
+ }), {
45
+ shardGroup: options.shardGroup
46
+ });
47
+ const skipIfOlderThan = Option.fromNullable(options.skipIfOlderThan).pipe(Option.map(Duration.decode), Option.getOrElse(() => Duration.days(1)));
48
+ const effect = Effect.fnUntraced(function* (dateTime) {
49
+ const now = yield* DateTime.now;
50
+ if (DateTime.lessThan(dateTime, DateTime.subtractDuration(now, skipIfOlderThan))) {
51
+ return;
52
+ }
53
+ return yield* options.execute;
54
+ }, Effect.orDie);
55
+ const EntityLayer = CronEntity.toLayer(Effect.gen(function* () {
56
+ const makeClient = yield* CronEntity.client;
57
+ return {
58
+ run(request) {
59
+ return Effect.ensuring(effect(request.payload.dateTime), Effect.gen(function* () {
60
+ const now = yield* DateTime.now;
61
+ const next = DateTime.unsafeFromDate(Cron.next(options.cron, options.calculateNextRunFromPrevious ? request.payload.dateTime : now));
62
+ const client = makeClient(DateTime.formatIso(next));
63
+ return yield* client.run({
64
+ dateTime: next
65
+ }, {
66
+ discard: true
67
+ });
68
+ }).pipe(Effect.sandbox, Effect.retry(retryPolicy), Effect.orDie));
69
+ }
70
+ };
71
+ }));
72
+ return Layer.merge(InitialRun, EntityLayer);
73
+ };
74
+ exports.make = make;
75
+ const retryPolicy = /*#__PURE__*/Schedule.exponential(200, 1.5).pipe(/*#__PURE__*/Schedule.union(/*#__PURE__*/Schedule.spaced("1 minute")));
76
+ class CronPayload extends /*#__PURE__*/Schema.Class("@effect/cluster/ClusterCron/CronPayload")({
77
+ dateTime: Schema.DateTimeUtc
78
+ }) {
79
+ [PrimaryKey.symbol]() {
80
+ return "";
81
+ }
82
+ [DeliverAt.symbol]() {
83
+ return this.dateTime;
84
+ }
85
+ }
86
+ //# sourceMappingURL=ClusterCron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusterCron.js","names":["Rpc","_interopRequireWildcard","require","Cron","DateTime","Duration","Effect","Layer","Option","PrimaryKey","Schedule","Schema","_ClusterSchema","ClusterSchema","DeliverAt","Entity","Singleton","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","options","CronEntity","name","payload","CronPayload","annotate","Persisted","Uninterruptible","ShardGroup","shardGroup","InitialRun","gen","client","now","next","cron","run","dateTime","unsafeFromDate","discard","skipIfOlderThan","fromNullable","pipe","map","decode","getOrElse","days","effect","fnUntraced","lessThan","subtractDuration","execute","orDie","EntityLayer","toLayer","makeClient","request","ensuring","calculateNextRunFromPrevious","formatIso","sandbox","retry","retryPolicy","merge","exports","exponential","union","spaced","Class","DateTimeUtc","symbol"],"sources":["../../src/ClusterCron.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Uninterruptible = exports.Persisted = void 0;
6
+ exports.Uninterruptible = exports.ShardGroup = exports.Persisted = void 0;
7
7
  var Context = _interopRequireWildcard(require("effect/Context"));
8
8
  var _Function = require("effect/Function");
9
9
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -26,5 +26,13 @@ exports.Persisted = Persisted;
26
26
  class Uninterruptible extends /*#__PURE__*/Context.Reference()("@effect/cluster/ClusterSchema/Uninterruptible", {
27
27
  defaultValue: _Function.constFalse
28
28
  }) {}
29
+ /**
30
+ * @since 1.0.0
31
+ * @category Annotations
32
+ */
29
33
  exports.Uninterruptible = Uninterruptible;
34
+ class ShardGroup extends /*#__PURE__*/Context.Reference()("@effect/cluster/ClusterSchema/ShardGroup", {
35
+ defaultValue: () => _ => "default"
36
+ }) {}
37
+ exports.ShardGroup = ShardGroup;
30
38
  //# sourceMappingURL=ClusterSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterSchema.js","names":["Context","_interopRequireWildcard","require","_Function","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Persisted","Reference","defaultValue","constFalse","exports","Uninterruptible"],"sources":["../../src/ClusterSchema.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA4C,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAJ5C;;;;AAMA;;;;AAIM,MAAOkB,SAAU,sBAAQvB,OAAO,CAACwB,SAAS,EAAa,CAAC,yCAAyC,EAAE;EACvGC,YAAY,EAAEC;CACf,CAAC;AAEF;;;;AAAAC,OAAA,CAAAJ,SAAA,GAAAA,SAAA;AAIM,MAAOK,eACX,sBAAQ5B,OAAO,CAACwB,SAAS,EAAmB,CAAC,+CAA+C,EAAE;EAC5FC,YAAY,EAAEC;CACf,CAAC;AAAAC,OAAA,CAAAC,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"file":"ClusterSchema.js","names":["Context","_interopRequireWildcard","require","_Function","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Persisted","Reference","defaultValue","constFalse","exports","Uninterruptible","ShardGroup","_"],"sources":["../../src/ClusterSchema.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA4C,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAJ5C;;;;AAOA;;;;AAIM,MAAOkB,SAAU,sBAAQvB,OAAO,CAACwB,SAAS,EAAa,CAAC,yCAAyC,EAAE;EACvGC,YAAY,EAAEC;CACf,CAAC;AAEF;;;;AAAAC,OAAA,CAAAJ,SAAA,GAAAA,SAAA;AAIM,MAAOK,eACX,sBAAQ5B,OAAO,CAACwB,SAAS,EAAmB,CAAC,+CAA+C,EAAE;EAC5FC,YAAY,EAAEC;CACf,CAAC;AAGJ;;;;AAAAC,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAIM,MAAOC,UAAW,sBAAQ7B,OAAO,CAACwB,SAAS,EAAc,CAAC,0CAA0C,EAAE;EAC1GC,YAAY,EAAEA,CAAA,KAAuCK,CAAC,IAAK;CAC5D,CAAC;AAAAH,OAAA,CAAAE,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.make = exports.layer = void 0;
7
7
  var Rpc = _interopRequireWildcard(require("@effect/rpc/Rpc"));
8
+ var _workflow = require("@effect/workflow");
8
9
  var Activity = _interopRequireWildcard(require("@effect/workflow/Activity"));
9
10
  var DurableClock = _interopRequireWildcard(require("@effect/workflow/DurableClock"));
10
11
  var Workflow = _interopRequireWildcard(require("@effect/workflow/Workflow"));
@@ -26,9 +27,7 @@ var Entity = _interopRequireWildcard(require("./Entity.js"));
26
27
  var _EntityAddress = require("./EntityAddress.js");
27
28
  var _EntityId = require("./EntityId.js");
28
29
  var _EntityType = require("./EntityType.js");
29
- var Message = _interopRequireWildcard(require("./Message.js"));
30
30
  var _MessageStorage = require("./MessageStorage.js");
31
- var Reply = _interopRequireWildcard(require("./Reply.js"));
32
31
  var Sharding = _interopRequireWildcard(require("./Sharding.js"));
33
32
  var Snowflake = _interopRequireWildcard(require("./Snowflake.js"));
34
33
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -43,7 +42,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
43
42
  const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
44
43
  const sharding = yield* Sharding.Sharding;
45
44
  const storage = yield* _MessageStorage.MessageStorage;
46
- const snowflakeGen = yield* Snowflake.Generator;
45
+ const workflows = new Map();
47
46
  const entities = new Map();
48
47
  const activities = new Map();
49
48
  const activityLatches = new Map();
@@ -60,11 +59,12 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
60
59
  const clockClient = yield* ClockEntity.client;
61
60
  const deferredClient = yield* DeferredEntity.client;
62
61
  const requestIdFor = Effect.fnUntraced(function* (options) {
62
+ const shardGroup = Context.get(options.workflow.annotations, ClusterSchema.ShardGroup)(options.executionId);
63
63
  const entityId = _EntityId.EntityId.make(options.executionId);
64
64
  const address = new _EntityAddress.EntityAddress({
65
65
  entityType: _EntityType.EntityType.make(options.entityType),
66
66
  entityId,
67
- shardId: sharding.getShardId(entityId)
67
+ shardId: sharding.getShardId(entityId, shardGroup)
68
68
  });
69
69
  return yield* storage.requestIdForPrimaryKey({
70
70
  address,
@@ -85,6 +85,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
85
85
  });
86
86
  const resetActivityAttempt = Effect.fnUntraced(function* (options) {
87
87
  const requestId = yield* requestIdFor({
88
+ workflow: options.workflow,
88
89
  entityType: `Workflow/${options.workflow.name}`,
89
90
  executionId: options.executionId,
90
91
  tag: "activity",
@@ -96,45 +97,78 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
96
97
  times: 3,
97
98
  schedule: Schedule.exponential(250)
98
99
  }), Effect.orDie);
100
+ const clearClock = Effect.fnUntraced(function* (options) {
101
+ const shardGroup = Context.get(options.workflow.annotations, ClusterSchema.ShardGroup)(options.executionId);
102
+ const entityId = _EntityId.EntityId.make(options.executionId);
103
+ const shardId = sharding.getShardId(entityId, shardGroup);
104
+ const clockAddress = new _EntityAddress.EntityAddress({
105
+ entityType: ClockEntity.type,
106
+ entityId,
107
+ shardId
108
+ });
109
+ yield* storage.clearAddress(clockAddress);
110
+ });
99
111
  return _WorkflowEngine.WorkflowEngine.of({
100
- register: (workflow, execute) => Effect.suspend(() => {
101
- if (entities.has(workflow.name)) {
102
- return Effect.dieMessage(`Workflow ${workflow.name} already registered`);
103
- }
104
- const entity = makeWorkflowEntity(workflow);
105
- entities.set(workflow.name, entity);
106
- return sharding.registerEntity(entity, Effect.gen(function* () {
107
- const address = yield* Entity.CurrentAddress;
108
- const executionId = address.entityId;
109
- return {
110
- run: request => execute(request.payload, executionId).pipe(Workflow.intoResult, Effect.provideService(_WorkflowEngine.WorkflowInstance, _WorkflowEngine.WorkflowInstance.of({
111
- workflow,
112
- executionId,
113
- suspended: false
114
- }))),
115
- activity: Effect.fnUntraced(function* (request) {
116
- const activityId = `${executionId}/${request.payload.name}`;
117
- let entry = activities.get(activityId);
118
- while (!entry) {
119
- const latch = Effect.unsafeMakeLatch();
120
- activityLatches.set(activityId, latch);
121
- yield* latch.await;
122
- entry = activities.get(activityId);
123
- }
124
- const contextMap = new Map(entry.context.unsafeMap);
125
- contextMap.set(Activity.CurrentAttempt.key, request.payload.attempt);
126
- contextMap.set(_WorkflowEngine.WorkflowInstance.key, _WorkflowEngine.WorkflowInstance.of({
127
- workflow,
128
- executionId,
129
- suspended: false
130
- }));
131
- return yield* entry.activity.executeEncoded.pipe(Workflow.intoResult, Effect.provide(Context.unsafeMake(contextMap)), Effect.ensuring(Effect.sync(() => {
132
- activities.delete(activityId);
133
- })));
134
- }, Rpc.fork)
135
- };
136
- }));
137
- }),
112
+ register(workflow, execute) {
113
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
114
+ const engine = this;
115
+ return Effect.suspend(() => {
116
+ if (entities.has(workflow.name)) {
117
+ return Effect.dieMessage(`Workflow ${workflow.name} already registered`);
118
+ }
119
+ const entity = makeWorkflowEntity(workflow);
120
+ workflows.set(workflow.name, workflow);
121
+ entities.set(workflow.name, entity);
122
+ return sharding.registerEntity(entity, Effect.gen(function* () {
123
+ const address = yield* Entity.CurrentAddress;
124
+ const executionId = address.entityId;
125
+ return {
126
+ run: request => {
127
+ const instance = _WorkflowEngine.WorkflowInstance.of({
128
+ workflow,
129
+ executionId,
130
+ suspended: false
131
+ });
132
+ return execute(request.payload, executionId).pipe(Effect.onExit(() => {
133
+ if (!instance.suspended) {
134
+ return Effect.void;
135
+ }
136
+ return engine.deferredResult(InterruptSignal).pipe(Effect.flatMap(maybeResult => {
137
+ if (Option.isNone(maybeResult)) {
138
+ return Effect.void;
139
+ }
140
+ instance.suspended = false;
141
+ return Effect.zipRight(Effect.ignore(clearClock({
142
+ workflow,
143
+ executionId
144
+ })), Effect.interrupt);
145
+ }), Effect.orDie);
146
+ }), Effect.scoped, Workflow.intoResult, Effect.provideService(_WorkflowEngine.WorkflowInstance, instance));
147
+ },
148
+ activity: Effect.fnUntraced(function* (request) {
149
+ const activityId = `${executionId}/${request.payload.name}`;
150
+ let entry = activities.get(activityId);
151
+ while (!entry) {
152
+ const latch = Effect.unsafeMakeLatch();
153
+ activityLatches.set(activityId, latch);
154
+ yield* latch.await;
155
+ entry = activities.get(activityId);
156
+ }
157
+ const contextMap = new Map(entry.context.unsafeMap);
158
+ contextMap.set(Activity.CurrentAttempt.key, request.payload.attempt);
159
+ contextMap.set(_WorkflowEngine.WorkflowInstance.key, _WorkflowEngine.WorkflowInstance.of({
160
+ workflow,
161
+ executionId,
162
+ suspended: false
163
+ }));
164
+ return yield* entry.activity.executeEncoded.pipe(Workflow.intoResult, Effect.provide(Context.unsafeMake(contextMap)), Effect.ensuring(Effect.sync(() => {
165
+ activities.delete(activityId);
166
+ })));
167
+ }, Rpc.fork)
168
+ };
169
+ }));
170
+ });
171
+ },
138
172
  execute: ({
139
173
  discard,
140
174
  executionId,
@@ -145,6 +179,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
145
179
  })), Effect.orDie, Effect.scoped),
146
180
  interrupt: Effect.fnUntraced(function* (workflow, executionId) {
147
181
  const requestId = yield* requestIdFor({
182
+ workflow,
148
183
  entityType: `Workflow/${workflow.name}`,
149
184
  executionId,
150
185
  tag: "run",
@@ -158,45 +193,27 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
158
193
  if (Option.isSome(nonSuspendedReply)) {
159
194
  return;
160
195
  }
161
- const entityId = _EntityId.EntityId.make(executionId);
162
- const shardId = sharding.getShardId(entityId);
163
- const workflowAddress = new _EntityAddress.EntityAddress({
164
- entityType: _EntityType.EntityType.make(`Workflow/${workflow.name}`),
165
- entityId,
166
- shardId
167
- });
168
- const deferredAddress = new _EntityAddress.EntityAddress({
169
- entityType: DeferredEntity.type,
170
- entityId,
171
- shardId
172
- });
173
- const clockAddress = new _EntityAddress.EntityAddress({
174
- entityType: ClockEntity.type,
175
- entityId,
176
- shardId
196
+ yield* this.deferredDone({
197
+ workflowName: workflow.name,
198
+ executionId,
199
+ deferred: InterruptSignal,
200
+ exit: {
201
+ _tag: "Success",
202
+ value: void 0
203
+ }
177
204
  });
178
- if (Option.isNone(reply)) {
179
- yield* sharding.sendOutgoing(Message.OutgoingEnvelope.interrupt({
180
- address: workflowAddress,
181
- id: snowflakeGen.unsafeNext(),
182
- requestId: requestId.value
183
- }), true);
184
- } else {
185
- yield* sharding.reset(requestId.value);
186
- }
187
- yield* storage.saveReply(Reply.ReplyWithContext.interrupt({
188
- id: snowflakeGen.unsafeNext(),
189
- requestId: requestId.value
190
- }));
191
- yield* storage.clearAddress(deferredAddress);
192
- yield* storage.clearAddress(clockAddress);
193
205
  }, Effect.retry({
194
206
  while: e => e._tag === "PersistenceError",
195
207
  times: 3,
196
208
  schedule: Schedule.exponential(250)
197
209
  }), Effect.orDie),
198
210
  resume: Effect.fnUntraced(function* (workflowName, executionId) {
211
+ const workflow = workflows.get(workflowName);
212
+ if (!workflow) {
213
+ return yield* Effect.dieMessage(`WorkflowEngine.resume: ${workflowName} not registered`);
214
+ }
199
215
  const maybeReply = yield* requestReply({
216
+ workflow,
200
217
  entityType: `Workflow/${workflowName}`,
201
218
  executionId,
202
219
  tag: "run",
@@ -248,6 +265,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
248
265
  }
249
266
  }, Effect.scoped),
250
267
  deferredResult: deferred => _WorkflowEngine.WorkflowInstance.pipe(Effect.flatMap(instance => requestReply({
268
+ workflow: instance.workflow,
251
269
  entityType: DeferredEntity.type,
252
270
  executionId: instance.executionId,
253
271
  tag: "set",
@@ -282,6 +300,8 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
282
300
  }
283
301
  });
284
302
  });
303
+ const retryPolicy = /*#__PURE__*/Schedule.exponential(200, 1.5).pipe(/*#__PURE__*/Schedule.union(/*#__PURE__*/Schedule.spaced("1 minute")));
304
+ const ensureSuccess = effect => effect.pipe(Effect.sandbox, Effect.retry(retryPolicy), Effect.orDie);
285
305
  const ActivityRpc = /*#__PURE__*/Rpc.make("activity", {
286
306
  payload: {
287
307
  name: Schema.String,
@@ -303,7 +323,7 @@ const makeWorkflowEntity = workflow => Entity.make(`Workflow/${workflow.name}`,
303
323
  success: workflow.successSchema,
304
324
  error: workflow.errorSchema
305
325
  })
306
- }), ActivityRpc]).annotateRpcs(ClusterSchema.Persisted, true).annotateRpcs(ClusterSchema.Uninterruptible, true);
326
+ }), ActivityRpc]).annotateContext(workflow.annotations).annotateRpcs(ClusterSchema.Persisted, true).annotateRpcs(ClusterSchema.Uninterruptible, true);
307
327
  const activityPrimaryKey = (activity, attempt) => `${activity}/${attempt}`;
308
328
  const ExitUnknown = /*#__PURE__*/Schema.encodedSchema(/*#__PURE__*/Schema.Exit({
309
329
  success: Schema.Unknown,
@@ -335,7 +355,7 @@ const DeferredEntityLayer = /*#__PURE__*/DeferredEntity.toLayer(/*#__PURE__*/Eff
335
355
  const executionId = address.entityId;
336
356
  const client = (yield* DeferredEntity.client)(executionId);
337
357
  return {
338
- set: request => Effect.as(Effect.orDie(client.resume(request.payload, {
358
+ set: request => Effect.as(ensureSuccess(client.resume(request.payload, {
339
359
  discard: true
340
360
  })), request.payload.exit),
341
361
  resume: request => engine.resume(request.payload.workflowName, executionId)
@@ -366,7 +386,7 @@ const ClockEntityLayer = /*#__PURE__*/ClockEntity.toLayer(/*#__PURE__*/Effect.ge
366
386
  name: request.payload.name,
367
387
  duration: Duration.zero
368
388
  }).deferred;
369
- return engine.deferredDone({
389
+ return ensureSuccess(engine.deferredDone({
370
390
  workflowName: request.payload.workflowName,
371
391
  executionId,
372
392
  deferred,
@@ -374,13 +394,14 @@ const ClockEntityLayer = /*#__PURE__*/ClockEntity.toLayer(/*#__PURE__*/Effect.ge
374
394
  _tag: "Success",
375
395
  value: void 0
376
396
  }
377
- });
397
+ }));
378
398
  }
379
399
  };
380
400
  }));
401
+ const InterruptSignal = /*#__PURE__*/_workflow.DurableDeferred.make("Workflow/InterruptSignal");
381
402
  /**
382
403
  * @since 1.0.0
383
404
  * @category Layers
384
405
  */
385
- const layer = exports.layer = /*#__PURE__*/DeferredEntityLayer.pipe(/*#__PURE__*/Layer.merge(ClockEntityLayer), /*#__PURE__*/Layer.provideMerge(/*#__PURE__*/Layer.scoped(_WorkflowEngine.WorkflowEngine, make)), /*#__PURE__*/Layer.provide(Snowflake.layerGenerator));
406
+ const layer = exports.layer = /*#__PURE__*/DeferredEntityLayer.pipe(/*#__PURE__*/Layer.merge(ClockEntityLayer), /*#__PURE__*/Layer.provideMerge(/*#__PURE__*/Layer.scoped(_WorkflowEngine.WorkflowEngine, make)));
386
407
  //# sourceMappingURL=ClusterWorkflowEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterWorkflowEngine.js","names":["Rpc","_interopRequireWildcard","require","Activity","DurableClock","Workflow","_WorkflowEngine","Arr","Context","DateTime","Duration","Effect","Layer","Option","PrimaryKey","RcMap","Schedule","Schema","ClusterSchema","DeliverAt","Entity","_EntityAddress","_EntityId","_EntityType","Message","_MessageStorage","Reply","Sharding","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","gen","sharding","storage","MessageStorage","snowflakeGen","Generator","entities","Map","activities","activityLatches","clients","lookup","fnUntraced","workflowName","entity","dieMessage","client","idleTimeToLive","clockClient","ClockEntity","deferredClient","DeferredEntity","requestIdFor","options","entityId","EntityId","executionId","address","EntityAddress","entityType","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","WorkflowEngine","of","register","execute","suspend","makeWorkflowEntity","registerEntity","CurrentAddress","run","request","payload","intoResult","provideService","WorkflowInstance","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","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":[]}
1
+ {"version":3,"file":"ClusterWorkflowEngine.js","names":["Rpc","_interopRequireWildcard","require","_workflow","Activity","DurableClock","Workflow","_WorkflowEngine","Arr","Context","DateTime","Duration","Effect","Layer","Option","PrimaryKey","RcMap","Schedule","Schema","ClusterSchema","DeliverAt","Entity","_EntityAddress","_EntityId","_EntityType","_MessageStorage","Sharding","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","gen","sharding","storage","MessageStorage","workflows","Map","entities","activities","activityLatches","clients","lookup","fnUntraced","workflowName","entity","dieMessage","client","idleTimeToLive","clockClient","ClockEntity","deferredClient","DeferredEntity","requestIdFor","options","shardGroup","workflow","annotations","ShardGroup","executionId","entityId","EntityId","address","EntityAddress","entityType","EntityType","shardId","getShardId","requestIdForPrimaryKey","tag","id","replyForRequestId","requestId","replies","repliesForUnfiltered","last","pipe","filter","reply","_tag","map","requestReply","isNone","none","value","resetActivityAttempt","name","activityPrimaryKey","activity","attempt","reset","retry","times","schedule","exponential","orDie","clearClock","clockAddress","type","clearAddress","WorkflowEngine","of","register","execute","engine","suspend","makeWorkflowEntity","registerEntity","CurrentAddress","run","request","instance","WorkflowInstance","suspended","payload","onExit","void","deferredResult","InterruptSignal","flatMap","maybeResult","zipRight","ignore","interrupt","scoped","intoResult","provideService","activityId","entry","latch","unsafeMakeLatch","await","contextMap","context","unsafeMap","CurrentAttempt","key","executeEncoded","provide","unsafeMake","ensuring","sync","delete","fork","discard","nonSuspendedReply","exit","isSome","deferredDone","deferred","while","resume","maybeReply","maybeSuspended","activityExecute","release","result","scheduleClock","now","clock","wakeUp","addDuration","duration","retryPolicy","union","spaced","ensureSuccess","effect","sandbox","ActivityRpc","String","Number","primaryKey","success","Result","Unknown","error","payloadSchema","fields","successSchema","errorSchema","annotateContext","annotateRpcs","Persisted","Uninterruptible","ExitUnknown","encodedSchema","Exit","failure","defect","Defect","DeferredEntityLayer","toLayer","as","ClockPayload","Class","DateTimeUtcFromNumber","symbol","annotate","ClockEntityLayer","zero","DurableDeferred","layer","merge","provideMerge"],"sources":["../../src/ClusterWorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,7 @@ var Mailbox = _interopRequireWildcard(require("effect/Mailbox"));
19
19
  var Option = _interopRequireWildcard(require("effect/Option"));
20
20
  var Predicate = _interopRequireWildcard(require("effect/Predicate"));
21
21
  var _Scope = require("effect/Scope");
22
+ var _ClusterSchema = require("./ClusterSchema.js");
22
23
  var _EntityAddress = require("./EntityAddress.js");
23
24
  var _EntityType = require("./EntityType.js");
24
25
  var Envelope = _interopRequireWildcard(require("./Envelope.js"));
@@ -62,6 +63,9 @@ const Proto = {
62
63
  annotateRpcsContext(context) {
63
64
  return fromRpcGroup(this.type, this.protocol.annotateRpcsContext(context));
64
65
  },
66
+ getShardId(entityId) {
67
+ return Effect.map(shardingTag, sharding => sharding.getShardId(entityId, this.getShardGroup(entityId)));
68
+ },
65
69
  get client() {
66
70
  return shardingTag.pipe(Effect.flatMap(sharding => sharding.makeClient(this)));
67
71
  },
@@ -134,6 +138,7 @@ protocol) => {
134
138
  const self = Object.create(Proto);
135
139
  self.type = _EntityType.EntityType.make(type);
136
140
  self.protocol = protocol;
141
+ self.getShardGroup = Context.get(protocol.annotations, _ClusterSchema.ShardGroup);
137
142
  return self;
138
143
  };
139
144
  /**
@@ -200,7 +205,7 @@ const shardingTag = /*#__PURE__*/Context.GenericTag("@effect/cluster/Sharding");
200
205
  */
201
206
  const makeTestClient = exports.makeTestClient = /*#__PURE__*/Effect.fnUntraced(function* (entity, layer) {
202
207
  const config = yield* _ShardingConfig.ShardingConfig;
203
- const makeShardId = entityId => ShardId.make(Math.abs((0, _hash.hashString)(entityId) % config.numberOfShards) + 1);
208
+ const makeShardId = entityId => ShardId.make(entity.getShardGroup(entityId), Math.abs((0, _hash.hashString)(entityId) % config.shardsPerGroup) + 1);
204
209
  const snowflakeGen = yield* Snowflake.makeGenerator;
205
210
  const runnerAddress = new _RunnerAddress.RunnerAddress({
206
211
  host: "localhost",
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["RpcClient","_interopRequireWildcard","require","RpcGroup","RpcServer","Arr","Context","Data","Effect","Equal","Exit","Hash","Layer","Mailbox","Option","Predicate","_Scope","_EntityAddress","_EntityType","Envelope","_hash","_resourceMap","_RunnerAddress","ShardId","_ShardingConfig","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","isEntity","u","hasProperty","Proto","symbol","structure","type","that","annotate","tag","value","fromRpcGroup","protocol","annotateRpcs","annotateContext","context","annotateRpcsContext","client","shardingTag","pipe","flatMap","sharding","makeClient","toLayer","build","options","registerEntity","isEffect","succeed","effectDiscard","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","handlers","rpc","requests","keys","Map","complete","request","exit","sync","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","create","EntityType","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","map","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag","makeTestClient","fnUntraced","entity","layer","config","ShardingConfig","makeShardId","entityId","Math","abs","hashString","numberOfShards","snowflakeGen","makeGenerator","runnerAddress","RunnerAddress","host","port","entityMap","of","contextWith","toHandlersContext","provide","add","omit","Scope","entityEntry","dieMessage","ResourceMap","address","EntityAddress","entityType","shardId","provideService","server","makeNoSerialization","onFromServer","response","write","supportsAck","generateRequestId","unsafeNext","onFromClient","message","_tag","payload","requestId","id","none"],"sources":["../../src/Entity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Entity.js","names":["RpcClient","_interopRequireWildcard","require","RpcGroup","RpcServer","Arr","Context","Data","Effect","Equal","Exit","Hash","Layer","Mailbox","Option","Predicate","_Scope","_ClusterSchema","_EntityAddress","_EntityType","Envelope","_hash","_resourceMap","_RunnerAddress","ShardId","_ShardingConfig","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","isEntity","u","hasProperty","Proto","symbol","structure","type","that","annotate","tag","value","fromRpcGroup","protocol","annotateRpcs","annotateContext","context","annotateRpcsContext","getShardId","entityId","map","shardingTag","sharding","getShardGroup","client","pipe","flatMap","makeClient","toLayer","build","options","registerEntity","isEffect","succeed","effectDiscard","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","handlers","rpc","requests","keys","Map","complete","request","exit","sync","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","create","EntityType","annotations","ShardGroup","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag","makeTestClient","fnUntraced","entity","layer","config","ShardingConfig","makeShardId","Math","abs","hashString","shardsPerGroup","snowflakeGen","makeGenerator","runnerAddress","RunnerAddress","host","port","entityMap","of","contextWith","toHandlersContext","provide","add","omit","Scope","entityEntry","dieMessage","ResourceMap","address","EntityAddress","entityType","shardId","provideService","server","makeNoSerialization","onFromServer","response","write","supportsAck","generateRequestId","unsafeNext","onFromClient","message","_tag","payload","requestId","id","none"],"sources":["../../src/Entity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}