Skip to main content
Glama
workflow-validator.d.ts3.25 kB
import { NodeRepository } from '../database/node-repository'; import { EnhancedConfigValidator } from './enhanced-config-validator'; interface WorkflowNode { id: string; name: string; type: string; position: [number, number]; parameters: any; credentials?: any; disabled?: boolean; notes?: string; notesInFlow?: boolean; typeVersion?: number; continueOnFail?: boolean; onError?: 'continueRegularOutput' | 'continueErrorOutput' | 'stopWorkflow'; retryOnFail?: boolean; maxTries?: number; waitBetweenTries?: number; alwaysOutputData?: boolean; executeOnce?: boolean; } interface WorkflowConnection { [sourceNode: string]: { main?: Array<Array<{ node: string; type: string; index: number; }>>; error?: Array<Array<{ node: string; type: string; index: number; }>>; ai_tool?: Array<Array<{ node: string; type: string; index: number; }>>; }; } interface WorkflowJson { name?: string; nodes: WorkflowNode[]; connections: WorkflowConnection; settings?: any; staticData?: any; pinData?: any; meta?: any; } export interface ValidationIssue { type: 'error' | 'warning'; nodeId?: string; nodeName?: string; message: string; details?: any; code?: string; fix?: { type: string; currentType?: string; suggestedType?: string; description?: string; }; } export interface WorkflowValidationResult { valid: boolean; errors: ValidationIssue[]; warnings: ValidationIssue[]; statistics: { totalNodes: number; enabledNodes: number; triggerNodes: number; validConnections: number; invalidConnections: number; expressionsValidated: number; }; suggestions: string[]; } export declare class WorkflowValidator { private nodeRepository; private nodeValidator; private currentWorkflow; private similarityService; constructor(nodeRepository: NodeRepository, nodeValidator: typeof EnhancedConfigValidator); validateWorkflow(workflow: WorkflowJson, options?: { validateNodes?: boolean; validateConnections?: boolean; validateExpressions?: boolean; profile?: 'minimal' | 'runtime' | 'ai-friendly' | 'strict'; }): Promise<WorkflowValidationResult>; private validateWorkflowStructure; private validateAllNodes; private validateConnections; private validateConnectionOutputs; private validateErrorOutputConfiguration; private validateAIToolConnection; private validateAIToolSource; private hasCycle; private validateExpressions; private countExpressionsInObject; private nodeHasInput; private checkWorkflowPatterns; private getLongestLinearChain; private generateSuggestions; private checkNodeErrorHandling; private checkWebhookErrorHandling; private generateErrorHandlingSuggestions; private validateSplitInBatchesConnection; private checkForLoopBack; private addErrorRecoverySuggestions; } export {}; //# sourceMappingURL=workflow-validator.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