@effect/platform-node 4.0.0-beta.1 → 4.0.0-beta.100

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 (124) hide show
  1. package/README.md +1 -1
  2. package/dist/Mime.d.ts +9 -3
  3. package/dist/Mime.d.ts.map +1 -1
  4. package/dist/Mime.js +9 -3
  5. package/dist/Mime.js.map +1 -1
  6. package/dist/NodeChildProcessSpawner.d.ts +1 -1
  7. package/dist/NodeChildProcessSpawner.js +1 -1
  8. package/dist/NodeClusterHttp.d.ts +25 -7
  9. package/dist/NodeClusterHttp.d.ts.map +1 -1
  10. package/dist/NodeClusterHttp.js +20 -10
  11. package/dist/NodeClusterHttp.js.map +1 -1
  12. package/dist/NodeClusterSocket.d.ts +37 -11
  13. package/dist/NodeClusterSocket.d.ts.map +1 -1
  14. package/dist/NodeClusterSocket.js +37 -11
  15. package/dist/NodeClusterSocket.js.map +1 -1
  16. package/dist/NodeCrypto.d.ts +10 -0
  17. package/dist/NodeCrypto.d.ts.map +1 -0
  18. package/dist/NodeCrypto.js +22 -0
  19. package/dist/NodeCrypto.js.map +1 -0
  20. package/dist/NodeFileSystem.d.ts +4 -2
  21. package/dist/NodeFileSystem.d.ts.map +1 -1
  22. package/dist/NodeFileSystem.js +12 -3
  23. package/dist/NodeFileSystem.js.map +1 -1
  24. package/dist/NodeHttpClient.d.ts +98 -29
  25. package/dist/NodeHttpClient.d.ts.map +1 -1
  26. package/dist/NodeHttpClient.js +120 -33
  27. package/dist/NodeHttpClient.js.map +1 -1
  28. package/dist/NodeHttpIncomingMessage.d.ts +36 -9
  29. package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
  30. package/dist/NodeHttpIncomingMessage.js +40 -8
  31. package/dist/NodeHttpIncomingMessage.js.map +1 -1
  32. package/dist/NodeHttpPlatform.d.ts +10 -4
  33. package/dist/NodeHttpPlatform.d.ts.map +1 -1
  34. package/dist/NodeHttpPlatform.js +20 -7
  35. package/dist/NodeHttpPlatform.js.map +1 -1
  36. package/dist/NodeHttpServer.d.ts +60 -19
  37. package/dist/NodeHttpServer.d.ts.map +1 -1
  38. package/dist/NodeHttpServer.js +111 -54
  39. package/dist/NodeHttpServer.js.map +1 -1
  40. package/dist/NodeHttpServerRequest.d.ts +18 -5
  41. package/dist/NodeHttpServerRequest.d.ts.map +1 -1
  42. package/dist/NodeHttpServerRequest.js +11 -4
  43. package/dist/NodeHttpServerRequest.js.map +1 -1
  44. package/dist/NodeMultipart.d.ts +24 -4
  45. package/dist/NodeMultipart.d.ts.map +1 -1
  46. package/dist/NodeMultipart.js +24 -4
  47. package/dist/NodeMultipart.js.map +1 -1
  48. package/dist/NodePath.d.ts +15 -6
  49. package/dist/NodePath.d.ts.map +1 -1
  50. package/dist/NodePath.js +23 -7
  51. package/dist/NodePath.js.map +1 -1
  52. package/dist/NodeRedis.d.ts +27 -9
  53. package/dist/NodeRedis.d.ts.map +1 -1
  54. package/dist/NodeRedis.js +30 -12
  55. package/dist/NodeRedis.js.map +1 -1
  56. package/dist/NodeRuntime.d.ts +27 -36
  57. package/dist/NodeRuntime.d.ts.map +1 -1
  58. package/dist/NodeRuntime.js +17 -13
  59. package/dist/NodeRuntime.js.map +1 -1
  60. package/dist/NodeServices.d.ts +19 -5
  61. package/dist/NodeServices.d.ts.map +1 -1
  62. package/dist/NodeServices.js +7 -3
  63. package/dist/NodeServices.js.map +1 -1
  64. package/dist/NodeSink.d.ts +2 -2
  65. package/dist/NodeSink.js +2 -2
  66. package/dist/NodeSocket.d.ts +19 -4
  67. package/dist/NodeSocket.d.ts.map +1 -1
  68. package/dist/NodeSocket.js +27 -4
  69. package/dist/NodeSocket.js.map +1 -1
  70. package/dist/NodeSocketServer.d.ts +2 -2
  71. package/dist/NodeSocketServer.js +2 -2
  72. package/dist/NodeStdio.d.ts +5 -2
  73. package/dist/NodeStdio.d.ts.map +1 -1
  74. package/dist/NodeStdio.js +13 -3
  75. package/dist/NodeStdio.js.map +1 -1
  76. package/dist/NodeStream.d.ts +2 -2
  77. package/dist/NodeStream.js +2 -2
  78. package/dist/NodeTerminal.d.ts +8 -2
  79. package/dist/NodeTerminal.d.ts.map +1 -1
  80. package/dist/NodeTerminal.js +15 -3
  81. package/dist/NodeTerminal.js.map +1 -1
  82. package/dist/NodeWorker.d.ts +9 -2
  83. package/dist/NodeWorker.d.ts.map +1 -1
  84. package/dist/NodeWorker.js +22 -6
  85. package/dist/NodeWorker.js.map +1 -1
  86. package/dist/NodeWorkerRunner.d.ts +5 -1
  87. package/dist/NodeWorkerRunner.d.ts.map +1 -1
  88. package/dist/NodeWorkerRunner.js +18 -5
  89. package/dist/NodeWorkerRunner.js.map +1 -1
  90. package/dist/Undici.d.ts +18 -5
  91. package/dist/Undici.d.ts.map +1 -1
  92. package/dist/Undici.js +18 -5
  93. package/dist/Undici.js.map +1 -1
  94. package/dist/index.d.ts +28 -26
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +28 -26
  97. package/dist/index.js.map +1 -1
  98. package/package.json +11 -12
  99. package/src/Mime.ts +10 -3
  100. package/src/NodeChildProcessSpawner.ts +1 -1
  101. package/src/NodeClusterHttp.ts +30 -11
  102. package/src/NodeClusterSocket.ts +37 -11
  103. package/src/NodeCrypto.ts +24 -0
  104. package/src/NodeFileSystem.ts +12 -3
  105. package/src/NodeHttpClient.ts +128 -38
  106. package/src/NodeHttpIncomingMessage.ts +48 -12
  107. package/src/NodeHttpPlatform.ts +21 -6
  108. package/src/NodeHttpServer.ts +134 -59
  109. package/src/NodeHttpServerRequest.ts +18 -5
  110. package/src/NodeMultipart.ts +24 -4
  111. package/src/NodePath.ts +23 -7
  112. package/src/NodeRedis.ts +32 -14
  113. package/src/NodeRuntime.ts +35 -37
  114. package/src/NodeServices.ts +21 -5
  115. package/src/NodeSink.ts +2 -2
  116. package/src/NodeSocket.ts +33 -5
  117. package/src/NodeSocketServer.ts +2 -2
  118. package/src/NodeStdio.ts +13 -3
  119. package/src/NodeStream.ts +2 -2
  120. package/src/NodeTerminal.ts +15 -3
  121. package/src/NodeWorker.ts +22 -6
  122. package/src/NodeWorkerRunner.ts +18 -5
  123. package/src/Undici.ts +18 -5
  124. package/src/index.ts +29 -26
