@effect/platform-node-shared 4.0.0-beta.98 → 4.0.0-rc.108

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 (127) hide show
  1. package/AGENTS.md +381 -0
  2. package/CLAUDE.md +381 -0
  3. package/README.md +10 -3
  4. package/ai-docs/README.md +44 -0
  5. package/ai-docs/package.json +36 -0
  6. package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
  7. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
  8. package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
  9. package/ai-docs/src/01_effect/01_basics/index.md +5 -0
  10. package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
  11. package/ai-docs/src/01_effect/02_schema/index.md +7 -0
  12. package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
  13. package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
  14. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
  15. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
  16. package/ai-docs/src/01_effect/03_services/index.md +5 -0
  17. package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
  18. package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
  19. package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
  20. package/ai-docs/src/01_effect/04_errors/index.md +1 -0
  21. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
  22. package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
  23. package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
  24. package/ai-docs/src/01_effect/05_resources/index.md +3 -0
  25. package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
  26. package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
  27. package/ai-docs/src/01_effect/06_running/index.md +1 -0
  28. package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
  29. package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
  30. package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
  31. package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
  32. package/ai-docs/src/03_stream/30_encoding.ts +165 -0
  33. package/ai-docs/src/03_stream/index.md +4 -0
  34. package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
  35. package/ai-docs/src/04_integration/index.md +5 -0
  36. package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
  37. package/ai-docs/src/05_batching/index.md +3 -0
  38. package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
  39. package/ai-docs/src/06_schedule/index.md +3 -0
  40. package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
  41. package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
  42. package/ai-docs/src/07_datetime/index.md +5 -0
  43. package/ai-docs/src/08_observability/10_logging.ts +66 -0
  44. package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
  45. package/ai-docs/src/08_observability/index.md +7 -0
  46. package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
  47. package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
  48. package/ai-docs/src/09_testing/index.md +1 -0
  49. package/ai-docs/src/10_predicate/01_basics.ts +14 -0
  50. package/ai-docs/src/10_predicate/index.md +9 -0
  51. package/ai-docs/src/50_http-client/10_basics.ts +102 -0
  52. package/ai-docs/src/50_http-client/index.md +3 -0
  53. package/ai-docs/src/51_http-server/10_basics.ts +116 -0
  54. package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
  55. package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
  56. package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
  57. package/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
  58. package/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
  59. package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
  60. package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
  61. package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
  62. package/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
  63. package/ai-docs/src/51_http-server/index.md +3 -0
  64. package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
  65. package/ai-docs/src/60_child-process/index.md +3 -0
  66. package/ai-docs/src/70_cli/10_basics.ts +136 -0
  67. package/ai-docs/src/70_cli/index.md +5 -0
  68. package/ai-docs/src/71_ai/10_language-model.ts +156 -0
  69. package/ai-docs/src/71_ai/20_tools.ts +226 -0
  70. package/ai-docs/src/71_ai/30_chat.ts +158 -0
  71. package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
  72. package/ai-docs/src/71_ai/index.md +5 -0
  73. package/ai-docs/src/80_cluster/10_entities.ts +97 -0
  74. package/ai-docs/src/80_cluster/index.md +4 -0
  75. package/ai-docs/src/index.md +10 -0
  76. package/ai-docs/tsconfig.json +24 -0
  77. package/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  78. package/dist/NodeChildProcessSpawner.js +16 -12
  79. package/dist/NodeChildProcessSpawner.js.map +1 -1
  80. package/dist/NodeClusterSocket.js.map +1 -1
  81. package/dist/NodeCrypto.js.map +1 -1
  82. package/dist/NodeFileSystem.d.ts.map +1 -1
  83. package/dist/NodeFileSystem.js +7 -7
  84. package/dist/NodeFileSystem.js.map +1 -1
  85. package/dist/NodeHttpCompression.d.ts +36 -0
  86. package/dist/NodeHttpCompression.d.ts.map +1 -0
  87. package/dist/NodeHttpCompression.js +146 -0
  88. package/dist/NodeHttpCompression.js.map +1 -0
  89. package/dist/NodePath.d.ts.map +1 -1
  90. package/dist/NodePath.js +23 -20
  91. package/dist/NodePath.js.map +1 -1
  92. package/dist/NodeRuntime.js.map +1 -1
  93. package/dist/NodeSink.js.map +1 -1
  94. package/dist/NodeSocket.js.map +1 -1
  95. package/dist/NodeSocketServer.d.ts.map +1 -1
  96. package/dist/NodeSocketServer.js +25 -15
  97. package/dist/NodeSocketServer.js.map +1 -1
  98. package/dist/NodeStdio.d.ts.map +1 -1
  99. package/dist/NodeStdio.js +2 -0
  100. package/dist/NodeStdio.js.map +1 -1
  101. package/dist/NodeStream.d.ts.map +1 -1
  102. package/dist/NodeStream.js +0 -3
  103. package/dist/NodeStream.js.map +1 -1
  104. package/dist/NodeTerminal.d.ts.map +1 -1
  105. package/dist/NodeTerminal.js +63 -11
  106. package/dist/NodeTerminal.js.map +1 -1
  107. package/dist/index.d.ts +4 -0
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +4 -0
  110. package/dist/index.js.map +1 -1
  111. package/dist/internal/nodeChildProcessSpawner.d.ts +4 -0
  112. package/dist/internal/nodeChildProcessSpawner.d.ts.map +1 -0
  113. package/dist/internal/nodeChildProcessSpawner.js +10 -0
  114. package/dist/internal/nodeChildProcessSpawner.js.map +1 -0
  115. package/dist/internal/utils.js.map +1 -1
  116. package/package.json +13 -11
  117. package/src/NodeChildProcessSpawner.ts +25 -20
  118. package/src/NodeFileSystem.ts +16 -12
  119. package/src/NodeHttpCompression.ts +153 -0
  120. package/src/NodePath.ts +25 -27
  121. package/src/NodeSocketServer.ts +28 -15
  122. package/src/NodeStdio.ts +2 -0
  123. package/src/NodeStream.ts +0 -3
  124. package/src/NodeTerminal.ts +62 -13
  125. package/src/index.ts +5 -0
  126. package/src/internal/nodeChildProcessSpawner.ts +16 -0
  127. package/src/internal/utils.ts +1 -1
