windmill-yaml-validator
Version:
YAML validator for Windmill flow, schedule, and trigger files
35 lines (34 loc) • 1.22 kB
TypeScript
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[];
};
}