/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * Input file content item: File input for document processing. Provide one of file_data, file_id, or file_url. */ export type InputFile = { /** * The content type identifier for file input. */ type: "input_file"; /** * Base64-encoded file data for inline file uploads. Mutually exclusive with file_id and file_url. */ fileData?: string | undefined; /** * The ID of a previously uploaded file. Mutually exclusive with file_data and file_url. */ fileId?: string | undefined; /** * A URL pointing to the file to process. Mutually exclusive with file_data and file_id. */ fileUrl?: string | undefined; /** * The original filename for display and reference purposes. */ filename?: string | undefined; }; /** @internal */ export const InputFile$inboundSchema: z.ZodType< InputFile, z.ZodTypeDef, unknown > = z.object({ type: z.literal("input_file"), file_data: z.string().optional(), file_id: z.string().optional(), file_url: z.string().optional(), filename: z.string().optional(), }).transform((v) => { return remap$(v, { "file_data": "fileData", "file_id": "fileId", "file_url": "fileUrl", }); }); /** @internal */ export type InputFile$Outbound = { type: "input_file"; file_data?: string | undefined; file_id?: string | undefined; file_url?: string | undefined; filename?: string | undefined; }; /** @internal */ export const InputFile$outboundSchema: z.ZodType< InputFile$Outbound, z.ZodTypeDef, InputFile > = z.object({ type: z.literal("input_file"), fileData: z.string().optional(), fileId: z.string().optional(), fileUrl: z.string().optional(), filename: z.string().optional(), }).transform((v) => { return remap$(v, { fileData: "file_data", fileId: "file_id", fileUrl: "file_url", }); }); export function inputFileToJSON(inputFile: InputFile): string { return JSON.stringify(InputFile$outboundSchema.parse(inputFile)); } export function inputFileFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => InputFile$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'InputFile' from JSON`, ); }