@@ -0,0 +1,158 @@
1
+ /**
2
+ * @title Stateful chat sessions
3
+ *
4
+ * The AI `Chat` module maintains conversation history automatically. Build
5
+ * AI agents or chat assistants.
6
+ */
7
+ import { OpenAiClient, OpenAiLanguageModel } from "@effect/ai-openai"
8
+ import { Config, Context, DateTime, Effect, Layer, Ref, Schema } from "effect"
9
+ import { AiError, Chat, Prompt, Tool, Toolkit } from "effect/unstable/ai"
10
+ import { FetchHttpClient } from "effect/unstable/http"
11
+
12
+ // ---------------------------------------------------------------------------
13
+ // Provider setup
14
+ // ---------------------------------------------------------------------------
15
+
16
+ const OpenAiClientLayer = OpenAiClient.layerConfig({
17
+ apiKey: Config.redacted("OPENAI_API_KEY")
18
+ }).pipe(Layer.provide(FetchHttpClient.layer))
19
+
20
+ // ---------------------------------------------------------------------------
21
+ // Tools for the agentic loop
22
+ // ---------------------------------------------------------------------------
23
+
24
+ const Tools = Toolkit.make(Tool.make("getCurrentTime", {
25
+ description: "Get the current time in ISO format",
26
+ parameters: Schema.Struct({
27
+ id: Schema.String
28
+ }),
29
+ success: Schema.String
30
+ }))
31
+
32
+ const ToolsLayer = Tools.toLayer(Effect.gen(function*() {
33
+ yield* Effect.logDebug("Initializing tools...")
34
+ return Tools.of({
35
+ getCurrentTime: Effect.fn("Tools.getCurrentTime")(function*(_) {
36
+ const now = yield* DateTime.now
37
+ return DateTime.formatIso(now)
38
+ })
39
+ })
40
+ }))
41
+
42
+ // ---------------------------------------------------------------------------
43
+ // Service that wraps Chat for a domain use-case
44
+ // ---------------------------------------------------------------------------
45
+
46
+ export class AiAssistantError extends Schema.TaggedError<AiAssistantError>()("AiAssistantError", {
47
+ reason: AiError.AiErrorReason
48
+ }) {
49
+ static fromAiError(error: AiError.AiError) {
50
+ return new AiAssistantError({ reason: error.reason })
51
+ }
52
+ }
53
+
54
+ export class AiAssistant extends Context.Service<AiAssistant, {
55
+ // Send a message while maintaining conversation history across turns.
56
+ chat(message: string): Effect.Effect<string, AiAssistantError>
57
+ // Ask a question and use an agentic loop with tool calls to answer it.
58
+ agent(question: string): Effect.Effect<string, AiAssistantError>
59
+ }>()("acme/AiAssistant") {
60
+ static readonly layer = Layer.effect(
61
+ AiAssistant,
62
+ Effect.gen(function*() {
63
+ // Choose the model you want to use for the chat sessions.
64
+ const modelLayer = yield* OpenAiLanguageModel.model("gpt-5.2").captureRequirements
65
+
66
+ // ---------------------------------------------------------------------------
67
+ // 1. Chat.empty — basic multi-turn conversation
68
+ // ---------------------------------------------------------------------------
69
+
70
+ // Create a new chat session with `Chat.empty` or `Chat.fromPrompt`. The
71
+ // session maintains conversation history automatically, so you can focus on
72
+ // the current turn without having to manage context.
73
+ const newSession = yield* Chat.fromPrompt(Prompt.empty.pipe(
74
+ Prompt.setSystem("You are a helpful assistant that answers questions.")
75
+ ))
76
+
77
+ // You can also create a chat using a json export.
78
+ const json = yield* newSession.exportJson
79
+ const session = yield* Chat.fromJson(json)
80
+
81
+ const chat = Effect.fn("AiAssistant.chat")(
82
+ function*(message: string) {
83
+ // Create a new turn in the conversation by passing the user's message
84
+ // to `session.generateText`.
85
+ const response = yield* session.generateText({ prompt: message }).pipe(
86
+ // Provide the model layer to use.
87
+ // You could potentially use different models for different turns,
88
+ // or even switch models in the middle of a conversation.
89
+ Effect.provide(modelLayer)
90
+ )
91
+
92
+ // You can inspect the accumulated history at any point through the
93
+ // `history` ref on the chat instance.
94
+ const history = yield* Ref.get(session.history)
95
+ yield* Effect.logInfo(
96
+ `Conversation has ${history.content.length} messages`
97
+ )
98
+
99
+ return response.text
100
+ },
101
+ Effect.mapError((error) => AiAssistantError.fromAiError(error))
102
+ )
103
+
104
+ // ---------------------------------------------------------------------------
105
+ // 2. Create agentic loops with tools
106
+ // ---------------------------------------------------------------------------
107
+
108
+ const tools = yield* Tools
109
+ const agent = Effect.fn("AiAssistant.agent")(
110
+ function*(question: string) {
111
+ // We start the agent with a system prompt and the user question. The
112
+ // agent can then call tools in a loop until it decides to return a
113
+ // final answer.
114
+ const session = yield* Chat.fromPrompt([
115
+ { role: "system", content: "You are an assistant that can use tools to answer questions." },
116
+ { role: "user", content: question }
117
+ ])
118
+
119
+ while (true) {
120
+ const response = yield* session.generateText({
121
+ prompt: [], // No additional prompt — the model has full access to the conversation history
122
+ toolkit: tools // Provide the tools to the model
123
+ }).pipe(
124
+ // Provide the model layer to use.
125
+ // You could potentially use different models for different turns,
126
+ // or even switch models in the middle of a conversation.
127
+ Effect.provide(modelLayer)
128
+ )
129
+ if (response.toolCalls.length > 0) {
130
+ // If the model called any tools, execute them and the Chat module
131
+ // will automatically add the tool results to the conversation
132
+ // history before the next turn.
133
+ continue
134
+ }
135
+ // If there are no tool calls, the model has returned a final answer
136
+ // and we can exit the loop.
137
+ return response.text
138
+ }
139
+ },
140
+ // Remap AI errors to our domain-specific error type, but die on
141
+ // unexpected errors.
142
+ Effect.catchTag(
143
+ "AiError",
144
+ (error) => Effect.fail(AiAssistantError.fromAiError(error)),
145
+ (e) => Effect.die(e)
146
+ )
147
+ )
148
+
149
+ return AiAssistant.of({
150
+ chat,
151
+ agent
152
+ })
153
+ })
154
+ ).pipe(
155
+ // Provide the OpenAI client and tools layers to the AiAssistant service.
156
+ Layer.provide([OpenAiClientLayer, ToolsLayer])
157
+ )
158
+ }
@@ -0,0 +1,9 @@
1
+ import { Schema } from "effect"
2
+
3
+ export class LaunchPlan extends Schema.Class<LaunchPlan>("LaunchPlan")({
4
+ audience: Schema.Literals(["developers", "operators", "platform teams"]),
5
+ channels: Schema.Array(Schema.String),
6
+ launchDate: Schema.String,
7
+ summary: Schema.String,
8
+ keyRisks: Schema.Array(Schema.String)
9
+ }) {}
@@ -0,0 +1,5 @@
1
+ ## Working with AI modules
2
+
3
+ Effect's AI modules provide a provider-agnostic interface for language models.
4
+ You can generate text, decode structured objects with `Schema` and stream partial
5
+ responses.
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @title Defining cluster entities
3
+ *
4
+ * Define distributed entity RPCs and run them in a cluster.
5
+ */
6
+ import { NodeClusterSocket, NodeRuntime } from "@effect/platform-node"
7
+ import { Effect, Layer, Ref, Schema } from "effect"
8
+ import { ClusterSchema, Entity, TestRunner } from "effect/unstable/cluster"
9
+ import { Rpc } from "effect/unstable/rpc"
10
+ import type { SqlClient } from "effect/unstable/sql"
11
+
12
+ export const Increment = Rpc.make("Increment", {
13
+ payload: { amount: Schema.Int },
14
+ success: Schema.Int
15
+ })
16
+
17
+ export const GetCount = Rpc.make("GetCount", {
18
+ success: Schema.Int
19
+ })
20
+ // If you want GetCount messages to be persisted, you can annotate the RPC
21
+ // schema with `ClusterSchema.Persisted`.
22
+ //
23
+ // By default, messages are volatile and only sent over a network.
24
+ .annotate(ClusterSchema.Persisted, true)
25
+
26
+ // `Entity.make` takes an array of Rpc definitions
27
+ export const Counter = Entity.make("Counter", [Increment, GetCount])
28
+
29
+ // Entity handlers can keep in-memory state while the entity is active.
30
+ // `maxIdleTime` controls passivation: if the entity is idle long enough, it is
31
+ // stopped and later recreated on demand.
32
+ export const CounterEntityLayer = Counter.toLayer(
33
+ Effect.gen(function*() {
34
+ const count = yield* Ref.make(0)
35
+
36
+ return Counter.of({
37
+ Increment: ({ payload }) => Ref.updateAndGet(count, (current) => current + payload.amount),
38
+ GetCount: () =>
39
+ Ref.get(count).pipe(
40
+ // Add Rpc.fork to allow the GetCount handler to run concurrently with
41
+ // Increment handlers.
42
+ //
43
+ // This opts-out of the default behavior where all handlers for a
44
+ // given entity run sequentially.
45
+ Rpc.fork
46
+ )
47
+ })
48
+ }),
49
+ { maxIdleTime: "5 minutes" }
50
+ )
51
+
52
+ // If you ever need to access an entity client, you can use the `client`
53
+ // property on the entity definition.
54
+ export const useCounter = Effect.gen(function*() {
55
+ const clientFor = yield* Counter.client
56
+ const counter = clientFor("counter-123")
57
+
58
+ const afterIncrement = yield* counter.Increment({ amount: 1 })
59
+ const currentCount = yield* counter.GetCount()
60
+
61
+ console.log(`Count after increment: ${afterIncrement}, current count: ${currentCount}`)
62
+ })
63
+
64
+ // `SingleRunner.layer` is useful for local development / tests where you still
65
+ // want the cluster entity runtime model.
66
+ declare const SqlClientLayer: Layer.Layer<SqlClient.SqlClient>
67
+
68
+ // Create the cluster layer using `NodeClusterSocket.layer`
69
+ const ClusterLayer = NodeClusterSocket.layer().pipe(
70
+ Layer.provide(SqlClientLayer)
71
+ )
72
+
73
+ // You can also use `TestRunner.layer` to run your entities in a single process,
74
+ // without any network communication and in-memory storage. This is useful for testing and
75
+ // development.
76
+ const ClusterLayerTest = TestRunner.layer
77
+
78
+ // Merge all your entity layers together and provide the cluster layer to run
79
+ // them in a cluster.
80
+ const EntitiesLayer = Layer.mergeAll(
81
+ CounterEntityLayer
82
+ )
83
+
84
+ const ProductionLayer = EntitiesLayer.pipe(
85
+ Layer.provide(ClusterLayer)
86
+ )
87
+
88
+ export const TestLayer = EntitiesLayer.pipe(
89
+ // For testing, we can use `Layer.provideMerge` to tests can access storage
90
+ // and other cluster services directly.
91
+ Layer.provideMerge(ClusterLayerTest)
92
+ )
93
+
94
+ // Finally, run your app with the entities layer.
95
+ Layer.launch(ProductionLayer).pipe(
96
+ NodeRuntime.runMain
97
+ )
@@ -0,0 +1,4 @@
1
+ ## Building distributed applications with cluster
2
+
3
+ The cluster modules let you model stateful services as entities and distribute
4
+ them across multiple machines.
@@ -0,0 +1,10 @@
1
+ # Effect library documentation
2
+
3
+ This documentation covers the Effect library and its related packages.
4
+
5
+ When you need to find information about Effect, use this documentation and the
6
+ Effect source code available in your environment. Avoid unrelated copies of
7
+ Effect or external documentation, as they may be outdated or incorrect.
8
+
9
+ **Note**: The examples in this documentation contain comments for illustration
10
+ purposes. In practice, you would not include these comments in your code.
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "extends": "../tsconfig.base.json",
4
+ "include": ["src/**/*.ts", "src/**/*.tsx"],
5
+ "compilerOptions": {
6
+ "rootDir": ".",
7
+ "noEmit": true,
8
+ "declaration": false,
9
+ "declarationMap": false,
10
+ "composite": false,
11
+ "incremental": false,
12
+ "types": ["node"],
13
+ "plugins": [
14
+ {
15
+ "name": "@effect/language-service",
16
+ "namespaceImportPackages": [],
17
+ "diagnosticSeverity": {
18
+ "floatingEffect": "off",
19
+ "preferSchemaOverJson": "off"
20
+ }
21
+ }
22
+ ]
23
+ }
24
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeChildProcessSpawner.d.ts","sourceRoot":"","sources":["../src/NodeChildProcessSpawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AAIxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAMnC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAEpE,OAAO,EACL,mBAAmB,EAKpB,MAAM,6CAA6C,CAAA;AAomBpD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,mBAAmB,EACnB,KAAK,EACL,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CACQ,CAAA;AAM3C;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;IAC1E,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;CAC9D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,YAChB,YAAY,CAAC,OAAO,KAC5B,iBAoCF,CAAA"}
1
+ {"version":3,"file":"NodeChildProcessSpawner.d.ts","sourceRoot":"","sources":["../src/NodeChildProcessSpawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAA;AAIxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAMnC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAEpE,OAAO,EACL,mBAAmB,EAKpB,MAAM,6CAA6C,CAAA;AAymBpD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,mBAAmB,EACnB,KAAK,EACL,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CACQ,CAAA;AAM3C;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;IAC1E,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;CAC9D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,YAChB,YAAY,CAAC,OAAO,KAC5B,iBAoCF,CAAA"}
@@ -11,6 +11,7 @@ import * as ChildProcess from "effect/unstable/process/ChildProcess";
11
11
  import { ChildProcessSpawner, ExitCode, make as makeSpawner, makeHandle, ProcessId } from "effect/unstable/process/ChildProcessSpawner";
12
12
  import * as NodeChildProcess from "node:child_process";
13
13
  import { PassThrough } from "node:stream";
14
+ import { buildSpawnOptions } from "./internal/nodeChildProcessSpawner.js";
14
15
  import { handleErrnoException } from "./internal/utils.js";
15
16
  import * as NodeSink from "./NodeSink.js";
16
17
  import * as NodeStream from "./NodeStream.js";
@@ -25,6 +26,9 @@ const toPlatformError = (method, error, command) => {
25
26
  }, "");
