refactor: centralise ACTIVE_CUSTOM_IMAGE_SETUP_STATUSES in service

Export the constant with the satisfies annotation from the service so
the SQL inArray blast-radius filter and the route-level status check
share a single typed source of truth.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Harold KimandPaperclip committed 2026-07-09 06:03:21 +00:00
1 parent 1baf833c3f
commit 2ea38082fd
2 files changed
+7 -8

No files matched your search

+1 -7
View File
@@ -48,15 +48,9 @@ import { listReadyPluginEnvironmentDrivers } from "../services/plugin-environmen
import { getConfiguredSecretProvider } from "../secrets/configured-provider.js";
import { assertBoardOrgAccess, getActorInfo } from "./authz.js";
import type { PluginWorkerManager } from "../services/plugin-worker-manager.js";
import { environmentService } from "../services/environments.js";
import { environmentService, ACTIVE_CUSTOM_IMAGE_SETUP_STATUSES } from "../services/environments.js";
import { executionWorkspaceService } from "../services/execution-workspaces.js";
const ACTIVE_CUSTOM_IMAGE_SETUP_STATUSES = [
"starting",
"waiting_for_user",
"capturing",
] as const satisfies readonly EnvironmentCustomImageSetupSessionStatus[];
function isActiveCustomImageSetupStatus(status: EnvironmentCustomImageSetupSessionStatus): boolean {
return (ACTIVE_CUSTOM_IMAGE_SETUP_STATUSES as readonly string[]).includes(status);
}
+6 -1
View File
@@ -1,5 +1,6 @@
import { and, desc, eq, inArray, ne, sql } from "drizzle-orm";
import type { Db } from "@paperclipai/db";
import type { EnvironmentCustomImageSetupSessionStatus } from "@paperclipai/shared";
import {
agents,
companySecretBindings,
@@ -42,7 +43,11 @@ const DEFAULT_KUBERNETES_ENVIRONMENT_DESCRIPTION =
const KUBERNETES_PROVIDER_KEY = "kubernetes";
/** Metadata marker for the company's managed-by-config Kubernetes sandbox environment. */
const KUBERNETES_MANAGED_MARKER = "managedKubernetesSandbox";
const ACTIVE_CUSTOM_IMAGE_SETUP_STATUSES = ["starting", "waiting_for_user", "capturing"] as const;
export const ACTIVE_CUSTOM_IMAGE_SETUP_STATUSES = [
"starting",
"waiting_for_user",
"capturing",
] as const satisfies readonly EnvironmentCustomImageSetupSessionStatus[];
/**
* Configuration accepted by `ensureKubernetesEnvironment`. Mirrors the keys of