UNPKG

windmill-yaml-validator

Version:

YAML validator for Windmill flow, schedule, and trigger files

35 lines (34 loc) 1.22 kB
import { ErrorObject } from "ajv"; import { YamlParserResult } from "@stoplight/yaml"; export declare const SUPPORTED_TRIGGER_KINDS: readonly ["http", "websocket", "kafka", "nats", "postgres", "mqtt", "sqs", "gcp", "email"]; export type TriggerKind = (typeof SUPPORTED_TRIGGER_KINDS)[number]; export type ValidationTarget = { type: "flow"; } | { type: "schedule"; } | { type: "trigger"; triggerKind: TriggerKind; }; /** * Infers validation target from file name conventions used by Windmill sync. */ export declare function getValidationTargetFromFilename(filePath: string): ValidationTarget | null; /** * Unified YAML validator for Windmill flow, schedule, and trigger files. */ export declare class WindmillYamlValidator { private readonly validateFlow; private readonly validateSchedule; private readonly validateTrigger; constructor(); /** * Validates a Windmill YAML document based on the selected target. * @param doc - The YAML document as string * @param target - Which Windmill schema to validate against */ validate(doc: string, target: ValidationTarget): { parsed: YamlParserResult<unknown>; errors: ErrorObject[]; }; }