Skip to main content
Glama
n8n-validation.d.ts9.02 kB
import { z } from 'zod'; import { WorkflowNode, WorkflowConnection, Workflow } from '../types/n8n-api'; export declare const workflowNodeSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; type: z.ZodString; typeVersion: z.ZodNumber; position: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>; parameters: z.ZodRecord<z.ZodString, z.ZodUnknown>; credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; disabled: z.ZodOptional<z.ZodBoolean>; notes: z.ZodOptional<z.ZodString>; notesInFlow: z.ZodOptional<z.ZodBoolean>; continueOnFail: z.ZodOptional<z.ZodBoolean>; retryOnFail: z.ZodOptional<z.ZodBoolean>; maxTries: z.ZodOptional<z.ZodNumber>; waitBetweenTries: z.ZodOptional<z.ZodNumber>; alwaysOutputData: z.ZodOptional<z.ZodBoolean>; executeOnce: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { type: string; id: string; name: string; typeVersion: number; position: [number, number]; parameters: Record<string, unknown>; credentials?: Record<string, unknown> | undefined; retryOnFail?: boolean | undefined; maxTries?: number | undefined; waitBetweenTries?: number | undefined; alwaysOutputData?: boolean | undefined; continueOnFail?: boolean | undefined; executeOnce?: boolean | undefined; disabled?: boolean | undefined; notes?: string | undefined; notesInFlow?: boolean | undefined; }, { type: string; id: string; name: string; typeVersion: number; position: [number, number]; parameters: Record<string, unknown>; credentials?: Record<string, unknown> | undefined; retryOnFail?: boolean | undefined; maxTries?: number | undefined; waitBetweenTries?: number | undefined; alwaysOutputData?: boolean | undefined; continueOnFail?: boolean | undefined; executeOnce?: boolean | undefined; disabled?: boolean | undefined; notes?: string | undefined; notesInFlow?: boolean | undefined; }>; export declare const workflowConnectionSchema: z.ZodRecord<z.ZodString, z.ZodObject<{ main: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodObject<{ node: z.ZodString; type: z.ZodString; index: z.ZodNumber; }, "strip", z.ZodTypeAny, { type: string; node: string; index: number; }, { type: string; node: string; index: number; }>, "many">, "many">>; error: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodObject<{ node: z.ZodString; type: z.ZodString; index: z.ZodNumber; }, "strip", z.ZodTypeAny, { type: string; node: string; index: number; }, { type: string; node: string; index: number; }>, "many">, "many">>; ai_tool: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodObject<{ node: z.ZodString; type: z.ZodString; index: z.ZodNumber; }, "strip", z.ZodTypeAny, { type: string; node: string; index: number; }, { type: string; node: string; index: number; }>, "many">, "many">>; ai_languageModel: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodObject<{ node: z.ZodString; type: z.ZodString; index: z.ZodNumber; }, "strip", z.ZodTypeAny, { type: string; node: string; index: number; }, { type: string; node: string; index: number; }>, "many">, "many">>; ai_memory: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodObject<{ node: z.ZodString; type: z.ZodString; index: z.ZodNumber; }, "strip", z.ZodTypeAny, { type: string; node: string; index: number; }, { type: string; node: string; index: number; }>, "many">, "many">>; ai_embedding: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodObject<{ node: z.ZodString; type: z.ZodString; index: z.ZodNumber; }, "strip", z.ZodTypeAny, { type: string; node: string; index: number; }, { type: string; node: string; index: number; }>, "many">, "many">>; ai_vectorStore: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodObject<{ node: z.ZodString; type: z.ZodString; index: z.ZodNumber; }, "strip", z.ZodTypeAny, { type: string; node: string; index: number; }, { type: string; node: string; index: number; }>, "many">, "many">>; }, "strip", z.ZodTypeAny, { error?: { type: string; node: string; index: number; }[][] | undefined; main?: { type: string; node: string; index: number; }[][] | undefined; ai_languageModel?: { type: string; node: string; index: number; }[][] | undefined; ai_memory?: { type: string; node: string; index: number; }[][] | undefined; ai_tool?: { type: string; node: string; index: number; }[][] | undefined; ai_embedding?: { type: string; node: string; index: number; }[][] | undefined; ai_vectorStore?: { type: string; node: string; index: number; }[][] | undefined; }, { error?: { type: string; node: string; index: number; }[][] | undefined; main?: { type: string; node: string; index: number; }[][] | undefined; ai_languageModel?: { type: string; node: string; index: number; }[][] | undefined; ai_memory?: { type: string; node: string; index: number; }[][] | undefined; ai_tool?: { type: string; node: string; index: number; }[][] | undefined; ai_embedding?: { type: string; node: string; index: number; }[][] | undefined; ai_vectorStore?: { type: string; node: string; index: number; }[][] | undefined; }>>; export declare const workflowSettingsSchema: z.ZodObject<{ executionOrder: z.ZodDefault<z.ZodEnum<["v0", "v1"]>>; timezone: z.ZodOptional<z.ZodString>; saveDataErrorExecution: z.ZodDefault<z.ZodEnum<["all", "none"]>>; saveDataSuccessExecution: z.ZodDefault<z.ZodEnum<["all", "none"]>>; saveManualExecutions: z.ZodDefault<z.ZodBoolean>; saveExecutionProgress: z.ZodDefault<z.ZodBoolean>; executionTimeout: z.ZodOptional<z.ZodNumber>; errorWorkflow: z.ZodOptional<z.ZodString>; callerPolicy: z.ZodOptional<z.ZodEnum<["any", "workflowsFromSameOwner", "workflowsFromAList"]>>; availableInMCP: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { executionOrder: "v0" | "v1"; saveDataErrorExecution: "all" | "none"; saveDataSuccessExecution: "all" | "none"; saveManualExecutions: boolean; saveExecutionProgress: boolean; timezone?: string | undefined; executionTimeout?: number | undefined; errorWorkflow?: string | undefined; callerPolicy?: "any" | "workflowsFromSameOwner" | "workflowsFromAList" | undefined; availableInMCP?: boolean | undefined; }, { timezone?: string | undefined; executionOrder?: "v0" | "v1" | undefined; saveDataErrorExecution?: "all" | "none" | undefined; saveDataSuccessExecution?: "all" | "none" | undefined; saveManualExecutions?: boolean | undefined; saveExecutionProgress?: boolean | undefined; executionTimeout?: number | undefined; errorWorkflow?: string | undefined; callerPolicy?: "any" | "workflowsFromSameOwner" | "workflowsFromAList" | undefined; availableInMCP?: boolean | undefined; }>; export declare const defaultWorkflowSettings: { executionOrder: "v1"; saveDataErrorExecution: "all"; saveDataSuccessExecution: "all"; saveManualExecutions: boolean; saveExecutionProgress: boolean; }; export declare function validateWorkflowNode(node: unknown): WorkflowNode; export declare function validateWorkflowConnections(connections: unknown): WorkflowConnection; export declare function validateWorkflowSettings(settings: unknown): z.infer<typeof workflowSettingsSchema>; export declare function cleanWorkflowForCreate(workflow: Partial<Workflow>): Partial<Workflow>; export declare function cleanWorkflowForUpdate(workflow: Workflow): Partial<Workflow>; export declare function validateWorkflowStructure(workflow: Partial<Workflow>): string[]; export declare function hasWebhookTrigger(workflow: Workflow): boolean; export declare function validateFilterBasedNodeMetadata(node: WorkflowNode): string[]; export declare function validateOperatorStructure(operator: any, path: string): string[]; export declare function getWebhookUrl(workflow: Workflow): string | null; export declare function getWorkflowStructureExample(): string; export declare function getWorkflowFixSuggestions(errors: string[]): string[]; //# sourceMappingURL=n8n-validation.d.ts.map

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/czlonkowski/n8n-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server