package/dist/index.js CHANGED
@@ -1,103 +1,105 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * @since 4.0.0
3
3
  */
4
4
  // @barrel: Auto-generated exports. Do not edit manually.
5
5
  /**
6
- * @since 1.0.0
6
+ * @since 4.0.0
7
7
  */
8
8
  export * as Mime from "./Mime.js";
9
9
  /**
10
- * Node.js implementation of `ChildProcessSpawner`.
11
- *
12
- * @since 1.0.0
10
+ * @since 4.0.0
13
11
  */
14
12
  export * as NodeChildProcessSpawner from "./NodeChildProcessSpawner.js";
15
13
  /**
16
- * @since 1.0.0
14
+ * @since 4.0.0
17
15
  */
18
16
  export * as NodeClusterHttp from "./NodeClusterHttp.js";
19
17
  /**
20
- * @since 1.0.0
18
+ * @since 4.0.0
21
19
  */
22
20
  export * as NodeClusterSocket from "./NodeClusterSocket.js";
23
21
  /**
24
22
  * @since 1.0.0
25
23
  */
24
+ export * as NodeCrypto from "./NodeCrypto.js";
25
+ /**
26
+ * @since 4.0.0
27
+ */
26
28
  export * as NodeFileSystem from "./NodeFileSystem.js";
