@effect/platform-node-shared 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.
Files changed (59) hide show
  1. package/dist/NodeChildProcessSpawner.d.ts +3 -3
  2. package/dist/NodeChildProcessSpawner.js +2 -2
  3. package/dist/NodeClusterSocket.d.ts +10 -4
  4. package/dist/NodeClusterSocket.d.ts.map +1 -1
  5. package/dist/NodeClusterSocket.js +29 -5
  6. package/dist/NodeClusterSocket.js.map +1 -1
  7. package/dist/NodeCrypto.d.ts +22 -0
  8. package/dist/NodeCrypto.d.ts.map +1 -0
  9. package/dist/NodeCrypto.js +50 -0
  10. package/dist/NodeCrypto.js.map +1 -0
  11. package/dist/NodeFileSystem.d.ts +5 -2
  12. package/dist/NodeFileSystem.d.ts.map +1 -1
  13. package/dist/NodeFileSystem.js +24 -3
  14. package/dist/NodeFileSystem.js.map +1 -1
  15. package/dist/NodePath.d.ts +15 -6
  16. package/dist/NodePath.d.ts.map +1 -1
  17. package/dist/NodePath.js +30 -7
  18. package/dist/NodePath.js.map +1 -1
  19. package/dist/NodeRuntime.d.ts +36 -7
  20. package/dist/NodeRuntime.d.ts.map +1 -1
  21. package/dist/NodeRuntime.js +6 -2
  22. package/dist/NodeRuntime.js.map +1 -1
  23. package/dist/NodeSink.d.ts +34 -4
  24. package/dist/NodeSink.d.ts.map +1 -1
  25. package/dist/NodeSink.js +16 -3
  26. package/dist/NodeSink.js.map +1 -1
  27. package/dist/NodeSocket.d.ts +38 -7
  28. package/dist/NodeSocket.d.ts.map +1 -1
  29. package/dist/NodeSocket.js +23 -6
  30. package/dist/NodeSocket.js.map +1 -1
  31. package/dist/NodeSocketServer.d.ts +22 -5
  32. package/dist/NodeSocketServer.d.ts.map +1 -1
  33. package/dist/NodeSocketServer.js +22 -5
  34. package/dist/NodeSocketServer.js.map +1 -1
  35. package/dist/NodeStdio.d.ts +6 -2
  36. package/dist/NodeStdio.d.ts.map +1 -1
  37. package/dist/NodeStdio.js +23 -3
  38. package/dist/NodeStdio.js.map +1 -1
  39. package/dist/NodeStream.d.ts +84 -20
  40. package/dist/NodeStream.d.ts.map +1 -1
  41. package/dist/NodeStream.js +68 -16
  42. package/dist/NodeStream.js.map +1 -1
  43. package/dist/NodeTerminal.d.ts +9 -2
  44. package/dist/NodeTerminal.d.ts.map +1 -1
  45. package/dist/NodeTerminal.js +11 -2
  46. package/dist/NodeTerminal.js.map +1 -1
  47. package/package.json +5 -5
  48. package/src/NodeChildProcessSpawner.ts +3 -3
  49. package/src/NodeClusterSocket.ts +29 -5
  50. package/src/NodeCrypto.ts +55 -0
  51. package/src/NodeFileSystem.ts +24 -3
  52. package/src/NodePath.ts +30 -7
  53. package/src/NodeRuntime.ts +36 -7
  54. package/src/NodeSink.ts +34 -4
  55. package/src/NodeSocket.ts +38 -7
  56. package/src/NodeSocketServer.ts +40 -6
  57. package/src/NodeStdio.ts +23 -3
  58. package/src/NodeStream.ts +84 -20
  59. package/src/NodeTerminal.ts +29 -3
