@livestore/utils-dev 0.0.0-snapshot-0fb8ecdef5037e1d17fd803af2aa68d65017002a → 0.0.0-snapshot-85438261e6388b2d7ee76c512346cf96c2a5167c

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.
@@ -3,7 +3,7 @@ declare const DockerComposeError_base: Schema.TaggedErrorClass<DockerComposeErro
3
3
  readonly _tag: Schema.tag<"DockerComposeError">;
4
4
  } & {
5
5
  cause: typeof Schema.Defect;
6
- message: typeof Schema.String;
6
+ note: typeof Schema.String;
7
7
  }>;
8
8
  export declare class DockerComposeError extends DockerComposeError_base {
9
9
  }
@@ -29,6 +29,11 @@ export interface DockerComposeOperations {
29
29
  readonly pull: Effect.Effect<void, DockerComposeError | PlatformError.PlatformError>;
30
30
  readonly start: (options?: StartOptions) => Effect.Effect<void, DockerComposeError | PlatformError.PlatformError, Scope.Scope>;
31
31
  readonly stop: Effect.Effect<void, DockerComposeError | PlatformError.PlatformError>;
32
+ readonly down: (options?: {
33
+ readonly env?: Record<string, string>;
34
+ readonly volumes?: boolean;
35
+ readonly removeOrphans?: boolean;
36
+ }) => Effect.Effect<void, DockerComposeError | PlatformError.PlatformError>;
32
37
  readonly logs: (options?: LogsOptions) => Stream.Stream<string, DockerComposeError | PlatformError.PlatformError, Scope.Scope>;
33
38
  }
34
39
  declare const DockerComposeService_base: Effect.Service.Class<DockerComposeService, "DockerComposeService", {
@@ -36,6 +41,11 @@ declare const DockerComposeService_base: Effect.Service.Class<DockerComposeServi
36
41
  pull: Effect.Effect<void, PlatformError.PlatformError | DockerComposeError, never>;
37
42
  start: (options?: StartOptions) => Effect.Effect<void, PlatformError.PlatformError | DockerComposeError, Scope.Scope>;
38
43
  stop: Effect.Effect<void, PlatformError.PlatformError | DockerComposeError, never>;
44
+ down: (options?: {
45
+ readonly env?: Record<string, string>;
46
+ readonly volumes?: boolean;
47
+ readonly removeOrphans?: boolean;
48
+ }) => Effect.Effect<void, PlatformError.PlatformError | DockerComposeError, never>;
39
49
  logs: (options?: LogsOptions) => Stream.Stream<string, DockerComposeError, never>;
40
50
  }, never, CommandExecutor.CommandExecutor>;
41
51
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"DockerComposeService.d.ts","sourceRoot":"","sources":["../../../src/node/DockerComposeService/DockerComposeService.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACpB,QAAQ,EACR,MAAM,EACN,KAAK,aAAa,EAElB,MAAM,EACN,KAAK,KAAK,EACV,MAAM,EACP,MAAM,yBAAyB,CAAA;;;;;;;AAEhC,qBAAa,kBAAmB,SAAQ,uBAGtC;CAAG;AAEL,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;KACtC,CAAA;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IACpF,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,CAAC,EAAE,YAAY,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IACpF,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,CAAC,EAAE,WAAW,KAClB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAC1F;;4BAGgB,iBAAiB;;0BA4BJ,YAAY;;yBAyEb,WAAW;;;AAtGxC,qBAAa,oBAAqB,SAAQ,yBA6IxC;CAAG;AAyCL,eAAO,MAAM,gCAAgC,GAC3C,MAAM,iBAAiB,GAAG;IACxB,WAAW,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;CAC1C,KACA,MAAM,CAAC,MAAM,CACd,IAAI,EACJ,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAChD,oBAAoB,GAAG,eAAe,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,CAYlE,CAAA"}
1
+ {"version":3,"file":"DockerComposeService.d.ts","sourceRoot":"","sources":["../../../src/node/DockerComposeService/DockerComposeService.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACpB,QAAQ,EACR,MAAM,EACN,KAAK,aAAa,EAElB,MAAM,EACN,KAAK,KAAK,EACV,MAAM,EACP,MAAM,yBAAyB,CAAA;;;;;;;AAEhC,qBAAa,kBAAmB,SAAQ,uBAGtC;CAAG;AAEL,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;KACtC,CAAA;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IACpF,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,CAAC,EAAE,YAAY,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IACpF,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;QACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;QAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KACjC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IAC3E,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,CAAC,EAAE,WAAW,KAClB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAC1F;;4BAGgB,iBAAiB;;0BA4BJ,YAAY;;yBAgHZ;YACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;YAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;SACjC;yBAzCsB,WAAW;;;AAxGxC,qBAAa,oBAAqB,SAAQ,yBAgLxC;CAAG;AAyCL,eAAO,MAAM,gCAAgC,GAC3C,MAAM,iBAAiB,GAAG;IACxB,WAAW,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;CAC1C,KACA,MAAM,CAAC,MAAM,CACd,IAAI,EACJ,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAChD,oBAAoB,GAAG,eAAe,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,CAYlE,CAAA"}
@@ -2,7 +2,7 @@ import { omitUndefineds } from '@livestore/utils';
2
2
  import { Command, Duration, Effect, Schedule, Schema, Stream, } from '@livestore/utils/effect';
3
3
  export class DockerComposeError extends Schema.TaggedError()('DockerComposeError', {
4
4
  cause: Schema.Defect,
5
- message: Schema.String,
5
+ note: Schema.String,
6
6
  }) {
7
7
  }
8
8
  export class DockerComposeService extends Effect.Service()('DockerComposeService', {
@@ -15,7 +15,7 @@ export class DockerComposeService extends Effect.Service()('DockerComposeService
15
15
  ? Effect.void
16
16
  : Effect.fail(new DockerComposeError({
17
17
  cause: new Error(`Docker compose pull failed with exit code ${exitCode}`),
18
- message: `Docker compose pull failed with exit code ${exitCode}`,
18
+ note: `Docker compose pull failed with exit code ${exitCode}`,
19
19
  }))), Effect.provide(commandExecutorContext));
20
20
  yield* Effect.log(`Successfully pulled Docker Compose images`);
21
21
  }).pipe(Effect.withSpan('pullDockerComposeImages'));
