@effect/cluster 0.50.6 → 0.51.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 (223) hide show
  1. package/RunnerStorage/package.json +6 -0
  2. package/SqlRunnerStorage/package.json +6 -0
  3. package/dist/cjs/ClusterError.js +2 -24
  4. package/dist/cjs/ClusterError.js.map +1 -1
  5. package/dist/cjs/ClusterMetrics.js +13 -15
  6. package/dist/cjs/ClusterMetrics.js.map +1 -1
  7. package/dist/cjs/ClusterWorkflowEngine.js +41 -81
  8. package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
  9. package/dist/cjs/Entity.js.map +1 -1
  10. package/dist/cjs/EntityAddress.js +9 -1
  11. package/dist/cjs/EntityAddress.js.map +1 -1
  12. package/dist/cjs/EntityId.js +7 -1
  13. package/dist/cjs/EntityId.js.map +1 -1
  14. package/dist/cjs/EntityProxy.js +1 -1
  15. package/dist/cjs/EntityProxy.js.map +1 -1
  16. package/dist/cjs/HttpRunner.js +69 -43
  17. package/dist/cjs/HttpRunner.js.map +1 -1
  18. package/dist/cjs/MessageStorage.js +64 -16
  19. package/dist/cjs/MessageStorage.js.map +1 -1
  20. package/dist/cjs/Runner.js +3 -3
  21. package/dist/cjs/Runner.js.map +1 -1
  22. package/dist/cjs/RunnerAddress.js +7 -0
  23. package/dist/cjs/RunnerAddress.js.map +1 -1
  24. package/dist/cjs/RunnerHealth.js +91 -32
  25. package/dist/cjs/RunnerHealth.js.map +1 -1
  26. package/dist/cjs/RunnerServer.js +38 -24
  27. package/dist/cjs/RunnerServer.js.map +1 -1
  28. package/dist/cjs/RunnerStorage.js +100 -0
  29. package/dist/cjs/RunnerStorage.js.map +1 -0
  30. package/dist/cjs/Runners.js +18 -22
  31. package/dist/cjs/Runners.js.map +1 -1
  32. package/dist/cjs/ShardId.js +17 -7
  33. package/dist/cjs/ShardId.js.map +1 -1
  34. package/dist/cjs/Sharding.js +435 -318
  35. package/dist/cjs/Sharding.js.map +1 -1
  36. package/dist/cjs/ShardingConfig.js +10 -14
  37. package/dist/cjs/ShardingConfig.js.map +1 -1
  38. package/dist/cjs/Snowflake.js +1 -1
  39. package/dist/cjs/SocketRunner.js +1 -1
  40. package/dist/cjs/SocketRunner.js.map +1 -1
  41. package/dist/cjs/SqlMessageStorage.js +22 -28
  42. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  43. package/dist/cjs/SqlRunnerStorage.js +378 -0
  44. package/dist/cjs/SqlRunnerStorage.js.map +1 -0
  45. package/dist/cjs/index.js +5 -15
  46. package/dist/cjs/internal/entityManager.js +40 -9
  47. package/dist/cjs/internal/entityManager.js.map +1 -1
  48. package/dist/dts/ClusterError.d.ts +0 -22
  49. package/dist/dts/ClusterError.d.ts.map +1 -1
  50. package/dist/dts/ClusterMetrics.d.ts +4 -14
  51. package/dist/dts/ClusterMetrics.d.ts.map +1 -1
  52. package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
  53. package/dist/dts/Entity.d.ts +2 -2
  54. package/dist/dts/Entity.d.ts.map +1 -1
  55. package/dist/dts/EntityAddress.d.ts +11 -0
  56. package/dist/dts/EntityAddress.d.ts.map +1 -1
  57. package/dist/dts/EntityId.d.ts +5 -0
  58. package/dist/dts/EntityId.d.ts.map +1 -1
  59. package/dist/dts/EntityProxy.d.ts +5 -6
  60. package/dist/dts/EntityProxy.d.ts.map +1 -1
  61. package/dist/dts/HttpRunner.d.ts +48 -25
  62. package/dist/dts/HttpRunner.d.ts.map +1 -1
  63. package/dist/dts/MessageStorage.d.ts +13 -5
  64. package/dist/dts/MessageStorage.d.ts.map +1 -1
  65. package/dist/dts/Runner.d.ts +4 -4
  66. package/dist/dts/Runner.d.ts.map +1 -1
  67. package/dist/dts/RunnerAddress.d.ts +5 -0
  68. package/dist/dts/RunnerAddress.d.ts.map +1 -1
  69. package/dist/dts/RunnerHealth.d.ts +24 -16
  70. package/dist/dts/RunnerHealth.d.ts.map +1 -1
  71. package/dist/dts/RunnerServer.d.ts +5 -4
  72. package/dist/dts/RunnerServer.d.ts.map +1 -1
  73. package/dist/dts/{ShardStorage.d.ts → RunnerStorage.d.ts} +41 -54
  74. package/dist/dts/RunnerStorage.d.ts.map +1 -0
  75. package/dist/dts/Runners.d.ts +15 -11
  76. package/dist/dts/Runners.d.ts.map +1 -1
  77. package/dist/dts/ShardId.d.ts +1 -1
  78. package/dist/dts/ShardId.d.ts.map +1 -1
  79. package/dist/dts/Sharding.d.ts +20 -10
  80. package/dist/dts/Sharding.d.ts.map +1 -1
  81. package/dist/dts/ShardingConfig.d.ts +40 -14
  82. package/dist/dts/ShardingConfig.d.ts.map +1 -1
  83. package/dist/dts/SocketRunner.d.ts +4 -3
  84. package/dist/dts/SocketRunner.d.ts.map +1 -1
  85. package/dist/dts/SqlMessageStorage.d.ts +2 -3
  86. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  87. package/dist/dts/SqlRunnerStorage.d.ts +40 -0
  88. package/dist/dts/SqlRunnerStorage.d.ts.map +1 -0
  89. package/dist/dts/index.d.ts +4 -24
  90. package/dist/dts/index.d.ts.map +1 -1
  91. package/dist/esm/ClusterError.js +0 -21
  92. package/dist/esm/ClusterError.js.map +1 -1
  93. package/dist/esm/ClusterMetrics.js +12 -14
  94. package/dist/esm/ClusterMetrics.js.map +1 -1
  95. package/dist/esm/ClusterWorkflowEngine.js +41 -81
  96. package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
  97. package/dist/esm/Entity.js.map +1 -1
  98. package/dist/esm/EntityAddress.js +7 -0
  99. package/dist/esm/EntityAddress.js.map +1 -1
  100. package/dist/esm/EntityId.js +5 -0
  101. package/dist/esm/EntityId.js.map +1 -1
  102. package/dist/esm/EntityProxy.js +2 -2
  103. package/dist/esm/EntityProxy.js.map +1 -1
  104. package/dist/esm/HttpRunner.js +62 -39
  105. package/dist/esm/HttpRunner.js.map +1 -1
  106. package/dist/esm/MessageStorage.js +65 -17
  107. package/dist/esm/MessageStorage.js.map +1 -1
  108. package/dist/esm/Runner.js +3 -3
  109. package/dist/esm/Runner.js.map +1 -1
  110. package/dist/esm/RunnerAddress.js +7 -0
  111. package/dist/esm/RunnerAddress.js.map +1 -1
  112. package/dist/esm/RunnerHealth.js +88 -30
  113. package/dist/esm/RunnerHealth.js.map +1 -1
  114. package/dist/esm/RunnerServer.js +38 -24
  115. package/dist/esm/RunnerServer.js.map +1 -1
  116. package/dist/esm/RunnerStorage.js +90 -0
  117. package/dist/esm/RunnerStorage.js.map +1 -0
  118. package/dist/esm/Runners.js +19 -23
  119. package/dist/esm/Runners.js.map +1 -1
  120. package/dist/esm/ShardId.js +16 -6
  121. package/dist/esm/ShardId.js.map +1 -1
  122. package/dist/esm/Sharding.js +438 -321
  123. package/dist/esm/Sharding.js.map +1 -1
  124. package/dist/esm/ShardingConfig.js +10 -14
  125. package/dist/esm/ShardingConfig.js.map +1 -1
  126. package/dist/esm/Snowflake.js +1 -1
  127. package/dist/esm/SocketRunner.js +1 -1
  128. package/dist/esm/SocketRunner.js.map +1 -1
  129. package/dist/esm/SqlMessageStorage.js +22 -28
  130. package/dist/esm/SqlMessageStorage.js.map +1 -1
  131. package/dist/esm/SqlRunnerStorage.js +369 -0
  132. package/dist/esm/SqlRunnerStorage.js.map +1 -0
  133. package/dist/esm/index.js +4 -24
  134. package/dist/esm/index.js.map +1 -1
  135. package/dist/esm/internal/entityManager.js +40 -9
  136. package/dist/esm/internal/entityManager.js.map +1 -1
  137. package/package.json +20 -60
  138. package/src/ClusterError.ts +0 -24
  139. package/src/ClusterMetrics.ts +12 -16
  140. package/src/ClusterWorkflowEngine.ts +38 -78
  141. package/src/Entity.ts +2 -7
  142. package/src/EntityAddress.ts +10 -0
  143. package/src/EntityId.ts +6 -0
  144. package/src/EntityProxy.ts +10 -10
  145. package/src/HttpRunner.ts +132 -67
  146. package/src/MessageStorage.ts +89 -24
  147. package/src/Runner.ts +4 -4
  148. package/src/RunnerAddress.ts +8 -0
  149. package/src/RunnerHealth.ts +119 -56
  150. package/src/RunnerServer.ts +64 -47
  151. package/src/RunnerStorage.ts +218 -0
  152. package/src/Runners.ts +32 -45
  153. package/src/ShardId.ts +14 -3
  154. package/src/Sharding.ts +548 -413
  155. package/src/ShardingConfig.ts +39 -31
  156. package/src/Snowflake.ts +1 -1
  157. package/src/SocketRunner.ts +6 -4
  158. package/src/SqlMessageStorage.ts +28 -30
  159. package/src/SqlRunnerStorage.ts +541 -0
  160. package/src/index.ts +4 -29
  161. package/src/internal/entityManager.ts +44 -10
  162. package/HttpCommon/package.json +0 -6
  163. package/HttpShardManager/package.json +0 -6
  164. package/ShardManager/package.json +0 -6
  165. package/ShardStorage/package.json +0 -6
  166. package/SocketShardManager/package.json +0 -6
  167. package/SqlShardStorage/package.json +0 -6
  168. package/SynchronizedClock/package.json +0 -6
  169. package/dist/cjs/HttpCommon.js +0 -48
  170. package/dist/cjs/HttpCommon.js.map +0 -1
  171. package/dist/cjs/HttpShardManager.js +0 -139
  172. package/dist/cjs/HttpShardManager.js.map +0 -1
  173. package/dist/cjs/ShardManager.js +0 -549
  174. package/dist/cjs/ShardManager.js.map +0 -1
  175. package/dist/cjs/ShardStorage.js +0 -151
  176. package/dist/cjs/ShardStorage.js.map +0 -1
  177. package/dist/cjs/SocketShardManager.js +0 -32
  178. package/dist/cjs/SocketShardManager.js.map +0 -1
  179. package/dist/cjs/SqlShardStorage.js +0 -253
  180. package/dist/cjs/SqlShardStorage.js.map +0 -1
  181. package/dist/cjs/SynchronizedClock.js +0 -65
  182. package/dist/cjs/SynchronizedClock.js.map +0 -1
  183. package/dist/cjs/internal/shardManager.js +0 -353
  184. package/dist/cjs/internal/shardManager.js.map +0 -1
  185. package/dist/dts/HttpCommon.d.ts +0 -25
  186. package/dist/dts/HttpCommon.d.ts.map +0 -1
  187. package/dist/dts/HttpShardManager.d.ts +0 -119
  188. package/dist/dts/HttpShardManager.d.ts.map +0 -1
  189. package/dist/dts/ShardManager.d.ts +0 -459
  190. package/dist/dts/ShardManager.d.ts.map +0 -1
  191. package/dist/dts/ShardStorage.d.ts.map +0 -1
  192. package/dist/dts/SocketShardManager.d.ts +0 -17
  193. package/dist/dts/SocketShardManager.d.ts.map +0 -1
  194. package/dist/dts/SqlShardStorage.d.ts +0 -38
  195. package/dist/dts/SqlShardStorage.d.ts.map +0 -1
  196. package/dist/dts/SynchronizedClock.d.ts +0 -19
  197. package/dist/dts/SynchronizedClock.d.ts.map +0 -1
  198. package/dist/dts/internal/shardManager.d.ts +0 -2
  199. package/dist/dts/internal/shardManager.d.ts.map +0 -1
  200. package/dist/esm/HttpCommon.js +0 -38
  201. package/dist/esm/HttpCommon.js.map +0 -1
  202. package/dist/esm/HttpShardManager.js +0 -128
  203. package/dist/esm/HttpShardManager.js.map +0 -1
  204. package/dist/esm/ShardManager.js +0 -535
  205. package/dist/esm/ShardManager.js.map +0 -1
  206. package/dist/esm/ShardStorage.js +0 -141
  207. package/dist/esm/ShardStorage.js.map +0 -1
  208. package/dist/esm/SocketShardManager.js +0 -24
  209. package/dist/esm/SocketShardManager.js.map +0 -1
  210. package/dist/esm/SqlShardStorage.js +0 -244
  211. package/dist/esm/SqlShardStorage.js.map +0 -1
  212. package/dist/esm/SynchronizedClock.js +0 -57
  213. package/dist/esm/SynchronizedClock.js.map +0 -1
  214. package/dist/esm/internal/shardManager.js +0 -342
  215. package/dist/esm/internal/shardManager.js.map +0 -1
  216. package/src/HttpCommon.ts +0 -73
  217. package/src/HttpShardManager.ts +0 -273
  218. package/src/ShardManager.ts +0 -823
  219. package/src/ShardStorage.ts +0 -297
  220. package/src/SocketShardManager.ts +0 -48
  221. package/src/SqlShardStorage.ts +0 -329
  222. package/src/SynchronizedClock.ts +0 -82
  223. package/src/internal/shardManager.ts +0 -412
