@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,273 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type * as HttpApp from "@effect/platform/HttpApp"
5
- import type * as HttpClient from "@effect/platform/HttpClient"
6
- import * as HttpRouter from "@effect/platform/HttpRouter"
7
- import * as HttpServer from "@effect/platform/HttpServer"
8
- import type * as Socket from "@effect/platform/Socket"
9
- import type * as RpcSerialization from "@effect/rpc/RpcSerialization"
10
- import * as RpcServer from "@effect/rpc/RpcServer"
11
- import * as Effect from "effect/Effect"
12
- import { identity } from "effect/Function"
13
- import * as Layer from "effect/Layer"
14
- import type { Scope } from "effect/Scope"
15
- import { layerClientProtocolHttp, layerClientProtocolWebsocket } from "./HttpCommon.js"
16
- import * as MessageStorage from "./MessageStorage.js"
17
- import * as RunnerHealth from "./RunnerHealth.js"
18
- import * as Runners from "./Runners.js"
19
- import type { ShardingConfig } from "./ShardingConfig.js"
20
- import * as ShardManager from "./ShardManager.js"
21
- import type { ShardStorage } from "./ShardStorage.js"
22
-
23
- /**
24
- * @since 1.0.0
25
- * @category Http App
26
- */
27
- export const toHttpApp: Effect.Effect<
28
- HttpApp.Default<never, Scope>,
29
- never,
30
- Scope | RpcSerialization.RpcSerialization | ShardManager.ShardManager
31
- > = Effect.gen(function*() {
32
- const handlers = yield* Layer.build(ShardManager.layerServerHandlers)
33
- return yield* RpcServer.toHttpApp(ShardManager.Rpcs).pipe(
34
- Effect.provide(handlers)
35
- )
36
- })
37
-
38
- /**
39
- * @since 1.0.0
40
- * @category Http App
41
- */
42
- export const toHttpAppWebsocket: Effect.Effect<
43
- HttpApp.Default<never, Scope>,
44
- never,
45
- Scope | RpcSerialization.RpcSerialization | ShardManager.ShardManager
46
- > = Effect.gen(function*() {
47
- const handlers = yield* Layer.build(ShardManager.layerServerHandlers)
48
- return yield* RpcServer.toHttpAppWebsocket(ShardManager.Rpcs).pipe(
49
- Effect.provide(handlers)
50
- )
51
- })
52
-
53
- /**
54
- * A layer for the `ShardManager` service, that does not run a server.
55
- *
56
- * It only provides the `Runners` rpc client.
57
- *
58
- * You can use this with the `toHttpApp` and `toHttpAppWebsocket` apis
59
- * to run a complete `ShardManager` server.
60
- *
61
- * @since 1.0.0
62
- * @category Layers
63
- */
64
- export const layerNoServerHttp = (
65
- options: {
66
- readonly runnerPath: string
67
- readonly runnerHttps?: boolean | undefined
68
- }
69
- ): Layer.Layer<
70
- ShardManager.ShardManager,
71
- never,
72
- | RpcSerialization.RpcSerialization
73
- | ShardStorage
74
- | RunnerHealth.RunnerHealth
75
- | HttpClient.HttpClient
76
- | ShardManager.Config
77
- | ShardingConfig
78
- > =>
79
- ShardManager.layer.pipe(
80
- Layer.provide(Runners.layerRpc.pipe(
81
- Layer.provide([
82
- layerClientProtocolHttp({
83
- path: options.runnerPath,
84
- https: options.runnerHttps
85
- }),
86
- MessageStorage.layerNoop
87
- ])
88
- ))
89
- )
90
-
91
- /**
92
- * A layer for the `ShardManager` service, that does not run a server.
93
- *
94
- * It only provides the `Runners` rpc client.
95
- *
96
- * You can use this with the `toHttpApp` and `toHttpAppWebsocket` apis
97
- * to run a complete `ShardManager` server.
98
- *
99
- * @since 1.0.0
100
- * @category Layers
101
- */
102
- export const layerNoServerWebsocket = (
103
- options: {
104
- readonly runnerPath: string
105
- readonly runnerHttps?: boolean | undefined
106
- }
107
- ): Layer.Layer<
108
- ShardManager.ShardManager,
109
- never,
110
- | RpcSerialization.RpcSerialization
111
- | ShardStorage
112
- | RunnerHealth.RunnerHealth
113
- | Socket.WebSocketConstructor
114
- | ShardManager.Config
115
- | ShardingConfig
116
- > =>
117
- ShardManager.layer.pipe(
118
- Layer.provide(Runners.layerRpc.pipe(
119
- Layer.provide([
120
- layerClientProtocolWebsocket({
121
- path: options.runnerPath,
122
- https: options.runnerHttps
123
- }),
124
- MessageStorage.layerNoop
125
- ])
126
- ))
127
- )
128
-
129
- /**
130
- * A HTTP layer for the `ShardManager` server, that adds a route to the provided
131
- * `HttpRouter.Tag`.
132
- *
133
- * By default, it uses the `HttpRouter.Default` tag.
134
- *
135
- * @since 1.0.0
136
- * @category Layers
137
- */
138
- export const layerHttpOptions = <I = HttpRouter.Default>(
139
- options: {
140
- readonly path: HttpRouter.PathInput
141
- readonly routerTag?: HttpRouter.HttpRouter.TagClass<I, string, any, any>
142
- readonly runnerPath: string
143
- readonly runnerHttps?: boolean | undefined
144
- readonly logAddress?: boolean | undefined
145
- }
146
- ): Layer.Layer<
147
- ShardManager.ShardManager,
148
- never,
149
- | RpcSerialization.RpcSerialization
150
- | ShardStorage
151
- | RunnerHealth.RunnerHealth
152
- | HttpClient.HttpClient
153
- | HttpServer.HttpServer
154
- | ShardManager.Config
155
- | ShardingConfig
156
- > => {
157
- const routerTag = options.routerTag ?? HttpRouter.Default
158
- return routerTag.serve().pipe(
159
- options.logAddress ? withLogAddress : identity,
160
- Layer.merge(ShardManager.layerServer),
161
- Layer.provide(RpcServer.layerProtocolHttp(options)),
162
- Layer.provideMerge(layerNoServerHttp(options))
163
- )
164
- }
165
-
166
- /**
167
- * A WebSocket layer for the `ShardManager` server, that adds a route to the provided
168
- * `HttpRouter.Tag`.
169
- *
170
- * By default, it uses the `HttpRouter.Default` tag.
171
- *
172
- * @since 1.0.0
173
- * @category Layers
174
- */
175
- export const layerWebsocketOptions = <I = HttpRouter.Default>(
176
- options: {
177
- readonly path: HttpRouter.PathInput
178
- readonly routerTag?: HttpRouter.HttpRouter.TagClass<I, string, any, any>
179
- readonly runnerPath: string
180
- readonly runnerHttps?: boolean | undefined
181
- readonly logAddress?: boolean | undefined
182
- }
183
- ): Layer.Layer<
184
- ShardManager.ShardManager,
185
- never,
186
- | RpcSerialization.RpcSerialization
187
- | ShardStorage
188
- | RunnerHealth.RunnerHealth
189
- | HttpServer.HttpServer
190
- | Socket.WebSocketConstructor
191
- | ShardManager.Config
192
- | ShardingConfig
193
- > => {
194
- const routerTag = options.routerTag ?? HttpRouter.Default
195
- return routerTag.serve().pipe(
196
- options.logAddress ? withLogAddress : identity,
197
- Layer.merge(ShardManager.layerServer),
198
- Layer.provide(RpcServer.layerProtocolWebsocket(options)),
199
- Layer.provideMerge(layerNoServerWebsocket(options))
200
- )
201
- }
202
-
203
- const withLogAddress = <A, E, R>(layer: Layer.Layer<A, E, R>): Layer.Layer<A, E, R | HttpServer.HttpServer> =>
204
- Layer.effectDiscard(
205
- HttpServer.addressFormattedWith((address) =>
206
- Effect.annotateLogs(Effect.logInfo(`Listening on: ${address}`), {
207
- package: "@effect/cluster",
208
- service: "ShardManager"
209
- })
210
- )
211
- ).pipe(Layer.provideMerge(layer))
212
-
213
- /**
214
- * A HTTP layer for the `ShardManager` server, that adds a route to the provided
215
- * `HttpRouter.Tag`.
216
- *
217
- * By default, it uses the `HttpRouter.Default` tag.
218
- *
219
- * @since 1.0.0
220
- * @category Layers
221
- */
222
- export const layerHttp: Layer.Layer<
223
- ShardManager.ShardManager,
224
- never,
225
- | RpcSerialization.RpcSerialization
226
- | ShardStorage
227
- | RunnerHealth.RunnerHealth
228
- | HttpClient.HttpClient
229
- | HttpServer.HttpServer
230
- | ShardManager.Config
231
- | ShardingConfig
232
- > = layerHttpOptions({ path: "/", runnerPath: "/" })
233
-
234
- /**
235
- * A Websocket layer for the `ShardManager` server, that adds a route to the provided
236
- * `HttpRouter.Tag`.
237
- *
238
- * By default, it uses the `HttpRouter.Default` tag.
239
- *
240
- * @since 1.0.0
241
- * @category Layers
242
- */
243
- export const layerWebsocket: Layer.Layer<
244
- ShardManager.ShardManager,
245
- never,
246
- | RpcSerialization.RpcSerialization
247
- | ShardStorage
248
- | RunnerHealth.RunnerHealth
249
- | Socket.WebSocketConstructor
250
- | HttpServer.HttpServer
251
- | ShardManager.Config
252
- | ShardingConfig
253
- > = layerWebsocketOptions({ path: "/", runnerPath: "/" })
254
-
255
- /**
256
- * @since 1.0.0
257
- * @category Layers
258
- */
259
- export const layerRunnerHealthHttp: Layer.Layer<
260
- RunnerHealth.RunnerHealth,
261
- never,
262
- RpcSerialization.RpcSerialization | HttpClient.HttpClient | ShardingConfig
263
- > = Layer.provide(RunnerHealth.layerRpc, layerClientProtocolHttp({ path: "/" }))
264
-
265
- /**
266
- * @since 1.0.0
267
- * @category Layers
268
- */
269
- export const layerRunnerHealthWebsocket: Layer.Layer<
270
- RunnerHealth.RunnerHealth,
271
- never,
272
- RpcSerialization.RpcSerialization | Socket.WebSocketConstructor | ShardingConfig
273
- > = Layer.provide(RunnerHealth.layerRpc, layerClientProtocolWebsocket({ path: "/" }))