@@ -27,16 +27,16 @@ export class DockerComposeService extends Effect.Service()('DockerComposeService
27
27
  baseArgs.push('-d');
28
28
  if (serviceName)
29
29
  baseArgs.push(serviceName);
30
- const command = yield* Command.make(baseArgs[0], ...baseArgs.slice(1)).pipe(Command.workingDirectory(cwd), Command.env(options.env ?? {}), Command.start, Effect.catchAll((cause) => Effect.fail(new DockerComposeError({
30
+ const command = yield* Command.make(baseArgs[0], ...baseArgs.slice(1)).pipe(Command.workingDirectory(cwd), Command.env(options.env ?? {}), Command.stderr('inherit'), Command.stdout('inherit'), Command.start, Effect.catchAll((cause) => Effect.fail(new DockerComposeError({
31
31
  cause,
32
- message: `Failed to start Docker Compose services in ${cwd}`,
32
+ note: `Failed to start Docker Compose services in ${cwd}`,
33
33
  }))), Effect.provide(commandExecutorContext));
34
34
  // Wait for command completion
35
35
  yield* command.exitCode.pipe(Effect.flatMap((exitCode) => exitCode === 0
36
36
  ? Effect.void
37
37
  : Effect.fail(new DockerComposeError({
38
38
  cause: new Error(`Docker compose exited with code ${exitCode}`),
39
- message: `Docker Compose failed to start with exit code ${exitCode}`,
39
+ note: `Docker Compose failed to start with exit code ${exitCode}. Env: ${JSON.stringify(options.env)}`,
40
40
  }))), Effect.provide(commandExecutorContext));
41
41
  // Perform health check if requested
42
42
  if (healthCheck) {
@@ -53,7 +53,7 @@ export class DockerComposeService extends Effect.Service()('DockerComposeService
53
53
  ? Effect.void
54
54
  : Effect.fail(new DockerComposeError({
55
55
  cause: new Error(`Docker compose stop exited with code ${exitCode}`),
56
- message: `Failed to stop Docker Compose services`,
56
+ note: `Failed to stop Docker Compose services`,
57
57
  }))), Effect.provide(commandExecutorContext));
58
58
  yield* Effect.log(`Docker Compose services stopped successfully`);
59
59
  }).pipe(Effect.withSpan('stopDockerCompose'));
@@ -70,14 +70,31 @@ export class DockerComposeService extends Effect.Service()('DockerComposeService
70
70
  baseArgs.push(serviceName);
71
71
  const command = yield* Command.make(baseArgs[0], ...baseArgs.slice(1)).pipe(Command.workingDirectory(cwd), Command.start, Effect.catchAll((cause) => Effect.fail(new DockerComposeError({
72
72
  cause,
73
- message: `Failed to read Docker Compose logs in ${cwd}`,
73
+ note: `Failed to read Docker Compose logs in ${cwd}`,
74
74
  }))), Effect.provide(commandExecutorContext));
75
75
  return command.stdout.pipe(Stream.decodeText('utf8'), Stream.splitLines, Stream.mapError((cause) => new DockerComposeError({
76
76
  cause,
77
- message: `Error reading Docker Compose logs in ${cwd}`,
77
+ note: `Error reading Docker Compose logs in ${cwd}`,
78
78
  })));
79
79
  }).pipe(Stream.unwrapScoped);
80
- return { pull, start, stop, logs };
80
+ const down = (options) => Effect.gen(function* () {
81
+ yield* Effect.log(`Tearing down Docker Compose services in ${cwd}`);
82
+ const baseArgs = ['docker', 'compose', 'down'];
83
+ if (options?.volumes)
84
+ baseArgs.push('-v');
85
+ if (options?.removeOrphans)
86
+ baseArgs.push('--remove-orphans');
87
+ if (serviceName)
88
+ baseArgs.push(serviceName);
89
+ yield* Command.make(baseArgs[0], ...baseArgs.slice(1)).pipe(Command.workingDirectory(cwd), Command.env(options?.env ?? {}), Command.exitCode, Effect.flatMap((exitCode) => exitCode === 0
90
+ ? Effect.void
91
+ : Effect.fail(new DockerComposeError({
92
+ cause: new Error(`Docker compose down exited with code ${exitCode}`),
93
+ note: `Failed to tear down Docker Compose services`,
94
+ }))), Effect.provide(commandExecutorContext));
95
+ yield* Effect.log(`Docker Compose services torn down successfully`);
96
+ }).pipe(Effect.withSpan('downDockerCompose'));
97
+ return { pull, start, stop, down, logs };
81
98
  }),
82
99
  }) {
83
100
  }