27
29
  /**
28
- * @since 1.0.0
30
+ * @since 4.0.0
29
31
  */
30
32
  export * as NodeHttpClient from "./NodeHttpClient.js";
31
33
  /**
32
- * @since 1.0.0
34
+ * @since 4.0.0
33
35
  */
34
36
  export * as NodeHttpIncomingMessage from "./NodeHttpIncomingMessage.js";
35
37
  /**
36
- * @since 1.0.0
38
+ * @since 4.0.0
37
39
  */
38
40
  export * as NodeHttpPlatform from "./NodeHttpPlatform.js";
39
41
  /**
40
- * @since 1.0.0
42
+ * @since 4.0.0
41
43
  */
42
44
  export * as NodeHttpServer from "./NodeHttpServer.js";
43
45
  /**
44
- * @since 1.0.0
46
+ * @since 4.0.0
45
47
  */
46
48
  export * as NodeHttpServerRequest from "./NodeHttpServerRequest.js";
47
49
  /**
48
- * @since 1.0.0
50
+ * @since 4.0.0
49
51
  */
50
52
  export * as NodeMultipart from "./NodeMultipart.js";
51
53
  /**
52
- * @since 1.0.0
54
+ * @since 4.0.0
53
55
  */
54
56
  export * as NodePath from "./NodePath.js";
55
57
  /**
56
- * @since 1.0.0
58
+ * @since 4.0.0
57
59
  */
58
60
  export * as NodeRedis from "./NodeRedis.js";
59
61
  /**
60
- * @since 1.0.0
62
+ * @since 4.0.0
61
63
  */
62
64
  export * as NodeRuntime from "./NodeRuntime.js";
63
65
  /**
64
- * @since 1.0.0
66
+ * @since 4.0.0
65
67
  */
66
68
  export * as NodeServices from "./NodeServices.js";
67
69
  /**
68
- * @since 1.0.0
70
+ * @since 4.0.0
69
71
  */
70
72
  export * as NodeSink from "./NodeSink.js";
71
73
  /**
72
- * @since 1.0.0
74
+ * @since 4.0.0
73
75
  */
74
76
  export * as NodeSocket from "./NodeSocket.js";
75
77
  /**
76
- * @since 1.0.0
78
+ * @since 4.0.0
77
79
  */
78
80
  export * as NodeSocketServer from "./NodeSocketServer.js";
79
81
  /**
80
- * @since 1.0.0
82
+ * @since 4.0.0
81
83
  */
82
84
  export * as NodeStdio from "./NodeStdio.js";
83
85
  /**
84
- * @since 1.0.0
86
+ * @since 4.0.0
85
87
  */
86
88
  export * as NodeStream from "./NodeStream.js";
87
89
  /**
88
- * @since 1.0.0
90
+ * @since 4.0.0
89
91
  */
90
92
  export * as NodeTerminal from "./NodeTerminal.js";
91
93
  /**
92
- * @since 1.0.0
94
+ * @since 4.0.0
93
95
  */
94
96
  export * as NodeWorker from "./NodeWorker.js";
95
97
  /**
96
- * @since 1.0.0
98
+ * @since 4.0.0
97
99
  */
98
100
  export * as NodeWorkerRunner from "./NodeWorkerRunner.js";
99
101
  /**
100
- * @since 1.0.0
102
+ * @since 4.0.0
101
103
  */
102
104
  export * as Undici from "./Undici.js";
