/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 * @generated-id: 0a16fbc0ad16
 */
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 { Checkpoint$inboundSchema } from "./checkpoint.js";
import { CompletionTrainingParameters$inboundSchema, } from "./completiontrainingparameters.js";
import { Event$inboundSchema } from "./event.js";
import { GithubRepository$inboundSchema, } from "./githubrepository.js";
import { JobMetadata$inboundSchema } from "./jobmetadata.js";
import { WandbIntegrationResult$inboundSchema, } from "./wandbintegrationresult.js";
export const CompletionFineTuningJobDetailsStatus = {
    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 CompletionFineTuningJobDetailsStatus$inboundSchema = openEnums.inboundSchema(CompletionFineTuningJobDetailsStatus);
/** @internal */
export const CompletionFineTuningJobDetailsIntegration$inboundSchema = WandbIntegrationResult$inboundSchema;
export function completionFineTuningJobDetailsIntegrationFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CompletionFineTuningJobDetailsIntegration$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CompletionFineTuningJobDetailsIntegration' from JSON`);
}
/** @internal */
export const CompletionFineTuningJobDetailsRepository$inboundSchema = GithubRepository$inboundSchema;
export function completionFineTuningJobDetailsRepositoryFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CompletionFineTuningJobDetailsRepository$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CompletionFineTuningJobDetailsRepository' from JSON`);
}
/** @internal */
export const CompletionFineTuningJobDetails$inboundSchema = z.object({
    id: z.string(),
    auto_start: z.boolean(),
    model: z.string(),
    status: CompletionFineTuningJobDetailsStatus$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("completion"),
    hyperparameters: CompletionTrainingParameters$inboundSchema,
    repositories: z.array(GithubRepository$inboundSchema).optional(),
    events: z.array(Event$inboundSchema).optional(),
    checkpoints: z.array(Checkpoint$inboundSchema).optional(),
}).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 completionFineTuningJobDetailsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CompletionFineTuningJobDetails$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CompletionFineTuningJobDetails' from JSON`);
}
//# sourceMappingURL=completionfinetuningjobdetails.js.map