@@ -1,5 +1,21 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Interoperability between Node streams and Effect streams and channels.
3
+ *
4
+ * This module adapts `Readable` and `Duplex` instances at the boundary with
5
+ * Node APIs: wrapping sources such as files, HTTP responses, child process
6
+ * output, and compression transforms as Effect `Stream`s or `Channel`s, piping
7
+ * Effect streams through Node duplex transforms, exposing an Effect `Stream`
8
+ * back to Node as a `Readable`, and collecting small readable payloads into
9
+ * strings or binary buffers.
10
+ *
11
+ * The adapters preserve the Node stream semantics that matter for production
12
+ * code. Writes wait for `drain` when a writable side applies backpressure,
13
+ * readable streams are destroyed on scope finalization by default, and stream
14
+ * failures are routed through `onError` or `Cause.UnknownError`. For long-lived
15
+ * or externally owned streams, pass `closeOnDone` or `endOnDone` carefully, and
16
+ * use `maxBytes` on collection helpers to avoid buffering unbounded input.
17
+ *
18
+ * @since 4.0.0
3
19
  */
4
20
  import * as Arr from "effect/Array";
5
21
  import * as Cause from "effect/Cause";
@@ -11,8 +27,12 @@ import * as Stream from "effect/Stream";
11
27
  import type { Duplex } from "node:stream";
12
28
  import { Readable } from "node:stream";
13
29
  /**
30
+ * Converts a Node readable stream into an Effect `Stream`, reading chunks with
31
+ * an optional chunk size, mapping stream errors with `onError`, and destroying
32
+ * the readable on completion unless `closeOnDone` is `false`.
33
+ *
14
34
  * @category constructors
15
- * @since 1.0.0
35
+ * @since 4.0.0
16
36
  */