103
105
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Mime","NodeChildProcessSpawner","NodeClusterHttp","NodeClusterSocket","NodeFileSystem","NodeHttpClient","NodeHttpIncomingMessage","NodeHttpPlatform","NodeHttpServer","NodeHttpServerRequest","NodeMultipart","NodePath","NodeRedis","NodeRuntime","NodeServices","NodeSink","NodeSocket","NodeSocketServer","NodeStdio","NodeStream","NodeTerminal","NodeWorker","NodeWorkerRunner","Undici"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,WAAW;AAEjC;;;;;AAKA,OAAO,KAAKC,uBAAuB,MAAM,8BAA8B;AAEvE;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,uBAAuB,MAAM,8BAA8B;AAEvE;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Mime","NodeChildProcessSpawner","NodeClusterHttp","NodeClusterSocket","NodeCrypto","NodeFileSystem","NodeHttpClient","NodeHttpIncomingMessage","NodeHttpPlatform","NodeHttpServer","NodeHttpServerRequest","NodeMultipart","NodePath","NodeRedis","NodeRuntime","NodeServices","NodeSink","NodeSocket","NodeSocketServer","NodeStdio","NodeStream","NodeTerminal","NodeWorker","NodeWorkerRunner","Undici"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAKC,uBAAuB,MAAM,8BAA8B;AAEvE;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,uBAAuB,MAAM,8BAA8B;AAEvE;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa","ignoreList":[]}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@effect/platform-node",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.1",
4
+ "version": "4.0.0-beta.100",
5
5
  "license": "MIT",
6
6
  "description": "Platform specific implementations for the Node.js runtime",
7
7
  "homepage": "https://effect.website",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "https://github.com/Effect-TS/effect-smol.git",
10
+ "url": "https://github.com/Effect-TS/effect.git",
11
11
  "directory": "packages/platform-node"
12
12
  },
13
13
  "bugs": {
14
- "url": "https://github.com/Effect-TS/effect-smol/issues"
14
+ "url": "https://github.com/Effect-TS/effect/issues"
15
15
  },
16
16
  "tags": [
17
17
  "node",
@@ -49,24 +49,23 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "mime": "^4.1.0",
52
- "undici": "^7.20.0",
53
- "@effect/platform-node-shared": "^4.0.0-beta.1"
52
+ "undici": "^8.7.0",
53
+ "@effect/platform-node-shared": "^4.0.0-beta.100"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "ioredis": "^5.7.0",
57
- "effect": "^4.0.0-beta.1"
57
+ "effect": "^4.0.0-beta.100"
58
58
  },
59
59
  "devDependencies": {
60
- "@testcontainers/mysql": "^11.11.0",
61
- "@testcontainers/postgresql": "^11.11.0",
62
- "@testcontainers/redis": "^11.11.0",
63
- "@types/node": "^25.2.0",
64
- "effect": "^4.0.0-beta.1"
60
+ "@testcontainers/mysql": "^11.14.0",
61
+ "@testcontainers/postgresql": "^11.14.0",
62
+ "@testcontainers/redis": "^11.14.0",
63
+ "@types/node": "^26.1.1",
64
+ "effect": "^4.0.0-beta.100"
65
65
  },
