UNPKG

n8n

Version:

n8n Workflow Automation Tool

44 lines 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateNodeToolExpressions = validateNodeToolExpressions; exports.validateNodeToolConfigs = validateNodeToolConfigs; const fromai_helpers_1 = require("@n8n/ai-utilities/fromai-helpers"); const node_tool_operation_support_1 = require("../../../node-execution/node-tool-operation-support"); const node_definition_dirs_1 = require("../../../utils/node-definition-dirs"); function validateNodeToolExpressions(tools) { for (const tool of tools ?? []) { if (tool.type !== 'node') continue; (0, fromai_helpers_1.extractFromAIParameters)((tool.node.nodeParameters ?? {})); } } async function validateNodeToolConfigs(tools) { const nodeTools = (tools ?? []).filter((t) => t.type === 'node'); if (nodeTools.length === 0) return null; const { getSchemaBaseDirs, setSchemaBaseDirs, validateNodeConfig } = await import('@n8n/workflow-sdk'); const dirs = (0, node_definition_dirs_1.resolveBuiltinNodeDefinitionDirs)(); if (dirs.length > 0 && dirs.join('\n') !== getSchemaBaseDirs().join('\n')) { setSchemaBaseDirs(dirs); } const errors = []; for (const tool of nodeTools) { const nodeType = tool.node.nodeType; const nodeTypeVersion = tool.node.nodeTypeVersion; const nodeParameters = tool.node.nodeParameters ?? {}; const operation = nodeParameters.operation; if ((0, node_tool_operation_support_1.isUnsupportedEphemeralNodeOperation)(operation)) { errors.push(`Node tool "${tool.name}" (${nodeType}@${nodeTypeVersion}): ${(0, node_tool_operation_support_1.unsupportedEphemeralNodeOperationMessage)(operation)}`); continue; } const result = validateNodeConfig(nodeType, nodeTypeVersion, { parameters: nodeParameters }, { isToolNode: true }); if (!result.valid) { const messages = result.errors .map((e) => e.message) .join('; '); errors.push(`Node tool "${tool.name}" (${nodeType}@${nodeTypeVersion}): ${messages}`); } } return errors.length > 0 ? errors.join('\n') : null; } //# sourceMappingURL=node-tool-validation.js.map