@effect/platform-node 4.0.0-beta.7 → 4.0.0-beta.71

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 (123) hide show
  1. package/dist/Mime.d.ts +9 -3
  2. package/dist/Mime.d.ts.map +1 -1
  3. package/dist/Mime.js +9 -3
  4. package/dist/Mime.js.map +1 -1
  5. package/dist/NodeChildProcessSpawner.d.ts +1 -1
  6. package/dist/NodeChildProcessSpawner.js +1 -1
  7. package/dist/NodeClusterHttp.d.ts +49 -7
  8. package/dist/NodeClusterHttp.d.ts.map +1 -1
  9. package/dist/NodeClusterHttp.js +20 -10
  10. package/dist/NodeClusterHttp.js.map +1 -1
  11. package/dist/NodeClusterSocket.d.ts +57 -11
  12. package/dist/NodeClusterSocket.d.ts.map +1 -1
  13. package/dist/NodeClusterSocket.js +57 -11
  14. package/dist/NodeClusterSocket.js.map +1 -1
  15. package/dist/NodeCrypto.d.ts +10 -0
  16. package/dist/NodeCrypto.d.ts.map +1 -0
  17. package/dist/NodeCrypto.js +22 -0
  18. package/dist/NodeCrypto.js.map +1 -0
  19. package/dist/NodeFileSystem.d.ts +4 -2
  20. package/dist/NodeFileSystem.d.ts.map +1 -1
  21. package/dist/NodeFileSystem.js +30 -3
  22. package/dist/NodeFileSystem.js.map +1 -1
  23. package/dist/NodeHttpClient.d.ts +111 -24
  24. package/dist/NodeHttpClient.d.ts.map +1 -1
  25. package/dist/NodeHttpClient.js +133 -28
  26. package/dist/NodeHttpClient.js.map +1 -1
  27. package/dist/NodeHttpIncomingMessage.d.ts +43 -9
  28. package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
  29. package/dist/NodeHttpIncomingMessage.js +47 -8
  30. package/dist/NodeHttpIncomingMessage.js.map +1 -1
  31. package/dist/NodeHttpPlatform.d.ts +10 -4
  32. package/dist/NodeHttpPlatform.d.ts.map +1 -1
  33. package/dist/NodeHttpPlatform.js +34 -7
  34. package/dist/NodeHttpPlatform.js.map +1 -1
  35. package/dist/NodeHttpServer.d.ts +56 -16
  36. package/dist/NodeHttpServer.d.ts.map +1 -1
  37. package/dist/NodeHttpServer.js +117 -49
  38. package/dist/NodeHttpServer.js.map +1 -1
  39. package/dist/NodeHttpServerRequest.d.ts +29 -3
  40. package/dist/NodeHttpServerRequest.d.ts.map +1 -1
  41. package/dist/NodeHttpServerRequest.js +9 -2
  42. package/dist/NodeHttpServerRequest.js.map +1 -1
  43. package/dist/NodeMultipart.d.ts +47 -4
  44. package/dist/NodeMultipart.d.ts.map +1 -1
  45. package/dist/NodeMultipart.js +47 -4
  46. package/dist/NodeMultipart.js.map +1 -1
  47. package/dist/NodePath.d.ts +15 -6
  48. package/dist/NodePath.d.ts.map +1 -1
  49. package/dist/NodePath.js +43 -7
  50. package/dist/NodePath.js.map +1 -1
  51. package/dist/NodeRedis.d.ts +56 -9
  52. package/dist/NodeRedis.d.ts.map +1 -1
  53. package/dist/NodeRedis.js +59 -12
  54. package/dist/NodeRedis.js.map +1 -1
  55. package/dist/NodeRuntime.d.ts +27 -36
  56. package/dist/NodeRuntime.d.ts.map +1 -1
  57. package/dist/NodeRuntime.js +38 -13
  58. package/dist/NodeRuntime.js.map +1 -1
  59. package/dist/NodeServices.d.ts +44 -5
  60. package/dist/NodeServices.d.ts.map +1 -1
  61. package/dist/NodeServices.js +7 -3
  62. package/dist/NodeServices.js.map +1 -1
  63. package/dist/NodeSink.d.ts +2 -2
  64. package/dist/NodeSink.js +2 -2
  65. package/dist/NodeSocket.d.ts +18 -3
  66. package/dist/NodeSocket.d.ts.map +1 -1
  67. package/dist/NodeSocket.js +51 -4
  68. package/dist/NodeSocket.js.map +1 -1
  69. package/dist/NodeSocketServer.d.ts +2 -2
  70. package/dist/NodeSocketServer.js +2 -2
  71. package/dist/NodeStdio.d.ts +5 -2
  72. package/dist/NodeStdio.d.ts.map +1 -1
  73. package/dist/NodeStdio.js +30 -3
  74. package/dist/NodeStdio.js.map +1 -1
  75. package/dist/NodeStream.d.ts +2 -2
  76. package/dist/NodeStream.js +2 -2
  77. package/dist/NodeTerminal.d.ts +8 -2
  78. package/dist/NodeTerminal.d.ts.map +1 -1
  79. package/dist/NodeTerminal.js +29 -3
  80. package/dist/NodeTerminal.js.map +1 -1
  81. package/dist/NodeWorker.d.ts +9 -2
  82. package/dist/NodeWorker.d.ts.map +1 -1
  83. package/dist/NodeWorker.js +45 -6
  84. package/dist/NodeWorker.js.map +1 -1
  85. package/dist/NodeWorkerRunner.d.ts +5 -1
  86. package/dist/NodeWorkerRunner.d.ts.map +1 -1
  87. package/dist/NodeWorkerRunner.js +47 -5
  88. package/dist/NodeWorkerRunner.js.map +1 -1
  89. package/dist/Undici.d.ts +16 -3
  90. package/dist/Undici.d.ts.map +1 -1
  91. package/dist/Undici.js +16 -3
  92. package/dist/Undici.js.map +1 -1
  93. package/dist/index.d.ts +28 -26
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +28 -26
  96. package/dist/index.js.map +1 -1
  97. package/package.json +9 -9
  98. package/src/Mime.ts +10 -3
  99. package/src/NodeChildProcessSpawner.ts +1 -1
  100. package/src/NodeClusterHttp.ts +54 -11
  101. package/src/NodeClusterSocket.ts +57 -11
  102. package/src/NodeCrypto.ts +24 -0
  103. package/src/NodeFileSystem.ts +30 -3
  104. package/src/NodeHttpClient.ts +141 -33
  105. package/src/NodeHttpIncomingMessage.ts +55 -12
  106. package/src/NodeHttpPlatform.ts +35 -6
  107. package/src/NodeHttpServer.ts +139 -53
  108. package/src/NodeHttpServerRequest.ts +29 -3
  109. package/src/NodeMultipart.ts +47 -4
  110. package/src/NodePath.ts +43 -7
  111. package/src/NodeRedis.ts +61 -14
  112. package/src/NodeRuntime.ts +56 -37
  113. package/src/NodeServices.ts +46 -5
  114. package/src/NodeSink.ts +2 -2
  115. package/src/NodeSocket.ts +56 -4
  116. package/src/NodeSocketServer.ts +2 -2
  117. package/src/NodeStdio.ts +30 -3
  118. package/src/NodeStream.ts +2 -2
  119. package/src/NodeTerminal.ts +29 -3
  120. package/src/NodeWorker.ts +45 -6
  121. package/src/NodeWorkerRunner.ts +47 -5
  122. package/src/Undici.ts +16 -3
  123. package/src/index.ts +29 -26
