UNPKG

n8n

Version:

n8n Workflow Automation Tool

67 lines 2.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toolIdentifiersFromConfig = toolIdentifiersFromConfig; exports.skillIdentifiersFromConfig = skillIdentifiersFromConfig; exports.taskIdentifiersFromConfig = taskIdentifiersFromConfig; exports.collectBuilderConfigDiffEvents = collectBuilderConfigDiffEvents; const telemetry_1 = require("@n8n/telemetry"); function toolIdentifiersFromConfig(config) { return (config?.tools ?? []) .map((ref) => { if (ref.type === 'custom') return ref.id ?? ''; if (ref.type === 'workflow') return ref.name ?? ref.workflow ?? ''; return ref.name ?? ref.node?.nodeType ?? ''; }) .filter(Boolean) .sort(); } function skillIdentifiersFromConfig(config) { return (config?.skills ?? []) .map((ref) => ref.id) .filter(Boolean) .sort(); } function taskIdentifiersFromConfig(config) { return Array.from(new Set((config?.tasks ?? []).map((ref) => ref.id).filter(Boolean))).sort(); } function collectBuilderConfigDiffEvents(oldConfig, newConfig) { const events = []; const previousTools = toolIdentifiersFromConfig(oldConfig); const currentTools = toolIdentifiersFromConfig(newConfig); const addedTools = currentTools.filter((tool) => !previousTools.includes(tool)); for (const toolAdded of addedTools) { events.push({ entry: telemetry_1.TELEMETRY_EVENT.AGENTS.BUILDER_ADDED_TOOLS, properties: { tool_added: toolAdded, tools: currentTools }, }); } const previousSkills = skillIdentifiersFromConfig(oldConfig); const currentSkills = skillIdentifiersFromConfig(newConfig); const addedSkills = currentSkills.filter((skill) => !previousSkills.includes(skill)); for (const skillAdded of addedSkills) { events.push({ entry: telemetry_1.TELEMETRY_EVENT.AGENTS.BUILDER_ADDED_SKILLS, properties: { skill_added: skillAdded, skills: currentSkills }, }); } const previousTasks = taskIdentifiersFromConfig(oldConfig); const currentTasks = taskIdentifiersFromConfig(newConfig); const addedTasks = currentTasks.filter((task) => !previousTasks.includes(task)); for (const taskAdded of addedTasks) { events.push({ entry: telemetry_1.TELEMETRY_EVENT.AGENTS.BUILDER_ADDED_TASKS, properties: { task_added: taskAdded, tasks: currentTasks }, }); } const removedTasks = previousTasks.filter((task) => !currentTasks.includes(task)); for (const taskRemoved of removedTasks) { events.push({ entry: telemetry_1.TELEMETRY_EVENT.AGENTS.BUILDER_REMOVED_TASKS, properties: { task_removed: taskRemoved, tasks: currentTasks }, }); } return events; } //# sourceMappingURL=builder-config-telemetry.js.map