@cat-factory/integrations 0.60.2 → 0.62.0

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.
@@ -29,6 +29,15 @@ export declare class ComposeEnvironmentProvider implements EnvironmentProvider {
29
29
  response: {};
30
30
  providerConfig: {};
31
31
  };
32
+ /** Image mode: write the rewritten compose to a scratch dir; images are pulled, not built. */
33
+ private setupImageProject;
34
+ /**
35
+ * Build mode: clone the PR head into a per-project working tree, write the rewritten compose
36
+ * BESIDE the original inside the checkout (so relative build contexts / bind mounts / env_files
37
+ * resolve against the compose file's own directory), then `docker compose build`. Returns the
38
+ * `-f` file + the `--project-directory` to reuse for `up`/`port`, or a deterministic `error`.
39
+ */
40
+ private setupBuildProject;
32
41
  private failed;
33
42
  /** `down -v` is idempotent (a missing project is a no-op); swallow its result. */
34
43
  private safeDown;
@@ -1 +1 @@
1
- {"version":3,"file":"ComposeEnvironmentProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/compose/ComposeEnvironmentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gCAAgC,EAChC,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EAEvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,KAAK,cAAc,EAUpB,MAAM,gCAAgC,CAAA;AA0BvC,MAAM,WAAW,iCAAiC;IAChD,kGAAkG;IAClG,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,0BAA2B,YAAW,mBAAmB;IAElE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,YACmB,OAAO,EAAE,cAAc,EAEvB,OAAO,GAAE,iCAAsC,EAC9D;IAEE,SAAS,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA4DjF;IAEK,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0B3E;IAEK,QAAQ,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAMtF;IAEK,cAAc,CAAC,IAAI,EAAE,gCAAgC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+B1F;IAED,cAAc,IAAI,mBAAmB,EAAE,CAmDtC;IAED,wBAAwB;QAEpB,UAAU;QACV,KAAK;QACL,OAAO;QACP,IAAI;YAAI,IAAI,EAAE,MAAM;;QACpB,SAAS;YAAI,MAAM,EAAE,MAAM;YAAW,YAAY;;QAClD,QAAQ;QACR,cAAc;MAEjB;IAID,OAAO,CAAC,MAAM;IAYd,kFAAkF;YACpE,QAAQ;IAUtB,gGAAgG;YAClF,eAAe;CA4B9B"}
1
+ {"version":3,"file":"ComposeEnvironmentProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/compose/ComposeEnvironmentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gCAAgC,EAChC,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EAEvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,KAAK,cAAc,EAYpB,MAAM,gCAAgC,CAAA;AAgCvC,MAAM,WAAW,iCAAiC;IAChD,kGAAkG;IAClG,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,0BAA2B,YAAW,mBAAmB;IAElE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,YACmB,OAAO,EAAE,cAAc,EAEvB,OAAO,GAAE,iCAAsC,EAC9D;IAEE,SAAS,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA2EjF;IAEK,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0B3E;IAEK,QAAQ,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAMtF;IAEK,cAAc,CAAC,IAAI,EAAE,gCAAgC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+B1F;IAED,cAAc,IAAI,mBAAmB,EAAE,CAoEtC;IAED,wBAAwB;QAEpB,UAAU;QACV,KAAK;QACL,OAAO;QACP,IAAI;YAAI,IAAI,EAAE,MAAM;;QACpB,SAAS;YAAI,MAAM,EAAE,MAAM;YAAW,YAAY;;QAClD,QAAQ;QACR,cAAc;MAEjB;IAID,8FAA8F;YAChF,iBAAiB;IAQ/B;;;;;OAKG;YACW,iBAAiB;IAkD/B,OAAO,CAAC,MAAM;IAYd,kFAAkF;YACpE,QAAQ;IAUtB,gGAAgG;YAClF,eAAe;CA4B9B"}
@@ -1,4 +1,4 @@
1
- import { classifyComposePs, parseComposeEnvConfig, parseHostPort, prepareComposeProject, renderEnvMap, renderTemplate, resolveProjectName, tailOutput, templateVars, } from './compose-environment.logic.js';
1
+ import { checkoutDepthFor, classifyComposePs, composeFileDir, parseComposeEnvConfig, parseHostPort, prepareComposeProject, renderEnvMap, renderTemplate, resolveProjectName, tailOutput, templateVars, } from './compose-environment.logic.js';
2
2
  // Native Docker Compose ephemeral-environment provider. It brings the PR repo's OWN