package/dist/Undici.js CHANGED
@@ -1,15 +1,28 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Re-export of the Undici HTTP client package used by the Node platform.
3
+ *
4
+ * This module gives Effect applications a package-local import for Undici
5
+ * primitives while working with `@effect/platform-node`. Import named Undici
6
+ * APIs from here when configuring Node HTTP client dispatchers, creating agents
7
+ * or mock agents, setting the process-global dispatcher, or sharing the same
8
+ * Undici types with integrations that use the platform HTTP client.
9
+ *
10
+ * The module does not wrap or reinterpret Undici behavior. It forwards the
11
+ * installed `undici` named exports and default export, so connection pooling,
12
+ * dispatcher lifetimes, mocking, aborts, and request options follow Undici's
13
+ * own semantics.
14
+ *
15
+ * @since 4.0.0
3
16
  */
4
17
  import Undici from "undici";
5
18
  /**
6
- * @since 1.0.0
7
19
  * @category undici
20
+ * @since 4.0.0
8
21
  */
9
22
  export * from "undici";
10
23
  /**
11
- * @since 1.0.0
12
24
  * @category undici
25
+ * @since 4.0.0
13
26
  */
14
27
  export default Undici;
15
28
  //# sourceMappingURL=Undici.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Undici.js","names":["Undici"],"sources":["../src/Undici.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAOA,MAAM,MAAM,QAAQ;AAE3B;;;;AAIA,cAAc,QAAQ;AAEtB;;;;AAIA,eAAeA,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"Undici.js","names":["Undici"],"sources":["../src/Undici.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;AAgBA,OAAOA,MAAM,MAAM,QAAQ;AAE3B;;;;AAIA,cAAc,QAAQ;AAEtB;;;;AAIA,eAAeA,MAAM","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -1,102 +1,104 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * @since 4.0.0