@@ -1,19 +1,64 @@
1
- import * as HttpRouter from "@effect/platform/HttpRouter";
2
- import * as HttpServer from "@effect/platform/HttpServer";
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as HttpClient from "@effect/platform/HttpClient";
5
+ import * as HttpClientRequest from "@effect/platform/HttpClientRequest";
6
+ import * as HttpRouter from "@effect/platform/HttpLayerRouter";
7
+ import * as Socket from "@effect/platform/Socket";
8
+ import * as RpcClient from "@effect/rpc/RpcClient";
9
+ import * as RpcSerialization from "@effect/rpc/RpcSerialization";
3
10
  import * as RpcServer from "@effect/rpc/RpcServer";
4
11
  import * as Effect from "effect/Effect";
5
12
  import * as Layer from "effect/Layer";
6
- import { layerClientProtocolHttp, layerClientProtocolWebsocket } from "./HttpCommon.js";
7
13
  import * as Runners from "./Runners.js";
14
+ import { RpcClientProtocol } from "./Runners.js";
8
15
  import * as RunnerServer from "./RunnerServer.js";
9
16
  import * as Sharding from "./Sharding.js";
10
- import * as ShardManager from "./ShardManager.js";
11
- import * as SynchronizedClock from "./SynchronizedClock.js";
17
+ /**
18
+ * @since 1.0.0
19
+ * @category Layers
20
+ */
21
+ export const layerClientProtocolHttp = options => Layer.effect(RpcClientProtocol)(Effect.gen(function* () {
22
+ const serialization = yield* RpcSerialization.RpcSerialization;
23
+ const client = yield* HttpClient.HttpClient;
24
+ const https = options.https ?? false;
25
+ return address => {
26
+ const clientWithUrl = HttpClient.mapRequest(client, HttpClientRequest.prependUrl(`http${https ? "s" : ""}://${address.host}:${address.port}/${options.path}`));
27
+ return RpcClient.makeProtocolHttp(clientWithUrl).pipe(Effect.provideService(RpcSerialization.RpcSerialization, serialization));
28
+ };
29
+ }));
30
+ /**
31
+ * @since 1.0.0
32
+ * @category Layers
33
+ */
34
+ export const layerClientProtocolHttpDefault = /*#__PURE__*/layerClientProtocolHttp({
35
+ path: "/"
36
+ });
37
+ /**
38
+ * @since 1.0.0
39
+ * @category Layers
40
+ */
41
+ export const layerClientProtocolWebsocket = options => Layer.effect(RpcClientProtocol)(Effect.gen(function* () {
42
+ const serialization = yield* RpcSerialization.RpcSerialization;
43
+ const https = options.https ?? false;
44
+ const constructor = yield* Socket.WebSocketConstructor;
45
+ return Effect.fnUntraced(function* (address) {
46
+ const socket = yield* Socket.makeWebSocket(`ws${https ? "s" : ""}://${address.host}:${address.port}/${options.path}`).pipe(Effect.provideService(Socket.WebSocketConstructor, constructor));
47
+ return yield* RpcClient.makeProtocolSocket().pipe(Effect.provideService(Socket.Socket, socket), Effect.provideService(RpcSerialization.RpcSerialization, serialization));
48
+ });
49
+ }));
50
+ /**
51
+ * @since 1.0.0
52
+ * @category Layers
53
+ */
54
+ export const layerClientProtocolWebsocketDefault = /*#__PURE__*/layerClientProtocolWebsocket({
55
+ path: "/"
56
+ });
12
57
  /**
13
58
  * @since 1.0.0
14
59
  * @category Http App
15
60
  */