@@ -89,7 +106,7 @@ const performHealthCheck = ({ url, timeout = Duration.minutes(2), interval = Dur
89
106
  schedule: Schedule.fixed(interval),
90
107
  }), Effect.timeout(timeout), Effect.catchAll(() => Effect.fail(new DockerComposeError({
91
108
  cause: new Error('Health check timeout'),
92
- message: `Health check failed for ${url} after ${Duration.toMillis(timeout)}ms`,
109
+ note: `Health check failed for ${url} after ${Duration.toMillis(timeout)}ms`,
93
110
  }))));
94
111
  yield* healthCheck;
95
112
  yield* Effect.log(`Health check passed for ${url}`);
@@ -1 +1 @@
1
- {"version":3,"file":"DockerComposeService.js","sourceRoot":"","sources":["../../../src/node/DockerComposeService/DockerComposeService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DockerComposeService.js","sourceRoot":"","sources":["../../../src/node/DockerComposeService/DockerComposeService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/utils-dev",
3
- "version": "0.0.0-snapshot-0fb8ecdef5037e1d17fd803af2aa68d65017002a",
3
+ "version": "0.0.0-snapshot-85438261e6388b2d7ee76c512346cf96c2a5167c",
4
4
  "type": "module",
5
5
  "sideEffects": [
6
6
  "./src/node-vitest/global.ts",
@@ -22,7 +22,7 @@
22
22
  "@opentelemetry/sdk-trace-base": "2.0.1",
23
23
  "@opentelemetry/sdk-trace-node": "2.0.1",
24
24
  "wrangler": "4.32.0",
25
- "@livestore/utils": "0.0.0-snapshot-0fb8ecdef5037e1d17fd803af2aa68d65017002a"
25
+ "@livestore/utils": "0.0.0-snapshot-85438261e6388b2d7ee76c512346cf96c2a5167c"
26
26
  },
27
27
  "devDependencies": {},
28
28
  "files": [
@@ -13,7 +13,7 @@ import {
13
13
 
14
14
  export class DockerComposeError extends Schema.TaggedError<DockerComposeError>()('DockerComposeError', {
15
15
  cause: Schema.Defect,
16
- message: Schema.String,
16
+ note: Schema.String,
17
17
  }) {}
18
18
 
19
19
  export interface DockerComposeArgs {
@@ -43,6 +43,11 @@ export interface DockerComposeOperations {
43
43
  options?: StartOptions,
44
44
  ) => Effect.Effect<void, DockerComposeError | PlatformError.PlatformError, Scope.Scope>
45
45
  readonly stop: Effect.Effect<void, DockerComposeError | PlatformError.PlatformError>
46
+ readonly down: (options?: {
47
+ readonly env?: Record<string, string>
48
+ readonly volumes?: boolean
49
+ readonly removeOrphans?: boolean
50
+ }) => Effect.Effect<void, DockerComposeError | PlatformError.PlatformError>
46
51
  readonly logs: (
47
52
  options?: LogsOptions,
48
53
  ) => Stream.Stream<string, DockerComposeError | PlatformError.PlatformError, Scope.Scope>
@@ -67,7 +72,7 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
67
72
  : Effect.fail(
68
73
  new DockerComposeError({
69
74
  cause: new Error(`Docker compose pull failed with exit code ${exitCode}`),
70
- message: `Docker compose pull failed with exit code ${exitCode}`,
75
+ note: `Docker compose pull failed with exit code ${exitCode}`,
71
76
  }),
72
77
  ),
73
78
  ),
@@ -89,12 +94,14 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
89
94
  const command = yield* Command.make(baseArgs[0]!, ...baseArgs.slice(1)).pipe(
90
95
  Command.workingDirectory(cwd),
91
96
  Command.env(options.env ?? {}),
97
+ Command.stderr('inherit'),
98
+ Command.stdout('inherit'),
92
99
  Command.start,
93
100
  Effect.catchAll((cause) =>
94
101
  Effect.fail(
95
102
  new DockerComposeError({
96
103
  cause,
97
- message: `Failed to start Docker Compose services in ${cwd}`,
104
+ note: `Failed to start Docker Compose services in ${cwd}`,
98
105
  }),
99
106
  ),
100
107
  ),
@@ -103,13 +110,13 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
103
110
 
104
111
  // Wait for command completion
105
112
  yield* command.exitCode.pipe(
106
- Effect.flatMap((exitCode: number) =>
113
+ Effect.flatMap((exitCode) =>
107
114
  exitCode === 0
108
115
  ? Effect.void
109
116
  : Effect.fail(
110
117
  new DockerComposeError({
111
118
  cause: new Error(`Docker compose exited with code ${exitCode}`),
112
- message: `Docker Compose failed to start with exit code ${exitCode}`,
119
+ note: `Docker Compose failed to start with exit code ${exitCode}. Env: ${JSON.stringify(options.env)}`,
113
120
  }),
114
121
  ),
115
122
  ),
@@ -140,7 +147,7 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
140
147
  : Effect.fail(
141
148
  new DockerComposeError({
142
149
  cause: new Error(`Docker compose stop exited with code ${exitCode}`),
143
- message: `Failed to stop Docker Compose services`,
150
+ note: `Failed to stop Docker Compose services`,
144
151
  }),
145
152
  ),
146
153
  ),
@@ -167,7 +174,7 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
167
174
  Effect.fail(
168
175
  new DockerComposeError({
169
176
  cause,
170
- message: `Failed to read Docker Compose logs in ${cwd}`,
177
+ note: `Failed to read Docker Compose logs in ${cwd}`,
171
178
  }),
172
179
  ),
173
180
  ),
@@ -181,13 +188,46 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
181
188
  (cause) =>
182
189
  new DockerComposeError({
183
190
  cause,
184
- message: `Error reading Docker Compose logs in ${cwd}`,
191
+ note: `Error reading Docker Compose logs in ${cwd}`,
185
192
  }),
186
193
  ),
187
194
  )
188
195
  }).pipe(Stream.unwrapScoped)
189
196
 
190
- return { pull, start, stop, logs }
197
+ const down = (options?: {
198
+ readonly env?: Record<string, string>
199
+ readonly volumes?: boolean
200
+ readonly removeOrphans?: boolean
201
+ }) =>
202
+ Effect.gen(function* () {
203
+ yield* Effect.log(`Tearing down Docker Compose services in ${cwd}`)
204
+
205
+ const baseArgs = ['docker', 'compose', 'down']
206
+ if (options?.volumes) baseArgs.push('-v')
207
+ if (options?.removeOrphans) baseArgs.push('--remove-orphans')
208
+ if (serviceName) baseArgs.push(serviceName)
209
+
210
+ yield* Command.make(baseArgs[0]!, ...baseArgs.slice(1)).pipe(
211
+ Command.workingDirectory(cwd),
212
+ Command.env(options?.env ?? {}),
213
+ Command.exitCode,
214
+ Effect.flatMap((exitCode: number) =>
215
+ exitCode === 0
216
+ ? Effect.void
217
+ : Effect.fail(
218
+ new DockerComposeError({
219
+ cause: new Error(`Docker compose down exited with code ${exitCode}`),
220
+ note: `Failed to tear down Docker Compose services`,
221
+ }),
222
+ ),
223
+ ),
224
+ Effect.provide(commandExecutorContext),
225
+ )
226
+
227
+ yield* Effect.log(`Docker Compose services torn down successfully`)
228
+ }).pipe(Effect.withSpan('downDockerCompose'))
229
+
230
+ return { pull, start, stop, down, logs }
191
231
  }),
192
232
  }) {}
193
233
 
@@ -219,7 +259,7 @@ const performHealthCheck = ({
219
259
  Effect.fail(
220
260
  new DockerComposeError({
221
261
  cause: new Error('Health check timeout'),
222
- message: `Health check failed for ${url} after ${Duration.toMillis(timeout)}ms`,
262
+ note: `Health check failed for ${url} after ${Duration.toMillis(timeout)}ms`,
223
263
  }),
224
264
  ),
225
265
  ),