/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";

/**
 * Job lifecycle states:
 *
 * @remarks
 * * OPEN - Job created and accepting documents
 * * UPLOAD_COMPLETE - All documents have been received, and processing has not yet started
 * * IN_PROGRESS - Documents are being processed (AI extraction)
 * * COMPLETE - The full e2e process is complete
 * * FAILED - System error prevented job execution
 * * CANCELED - User initiated request to cancel a job
 */
export const BulkJobStatus = {
  Open: "OPEN",
  UploadComplete: "UPLOAD_COMPLETE",
  InProgress: "IN_PROGRESS",
  Complete: "COMPLETE",
  Failed: "FAILED",
  Canceled: "CANCELED",
} as const;
/**
 * Job lifecycle states:
 *
 * @remarks
 * * OPEN - Job created and accepting documents
 * * UPLOAD_COMPLETE - All documents have been received, and processing has not yet started
 * * IN_PROGRESS - Documents are being processed (AI extraction)
 * * COMPLETE - The full e2e process is complete
 * * FAILED - System error prevented job execution
 * * CANCELED - User initiated request to cancel a job
 */
export type BulkJobStatus = ClosedEnum<typeof BulkJobStatus>;

/** @internal */
export const BulkJobStatus$inboundSchema: z.ZodNativeEnum<
  typeof BulkJobStatus
> = z.nativeEnum(BulkJobStatus);