16
- export const toHttpApp = /*#__PURE__*/Effect.gen(function* () {
61
+ export const toHttpEffect = /*#__PURE__*/Effect.gen(function* () {
17
62
  const handlers = yield* Layer.build(RunnerServer.layerHandlers);
18
63
  return yield* RpcServer.toHttpApp(Runners.Rpcs, {
19
64
  spanPrefix: "RunnerServer",
@@ -24,7 +69,7 @@ export const toHttpApp = /*#__PURE__*/Effect.gen(function* () {
24
69
  * @since 1.0.0
25
70
  * @category Http App
26
71
  */
27
- export const toHttpAppWebsocket = /*#__PURE__*/Effect.gen(function* () {
72
+ export const toHttpEffectWebsocket = /*#__PURE__*/Effect.gen(function* () {
28
73
  const handlers = yield* Layer.build(RunnerServer.layerHandlers);
29
74
  return yield* RpcServer.toHttpAppWebsocket(Runners.Rpcs, {
30
75
  spanPrefix: "RunnerServer",
@@ -35,64 +80,42 @@ export const toHttpAppWebsocket = /*#__PURE__*/Effect.gen(function* () {
35
80
  * @since 1.0.0
36
81
  * @category Layers
37
82
  */
38
- export const layerClient = /*#__PURE__*/Sharding.layer.pipe(/*#__PURE__*/Layer.provideMerge(Runners.layerRpc), /*#__PURE__*/Layer.provideMerge(SynchronizedClock.layer), /*#__PURE__*/Layer.provide(ShardManager.layerClientRpc));
83
+ export const layerClient = /*#__PURE__*/Sharding.layer.pipe(/*#__PURE__*/Layer.provideMerge(Runners.layerRpc));
39
84
  /**
40
85
  * A HTTP layer for the `Runners` services, that adds a route to the provided
41
- * `HttpRouter.Tag`.
42
- *
43
- * By default, it uses the `HttpRouter.Default` tag.
86
+ * `HttpRouter`.
44
87
  *
45
88
  * @since 1.0.0
46
89
  * @category Layers
47
90
  */
48
- export const layer = options => {
49
- const layer = RunnerServer.layerWithClients.pipe(Layer.provide(RpcServer.layerProtocolHttp(options)));
50
- return options.logAddress ? withLogAddress(layer) : layer;
51
- };
91
+ export const layerHttpOptions = options => RunnerServer.layerWithClients.pipe(Layer.provide(RpcServer.layerProtocolHttp(options)));
52
92
  /**
53
93
  * @since 1.0.0
54
94
  * @category Layers
55
95
  */
56
- export const layerWebsocketOptions = options => {
57
- const layer = RunnerServer.layerWithClients.pipe(Layer.provide(RpcServer.layerProtocolWebsocket(options)));
58
- return options.logAddress ? withLogAddress(layer) : layer;
59
- };
60
- const withLogAddress = layer => Layer.effectDiscard(HttpServer.addressFormattedWith(address => Effect.annotateLogs(Effect.logInfo(`Listening on: ${address}`), {
61
- package: "@effect/cluster",
62
- service: "Runner"
63
- }))).pipe(Layer.provideMerge(layer));
96
+ export const layerWebsocketOptions = options => RunnerServer.layerWithClients.pipe(Layer.provide(RpcServer.layerProtocolWebsocket(options)));
64
97
  /**
65
98
  * @since 1.0.0
66
99
  * @category Layers
67
100
  */
68
- export const layerHttp = /*#__PURE__*/HttpRouter.Default.serve().pipe(/*#__PURE__*/Layer.provideMerge(/*#__PURE__*/layer({
69
- path: "/",
70
- logAddress: true
71
- })), /*#__PURE__*/Layer.provide(/*#__PURE__*/layerClientProtocolHttp({
101
+ export const layerHttp = /*#__PURE__*/HttpRouter.serve(layerHttpOptions({
72
102
  path: "/"
73
- })));
103
+ })).pipe(/*#__PURE__*/Layer.provide(layerClientProtocolHttpDefault));
74
104
  /**
75
105
  * @since 1.0.0
76
106
  * @category Layers
77
107
  */
78
- export const layerHttpClientOnly = /*#__PURE__*/RunnerServer.layerClientOnly.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/layerClientProtocolHttp({
79
- path: "/"
80
- })));
108
+ export const layerHttpClientOnly = /*#__PURE__*/RunnerServer.layerClientOnly.pipe(/*#__PURE__*/Layer.provide(layerClientProtocolHttpDefault));
81
109
  /**
82
110
  * @since 1.0.0
83
111
  * @category Layers
84
112
  */
85
- export const layerWebsocket = /*#__PURE__*/HttpRouter.Default.serve().pipe(/*#__PURE__*/Layer.provideMerge(/*#__PURE__*/layerWebsocketOptions({
86
- path: "/",
87
- logAddress: true
88
- })), /*#__PURE__*/Layer.provide(/*#__PURE__*/layerClientProtocolWebsocket({
113
+ export const layerWebsocket = /*#__PURE__*/HttpRouter.serve(layerWebsocketOptions({
89
114
  path: "/"
90
- })));
115
+ })).pipe(/*#__PURE__*/Layer.provide(layerClientProtocolWebsocketDefault));
91
116
  /**
92
117
  * @since 1.0.0
93
118
  * @category Layers
94
119
  */
95
- export const layerWebsocketClientOnly = /*#__PURE__*/RunnerServer.layerClientOnly.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/layerClientProtocolWebsocket({
96
- path: "/"
97
- })));
120
+ export const layerWebsocketClientOnly = /*#__PURE__*/RunnerServer.layerClientOnly.pipe(/*#__PURE__*/Layer.provide(layerClientProtocolWebsocketDefault));
98
121
  //# sourceMappingURL=HttpRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRunner.js","names":["HttpRouter","HttpServer","RpcServer","Effect","Layer","layerClientProtocolHttp","layerClientProtocolWebsocket","Runners","RunnerServer","Sharding","ShardManager","SynchronizedClock","toHttpApp","gen","handlers","build","layerHandlers","Rpcs","spanPrefix","disableTracing","pipe","provide","toHttpAppWebsocket","layerClient","layer","provideMerge","layerRpc","layerClientRpc","options","layerWithClients","layerProtocolHttp","logAddress","withLogAddress","layerWebsocketOptions","layerProtocolWebsocket","effectDiscard","addressFormattedWith","address","annotateLogs","logInfo","package","service","layerHttp","Default","serve","path","layerHttpClientOnly","layerClientOnly","layerWebsocket","layerWebsocketClientOnly"],"sources":["../../src/HttpRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpRunner.js","names":["HttpClient","HttpClientRequest","HttpRouter","Socket","RpcClient","RpcSerialization","RpcServer","Effect","Layer","Runners","RpcClientProtocol","RunnerServer","Sharding","layerClientProtocolHttp","options","effect","gen","serialization","client","https","address","clientWithUrl","mapRequest","prependUrl","host","port","path","makeProtocolHttp","pipe","provideService","layerClientProtocolHttpDefault","layerClientProtocolWebsocket","constructor","WebSocketConstructor","fnUntraced","socket","makeWebSocket","makeProtocolSocket","layerClientProtocolWebsocketDefault","toHttpEffect","handlers","build","layerHandlers","toHttpApp","Rpcs","spanPrefix","disableTracing","provide","toHttpEffectWebsocket","toHttpAppWebsocket","layerClient","layer","provideMerge","layerRpc","layerHttpOptions","layerWithClients","layerProtocolHttp","layerWebsocketOptions","layerProtocolWebsocket","layerHttp","serve","layerHttpClientOnly","layerClientOnly","layerWebsocket","layerWebsocketClientOnly"],"sources":["../../src/HttpRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -8,12 +8,11 @@ import { globalValue } from "effect/GlobalValue";
8
8
  import * as Layer from "effect/Layer";
9
9
  import * as Option from "effect/Option";
10
10
  import * as Schema from "effect/Schema";
11
- import { MalformedMessage } from "./ClusterError.js";
11
+ import { EntityNotAssignedToRunner, MalformedMessage } from "./ClusterError.js";
12
12
  import * as DeliverAt from "./DeliverAt.js";
13
13
  import * as Envelope from "./Envelope.js";
14
14
  import * as Message from "./Message.js";
15
15
  import * as Reply from "./Reply.js";
16
- import { ShardId } from "./ShardId.js";
17
16
  import * as Snowflake from "./Snowflake.js";
18
17
  /**
19
18
  * @since 1.0.0
@@ -36,29 +35,77 @@ export const SaveResultEncoded = /*#__PURE__*/Data.taggedEnum();
36
35
  */
37
36
  export const make = storage => Effect.sync(() => {
38
37
  const replyHandlers = new Map();
38
+ const replyHandlersShard = new Map();
39
39
  return MessageStorage.of({
40
40
  ...storage,
41
- registerReplyHandler: (message, onUnregister) => Effect.sync(() => {
42
- replyHandlers.set(message.envelope.requestId, {
43
- respond: message._tag === "IncomingRequest" ? message.respond : reply => message.respond(reply.reply),
44
- onUnregister
41
+ registerReplyHandler: message => {
42
+ const requestId = message.envelope.requestId;
43
+ return Effect.async(resume => {
44
+ const shardId = message.envelope.address.shardId.toString();
45
+ let handlers = replyHandlers.get(requestId);
46
+ if (handlers === undefined) {
47
+ handlers = [];
48
+ replyHandlers.set(requestId, handlers);
49
+ }
50
+ let shardSet = replyHandlersShard.get(shardId);
51
+ if (!shardSet) {
52
+ shardSet = new Set();
53
+ replyHandlersShard.set(shardId, shardSet);
54
+ }
55
+ const entry = {
56
+ message,
57
+ shardSet,
58
+ respond: message._tag === "IncomingRequest" ? message.respond : reply => message.respond(reply.reply),
59
+ resume
60
+ };
61
+ handlers.push(entry);
62
+ shardSet.add(entry);
63
+ return Effect.sync(() => {
64
+ const index = handlers.indexOf(entry);
65
+ handlers.splice(index, 1);
66
+ shardSet.delete(entry);
67
+ });
45
68
  });
46
- }),
47
- unregisterReplyHandler: requestId => Effect.suspend(() => {
48
- const handler = replyHandlers.get(requestId);
49
- if (!handler) return Effect.void;
69
+ },
70
+ unregisterReplyHandler: requestId => Effect.sync(() => {
71
+ const handlers = replyHandlers.get(requestId);
72
+ if (!handlers) return Effect.void;
50
73
  replyHandlers.delete(requestId);
51
- return handler.onUnregister;
74
+ for (let i = 0; i < handlers.length; i++) {
75
+ const handler = handlers[i];
76
+ handler.shardSet.delete(handler);
77
+ handler.resume(Effect.fail(new EntityNotAssignedToRunner({
78
+ address: handler.message.envelope.address
79
+ })));
80
+ }
81
+ }),
82
+ unregisterShardReplyHandlers: shardId => Effect.sync(() => {
83
+ const id = shardId.toString();
84
+ const shardSet = replyHandlersShard.get(id);
85
+ if (!shardSet) return;
86
+ replyHandlersShard.delete(id);
87
+ shardSet.forEach(handler => {
88
+ replyHandlers.delete(handler.message.envelope.requestId);
89
+ handler.resume(Effect.fail(new EntityNotAssignedToRunner({
90
+ address: handler.message.envelope.address
91
+ })));
92
+ });
52
93
  }),
53
94
  saveReply(reply) {
95
+ const requestId = reply.reply.requestId;
54
96
  return Effect.flatMap(storage.saveReply(reply), () => {
55
- const handler = replyHandlers.get(reply.reply.requestId);
56
- if (!handler) {
97
+ const handlers = replyHandlers.get(requestId);
98
+ if (!handlers) {
57
99
  return Effect.void;
58
100
  } else if (reply.reply._tag === "WithExit") {
59
- replyHandlers.delete(reply.reply.requestId);
101
+ replyHandlers.delete(requestId);
102
+ for (let i = 0; i < handlers.length; i++) {
103
+ const handler = handlers[i];
104
+ handler.shardSet.delete(handler);
105
+ handler.resume(Effect.void);
106
+ }
60
107
  }
61
- return handler.respond(reply);
108
+ return handlers.length === 1 ? handlers[0].respond(reply) : Effect.forEach(handlers, handler => handler.respond(reply));
62
109
  });
63
110
  }
64
111
  });
@@ -330,8 +377,9 @@ export class MemoryDriver extends /*#__PURE__*/Effect.Service()("@effect/cluster
330
377
  const messages = Arr.empty();
331
378
  for (let index = 0; index < journal.length; index++) {
332
379
  const envelope = journal[index];
333
- const shardId = ShardId.make(envelope.address.shardId);
334
- if (!unprocessed.has(envelope) || !shardIds.includes(shardId.toString())) {
380
+ const shardId = envelope.address.shardId;
381
+ const shardIdStr = `${shardId.group}:${shardId.id}`;
382
+ if (!unprocessed.has(envelope) || !shardIds.includes(shardIdStr)) {
335
383
  continue;
336
384
  }
337
385
  if (envelope._tag === "Request") {
@@ -1 +1 @@
1
- {"version":3,"file":"MessageStorage.js","names":["Arr","Context","Data","Effect","Exit","FiberRef","globalValue","Layer","Option","Schema","MalformedMessage","DeliverAt","Envelope","Message","Reply","ShardId","Snowflake","MessageStorage","Tag","SaveResult","taggedEnum","SaveResultEncoded","make","storage","sync","replyHandlers","Map","of","registerReplyHandler","message","onUnregister","set","envelope","requestId","respond","_tag","reply","unregisterReplyHandler","suspend","handler","get","void","delete","saveReply","flatMap","makeEncoded","fnUntraced","encoded","snowflakeGen","Generator","clock","saveRequest","serializeEnvelope","pipe","saveEnvelope","primaryKey","deliverAt","toMillis","payload","result","lastReceivedReply","succeed","duplicate","schema","rpc","decode","value","locally","currentContext","context","refail","map","Duplicate","originalId","some","asVoid","serialize","clearReplies","repliesFor","messages","requestIds","empty","id","String","push","length","encodedReplies","decodeReplies","repliesForUnfiltered","ids","Array","from","requestIdForPrimaryKey","options","primaryKeyByAddress","unprocessedMessages","shardIds","shards","toString","unsafeCurrentTimeMillis","decodeMessages","unprocessedMessagesById","messageIds","resetAddress","clearAddress","resetShards","envelopes","index","decodeMessage","catchAll","undefined","decodeEnvelopeWithReply","error","ReplyWithContext","fromDefect","unsafeNext","defect","forkDaemon","as","whileLoop","while","body","step","IncomingRequest","lastSentReply","IncomingEnvelope","replies","ignoredRequests","Set","decodeReply","has","add","WithExit","exit","die","noop","runSync","Success","succeedNone","MemoryDriver","Service","dependencies","layerGenerator","effect","gen","requests","requestsByPrimaryKey","unprocessed","replyIds","journal","cursors","WeakMap","unprocessedWith","predicate","now","entry","fromNullable","none","replyLatch","makeLatch","request","isNone","lastReceivedChunk","sequence","envelope_","JSON","parse","stringify","existing","findFirst","r","replyId","orElse","reply_","unsafeOpen","size","shardId","address","includes","last","envelopeIds","i","sameAddress","entityType","entityId","splice","layerNoop","layerMemory","_","provideMerge","Default","EnvelopeWithReply","Struct","PartialEncoded","OptionFromSelf","Encoded"],"sources":["../../src/MessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MessageStorage.js","names":["Arr","Context","Data","Effect","Exit","FiberRef","globalValue","Layer","Option","Schema","EntityNotAssignedToRunner","MalformedMessage","DeliverAt","Envelope","Message","Reply","Snowflake","MessageStorage","Tag","SaveResult","taggedEnum","SaveResultEncoded","make","storage","sync","replyHandlers","Map","replyHandlersShard","of","registerReplyHandler","message","requestId","envelope","async","resume","shardId","address","toString","handlers","get","undefined","set","shardSet","Set","entry","respond","_tag","reply","push","add","index","indexOf","splice","delete","unregisterReplyHandler","void","i","length","handler","fail","unregisterShardReplyHandlers","id","forEach","saveReply","flatMap","makeEncoded","fnUntraced","encoded","snowflakeGen","Generator","clock","saveRequest","serializeEnvelope","pipe","saveEnvelope","primaryKey","deliverAt","toMillis","payload","result","lastReceivedReply","succeed","duplicate","schema","rpc","decode","value","locally","currentContext","context","refail","map","Duplicate","originalId","some","asVoid","serialize","clearReplies","repliesFor","messages","requestIds","empty","String","encodedReplies","decodeReplies","repliesForUnfiltered","ids","Array","from","requestIdForPrimaryKey","options","primaryKeyByAddress","unprocessedMessages","shardIds","shards","suspend","unsafeCurrentTimeMillis","decodeMessages","unprocessedMessagesById","messageIds","resetAddress","clearAddress","resetShards","envelopes","decodeMessage","catchAll","decodeEnvelopeWithReply","error","ReplyWithContext","fromDefect","unsafeNext","defect","forkDaemon","as","whileLoop","while","body","step","IncomingRequest","lastSentReply","IncomingEnvelope","replies","ignoredRequests","decodeReply","has","WithExit","exit","die","noop","runSync","Success","succeedNone","MemoryDriver","Service","dependencies","layerGenerator","effect","gen","requests","requestsByPrimaryKey","unprocessed","replyIds","journal","cursors","WeakMap","unprocessedWith","predicate","now","fromNullable","none","replyLatch","makeLatch","request","isNone","lastReceivedChunk","sequence","envelope_","JSON","parse","stringify","existing","findFirst","r","replyId","orElse","reply_","unsafeOpen","size","shardIdStr","group","includes","last","envelopeIds","sameAddress","entityType","entityId","layerNoop","layerMemory","_","provideMerge","Default","EnvelopeWithReply","Struct","PartialEncoded","OptionFromSelf","Encoded"],"sources":["../../src/MessageStorage.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,WAAW,QAAQ,oBAAoB;AAChD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAGvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,SAASC,yBAAyB,EAAEC,gBAAgB,QAAQ,mBAAmB;AAC/E,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,KAAK,MAAM,YAAY;AAGnC,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;;AAIA,OAAM,MAAOC,cAAe,sBAAQhB,OAAO,CAACiB,GAAG,CAAC,gCAAgC,CAAC,EAiH7E;AAQJ;;;;AAIA,OAAO,MAAMC,UAAU,gBAAGjB,IAAI,CAACkB,UAAU,EAA0B;AAEnE;;;;AAIA,OAAO,MAAMC,iBAAiB,gBAAGnB,IAAI,CAACkB,UAAU,EAAsB;AAqLtE;;;;AAIA,OAAO,MAAME,IAAI,GACfC,OAGC,IAEDpB,MAAM,CAACqB,IAAI,CAAC,MAAK;EAOf,MAAMC,aAAa,GAAG,IAAIC,GAAG,EAA4C;EACzE,MAAMC,kBAAkB,GAAG,IAAID,GAAG,EAA6B;EAC/D,OAAOT,cAAc,CAACW,EAAE,CAAC;IACvB,GAAGL,OAAO;IACVM,oBAAoB,EAAGC,OAAO,IAAI;MAChC,MAAMC,SAAS,GAAGD,OAAO,CAACE,QAAQ,CAACD,SAAS;MAC5C,OAAO5B,MAAM,CAAC8B,KAAK,CAAmCC,MAAM,IAAI;QAC9D,MAAMC,OAAO,GAAGL,OAAO,CAACE,QAAQ,CAACI,OAAO,CAACD,OAAO,CAACE,QAAQ,EAAE;QAC3D,IAAIC,QAAQ,GAAGb,aAAa,CAACc,GAAG,CAACR,SAAS,CAAC;QAC3C,IAAIO,QAAQ,KAAKE,SAAS,EAAE;UAC1BF,QAAQ,GAAG,EAAE;UACbb,aAAa,CAACgB,GAAG,CAACV,SAAS,EAAEO,QAAQ,CAAC;QACxC;QACA,IAAII,QAAQ,GAAGf,kBAAkB,CAACY,GAAG,CAACJ,OAAO,CAAC;QAC9C,IAAI,CAACO,QAAQ,EAAE;UACbA,QAAQ,GAAG,IAAIC,GAAG,EAAE;UACpBhB,kBAAkB,CAACc,GAAG,CAACN,OAAO,EAAEO,QAAQ,CAAC;QAC3C;QACA,MAAME,KAAK,GAAiB;UAC1Bd,OAAO;UACPY,QAAQ;UACRG,OAAO,EAAEf,OAAO,CAACgB,IAAI,KAAK,iBAAiB,GAAGhB,OAAO,CAACe,OAAO,GAAIE,KAAK,IAAKjB,OAAO,CAACe,OAAO,CAACE,KAAK,CAACA,KAAK,CAAC;UACvGb;SACD;QACDI,QAAQ,CAACU,IAAI,CAACJ,KAAK,CAAC;QACpBF,QAAQ,CAACO,GAAG,CAACL,KAAK,CAAC;QACnB,OAAOzC,MAAM,CAACqB,IAAI,CAAC,MAAK;UACtB,MAAM0B,KAAK,GAAGZ,QAAQ,CAACa,OAAO,CAACP,KAAK,CAAC;UACrCN,QAAQ,CAACc,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;UACzBR,QAAQ,CAACW,MAAM,CAACT,KAAK,CAAC;QACxB,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;IACDU,sBAAsB,EAAGvB,SAAS,IAChC5B,MAAM,CAACqB,IAAI,CAAC,MAAK;MACf,MAAMc,QAAQ,GAAGb,aAAa,CAACc,GAAG,CAACR,SAAS,CAAC;MAC7C,IAAI,CAACO,QAAQ,EAAE,OAAOnC,MAAM,CAACoD,IAAI;MACjC9B,aAAa,CAAC4B,MAAM,CAACtB,SAAS,CAAC;MAC/B,KAAK,IAAIyB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlB,QAAQ,CAACmB,MAAM,EAAED,CAAC,EAAE,EAAE;QACxC,MAAME,OAAO,GAAGpB,QAAQ,CAACkB,CAAC,CAAC;QAC3BE,OAAO,CAAChB,QAAQ,CAACW,MAAM,CAACK,OAAO,CAAC;QAChCA,OAAO,CAACxB,MAAM,CAAC/B,MAAM,CAACwD,IAAI,CACxB,IAAIjD,yBAAyB,CAAC;UAC5B0B,OAAO,EAAEsB,OAAO,CAAC5B,OAAO,CAACE,QAAQ,CAACI;SACnC,CAAC,CACH,CAAC;MACJ;IACF,CAAC,CAAC;IACJwB,4BAA4B,EAAGzB,OAAO,IACpChC,MAAM,CAACqB,IAAI,CAAC,MAAK;MACf,MAAMqC,EAAE,GAAG1B,OAAO,CAACE,QAAQ,EAAE;MAC7B,MAAMK,QAAQ,GAAGf,kBAAkB,CAACY,GAAG,CAACsB,EAAE,CAAC;MAC3C,IAAI,CAACnB,QAAQ,EAAE;MACff,kBAAkB,CAAC0B,MAAM,CAACQ,EAAE,CAAC;MAC7BnB,QAAQ,CAACoB,OAAO,CAAEJ,OAAO,IAAI;QAC3BjC,aAAa,CAAC4B,MAAM,CAACK,OAAO,CAAC5B,OAAO,CAACE,QAAQ,CAACD,SAAS,CAAC;QACxD2B,OAAO,CAACxB,MAAM,CAAC/B,MAAM,CAACwD,IAAI,CACxB,IAAIjD,yBAAyB,CAAC;UAC5B0B,OAAO,EAAEsB,OAAO,CAAC5B,OAAO,CAACE,QAAQ,CAACI;SACnC,CAAC,CACH,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;IACJ2B,SAASA,CAAChB,KAAK;MACb,MAAMhB,SAAS,GAAGgB,KAAK,CAACA,KAAK,CAAChB,SAAS;MACvC,OAAO5B,MAAM,CAAC6D,OAAO,CAACzC,OAAO,CAACwC,SAAS,CAAChB,KAAK,CAAC,EAAE,MAAK;QACnD,MAAMT,QAAQ,GAAGb,aAAa,CAACc,GAAG,CAACR,SAAS,CAAC;QAC7C,IAAI,CAACO,QAAQ,EAAE;UACb,OAAOnC,MAAM,CAACoD,IAAI;QACpB,CAAC,MAAM,IAAIR,KAAK,CAACA,KAAK,CAACD,IAAI,KAAK,UAAU,EAAE;UAC1CrB,aAAa,CAAC4B,MAAM,CAACtB,SAAS,CAAC;UAC/B,KAAK,IAAIyB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlB,QAAQ,CAACmB,MAAM,EAAED,CAAC,EAAE,EAAE;YACxC,MAAME,OAAO,GAAGpB,QAAQ,CAACkB,CAAC,CAAC;YAC3BE,OAAO,CAAChB,QAAQ,CAACW,MAAM,CAACK,OAAO,CAAC;YAChCA,OAAO,CAACxB,MAAM,CAAC/B,MAAM,CAACoD,IAAI,CAAC;UAC7B;QACF;QACA,OAAOjB,QAAQ,CAACmB,MAAM,KAAK,CAAC,GACxBnB,QAAQ,CAAC,CAAC,CAAC,CAACO,OAAO,CAACE,KAAK,CAAC,GAC1B5C,MAAM,CAAC2D,OAAO,CAACxB,QAAQ,EAAGoB,OAAO,IAAKA,OAAO,CAACb,OAAO,CAACE,KAAK,CAAC,CAAC;MACnE,CAAC,CAAC;IACJ;GACD,CAAC;AACJ,CAAC,CAAC;AAEJ;;;;AAIA,OAAO,MAAMkB,WAAW,gBAIpB9D,MAAM,CAAC+D,UAAU,CAAC,WAAUC,OAAgB;EAC9C,MAAMC,YAAY,GAAG,OAAOpD,SAAS,CAACqD,SAAS;EAC/C,MAAMC,KAAK,GAAG,OAAOnE,MAAM,CAACmE,KAAK;EAEjC,MAAM/C,OAAO,GAA2B,OAAOD,IAAI,CAAC;IAClDiD,WAAW,EAAGzC,OAAO,IACnBhB,OAAO,CAAC0D,iBAAiB,CAAC1C,OAAO,CAAC,CAAC2C,IAAI,CACrCtE,MAAM,CAAC6D,OAAO,CAAEhC,QAAQ,IACtBmC,OAAO,CAACO,YAAY,CAAC;MACnB1C,QAAQ;MACR2C,UAAU,EAAE9D,QAAQ,CAAC8D,UAAU,CAAC7C,OAAO,CAACE,QAAQ,CAAC;MACjD4C,SAAS,EAAEhE,SAAS,CAACiE,QAAQ,CAAC/C,OAAO,CAACE,QAAQ,CAAC8C,OAAO;KACvD,CAAC,CACH,EACD3E,MAAM,CAAC6D,OAAO,CAAEe,MAAM,IAAI;MACxB,IAAIA,MAAM,CAACjC,IAAI,KAAK,SAAS,IAAIiC,MAAM,CAACC,iBAAiB,CAAClC,IAAI,KAAK,MAAM,EAAE;QACzE,OAAO3C,MAAM,CAAC8E,OAAO,CAACF,MAAyB,CAAC;MAClD;MACA,MAAMG,SAAS,GAAGH,MAAM;MACxB,MAAMI,MAAM,GAAGpE,KAAK,CAACA,KAAK,CAACe,OAAO,CAACsD,GAAG,CAAC;MACvC,OAAO3E,MAAM,CAAC4E,MAAM,CAACF,MAAM,CAAC,CAACJ,MAAM,CAACC,iBAAiB,CAACM,KAAK,CAAC,CAACb,IAAI,CAC/DtE,MAAM,CAACoF,OAAO,CAAClF,QAAQ,CAACmF,cAAc,EAAE1D,OAAO,CAAC2D,OAAO,CAAC,EACxD9E,gBAAgB,CAAC+E,MAAM,EACvBvF,MAAM,CAACwF,GAAG,CAAE5C,KAAK,IACf5B,UAAU,CAACyE,SAAS,CAAC;QACnBC,UAAU,EAAEX,SAAS,CAACW,UAAU;QAChCb,iBAAiB,EAAExE,MAAM,CAACsF,IAAI,CAAC/C,KAAK;OACrC,CAAC,CACH,CACF;IACH,CAAC,CAAC,CACH;IACH2B,YAAY,EAAG5C,OAAO,IACpBhB,OAAO,CAAC0D,iBAAiB,CAAC1C,OAAO,CAAC,CAAC2C,IAAI,CACrCtE,MAAM,CAAC6D,OAAO,CAAEhC,QAAQ,IACtBmC,OAAO,CAACO,YAAY,CAAC;MACnB1C,QAAQ;MACR2C,UAAU,EAAE,IAAI;MAChBC,SAAS,EAAE;KACZ,CAAC,CACH,EACDzE,MAAM,CAAC4F,MAAM,CACd;IACHhC,SAAS,EAAGhB,KAAK,IAAK5C,MAAM,CAAC6D,OAAO,CAACjD,KAAK,CAACiF,SAAS,CAACjD,KAAK,CAAC,EAAEoB,OAAO,CAACJ,SAAS,CAAC;IAC/EkC,YAAY,EAAE9B,OAAO,CAAC8B,YAAY;IAClCC,UAAU,EAAE/F,MAAM,CAAC+D,UAAU,CAAC,WAAUiC,QAAQ;MAC9C,MAAMC,UAAU,GAAGpG,GAAG,CAACqG,KAAK,EAAU;MACtC,MAAMV,GAAG,GAAG,IAAIjE,GAAG,EAAwC;MAC3D,KAAK,MAAMI,OAAO,IAAIqE,QAAQ,EAAE;QAC9B,MAAMtC,EAAE,GAAGyC,MAAM,CAACxE,OAAO,CAACE,QAAQ,CAACD,SAAS,CAAC;QAC7CqE,UAAU,CAACpD,IAAI,CAACa,EAAE,CAAC;QACnB8B,GAAG,CAAClD,GAAG,CAACoB,EAAE,EAAE/B,OAAO,CAAC;MACtB;MACA,IAAIsE,UAAU,CAAC3C,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;MACtC,MAAM8C,cAAc,GAAG,OAAOpC,OAAO,CAAC+B,UAAU,CAACE,UAAU,CAAC;MAC5D,OAAO,OAAOI,aAAa,CAACb,GAAG,EAAEY,cAAc,CAAC;IAClD,CAAC,CAAC;IACFE,oBAAoB,EAAGC,GAAG,IAAKvC,OAAO,CAACsC,oBAAoB,CAACE,KAAK,CAACC,IAAI,CAACF,GAAG,EAAEJ,MAAM,CAAC,CAAC;IACpFO,sBAAsBA,CAACC,OAAO;MAC5B,MAAMnC,UAAU,GAAG9D,QAAQ,CAACkG,mBAAmB,CAACD,OAAO,CAAC;MACxD,OAAO3C,OAAO,CAAC0C,sBAAsB,CAAClC,UAAU,CAAC;IACnD,CAAC;IACDqC,mBAAmB,EAAGC,QAAQ,IAAI;MAChC,MAAMC,MAAM,GAAGP,KAAK,CAACC,IAAI,CAACK,QAAQ,CAAC;MACnC,IAAIC,MAAM,CAACzD,MAAM,KAAK,CAAC,EAAE,OAAOtD,MAAM,CAAC8E,OAAO,CAAC,EAAE,CAAC;MAClD,OAAO9E,MAAM,CAAC6D,OAAO,CACnB7D,MAAM,CAACgH,OAAO,CAAC,MACbhD,OAAO,CAAC6C,mBAAmB,CAACE,MAAM,CAACvB,GAAG,CAAE9B,EAAE,IAAKA,EAAE,CAACxB,QAAQ,EAAE,CAAC,EAAEiC,KAAK,CAAC8C,uBAAuB,EAAE,CAAC,CAChG,EACDC,cAAc,CACf;IACH,CAAC;IACDC,uBAAuBA,CAACC,UAAU;MAChC,MAAMb,GAAG,GAAGC,KAAK,CAACC,IAAI,CAACW,UAAU,CAAC;MAClC,IAAIb,GAAG,CAACjD,MAAM,KAAK,CAAC,EAAE,OAAOtD,MAAM,CAAC8E,OAAO,CAAC,EAAE,CAAC;MAC/C,OAAO9E,MAAM,CAAC6D,OAAO,CACnB7D,MAAM,CAACgH,OAAO,CAAC,MAAMhD,OAAO,CAACmD,uBAAuB,CAACZ,GAAG,EAAEpC,KAAK,CAAC8C,uBAAuB,EAAE,CAAC,CAAC,EAC3FC,cAAc,CACf;IACH,CAAC;IACDG,YAAY,EAAErD,OAAO,CAACqD,YAAY;IAClCC,YAAY,EAAEtD,OAAO,CAACsD,YAAY;IAClCC,WAAW,EAAGT,QAAQ,IAAK9C,OAAO,CAACuD,WAAW,CAACf,KAAK,CAACC,IAAI,CAACK,QAAQ,EAAGpD,EAAE,IAAKA,EAAE,CAACxB,QAAQ,EAAE,CAAC;GAC3F,CAAC;EAEF,MAAMgF,cAAc,GAClBM,SAGE,IACA;IACF,MAAMxB,QAAQ,GAAiC,EAAE;IACjD,IAAIjD,KAAK,GAAG,CAAC;IAEb;IACA;IACA,MAAM0E,aAAa,GAAGzH,MAAM,CAAC0H,QAAQ,CACnC1H,MAAM,CAACgH,OAAO,CAAC,MAAK;MAClB,MAAMnF,QAAQ,GAAG2F,SAAS,CAACzE,KAAK,CAAC;MACjC,IAAI,CAAClB,QAAQ,EAAE,OAAO7B,MAAM,CAAC8E,OAAO,CAACzC,SAAS,CAAC;MAC/C,OAAOsF,uBAAuB,CAAC9F,QAAQ,CAAC;IAC1C,CAAC,CAAC,EACD+F,KAAK,IAAI;MACR,MAAM/F,QAAQ,GAAG2F,SAAS,CAACzE,KAAK,CAAC;MACjC,OAAO3B,OAAO,CAACwC,SAAS,CAAChD,KAAK,CAACiH,gBAAgB,CAACC,UAAU,CAAC;QACzDpE,EAAE,EAAEO,YAAY,CAAC8D,UAAU,EAAE;QAC7BnG,SAAS,EAAEf,SAAS,CAACA,SAAS,CAACgB,QAAQ,CAACA,QAAQ,CAACD,SAAS,CAAC;QAC3DoG,MAAM,EAAEJ,KAAK,CAAC1F,QAAQ;OACvB,CAAC,CAAC,CAACoC,IAAI,CACNtE,MAAM,CAACiI,UAAU,EACjBjI,MAAM,CAAC4F,MAAM,CACd;IACH,CAAC,CACF;IACD,OAAO5F,MAAM,CAACkI,EAAE,CACdlI,MAAM,CAACmI,SAAS,CAAC;MACfC,KAAK,EAAEA,CAAA,KAAMrF,KAAK,GAAGyE,SAAS,CAAClE,MAAM;MACrC+E,IAAI,EAAEA,CAAA,KAAMZ,aAAa;MACzBa,IAAI,EAAG3G,OAAO,IAAI;QAChB,MAAME,QAAQ,GAAG2F,SAAS,CAACzE,KAAK,EAAE,CAAC;QACnC,IAAI,CAACpB,OAAO,EAAE;QACdqE,QAAQ,CAACnD,IAAI,CACXlB,OAAO,CAACE,QAAQ,CAACc,IAAI,KAAK,SAAS,GAC/B,IAAIhC,OAAO,CAAC4H,eAAe,CAAC;UAC5B1G,QAAQ,EAAEF,OAAO,CAACE,QAAQ;UAC1B2G,aAAa,EAAE3G,QAAQ,CAAC2G,aAAa;UACrC9F,OAAO,EAAEtB,OAAO,CAACwC;SAClB,CAAC,GACA,IAAIjD,OAAO,CAAC8H,gBAAgB,CAAC;UAC7B5G,QAAQ,EAAEF,OAAO,CAACE;SACnB,CAAC,CACL;MACH;KACD,CAAC,EACFmE,QAAQ,CACT;EACH,CAAC;EAED,MAAMK,aAAa,GAAGA,CACpBL,QAAmD,EACnDI,cAA8C,KAC5C;IACF,MAAMsC,OAAO,GAA4B,EAAE;IAC3C,MAAMC,eAAe,GAAG,IAAInG,GAAG,EAAU;IACzC,IAAIO,KAAK,GAAG,CAAC;IAEb,MAAM6F,WAAW,GAA2C5I,MAAM,CAAC0H,QAAQ,CACzE1H,MAAM,CAACgH,OAAO,CAAC,MAAK;MAClB,MAAMpE,KAAK,GAAGwD,cAAc,CAACrD,KAAK,CAAC;MACnC,IAAI4F,eAAe,CAACE,GAAG,CAACjG,KAAK,CAAChB,SAAS,CAAC,EAAE,OAAO5B,MAAM,CAACoD,IAAI;MAC5D,MAAMzB,OAAO,GAAGqE,QAAQ,CAAC5D,GAAG,CAACQ,KAAK,CAAChB,SAAS,CAAC;MAC7C,IAAI,CAACD,OAAO,EAAE,OAAO3B,MAAM,CAACoD,IAAI;MAChC,MAAM4B,MAAM,GAAGpE,KAAK,CAACA,KAAK,CAACe,OAAO,CAACsD,GAAG,CAAC;MACvC,OAAO3E,MAAM,CAAC4E,MAAM,CAACF,MAAM,CAAC,CAACpC,KAAK,CAAC,CAAC0B,IAAI,CACtCtE,MAAM,CAACoF,OAAO,CAAClF,QAAQ,CAACmF,cAAc,EAAE1D,OAAO,CAAC2D,OAAO,CAAC,CACV;IAClD,CAAC,CAAC,EACDsC,KAAK,IAAI;MACR,MAAMhF,KAAK,GAAGwD,cAAc,CAACrD,KAAK,CAAC;MACnC4F,eAAe,CAAC7F,GAAG,CAACF,KAAK,CAAChB,SAAS,CAAC;MACpC,OAAO5B,MAAM,CAAC8E,OAAO,CACnB,IAAIlE,KAAK,CAACkI,QAAQ,CAAC;QACjBpF,EAAE,EAAEO,YAAY,CAAC8D,UAAU,EAAE;QAC7BnG,SAAS,EAAEf,SAAS,CAACA,SAAS,CAAC+B,KAAK,CAAChB,SAAS,CAAC;QAC/CmH,IAAI,EAAE9I,IAAI,CAAC+I,GAAG,CAACpB,KAAK;OACrB,CAAC,CACH;IACH,CAAC,CACF;IAED,OAAO5H,MAAM,CAACkI,EAAE,CACdlI,MAAM,CAACmI,SAAS,CAAC;MACfC,KAAK,EAAEA,CAAA,KAAMrF,KAAK,GAAGqD,cAAc,CAAC9C,MAAM;MAC1C+E,IAAI,EAAEA,CAAA,KAAMO,WAAW;MACvBN,IAAI,EAAG1F,KAAK,IAAI;QACdG,KAAK,EAAE;QACP,IAAIH,KAAK,EAAE8F,OAAO,CAAC7F,IAAI,CAACD,KAAK,CAAC;MAChC;KACD,CAAC,EACF8F,OAAO,CACR;EACH,CAAC;EAED,OAAOtH,OAAO;AAChB,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAM6H,IAAI,gBAA2B9I,WAAW,CACrD,qCAAqC,EACrC,MACEH,MAAM,CAACkJ,OAAO,CAAC/H,IAAI,CAAC;EAClBiD,WAAW,EAAEA,CAAA,KAAMpE,MAAM,CAAC8E,OAAO,CAAC9D,UAAU,CAACmI,OAAO,EAAE,CAAC;EACvD5E,YAAY,EAAEA,CAAA,KAAMvE,MAAM,CAACoD,IAAI;EAC/BQ,SAAS,EAAEA,CAAA,KAAM5D,MAAM,CAACoD,IAAI;EAC5B0C,YAAY,EAAEA,CAAA,KAAM9F,MAAM,CAACoD,IAAI;EAC/B2C,UAAU,EAAEA,CAAA,KAAM/F,MAAM,CAAC8E,OAAO,CAAC,EAAE,CAAC;EACpCwB,oBAAoB,EAAEA,CAAA,KAAMtG,MAAM,CAAC8E,OAAO,CAAC,EAAE,CAAC;EAC9C4B,sBAAsB,EAAEA,CAAA,KAAM1G,MAAM,CAACoJ,WAAW;EAChDvC,mBAAmB,EAAEA,CAAA,KAAM7G,MAAM,CAAC8E,OAAO,CAAC,EAAE,CAAC;EAC7CqC,uBAAuB,EAAEA,CAAA,KAAMnH,MAAM,CAAC8E,OAAO,CAAC,EAAE,CAAC;EACjDuC,YAAY,EAAEA,CAAA,KAAMrH,MAAM,CAACoD,IAAI;EAC/BkE,YAAY,EAAEA,CAAA,KAAMtH,MAAM,CAACoD,IAAI;EAC/BmE,WAAW,EAAEA,CAAA,KAAMvH,MAAM,CAACoD;CAC3B,CAAC,CAAC,CACN;AAaD;;;;AAIA,OAAM,MAAOiG,YAAa,sBAAQrJ,MAAM,CAACsJ,OAAO,EAAgB,CAAC,6CAA6C,EAAE;EAC9GC,YAAY,EAAE,CAAC1I,SAAS,CAAC2I,cAAc,CAAC;EACxCC,MAAM,eAAEzJ,MAAM,CAAC0J,GAAG,CAAC,aAAS;IAC1B,MAAMvF,KAAK,GAAG,OAAOnE,MAAM,CAACmE,KAAK;IACjC,MAAMwF,QAAQ,GAAG,IAAIpI,GAAG,EAAuB;IAC/C,MAAMqI,oBAAoB,GAAG,IAAIrI,GAAG,EAAuB;IAC3D,MAAMsI,WAAW,GAAG,IAAIrH,GAAG,EAA6B;IACxD,MAAMsH,QAAQ,GAAG,IAAItH,GAAG,EAAU;IAElC,MAAMuH,OAAO,GAAqC,EAAE;IAEpD,MAAMC,OAAO,GAAG,IAAIC,OAAO,EAAc;IAEzC,MAAMC,eAAe,GAAIC,SAA+C,IAAI;MAC1E,MAAMnE,QAAQ,GAGT,EAAE;MACP,MAAMoE,GAAG,GAAGjG,KAAK,CAAC8C,uBAAuB,EAAE;MAC3C,KAAK,MAAMpF,QAAQ,IAAIgI,WAAW,EAAE;QAClC,IAAI,CAACM,SAAS,CAACtI,QAAQ,CAAC,EAAE;UACxB;QACF;QACA,IAAIA,QAAQ,CAACc,IAAI,KAAK,SAAS,EAAE;UAC/B,MAAMF,KAAK,GAAGkH,QAAQ,CAACvH,GAAG,CAACP,QAAQ,CAACD,SAAS,CAAC;UAC9C,IAAIa,KAAK,EAAEgC,SAAS,IAAIhC,KAAK,CAACgC,SAAS,GAAG2F,GAAG,EAAE;YAC7C;UACF;UACApE,QAAQ,CAACnD,IAAI,CAAC;YACZhB,QAAQ;YACR2G,aAAa,EAAEnI,MAAM,CAACgK,YAAY,CAAC5H,KAAK,EAAEiG,OAAO,CAACjG,KAAK,CAACiG,OAAO,CAACpF,MAAM,GAAG,CAAC,CAAC;WAC5E,CAAC;QACJ,CAAC,MAAM;UACL0C,QAAQ,CAACnD,IAAI,CAAC;YACZhB,QAAQ;YACR2G,aAAa,EAAEnI,MAAM,CAACiK,IAAI;WAC3B,CAAC;QACJ;MACF;MACA,OAAOtE,QAAQ;IACjB,CAAC;IAED,MAAMuE,UAAU,GAAG,OAAOvK,MAAM,CAACwK,SAAS,EAAE;IAE5C,SAASzE,UAAUA,CAACE,UAAyB;MAC3C,MAAMyC,OAAO,GAAG7I,GAAG,CAACqG,KAAK,EAA2B;MACpD,KAAK,MAAMtE,SAAS,IAAIqE,UAAU,EAAE;QAClC,MAAMwE,OAAO,GAAGd,QAAQ,CAACvH,GAAG,CAACR,SAAS,CAAC;QACvC,IAAI,CAAC6I,OAAO,EAAE,SAAQ,KACjB,IAAIpK,MAAM,CAACqK,MAAM,CAACD,OAAO,CAACE,iBAAiB,CAAC,EAAE;UACjD;UACAjC,OAAO,CAAC7F,IAAI,CAAC,GAAG4H,OAAO,CAAC/B,OAAO,CAAC;UAChC;QACF;QACA,MAAMkC,QAAQ,GAAGH,OAAO,CAACE,iBAAiB,CAACxF,KAAK,CAACyF,QAAQ;QACzD,KAAK,MAAMhI,KAAK,IAAI6H,OAAO,CAAC/B,OAAO,EAAE;UACnC,IAAI9F,KAAK,CAACD,IAAI,KAAK,OAAO,IAAIC,KAAK,CAACgI,QAAQ,IAAIA,QAAQ,EAAE;YACxD;UACF;UACAlC,OAAO,CAAC7F,IAAI,CAACD,KAAK,CAAC;QACrB;MACF;MACA,OAAO8F,OAAO;IAChB;IAEA,MAAM1E,OAAO,GAAY;MACvBO,YAAY,EAAEA,CAAC;QAAEE,SAAS;QAAE5C,QAAQ,EAAEgJ,SAAS;QAAErG;MAAU,CAAE,KAC3DxE,MAAM,CAACqB,IAAI,CAAC,MAAK;QACf,MAAMQ,QAAQ,GAAGiJ,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACH,SAAS,CAAC,CAA8B;QACnF,MAAMI,QAAQ,GAAGzG,UAAU,GACvBoF,oBAAoB,CAACxH,GAAG,CAACoC,UAAU,CAAC,GACpC3C,QAAQ,CAACc,IAAI,KAAK,SAAS,IAAIgH,QAAQ,CAACvH,GAAG,CAACP,QAAQ,CAACD,SAAS,CAAC;QACnE,IAAIqJ,QAAQ,EAAE;UACZ,OAAO/J,iBAAiB,CAACuE,SAAS,CAAC;YACjCC,UAAU,EAAE7E,SAAS,CAACA,SAAS,CAACoK,QAAQ,CAACpJ,QAAQ,CAACD,SAAS,CAAC;YAC5DiD,iBAAiB,EAAEoG,QAAQ,CAACvC,OAAO,CAACpF,MAAM,KAAK,CAAC,IAAI2H,QAAQ,CAACvC,OAAO,CAAC,CAAC,CAAC,CAAC/F,IAAI,KAAK,UAAU,GACvFtC,MAAM,CAACsF,IAAI,CAACsF,QAAQ,CAACvC,OAAO,CAAC,CAAC,CAAC,CAAC,GAChCuC,QAAQ,CAACN;WACd,CAAC;QACJ;QACA,IAAI9I,QAAQ,CAACc,IAAI,KAAK,SAAS,EAAE;UAC/B,MAAMF,KAAK,GAAgB;YAAEZ,QAAQ;YAAE6G,OAAO,EAAE,EAAE;YAAEiC,iBAAiB,EAAEtK,MAAM,CAACiK,IAAI,EAAE;YAAE7F;UAAS,CAAE;UACjGkF,QAAQ,CAACrH,GAAG,CAACT,QAAQ,CAACD,SAAS,EAAEa,KAAK,CAAC;UACvC,IAAI+B,UAAU,EAAE;YACdoF,oBAAoB,CAACtH,GAAG,CAACkC,UAAU,EAAE/B,KAAK,CAAC;UAC7C;QACF,CAAC,MAAM,IAAIZ,QAAQ,CAACc,IAAI,KAAK,UAAU,EAAE;UACvC,MAAMF,KAAK,GAAGkH,QAAQ,CAACvH,GAAG,CAACP,QAAQ,CAACD,SAAS,CAAC;UAC9C,IAAIa,KAAK,EAAE;YACTA,KAAK,CAACkI,iBAAiB,GAAG9K,GAAG,CAACqL,SAAS,CACrCzI,KAAK,CAACiG,OAAO,EACZyC,CAAC,IAAmCA,CAAC,CAACxI,IAAI,KAAK,OAAO,IAAIwI,CAAC,CAACzH,EAAE,KAAK7B,QAAQ,CAACuJ,OAAO,CACrF,CAAC9G,IAAI,CAACjE,MAAM,CAACgL,MAAM,CAAC,MAAM5I,KAAK,CAACkI,iBAAiB,CAAC,CAAC;UACtD;QACF;QACAd,WAAW,CAAC/G,GAAG,CAACjB,QAAQ,CAAC;QACzBkI,OAAO,CAAClH,IAAI,CAAChB,QAAQ,CAAC;QACtB,OAAOX,iBAAiB,CAACiI,OAAO,EAAE;MACpC,CAAC,CAAC;MACJvF,SAAS,EAAG0H,MAAM,IAChBtL,MAAM,CAACqB,IAAI,CAAC,MAAK;QACf,MAAMuB,KAAK,GAAGkI,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACM,MAAM,CAAC,CAA4B;QAC3E,MAAM7I,KAAK,GAAGkH,QAAQ,CAACvH,GAAG,CAACQ,KAAK,CAAChB,SAAS,CAAC;QAC3C,IAAI,CAACa,KAAK,IAAIqH,QAAQ,CAACjB,GAAG,CAACjG,KAAK,CAACc,EAAE,CAAC,EAAE;QACtC,IAAId,KAAK,CAACD,IAAI,KAAK,UAAU,EAAE;UAC7BkH,WAAW,CAAC3G,MAAM,CAACT,KAAK,CAACZ,QAAQ,CAAC;QACpC;QACAY,KAAK,CAACiG,OAAO,CAAC7F,IAAI,CAACD,KAAK,CAAC;QACzBkH,QAAQ,CAAChH,GAAG,CAACF,KAAK,CAACc,EAAE,CAAC;QACtB6G,UAAU,CAACgB,UAAU,EAAE;MACzB,CAAC,CAAC;MACJzF,YAAY,EAAGpC,EAAE,IACf1D,MAAM,CAACqB,IAAI,CAAC,MAAK;QACf,MAAMoB,KAAK,GAAGkH,QAAQ,CAACvH,GAAG,CAAC+D,MAAM,CAACzC,EAAE,CAAC,CAAC;QACtC,IAAI,CAACjB,KAAK,EAAE;QACZA,KAAK,CAACiG,OAAO,GAAG,EAAE;QAClBjG,KAAK,CAACkI,iBAAiB,GAAGtK,MAAM,CAACiK,IAAI,EAAE;QACvCT,WAAW,CAAC/G,GAAG,CAACL,KAAK,CAACZ,QAAQ,CAAC;MACjC,CAAC,CAAC;MACJ6E,sBAAsB,EAAGlC,UAAU,IACjCxE,MAAM,CAACqB,IAAI,CAAC,MAAK;QACf,MAAMoB,KAAK,GAAGmH,oBAAoB,CAACxH,GAAG,CAACoC,UAAU,CAAC;QAClD,OAAOnE,MAAM,CAACgK,YAAY,CAAC5H,KAAK,EAAEZ,QAAQ,CAACD,SAAS,CAAC,CAAC0C,IAAI,CAACjE,MAAM,CAACmF,GAAG,CAAC3E,SAAS,CAACA,SAAS,CAAC,CAAC;MAC7F,CAAC,CAAC;MACJkF,UAAU,EAAGE,UAAU,IAAKjG,MAAM,CAACqB,IAAI,CAAC,MAAM0E,UAAU,CAACE,UAAU,CAAC,CAAC;MACrEK,oBAAoB,EAAGL,UAAU,IAC/BjG,MAAM,CAACqB,IAAI,CAAC,MAAM4E,UAAU,CAACpC,OAAO,CAAEH,EAAE,IAAKiG,QAAQ,CAACvH,GAAG,CAAC+D,MAAM,CAACzC,EAAE,CAAC,CAAC,EAAEgF,OAAO,IAAI,EAAE,CAAC,CAAC;MACxF7B,mBAAmB,EAAGC,QAAQ,IAC5B9G,MAAM,CAACqB,IAAI,CAAC,MAAK;QACf,IAAIwI,WAAW,CAAC2B,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE;QACrC,MAAMpB,GAAG,GAAGjG,KAAK,CAAC8C,uBAAuB,EAAE;QAC3C,MAAMjB,QAAQ,GAAGnG,GAAG,CAACqG,KAAK,EAGtB;QACJ,KAAK,IAAInD,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGgH,OAAO,CAACzG,MAAM,EAAEP,KAAK,EAAE,EAAE;UACnD,MAAMlB,QAAQ,GAAGkI,OAAO,CAAChH,KAAK,CAAC;UAC/B,MAAMf,OAAO,GAAGH,QAAQ,CAACI,OAAO,CAACD,OAAO;UACxC,MAAMyJ,UAAU,GAAG,GAAGzJ,OAAO,CAAC0J,KAAK,IAAI1J,OAAO,CAAC0B,EAAE,EAAE;UACnD,IAAI,CAACmG,WAAW,CAAChB,GAAG,CAAChH,QAAe,CAAC,IAAI,CAACiF,QAAQ,CAAC6E,QAAQ,CAACF,UAAU,CAAC,EAAE;YACvE;UACF;UACA,IAAI5J,QAAQ,CAACc,IAAI,KAAK,SAAS,EAAE;YAC/B,MAAMF,KAAK,GAAGkH,QAAQ,CAACvH,GAAG,CAACP,QAAQ,CAACD,SAAS,CAAE;YAC/C,IAAIa,KAAK,CAACgC,SAAS,IAAIhC,KAAK,CAACgC,SAAS,GAAG2F,GAAG,EAAE;cAC5C;YACF;YACApE,QAAQ,CAACnD,IAAI,CAAC;cACZhB,QAAQ;cACR2G,aAAa,EAAE3I,GAAG,CAAC+L,IAAI,CAACnJ,KAAK,CAACiG,OAAO;aACtC,CAAC;UACJ,CAAC,MAAM;YACL1C,QAAQ,CAACnD,IAAI,CAAC;cACZhB,QAAQ;cACR2G,aAAa,EAAEnI,MAAM,CAACiK,IAAI;aAC3B,CAAC;YACFT,WAAW,CAAC3G,MAAM,CAACrB,QAAQ,CAAC;UAC9B;QACF;QACA,OAAOmE,QAAQ;MACjB,CAAC,CAAC;MACJmB,uBAAuB,EAAGZ,GAAG,IAC3BvG,MAAM,CAACqB,IAAI,CAAC,MAAK;QACf,MAAMwK,WAAW,GAAG,IAAIrJ,GAAG,EAAU;QACrC,KAAK,MAAMkB,EAAE,IAAI6C,GAAG,EAAE;UACpBsF,WAAW,CAAC/I,GAAG,CAACqD,MAAM,CAACzC,EAAE,CAAC,CAAC;QAC7B;QACA,OAAOwG,eAAe,CAAErI,QAAQ,IAAKgK,WAAW,CAAChD,GAAG,CAAChH,QAAQ,CAACD,SAAS,CAAC,CAAC;MAC3E,CAAC,CAAC;MACJyF,YAAY,EAAEA,CAAA,KAAMrH,MAAM,CAACoD,IAAI;MAC/BkE,YAAY,EAAGrF,OAAO,IACpBjC,MAAM,CAACqB,IAAI,CAAC,MAAK;QACf,KAAK,IAAIgC,CAAC,GAAG0G,OAAO,CAACzG,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;UAC5C,MAAMxB,QAAQ,GAAGkI,OAAO,CAAC1G,CAAC,CAAC;UAC3B,MAAMyI,WAAW,GAAG7J,OAAO,CAAC8J,UAAU,KAAKlK,QAAQ,CAACI,OAAO,CAAC8J,UAAU,IACpE9J,OAAO,CAAC+J,QAAQ,KAAKnK,QAAQ,CAACI,OAAO,CAAC+J,QAAQ;UAChD,IAAI,CAACF,WAAW,IAAIjK,QAAQ,CAACc,IAAI,KAAK,SAAS,EAAE;YAC/C;UACF;UACAkH,WAAW,CAAC3G,MAAM,CAACrB,QAAQ,CAAC;UAC5B8H,QAAQ,CAACzG,MAAM,CAACrB,QAAQ,CAACD,SAAS,CAAC;UACnCmI,OAAO,CAAC9G,MAAM,CAACI,CAAC,EAAE,CAAC,CAAC;QACtB;MACF,CAAC,CAAC;MACJkE,WAAW,EAAEA,CAAA,KAAMvH,MAAM,CAACoD;KAC3B;IAED,MAAMhC,OAAO,GAAG,OAAO0C,WAAW,CAACE,OAAO,CAAC;IAE3C,OAAO;MACL5C,OAAO;MACP4C,OAAO;MACP2F,QAAQ;MACRC,oBAAoB;MACpBC,WAAW;MACXC,QAAQ;MACRC,OAAO;MACPC;KACQ;EACZ,CAAC;CACF,CAAC;AAEF;;;;AAIA,OAAO,MAAMiC,SAAS,gBAAgC7L,KAAK,CAAC0E,OAAO,CAAChE,cAAc,EAAEmI,IAAI,CAAC;AAEzF;;;;AAIA,OAAO,MAAMiD,WAAW,gBAIpB9L,KAAK,CAACqJ,MAAM,CAAC3I,cAAc,EAAEd,MAAM,CAACwF,GAAG,CAAC6D,YAAY,EAAG8C,CAAC,IAAKA,CAAC,CAAC/K,OAAO,CAAC,CAAC,CAACkD,IAAI,cAC/ElE,KAAK,CAACgM,YAAY,CAAC/C,YAAY,CAACgD,OAAO,CAAC,CACzC;AAED;AAEA,MAAMC,iBAAiB,gBAMlBhM,MAAM,CAACiM,MAAM,CAAC;EACjB1K,QAAQ,EAAEnB,QAAQ,CAAC8L,cAAc;EACjChE,aAAa,eAAElI,MAAM,CAACmM,cAAc,CAAC7L,KAAK,CAAC8L,OAAO;CACnD,CAAQ;AAET,MAAM/E,uBAAuB,gBAAGrH,MAAM,CAAC4E,MAAM,CAACoH,iBAAiB,CAAC","ignoreList":[]}
@@ -29,7 +29,7 @@ export const TypeId = /*#__PURE__*/Symbol.for(SymbolKey);
29
29
  export class Runner extends /*#__PURE__*/Schema.Class(SymbolKey)({
30
30
  address: RunnerAddress,
31
31
  groups: /*#__PURE__*/Schema.Array(Schema.String),
32
- version: Schema.Int
32
+ weight: Schema.Number
33
33
  }) {
34
34
  /**
35
35
  * @since 1.0.0
@@ -57,13 +57,13 @@ export class Runner extends /*#__PURE__*/Schema.Class(SymbolKey)({
57
57
  * @since 1.0.0
58
58
  */
59
59
  [Equal.symbol](that) {
60
- return this.address[Equal.symbol](that.address) && this.version === that.version;
60
+ return this.address[Equal.symbol](that.address) && this.weight === that.weight;
61
61
  }
62
62
  /**
63
63
  * @since 1.0.0
64
64
  */
65
65
  [Hash.symbol]() {
66
- return Hash.cached(this, Hash.string(`${this.address.toString()}:${this.version}`));
66
+ return Hash.cached(this, Hash.string(`${this.address.toString()}:${this.weight}`));
67
67
  }
68
68
  }
69
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Runner.js","names":["Equal","Hash","NodeInspectSymbol","Pretty","Schema","RunnerAddress","SymbolKey","TypeId","Symbol","for","Runner","Class","address","groups","Array","String","version","Int","pretty","make","decodeSync","parseJson","encodeSync","toString","symbol","that","cached","string","props"],"sources":["../../src/Runner.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,aAAa,QAAQ,oBAAoB;AAElD,MAAMC,SAAS,GAAG,wBAAwB;AAE1C;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAACH,SAAS,CAAC;AAQ1D;;;;;;;;;;;;;AAaA,OAAM,MAAOI,MAAO,sBAAQN,MAAM,CAACO,KAAK,CAASL,SAAS,CAAC,CAAC;EAC1DM,OAAO,EAAEP,aAAa;EACtBQ,MAAM,eAAET,MAAM,CAACU,KAAK,CAACV,MAAM,CAACW,MAAM,CAAC;EACnCC,OAAO,EAAEZ,MAAM,CAACa;CACjB,CAAC;EACA;;;EAGA,OAAOC,MAAM,gBAAGf,MAAM,CAACgB,IAAI,CAAC,IAAI,CAAC;EAEjC;;;EAGS,CAACZ,MAAM,IAAIA,MAAM;EAE1B;;;EAGA,OAAgBa,UAAU,gBAAGhB,MAAM,CAACgB,UAAU,cAAChB,MAAM,CAACiB,SAAS,CAACX,MAAM,CAAC,CAAC;EAExE;;;EAGA,OAAgBY,UAAU,gBAAGlB,MAAM,CAACkB,UAAU,cAAClB,MAAM,CAACiB,SAAS,CAACX,MAAM,CAAC,CAAC;EAExE;;;EAGA,CAACR,iBAAiB,IAAC;IACjB,OAAO,IAAI,CAACqB,QAAQ,EAAE;EACxB;EAEA;;;EAGA,CAACvB,KAAK,CAACwB,MAAM,EAAEC,IAAY;IACzB,OAAO,IAAI,CAACb,OAAO,CAACZ,KAAK,CAACwB,MAAM,CAAC,CAACC,IAAI,CAACb,OAAO,CAAC,IAAI,IAAI,CAACI,OAAO,KAAKS,IAAI,CAACT,OAAO;EAClF;EAEA;;;EAGA,CAACf,IAAI,CAACuB,MAAM,IAAC;IACX,OAAOvB,IAAI,CAACyB,MAAM,CAAC,IAAI,EAAEzB,IAAI,CAAC0B,MAAM,CAAC,GAAG,IAAI,CAACf,OAAO,CAACW,QAAQ,EAAE,IAAI,IAAI,CAACP,OAAO,EAAE,CAAC,CAAC;EACrF;;AAGF;;;;;;;;;;;;;AAaA,OAAO,MAAMG,IAAI,GAAIS,KAIpB,IAAa,IAAIlB,MAAM,CAACkB,KAAK,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Runner.js","names":["Equal","Hash","NodeInspectSymbol","Pretty","Schema","RunnerAddress","SymbolKey","TypeId","Symbol","for","Runner","Class","address","groups","Array","String","weight","Number","pretty","make","decodeSync","parseJson","encodeSync","toString","symbol","that","cached","string","props"],"sources":["../../src/Runner.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,aAAa,QAAQ,oBAAoB;AAElD,MAAMC,SAAS,GAAG,wBAAwB;AAE1C;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAACH,SAAS,CAAC;AAQ1D;;;;;;;;;;;;;AAaA,OAAM,MAAOI,MAAO,sBAAQN,MAAM,CAACO,KAAK,CAASL,SAAS,CAAC,CAAC;EAC1DM,OAAO,EAAEP,aAAa;EACtBQ,MAAM,eAAET,MAAM,CAACU,KAAK,CAACV,MAAM,CAACW,MAAM,CAAC;EACnCC,MAAM,EAAEZ,MAAM,CAACa;CAChB,CAAC;EACA;;;EAGA,OAAOC,MAAM,gBAAGf,MAAM,CAACgB,IAAI,CAAC,IAAI,CAAC;EAEjC;;;EAGS,CAACZ,MAAM,IAAIA,MAAM;EAE1B;;;EAGA,OAAgBa,UAAU,gBAAGhB,MAAM,CAACgB,UAAU,cAAChB,MAAM,CAACiB,SAAS,CAACX,MAAM,CAAC,CAAC;EAExE;;;EAGA,OAAgBY,UAAU,gBAAGlB,MAAM,CAACkB,UAAU,cAAClB,MAAM,CAACiB,SAAS,CAACX,MAAM,CAAC,CAAC;EAExE;;;EAGA,CAACR,iBAAiB,IAAC;IACjB,OAAO,IAAI,CAACqB,QAAQ,EAAE;EACxB;EAEA;;;EAGA,CAACvB,KAAK,CAACwB,MAAM,EAAEC,IAAY;IACzB,OAAO,IAAI,CAACb,OAAO,CAACZ,KAAK,CAACwB,MAAM,CAAC,CAACC,IAAI,CAACb,OAAO,CAAC,IAAI,IAAI,CAACI,MAAM,KAAKS,IAAI,CAACT,MAAM;EAChF;EAEA;;;EAGA,CAACf,IAAI,CAACuB,MAAM,IAAC;IACX,OAAOvB,IAAI,CAACyB,MAAM,CAAC,IAAI,EAAEzB,IAAI,CAAC0B,MAAM,CAAC,GAAG,IAAI,CAACf,OAAO,CAACW,QAAQ,EAAE,IAAI,IAAI,CAACP,MAAM,EAAE,CAAC,CAAC;EACpF;;AAGF;;;;;;;;;;;;;AAaA,OAAO,MAAMG,IAAI,GAAIS,KAIpB,IAAa,IAAIlB,MAAM,CAACkB,KAAK,CAAC","ignoreList":[]}
@@ -4,6 +4,7 @@
4
4
  import * as Equal from "effect/Equal";
5
5
  import * as Hash from "effect/Hash";
6
6
  import { NodeInspectSymbol } from "effect/Inspectable";
7
+ import * as PrimaryKey from "effect/PrimaryKey";
7
8
  import * as Schema from "effect/Schema";
8
9
  const SymbolKey = "@effect/cluster/RunnerAddress";
9
10
  /**
@@ -23,6 +24,12 @@ export class RunnerAddress extends /*#__PURE__*/Schema.Class(SymbolKey)({
23
24
  * @since 1.0.0
24
25
  */
25
26
  [TypeId] = TypeId;
27
+ /**
28
+ * @since 1.0.0
29
+ */
30
+ [PrimaryKey.symbol]() {
31
+ return `${this.host}:${this.port}`;
32
+ }
26
33
  /**
27
34
  * @since 1.0.0
28
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerAddress.js","names":["Equal","Hash","NodeInspectSymbol","Schema","SymbolKey","TypeId","Symbol","for","RunnerAddress","Class","host","NonEmptyString","port","Int","symbol","that","cached","string","toString","make"],"sources":["../../src/RunnerAddress.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,MAAMC,SAAS,GAAG,+BAA+B;AAEjD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAACH,SAAS,CAAC;AAQ1D;;;;AAIA,OAAM,MAAOI,aAAc,sBAAQL,MAAM,CAACM,KAAK,CAAgBL,SAAS,CAAC,CAAC;EACxEM,IAAI,EAAEP,MAAM,CAACQ,cAAc;EAC3BC,IAAI,EAAET,MAAM,CAACU;CACd,CAAC;EACA;;;EAGS,CAACR,MAAM,IAAIA,MAAM;EAE1B;;;EAGA,CAACL,KAAK,CAACc,MAAM,EAAEC,IAAmB;IAChC,OAAO,IAAI,CAACL,IAAI,KAAKK,IAAI,CAACL,IAAI,IAAI,IAAI,CAACE,IAAI,KAAKG,IAAI,CAACH,IAAI;EAC3D;EAEA;;;EAGA,CAACX,IAAI,CAACa,MAAM,IAAC;IACX,OAAOb,IAAI,CAACe,MAAM,CAAC,IAAI,EAAEf,IAAI,CAACgB,MAAM,CAAC,IAAI,CAACC,QAAQ,EAAE,CAAC,CAAC;EACxD;EAEA;;;EAGAA,QAAQA,CAAA;IACN,OAAO,iBAAiB,IAAI,CAACR,IAAI,IAAI,IAAI,CAACE,IAAI,GAAG;EACnD;EAEA;;;EAGA,CAACV,iBAAiB,IAAC;IACjB,OAAO,IAAI,CAACgB,QAAQ,EAAE;EACxB;;AAGF;;;;AAIA,OAAO,MAAMC,IAAI,GAAGA,CAACT,IAAY,EAAEE,IAAY,KAAoB,IAAIJ,aAAa,CAAC;EAAEE,IAAI;EAAEE;AAAI,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"RunnerAddress.js","names":["Equal","Hash","NodeInspectSymbol","PrimaryKey","Schema","SymbolKey","TypeId","Symbol","for","RunnerAddress","Class","host","NonEmptyString","port","Int","symbol","that","cached","string","toString","make"],"sources":["../../src/RunnerAddress.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,MAAMC,SAAS,GAAG,+BAA+B;AAEjD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAACH,SAAS,CAAC;AAQ1D;;;;AAIA,OAAM,MAAOI,aAAc,sBAAQL,MAAM,CAACM,KAAK,CAAgBL,SAAS,CAAC,CAAC;EACxEM,IAAI,EAAEP,MAAM,CAACQ,cAAc;EAC3BC,IAAI,EAAET,MAAM,CAACU;CACd,CAAC;EACA;;;EAGS,CAACR,MAAM,IAAIA,MAAM;EAE1B;;;EAGA,CAACH,UAAU,CAACY,MAAM,IAAC;IACjB,OAAO,GAAG,IAAI,CAACJ,IAAI,IAAI,IAAI,CAACE,IAAI,EAAE;EACpC;EAEA;;;EAGA,CAACb,KAAK,CAACe,MAAM,EAAEC,IAAmB;IAChC,OAAO,IAAI,CAACL,IAAI,KAAKK,IAAI,CAACL,IAAI,IAAI,IAAI,CAACE,IAAI,KAAKG,IAAI,CAACH,IAAI;EAC3D;EAEA;;;EAGA,CAACZ,IAAI,CAACc,MAAM,IAAC;IACX,OAAOd,IAAI,CAACgB,MAAM,CAAC,IAAI,EAAEhB,IAAI,CAACiB,MAAM,CAAC,IAAI,CAACC,QAAQ,EAAE,CAAC,CAAC;EACxD;EAEA;;;EAGAA,QAAQA,CAAA;IACN,OAAO,iBAAiB,IAAI,CAACR,IAAI,IAAI,IAAI,CAACE,IAAI,GAAG;EACnD;EAEA;;;EAGA,CAACX,iBAAiB,IAAC;IACjB,OAAO,IAAI,CAACiB,QAAQ,EAAE;EACxB;;AAGF;;;;AAIA,OAAO,MAAMC,IAAI,GAAGA,CAACT,IAAY,EAAEE,IAAY,KAAoB,IAAIJ,aAAa,CAAC;EAAEE,IAAI;EAAEE;AAAI,CAAE,CAAC","ignoreList":[]}