17
37
  export declare const fromReadable: <A = Uint8Array, E = Cause.UnknownError>(options: {
18
38
  readonly evaluate: LazyArg<Readable | NodeJS.ReadableStream>;
@@ -22,8 +42,12 @@ export declare const fromReadable: <A = Uint8Array, E = Cause.UnknownError>(opti
22
42
  readonly closeOnDone?: boolean | undefined;
23
43
  }) => Stream.Stream<A, E>;
24
44
  /**
45
+ * Creates a `Channel` that pulls chunks from a Node readable stream, mapping
46
+ * errors with `onError` and destroying the readable on completion unless
47
+ * `closeOnDone` is `false`.
48
+ *
25
49
  * @category constructors
26
- * @since 1.0.0
50
+ * @since 4.0.0
27
51
  */
28
52
  export declare const fromReadableChannel: <A = Uint8Array, E = Cause.UnknownError>(options: {
29
53
  readonly evaluate: LazyArg<Readable | NodeJS.ReadableStream>;
@@ -32,8 +56,12 @@ export declare const fromReadableChannel: <A = Uint8Array, E = Cause.UnknownErro
32
56
  readonly closeOnDone?: boolean | undefined;
33
57
  }) => Channel.Channel<Arr.NonEmptyReadonlyArray<A>, E>;
34
58
  /**
59
+ * Creates a `Channel` over a Node `Duplex`, writing upstream chunks with
60
+ * backpressure while emitting chunks read from the duplex and optionally ending
61
+ * the writable side when upstream completes.
62
+ *
35
63
  * @category constructors
36
- * @since 1.0.0
64
+ * @since 4.0.0
37
65
  */
38
66
  export declare const fromDuplex: <IE, I = Uint8Array, O = Uint8Array, E = Cause.UnknownError>(options: {
39
67
  readonly evaluate: LazyArg<Duplex>;
@@ -44,13 +72,19 @@ export declare const fromDuplex: <IE, I = Uint8Array, O = Uint8Array, E = Cause.
44
72
  readonly encoding?: BufferEncoding | undefined;
45
73
  }) => Channel.Channel<Arr.NonEmptyReadonlyArray<O>, IE | E, void, Arr.NonEmptyReadonlyArray<I>, IE>;
46
74
  /**
75
+ * Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
76
+ * chunks to the duplex and emitting chunks read back from it.
77
+ *
47
78
  * @category combinators
48
- * @since 1.0.0
79
+ * @since 4.0.0
49
80
  */
50
81
  export declare const pipeThroughDuplex: {
51
82
  /**
83
+ * Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
84
+ * chunks to the duplex and emitting chunks read back from it.
85
+ *
52
86
  * @category combinators
53
- * @since 1.0.0
87
+ * @since 4.0.0
54
88
  */
55
89
  <B = Uint8Array, E2 = Cause.UnknownError>(options: {
56
90
  readonly evaluate: LazyArg<Duplex>;
@@ -61,8 +95,11 @@ export declare const pipeThroughDuplex: {
61
95
  readonly encoding?: BufferEncoding | undefined;
62
96
  }): <R, E, A>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E2 | E, R>;
63
97
  /**
98
+ * Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
99
+ * chunks to the duplex and emitting chunks read back from it.
100
+ *
64
101
  * @category combinators
65
- * @since 1.0.0
102
+ * @since 4.0.0
66
103
  */
67
104
  <R, E, A, B = Uint8Array, E2 = Cause.UnknownError>(self: Stream.Stream<A, E, R>, options: {
68
105
  readonly evaluate: LazyArg<Duplex>;
@@ -74,34 +111,54 @@ export declare const pipeThroughDuplex: {
74
111
  }): Stream.Stream<B, E | E2, R>;
75
112
  };
76
113
  /**
114
+ * Pipes a stream of strings or bytes through a Node `Duplex` using default
115
+ * options and `Cause.UnknownError` for stream failures.
116
+ *
77
117
  * @category combinators
78
- * @since 1.0.0
118
+ * @since 4.0.0
79
119
  */
80
120
  export declare const pipeThroughSimple: {
81
121
  /**
122
+ * Pipes a stream of strings or bytes through a Node `Duplex` using default
123
+ * options and `Cause.UnknownError` for stream failures.
124
+ *
82
125
  * @category combinators
83
- * @since 1.0.0
126
+ * @since 4.0.0
84
127
  */
85
128
  (duplex: LazyArg<Duplex>): <R, E>(self: Stream.Stream<string | Uint8Array, E, R>) => Stream.Stream<Uint8Array, E | Cause.UnknownError, R>;
86
129
  /**
130
+ * Pipes a stream of strings or bytes through a Node `Duplex` using default
131
+ * options and `Cause.UnknownError` for stream failures.
132
+ *
87
133
  * @category combinators
88
- * @since 1.0.0
134
+ * @since 4.0.0
89
135
  */
90
136
  <R, E>(self: Stream.Stream<string | Uint8Array, E, R>, duplex: LazyArg<Duplex>): Stream.Stream<Uint8Array, Cause.UnknownError | E, R>;
91
137
  };
92
138
  /**
93
- * @since 1.0.0
94
- * @category conversions
139
+ * Converts an Effect `Stream` into a Node `Readable`, using the caller's
140
+ * Effect context to run the stream and destroying the readable if the stream
141
+ * fails.
142
+ *
143
+ * @category converting
144
+ * @since 4.0.0
95
145
  */
96
146
  export declare const toReadable: <E, R>(stream: Stream.Stream<string | Uint8Array, E, R>) => Effect.Effect<Readable, never, R>;
97
147
  /**
98
- * @since 1.0.0
99
- * @category conversions
148
+ * Converts a service-free Effect `Stream` into a Node `Readable` using an
149
+ * empty Effect context.
150
+ *
151
+ * @category converting
152
+ * @since 4.0.0
100
153
  */
101
154
  export declare const toReadableNever: <E>(stream: Stream.Stream<string | Uint8Array, E, never>) => Readable;
102
155
  /**
103
- * @since 1.0.0
104
- * @category conversions
156
+ * Consumes a Node readable stream into a string using the selected encoding,
157
+ * failing through `onError` on stream errors or when `maxBytes` is exceeded
158
+ * and destroying the stream on interruption or failure.
159
+ *
160
+ * @category converting
161
+ * @since 4.0.0
105
162
  */
106
163
  export declare const toString: <E = Cause.UnknownError>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options?: {
107
164
  readonly onError?: (error: unknown) => E;
@@ -109,16 +166,23 @@ export declare const toString: <E = Cause.UnknownError>(readable: LazyArg<Readab
109
166
  readonly maxBytes?: SizeInput | undefined;
110
167
  }) => Effect.Effect<string, E>;
111
168
  /**
112
- * @since 1.0.0
113
- * @category conversions
169
+ * Consumes a Node readable stream into an `ArrayBuffer`, failing through
170
+ * `onError` on stream errors or when `maxBytes` is exceeded and destroying the
171
+ * stream on interruption or failure.
172
+ *
173
+ * @category converting
174
+ * @since 4.0.0
114
175
  */
115
176
  export declare const toArrayBuffer: <E = Cause.UnknownError>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options?: {
116
177
  readonly onError?: (error: unknown) => E;
117
178
  readonly maxBytes?: SizeInput | undefined;
118
179
  }) => Effect.Effect<ArrayBuffer, E>;
119
180
  /**
120
- * @since 1.0.0
121
- * @category conversions
181
+ * Consumes a Node readable stream into a `Uint8Array`, using the same error
182
+ * mapping and `maxBytes` handling as `toArrayBuffer`.
183
+ *
184
+ * @category converting
185
+ * @since 4.0.0
122
186
  */
123
187
  export declare const toUint8Array: <E = Cause.UnknownError>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options?: {
124
188
  readonly onError?: (error: unknown) => E;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeStream.d.ts","sourceRoot":"","sources":["../src/NodeStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeStream.d.ts","sourceRoot":"","sources":["../src/NodeStream.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,21 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Interoperability between Node streams and Effect streams and channels.
3
+ *
4
+ * This module adapts `Readable` and `Duplex` instances at the boundary with
5
+ * Node APIs: wrapping sources such as files, HTTP responses, child process
6
+ * output, and compression transforms as Effect `Stream`s or `Channel`s, piping
7
+ * Effect streams through Node duplex transforms, exposing an Effect `Stream`
8
+ * back to Node as a `Readable`, and collecting small readable payloads into
9
+ * strings or binary buffers.
10
+ *
11
+ * The adapters preserve the Node stream semantics that matter for production
12
+ * code. Writes wait for `drain` when a writable side applies backpressure,
13
+ * readable streams are destroyed on scope finalization by default, and stream
14
+ * failures are routed through `onError` or `Cause.UnknownError`. For long-lived
15
+ * or externally owned streams, pass `closeOnDone` or `endOnDone` carefully, and
16
+ * use `maxBytes` on collection helpers to avoid buffering unbounded input.
17
+ *
18
+ * @since 4.0.0
3
19
  */
4
20
  import * as Arr from "effect/Array";
5
21
  import * as Cause from "effect/Cause";
@@ -17,13 +33,21 @@ import * as Stream from "effect/Stream";
17
33
  import { Readable } from "node:stream";
18
34
  import { pullIntoWritable } from "./NodeSink.js";
19
35
  /**
36
+ * Converts a Node readable stream into an Effect `Stream`, reading chunks with
37
+ * an optional chunk size, mapping stream errors with `onError`, and destroying
38
+ * the readable on completion unless `closeOnDone` is `false`.
39
+ *
20
40
  * @category constructors
21
- * @since 1.0.0
41
+ * @since 4.0.0
22
42
  */
23
43
  export const fromReadable = options => Stream.fromChannel(fromReadableChannel(options));
24
44
  /**
45
+ * Creates a `Channel` that pulls chunks from a Node readable stream, mapping
46
+ * errors with `onError` and destroying the readable on completion unless
47
+ * `closeOnDone` is `false`.
48
+ *
25
49
  * @category constructors
26
- * @since 1.0.0
50
+ * @since 4.0.0
27
51
  */
28
52
  export const fromReadableChannel = options => Channel.fromTransform((_, scope) => readableToPullUnsafe({
29
53
  scope,
@@ -33,8 +57,12 @@ export const fromReadableChannel = options => Channel.fromTransform((_, scope) =
33
57
  closeOnDone: options.closeOnDone
34
58
  }));
35
59
  /**
60
+ * Creates a `Channel` over a Node `Duplex`, writing upstream chunks with
61
+ * backpressure while emitting chunks read from the duplex and optionally ending
62
+ * the writable side when upstream completes.
63
+ *
36
64
  * @category constructors
37
- * @since 1.0.0
65
+ * @since 4.0.0
38
66
  */
39
67
  export const fromDuplex = options => Channel.fromTransform((upstream, scope) => {
40
68
  const duplex = options.evaluate();
@@ -58,30 +86,47 @@ export const fromDuplex = options => Channel.fromTransform((upstream, scope) =>
58
86
  })));
59
87
  });
60
88
  /**
89
+ * Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
90
+ * chunks to the duplex and emitting chunks read back from it.
91
+ *
61
92
  * @category combinators
62
- * @since 1.0.0
93
+ * @since 4.0.0
63
94
  */
64
95
  export const pipeThroughDuplex = /*#__PURE__*/dual(2, (self, options) => Stream.pipeThroughChannelOrFail(self, fromDuplex(options)));
65
96
  /**
97
+ * Pipes a stream of strings or bytes through a Node `Duplex` using default
98
+ * options and `Cause.UnknownError` for stream failures.
99
+ *
66
100
  * @category combinators
67
- * @since 1.0.0
101
+ * @since 4.0.0
68
102
  */
69
103
  export const pipeThroughSimple = /*#__PURE__*/dual(2, (self, duplex) => pipeThroughDuplex(self, {
70
104
  evaluate: duplex
71
105
  }));
72
106
  /**
73
- * @since 1.0.0
74
- * @category conversions
107
+ * Converts an Effect `Stream` into a Node `Readable`, using the caller's
108
+ * Effect context to run the stream and destroying the readable if the stream
109
+ * fails.
110
+ *
111
+ * @category converting
112
+ * @since 4.0.0
75
113
  */
76
114
  export const toReadable = stream => Effect.map(Effect.context(), context => new StreamAdapter(context, stream));
77
115
  /**
78
- * @since 1.0.0
79
- * @category conversions
116
+ * Converts a service-free Effect `Stream` into a Node `Readable` using an
117
+ * empty Effect context.
118
+ *
119
+ * @category converting
120
+ * @since 4.0.0
80
121
  */
81
122
  export const toReadableNever = stream => new StreamAdapter(Context.empty(), stream);
82
123
  /**
83
- * @since 1.0.0
84
- * @category conversions
124
+ * Consumes a Node readable stream into a string using the selected encoding,
125
+ * failing through `onError` on stream errors or when `maxBytes` is exceeded
126
+ * and destroying the stream on interruption or failure.
127
+ *
128
+ * @category converting
129
+ * @since 4.0.0
85
130
  */
86
131
  export const toString = (readable, options) => {
87
132
  const maxBytesNumber = options?.maxBytes ? Number(options.maxBytes) : undefined;
@@ -119,8 +164,12 @@ export const toString = (readable, options) => {
119
164
  });
120
165
  };
