/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 70f4d95abf4e */ import * as z from "zod"; import { AccessControlItem, AccessControlItem$zodSchema, } from "./accesscontrolitem.js"; import { ContextFullResponse, ContextFullResponse$zodSchema, } from "./contextfullresponse.js"; import { CoordinatesResponse, CoordinatesResponse$zodSchema, } from "./coordinatesresponse.js"; import { DeliveryTypeAll, DeliveryTypeAll$zodSchema, } from "./deliverytypeall.js"; export type InfoModeration = { kind?: string | undefined; status?: string | undefined; updated_at?: string | undefined; }; export const InfoModeration$zodSchema: z.ZodType = z.object({ kind: z.string().optional(), status: z.string().optional(), updated_at: z.iso.datetime({ offset: true }).optional(), }); export type RelatedAsset = {}; export const RelatedAsset$zodSchema: z.ZodType = z.object({}); export type LastUpdated = { access_control_updated_at?: string | undefined; context_updated_at?: string | undefined; metadata_updated_at?: string | undefined; public_id_updated_at?: string | undefined; tags_updated_at?: string | undefined; updated_at?: string | undefined; }; export const LastUpdated$zodSchema: z.ZodType = z.object({ access_control_updated_at: z.iso.datetime({ offset: true }).optional(), context_updated_at: z.iso.datetime({ offset: true }).optional(), metadata_updated_at: z.iso.datetime({ offset: true }).optional(), public_id_updated_at: z.iso.datetime({ offset: true }).optional(), tags_updated_at: z.iso.datetime({ offset: true }).optional(), updated_at: z.iso.datetime({ offset: true }).optional(), }); export type Derived = { transformation?: string | undefined; format?: string | undefined; bytes?: number | undefined; id?: string | undefined; url?: string | undefined; secure_url?: string | undefined; }; export const Derived$zodSchema: z.ZodType = z.object({ bytes: z.int().optional(), format: z.string().optional(), id: z.string().optional(), secure_url: z.string().optional(), transformation: z.string().optional(), url: z.string().optional(), }); export type Version = { version_id?: string | undefined; version?: string | undefined; format?: string | null | undefined; size?: number | undefined; time?: string | undefined; restorable?: boolean | undefined; }; export const Version$zodSchema: z.ZodType = z.object({ format: z.string().nullable().optional(), restorable: z.boolean().optional(), size: z.int().optional(), time: z.iso.datetime({ offset: true }).optional(), version: z.string().optional(), version_id: z.string().optional().describe( "Hexadecimal version ID; length is a positive multiple of 32 (typically 32 or 64).", ), }); /** * Additional asset information (visual search, recognized people, etc.) */ export type InfoInfo = {}; export const InfoInfo$zodSchema: z.ZodType = z.object({}).describe( "Additional asset information (visual search, recognized people, etc.)", ); export type Derivative = { id?: string | undefined; transformation?: string | undefined; transformation_signature?: string | undefined; secure_url?: string | undefined; }; export const Derivative$zodSchema: z.ZodType = z.object({ id: z.string().optional().describe( "The unique identifier of the derived resource.", ), secure_url: z.string().optional().describe( "The secure URL for accessing the derived resource.", ), transformation: z.string().optional().describe( "The transformation string that was applied.", ), transformation_signature: z.string().optional().describe( "The unique signature of the transformation.", ), }); export type Info = { asset_id?: string | undefined; public_id?: string | undefined; asset_folder?: string | undefined; display_name?: string | undefined; folder?: string | undefined; filename?: string | undefined; format?: string | undefined; version?: number | undefined; resource_type?: string | undefined; type?: DeliveryTypeAll | undefined; created_at?: string | undefined; uploaded_at?: string | undefined; bytes?: number | undefined; backup_bytes?: number | undefined; width?: number | null | undefined; height?: number | null | undefined; aspect_ratio?: number | null | undefined; pixels?: number | null | undefined; tags?: Array | null | undefined; context?: ContextFullResponse | null | undefined; metadata?: { [k: string]: any } | undefined; moderation_kind?: string | undefined; moderation_status?: string | undefined; moderation?: Array | undefined; backup?: boolean | undefined; url?: string | undefined; secure_url?: string | undefined; status?: string | undefined; access_control?: Array | null | undefined; etag?: string | undefined; animated?: boolean | null | undefined; duration?: number | null | undefined; resource_subtype?: string | null | undefined; substatus?: string | null | undefined; related_assets?: Array | null | undefined; last_updated?: LastUpdated | null | undefined; next_cursor?: string | undefined; derived?: Array | undefined; faces?: Array> | null | undefined; coordinates?: CoordinatesResponse | null | undefined; illustration_score?: number | undefined; semi_transparent?: boolean | undefined; grayscale?: boolean | undefined; colors?: Array> | undefined; predominant?: { [k: string]: Array> } | undefined; versions?: Array | undefined; info?: InfoInfo | undefined; derivatives?: Array | null | undefined; }; export const Info$zodSchema: z.ZodType = z.object({ access_control: z.array(AccessControlItem$zodSchema).nullable().optional(), animated: z.boolean().nullable().optional().describe( "Whether the asset is animated (e.g., GIF, animated WebP). Null for non-animated assets.", ), aspect_ratio: z.number().nullable().optional(), asset_folder: z.string().optional(), asset_id: z.string().optional().describe( "A 32-character hexadecimal asset ID.", ), backup: z.boolean().optional(), backup_bytes: z.int().optional(), bytes: z.int().optional(), colors: z.array(z.array(z.any())).optional(), context: ContextFullResponse$zodSchema.nullable().optional().describe( "Included if 'context=true' parameter is used.", ), coordinates: CoordinatesResponse$zodSchema.nullable().optional().describe( "Face and custom coordinate data. Included if 'coordinates=true' parameter is used.", ), created_at: z.iso.datetime({ offset: true }).optional(), derivatives: z.array(z.lazy(() => Derivative$zodSchema)).nullable().optional() .describe( "Included if 'derived=true' parameter is used. Null when no derivatives exist.", ), derived: z.array(z.lazy(() => Derived$zodSchema)).optional(), display_name: z.string().optional(), duration: z.number().nullable().optional().describe( "Duration in seconds for video/audio assets. Null for images.", ), etag: z.string().optional(), faces: z.array(z.array(z.int())).nullable().optional().describe( "Detected face rectangles. Included if 'faces=true' parameter is used.", ), filename: z.string().optional(), folder: z.string().optional(), format: z.string().optional(), grayscale: z.boolean().optional(), height: z.int().nullable().optional(), illustration_score: z.number().optional(), info: z.lazy(() => InfoInfo$zodSchema).optional().describe( "Additional asset information (visual search, recognized people, etc.)", ), last_updated: z.lazy(() => LastUpdated$zodSchema).nullable().optional(), metadata: z.record(z.string(), z.any()).optional(), moderation: z.array(z.lazy(() => InfoModeration$zodSchema)).optional() .describe("Included if 'moderations=true' parameter is used."), moderation_kind: z.string().optional().describe( "The type of moderation applied to the asset.", ), moderation_status: z.string().optional().describe( "The current status of the moderation process for the asset.", ), next_cursor: z.string().optional().describe( "Cursor for paginating derived assets.", ), pixels: z.int().nullable().optional(), predominant: z.record(z.string(), z.array(z.array(z.any()))).optional(), public_id: z.string().optional(), related_assets: z.array(z.lazy(() => RelatedAsset$zodSchema)).nullable() .optional().describe( "Related assets linked to this resource. Null when none linked.", ), resource_subtype: z.string().nullable().optional().describe( "The subtype of the resource (e.g., for video). Null when not applicable.", ), resource_type: z.string().optional(), secure_url: z.string().optional(), semi_transparent: z.boolean().optional(), status: z.string().optional(), substatus: z.string().nullable().optional().describe( "The substatus of the resource. Null when not set.", ), tags: z.array(z.string()).nullable().optional().describe( "Included if 'tags=true' parameter is used.", ), type: DeliveryTypeAll$zodSchema.optional().describe( "All supported delivery types.", ), uploaded_at: z.iso.datetime({ offset: true }).optional(), url: z.string().optional(), version: z.int().optional(), versions: z.array(z.lazy(() => Version$zodSchema)).optional(), width: z.int().nullable().optional(), });