66
66
  "scripts": {
67
67
  "codegen": "effect-utils codegen",
68
68
  "build": "tsc -b tsconfig.json && pnpm babel",
69
- "build:tsgo": "tsgo -b tsconfig.json && pnpm babel",
70
69
  "babel": "babel dist --plugins annotate-pure-calls --out-dir dist --source-maps",
71
70
  "check": "tsc -b tsconfig.json",
72
71
  "test": "vitest",
package/src/Mime.ts CHANGED
@@ -1,18 +1,25 @@
1
+ /**
2
+ * Re-exports the `mime` package through the `@effect/platform-node/Mime`
3
+ * module and the `Mime` namespace in the package barrel.
4
+ *
5
+ * @since 4.0.0
6
+ */
7
+
1
8
  /* oxlint-disable no-named-as-default */
2
9
 
3
10
  /**
4
- * @since 1.0.0
11
+ * @since 4.0.0
5
12
  */
6
13
  import Mime from "mime"
7
14
 
8
15
  /**
9
- * @since 1.0.0
10
16
  * @category re-exports
17
+ * @since 4.0.0
11
18
  */
12
19
  export * from "mime"
13
20
 
14
21
  /**
15
- * @since 1.0.0
16
22
  * @category re-exports
23
+ * @since 4.0.0
17
24
  */
18
25
  export default Mime
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Node.js implementation of `ChildProcessSpawner`.
3
3
  *
4
- * @since 1.0.0
4
+ * @since 4.0.0
5
5
  */
6
6
  export * from "@effect/platform-node-shared/NodeChildProcessSpawner"
@@ -1,9 +1,19 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node.js HTTP and WebSocket layers for Effect Cluster runners.
3
+ *
4
+ * The main `layer` builds a sharding layer for HTTP or WebSocket transport,
5
+ * choosing serialization, runner health checks, runner storage, message
6
+ * storage, and optional client-only mode from the supplied options.
7
+ * `layerHttpServer` provides the Node HTTP server used by cluster runners, and
8
+ * this module re-exports the Kubernetes HTTP client layer used by runner health
9
+ * checks.
10
+ *
11
+ * @since 4.0.0
3
12
  */
4
13
  import type * as Config from "effect/Config"
5
14
  import * as Effect from "effect/Effect"
6
15
  import * as Layer from "effect/Layer"
16
+ import * as Option from "effect/Option"
7
17
  import * as HttpRunner from "effect/unstable/cluster/HttpRunner"
8
18
  import * as MessageStorage from "effect/unstable/cluster/MessageStorage"
9
19
  import * as RunnerHealth from "effect/unstable/cluster/RunnerHealth"
@@ -28,15 +38,21 @@ import * as NodeSocket from "./NodeSocket.ts"
28
38
 
29
39
  export {
30
40
  /**
31
- * @since 1.0.0
32
- * @category Re-exports
41
+ * Provides the Kubernetes HTTP client layer used by Kubernetes runner health checks.
42
+ *
43
+ * @category re-exports
44
+ * @since 4.0.0
33
45
  */
34
46
  layerK8sHttpClient
35
47
  } from "./NodeClusterSocket.ts"
36
48
 
37
49
  /**
38
- * @since 1.0.0
39
- * @category Layers
50
+ * Builds the Node cluster HTTP/WebSocket sharding layer, configuring runner
51
+ * transport, RPC serialization, message storage, runner health checks, and
52
+ * optional client-only mode.
53
+ *
54
+ * @category layers
55
+ * @since 4.0.0
40
56
  */
41
57
  export const layer = <
42
58
  const ClientOnly extends boolean = false,
@@ -116,8 +132,11 @@ export const layer = <
116
132
  }
117
133
 
118
134
  /**
119
- * @since 1.0.0
120
- * @category Layers
135
+ * Provides the HTTP server and Node HTTP services used by cluster runners,
136
+ * listening on `ShardingConfig.runnerListenAddress` or `runnerAddress`.
137
+ *
138
+ * @category layers
139
+ * @since 4.0.0
121
140
  */
122
141
  export const layerHttpServer: Layer.Layer<
123
142
  | HttpPlatform
@@ -128,9 +147,9 @@ export const layerHttpServer: Layer.Layer<
128
147
  ShardingConfig.ShardingConfig
129
148
  > = Effect.gen(function*() {
130
149
  const config = yield* ShardingConfig.ShardingConfig
131
- const listenAddress = config.runnerListenAddress ?? config.runnerAddress
132
- if (listenAddress === undefined) {
133
- return yield* Effect.die("NodeClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is undefined")
150
+ const listenAddress = Option.orElse(config.runnerListenAddress, () => config.runnerAddress)
151
+ if (Option.isNone(listenAddress)) {
152
+ return yield* Effect.die("NodeClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is None")
134
153
  }
135
- return NodeHttpServer.layer(createServer, listenAddress)
154
+ return NodeHttpServer.layer(createServer, listenAddress.value)
136
155
  }).pipe(Layer.unwrap)
@@ -1,5 +1,14 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node.js socket layers for Effect Cluster runners.
3
+ *
4
+ * The main `layer` builds a sharding layer for socket transport, choosing
5
+ * serialization, runner health checks, runner storage, message storage, and
6
+ * optional client-only mode from the supplied options. This module also
7
+ * re-exports the shared socket client and server protocol layers, and provides
8
+ * Kubernetes-aware Undici dispatcher and HTTP client layers for runner health
9
+ * checks.
10
+ *
11
+ * @since 4.0.0
3
12
  */
4
13
  import { layerClientProtocol, layerSocketServer } from "@effect/platform-node-shared/NodeClusterSocket"
5
14
  import type { ConfigError } from "effect/Config"
@@ -25,20 +34,30 @@ import * as Undici from "./Undici.ts"
25
34
 
26
35
  export {
27
36
  /**
28
- * @since 1.0.0
29
- * @category Re-exports
37
+ * Provides the cluster `RpcClientProtocol` using the shared socket client
38
+ * implementation.
39
+ *
40
+ * @category re-exports
41
+ * @since 4.0.0
30
42
  */
31
43
  layerClientProtocol,
32
44
  /**
33
- * @since 1.0.0
34
- * @category Re-exports
45
+ * Provides the socket server used by Node cluster runners through the shared
46
+ * socket server implementation.
47
+ *
48
+ * @category re-exports
49
+ * @since 4.0.0
35
50
  */
36
51
  layerSocketServer
37
52
  }
38
53
 
39
54
  /**
40
- * @since 1.0.0
41
- * @category Layers
55
+ * Builds the Node cluster socket sharding layer, configuring RPC
56
+ * serialization, message storage, runner health checks, and optional
57
+ * client-only mode.
58
+ *
59
+ * @category layers
60
+ * @since 4.0.0
42
61
  */
43
62
  export const layer = <
44
63
  const ClientOnly extends boolean = false,
@@ -111,8 +130,12 @@ export const layer = <
111
130
  }
