@effect/platform-node-shared 4.0.0-beta.103 → 4.0.0-beta.105

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 (91) hide show
  1. package/AGENTS.md +381 -0
  2. package/CLAUDE.md +381 -0
  3. package/ai-docs/README.md +44 -0
  4. package/ai-docs/package.json +36 -0
  5. package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
  6. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
  7. package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
  8. package/ai-docs/src/01_effect/01_basics/index.md +5 -0
  9. package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
  10. package/ai-docs/src/01_effect/02_schema/index.md +7 -0
  11. package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
  12. package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
  13. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
  14. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
  15. package/ai-docs/src/01_effect/03_services/index.md +5 -0
  16. package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
  17. package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
  18. package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
  19. package/ai-docs/src/01_effect/04_errors/index.md +1 -0
  20. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
  21. package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
  22. package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
  23. package/ai-docs/src/01_effect/05_resources/index.md +3 -0
  24. package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
  25. package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
  26. package/ai-docs/src/01_effect/06_running/index.md +1 -0
  27. package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
  28. package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
  29. package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
  30. package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
  31. package/ai-docs/src/03_stream/30_encoding.ts +165 -0
  32. package/ai-docs/src/03_stream/index.md +4 -0
  33. package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
  34. package/ai-docs/src/04_integration/index.md +5 -0
  35. package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
  36. package/ai-docs/src/05_batching/index.md +3 -0
  37. package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
  38. package/ai-docs/src/06_schedule/index.md +3 -0
  39. package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
  40. package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
  41. package/ai-docs/src/07_datetime/index.md +5 -0
  42. package/ai-docs/src/08_observability/10_logging.ts +66 -0
  43. package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
  44. package/ai-docs/src/08_observability/index.md +7 -0
  45. package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
  46. package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
  47. package/ai-docs/src/09_testing/index.md +1 -0
  48. package/ai-docs/src/10_predicate/01_basics.ts +14 -0
  49. package/ai-docs/src/10_predicate/index.md +9 -0
  50. package/ai-docs/src/50_http-client/10_basics.ts +102 -0
  51. package/ai-docs/src/50_http-client/index.md +3 -0
  52. package/ai-docs/src/51_http-server/10_basics.ts +116 -0
  53. package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
  54. package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
  55. package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
  56. package/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
  57. package/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
  58. package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
  59. package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
  60. package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
  61. package/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
  62. package/ai-docs/src/51_http-server/index.md +3 -0
  63. package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
  64. package/ai-docs/src/60_child-process/index.md +3 -0
  65. package/ai-docs/src/70_cli/10_basics.ts +136 -0
  66. package/ai-docs/src/70_cli/index.md +5 -0
  67. package/ai-docs/src/71_ai/10_language-model.ts +156 -0
  68. package/ai-docs/src/71_ai/20_tools.ts +226 -0
  69. package/ai-docs/src/71_ai/30_chat.ts +158 -0
  70. package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
  71. package/ai-docs/src/71_ai/index.md +5 -0
  72. package/ai-docs/src/80_cluster/10_entities.ts +97 -0
  73. package/ai-docs/src/80_cluster/index.md +4 -0
  74. package/ai-docs/src/index.md +10 -0
  75. package/ai-docs/tsconfig.json +24 -0
  76. package/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  77. package/dist/NodeChildProcessSpawner.js +4 -1
  78. package/dist/NodeChildProcessSpawner.js.map +1 -1
  79. package/dist/NodeFileSystem.js +1 -1
  80. package/dist/NodeFileSystem.js.map +1 -1
  81. package/dist/NodeSocketServer.d.ts.map +1 -1
  82. package/dist/NodeSocketServer.js +25 -15
  83. package/dist/NodeSocketServer.js.map +1 -1
  84. package/dist/NodeStdio.d.ts.map +1 -1
  85. package/dist/NodeStdio.js +2 -0
  86. package/dist/NodeStdio.js.map +1 -1
  87. package/package.json +7 -4
  88. package/src/NodeChildProcessSpawner.ts +3 -1
  89. package/src/NodeFileSystem.ts +1 -1
  90. package/src/NodeSocketServer.ts +28 -15
  91. package/src/NodeStdio.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSocketServer.js","names":[],"sources":["../src/NodeSocketServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeSocketServer.js","names":[],"sources":["../src/NodeSocketServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeStdio.d.ts","sourceRoot":"","sources":["../src/NodeStdio.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAwC1C,CAAA"}
