@effect/platform-node 4.0.0-beta.66 → 4.0.0-beta.68
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.
- package/dist/Mime.d.ts +3 -3
- package/dist/Mime.js +3 -3
- package/dist/NodeChildProcessSpawner.d.ts +1 -1
- package/dist/NodeChildProcessSpawner.js +1 -1
- package/dist/NodeClusterHttp.d.ts +47 -7
- package/dist/NodeClusterHttp.d.ts.map +1 -1
- package/dist/NodeClusterHttp.js +13 -6
- package/dist/NodeClusterHttp.js.map +1 -1
- package/dist/NodeClusterSocket.d.ts +51 -11
- package/dist/NodeClusterSocket.d.ts.map +1 -1
- package/dist/NodeClusterSocket.js +51 -11
- package/dist/NodeClusterSocket.js.map +1 -1
- package/dist/NodeCrypto.d.ts +10 -0
- package/dist/NodeCrypto.d.ts.map +1 -0
- package/dist/NodeCrypto.js +14 -0
- package/dist/NodeCrypto.js.map +1 -0
- package/dist/NodeFileSystem.d.ts +4 -2
- package/dist/NodeFileSystem.d.ts.map +1 -1
- package/dist/NodeFileSystem.js +22 -3
- package/dist/NodeFileSystem.js.map +1 -1
- package/dist/NodeHttpClient.d.ts +91 -19
- package/dist/NodeHttpClient.d.ts.map +1 -1
- package/dist/NodeHttpClient.js +91 -19
- package/dist/NodeHttpClient.js.map +1 -1
- package/dist/NodeHttpIncomingMessage.d.ts +22 -4
- package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
- package/dist/NodeHttpIncomingMessage.js +22 -4
- package/dist/NodeHttpIncomingMessage.js.map +1 -1
- package/dist/NodeHttpPlatform.d.ts +10 -4
- package/dist/NodeHttpPlatform.d.ts.map +1 -1
- package/dist/NodeHttpPlatform.js +32 -5
- package/dist/NodeHttpPlatform.js.map +1 -1
- package/dist/NodeHttpServer.d.ts +39 -12
- package/dist/NodeHttpServer.d.ts.map +1 -1
- package/dist/NodeHttpServer.js +69 -13
- package/dist/NodeHttpServer.js.map +1 -1
- package/dist/NodeHttpServerRequest.d.ts +29 -3
- package/dist/NodeHttpServerRequest.d.ts.map +1 -1
- package/dist/NodeHttpServerRequest.js +9 -2
- package/dist/NodeHttpServerRequest.js.map +1 -1
- package/dist/NodeMultipart.d.ts +32 -4
- package/dist/NodeMultipart.d.ts.map +1 -1
- package/dist/NodeMultipart.js +32 -4
- package/dist/NodeMultipart.js.map +1 -1
- package/dist/NodePath.d.ts +15 -6
- package/dist/NodePath.d.ts.map +1 -1
- package/dist/NodePath.js +30 -7
- package/dist/NodePath.js.map +1 -1
- package/dist/NodeRedis.d.ts +36 -7
- package/dist/NodeRedis.d.ts.map +1 -1
- package/dist/NodeRedis.js +36 -7
- package/dist/NodeRedis.js.map +1 -1
- package/dist/NodeRuntime.d.ts +6 -6
- package/dist/NodeRuntime.d.ts.map +1 -1
- package/dist/NodeRuntime.js +17 -3
- package/dist/NodeRuntime.js.map +1 -1
- package/dist/NodeServices.d.ts +29 -5
- package/dist/NodeServices.d.ts.map +1 -1
- package/dist/NodeServices.js +7 -3
- package/dist/NodeServices.js.map +1 -1
- package/dist/NodeSink.d.ts +2 -2
- package/dist/NodeSink.js +2 -2
- package/dist/NodeSocket.d.ts +14 -4
- package/dist/NodeSocket.d.ts.map +1 -1
- package/dist/NodeSocket.js +32 -5
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeSocketServer.d.ts +2 -2
- package/dist/NodeSocketServer.js +2 -2
- package/dist/NodeStdio.d.ts +5 -2
- package/dist/NodeStdio.d.ts.map +1 -1
- package/dist/NodeStdio.js +22 -3
- package/dist/NodeStdio.js.map +1 -1
- package/dist/NodeStream.d.ts +2 -2
- package/dist/NodeStream.js +2 -2
- package/dist/NodeTerminal.d.ts +8 -2
- package/dist/NodeTerminal.d.ts.map +1 -1
- package/dist/NodeTerminal.js +19 -3
- package/dist/NodeTerminal.js.map +1 -1
- package/dist/NodeWorker.d.ts +9 -2
- package/dist/NodeWorker.d.ts.map +1 -1
- package/dist/NodeWorker.js +28 -3
- package/dist/NodeWorker.js.map +1 -1
- package/dist/NodeWorkerRunner.d.ts +5 -1
- package/dist/NodeWorkerRunner.d.ts.map +1 -1
- package/dist/NodeWorkerRunner.js +24 -2
- package/dist/NodeWorkerRunner.js.map +1 -1
- package/dist/Undici.d.ts +3 -3
- package/dist/Undici.js +3 -3
- package/dist/index.d.ts +376 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +376 -24
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/src/Mime.ts +3 -3
- package/src/NodeChildProcessSpawner.ts +1 -1
- package/src/NodeClusterHttp.ts +47 -7
- package/src/NodeClusterSocket.ts +51 -11
- package/src/NodeCrypto.ts +16 -0
- package/src/NodeFileSystem.ts +22 -3
- package/src/NodeHttpClient.ts +91 -19
- package/src/NodeHttpIncomingMessage.ts +22 -4
- package/src/NodeHttpPlatform.ts +32 -5
- package/src/NodeHttpServer.ts +69 -13
- package/src/NodeHttpServerRequest.ts +29 -3
- package/src/NodeMultipart.ts +32 -4
- package/src/NodePath.ts +30 -7
- package/src/NodeRedis.ts +36 -7
- package/src/NodeRuntime.ts +21 -7
- package/src/NodeServices.ts +31 -5
- package/src/NodeSink.ts +2 -2
- package/src/NodeSocket.ts +32 -5
- package/src/NodeSocketServer.ts +2 -2
- package/src/NodeStdio.ts +22 -3
- package/src/NodeStream.ts +2 -2
- package/src/NodeTerminal.ts +19 -3
- package/src/NodeWorker.ts +28 -3
- package/src/NodeWorkerRunner.ts +24 -2
- package/src/Undici.ts +3 -3
- package/src/index.ts +377 -24
package/dist/Mime.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @since
|
|
2
|
+
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import Mime from "mime";
|
|
5
5
|
/**
|
|
6
|
-
* @since 1.0.0
|
|
7
6
|
* @category re-exports
|
|
7
|
+
* @since 4.0.0
|
|
8
8
|
*/
|
|
9
9
|
export * from "mime";
|
|
10
10
|
/**
|
|
11
|
-
* @since 1.0.0
|
|
12
11
|
* @category re-exports
|
|
12
|
+
* @since 4.0.0
|
|
13
13
|
*/
|
|
14
14
|
export default Mime;
|
|
15
15
|
//# sourceMappingURL=Mime.d.ts.map
|
package/dist/Mime.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/* oxlint-disable no-named-as-default */
|
|
2
2
|
/**
|
|
3
|
-
* @since
|
|
3
|
+
* @since 4.0.0
|
|
4
4
|
*/
|
|
5
5
|
import Mime from "mime";
|
|
6
6
|
/**
|
|
7
|
-
* @since 1.0.0
|
|
8
7
|
* @category re-exports
|
|
8
|
+
* @since 4.0.0
|
|
9
9
|
*/
|
|
10
10
|
export * from "mime";
|
|
11
11
|
/**
|
|
12
|
-
* @since 1.0.0
|
|
13
12
|
* @category re-exports
|
|
13
|
+
* @since 4.0.0
|
|
14
14
|
*/
|
|
15
15
|
export default Mime;
|
|
16
16
|
//# sourceMappingURL=Mime.js.map
|
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The `NodeClusterHttp` module provides the Node.js HTTP and WebSocket
|
|
3
|
+
* transports for Effect Cluster runners. It wires `HttpRunner` to the Node HTTP
|
|
4
|
+
* server, supplies Undici and WebSocket client protocols, and builds a complete
|
|
5
|
+
* sharding layer with serialization, runner health, runner storage, and message
|
|
6
|
+
* storage.
|
|
7
|
+
*
|
|
8
|
+
* **Common tasks**
|
|
9
|
+
*
|
|
10
|
+
* - Run a Node process as a cluster runner over HTTP or WebSocket with
|
|
11
|
+
* {@link layer}
|
|
12
|
+
* - Connect a client-only process to an existing HTTP cluster without starting
|
|
13
|
+
* a runner server
|
|
14
|
+
* - Use SQL-backed storage for durable multi-process clusters, `local` storage
|
|
15
|
+
* for short-lived development, or `byo` storage when the deployment owns the
|
|
16
|
+
* persistence boundary
|
|
17
|
+
* - Check runner health with protocol pings or Kubernetes pod readiness through
|
|
18
|
+
* {@link layerK8sHttpClient}
|
|
19
|
+
*
|
|
20
|
+
* **Gotchas**
|
|
21
|
+
*
|
|
22
|
+
* - `runnerAddress` is the host and port advertised to other runners; set
|
|
23
|
+
* `runnerListenAddress` when the local bind address differs from the
|
|
24
|
+
* externally reachable address
|
|
25
|
+
* - The HTTP and WebSocket transports serve runner RPCs at the default
|
|
26
|
+
* `HttpRunner` route, so proxies and load balancers must preserve the path
|
|
27
|
+
* and allow WebSocket upgrades when `transport` is `"websocket"`
|
|
28
|
+
* - `clientOnly` does not start an HTTP server or receive shard assignments
|
|
29
|
+
* - SQL storage is the default; `local` storage is in-memory/noop and `byo`
|
|
30
|
+
* requires the surrounding application to provide both runner and message
|
|
31
|
+
* storage services
|
|
32
|
+
* - Ping health checks use the selected transport and serialization, so route,
|
|
33
|
+
* port, proxy, or codec mismatches can make a runner appear unhealthy
|
|
34
|
+
*
|
|
35
|
+
* @since 4.0.0
|
|
3
36
|
*/
|
|
4
37
|
import type * as Config from "effect/Config";
|
|
5
38
|
import * as Layer from "effect/Layer";
|
|
@@ -16,13 +49,17 @@ import type { SqlClient } from "effect/unstable/sql/SqlClient";
|
|
|
16
49
|
import type { NodeServices } from "./NodeServices.ts";
|
|
17
50
|
export {
|
|
18
51
|
/**
|
|
19
|
-
* @
|
|
20
|
-
* @
|
|
52
|
+
* @category re-exports
|
|
53
|
+
* @since 4.0.0
|
|
21
54
|
*/
|
|
22
55
|
layerK8sHttpClient } from "./NodeClusterSocket.ts";
|
|
23
56
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
57
|
+
* Builds the Node cluster HTTP/WebSocket sharding layer, configuring runner
|
|
58
|
+
* transport, RPC serialization, message storage, runner health checks, and
|
|
59
|
+
* optional client-only mode.
|
|
60
|
+
*
|
|
61
|
+
* @category layers
|
|
62
|
+
* @since 4.0.0
|
|
26
63
|
*/
|
|
27
64
|
export declare const layer: <const ClientOnly extends boolean = false, const Storage extends "local" | "sql" | "byo" = never>(options: {
|
|
28
65
|
readonly transport: "http" | "websocket";
|
|
@@ -37,8 +74,11 @@ export declare const layer: <const ClientOnly extends boolean = false, const Sto
|
|
|
37
74
|
readonly shardingConfig?: Partial<ShardingConfig.ShardingConfig["Service"]> | undefined;
|
|
38
75
|
}) => ClientOnly extends true ? Layer.Layer<Sharding | Runners.Runners | ("byo" extends Storage ? never : MessageStorage.MessageStorage), Config.ConfigError, "local" extends Storage ? never : "byo" extends Storage ? (MessageStorage.MessageStorage | RunnerStorage.RunnerStorage) : SqlClient> : Layer.Layer<Sharding | Runners.Runners | ("byo" extends Storage ? never : MessageStorage.MessageStorage), ServeError | Config.ConfigError, "local" extends Storage ? never : "byo" extends Storage ? (MessageStorage.MessageStorage | RunnerStorage.RunnerStorage) : SqlClient>;
|
|
39
76
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
77
|
+
* Provides the HTTP server and Node HTTP services used by cluster runners,
|
|
78
|
+
* listening on `ShardingConfig.runnerListenAddress` or `runnerAddress`.
|
|
79
|
+
*
|
|
80
|
+
* @category layers
|
|
81
|
+
* @since 4.0.0
|
|
42
82
|
*/
|
|
43
83
|
export declare const layerHttpServer: Layer.Layer<HttpPlatform | Etag.Generator | NodeServices | HttpServer, ServeError, ShardingConfig.ShardingConfig>;
|
|
44
84
|
//# sourceMappingURL=NodeClusterHttp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeClusterHttp.d.ts","sourceRoot":"","sources":["../src/NodeClusterHttp.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeClusterHttp.d.ts","sourceRoot":"","sources":["../src/NodeClusterHttp.ts"],"names":[],"mappings":"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"}
|
package/dist/NodeClusterHttp.js
CHANGED
|
@@ -17,13 +17,17 @@ import * as NodeHttpServer from "./NodeHttpServer.js";
|
|
|
17
17
|
import * as NodeSocket from "./NodeSocket.js";
|
|
18
18
|
export {
|
|
19
19
|
/**
|
|
20
|
-
* @
|
|
21
|
-
* @
|
|
20
|
+
* @category re-exports
|
|
21
|
+
* @since 4.0.0
|
|
22
22
|
*/
|
|
23
23
|
layerK8sHttpClient } from "./NodeClusterSocket.js";
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* Builds the Node cluster HTTP/WebSocket sharding layer, configuring runner
|
|
26
|
+
* transport, RPC serialization, message storage, runner health checks, and
|
|
27
|
+
* optional client-only mode.
|
|
28
|
+
*
|
|
29
|
+
* @category layers
|
|
30
|
+
* @since 4.0.0
|
|
27
31
|
*/
|
|
28
32
|
export const layer = options => {
|
|
29
33
|
const layer = options.clientOnly
|
|
@@ -35,8 +39,11 @@ export const layer = options => {
|
|
|
35
39
|
return layer.pipe(Layer.provide(runnerHealth), Layer.provideMerge(options?.storage === "local" ? MessageStorage.layerNoop : options?.storage === "byo" ? Layer.empty : Layer.orDie(SqlMessageStorage.layer)), Layer.provide(options?.storage === "local" ? RunnerStorage.layerMemory : options?.storage === "byo" ? Layer.empty : Layer.orDie(SqlRunnerStorage.layer)), Layer.provide(ShardingConfig.layerFromEnv(options?.shardingConfig)), Layer.provide(options?.serialization === "ndjson" ? RpcSerialization.layerNdjson : RpcSerialization.layerMsgPack));
|
|
36
40
|
};
|
|
37
41
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
42
|
+
* Provides the HTTP server and Node HTTP services used by cluster runners,
|
|
43
|
+
* listening on `ShardingConfig.runnerListenAddress` or `runnerAddress`.
|
|
44
|
+
*
|
|
45
|
+
* @category layers
|
|
46
|
+
* @since 4.0.0
|
|
40
47
|
*/
|
|
41
48
|
export const layerHttpServer = /*#__PURE__*/Effect.gen(function* () {
|
|
42
49
|
const config = yield* ShardingConfig.ShardingConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeClusterHttp.js","names":["Effect","Layer","Option","HttpRunner","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SqlMessageStorage","SqlRunnerStorage","RpcSerialization","createServer","layerK8sHttpClient","NodeHttpClient","NodeHttpServer","NodeSocket","layer","options","clientOnly","transport","provide","layerHttpClientOnly","layerUndici","layerWebsocketClientOnly","layerWebSocketConstructor","layerHttp","layerHttpServer","layerWebsocket","runnerHealth","empty","layerK8s","runnerHealthK8s","pipe","layerPing","layerRpc","layerClientProtocolHttpDefault","layerClientProtocolWebsocketDefault","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack","gen","config","listenAddress","orElse","runnerListenAddress","runnerAddress","isNone","die","value","unwrap"],"sources":["../src/NodeClusterHttp.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeClusterHttp.js","names":["Effect","Layer","Option","HttpRunner","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SqlMessageStorage","SqlRunnerStorage","RpcSerialization","createServer","layerK8sHttpClient","NodeHttpClient","NodeHttpServer","NodeSocket","layer","options","clientOnly","transport","provide","layerHttpClientOnly","layerUndici","layerWebsocketClientOnly","layerWebSocketConstructor","layerHttp","layerHttpServer","layerWebsocket","runnerHealth","empty","layerK8s","runnerHealthK8s","pipe","layerPing","layerRpc","layerClientProtocolHttpDefault","layerClientProtocolWebsocketDefault","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack","gen","config","listenAddress","orElse","runnerListenAddress","runnerAddress","isNone","die","value","unwrap"],"sources":["../src/NodeClusterHttp.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The `NodeClusterSocket` module provides the Node.js socket transport for
|
|
3
|
+
* Effect Cluster runners. It wires `SocketRunner` to Node TCP sockets, supplies
|
|
4
|
+
* RPC client and server protocol layers, and builds a complete sharding layer
|
|
5
|
+
* with serialization, runner health, runner storage, and message storage.
|
|
6
|
+
*
|
|
7
|
+
* **Common tasks**
|
|
8
|
+
*
|
|
9
|
+
* - Run a Node process as a cluster runner over raw TCP sockets with
|
|
10
|
+
* {@link layer}
|
|
11
|
+
* - Connect a client-only process to an existing socket cluster without
|
|
12
|
+
* starting a runner server
|
|
13
|
+
* - Use SQL-backed storage for durable multi-process clusters, `local` storage
|
|
14
|
+
* for short-lived development, or `byo` storage when the deployment owns the
|
|
15
|
+
* persistence boundary
|
|
16
|
+
* - Check runner health with socket pings or Kubernetes pod readiness through
|
|
17
|
+
* {@link layerK8sHttpClient}
|
|
18
|
+
*
|
|
19
|
+
* **Gotchas**
|
|
20
|
+
*
|
|
21
|
+
* - `runnerAddress` is the host and port advertised to other runners; set
|
|
22
|
+
* `runnerListenAddress` when the local bind address differs from the
|
|
23
|
+
* externally reachable address
|
|
24
|
+
* - The socket transport is point-to-point RPC, not cluster gossip: runner
|
|
25
|
+
* membership, shard ownership, and persisted delivery are coordinated through
|
|
26
|
+
* `RunnerStorage`, `MessageStorage`, and `RunnerHealth`
|
|
27
|
+
* - `clientOnly` does not start a socket server or receive shard assignments
|
|
28
|
+
* - Ping health checks use the same socket protocol, so unreachable ports,
|
|
29
|
+
* firewalls, or serialization mismatches can make a runner appear unhealthy
|
|
30
|
+
*
|
|
31
|
+
* @since 4.0.0
|
|
3
32
|
*/
|
|
4
33
|
import { layerClientProtocol, layerSocketServer } from "@effect/platform-node-shared/NodeClusterSocket";
|
|
5
34
|
import type { ConfigError } from "effect/Config";
|
|
@@ -15,18 +44,22 @@ import type { SqlClient } from "effect/unstable/sql/SqlClient";
|
|
|
15
44
|
import * as NodeHttpClient from "./NodeHttpClient.ts";
|
|
16
45
|
export {
|
|
17
46
|
/**
|
|
18
|
-
* @
|
|
19
|
-
* @
|
|
47
|
+
* @category re-exports
|
|
48
|
+
* @since 4.0.0
|
|
20
49
|
*/
|
|
21
50
|
layerClientProtocol,
|
|
22
51
|
/**
|
|
23
|
-
* @
|
|
24
|
-
* @
|
|
52
|
+
* @category re-exports
|
|
53
|
+
* @since 4.0.0
|
|
25
54
|
*/
|
|
26
55
|
layerSocketServer };
|
|
27
56
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
57
|
+
* Builds the Node cluster socket sharding layer, configuring RPC
|
|
58
|
+
* serialization, message storage, runner health checks, and optional
|
|
59
|
+
* client-only mode.
|
|
60
|
+
*
|
|
61
|
+
* @category layers
|
|
62
|
+
* @since 4.0.0
|
|
30
63
|
*/
|
|
31
64
|
export declare const layer: <const ClientOnly extends boolean = false, const Storage extends "local" | "sql" | "byo" = never>(options?: {
|
|
32
65
|
readonly serialization?: "msgpack" | "ndjson" | undefined;
|
|
@@ -40,13 +73,20 @@ export declare const layer: <const ClientOnly extends boolean = false, const Sto
|
|
|
40
73
|
readonly shardingConfig?: Partial<ShardingConfig.ShardingConfig["Service"]> | undefined;
|
|
41
74
|
}) => ClientOnly extends true ? Layer.Layer<Sharding | Runners.Runners | ("byo" extends Storage ? never : MessageStorage.MessageStorage), ConfigError, "local" extends Storage ? never : "byo" extends Storage ? (MessageStorage.MessageStorage | RunnerStorage.RunnerStorage) : SqlClient> : Layer.Layer<Sharding | Runners.Runners | ("byo" extends Storage ? never : MessageStorage.MessageStorage), SocketServer.SocketServerError | ConfigError, "local" extends Storage ? never : "byo" extends Storage ? (MessageStorage.MessageStorage | RunnerStorage.RunnerStorage) : SqlClient>;
|
|
42
75
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
76
|
+
* Provides an Undici dispatcher for Kubernetes API calls, using the service
|
|
77
|
+
* account CA certificate when it is available and falling back to the default
|
|
78
|
+
* dispatcher otherwise.
|
|
79
|
+
*
|
|
80
|
+
* @category layers
|
|
81
|
+
* @since 4.0.0
|
|
45
82
|
*/
|
|
46
83
|
export declare const layerDispatcherK8s: Layer.Layer<NodeHttpClient.Dispatcher>;
|
|
47
84
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
85
|
+
* Provides a `K8sHttpClient` backed by the Undici HTTP client and the
|
|
86
|
+
* Kubernetes-aware dispatcher.
|
|
87
|
+
*
|
|
88
|
+
* @category layers
|
|
89
|
+
* @since 4.0.0
|
|
50
90
|
*/
|
|
51
91
|
export declare const layerK8sHttpClient: Layer.Layer<K8sHttpClient.K8sHttpClient>;
|
|
52
92
|
//# sourceMappingURL=NodeClusterSocket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAA;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAExE,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAA;AAC1D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAKxE,OAAO,KAAK,KAAK,YAAY,MAAM,qCAAqC,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAGrD,OAAO;AACL;;;GAGG;AACH,mBAAmB;AACnB;;;GAGG;AACH,iBAAiB,EAClB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,UAAU,SAAS,OAAO,GAAG,KAAK,EACxC,KAAK,CAAC,OAAO,SAAS,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAErD,UAAU;IACR,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE;QACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5C,GAAG,SAAS,CAAA;IACb,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;CACxF,KACA,UAAU,SAAS,IAAI,GAAG,KAAK,CAAC,KAAK,CACpC,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,SAAS,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAC5F,WAAW,EACX,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CACd,GACD,KAAK,CAAC,KAAK,CACT,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,SAAS,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAC5F,YAAY,CAAC,iBAAiB,GAAG,WAAW,EAC5C,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CAyChB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAuBrE,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAIvE,CAAA"}
|
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The `NodeClusterSocket` module provides the Node.js socket transport for
|
|
3
|
+
* Effect Cluster runners. It wires `SocketRunner` to Node TCP sockets, supplies
|
|
4
|
+
* RPC client and server protocol layers, and builds a complete sharding layer
|
|
5
|
+
* with serialization, runner health, runner storage, and message storage.
|
|
6
|
+
*
|
|
7
|
+
* **Common tasks**
|
|
8
|
+
*
|
|
9
|
+
* - Run a Node process as a cluster runner over raw TCP sockets with
|
|
10
|
+
* {@link layer}
|
|
11
|
+
* - Connect a client-only process to an existing socket cluster without
|
|
12
|
+
* starting a runner server
|
|
13
|
+
* - Use SQL-backed storage for durable multi-process clusters, `local` storage
|
|
14
|
+
* for short-lived development, or `byo` storage when the deployment owns the
|
|
15
|
+
* persistence boundary
|
|
16
|
+
* - Check runner health with socket pings or Kubernetes pod readiness through
|
|
17
|
+
* {@link layerK8sHttpClient}
|
|
18
|
+
*
|
|
19
|
+
* **Gotchas**
|
|
20
|
+
*
|
|
21
|
+
* - `runnerAddress` is the host and port advertised to other runners; set
|
|
22
|
+
* `runnerListenAddress` when the local bind address differs from the
|
|
23
|
+
* externally reachable address
|
|
24
|
+
* - The socket transport is point-to-point RPC, not cluster gossip: runner
|
|
25
|
+
* membership, shard ownership, and persisted delivery are coordinated through
|
|
26
|
+
* `RunnerStorage`, `MessageStorage`, and `RunnerHealth`
|
|
27
|
+
* - `clientOnly` does not start a socket server or receive shard assignments
|
|
28
|
+
* - Ping health checks use the same socket protocol, so unreachable ports,
|
|
29
|
+
* firewalls, or serialization mismatches can make a runner appear unhealthy
|
|
30
|
+
*
|
|
31
|
+
* @since 4.0.0
|
|
3
32
|
*/
|
|
4
33
|
import { layerClientProtocol, layerSocketServer } from "@effect/platform-node-shared/NodeClusterSocket";
|
|
5
34
|
import * as Effect from "effect/Effect";
|
|
@@ -20,18 +49,22 @@ import * as NodeHttpClient from "./NodeHttpClient.js";
|
|
|
20
49
|
import * as Undici from "./Undici.js";
|
|
21
50
|
export {
|
|
22
51
|
/**
|
|
23
|
-
* @
|
|
24
|
-
* @
|
|
52
|
+
* @category re-exports
|
|
53
|
+
* @since 4.0.0
|
|
25
54
|
*/
|
|
26
55
|
layerClientProtocol,
|
|
27
56
|
/**
|
|
28
|
-
* @
|
|
29
|
-
* @
|
|
57
|
+
* @category re-exports
|
|
58
|
+
* @since 4.0.0
|
|
30
59
|
*/
|
|
31
60
|
layerSocketServer };
|
|
32
61
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
62
|
+
* Builds the Node cluster socket sharding layer, configuring RPC
|
|
63
|
+
* serialization, message storage, runner health checks, and optional
|
|
64
|
+
* client-only mode.
|
|
65
|
+
*
|
|
66
|
+
* @category layers
|
|
67
|
+
* @since 4.0.0
|
|
35
68
|
*/
|
|
36
69
|
export const layer = options => {
|
|
37
70
|
const layer = options?.clientOnly
|
|
@@ -43,8 +76,12 @@ export const layer = options => {
|
|
|
43
76
|
return layer.pipe(Layer.provide(runnerHealth), Layer.provideMerge(options?.storage === "local" ? MessageStorage.layerNoop : options?.storage === "byo" ? Layer.empty : Layer.orDie(SqlMessageStorage.layer)), Layer.provide(options?.storage === "local" ? RunnerStorage.layerMemory : options?.storage === "byo" ? Layer.empty : Layer.orDie(SqlRunnerStorage.layer)), Layer.provide(ShardingConfig.layerFromEnv(options?.shardingConfig)), Layer.provide(options?.serialization === "ndjson" ? RpcSerialization.layerNdjson : RpcSerialization.layerMsgPack));
|
|
44
77
|
};
|
|
45
78
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
79
|
+
* Provides an Undici dispatcher for Kubernetes API calls, using the service
|
|
80
|
+
* account CA certificate when it is available and falling back to the default
|
|
81
|
+
* dispatcher otherwise.
|
|
82
|
+
*
|
|
83
|
+
* @category layers
|
|
84
|
+
* @since 4.0.0
|
|
48
85
|
*/
|
|
49
86
|
export const layerDispatcherK8s = /*#__PURE__*/Layer.effect(NodeHttpClient.Dispatcher)(Effect.gen(function* () {
|
|
50
87
|
const fs = yield* FileSystem.FileSystem;
|
|
@@ -59,8 +96,11 @@ export const layerDispatcherK8s = /*#__PURE__*/Layer.effect(NodeHttpClient.Dispa
|
|
|
59
96
|
return yield* NodeHttpClient.makeDispatcher;
|
|
60
97
|
})).pipe(/*#__PURE__*/Layer.provide(NodeFileSystem.layer));
|
|
61
98
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
99
|
+
* Provides a `K8sHttpClient` backed by the Undici HTTP client and the
|
|
100
|
+
* Kubernetes-aware dispatcher.
|
|
101
|
+
*
|
|
102
|
+
* @category layers
|
|
103
|
+
* @since 4.0.0
|
|
64
104
|
*/
|
|
65
105
|
export const layerK8sHttpClient = /*#__PURE__*/K8sHttpClient.layer.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.fresh(NodeHttpClient.layerUndiciNoDispatcher)), /*#__PURE__*/Layer.provide(layerDispatcherK8s), /*#__PURE__*/Layer.provide(NodeFileSystem.layer));
|
|
66
106
|
//# sourceMappingURL=NodeClusterSocket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeClusterSocket.js","names":["layerClientProtocol","layerSocketServer","Effect","FileSystem","Layer","K8sHttpClient","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SocketRunner","SqlMessageStorage","SqlRunnerStorage","RpcSerialization","NodeFileSystem","NodeHttpClient","Undici","layer","options","clientOnly","provide","layerClientOnly","runnerHealth","empty","layerK8s","runnerHealthK8s","pipe","layerK8sHttpClient","layerPing","layerRpc","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack","layerDispatcherK8s","effect","Dispatcher","gen","fs","caCertOption","readFileString","option","_tag","acquireRelease","sync","Agent","connect","ca","value","agent","promise","destroy","makeDispatcher","fresh","layerUndiciNoDispatcher"],"sources":["../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeClusterSocket.js","names":["layerClientProtocol","layerSocketServer","Effect","FileSystem","Layer","K8sHttpClient","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SocketRunner","SqlMessageStorage","SqlRunnerStorage","RpcSerialization","NodeFileSystem","NodeHttpClient","Undici","layer","options","clientOnly","provide","layerClientOnly","runnerHealth","empty","layerK8s","runnerHealthK8s","pipe","layerK8sHttpClient","layerPing","layerRpc","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack","layerDispatcherK8s","effect","Dispatcher","gen","fs","caCertOption","readFileString","option","_tag","acquireRelease","sync","Agent","connect","ca","value","agent","promise","destroy","makeDispatcher","fresh","layerUndiciNoDispatcher"],"sources":["../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type * as Crypto from "effect/Crypto";
|
|
2
|
+
import type * as Layer from "effect/Layer";
|
|
3
|
+
/**
|
|
4
|
+
* A layer that provides the Node.js Crypto service implementation.
|
|
5
|
+
*
|
|
6
|
+
* @category layers
|
|
7
|
+
* @since 1.0.0
|
|
8
|
+
*/
|
|
9
|
+
export declare const layer: Layer.Layer<Crypto.Crypto>;
|
|
10
|
+
//# sourceMappingURL=NodeCrypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeCrypto.d.ts","sourceRoot":"","sources":["../src/NodeCrypto.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAoB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js platform Crypto service layer.
|
|
3
|
+
*
|
|
4
|
+
* @since 1.0.0
|
|
5
|
+
*/
|
|
6
|
+
import * as NodeCrypto from "@effect/platform-node-shared/NodeCrypto";
|
|
7
|
+
/**
|
|
8
|
+
* A layer that provides the Node.js Crypto service implementation.
|
|
9
|
+
*
|
|
10
|
+
* @category layers
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
export const layer = NodeCrypto.layer;
|
|
14
|
+
//# sourceMappingURL=NodeCrypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeCrypto.js","names":["NodeCrypto","layer"],"sources":["../src/NodeCrypto.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAKA,OAAO,KAAKA,UAAU,MAAM,yCAAyC;AAIrE;;;;;;AAMA,OAAO,MAAMC,KAAK,GAA+BD,UAAU,CAACC,KAAK","ignoreList":[]}
|
package/dist/NodeFileSystem.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { FileSystem } from "effect/FileSystem";
|
|
2
2
|
import type * as Layer from "effect/Layer";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Provides the `FileSystem` service backed by Node filesystem APIs.
|
|
5
|
+
*
|
|
6
|
+
* @category layers
|
|
7
|
+
* @since 4.0.0
|
|
6
8
|
*/
|
|
7
9
|
export declare const layer: Layer.Layer<FileSystem>;
|
|
8
10
|
//# sourceMappingURL=NodeFileSystem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAwB,CAAA"}
|
package/dist/NodeFileSystem.js
CHANGED
|
@@ -1,10 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provides the Node.js `FileSystem` layer for Effect programs.
|
|
3
|
+
*
|
|
4
|
+
* Use this module when a Node application, CLI, script, or test needs to
|
|
5
|
+
* satisfy the `FileSystem` service with real filesystem access for reading and
|
|
6
|
+
* writing files, creating directories and temporary files, inspecting metadata,
|
|
7
|
+
* managing links, or watching paths for changes.
|
|
8
|
+
*
|
|
9
|
+
* This module only exposes the Node-backed layer; filesystem operations are
|
|
10
|
+
* accessed through the `FileSystem` service from `effect/FileSystem`. Provide
|
|
11
|
+
* `NodeFileSystem.layer` at the edge of the program, or use
|
|
12
|
+
* `NodeServices.layer` when you also want the standard Node path, stdio,
|
|
13
|
+
* terminal, and child process services. The implementation is shared with
|
|
14
|
+
* other Node-compatible platform packages, so optional services such as
|
|
15
|
+
* `FileSystem.WatchBackend` are honored when present; otherwise file watching
|
|
16
|
+
* follows Node's `node:fs.watch` behavior. Paths are interpreted by Node, so
|
|
17
|
+
* relative paths use the current working directory and platform path rules.
|
|
18
|
+
*
|
|
19
|
+
* @since 4.0.0
|
|
3
20
|
*/
|
|
4
21
|
import * as NodeFileSystem from "@effect/platform-node-shared/NodeFileSystem";
|
|
5
22
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
23
|
+
* Provides the `FileSystem` service backed by Node filesystem APIs.
|
|
24
|
+
*
|
|
25
|
+
* @category layers
|
|
26
|
+
* @since 4.0.0
|
|
8
27
|
*/
|
|
9
28
|
export const layer = NodeFileSystem.layer;
|
|
10
29
|
//# sourceMappingURL=NodeFileSystem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeFileSystem.js","names":["NodeFileSystem","layer"],"sources":["../src/NodeFileSystem.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeFileSystem.js","names":["NodeFileSystem","layer"],"sources":["../src/NodeFileSystem.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;AAoBA,OAAO,KAAKA,cAAc,MAAM,6CAA6C;AAI7E;;;;;;AAMA,OAAO,MAAMC,KAAK,GAA4BD,cAAc,CAACC,KAAK","ignoreList":[]}
|