3
3
  */
4
4
  /**
5
- * @since 1.0.0
5
+ * @since 4.0.0
6
6
  */
7
7
  export * as Mime from "./Mime.ts";
8
8
  /**
9
- * Node.js implementation of `ChildProcessSpawner`.
10
- *
11
- * @since 1.0.0
9
+ * @since 4.0.0
12
10
  */
13
11
  export * as NodeChildProcessSpawner from "./NodeChildProcessSpawner.ts";
14
12
  /**
15
- * @since 1.0.0
13
+ * @since 4.0.0
16
14
  */
17
15
  export * as NodeClusterHttp from "./NodeClusterHttp.ts";
18
16
  /**
19
- * @since 1.0.0
17
+ * @since 4.0.0
20
18
  */
21
19
  export * as NodeClusterSocket from "./NodeClusterSocket.ts";
22
20
  /**
23
21
  * @since 1.0.0
24
22
  */
23
+ export * as NodeCrypto from "./NodeCrypto.ts";
24
+ /**
25
+ * @since 4.0.0
26
+ */
25
27
  export * as NodeFileSystem from "./NodeFileSystem.ts";
26
28
  /**
27
- * @since 1.0.0
29
+ * @since 4.0.0
28
30
  */
29
31
  export * as NodeHttpClient from "./NodeHttpClient.ts";
30
32
  /**
31
- * @since 1.0.0
33
+ * @since 4.0.0
32
34
  */
33
35
  export * as NodeHttpIncomingMessage from "./NodeHttpIncomingMessage.ts";
34
36
  /**
35
- * @since 1.0.0
37
+ * @since 4.0.0
36
38
  */
37
39
  export * as NodeHttpPlatform from "./NodeHttpPlatform.ts";
38
40
  /**
39
- * @since 1.0.0
41
+ * @since 4.0.0
40
42
  */
41
43
  export * as NodeHttpServer from "./NodeHttpServer.ts";
42
44
  /**
43
- * @since 1.0.0
45
+ * @since 4.0.0
44
46
  */
45
47
  export * as NodeHttpServerRequest from "./NodeHttpServerRequest.ts";
46
48
  /**
47
- * @since 1.0.0
49
+ * @since 4.0.0
48
50
  */
49
51
  export * as NodeMultipart from "./NodeMultipart.ts";
50
52
  /**
51
- * @since 1.0.0
53
+ * @since 4.0.0
52
54
  */
53
55
  export * as NodePath from "./NodePath.ts";
54
56
  /**
55
- * @since 1.0.0
57
+ * @since 4.0.0
56
58
  */
57
59
  export * as NodeRedis from "./NodeRedis.ts";
58
60
  /**
59
- * @since 1.0.0
61
+ * @since 4.0.0
60
62
  */
61
63
  export * as NodeRuntime from "./NodeRuntime.ts";
62
64
  /**
63
- * @since 1.0.0
65
+ * @since 4.0.0
64
66
  */
65
67
  export * as NodeServices from "./NodeServices.ts";
66
68
  /**
67
- * @since 1.0.0
69
+ * @since 4.0.0
68
70
  */
69
71
  export * as NodeSink from "./NodeSink.ts";
70
72
  /**
71
- * @since 1.0.0
73
+ * @since 4.0.0
72
74
  */
73
75
  export * as NodeSocket from "./NodeSocket.ts";
74
76
  /**
75
- * @since 1.0.0
77
+ * @since 4.0.0
76
78
  */
77
79
  export * as NodeSocketServer from "./NodeSocketServer.ts";
78
80
  /**
79
- * @since 1.0.0
81
+ * @since 4.0.0
80
82
  */
81
83
  export * as NodeStdio from "./NodeStdio.ts";
82
84
  /**
83
- * @since 1.0.0
85
+ * @since 4.0.0
84
86
  */