112
131
 
113
132
  /**
114
- * @since 1.0.0
115
- * @category Layers
133
+ * Provides an Undici dispatcher for Kubernetes API calls, using the service
134
+ * account CA certificate when it is available and falling back to the default
135
+ * dispatcher otherwise.
136
+ *
137
+ * @category layers
138
+ * @since 4.0.0
116
139
  */
117
140
  export const layerDispatcherK8s: Layer.Layer<NodeHttpClient.Dispatcher> = Layer.effect(NodeHttpClient.Dispatcher)(
118
141
  Effect.gen(function*() {
@@ -140,8 +163,11 @@ export const layerDispatcherK8s: Layer.Layer<NodeHttpClient.Dispatcher> = Layer.
140
163
  )
141
164
 
142
165
  /**
143
- * @since 1.0.0
144
- * @category Layers
166
+ * Provides a `K8sHttpClient` backed by the Undici HTTP client and the
167
+ * Kubernetes-aware dispatcher.
168
+ *
169
+ * @category layers
170
+ * @since 4.0.0
145
171
  */
146
172
  export const layerK8sHttpClient: Layer.Layer<K8sHttpClient.K8sHttpClient> = K8sHttpClient.layer.pipe(
147
173
  Layer.provide(Layer.fresh(NodeHttpClient.layerUndiciNoDispatcher)),
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The `NodeCrypto` module provides the Node.js `Crypto` service layer for
3
+ * Effect programs. Provide {@link layer} at the edge of a Node application,
4
+ * CLI, script, or test to satisfy `effect/Crypto` with Node's `node:crypto`
5
+ * implementation for secure random bytes, UUID generation, random values, and
6
+ * SHA digest operations.
7
+ *
8
+ * This module is the public Node adapter around the shared Node-compatible
9
+ * implementation. Digest failures are reported as platform errors, and SHA-1
10
+ * remains available only for interoperability with existing protocols.
11
+ *
12
+ * @since 1.0.0
13
+ */
14
+ import * as NodeCrypto from "@effect/platform-node-shared/NodeCrypto"
15
+ import type * as Crypto from "effect/Crypto"
16
+ import type * as Layer from "effect/Layer"
17
+
18
+ /**
19
+ * Layer that provides the Node.js Crypto service implementation.
20
+ *
21
+ * @category layers
22
+ * @since 1.0.0
23
+ */
24
+ export const layer: Layer.Layer<Crypto.Crypto> = NodeCrypto.layer
@@ -1,12 +1,21 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node.js `FileSystem` layer for programs that perform real filesystem I/O.
3
+ *
4
+ * The exported layer satisfies the platform-independent `FileSystem` service
5
+ * with Node-backed operations for files, directories, metadata, permissions,
6
+ * links, temporary paths, and path watching. Effects still call the service from
7
+ * `effect/FileSystem`; this module only chooses the Node implementation.
8
+ *
9
+ * @since 4.0.0
3
10
  */
4
11
  import * as NodeFileSystem from "@effect/platform-node-shared/NodeFileSystem"
5
12
  import type { FileSystem } from "effect/FileSystem"
6
13
  import type * as Layer from "effect/Layer"
7
14
 
8
15
  /**
9
- * @since 1.0.0
10
- * @category layer
16
+ * Provides the `FileSystem` service backed by Node filesystem APIs.
17
+ *
18
+ * @category layers
19
+ * @since 4.0.0
11
20
  */
12
21
  export const layer: Layer.Layer<FileSystem> = NodeFileSystem.layer