121
166
  /**
122
- * @since 1.0.0
123
- * @category conversions
167
+ * Consumes a Node readable stream into an `ArrayBuffer`, failing through
168
+ * `onError` on stream errors or when `maxBytes` is exceeded and destroying the
169
+ * stream on interruption or failure.
170
+ *
171
+ * @category converting
172
+ * @since 4.0.0
124
173
  */
125
174
  export const toArrayBuffer = (readable, options) => {
126
175
  const maxBytesNumber = options?.maxBytes ? Number(options.maxBytes) : undefined;
@@ -157,8 +206,11 @@ export const toArrayBuffer = (readable, options) => {
157
206
  });
158
207
  };
159
208
  /**
160
- * @since 1.0.0
161
- * @category conversions
209
+ * Consumes a Node readable stream into a `Uint8Array`, using the same error
210
+ * mapping and `maxBytes` handling as `toArrayBuffer`.
211
+ *
212
+ * @category converting
213
+ * @since 4.0.0
162
214
  */
163
215
  export const toUint8Array = (readable, options) => Effect.map(toArrayBuffer(readable, options), buffer => new Uint8Array(buffer));
164
216
  // ----------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"NodeStream.js","names":["Arr","Cause","Channel","Context","Effect","Exit","Fiber","dual","Latch","MutableRef","Pull","Scope","Stream","Readable","pullIntoWritable","fromReadable","options","fromChannel","fromReadableChannel","fromTransform","_","scope","readableToPullUnsafe","readable","evaluate","onError","defaultOnError","chunkSize","closeOnDone","fromDuplex","upstream","duplex","exit","make","undefined","pull","writable","endOnDone","encoding","pipe","catchCause","cause","isDoneCause","void","current","failCause","forkIn","flatMap","pipeThroughDuplex","self","pipeThroughChannelOrFail","pipeThroughSimple","toReadable","stream","map","context","StreamAdapter","toReadableNever","empty","toString","maxBytesNumber","maxBytes","Number","callback","resume","setEncoding","once","err","closed","destroy","fail","string","bytes","succeed","on","chunk","Buffer","byteLength","Error","sync","toArrayBuffer","buffers","buffer","length","concat","byteOffset","slice","push","toUint8Array","Uint8Array","readableEnded","done","latch","makeUnsafe","onReadable","openUnsafe","error","onEnd","Done","suspend","loop","item","read","closeUnsafe","await","of","as","addFinalizer","off","readLatch","fiber","constructor","runForEachArray","whenOpen","i","provideContext","runFork","addObserver","isSuccess","squash","_read","_size","_destroy","interrupt","_tag","UnknownError"],"sources":["../src/NodeStream.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeStream.js","names":["Arr","Cause","Channel","Context","Effect","Exit","Fiber","dual","Latch","MutableRef","Pull","Scope","Stream","Readable","pullIntoWritable","fromReadable","options","fromChannel","fromReadableChannel","fromTransform","_","scope","readableToPullUnsafe","readable","evaluate","onError","defaultOnError","chunkSize","closeOnDone","fromDuplex","upstream","duplex","exit","make","undefined","pull","writable","endOnDone","encoding","pipe","catchCause","cause","isDoneCause","void","current","failCause","forkIn","flatMap","pipeThroughDuplex","self","pipeThroughChannelOrFail","pipeThroughSimple","toReadable","stream","map","context","StreamAdapter","toReadableNever","empty","toString","maxBytesNumber","maxBytes","Number","callback","resume","setEncoding","once","err","closed","destroy","fail","string","bytes","succeed","on","chunk","Buffer","byteLength","Error","sync","toArrayBuffer","buffers","buffer","length","concat","byteOffset","slice","push","toUint8Array","Uint8Array","readableEnded","done","latch","makeUnsafe","onReadable","openUnsafe","error","onEnd","Done","suspend","loop","item","read","closeUnsafe","await","of","as","addFinalizer","off","readLatch","fiber","constructor","runForEachArray","whenOpen","i","provideContext","runFork","addObserver","isSuccess","squash","_read","_size","_destroy","interrupt","_tag","UnknownError"],"sources":["../src/NodeStream.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,13 +3,20 @@ import * as Layer from "effect/Layer";