85
87
  export * as NodeStream from "./NodeStream.ts";
86
88
  /**
87
- * @since 1.0.0
89
+ * @since 4.0.0
88
90
  */
89
91
  export * as NodeTerminal from "./NodeTerminal.ts";
90
92
  /**
91
- * @since 1.0.0
93
+ * @since 4.0.0
92
94
  */
93
95
  export * as NodeWorker from "./NodeWorker.ts";
94
96
  /**
95
- * @since 1.0.0
97
+ * @since 4.0.0
96
98
  */
97
99
  export * as NodeWorkerRunner from "./NodeWorkerRunner.ts";
98
100
  /**
99
- * @since 1.0.0
101
+ * @since 4.0.0
100
102
  */
101
103
  export * as Undici from "./Undici.ts";
102
104
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;GAIG;AACH,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA;AAEvE;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA;AAEvE;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AAEnE;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA;AAEvE;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA;AAEvE;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AAEnE;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
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,7 +1,7 @@
1
1
  {
2
2
  "name": "@effect/platform-node",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.7",
4
+ "version": "4.0.0-beta.71",
5
5
  "license": "MIT",
6
6
  "description": "Platform specific implementations for the Node.js runtime",
7
7
  "homepage": "https://effect.website",
@@ -49,19 +49,19 @@
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.7"
52
+ "undici": "^8.2.0",
53
+ "@effect/platform-node-shared": "^4.0.0-beta.71"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "ioredis": "^5.7.0",
57
- "effect": "^4.0.0-beta.7"
57
+ "effect": "^4.0.0-beta.71"
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.7"
60
+ "@testcontainers/mysql": "^11.14.0",
61
+ "@testcontainers/postgresql": "^11.14.0",
62
+ "@testcontainers/redis": "^11.14.0",
63
+ "@types/node": "^25.7.0",
64
+ "effect": "^4.0.0-beta.71"
65
65
  },
66
66
  "scripts": {
67
67
  "codegen": "effect-utils codegen",
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,43 @@
1
1
  /**
2
- * @since 1.0.0
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 Effect from "effect/Effect"
6
39
  import * as Layer from "effect/Layer"
40
+ import * as Option from "effect/Option"
7
41
  import * as HttpRunner from "effect/unstable/cluster/HttpRunner"
8
42
  import * as MessageStorage from "effect/unstable/cluster/MessageStorage"
9
43
  import * as RunnerHealth from "effect/unstable/cluster/RunnerHealth"
@@ -28,15 +62,21 @@ import * as NodeSocket from "./NodeSocket.ts"
28
62
 
29
63
  export {
30
64
  /**
31
- * @since 1.0.0
32
- * @category Re-exports
65
+ * Provides the Kubernetes HTTP client layer used by Kubernetes runner health checks.
66
+ *
67
+ * @category re-exports
68
+ * @since 4.0.0
33
69
  */
34
70
  layerK8sHttpClient
35
71
  } from "./NodeClusterSocket.ts"
36
72
 
37
73
  /**
38
- * @since 1.0.0
39
- * @category Layers
74
+ * Builds the Node cluster HTTP/WebSocket sharding layer, configuring runner
75
+ * transport, RPC serialization, message storage, runner health checks, and
76
+ * optional client-only mode.
77
+ *
78
+ * @category layers
79
+ * @since 4.0.0
40
80
  */
41
81
  export const layer = <
42
82
  const ClientOnly extends boolean = false,
@@ -116,8 +156,11 @@ export const layer = <
116
156
  }
117
157
 
118
158
  /**
119
- * @since 1.0.0
120
- * @category Layers
159
+ * Provides the HTTP server and Node HTTP services used by cluster runners,
160
+ * listening on `ShardingConfig.runnerListenAddress` or `runnerAddress`.
161
+ *
162
+ * @category layers
163
+ * @since 4.0.0
121
164
  */
122
165
  export const layerHttpServer: Layer.Layer<
123
166
  | HttpPlatform
@@ -128,9 +171,9 @@ export const layerHttpServer: Layer.Layer<
128
171
  ShardingConfig.ShardingConfig
129
172
  > = Effect.gen(function*() {
130
173
  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")
174
+ const listenAddress = Option.orElse(config.runnerListenAddress, () => config.runnerAddress)
175
+ if (Option.isNone(listenAddress)) {
176
+ return yield* Effect.die("NodeClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is None")
134
177
  }
135
- return NodeHttpServer.layer(createServer, listenAddress)
178
+ return NodeHttpServer.layer(createServer, listenAddress.value)
136
179
  }).pipe(Layer.unwrap)