3
3
  // `docker-compose.yml` up on a local Docker daemon under a per-PR project name, publishes the
4
4
  // configured web service's port to an ephemeral host port, and returns `http://localhost:<port>`
@@ -21,6 +21,12 @@ const WAIT_TIMEOUT_S = 300;
21
21
  // hang a provision/status/teardown forever; `up` gets a longer bound that clears its own --wait.
22
22
  const SHORT_TIMEOUT_MS = 60_000;
23
23
  const UP_TIMEOUT_MS = (WAIT_TIMEOUT_S + 30) * 1000;
24
+ // Build mode default bound for `docker compose build` — separate from UP_TIMEOUT_MS so a slow
25
+ // image build (a .NET/Angular multi-stage Dockerfile) doesn't consume the health-wait budget.
26
+ // Overridable per-workspace via the connect form's `buildTimeoutMinutes`.
27
+ const DEFAULT_BUILD_TIMEOUT_MS = 900_000;
28
+ // The rewritten (isolation-safe) compose file, written beside the original inside the checkout.
29
+ const REWRITTEN_COMPOSE_NAME = 'cat-factory.compose.yaml';
24
30
  export class ComposeEnvironmentProvider {
25
31
  runtime;
26
32
  options;
@@ -38,23 +44,38 @@ export class ComposeEnvironmentProvider {
38
44
  const vars = templateVars(inputs, project, image);
39
45
  const composeText = renderTemplate(await this.readComposeFile(req, config), vars);
40
46
  // Rewrite the repo compose into one isolation-safe project file (ephemeral host ports, the
41
- // probed service guaranteed to publish, unsupported references rejected). A blocking issue
42
- // surfaces as a deterministic failure BEFORE we touch the daemon.
43
- const prepared = prepareComposeProject(composeText, config.service, config.port);
47
+ // probed service guaranteed to publish, unsupported references rejected mode-aware: build
48
+ // mode allows build:/in-checkout binds/relative env_files). A blocking issue surfaces as a
49
+ // deterministic failure BEFORE we touch the daemon or clone anything.
50
+ const prepared = prepareComposeProject(composeText, config.service, config.port, {
51
+ build: config.build,
52
+ // In build mode, relatives resolve against the compose file's own dir inside the checkout, so
53
+ // a ref may climb this many `../`s and still be in-checkout (the escape line is the root).
54
+ baseDepth: config.build ? checkoutDepthFor(config.composePath) : 0,
55
+ });
44
56
  if (prepared.issues.length > 0) {
45
57
  return this.failed(project, `This Docker Compose stack can't be provisioned as a preview env:\n- ${prepared.issues.join('\n- ')}`);
46
58
  }
47
- const basePath = await this.runtime.writeProjectFile(project, 'compose.yaml', prepared.content);
48
- const files = ['-f', basePath];
49
59
  const env = config.envTemplate ? renderEnvMap(config.envTemplate, vars) : undefined;
50
- const up = await this.runtime.compose(['-p', project, ...files, 'up', '-d', '--wait', '--wait-timeout', String(WAIT_TIMEOUT_S)], { env, timeoutMs: UP_TIMEOUT_MS });
60
+ // Materialize the project: build mode clones the PR head into a working tree (so build:/binds/
61
+ // env_files resolve) and `docker compose build`s; image mode writes the rewritten file to a
62
+ // scratch dir and relies on pre-built images. Either yields the `-f` file(s) + project dir.
63
+ const setup = config.build
64
+ ? await this.setupBuildProject(req, config, project, prepared.content, env)
65
+ : await this.setupImageProject(project, prepared.content);
66
+ if ('error' in setup)
67
+ return this.failed(project, setup.error);
68
+ const scope = setup.projectDir
69
+ ? ['-p', project, '--project-directory', setup.projectDir, ...setup.files]
70
+ : ['-p', project, ...setup.files];
71
+ const up = await this.runtime.compose([...scope, 'up', '-d', '--wait', '--wait-timeout', String(WAIT_TIMEOUT_S)], { env, timeoutMs: UP_TIMEOUT_MS });
51
72
  if (up.code !== 0) {
52
73
  // Best-effort cleanup so a retry starts from a clean slate, then surface the verbatim
53
74
  // compose error as a deterministic (non-throwing) failure → `step.environment.lastError`.
54
75
  await this.safeDown(project);
55
76
  return this.failed(project, tailOutput(up.stderr || up.stdout) || 'docker compose up failed');
56
77
  }
57
- const portRes = await this.runtime.compose(['-p', project, ...files, 'port', config.service, String(config.port)], { env, timeoutMs: SHORT_TIMEOUT_MS });
78
+ const portRes = await this.runtime.compose([...scope, 'port', config.service, String(config.port)], { env, timeoutMs: SHORT_TIMEOUT_MS });
58
79
  const hostPort = parseHostPort(portRes.stdout);
59
80
  if (hostPort === null) {
60
81
  await this.safeDown(project);
@@ -174,7 +195,24 @@ export class ComposeEnvironmentProvider {
174
195
  label: 'Container port',
175
196
  required: true,
176
197
  placeholder: '8080',
177
- help: 'The in-container port to publish to an ephemeral host port + probe. Image-based stacks only (v1) — a service that builds from source is not yet supported.',
198
+ help: 'The in-container port to publish to an ephemeral host port + probe.',
199
+ },
200
+ {
201
+ key: 'build',
202
+ label: 'Image source',
203
+ type: 'select',
204
+ default: 'false',
205
+ options: [
206
+ { value: 'false', label: 'Pull pre-built images' },
207
+ { value: 'true', label: 'Build from source (clone the PR head)' },
208
+ ],
209
+ help: 'Build from source clones the PR head into a working tree and runs `docker compose build`, so `build:` contexts, in-checkout bind mounts, and relative env_files resolve. Requires a Docker-capable (local) deployment.',
210
+ },
211
+ {
212
+ key: 'buildTimeoutMinutes',
213
+ label: 'Build timeout (minutes)',
214
+ default: '15',
215
+ help: 'Build-from-source only: how long `docker compose build` may run before it is aborted (separate from the startup health-wait).',
178
216
  },
179
217
  { key: 'scheme', label: 'URL scheme', default: 'http' },
180
218
  {
@@ -208,6 +246,56 @@ export class ComposeEnvironmentProvider {
208
246
  };
209
247
  }
210
248
  // --- internals ----------------------------------------------------------
249
+ /** Image mode: write the rewritten compose to a scratch dir; images are pulled, not built. */
250
+ async setupImageProject(project, content) {
251
+ const basePath = await this.runtime.writeProjectFile(project, 'compose.yaml', content);
252
+ return { files: ['-f', basePath] };
253
+ }
254
+ /**
255
+ * Build mode: clone the PR head into a per-project working tree, write the rewritten compose
256
+ * BESIDE the original inside the checkout (so relative build contexts / bind mounts / env_files
257
+ * resolve against the compose file's own directory), then `docker compose build`. Returns the
258
+ * `-f` file + the `--project-directory` to reuse for `up`/`port`, or a deterministic `error`.
259
+ */
260
+ async setupBuildProject(req, config, project, content, env) {
261
+ if (!this.runtime.checkout || !this.runtime.writeCheckoutFile) {
262
+ return {
263
+ error: 'Build-from-source compose mode needs a Docker-capable runtime that can clone + build (unavailable on this deployment).',
264
+ };
265
+ }
266
+ const clone = await req.clone?.();
267
+ if (!clone) {
268
+ return {
269
+ error: 'Build-from-source compose mode needs a repo clone target — is the VCS connected and the service linked to a repo?',
270
+ };
271
+ }
272
+ const ref = req.inputs.branch || clone.ref;
273
+ let dir;
274
+ try {
275
+ ;
276
+ ({ dir } = await this.runtime.checkout(project, {
277
+ cloneUrl: clone.cloneUrl,
278
+ ref,
279
+ token: clone.token,
280
+ }));
281
+ }
282
+ catch (err) {
283
+ return {
284
+ error: `Could not clone the repo for build: ${err instanceof Error ? err.message : String(err)}`,
285
+ };
286
+ }
287
+ const composeDir = composeFileDir(config.composePath);
288
+ const relPath = composeDir ? `${composeDir}/${REWRITTEN_COMPOSE_NAME}` : REWRITTEN_COMPOSE_NAME;
289
+ const filePath = await this.runtime.writeCheckoutFile(project, relPath, content);
290
+ const projectDir = composeDir ? `${dir}/${composeDir}` : dir;
291
+ const files = ['-f', filePath];
292
+ const build = await this.runtime.compose(['-p', project, '--project-directory', projectDir, ...files, 'build'], { env, timeoutMs: config.buildTimeoutMs ?? DEFAULT_BUILD_TIMEOUT_MS });
293
+ if (build.code !== 0) {
294
+ await this.safeDown(project);
295
+ return { error: tailOutput(build.stderr || build.stdout) || 'docker compose build failed' };
296
+ }
297
+ return { files, projectDir };
298
+ }
211
299
  failed(project, error) {
212
300
  return {
213
301
  externalId: project,
@@ -1 +1 @@
1
- {"version":3,"file":"ComposeEnvironmentProvider.js","sourceRoot":"","sources":["../../../src/modules/compose/ComposeEnvironmentProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComposeEnvironmentProvider.js","sourceRoot":"","sources":["../../../src/modules/compose/ComposeEnvironmentProvider.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,25 @@ export interface ComposeRuntime {
25
25
  writeProjectFile(project: string, fileName: string, content: string): Promise<string>;
26
26
  /** Best-effort removal of a project's scratch dir after teardown. Optional. */
27
27
  cleanupProject?(project: string): Promise<void>;
28
+ /**
29
+ * Build-from-source mode only: shallow-clone the PR repo into a per-project working tree so
30
+ * `build:` contexts / in-checkout bind mounts / relative `env_file`s resolve, and return the
31
+ * checkout's absolute host path. Optional — a runtime that can't clone (no daemon / the
32
+ * conformance fake) omits it, and the provider fails build mode deterministically.
33
+ */
34
+ checkout?(project: string, target: {
35
+ cloneUrl: string;
36
+ ref: string;
37
+ token?: string;
38
+ }): Promise<{
39
+ dir: string;
40
+ }>;
41
+ /**
42
+ * Build-from-source mode only: write the rewritten compose file INTO the checkout (beside the
43
+ * original, so relative paths still resolve) at `relPath` under the project's checkout dir;
44
+ * returns its absolute host path. Optional, paired with {@link checkout}.
45
+ */
46
+ writeCheckoutFile?(project: string, relPath: string, content: string): Promise<string>;
28
47
  }
29
48
  /** The flat per-workspace config, read off `manifest.providerConfig`. */
30
49
  export interface ComposeEnvironmentConfig {
@@ -49,6 +68,15 @@ export interface ComposeEnvironmentConfig {
49
68
  envTemplate?: Record<string, string>;
50
69
  /** Fallback TTL (ms) after which the env is swept + torn down. */
51
70
  defaultTtlMs?: number;
71
+ /**
72
+ * Build-from-source mode: clone the PR head into a working tree and `docker compose build`
73
+ * the stack's images from its Dockerfiles instead of pulling pre-built images. Unlocks
74
+ * `build:`, in-checkout bind mounts, and relative `env_file`s (still refuses `privileged`
75
+ * and host-escaping mounts). Absent/false ⇒ the checkout-free image-pull path (v1).
76
+ */
77
+ build?: boolean;
78
+ /** Build-mode only: bound (ms) for `docker compose build`, separate from the `up --wait` bound. */
79
+ buildTimeoutMs?: number;
52
80
  }
53
81
  /**
54
82
  * Read the flat Compose config off the stored manifest's `providerConfig`. Validates the two
@@ -99,17 +127,70 @@ export declare function toEphemeralPortEntry(entry: unknown): string | null;
99
127
  export declare function neutralizeHostPorts(doc: ComposeDoc): ComposeDoc;
100
128
  /** Guarantee the probed service publishes `port`, so `docker compose port` can read the host binding back. */
101
129
  export declare function ensureServicePublishes(doc: ComposeDoc, service: string, port: number): ComposeDoc;
130
+ /** True when a service declares a `build:` (a build context / long-form build object). */
131
+ export declare function hasBuildDirective(service: unknown): boolean;
132
+ /**
133
+ * True when a host path (bind source / env_file / build context / secret-or-config `file:`) would
134
+ * resolve OUTSIDE the cloned checkout — so it stays refused even in build mode (host-filesystem
135
+ * escape); only in-checkout relatives (`./x`, `x`, `x/y`) are allowed. Refused:
136
+ * - an absolute path (`/etc`), a `~` home ref, a Windows drive path (`C:\`), or a UNC / backslash
137
+ * root (`\\server\share`);
138
+ * - a relative path whose normalized form pops above the checkout root (`../` escape, including
139
+ * a mid-path `a/../../b`);
140
+ * - a path carrying an unresolved `$VAR`/`${VAR}` interpolation — the daemon expands it from the
141
+ * operator's environment before mounting, so it can become ANY host path; we can't bound it
142
+ * statically, so we refuse it rather than let it slip past.
143
+ *
144
+ * Relatives resolve against `--project-directory` (the compose file's own dir), which sits
145
+ * `baseDepth` levels BELOW the checkout root, so `baseDepth` `../`s are still in-checkout (they
146
+ * only reach the root) — a compose at `deploy/` may legitimately reference `..` (the repo root).
147
+ * The escape line is the checkout root, not the compose dir. `baseDepth` defaults to 0 (root-level
148
+ * compose file), which is the strictest.
149
+ */
150
+ export declare function escapesCheckout(source: string, baseDepth?: number): boolean;
151
+ /** The number of path levels a repo-relative compose file sits below the checkout root — i.e. how
152
+ * many `../`s a reference beside it may climb while staying in-checkout. `''`/root → 0. */
153
+ export declare function checkoutDepthFor(composePath: string): number;
154
+ /**
155
+ * The host-path source of a bind mount (short `src:dst[:mode]` or long `{ type: bind, source }`),
156
+ * or null when the volume is a named/anonymous volume (never a host bind). A named volume name is
157
+ * `[a-zA-Z0-9][a-zA-Z0-9_.-]*` — it can't contain a path separator — so ANY short-form source that
158
+ * contains a `/` or `\` (or the usual `.`/`/`/`~` prefixes) is a host path and is returned for
159
+ * {@link escapesCheckout} to judge. This is what stops a separator-buried escape like
160
+ * `sub/../../../etc:/host` from being mis-read as a harmless named volume.
161
+ */
162
+ export declare function bindMountSource(volume: unknown): string | null;
163
+ /** The build context of a service's `build:` (short string form or long `{ context }`), or null
164
+ * when no `build:` is declared. A `build:` with no explicit context defaults to `.`. */
165
+ export declare function buildContextSource(build: unknown): string | null;
102
166
  /**
103
167
  * Collect references this backend cannot honor or must refuse, so a provision fails fast with a
104
- * clear reason instead of silently mis-mounting / over-privileging. The compose file is read
105
- * checkout-free (no repo on disk), so anything resolved against the repo working tree is broken,
106
- * and the stack runs on the operator's shared host daemon, so host access is a safety concern:
107
- * - `build:`needs the source tree (image-based stacks only).
108
- * - host bind mounts resolve against an empty scratch dir; also expose the host filesystem.
109
- * - relative `env_file`points into the absent repo tree.
168
+ * clear reason instead of silently mis-mounting / over-privileging. The stack runs on the
169
+ * operator's shared host daemon, so host access is a safety concern in BOTH modes.
170
+ *
171
+ * **Image mode** (`opts.build` absent/false the checkout-free default): the compose file is read
172
+ * with no repo on disk, so anything resolved against the repo working tree is broken —
173
+ * - `build:`needs the source tree (image-based stacks only);
174
+ * - ANY host bind mount — resolves against an empty scratch dir; also exposes the host filesystem;
175
+ * - ANY `env_file` / secret-or-config `file:` — points into the absent repo tree (or the host);
110
176
  * - `privileged: true` — refused on the shared host daemon.
177
+ *
178
+ * **Build mode** (`opts.build === true`): the PR head is cloned into a working tree, so `build:`
179
+ * contexts, IN-CHECKOUT relative bind mounts, relative `env_file`s, and in-checkout secret/config
180
+ * `file:` sources all resolve and are allowed. Still refused, because they escape the checkout or
181
+ * the daemon's safety envelope — every path-bearing reference (bind source, env_file, build
182
+ * context, secret/config `file:`) is uniformly run through {@link escapesCheckout}, and
183
+ * `privileged: true` stays refused.
184
+ *
185
+ * In BOTH modes, `include:` and cross-file `extends: { file }` are refused outright: the daemon
186
+ * merges those referenced files at build/up time, so their services never pass through this parse
187
+ * (or through `neutralizeHostPorts` / `ensureServicePublishes`) — leaving them in would let a
188
+ * merged file smuggle a privileged container, a host bind, or a pinned port past every guard.
111
189
  */
112
- export declare function collectUnsupportedComposeRefs(doc: ComposeDoc): string[];
190
+ export declare function collectUnsupportedComposeRefs(doc: ComposeDoc, opts?: {
191
+ build?: boolean;
192
+ baseDepth?: number;
193
+ }): string[];
113
194
  /** The outcome of preparing a repo compose file into a single isolation-safe project file. */
114
195
  export interface PreparedCompose {
115
196
  /** The rewritten compose file to hand to `docker compose -f` (valid even when `issues` is non-empty). */
@@ -124,7 +205,10 @@ export interface PreparedCompose {
124
205
  * rewritten file (rather than a second `-f` overlay) is what lets us STRIP the base's pinned host
125
206
  * ports — an overlay can only add, not remove.
126
207
  */
127
- export declare function prepareComposeProject(renderedText: string, service: string, port: number): PreparedCompose;
208
+ export declare function prepareComposeProject(renderedText: string, service: string, port: number, opts?: {
209
+ build?: boolean;
210
+ baseDepth?: number;
211
+ }): PreparedCompose;
128
212
  /**
129
213
  * Parse the host port out of `docker compose port <svc> <port>` output (e.g. `0.0.0.0:49153`
130
214
  * or `[::]:49153`). Returns null when the service publishes no host port for that target.
@@ -149,6 +233,14 @@ export declare function parseComposePsRows(output: string): ComposePsRow[];
149
233
  * - otherwise ⇒ `ready`.
150
234
  */
151
235
  export declare function classifyComposePs(output: string): EnvironmentStatus;
236
+ /**
237
+ * The POSIX directory portion of a repo-relative compose path (`''` for a root-level file):
238
+ * `docker-compose.yml` → `''`, `deploy/docker-compose.yml` → `deploy`. Pure string work (no
239
+ * `node:path`, so the integrations package stays runtime-neutral). Build mode writes the rewritten
240
+ * compose here (beside the original inside the checkout) and passes `<checkout>/<dir>` as
241
+ * `--project-directory`, so relative build contexts / bind mounts / env_files resolve as authored.
242
+ */
243
+ export declare function composeFileDir(composePath: string): string;
152
244
  /** A short tail of command output, for a deterministic-failure `lastError`. */
153
245
  export declare function tailOutput(output: string, lines?: number): string;
154
246
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"compose-environment.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/compose/compose-environment.logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose-environment.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/compose/compose-environment.logic.ts"],"names":[],"mappings":"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"}