3
3
  import type * as Scope from "effect/Scope";
4
4
  import * as Terminal from "effect/Terminal";
5
5
  /**
6
- * @since 1.0.0
6
+ * Creates a scoped process-backed `Terminal` using Node `readline`, enabling
7
+ * TTY raw mode while in scope and using the supplied predicate to decide when
8
+ * key input should end.
9
+ *
7
10
  * @category constructors
11
+ * @since 4.0.0
8
12
  */
9
13
  export declare const make: (shouldQuit?: (input: Terminal.UserInput) => boolean) => Effect.Effect<Terminal.Terminal, never, Scope.Scope>;
10
14
  /**
11
- * @since 1.0.0
15
+ * Provides the default process-backed `Terminal` service, ending key input on
16
+ * Ctrl+C or Ctrl+D.
17
+ *
12
18
  * @category layers
19
+ * @since 4.0.0
13
20
  */
14
21
  export declare const layer: Layer.Layer<Terminal.Terminal>;
15
22
  //# sourceMappingURL=NodeTerminal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeTerminal.d.ts","sourceRoot":"","sources":["../src/NodeTerminal.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAMrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAG3C;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,KAAK,OAAO,KAChD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAgFvD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAA4D,CAAA"}
1
+ {"version":3,"file":"NodeTerminal.d.ts","sourceRoot":"","sources":["../src/NodeTerminal.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAMrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAG3C;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,KAAK,OAAO,KAChD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAkFvD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAA4D,CAAA"}
@@ -8,8 +8,12 @@ import * as RcRef from "effect/RcRef";
8
8
  import * as Terminal from "effect/Terminal";
9
9
  import * as readline from "node:readline";
10
10
  /**
11
- * @since 1.0.0
11
+ * Creates a scoped process-backed `Terminal` using Node `readline`, enabling
12
+ * TTY raw mode while in scope and using the supplied predicate to decide when
13
+ * key input should end.
14
+ *
12
15
  * @category constructors
16
+ * @since 4.0.0
13
17
  */
14
18
  export const make = /*#__PURE__*/Effect.fnUntraced(function* (shouldQuit = defaultShouldQuit) {
15
19
  const stdin = process.stdin;
@@ -34,6 +38,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (shouldQuit = defau
34
38
  }))
35
39
  });
