Skip to content

VesselSchema

const VesselSchema: ZodObject<{ defaultVariant: ZodPipe<ZodString, ZodTransform<VariantName, string>>; description: ZodString; id: ZodPipe<ZodString, ZodTransform<VesselId, string>>; name: ZodString; variants: ZodRecord<ZodPipe<ZodString, ZodTransform<VariantName, string>>, ZodObject<{ actions: ZodArray<ZodObject<{ description: ZodString; idempotent: ZodDefault<ZodOptional<ZodBoolean>>; name: ZodPipe<ZodString, ZodTransform<ActionName, string>>; parameters: ZodOptional<ZodArray<ZodObject<…, …>>>; transitionsTo: ZodOptional<ZodPipe<ZodString, ZodTransform<…, …>>>; }, $strip>>; description: ZodOptional<ZodString>; minSize: ZodObject<{ height: ZodNumber; width: ZodNumber; }, $strip>; props: ZodRecord<ZodString, ZodUnknown>; }, $strip>>; }, $strip>

Defined in: packages/protocol/src/lib/vessel.ts:62

Parses and brands a complete Vessel definition.

Requires at least one Variant, a valid default Variant, unique Action and parameter names within their scopes, and valid Action transition targets.