1
+ {"version":3,"file":"NodeStdio.d.ts","sourceRoot":"","sources":["../src/NodeStdio.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CA0C1C,CAAA"}
package/dist/NodeStdio.js CHANGED
@@ -25,6 +25,8 @@ import { fromReadable } from "./NodeStream.js";
25
25
  */
26
26
  export const layer = /*#__PURE__*/Layer.succeed(Stdio.Stdio, /*#__PURE__*/Stdio.make({
27
27
  args: /*#__PURE__*/Effect.sync(() => process.argv.slice(2)),
28
+ stdinIsTerminal: /*#__PURE__*/Effect.sync(() => process.stdin.isTTY === true),
29
+ stdoutIsTerminal: /*#__PURE__*/Effect.sync(() => process.stdout.isTTY === true),
28
30
  stdout: options => fromWritable({
29
31
  evaluate: () => process.stdout,
30
32
  onError: cause => systemError({
@@ -1 +1 @@
1
- {"version":3,"file":"NodeStdio.js","names":[],"sources":["../src/NodeStdio.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;AAWA,OAAO,KAAK,MAAM,MAAM,eAAe;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,SAAS,WAAW,QAAQ,sBAAsB;AAClD,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,SAAS,YAAY,QAAQ,eAAe;AAC5C,SAAS,YAAY,QAAQ,iBAAiB;AAE9C;;;;;;;;AAQA,OAAO,MAAM,KAAK,gBAA6B,KAAK,CAAC,OAAO,CAC1D,KAAK,CAAC,KAAK,eACX,KAAK,CAAC,IAAI,CAAC;EACT,IAAI,eAAE,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC9C,MAAM,EAAG,OAAO,IACd,YAAY,CAAC;IACX,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM;IAC9B,OAAO,EAAG,KAAK,IACb,WAAW,CAAC;MACV,MAAM,EAAE,OAAO;MACf,MAAM,EAAE,QAAQ;MAChB,IAAI,EAAE,SAAS;MACf;KACD,CAAC;IACJ,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI;GAClC,CAAC;EACJ,MAAM,EAAG,OAAO,IACd,YAAY,CAAC;IACX,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM;IAC9B,OAAO,EAAG,KAAK,IACb,WAAW,CAAC;MACV,MAAM,EAAE,OAAO;MACf,MAAM,EAAE,QAAQ;MAChB,IAAI,EAAE,SAAS;MACf;KACD,CAAC;IACJ,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI;GAClC,CAAC;EACJ,KAAK,eAAE,YAAY,CAAC;IAClB,QAAQ,EAAE,MAAM,OAAO,CAAC,KAAK;IAC7B,OAAO,EAAG,KAAK,IACb,WAAW,CAAC;MACV,MAAM,EAAE,OAAO;MACf,MAAM,EAAE,OAAO;MACf,IAAI,EAAE,SAAS;MACf;KACD,CAAC;IACJ,WAAW,EAAE;GACd;CACF,CAAC,CACH","ignoreList":[]}
1
+ {"version":3,"file":"NodeStdio.js","names":[],"sources":["../src/NodeStdio.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;AAWA,OAAO,KAAK,MAAM,MAAM,eAAe;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,SAAS,WAAW,QAAQ,sBAAsB;AAClD,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,SAAS,YAAY,QAAQ,eAAe;AAC5C,SAAS,YAAY,QAAQ,iBAAiB;AAE9C;;;;;;;;AAQA,OAAO,MAAM,KAAK,gBAA6B,KAAK,CAAC,OAAO,CAC1D,KAAK,CAAC,KAAK,eACX,KAAK,CAAC,IAAI,CAAC;EACT,IAAI,eAAE,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC9C,eAAe,eAAE,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;EAChE,gBAAgB,eAAE,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;EAClE,MAAM,EAAG,OAAO,IACd,YAAY,CAAC;IACX,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM;IAC9B,OAAO,EAAG,KAAK,IACb,WAAW,CAAC;MACV,MAAM,EAAE,OAAO;MACf,MAAM,EAAE,QAAQ;MAChB,IAAI,EAAE,SAAS;MACf;KACD,CAAC;IACJ,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI;GAClC,CAAC;EACJ,MAAM,EAAG,OAAO,IACd,YAAY,CAAC;IACX,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM;IAC9B,OAAO,EAAG,KAAK,IACb,WAAW,CAAC;MACV,MAAM,EAAE,OAAO;MACf,MAAM,EAAE,QAAQ;MAChB,IAAI,EAAE,SAAS;MACf;KACD,CAAC;IACJ,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI;GAClC,CAAC;EACJ,KAAK,eAAE,YAAY,CAAC;IAClB,QAAQ,EAAE,MAAM,OAAO,CAAC,KAAK;IAC7B,OAAO,EAAG,KAAK,IACb,WAAW,CAAC;MACV,MAAM,EAAE,OAAO;MACf,MAAM,EAAE,OAAO;MACf,IAAI,EAAE,SAAS;MACf;KACD,CAAC;IACJ,WAAW,EAAE;GACd;CACF,CAAC,CACH","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.103",
4
+ "version": "4.0.0-beta.105",
5
5
  "license": "MIT",
6
6
  "description": "Unified interfaces for common platform-specific services",
7
7
  "homepage": "https://effect.website",
@@ -40,19 +40,22 @@
40
40
  "dist/**/*.js",
41
41
  "dist/**/*.js.map",
42
42
  "dist/**/*.d.ts",
43
- "dist/**/*.d.ts.map"
43
+ "dist/**/*.d.ts.map",
44
+ "AGENTS.md",
45
+ "CLAUDE.md",
46
+ "ai-docs/**/*"
44
47
  ],
45
48
  "publishConfig": {
46
49
  "access": "public",
47
50
  "provenance": true
48
51
  },
49
52
  "peerDependencies": {
50
- "effect": "^4.0.0-beta.103"
53
+ "effect": "^4.0.0-beta.105"
51
54
  },
52
55
  "devDependencies": {
53
56
  "@types/node": "^26.1.2",
54
57
  "tar": "^7.5.19",
55
- "effect": "^4.0.0-beta.103"
58
+ "effect": "^4.0.0-beta.105"
56
59
  },
57
60
  "dependencies": {
58
61
  "@types/ws": "^8.18.1",
@@ -619,6 +619,8 @@ const make = Effect.gen(function*() {
619
619
  }
620
620
 
621
621
  const handle = handles[handles.length - 1]
622
+ const kill = (options?: ChildProcess.KillOptions | undefined) =>
623
+ Effect.forEach([...handles].reverse(), (handle) => Effect.ignore(handle.kill(options)), { discard: true })
622
624
  const unref = Effect.gen(function*() {
623
625
  const rerefs: Array<Effect.Effect<void, PlatformError.PlatformError>> = []
624
626
  for (const handle of handles) {
@@ -631,7 +633,7 @@ const make = Effect.gen(function*() {
631
633
  pid: handle.pid,
632
634
  exitCode: handle.exitCode,
633
635
  isRunning: handle.isRunning,
634
- kill: handle.kill,
636
+ kill,
635
637
  stdin: handle.stdin,
636
638
  stdout: handle.stdout,
637
639
  stderr: handle.stderr,
@@ -283,7 +283,7 @@ const makeFile = (() => {
283
283
  this.position = this.position + offsetSize
284
284
  }
285
285
 
286
- return this.position
286
+ return FileSystem.Size(this.position)
287
287
  })
288
288
  }
289
289
 
@@ -52,12 +52,14 @@ export const make = Effect.fnUntraced(function*(
52
52
  options: Net.ServerOpts & Net.ListenOptions
53
53
  ) {
54
54
  const errorDeferred = Deferred.makeUnsafe<never, Error>()
55
- const pending = new Set<Net.Socket>()
55
+ const pending = new Map<Net.Socket, () => void>()
56
56
  function defaultOnConnection(conn: Net.Socket) {
57
- pending.add(conn)
58
57
  const remove = () => {
59
58
  pending.delete(conn)
59
+ conn.off("close", remove)
60
+ conn.off("error", remove)
60
61
  }
62
+ pending.set(conn, remove)
61
63
  conn.on("close", remove)
62
64
  conn.on("error", remove)
63
65
  }
@@ -66,6 +68,10 @@ export const make = Effect.fnUntraced(function*(
66
68
  let server: Net.Server | undefined
67
69
  yield* Effect.addFinalizer(() =>
68
70
  Effect.callback<void>((resume) => {
71
+ pending.forEach((remove, conn) => {
72
+ remove()
73
+ conn.destroy()
74
+ })
69
75
  server?.close(() => resume(Effect.void))
70
76
  })
71
77
  )
@@ -129,12 +135,10 @@ export const make = Effect.fnUntraced(function*(
129
135
  trackFiber
130
136
  )
131
137
  }
132
- pending.forEach((conn) => {
133
- conn.removeAllListeners("error")
134
- conn.removeAllListeners("close")
138
+ pending.forEach((remove, conn) => {
139
+ remove()
135
140
  onConnection(conn)
136
141
  })
137
- pending.clear()
138
142
  return yield* Effect.callback<never>((_resume) => {
139
143
  return Effect.suspend(() => {
140
144
  onConnection = prevOnConnection
@@ -190,20 +194,29 @@ export const makeWebSocket: (
190
194
  > = Effect.fnUntraced(function*(
191
195
  options: NodeWS.ServerOptions
192
196
  ) {
197
+ const pendingConnections = new Map<
198
+ globalThis.WebSocket,
199
+ readonly [request: Http.IncomingMessage, remove: () => void]
200
+ >()
193
201
  const server = yield* Effect.acquireRelease(
194
202
  Effect.sync(() => new NodeWS.WebSocketServer(options)),
195
203
  (server) =>
196
204
  Effect.callback<void>((resume) => {
205
+ pendingConnections.forEach(([, remove], conn) => {
206
+ remove()
207
+ const socket = conn as unknown as NodeWS.WebSocket
208
+ socket.terminate()
209
+ })
197
210
  server.close(() => resume(Effect.void))
198
211
  })
199
212
  )
200
- const pendingConnections = new Set<readonly [globalThis.WebSocket, Http.IncomingMessage]>()
201
213
  function defaultHandler(conn: globalThis.WebSocket, req: Http.IncomingMessage) {
202
- const entry = [conn, req] as const
203
- pendingConnections.add(entry)
204
- conn.addEventListener("close", () => {
205
- pendingConnections.delete(entry)
206
- })
214
+ const remove = () => {
215
+ pendingConnections.delete(conn)
216
+ conn.removeEventListener("close", remove)
217
+ }
218
+ pendingConnections.set(conn, [req, remove])
219
+ conn.addEventListener("close", remove)
207
220
  }
208
221
  let onConnection = defaultHandler
209
222
  server.on("connection", (conn, req) => onConnection(conn as any, req))
@@ -248,10 +261,10 @@ export const makeWebSocket: (
248
261
  trackFiber
249
262
  )
250
263
  }
251
- for (const [conn, req] of pendingConnections) {
264
+ pendingConnections.forEach(([req, remove], conn) => {
265
+ remove()
252
266
  onConnection(conn, req)
253
- }
254
- pendingConnections.clear()
267
+ })
255
268
  return yield* Effect.callback<never>((_resume) => {
256
269
  return Effect.sync(() => {
257
270
  onConnection = prevOnConnection
package/src/NodeStdio.ts CHANGED
@@ -28,6 +28,8 @@ export const layer: Layer.Layer<Stdio.Stdio> = Layer.succeed(
28
28
  Stdio.Stdio,
29
29
  Stdio.make({
30
30
  args: Effect.sync(() => process.argv.slice(2)),
31
+ stdinIsTerminal: Effect.sync(() => process.stdin.isTTY === true),
32
+ stdoutIsTerminal: Effect.sync(() => process.stdout.isTTY === true),
31
33
  stdout: (options) =>
32
34
  fromWritable({
33
35
  evaluate: () => process.stdout,