36
40
  const columns = Effect.sync(() => stdout.columns ?? 0);
41
+ const rows = Effect.sync(() => stdout.rows ?? 0);
37
42
  const readInput = Effect.gen(function* () {
38
43
  yield* RcRef.get(rlRef);
39
44
  const queue = yield* Queue.make();
@@ -71,14 +76,18 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (shouldQuit = defau
71
76
  }));
72
77
  return Terminal.make({
73
78
  columns,
79
+ rows,
74
80
  readInput,
75
81
  readLine,
76
82
  display
77
83
  });
78
84
  });
79
85
  /**
80
- * @since 1.0.0
86
+ * Provides the default process-backed `Terminal` service, ending key input on
87
+ * Ctrl+C or Ctrl+D.
88
+ *
81
89
  * @category layers
90
+ * @since 4.0.0
82
91
  */
83
92
  export const layer = /*#__PURE__*/Layer.effect(Terminal.Terminal, /*#__PURE__*/make(defaultShouldQuit));
84
93
  function defaultShouldQuit(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeTerminal.js","names":["Effect","Layer","Option","badArgument","Predicate","Queue","RcRef","Terminal","readline","make","fnUntraced","shouldQuit","defaultShouldQuit","stdin","process","stdout","rlRef","acquire","acquireRelease","sync","rl","createInterface","input","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","close","columns","readInput","gen","get","queue","handleKeypress","s","k","userInput","fromUndefinedOr","key","name","ctrl","meta","shift","offerUnsafe","endUnsafe","addFinalizer","off","on","readLine","scoped","flatMap","readlineInterface","callback","resume","onLine","line","succeed","once","display","prompt","uninterruptible","write","err","isNullish","void","fail","module","method","description","cause","layer","effect"],"sources":["../src/NodeTerminal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeTerminal.js","names":["Effect","Layer","Option","badArgument","Predicate","Queue","RcRef","Terminal","readline","make","fnUntraced","shouldQuit","defaultShouldQuit","stdin","process","stdout","rlRef","acquire","acquireRelease","sync","rl","createInterface","input","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","close","columns","rows","readInput","gen","get","queue","handleKeypress","s","k","userInput","fromUndefinedOr","key","name","ctrl","meta","shift","offerUnsafe","endUnsafe","addFinalizer","off","on","readLine","scoped","flatMap","readlineInterface","callback","resume","onLine","line","succeed","once","display","prompt","uninterruptible","write","err","isNullish","void","fail","module","method","description","cause","layer","effect"],"sources":["../src/NodeTerminal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@effect/platform-node-shared",
3
3
  "type": "module",
4
- "version": "4.0.0-beta.66",
4
+ "version": "4.0.0-beta.68",
5
5
  "license": "MIT",
6
6
  "description": "Unified interfaces for common platform-specific services",
7
7
  "homepage": "https://effect.website",
@@ -46,12 +46,12 @@
46
46
  "provenance": true
47
47
  },