@@ -1,5 +1,34 @@
1
1
  /**
2
- * @since 1.0.0
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"
@@ -25,20 +54,30 @@ import * as Undici from "./Undici.ts"
25
54
 
26
55
  export {
27
56
  /**
28
- * @since 1.0.0
29
- * @category Re-exports
57
+ * Provides the cluster `RpcClientProtocol` using the shared socket client
58
+ * implementation.
59
+ *
60
+ * @category re-exports
61
+ * @since 4.0.0
30
62
  */
31
63
  layerClientProtocol,
32
64
  /**
33
- * @since 1.0.0
34
- * @category Re-exports
65
+ * Provides the socket server used by Node cluster runners through the shared
66
+ * socket server implementation.
67
+ *
68
+ * @category re-exports
69
+ * @since 4.0.0
35
70
  */
36
71
  layerSocketServer
37
72
  }
38
73
 
39
74
  /**
40
- * @since 1.0.0
41
- * @category Layers
75
+ * Builds the Node cluster socket sharding layer, configuring RPC
76
+ * serialization, message storage, runner health checks, and optional
77
+ * client-only mode.
78
+ *
79
+ * @category layers
80
+ * @since 4.0.0
42
81
  */
43
82
  export const layer = <
44
83
  const ClientOnly extends boolean = false,
@@ -111,8 +150,12 @@ export const layer = <
111
150
  }
112
151
 
113
152
  /**
114
- * @since 1.0.0
115
- * @category Layers
153
+ * Provides an Undici dispatcher for Kubernetes API calls, using the service
154
+ * account CA certificate when it is available and falling back to the default
155
+ * dispatcher otherwise.
156
+ *
157
+ * @category layers
158
+ * @since 4.0.0
116
159
  */
117
160
  export const layerDispatcherK8s: Layer.Layer<NodeHttpClient.Dispatcher> = Layer.effect(NodeHttpClient.Dispatcher)(
118
161
  Effect.gen(function*() {
@@ -140,8 +183,11 @@ export const layerDispatcherK8s: Layer.Layer<NodeHttpClient.Dispatcher> = Layer.
140
183
  )
141
184
 
142
185
  /**
143
- * @since 1.0.0
144
- * @category Layers
186
+ * Provides a `K8sHttpClient` backed by the Undici HTTP client and the
187
+ * Kubernetes-aware dispatcher.
188
+ *
189
+ * @category layers
190
+ * @since 4.0.0
145
191
  */
146
192
  export const layerK8sHttpClient: Layer.Layer<K8sHttpClient.K8sHttpClient> = K8sHttpClient.layer.pipe(
147
193
  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
+ * A 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,39 @@
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
+ * **Mental model**
10
+ *
11
+ * Provide `NodeFileSystem.layer` at the process boundary when filesystem
12
+ * effects should touch the host filesystem. Use `NodeServices.layer` instead
13
+ * when the same program also needs the standard Node path, stdio, terminal,
14
+ * crypto, and child process services. Tests that need isolation can provide a
15
+ * different `FileSystem` layer without changing the code that performs the
16
+ * reads and writes.
17
+ *
18
+ * **Gotchas**
19
+ *
20
+ * Paths are interpreted by Node, so relative paths resolve against the current
21
+ * working directory and platform-specific path rules apply. Filesystem failures
22
+ * are reported through Effect platform errors rather than thrown exceptions.
23
+ * File watching uses `FileSystem.WatchBackend` when one is available; otherwise
24
+ * it follows `node:fs.watch`, whose recursive support, event batching, and
25
+ * reported path names vary across operating systems.
26
+ *
27
+ * @since 4.0.0
3
28
  */
4
29
  import * as NodeFileSystem from "@effect/platform-node-shared/NodeFileSystem"
5
30
  import type { FileSystem } from "effect/FileSystem"
6
31
  import type * as Layer from "effect/Layer"
7
32
 
8
33
  /**
9
- * @since 1.0.0
10
- * @category layer
34
+ * Provides the `FileSystem` service backed by Node filesystem APIs.
35
+ *
36
+ * @category layers
37
+ * @since 4.0.0
11
38
  */
12
39
  export const layer: Layer.Layer<FileSystem> = NodeFileSystem.layer