import { z } from 'zod'; /** * How a GR00T embodiment is named when selecting one: a tag string, its * numeric `cat_id` (0..31), or an object carrying either plus an optional * camera-count override. Mirrors the addon's `VlaEmbodimentSelector`. * * On the load path (`config.embodiment`) an object naming neither `tag` nor * `catId` is allowed — the GGUF's default embodiment is used, with only the * `numCameras` override applied. */ export declare const vlaEmbodimentSelectorSchema: z.ZodUnion; catId: z.ZodOptional; numCameras: z.ZodOptional; }, z.core.$strip>]>; export type VlaEmbodimentSelector = z.input; /** * The selector shape `vlaSetEmbodiment` accepts: a switch must name an * embodiment, so the neither-tag-nor-catId object form is rejected here * (matching the addon's `setEmbodiment` validation). */ export declare const vlaEmbodimentSelectionSchema: z.ZodUnion; catId: z.ZodOptional; numCameras: z.ZodOptional; }, z.core.$strip>]>; /** * The static type matching `vlaEmbodimentSelectionSchema`. Hand-written * because zod refinements don't narrow the inferred type — `z.input` of the * schema would still allow the load-path-only `{ numCameras }` / `{}` * spellings that the switch schema rejects at runtime. The `never` fields * encode "exactly one of tag / catId" structurally. */ export type VlaEmbodimentSelection = string | number | { tag: string; catId?: never; numCameras?: number; } | { catId: number; tag?: never; numCameras?: number; }; export declare const vlaConfigSchema: z.ZodObject<{ backend: z.ZodOptional>>; verbosity: z.ZodOptional; embodiment: z.ZodOptional; catId: z.ZodOptional; numCameras: z.ZodOptional; }, z.core.$strip>]>>; }, z.core.$strip>; export type VlaConfig = z.input; export declare const vlaHparamsSchema: z.ZodObject<{ chunkSize: z.ZodNumber; actionDim: z.ZodNumber; maxActionDim: z.ZodNumber; maxStateDim: z.ZodNumber; tokenizerMaxLength: z.ZodNumber; visionImageSize: z.ZodNumber; numCameras: z.ZodOptional; stateInputMode: z.ZodOptional>; imageInputMode: z.ZodOptional>; imagePatchElems: z.ZodOptional; selectedEmbodimentTag: z.ZodOptional; selectedEmbodimentCatId: z.ZodOptional; }, z.core.$strip>; export type VlaHparams = z.infer; export declare const vlaStatsSchema: z.ZodObject<{ vision_ms: z.ZodOptional; prefill_compute_ms: z.ZodOptional; prefill_total_ms: z.ZodOptional; smollm2_compute_ms: z.ZodOptional; smollm2_total_ms: z.ZodOptional; ode_ms: z.ZodOptional; total_ms: z.ZodOptional; backendDevice: z.ZodOptional; }, z.core.$strip>; export type VlaStats = z.infer; export declare const vlaRunRequestSchema: z.ZodObject<{ type: z.ZodLiteral<"vlaRun">; modelId: z.ZodString; images: z.ZodArray; imgWidth: z.ZodNumber; imgHeight: z.ZodNumber; state: z.ZodString; tokens: z.ZodString; mask: z.ZodString; noise: z.ZodOptional; }, z.core.$strip>; export type VlaRunRequest = z.input; export declare const vlaRunResponseSchema: z.ZodObject<{ actions: z.ZodString; actionDim: z.ZodNumber; chunkSize: z.ZodNumber; stats: z.ZodOptional; prefill_compute_ms: z.ZodOptional; prefill_total_ms: z.ZodOptional; smollm2_compute_ms: z.ZodOptional; smollm2_total_ms: z.ZodOptional; ode_ms: z.ZodOptional; total_ms: z.ZodOptional; backendDevice: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; export type VlaRunResponse = z.infer; export declare const vlaHparamsRequestSchema: z.ZodObject<{ type: z.ZodLiteral<"vlaHparams">; modelId: z.ZodString; }, z.core.$strip>; export type VlaHparamsRequest = z.input; export declare const vlaHparamsResponseSchema: z.ZodObject<{ hparams: z.ZodObject<{ chunkSize: z.ZodNumber; actionDim: z.ZodNumber; maxActionDim: z.ZodNumber; maxStateDim: z.ZodNumber; tokenizerMaxLength: z.ZodNumber; visionImageSize: z.ZodNumber; numCameras: z.ZodOptional; stateInputMode: z.ZodOptional>; imageInputMode: z.ZodOptional>; imagePatchElems: z.ZodOptional; selectedEmbodimentTag: z.ZodOptional; selectedEmbodimentCatId: z.ZodOptional; }, z.core.$strip>; backendName: z.ZodNullable; }, z.core.$strip>; export type VlaHparamsResponse = z.infer; export declare const vlaSetEmbodimentRequestSchema: z.ZodObject<{ type: z.ZodLiteral<"vlaSetEmbodiment">; modelId: z.ZodString; embodiment: z.ZodUnion; catId: z.ZodOptional; numCameras: z.ZodOptional; }, z.core.$strip>]>; }, z.core.$strip>; export type VlaSetEmbodimentRequest = z.input; export declare const vlaSetEmbodimentResponseSchema: z.ZodObject<{ hparams: z.ZodObject<{ chunkSize: z.ZodNumber; actionDim: z.ZodNumber; maxActionDim: z.ZodNumber; maxStateDim: z.ZodNumber; tokenizerMaxLength: z.ZodNumber; visionImageSize: z.ZodNumber; numCameras: z.ZodOptional; stateInputMode: z.ZodOptional>; imageInputMode: z.ZodOptional>; imagePatchElems: z.ZodOptional; selectedEmbodimentTag: z.ZodOptional; selectedEmbodimentCatId: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>; export type VlaSetEmbodimentResponse = z.infer; export interface VlaClientRunParams { modelId: string; images: Float32Array[]; imgWidth: number; imgHeight: number; state: Float32Array; tokens: Int32Array; mask: Uint8Array; noise?: Float32Array; } export interface VlaClientRunResult { actions: Float32Array; actionDim: number; chunkSize: number; stats?: VlaStats; }