CleanupTask

The `CleanupTask` entity.

Definition

TypeScript
interface CleanupTask {
  id: string;
  parentId: string | null;
  workspaceId: string | null;
  sourceEventId: string;
  resourceType:
    | "delete_workspace"
    | "delete_app"
    | "delete_element"
    | "delete_database"
    | "delete_file"
    | "delete_email"
    | "r2_object"
    | "r2_prefix"
    | "r2_bucket"
    | "d1"
    | "pages_project"
    | "cf_image"
    | "cf_stream";
  resourceId: string;
  metadata: Record<string, unknown> | null;
  status: "pending" | "failed" | "completed" | "in_progress";
  attempts: number;
  lastError: string | null;
  createdAt: string;
  completedAt: string | null;
}

Fields

FieldTypeNotes
idstringreadonly required
parentIdstring | nullrequired — Parent cleanup task this one was fanned out from, if any.
workspaceIdstring | nullrequired — Workspace the resource being cleaned up belongs to.
sourceEventIdstringrequired — Event that spawned this cleanup task (typically an entity.deleted).
resourceType"delete_workspace" | "delete_app" | "delete_element" | "delete_database" | "delete_file" | "delete_email" | "r2_object" | "r2_prefix" | "r2_bucket" | "d1" | "pages_project" | "cf_image" | "cf_stream"required — Kind of resource being cleaned up (parent delete_* or leaf CF resource).
resourceIdstringrequired — Identifier of the resource (entity ID, R2 key, bucket name, etc.).
metadataRecord<string, unknown> | nullrequired — Free-form context needed by the handler to perform the cleanup.
status"pending" | "failed" | "completed" | "in_progress"required — Lifecycle: pending → in_progress → completed, or failed after retries.
attemptsnumberrequired — Number of times the task has been attempted.
lastErrorstring | nullrequired — Most recent error message, if any attempt failed.
createdAtstringreadonly required — ISO-8601 timestamp of creation.
completedAtstring | nullrequired — ISO-8601 timestamp when the task finished successfully.