48
48
  "peerDependencies": {
49
- "effect": "^4.0.0-beta.66"
49
+ "effect": "^4.0.0-beta.68"
50
50
  },
51
51
  "devDependencies": {
52
- "@types/node": "^25.6.0",
53
- "tar": "^7.5.13",
54
- "effect": "^4.0.0-beta.66"
52
+ "@types/node": "^25.7.0",
53
+ "tar": "^7.5.15",
54
+ "effect": "^4.0.0-beta.68"
55
55
  },
56
56
  "dependencies": {
57
57
  "@types/ws": "^8.18.1",
@@ -627,8 +627,8 @@ const make = Effect.gen(function*() {
627
627
  /**
628
628
  * Layer providing the `NodeChildProcessSpawner` implementation.
629
629
  *
630
+ * @category layers
630
631
  * @since 4.0.0
631
- * @category Layers
632
632
  */
633
633
  export const layer: Layer.Layer<
634
634
  ChildProcessSpawner,
@@ -643,8 +643,8 @@ export const layer: Layer.Layer<
643
643
  /**
644
644
  * Result of flattening a pipeline of commands.
645
645
  *
646
+ * @category models
646
647
  * @since 4.0.0
647
- * @category Models
648
648
  */
649
649
  export interface FlattenedPipeline {
650
650
  readonly commands: Arr.NonEmptyReadonlyArray<ChildProcess.StandardCommand>
@@ -655,8 +655,8 @@ export interface FlattenedPipeline {
655
655
  * Flattens a `Command` into an array of `StandardCommand`s along with pipe
656
656
  * options for each connection.
657
657
  *
658
+ * @category utils
658
659
  * @since 4.0.0
659
- * @category Utilities
660
660
  */
661
661
  export const flattenCommand = (
662
662
  command: ChildProcess.Command
@@ -1,5 +1,23 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node TCP socket integration for Effect Cluster runner communication.
3
+ *
4
+ * This module provides the shared Node layers used by socket-based cluster
5
+ * transports: a client protocol that opens TCP sockets to runner addresses and
6
+ * a socket server that listens for incoming runner RPC traffic. It is useful
7
+ * when wiring Node or Node-compatible cluster runners, sharing the same socket
8
+ * implementation across platform packages, or building tests and deployments
9
+ * that need direct runner-to-runner RPC over TCP rather than HTTP.
10
+ *
11
+ * Cluster runners must advertise an address that peers can reach while the
12
+ * server may listen on a different address via `runnerListenAddress`, which is
13
+ * common behind containers, port mappings, or Kubernetes services. Serialization
14
+ * is supplied by the surrounding layer, and gossip, shard discovery, health
15
+ * checks, and storage-backed delivery are coordinated by the cluster services
16
+ * that use this transport. Keep those responsibilities separate when debugging:
17
+ * a reachable socket does not by itself guarantee that runner membership,
18
+ * shard ownership, or persisted message notification is current.
19
+ *
20
+ * @since 4.0.0
3
21
  */
4
22
  import * as Effect from "effect/Effect"
5
23
  import * as Layer from "effect/Layer"
@@ -14,8 +32,11 @@ import * as NodeSocket from "./NodeSocket.ts"
14
32
  import * as NodeSocketServer from "./NodeSocketServer.ts"
15
33
 
16
34
  /**
17
- * @since 1.0.0
18
- * @category Layers
35
+ * Provides the cluster `RpcClientProtocol` by opening TCP sockets to runner
36
+ * addresses and using the current RPC serialization service.
37
+ *
38
+ * @category layers
39
+ * @since 4.0.0
19
40
  */
20
41
  export const layerClientProtocol: Layer.Layer<
21
42
  Runners.RpcClientProtocol,
@@ -40,8 +61,11 @@ export const layerClientProtocol: Layer.Layer<
40
61
  )
41
62
 
42
63
  /**
43
- * @since 1.0.0
44
- * @category Layers
64
+ * Provides the socket server used by cluster runners, listening on
65
+ * `ShardingConfig.runnerListenAddress` or `runnerAddress`.
66
+ *
67
+ * @category layers
68
+ * @since 4.0.0
45
69
  */
46
70
  export const layerSocketServer: Layer.Layer<
47
71
  SocketServer.SocketServer,