26
27
  return handleErrnoException("ChildProcess", method)(error, [commandStr]);
27
28
  };
29
+ const taskkill = (childProcess, onExit = () => {}) => NodeChildProcess.execFile("taskkill", ["/pid", String(childProcess.pid), "/T", "/F"], {
30
+ windowsHide: true
31
+ }, onExit);
28
32
  const make = /*#__PURE__*/Effect.gen(function* () {
29
33
  const fs = yield* FileSystem.FileSystem;
30
34
  const path = yield* Path.Path;
@@ -256,7 +260,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
256
260
  const killProcessGroup = (command, childProcess, signal) => {
257
261
  if (globalThis.process.platform === "win32") {
258
262
  return Effect.callback(resume => {
259
- NodeChildProcess.exec(`taskkill /pid ${childProcess.pid} /T /F`, error => {
263
+ taskkill(childProcess, error => {
260
264
  if (error) {
261
265
  resume(Effect.fail(toPlatformError("kill", toError(error), command)));
262
266
  } else {
@@ -274,9 +278,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
274
278
  };
275
279
  const killProcessGroupOnExit = (childProcess, signal) => {
276
280
  if (globalThis.process.platform === "win32") {
277
- NodeChildProcess.exec(`taskkill /pid ${childProcess.pid} /T /F`, () => {
278
- // ignore errors during best-effort cleanup
279
- });
281
+ // ignore errors during best-effort cleanup
282
+ taskkill(childProcess);
280
283
  return;
281
284
  }
282
285
  try {
@@ -337,13 +340,11 @@ const make = /*#__PURE__*/Effect.gen(function* () {
337
340
  const cwd = yield* resolveWorkingDirectory(cmd.options);
338
341
  const env = resolveEnvironment(cmd.options);
339
342
  const stdio = buildStdioArray(stdinConfig, stdoutConfig, stderrConfig, resolvedAdditionalFds);
340
- const [childProcess, exitSignal] = yield* Effect.acquireRelease(spawn(cmd, {
343
+ const [childProcess, exitSignal] = yield* Effect.acquireRelease(spawn(cmd, buildSpawnOptions(cmd.options, {
341
344
  cwd,
342
345
  env,
343
- stdio,
344
- detached: cmd.options.detached ?? process.platform !== "win32",
345
- shell: cmd.options.shell
346
- }), Effect.fnUntraced(function* ([childProcess, exitSignal]) {
346
+ stdio
347
+ }, process.platform)), Effect.fnUntraced(function* ([childProcess, exitSignal]) {
347
348
  const exited = yield* Deferred.isDone(exitSignal);
348
349
  const killWithTimeout = withTimeout(childProcess, cmd, cmd.options);
349
350
  if (exited) {
@@ -359,7 +360,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
359
360
  return yield* Effect.void;
360
361
  }
361
362
  // Process is still running, kill it
362
- return yield* killWithTimeout((command, childProcess, signal) => Effect.catch(killProcessGroup(command, childProcess, signal), () => killProcess(command, childProcess, signal))).pipe(Effect.andThen(Deferred.await(exitSignal)), Effect.ignore);
363
+ return yield* killWithTimeout((command, childProcess, signal) => killProcessGroup(command, childProcess, signal).pipe(Effect.catch(() => killProcess(command, childProcess, signal)), Effect.andThen(Deferred.await(exitSignal)))).pipe(Effect.ignore);
363
364
  }));
364
365
  const pid = ProcessId(childProcess.pid);
365
366
  childProcess.on("exit", code => {
@@ -403,7 +404,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
403
404
  });
404
405
  const kill = options => {
405
406
  const killWithTimeout = withTimeout(childProcess, cmd, options);
406
- return killWithTimeout((command, childProcess, signal) => Effect.catch(killProcessGroup(command, childProcess, signal), () => killProcess(command, childProcess, signal))).pipe(Effect.andThen(Deferred.await(exitSignal)), Effect.asVoid);
407
+ return killWithTimeout((command, childProcess, signal) => killProcessGroup(command, childProcess, signal).pipe(Effect.catch(() => killProcess(command, childProcess, signal)), Effect.andThen(Deferred.await(exitSignal)))).pipe(Effect.asVoid);
407
408
  };
408
409
  return makeHandle({
409
410
  pid,
@@ -473,6 +474,9 @@ const make = /*#__PURE__*/Effect.gen(function* () {
473
474
  }
474
475
  }
475
476
  const handle = handles[handles.length - 1];
477
+ const kill = options => Effect.forEach([...handles].reverse(), handle => Effect.ignore(handle.kill(options)), {
478
+ discard: true
479
+ });
476
480
  const unref = Effect.gen(function* () {
477
481
  const rerefs = [];
478
482
  for (const handle of handles) {
@@ -486,7 +490,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
486
490
  pid: handle.pid,
487
491
  exitCode: handle.exitCode,
488
492
  isRunning: handle.isRunning,
489
- kill: handle.kill,
493
+ kill,
490
494
  stdin: handle.stdin,
491
495
  stdout: handle.stdout,
492
496
  stderr: handle.stderr,
@@ -1 +1 @@
1
- {"version":3,"file":"NodeChildProcessSpawner.js","names":["Deferred","Effect","Exit","FileSystem","Layer","Path","Predicate","Sink","Stream","ChildProcess","ChildProcessSpawner","ExitCode","make","makeSpawner","makeHandle","ProcessId","NodeChildProcess","PassThrough","handleErrnoException","NodeSink","NodeStream","toError","error","globalThis","Error","String","toPlatformError","method","command","commands","flattenCommand","commandStr","reduce","acc","curr","cmd","args","join","length","gen","fs","path","resolveWorkingDirectory","fnUntraced","options","isUndefined","cwd","undefined","access","resolve","resolveEnvironment","extendEnv","process","env","inputToStdioOption","input","isStream","outputToStdioOption","isSink","resolveStdinOption","defaultConfig","stream","encoding","endOnDone","stdin","resolveOutputOption","streamName","option","resolveAdditionalFds","additionalFds","result","name","config","Object","entries","fd","parseFdName","isNotUndefined","push","sort","a","b","buildStdioArray","stdinConfig","stdoutConfig","stderrConfig","stdio","maxFd","max","Math","i","setupAdditionalFds","childProcess","getInputFd","drain","getOutputFd","empty","inputSinks","Map","outputStreams","nodeStream","type","sink","fromWritable","evaluate","onError","forkScoped","run","set","passThrough","on","destroy","pipe","fromReadable","transduce","get","setupChildStdin","suspend","isNotNull","as","succeed","setupChildOutputStreams","stdout","stderr","all","merge","spawn","spawnOptions","callback","resume","deferred","makeUnsafe","handle","fail","doneUnsafe","sync","kill","killProcessGroup","signal","platform","exec","pid","void","try","catch","killProcessGroupOnExit","killProcess","killed","withTimeout","killSignal","forceKillAfter","timeoutOrElse","duration","orElse","getSourceStream","from","fromOption","spawnCommand","_tag","resolvedAdditionalFds","isReferenced","exitSignal","acquireRelease","detached","shell","exited","isDone","killWithTimeout","code","await","ignore","andThen","reref","ref","unref","isRunning","map","done","exitCode","flatMap","asVoid","pipeOptions","root","pipeline","handles","sourceStream","unwrap","toOption","to","fdName","existingFds","rerefs","forEach","reverse","discard","layer","effect","flatten","left","right","first","rest","nonEmptyCommands"],"sources":["../src/NodeChildProcessSpawner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeChildProcessSpawner.js","names":[],"sources":["../src/NodeChildProcessSpawner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeClusterSocket.js","names":["Effect","Layer","Option","Runners","ShardingConfig","RpcClient","RpcSerialization","Socket","NodeSocket","NodeSocketServer","layerClientProtocol","effect","RpcClientProtocol","gen","serialization","fnUntraced","address","socket","makeNet","openTimeout","timeout","host","port","makeProtocolSocket","pipe","provideService","orDie","layerSocketServer","config","listenAddress","orElse","runnerListenAddress","runnerAddress","isNone","die","layer","value","unwrap"],"sources":["../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,iCAAiC;AAC1D,OAAO,KAAKC,cAAc,MAAM,wCAAwC;AACxE,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAC1D,OAAO,KAAKC,gBAAgB,MAAM,sCAAsC;AACxE,SAASC,MAAM,QAAQ,+BAA+B;AAEtD,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;;;;;AAOA,OAAO,MAAMC,mBAAmB,gBAI5BT,KAAK,CAACU,MAAM,CAACR,OAAO,CAACS,iBAAiB,CAAC,cACzCZ,MAAM,CAACa,GAAG,CAAC,aAAS;EAClB,MAAMC,aAAa,GAAG,OAAOR,gBAAgB,CAACA,gBAAgB;EAC9D,OAAON,MAAM,CAACe,UAAU,CAAC,WAAUC,OAAO;IACxC,MAAMC,MAAM,GAAG,OAAOT,UAAU,CAACU,OAAO,CAAC;MACvCC,WAAW,EAAE,IAAI;MACjBC,OAAO,EAAE,IAAI;MACbC,IAAI,EAAEL,OAAO,CAACK,IAAI;MAClBC,IAAI,EAAEN,OAAO,CAACM;KACf,CAAC;IACF,OAAO,OAAOjB,SAAS,CAACkB,kBAAkB,EAAE,CAACC,IAAI,CAC/CxB,MAAM,CAACyB,cAAc,CAAClB,MAAM,EAAEU,MAAM,CAAC,EACrCjB,MAAM,CAACyB,cAAc,CAACnB,gBAAgB,CAACA,gBAAgB,EAAEQ,aAAa,CAAC,CACxE;EACH,CAAC,EAAEd,MAAM,CAAC0B,KAAK,CAAC;AAClB,CAAC,CAAC,CACH;AAED;;;;;;;AAOA,OAAO,MAAMC,iBAAiB,gBAI1B3B,MAAM,CAACa,GAAG,CAAC,aAAS;EACtB,MAAMe,MAAM,GAAG,OAAOxB,cAAc,CAACA,cAAc;EACnD,MAAMyB,aAAa,GAAG3B,MAAM,CAAC4B,MAAM,CAACF,MAAM,CAACG,mBAAmB,EAAE,MAAMH,MAAM,CAACI,aAAa,CAAC;EAC3F,IAAI9B,MAAM,CAAC+B,MAAM,CAACJ,aAAa,CAAC,EAAE;IAChC,OAAO,OAAO7B,MAAM,CAACkC,GAAG,CAAC,+DAA+D,CAAC;EAC3F;EACA,OAAOzB,gBAAgB,CAAC0B,KAAK,CAACN,aAAa,CAACO,KAAK,CAAC;AACpD,CAAC,CAAC,CAACZ,IAAI,CAACvB,KAAK,CAACoC,MAAM,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"NodeClusterSocket.js","names":[],"sources":["../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,OAAO,KAAK,MAAM,MAAM,eAAe;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe;AACvC,OAAO,KAAK,OAAO,MAAM,iCAAiC;AAC1D,OAAO,KAAK,cAAc,MAAM,wCAAwC;AACxE,OAAO,KAAK,SAAS,MAAM,+BAA+B;AAC1D,OAAO,KAAK,gBAAgB,MAAM,sCAAsC;AACxE,SAAS,MAAM,QAAQ,+BAA+B;AAEtD,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAK,gBAAgB,MAAM,uBAAuB;AAEzD;;;;;;;AAOA,OAAO,MAAM,mBAAmB,gBAI5B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,cACzC,MAAM,CAAC,GAAG,CAAC,aAAS;EAClB,MAAM,aAAa,GAAG,OAAO,gBAAgB,CAAC,gBAAgB;EAC9D,OAAO,MAAM,CAAC,UAAU,CAAC,WAAU,OAAO;IACxC,MAAM,MAAM,GAAG,OAAO,UAAU,CAAC,OAAO,CAAC;MACvC,WAAW,EAAE,IAAI;MACjB,OAAO,EAAE,IAAI;MACb,IAAI,EAAE,OAAO,CAAC,IAAI;MAClB,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;IACF,OAAO,OAAO,SAAS,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAC/C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CACxE;EACH,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;AAClB,CAAC,CAAC,CACH;AAED;;;;;;;AAOA,OAAO,MAAM,iBAAiB,gBAI1B,MAAM,CAAC,GAAG,CAAC,aAAS;EACtB,MAAM,MAAM,GAAG,OAAO,cAAc,CAAC,cAAc;EACnD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,MAAM,CAAC,aAAa,CAAC;EAC3F,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;IAChC,OAAO,OAAO,MAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC;EAC3F;EACA,OAAO,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AACpD,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeCrypto.js","names":["EffectCrypto","Effect","Layer","PlatformError","NodeCrypto","toHashAlgorithm","algorithm","digest","data","try","Uint8Array","from","createHash","update","catch","cause","systemError","module","method","_tag","description","make","randomBytes","layer","succeed","Crypto"],"sources":["../src/NodeCrypto.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,OAAO,KAAKA,YAAY,MAAM,eAAe;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,aAAa,MAAM,sBAAsB;AACrD,OAAO,KAAKC,UAAU,MAAM,aAAa;AAEzC,MAAMC,eAAe,GAAIC,SAAuC,IAAY;EAC1E,QAAQA,SAAS;IACf,KAAK,OAAO;MACV,OAAO,MAAM;IACf,KAAK,SAAS;MACZ,OAAO,QAAQ;IACjB,KAAK,SAAS;MACZ,OAAO,QAAQ;IACjB,KAAK,SAAS;MACZ,OAAO,QAAQ;EACnB;AACF,CAAC;AAED,MAAMC,MAAM,GAAkCA,CAACD,SAAS,EAAEE,IAAI,KAC5DP,MAAM,CAACQ,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMC,UAAU,CAACC,IAAI,CAACP,UAAU,CAACQ,UAAU,CAACP,eAAe,CAACC,SAAS,CAAC,CAAC,CAACO,MAAM,CAACL,IAAI,CAAC,CAACD,MAAM,EAAE,CAAC;EACnGO,KAAK,EAAGC,KAAK,IACXZ,aAAa,CAACa,WAAW,CAAC;IACxBC,MAAM,EAAE,QAAQ;IAChBC,MAAM,EAAE,QAAQ;IAChBC,IAAI,EAAE,SAAS;IACfC,WAAW,EAAE,0BAA0B;IACvCL;GACD;CACJ,CAAC;AAEJ;;;;;;AAMA,OAAO,MAAMM,IAAI,gBAAwBrB,YAAY,CAACqB,IAAI,CAAC;EACzDC,WAAW,EAAElB,UAAU,CAACkB,WAAW;EACnCf;CACD,CAAC;AAEF;;;;;;AAMA,OAAO,MAAMgB,KAAK,gBAAqCrB,KAAK,CAACsB,OAAO,CAACxB,YAAY,CAACyB,MAAM,EAAEJ,IAAI,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"NodeCrypto.js","names":[],"sources":["../src/NodeCrypto.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,OAAO,KAAK,YAAY,MAAM,eAAe;AAC7C,OAAO,KAAK,MAAM,MAAM,eAAe;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,aAAa,MAAM,sBAAsB;AACrD,OAAO,KAAK,UAAU,MAAM,aAAa;AAEzC,MAAM,eAAe,GAAI,SAAuC,IAAY;EAC1E,QAAQ,SAAS;IACf,KAAK,OAAO;MACV,OAAO,MAAM;IACf,KAAK,SAAS;MACZ,OAAO,QAAQ;IACjB,KAAK,SAAS;MACZ,OAAO,QAAQ;IACjB,KAAK,SAAS;MACZ,OAAO,QAAQ;EACnB;AACF,CAAC;AAED,MAAM,MAAM,GAAkC,CAAC,SAAS,EAAE,IAAI,KAC5D,MAAM,CAAC,GAAG,CAAC;EACT,GAAG,EAAE,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;EACnG,KAAK,EAAG,KAAK,IACX,aAAa,CAAC,WAAW,CAAC;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,0BAA0B;IACvC;GACD;CACJ,CAAC;AAEJ;;;;;;AAMA,OAAO,MAAM,IAAI,gBAAwB,YAAY,CAAC,IAAI,CAAC;EACzD,WAAW,EAAE,UAAU,CAAC,WAAW;EACnC;CACD,CAAC;AAEF;;;;;;AAMA,OAAO,MAAM,KAAK,gBAAqC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAooBrC;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAuD,CAAA"}
1
+ {"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAwoBrC;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAuD,CAAA"}
@@ -119,7 +119,7 @@ const makeTempDirectoryScoped = /*#__PURE__*/(() => {
119
119
  const openFactory = method => {
120
120
  const nodeOpen = effectify(NFS.open, handleErrnoException("FileSystem", method), handleBadArgument(method));
121
121
  const nodeClose = effectify(NFS.close, handleErrnoException("FileSystem", method), handleBadArgument(method));
122
- return (path, options) => pipe(Effect.acquireRelease(nodeOpen(path, options?.flag ?? "r", options?.mode), fd => Effect.orDie(nodeClose(fd))), Effect.map(fd => makeFile(FileSystem.FileDescriptor(fd), options?.flag?.startsWith("a") ?? false)));
122
+ return (path, options) => pipe(Effect.acquireRelease(nodeOpen(path, options?.flag ?? "r", options?.mode), fd => Effect.orDie(nodeClose(fd))), Effect.map(fd => makeFile(fd, options?.flag?.startsWith("a") ?? false)));
123
123
  };
124
124
  const open = /*#__PURE__*/openFactory("open");
125
125
  const makeFile = /*#__PURE__*/(() => {
@@ -156,7 +156,7 @@ const makeFile = /*#__PURE__*/(() => {
156
156
  } else if (from === "current") {
157
157
  this.position = this.position + offsetSize;
158
158
  }
159
- return this.position;
159
+ return FileSystem.Size(this.position);
160
160
  });
161
161
  }
162
162
  read(buffer) {
@@ -335,9 +335,9 @@ const utimes = /*#__PURE__*/(() => {
335
335
  return (path, atime, mtime) => nodeUtimes(path, atime, mtime);
336
336
  })();
337
337
  // == watch
338
- const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.sync(() => {
338
+ const watchNode = (path, options) => Stream.callback(queue => Effect.acquireRelease(Effect.sync(() => {
339
339
  const watcher = NFS.watch(path, {
340
- recursive: true
340
+ recursive: options?.recursive ?? false
341
341
  }, (event, path) => {
342
342
  if (!path) return;
343
343
  switch (event) {
@@ -379,7 +379,7 @@ const watchNode = path => Stream.callback(queue => Effect.acquireRelease(Effect.
379
379
  });
380
380
  return watcher;
381
381
  }), watcher => Effect.sync(() => watcher.close())));
382
- const watch = (backend, path) => stat(path).pipe(Effect.map(stat => backend.pipe(Option.flatMap(_ => _.register(path, stat)), Option.getOrElse(() => watchNode(path)))), Stream.unwrap);
382
+ const watch = (backend, path, options) => stat(path).pipe(Effect.map(stat => backend.pipe(Option.flatMap(_ => _.register(path, stat, options)), Option.getOrElse(() => watchNode(path, options)))), Stream.unwrap);
383
383
  // == writeFile
384
384
  const writeFile = (path, data, options) => Effect.callback((resume, signal) => {
385
385
  try {
@@ -422,8 +422,8 @@ const makeFileSystem = /*#__PURE__*/Effect.map(/*#__PURE__*/Effect.serviceOption
422
422
  symlink,
423
423
  truncate,
424
424
  utimes,
425
- watch(path) {
426
- return watch(backend, path);
425
+ watch(path, options) {
426
+ return watch(backend, path, options);
427
427
  },
428
428
  writeFile
429
429
  }));