@n8n/ai-workflow-builder 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/responder.agent.js +6 -0
- package/dist/agents/responder.agent.js.map +1 -1
- package/dist/ai-workflow-builder-agent.service.d.ts +3 -1
- package/dist/ai-workflow-builder-agent.service.js +6 -2
- package/dist/ai-workflow-builder-agent.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chains/prompt-categorization.js +1 -2
- package/dist/chains/prompt-categorization.js.map +1 -1
- package/dist/multi-agent-workflow-subgraphs.d.ts +2 -0
- package/dist/multi-agent-workflow-subgraphs.js +2 -1
- package/dist/multi-agent-workflow-subgraphs.js.map +1 -1
- package/dist/prompts/agents/builder.prompt.js +24 -0
- package/dist/prompts/agents/builder.prompt.js.map +1 -1
- package/dist/prompts/agents/configurator.prompt.js +48 -0
- package/dist/prompts/agents/configurator.prompt.js.map +1 -1
- package/dist/prompts/agents/discovery.prompt.js +0 -1
- package/dist/prompts/agents/discovery.prompt.js.map +1 -1
- package/dist/prompts/agents/responder.prompt.d.ts +2 -0
- package/dist/prompts/agents/responder.prompt.js +49 -2
- package/dist/prompts/agents/responder.prompt.js.map +1 -1
- package/dist/prompts/chains/categorization.prompt.d.ts +1 -1
- package/dist/prompts/chains/categorization.prompt.js +1 -1
- package/dist/prompts/chains/parameter-updater/examples/resource-locator.js +90 -2
- package/dist/prompts/chains/parameter-updater/examples/resource-locator.js.map +1 -1
- package/dist/prompts/chains/parameter-updater/guides/resource-locator.js +12 -71
- package/dist/prompts/chains/parameter-updater/guides/resource-locator.js.map +1 -1
- package/dist/subgraphs/configurator.subgraph.d.ts +15 -1
- package/dist/subgraphs/configurator.subgraph.js +46 -1
- package/dist/subgraphs/configurator.subgraph.js.map +1 -1
- package/dist/tools/best-practices/monitoring.js +1 -8
- package/dist/tools/best-practices/monitoring.js.map +1 -1
- package/dist/tools/best-practices/scheduling.js +0 -2
- package/dist/tools/best-practices/scheduling.js.map +1 -1
- package/dist/tools/get-resource-locator-options.tool.d.ts +6 -0
- package/dist/tools/get-resource-locator-options.tool.js +154 -0
- package/dist/tools/get-resource-locator-options.tool.js.map +1 -0
- package/dist/tools/utils/connection.utils.d.ts +0 -2
- package/dist/tools/utils/connection.utils.js +1 -31
- package/dist/tools/utils/connection.utils.js.map +1 -1
- package/dist/types/callbacks.d.ts +3 -0
- package/dist/types/callbacks.js +3 -0
- package/dist/types/callbacks.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/data-table-helpers.d.ts +20 -0
- package/dist/utils/data-table-helpers.js +92 -0
- package/dist/utils/data-table-helpers.js.map +1 -0
- package/dist/utils/rlc-prefetch.d.ts +21 -0
- package/dist/utils/rlc-prefetch.js +135 -0
- package/dist/utils/rlc-prefetch.js.map +1 -0
- package/dist/validation/checks/connections.js +25 -0
- package/dist/validation/checks/connections.js.map +1 -1
- package/dist/validation/types.d.ts +1 -1
- package/dist/validation/types.js +1 -0
- package/dist/validation/types.js.map +1 -1
- package/dist/workflow-builder-agent.d.ts +3 -0
- package/dist/workflow-builder-agent.js +3 -0
- package/dist/workflow-builder-agent.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DATA_TABLE_ROW_COLUMN_MAPPING_OPERATIONS = exports.SET_NODE_TYPE = exports.DATA_TABLE_NODE_TYPE = void 0;
|
|
4
|
+
exports.isDataTableRowColumnOperation = isDataTableRowColumnOperation;
|
|
5
|
+
exports.extractSetNodeFields = extractSetNodeFields;
|
|
6
|
+
exports.extractDataTableInfo = extractDataTableInfo;
|
|
7
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
8
|
+
exports.DATA_TABLE_NODE_TYPE = 'n8n-nodes-base.dataTable';
|
|
9
|
+
exports.SET_NODE_TYPE = 'n8n-nodes-base.set';
|
|
10
|
+
exports.DATA_TABLE_ROW_COLUMN_MAPPING_OPERATIONS = [
|
|
11
|
+
'insert',
|
|
12
|
+
'update',
|
|
13
|
+
'upsert',
|
|
14
|
+
];
|
|
15
|
+
function isDataTableRowColumnOperation(operation) {
|
|
16
|
+
return exports.DATA_TABLE_ROW_COLUMN_MAPPING_OPERATIONS.includes(operation);
|
|
17
|
+
}
|
|
18
|
+
function mapSetNodeTypeToDataTableType(setNodeType) {
|
|
19
|
+
switch (setNodeType) {
|
|
20
|
+
case 'number':
|
|
21
|
+
return 'number';
|
|
22
|
+
case 'boolean':
|
|
23
|
+
return 'boolean';
|
|
24
|
+
case 'string':
|
|
25
|
+
default:
|
|
26
|
+
return 'text';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function isSetNodeAssignments(value) {
|
|
30
|
+
if (typeof value !== 'object' || value === null)
|
|
31
|
+
return false;
|
|
32
|
+
const obj = value;
|
|
33
|
+
if (!('assignments' in obj))
|
|
34
|
+
return true;
|
|
35
|
+
if (!Array.isArray(obj.assignments))
|
|
36
|
+
return false;
|
|
37
|
+
return obj.assignments.every((item) => typeof item === 'object' &&
|
|
38
|
+
item !== null &&
|
|
39
|
+
'name' in item &&
|
|
40
|
+
'type' in item &&
|
|
41
|
+
typeof item.name === 'string' &&
|
|
42
|
+
typeof item.type === 'string');
|
|
43
|
+
}
|
|
44
|
+
function extractSetNodeFields(workflow, nodeName) {
|
|
45
|
+
const node = workflow.nodes.find((n) => n.name === nodeName && n.type === exports.SET_NODE_TYPE);
|
|
46
|
+
if (!node)
|
|
47
|
+
return [];
|
|
48
|
+
const params = node.parameters ?? {};
|
|
49
|
+
const assignments = params.assignments;
|
|
50
|
+
if (!isSetNodeAssignments(assignments) || !assignments.assignments)
|
|
51
|
+
return [];
|
|
52
|
+
return assignments.assignments
|
|
53
|
+
.filter((a) => a.name && a.type)
|
|
54
|
+
.map((a) => ({
|
|
55
|
+
name: a.name,
|
|
56
|
+
type: mapSetNodeTypeToDataTableType(a.type),
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
function extractDataTableInfo(workflow) {
|
|
60
|
+
const dataTableNodes = workflow.nodes.filter((node) => node.type === exports.DATA_TABLE_NODE_TYPE);
|
|
61
|
+
const connectionsByDestination = (0, n8n_workflow_1.mapConnectionsByDestination)(workflow.connections);
|
|
62
|
+
return dataTableNodes.map((node) => {
|
|
63
|
+
const params = node.parameters ?? {};
|
|
64
|
+
let tableName = undefined;
|
|
65
|
+
const dataTableId = params.dataTableId;
|
|
66
|
+
if (dataTableId?.value) {
|
|
67
|
+
tableName = dataTableId.value;
|
|
68
|
+
}
|
|
69
|
+
const operation = params.operation ?? 'insert';
|
|
70
|
+
let columns = [];
|
|
71
|
+
let setNodeName = undefined;
|
|
72
|
+
if (isDataTableRowColumnOperation(operation)) {
|
|
73
|
+
const predecessors = (0, n8n_workflow_1.getParentNodes)(connectionsByDestination, node.name, 'main', 1);
|
|
74
|
+
for (const predecessorName of predecessors) {
|
|
75
|
+
const setFields = extractSetNodeFields(workflow, predecessorName);
|
|
76
|
+
if (setFields.length > 0) {
|
|
77
|
+
columns = setFields;
|
|
78
|
+
setNodeName = predecessorName;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
nodeName: node.name,
|
|
85
|
+
tableName,
|
|
86
|
+
columns,
|
|
87
|
+
setNodeName,
|
|
88
|
+
operation,
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=data-table-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table-helpers.js","sourceRoot":"","sources":["../../src/utils/data-table-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Logger } from '@n8n/backend-common';
|
|
2
|
+
import type { INode, INodeTypeDescription, INodeListSearchItems } from 'n8n-workflow';
|
|
3
|
+
import type { ResourceLocatorCallback } from '../types/callbacks';
|
|
4
|
+
export interface RLCParameterInfo {
|
|
5
|
+
nodeId: string;
|
|
6
|
+
nodeName: string;
|
|
7
|
+
nodeType: string;
|
|
8
|
+
nodeTypeVersion: number;
|
|
9
|
+
parameterPath: string;
|
|
10
|
+
searchMethod: string;
|
|
11
|
+
}
|
|
12
|
+
export interface RLCPrefetchResult {
|
|
13
|
+
nodeId: string;
|
|
14
|
+
nodeName: string;
|
|
15
|
+
parameterPath: string;
|
|
16
|
+
options: INodeListSearchItems[];
|
|
17
|
+
error?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function detectRLCParametersForPrefetch(nodes: INode[], nodeTypes: INodeTypeDescription[]): RLCParameterInfo[];
|
|
20
|
+
export declare function prefetchRLCOptions(parameters: RLCParameterInfo[], nodes: INode[], resourceLocatorCallback: ResourceLocatorCallback, logger?: Logger, timeoutMs?: number): Promise<RLCPrefetchResult[]>;
|
|
21
|
+
export declare function formatPrefetchedOptionsForLLM(results: RLCPrefetchResult[]): string;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detectRLCParametersForPrefetch = detectRLCParametersForPrefetch;
|
|
4
|
+
exports.prefetchRLCOptions = prefetchRLCOptions;
|
|
5
|
+
exports.formatPrefetchedOptionsForLLM = formatPrefetchedOptionsForLLM;
|
|
6
|
+
const validation_1 = require("../tools/helpers/validation");
|
|
7
|
+
function isRLCValueEmpty(value) {
|
|
8
|
+
if (!value)
|
|
9
|
+
return true;
|
|
10
|
+
if (typeof value !== 'object')
|
|
11
|
+
return false;
|
|
12
|
+
const rlcValue = value;
|
|
13
|
+
if (!rlcValue.__rl)
|
|
14
|
+
return false;
|
|
15
|
+
return !rlcValue.value || rlcValue.value === '';
|
|
16
|
+
}
|
|
17
|
+
function extractSearchMethod(nodeType, parameterPath) {
|
|
18
|
+
const property = nodeType.properties.find((p) => p.name === parameterPath && p.type === 'resourceLocator');
|
|
19
|
+
if (!property?.modes) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const listMode = property.modes.find((mode) => mode.type === 'list' && mode.typeOptions?.searchListMethod);
|
|
23
|
+
return listMode?.typeOptions?.searchListMethod ?? null;
|
|
24
|
+
}
|
|
25
|
+
function nodeTypeRequiresCredentials(nodeType) {
|
|
26
|
+
return Array.isArray(nodeType.credentials) && nodeType.credentials.length > 0;
|
|
27
|
+
}
|
|
28
|
+
function nodeHasCredentials(node) {
|
|
29
|
+
return !!node.credentials && Object.keys(node.credentials).length > 0;
|
|
30
|
+
}
|
|
31
|
+
function detectRLCParametersForPrefetch(nodes, nodeTypes) {
|
|
32
|
+
const result = [];
|
|
33
|
+
for (const node of nodes) {
|
|
34
|
+
const nodeType = (0, validation_1.findNodeType)(node.type, node.typeVersion, nodeTypes);
|
|
35
|
+
if (!nodeType)
|
|
36
|
+
continue;
|
|
37
|
+
const requiresCredentials = nodeTypeRequiresCredentials(nodeType);
|
|
38
|
+
const hasCredentials = nodeHasCredentials(node);
|
|
39
|
+
if (requiresCredentials && !hasCredentials) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
for (const property of nodeType.properties) {
|
|
43
|
+
if (property.type !== 'resourceLocator')
|
|
44
|
+
continue;
|
|
45
|
+
const searchMethod = extractSearchMethod(nodeType, property.name);
|
|
46
|
+
if (!searchMethod)
|
|
47
|
+
continue;
|
|
48
|
+
const isRequired = property.required === true;
|
|
49
|
+
const isPrimaryResource = property.name.toLowerCase().includes('id') || property.name.toLowerCase().includes('name');
|
|
50
|
+
if (!isRequired && !isPrimaryResource)
|
|
51
|
+
continue;
|
|
52
|
+
const currentValue = node.parameters?.[property.name];
|
|
53
|
+
if (!isRLCValueEmpty(currentValue))
|
|
54
|
+
continue;
|
|
55
|
+
result.push({
|
|
56
|
+
nodeId: node.id,
|
|
57
|
+
nodeName: node.name,
|
|
58
|
+
nodeType: node.type,
|
|
59
|
+
nodeTypeVersion: node.typeVersion,
|
|
60
|
+
parameterPath: property.name,
|
|
61
|
+
searchMethod,
|
|
62
|
+
});
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
async function prefetchRLCOptions(parameters, nodes, resourceLocatorCallback, logger, timeoutMs = 15000) {
|
|
69
|
+
if (parameters.length === 0) {
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
const fetchPromises = parameters.map(async (param) => {
|
|
73
|
+
const node = nodes.find((n) => n.id === param.nodeId);
|
|
74
|
+
if (!node) {
|
|
75
|
+
return {
|
|
76
|
+
nodeId: param.nodeId,
|
|
77
|
+
nodeName: param.nodeName,
|
|
78
|
+
parameterPath: param.parameterPath,
|
|
79
|
+
options: [],
|
|
80
|
+
error: 'Node not found',
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const result = await Promise.race([
|
|
85
|
+
resourceLocatorCallback(param.searchMethod, `parameters.${param.parameterPath}`, { name: param.nodeType, version: param.nodeTypeVersion }, node.parameters ?? {}, node.credentials, undefined),
|
|
86
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('Request timed out')), timeoutMs)),
|
|
87
|
+
]);
|
|
88
|
+
return {
|
|
89
|
+
nodeId: param.nodeId,
|
|
90
|
+
nodeName: param.nodeName,
|
|
91
|
+
parameterPath: param.parameterPath,
|
|
92
|
+
options: result.results,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
97
|
+
logger?.warn('Failed to prefetch RLC options', {
|
|
98
|
+
nodeId: param.nodeId,
|
|
99
|
+
parameterPath: param.parameterPath,
|
|
100
|
+
error: errorMessage,
|
|
101
|
+
});
|
|
102
|
+
return {
|
|
103
|
+
nodeId: param.nodeId,
|
|
104
|
+
nodeName: param.nodeName,
|
|
105
|
+
parameterPath: param.parameterPath,
|
|
106
|
+
options: [],
|
|
107
|
+
error: errorMessage,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
return await Promise.all(fetchPromises);
|
|
112
|
+
}
|
|
113
|
+
function formatPrefetchedOptionsForLLM(results) {
|
|
114
|
+
if (results.length === 0) {
|
|
115
|
+
return '';
|
|
116
|
+
}
|
|
117
|
+
const successfulResults = results.filter((r) => !r.error && r.options.length > 0);
|
|
118
|
+
if (successfulResults.length === 0) {
|
|
119
|
+
return '';
|
|
120
|
+
}
|
|
121
|
+
const parts = ['=== PRE-FETCHED RESOURCE LOCATOR PARAMETERS OPTIONS ==='];
|
|
122
|
+
parts.push('');
|
|
123
|
+
for (const result of successfulResults) {
|
|
124
|
+
parts.push(`<resource_options node="${result.nodeName}" parameter="${result.parameterPath}">`);
|
|
125
|
+
for (const opt of result.options) {
|
|
126
|
+
parts.push(' <option>');
|
|
127
|
+
parts.push(` <display_name>${opt.name}</display_name>`);
|
|
128
|
+
parts.push(` <id>${String(opt.value)}</id>`);
|
|
129
|
+
parts.push(' </option>');
|
|
130
|
+
}
|
|
131
|
+
parts.push('</resource_options>');
|
|
132
|
+
}
|
|
133
|
+
return parts.join('\n');
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=rlc-prefetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rlc-prefetch.js","sourceRoot":"","sources":["../../src/utils/rlc-prefetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateConnections = validateConnections;
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const data_table_helpers_1 = require("../../utils/data-table-helpers");
|
|
5
6
|
const node_helpers_1 = require("../../utils/node-helpers");
|
|
6
7
|
const node_type_map_1 = require("../../validation/utils/node-type-map");
|
|
7
8
|
const resolve_connections_1 = require("../../validation/utils/resolve-connections");
|
|
@@ -95,6 +96,29 @@ function checkMergeNodeConnections(nodeInfo, nodeConnections) {
|
|
|
95
96
|
}
|
|
96
97
|
return issues;
|
|
97
98
|
}
|
|
99
|
+
function checkDataTableHasSetNodePredecessor(connectionsByDestination, node, nodesByName) {
|
|
100
|
+
if (node.type !== data_table_helpers_1.DATA_TABLE_NODE_TYPE) {
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
103
|
+
const operationParam = node.parameters?.operation;
|
|
104
|
+
const operation = typeof operationParam === 'string' ? operationParam : 'insert';
|
|
105
|
+
if (!(0, data_table_helpers_1.isDataTableRowColumnOperation)(operation)) {
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
const predecessors = (0, n8n_workflow_1.getParentNodes)(connectionsByDestination, node.name, n8n_workflow_1.NodeConnectionTypes.Main, 1);
|
|
109
|
+
const hasSetNodePredecessor = predecessors.some((name) => nodesByName.get(name)?.type === data_table_helpers_1.SET_NODE_TYPE);
|
|
110
|
+
if (hasSetNodePredecessor) {
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
return [
|
|
114
|
+
{
|
|
115
|
+
name: 'data-table-missing-set-node',
|
|
116
|
+
type: 'major',
|
|
117
|
+
description: `Data Table node "${node.name}" uses "${operation}" operation and should have a Set node (Edit Fields) immediately before it to define the columns. Add a Set node and connect it to the Data Table.`,
|
|
118
|
+
pointsDeducted: 20,
|
|
119
|
+
},
|
|
120
|
+
];
|
|
121
|
+
}
|
|
98
122
|
function checkSubNodeRootConnections(workflow, nodeInfo, nodesByName) {
|
|
99
123
|
const issues = [];
|
|
100
124
|
const { node, nodeType, resolvedOutputs } = nodeInfo;
|
|
@@ -167,6 +191,7 @@ function validateConnections(workflow, nodeTypes) {
|
|
|
167
191
|
violations.push(...checkUnsupportedConnections(nodeInfo, providedInputTypes));
|
|
168
192
|
violations.push(...checkMergeNodeConnections(nodeInfo, nodeConnections));
|
|
169
193
|
violations.push(...checkSubNodeRootConnections(workflow, nodeInfo, nodesByName));
|
|
194
|
+
violations.push(...checkDataTableHasSetNodePredecessor(connectionsByDestination, node, nodesByName));
|
|
170
195
|
}
|
|
171
196
|
return violations;
|
|
172
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../../src/validation/checks/connections.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../../src/validation/checks/connections.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { INodeTypeDescription, NodeConnectionType } from 'n8n-workflow';
|
|
2
2
|
import type { SimpleWorkflow } from '../types';
|
|
3
3
|
export type ProgrammaticViolationType = 'critical' | 'major' | 'minor';
|
|
4
|
-
export declare const PROGRAMMATIC_VIOLATION_NAMES: readonly ["tool-node-has-no-parameters", "tool-node-static-parameters", "agent-static-prompt", "agent-no-system-prompt", "non-tool-node-uses-fromai", "workflow-has-no-nodes", "workflow-has-no-trigger", "workflow-exceeds-max-nodes-limit", "node-missing-required-input", "node-unsupported-connection-input", "node-merge-single-input", "node-merge-incorrect-num-inputs", "node-merge-missing-input", "sub-node-not-connected", "node-type-not-found", "failed-to-resolve-connections", "workflow-similarity-node-insert", "workflow-similarity-node-delete", "workflow-similarity-node-substitute", "workflow-similarity-edge-insert", "workflow-similarity-edge-delete", "workflow-similarity-edge-substitute", "workflow-similarity-evaluation-failed", "http-request-hardcoded-credentials", "set-node-credential-field"];
|
|
4
|
+
export declare const PROGRAMMATIC_VIOLATION_NAMES: readonly ["tool-node-has-no-parameters", "tool-node-static-parameters", "agent-static-prompt", "agent-no-system-prompt", "non-tool-node-uses-fromai", "workflow-has-no-nodes", "workflow-has-no-trigger", "workflow-exceeds-max-nodes-limit", "node-missing-required-input", "node-unsupported-connection-input", "node-merge-single-input", "node-merge-incorrect-num-inputs", "node-merge-missing-input", "sub-node-not-connected", "node-type-not-found", "failed-to-resolve-connections", "workflow-similarity-node-insert", "workflow-similarity-node-delete", "workflow-similarity-node-substitute", "workflow-similarity-edge-insert", "workflow-similarity-edge-delete", "workflow-similarity-edge-substitute", "workflow-similarity-evaluation-failed", "http-request-hardcoded-credentials", "set-node-credential-field", "data-table-missing-set-node"];
|
|
5
5
|
export type ProgrammaticViolationName = (typeof PROGRAMMATIC_VIOLATION_NAMES)[number];
|
|
6
6
|
export type TelemetryValidationStatus = Record<ProgrammaticViolationName, 'pass' | 'fail'>;
|
|
7
7
|
export interface ProgrammaticViolation {
|
package/dist/validation/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;;AAMa,QAAA,4BAA4B,GAAG;IAC3C,6BAA6B;IAE7B,6BAA6B;IAC7B,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;IAC3B,uBAAuB;IACvB,yBAAyB;IACzB,kCAAkC;IAClC,6BAA6B;IAC7B,mCAAmC;IACnC,yBAAyB;IACzB,iCAAiC;IACjC,0BAA0B;IAC1B,wBAAwB;IACxB,qBAAqB;IACrB,+BAA+B;IAC/B,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,uCAAuC;IACvC,oCAAoC;IACpC,2BAA2B;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;;AAMa,QAAA,4BAA4B,GAAG;IAC3C,6BAA6B;IAE7B,6BAA6B;IAC7B,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;IAC3B,uBAAuB;IACvB,yBAAyB;IACzB,kCAAkC;IAClC,6BAA6B;IAC7B,mCAAmC;IACnC,yBAAyB;IACzB,iCAAiC;IACjC,0BAA0B;IAC1B,wBAAwB;IACxB,qBAAqB;IACrB,+BAA+B;IAC/B,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,uCAAuC;IACvC,oCAAoC;IACpC,2BAA2B;IAC3B,6BAA6B;CACpB,CAAC"}
|
|
@@ -4,6 +4,7 @@ import type { LangChainTracer } from '@langchain/core/tracers/tracer_langchain';
|
|
|
4
4
|
import type { MemorySaver, StateSnapshot } from '@langchain/langgraph';
|
|
5
5
|
import type { Logger } from '@n8n/backend-common';
|
|
6
6
|
import { type INodeTypeDescription, type IRunExecutionData, type IWorkflowBase, type NodeExecutionSchema } from 'n8n-workflow';
|
|
7
|
+
import type { ResourceLocatorCallback } from './types/callbacks';
|
|
7
8
|
import type { WorkflowState } from './workflow-state';
|
|
8
9
|
export type TypedStateSnapshot = Omit<StateSnapshot, 'values'> & {
|
|
9
10
|
values: typeof WorkflowState.State;
|
|
@@ -26,6 +27,7 @@ export interface WorkflowBuilderAgentConfig {
|
|
|
26
27
|
runMetadata?: Record<string, unknown>;
|
|
27
28
|
featureFlags?: BuilderFeatureFlags;
|
|
28
29
|
onGenerationSuccess?: () => Promise<void>;
|
|
30
|
+
resourceLocatorCallback?: ResourceLocatorCallback;
|
|
29
31
|
}
|
|
30
32
|
export interface ExpressionValue {
|
|
31
33
|
expression: string;
|
|
@@ -56,6 +58,7 @@ export declare class WorkflowBuilderAgent {
|
|
|
56
58
|
private instanceUrl?;
|
|
57
59
|
private runMetadata?;
|
|
58
60
|
private onGenerationSuccess?;
|
|
61
|
+
private resourceLocatorCallback?;
|
|
59
62
|
constructor(config: WorkflowBuilderAgentConfig);
|
|
60
63
|
private createWorkflow;
|
|
61
64
|
getState(workflowId?: string, userId?: string): Promise<TypedStateSnapshot>;
|
|
@@ -20,6 +20,7 @@ class WorkflowBuilderAgent {
|
|
|
20
20
|
instanceUrl;
|
|
21
21
|
runMetadata;
|
|
22
22
|
onGenerationSuccess;
|
|
23
|
+
resourceLocatorCallback;
|
|
23
24
|
constructor(config) {
|
|
24
25
|
this.parsedNodeTypes = config.parsedNodeTypes;
|
|
25
26
|
this.stageLLMs = config.stageLLMs;
|
|
@@ -29,6 +30,7 @@ class WorkflowBuilderAgent {
|
|
|
29
30
|
this.instanceUrl = config.instanceUrl;
|
|
30
31
|
this.runMetadata = config.runMetadata;
|
|
31
32
|
this.onGenerationSuccess = config.onGenerationSuccess;
|
|
33
|
+
this.resourceLocatorCallback = config.resourceLocatorCallback;
|
|
32
34
|
}
|
|
33
35
|
createWorkflow(featureFlags) {
|
|
34
36
|
return (0, multi_agent_workflow_subgraphs_1.createMultiAgentWorkflowWithSubgraphs)({
|
|
@@ -39,6 +41,7 @@ class WorkflowBuilderAgent {
|
|
|
39
41
|
checkpointer: this.checkpointer,
|
|
40
42
|
featureFlags,
|
|
41
43
|
onGenerationSuccess: this.onGenerationSuccess,
|
|
44
|
+
resourceLocatorCallback: this.resourceLocatorCallback,
|
|
42
45
|
});
|
|
43
46
|
}
|
|
44
47
|
async getState(workflowId, userId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-builder-agent.js","sourceRoot":"","sources":["../src/workflow-builder-agent.ts"],"names":[],"mappings":";;;AAGA,uDAAmE;AAInE,oDAA2D;AAE3D,+CAMsB;AAEtB,2CAA8F;AAE9F,qCAA2C;AAC3C,qFAAyF;AACzF,uEAAkE;
|
|
1
|
+
{"version":3,"file":"workflow-builder-agent.js","sourceRoot":"","sources":["../src/workflow-builder-agent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/ai-workflow-builder",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "src/index.ts",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"lodash": "4.17.21",
|
|
28
28
|
"picocolors": "1.0.1",
|
|
29
29
|
"zod": "3.25.67",
|
|
30
|
-
"@n8n/backend-common": "1.
|
|
31
|
-
"@n8n/
|
|
32
|
-
"@n8n/config": "2.4.0",
|
|
30
|
+
"@n8n/backend-common": "1.6.0",
|
|
31
|
+
"@n8n/config": "2.5.0",
|
|
33
32
|
"@n8n/utils": "1.22.0",
|
|
34
|
-
"n8n-workflow": "2.
|
|
33
|
+
"n8n-workflow": "2.6.0",
|
|
34
|
+
"@n8n/di": "0.10.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/cli-progress": "^3.11.5",
|