UNPKG

n8n

Version:

n8n Workflow Automation Tool

35 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.synthesizeMcpRegistryTypeDef = synthesizeMcpRegistryTypeDef; const workflow_sdk_1 = require("@n8n/workflow-sdk"); function synthesizeMcpRegistryTypeDef(description) { const visibleDescription = { ...description, properties: description.properties.filter((property) => property.type !== 'hidden'), }; if (!isSdkNodeTypeDescription(visibleDescription)) { throw new Error(`Cannot synthesize MCP registry type definition for ${description.name}`); } return (0, workflow_sdk_1.generateNodeTypeFile)(visibleDescription); } function isSdkNodeTypeDescription(description) { return (Array.isArray(description.group) && Array.isArray(description.properties) && typeof description.inputs !== 'string' && typeof description.outputs !== 'string' && hasSdkConnections(description.inputs) && hasSdkConnections(description.outputs) && hasSdkCredentials(description.credentials)); } function hasSdkConnections(connections) { return (Array.isArray(connections) && connections.every((connection) => typeof connection === 'string' || (typeof connection.type === 'string' && (connection.displayName === undefined || typeof connection.displayName === 'string')))); } function hasSdkCredentials(credentials) { return (credentials === undefined || credentials.every((credential) => typeof credential.name === 'string' && (credential.required === undefined || typeof credential.required === 'boolean'))); } //# sourceMappingURL=synthesize-type-def.js.map