/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 * @generated-id: 2224f41020d5
 */
import * as z from "zod/v4";
import { remap as remap$ } from "../../lib/primitives.js";
import { safeParse } from "../../lib/schemas.js";
import * as openEnums from "../../types/enums.js";
import { ClassifierTrainingParameters$inboundSchema, } from "./classifiertrainingparameters.js";
import { JobMetadata$inboundSchema } from "./jobmetadata.js";
import { WandbIntegrationResult$inboundSchema, } from "./wandbintegrationresult.js";
/**
 * The current status of the fine-tuning job.
 */
export const ClassifierFineTuningJobStatus = {
    Queued: "QUEUED",
    Started: "STARTED",
    Validating: "VALIDATING",
    Validated: "VALIDATED",
    Running: "RUNNING",
    FailedValidation: "FAILED_VALIDATION",
    Failed: "FAILED",
    Success: "SUCCESS",
    Cancelled: "CANCELLED",
    CancellationRequested: "CANCELLATION_REQUESTED",
};
/** @internal */
export const ClassifierFineTuningJobStatus$inboundSchema = openEnums.inboundSchema(ClassifierFineTuningJobStatus);
/** @internal */
export const ClassifierFineTuningJobIntegration$inboundSchema = WandbIntegrationResult$inboundSchema;
export function classifierFineTuningJobIntegrationFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ClassifierFineTuningJobIntegration$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ClassifierFineTuningJobIntegration' from JSON`);
}
/** @internal */
export const ClassifierFineTuningJob$inboundSchema = z.object({
    id: z.string(),
    auto_start: z.boolean(),
    model: z.string(),
    status: ClassifierFineTuningJobStatus$inboundSchema,
    created_at: z.int(),
    modified_at: z.int(),
    training_files: z.array(z.string()),
    validation_files: z.nullable(z.array(z.string())).optional(),
    object: z.literal("job").default("job"),
    fine_tuned_model: z.nullable(z.string()).optional(),
    suffix: z.nullable(z.string()).optional(),
    integrations: z.nullable(z.array(WandbIntegrationResult$inboundSchema))
        .optional(),
    trained_tokens: z.nullable(z.int()).optional(),
    metadata: z.nullable(JobMetadata$inboundSchema).optional(),
    job_type: z.literal("classifier"),
    hyperparameters: ClassifierTrainingParameters$inboundSchema,
}).transform((v) => {
    return remap$(v, {
        "auto_start": "autoStart",
        "created_at": "createdAt",
        "modified_at": "modifiedAt",
        "training_files": "trainingFiles",
        "validation_files": "validationFiles",
        "fine_tuned_model": "fineTunedModel",
        "trained_tokens": "trainedTokens",
        "job_type": "jobType",
    });
});
export function classifierFineTuningJobFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ClassifierFineTuningJob$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ClassifierFineTuningJob' from JSON`);
}
//# sourceMappingURL=classifierfinetuningjob.js.map