// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { ContainerStatus } from "./ContainerStatus";

/**
 * Status of a single bound folder's compose project (its own
 * `docker-compose.yml`).
 *
 * Distinct from [`ContainerStatus`]: a folder may not have a
 * compose file at all (most folders the user opens just to edit
 * code). When that's the case, `compose_file` and
 * `project_name` are `None` and the UI hides the folder-bar
 * indicator entirely. When they're `Some`, the inner `status`
 * follows the same `Absent` / `Running` / `Failed` / etc.
 * vocabulary as the workspace shell.
 */
export type ProjectComposeStatus = { 
/**
 * Absolute path to the bound folder this snapshot refers to.
 */
folder_path: string, 
/**
 * Absolute path to the user-owned compose file driving the
 * folder's services, or `None` if the folder has none.
 */
compose_file: string | null, 
/**
 * Compose project name on the daemon
 * (`moon-ws-<id>-<folder-slug>`). `None` when
 * `compose_file` is `None`.
 */
project_name: string | null, 
/**
 * Aggregated state of the folder's compose project.
 * `Absent` covers both "no compose file" and "compose file
 * present, never brought up". The UI distinguishes the two
 * via `compose_file.is_some()`.
 */
status: ContainerStatus, };
