@n8n/workflow-sdk 0.31.0 → 0.32.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/ast-interpreter/errors.d.ts +4 -0
- package/dist/ast-interpreter/errors.js +9 -1
- package/dist/ast-interpreter/errors.js.map +1 -1
- package/dist/ast-interpreter/index.d.ts +1 -1
- package/dist/ast-interpreter/index.js +2 -1
- package/dist/ast-interpreter/index.js.map +1 -1
- package/dist/ast-interpreter/interpreter.js +193 -70
- package/dist/ast-interpreter/interpreter.js.map +1 -1
- package/dist/ast-interpreter/validators.js +1 -0
- package/dist/ast-interpreter/validators.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/codegen/code-generator.d.ts +1 -0
- package/dist/codegen/code-generator.js +10 -9
- package/dist/codegen/code-generator.js.map +1 -1
- package/dist/codegen/index.d.ts +2 -1
- package/dist/codegen/index.js +5 -2
- package/dist/codegen/index.js.map +1 -1
- package/dist/codegen/locate-node-declarations.d.ts +6 -0
- package/dist/codegen/locate-node-declarations.js +65 -0
- package/dist/codegen/locate-node-declarations.js.map +1 -0
- package/dist/codegen/string-utils.d.ts +4 -0
- package/dist/codegen/string-utils.js +75 -0
- package/dist/codegen/string-utils.js.map +1 -1
- package/dist/codegen/subnode-generator.d.ts +1 -0
- package/dist/codegen/subnode-generator.js +30 -13
- package/dist/codegen/subnode-generator.js.map +1 -1
- package/dist/generate-types/generate-node-defs-cli.d.ts +1 -1
- package/dist/generate-types/generate-node-defs-cli.js +8 -3
- package/dist/generate-types/generate-node-defs-cli.js.map +1 -1
- package/dist/generate-types/generate-types.d.ts +5 -0
- package/dist/generate-types/generate-types.js +129 -36
- package/dist/generate-types/generate-types.js.map +1 -1
- package/dist/generate-types/schema-coverage-cli.d.ts +1 -0
- package/dist/generate-types/schema-coverage-cli.js +58 -0
- package/dist/generate-types/schema-coverage-cli.js.map +1 -0
- package/dist/generate-types/schema-coverage.d.ts +27 -0
- package/dist/generate-types/schema-coverage.js +101 -0
- package/dist/generate-types/schema-coverage.js.map +1 -0
- package/dist/generate-types/schema-harvest-cli.d.ts +1 -0
- package/dist/generate-types/schema-harvest-cli.js +65 -0
- package/dist/generate-types/schema-harvest-cli.js.map +1 -0
- package/dist/generate-types/schema-harvest.d.ts +26 -0
- package/dist/generate-types/schema-harvest.js +303 -0
- package/dist/generate-types/schema-harvest.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/mock-data/ai-root-shapes.d.ts +1 -0
- package/dist/mock-data/ai-root-shapes.js +19 -0
- package/dist/mock-data/ai-root-shapes.js.map +1 -1
- package/dist/mock-data/index.d.ts +2 -1
- package/dist/mock-data/index.js +4 -1
- package/dist/mock-data/index.js.map +1 -1
- package/dist/mock-data/placeholder.d.ts +5 -0
- package/dist/mock-data/placeholder.js +187 -0
- package/dist/mock-data/placeholder.js.map +1 -0
- package/dist/node-deprecation.d.ts +2 -0
- package/dist/node-deprecation.js +11 -0
- package/dist/node-deprecation.js.map +1 -0
- package/dist/prompts/sdk-reference/workflow-rules.d.ts +1 -1
- package/dist/prompts/sdk-reference/workflow-rules.js +9 -1
- package/dist/prompts/sdk-reference/workflow-rules.js.map +1 -1
- package/dist/validation/validate-workflow-builder.js +5 -4
- package/dist/validation/validate-workflow-builder.js.map +1 -1
- package/dist/validation/validate-workflow.d.ts +1 -1
- package/dist/validation/validate-workflow.js +19 -0
- package/dist/validation/validate-workflow.js.map +1 -1
- package/package.json +13 -11
|
@@ -4,6 +4,7 @@ exports.AGENT_NODE_TYPE = void 0;
|
|
|
4
4
|
exports.isAiRootNodeType = isAiRootNodeType;
|
|
5
5
|
exports.describeAiRootShape = describeAiRootShape;
|
|
6
6
|
exports.findEnvelopeKey = findEnvelopeKey;
|
|
7
|
+
exports.buildAiRootPlaceholder = buildAiRootPlaceholder;
|
|
7
8
|
exports.AGENT_NODE_TYPE = '@n8n/n8n-nodes-langchain.agent';
|
|
8
9
|
const VENDOR_AI_ROOT_NODE_TYPES = new Set([
|
|
9
10
|
'@n8n/n8n-nodes-langchain.openAi',
|
|
@@ -50,4 +51,22 @@ function findEnvelopeKey(schema) {
|
|
|
50
51
|
definition.type === 'object');
|
|
51
52
|
return candidates.length === 1 ? candidates[0][0] : undefined;
|
|
52
53
|
}
|
|
54
|
+
function buildAiRootPlaceholder(nodeType, filler) {
|
|
55
|
+
switch (nodeType) {
|
|
56
|
+
case exports.AGENT_NODE_TYPE:
|
|
57
|
+
case '@n8n/n8n-nodes-langchain.openAiAssistant':
|
|
58
|
+
case '@n8n/n8n-nodes-langchain.informationExtractor':
|
|
59
|
+
return { output: filler };
|
|
60
|
+
case '@n8n/n8n-nodes-langchain.chainLlm':
|
|
61
|
+
return { text: filler };
|
|
62
|
+
case '@n8n/n8n-nodes-langchain.chainRetrievalQa':
|
|
63
|
+
return { response: filler };
|
|
64
|
+
case '@n8n/n8n-nodes-langchain.chainSummarization':
|
|
65
|
+
return { output: { output_text: filler } };
|
|
66
|
+
case '@n8n/n8n-nodes-langchain.sentimentAnalysis':
|
|
67
|
+
return { sentimentAnalysis: { category: filler } };
|
|
68
|
+
default:
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
53
72
|
//# sourceMappingURL=ai-root-shapes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-root-shapes.js","sourceRoot":"","sources":["../../src/mock-data/ai-root-shapes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-root-shapes.js","sourceRoot":"","sources":["../../src/mock-data/ai-root-shapes.ts"],"names":[],"mappings":";;;;;;;AAOa,QAAA,eAAe,GAAG,gCAAgC,CAAC;AAQhE,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS;IACjD,iCAAiC;IACjC,oCAAoC;IACpC,uCAAuC;IACvC,iCAAiC;IACjC,uCAAuC;IACvC,kCAAkC;IAClC,mCAAmC;CACnC,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS;IAC1C,QAAA,eAAe;IACf,0CAA0C;IAC1C,mCAAmC;IACnC,2CAA2C;IAC3C,6CAA6C;IAC7C,+CAA+C;IAC/C,yCAAyC;IACzC,4CAA4C;IAC5C,GAAG,yBAAyB;CAC5B,CAAC,CAAC;AAEH,0BAAiC,QAAgB;IAChD,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAWD,6BAAoC,QAAgB;IACnD,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,yCAAyC;YAC7C,OAAO,4KAA4K,CAAC;QACrL;YACC,IAAI,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7C,OAAO,2JAA2J,CAAC;YACpK,CAAC;YACD,OAAO,sDAAsD,CAAC;IAChE,CAAC;AACF,CAAC;AASD,yBAAgC,MAA2C;IAC1E,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACpF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAc,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAqC,CAAC,CAAC,MAAM,CACrF,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CACrB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QACtB,OAAO,UAAU,KAAK,QAAQ;QAC9B,UAAU,KAAK,IAAI;QAClB,UAAsC,CAAC,IAAI,KAAK,QAAQ,CAC1D,CAAC;IACF,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAUD,gCACC,QAAgB,EAChB,MAAc;IAEd,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,QAAA,eAAe,CAAC;QACrB,KAAK,0CAA0C,CAAC;QAChD,KAAK,+CAA+C;YACnD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,KAAK,mCAAmC;YACvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,KAAK,2CAA2C;YAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC7B,KAAK,6CAA6C;YACjD,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC;QAC5C,KAAK,4CAA4C;YAChD,OAAO,EAAE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;QACpD;YACC,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type { PinData, OutputSchemaLookup, OutputParserContext, NodeSchemaContext, PinDataGenerationInstructions, DataTableColumnInfo, DeclaredFieldContract, } from './types';
|
|
2
|
-
export { AGENT_NODE_TYPE, isAiRootNodeType, describeAiRootShape, findEnvelopeKey, } from './ai-root-shapes';
|
|
2
|
+
export { AGENT_NODE_TYPE, isAiRootNodeType, describeAiRootShape, buildAiRootPlaceholder, findEnvelopeKey, } from './ai-root-shapes';
|
|
3
|
+
export { buildSchemaPlaceholderItem, type PlaceholderItemOptions, } from './placeholder';
|
|
3
4
|
export { buildSchemaContexts, findOutputParserTargets, collectDownstreamConsumers, } from './context';
|
|
4
5
|
export { workflowToMermaid } from './mermaid';
|
|
5
6
|
export { buildDateAnchors } from './date-anchors';
|
package/dist/mock-data/index.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildFieldViolationRetryMessage = exports.collectPinFieldViolations = exports.repairStructuredOutput = exports.parsePinDataResponse = exports.buildNodeSchemaSection = exports.buildPinDataUserPrompt = exports.PIN_DATA_SYSTEM_PROMPT = exports.buildDateAnchors = exports.workflowToMermaid = exports.collectDownstreamConsumers = exports.findOutputParserTargets = exports.buildSchemaContexts = exports.findEnvelopeKey = exports.describeAiRootShape = exports.isAiRootNodeType = exports.AGENT_NODE_TYPE = void 0;
|
|
3
|
+
exports.buildFieldViolationRetryMessage = exports.collectPinFieldViolations = exports.repairStructuredOutput = exports.parsePinDataResponse = exports.buildNodeSchemaSection = exports.buildPinDataUserPrompt = exports.PIN_DATA_SYSTEM_PROMPT = exports.buildDateAnchors = exports.workflowToMermaid = exports.collectDownstreamConsumers = exports.findOutputParserTargets = exports.buildSchemaContexts = exports.buildSchemaPlaceholderItem = exports.findEnvelopeKey = exports.buildAiRootPlaceholder = exports.describeAiRootShape = exports.isAiRootNodeType = exports.AGENT_NODE_TYPE = void 0;
|
|
4
4
|
var ai_root_shapes_1 = require("./ai-root-shapes");
|
|
5
5
|
Object.defineProperty(exports, "AGENT_NODE_TYPE", { enumerable: true, get: function () { return ai_root_shapes_1.AGENT_NODE_TYPE; } });
|
|
6
6
|
Object.defineProperty(exports, "isAiRootNodeType", { enumerable: true, get: function () { return ai_root_shapes_1.isAiRootNodeType; } });
|
|
7
7
|
Object.defineProperty(exports, "describeAiRootShape", { enumerable: true, get: function () { return ai_root_shapes_1.describeAiRootShape; } });
|
|
8
|
+
Object.defineProperty(exports, "buildAiRootPlaceholder", { enumerable: true, get: function () { return ai_root_shapes_1.buildAiRootPlaceholder; } });
|
|
8
9
|
Object.defineProperty(exports, "findEnvelopeKey", { enumerable: true, get: function () { return ai_root_shapes_1.findEnvelopeKey; } });
|
|
10
|
+
var placeholder_1 = require("./placeholder");
|
|
11
|
+
Object.defineProperty(exports, "buildSchemaPlaceholderItem", { enumerable: true, get: function () { return placeholder_1.buildSchemaPlaceholderItem; } });
|
|
9
12
|
var context_1 = require("./context");
|
|
10
13
|
Object.defineProperty(exports, "buildSchemaContexts", { enumerable: true, get: function () { return context_1.buildSchemaContexts; } });
|
|
11
14
|
Object.defineProperty(exports, "findOutputParserTargets", { enumerable: true, get: function () { return context_1.findOutputParserTargets; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mock-data/index.ts"],"names":[],"mappings":";;;AASA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mock-data/index.ts"],"names":[],"mappings":";;;AASA,mDAM0B;AALzB,iHAAA,eAAe,OAAA;AACf,kHAAA,gBAAgB,OAAA;AAChB,qHAAA,mBAAmB,OAAA;AACnB,wHAAA,sBAAsB,OAAA;AACtB,iHAAA,eAAe,OAAA;AAEhB,6CAGuB;AAFtB,yHAAA,0BAA0B,OAAA;AAG3B,qCAImB;AAHlB,8GAAA,mBAAmB,OAAA;AACnB,kHAAA,uBAAuB,OAAA;AACvB,qHAAA,0BAA0B,OAAA;AAE3B,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAC1B,+CAAkD;AAAzC,gHAAA,gBAAgB,OAAA;AACzB,mCAKkB;AAJjB,gHAAA,sBAAsB,OAAA;AACtB,gHAAA,sBAAsB,OAAA;AACtB,gHAAA,sBAAsB,OAAA;AAGvB,iCAAuE;AAA9D,6GAAA,oBAAoB,OAAA;AAAE,+GAAA,sBAAsB,OAAA;AACrD,uCAIoB;AAHnB,qHAAA,yBAAyB,OAAA;AACzB,2HAAA,+BAA+B,OAAA"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildSchemaPlaceholderItem = buildSchemaPlaceholderItem;
|
|
4
|
+
const is_record_1 = require("@n8n/utils/is-record");
|
|
5
|
+
const ai_root_shapes_1 = require("./ai-root-shapes");
|
|
6
|
+
const MAX_DEPTH = 4;
|
|
7
|
+
const MAX_PROPERTIES = 40;
|
|
8
|
+
const PLACEHOLDER_STRING = 'sample';
|
|
9
|
+
function buildSchemaPlaceholderItem(ctx, options) {
|
|
10
|
+
if (!ctx)
|
|
11
|
+
return {};
|
|
12
|
+
const declared = ctx.declaredFields;
|
|
13
|
+
if (declared?.exact) {
|
|
14
|
+
return fromDeclaredKeys(declared.keys, ctx.dataTableColumns, options, { capped: false });
|
|
15
|
+
}
|
|
16
|
+
const fromSchema = buildFromSchema(ctx.schema, options);
|
|
17
|
+
const withDeclared = declared
|
|
18
|
+
? overlayDeclaredFields(fromSchema, declared.keys, declared.envelopeKey, options)
|
|
19
|
+
: fromSchema;
|
|
20
|
+
if (Object.keys(withDeclared).length > 0)
|
|
21
|
+
return withDeclared;
|
|
22
|
+
return (0, ai_root_shapes_1.buildAiRootPlaceholder)(ctx.nodeType, PLACEHOLDER_STRING) ?? {};
|
|
23
|
+
}
|
|
24
|
+
function overlayDeclaredFields(base, keys, envelopeKey, options) {
|
|
25
|
+
if (keys.length === 0)
|
|
26
|
+
return base;
|
|
27
|
+
const fields = fromDeclaredKeys(keys, undefined, options, { capped: true });
|
|
28
|
+
if (!envelopeKey)
|
|
29
|
+
return { ...base, ...fields };
|
|
30
|
+
const existing = (0, is_record_1.isRecord)(base[envelopeKey]) ? base[envelopeKey] : {};
|
|
31
|
+
return { ...base, [envelopeKey]: { ...existing, ...fields } };
|
|
32
|
+
}
|
|
33
|
+
function fromDeclaredKeys(keys, columns, options, { capped }) {
|
|
34
|
+
const typeByColumn = new Map((columns ?? []).map((column) => [column.name, column.type]));
|
|
35
|
+
const wanted = capped ? keys.slice(0, MAX_PROPERTIES) : keys;
|
|
36
|
+
return Object.fromEntries(wanted.map((key) => [key, declaredValue(key, typeByColumn.get(key), options)]));
|
|
37
|
+
}
|
|
38
|
+
function declaredValue(key, columnType, options) {
|
|
39
|
+
switch (columnType) {
|
|
40
|
+
case 'number':
|
|
41
|
+
return 1;
|
|
42
|
+
case 'boolean':
|
|
43
|
+
return true;
|
|
44
|
+
case 'date':
|
|
45
|
+
return options.now.toISOString();
|
|
46
|
+
case 'string':
|
|
47
|
+
return PLACEHOLDER_STRING;
|
|
48
|
+
default:
|
|
49
|
+
return valueForKeyName(key, options);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function valueForKeyName(key, options) {
|
|
53
|
+
if (key.toLowerCase() === 'id')
|
|
54
|
+
return 1;
|
|
55
|
+
return dateKeyValue(key, options) ?? PLACEHOLDER_STRING;
|
|
56
|
+
}
|
|
57
|
+
function dateKeyValue(key, options) {
|
|
58
|
+
const isTimestampKey = /(?:[a-z0-9]At|_at)$/.test(key) ||
|
|
59
|
+
['timestamp', 'date', 'datetime', 'time'].includes(key.toLowerCase());
|
|
60
|
+
return isTimestampKey ? options.now.toISOString() : undefined;
|
|
61
|
+
}
|
|
62
|
+
function buildFromSchema(schema, options) {
|
|
63
|
+
if (!schema)
|
|
64
|
+
return {};
|
|
65
|
+
const resolved = resolveComposite(schema);
|
|
66
|
+
const target = resolveType(resolved) === 'array' && (0, is_record_1.isRecord)(resolved.items) ? resolved.items : resolved;
|
|
67
|
+
const value = placeholderValue(target, 0, options);
|
|
68
|
+
return (0, is_record_1.isRecord)(value) ? value : {};
|
|
69
|
+
}
|
|
70
|
+
function placeholderValue(schema, depth, options, key) {
|
|
71
|
+
if (!(0, is_record_1.isRecord)(schema))
|
|
72
|
+
return PLACEHOLDER_STRING;
|
|
73
|
+
const resolved = resolveComposite(schema);
|
|
74
|
+
if ('const' in resolved)
|
|
75
|
+
return resolved.const;
|
|
76
|
+
if (Array.isArray(resolved.enum) && resolved.enum.length > 0)
|
|
77
|
+
return resolved.enum[0];
|
|
78
|
+
if (Array.isArray(resolved.examples) && resolved.examples.length > 0)
|
|
79
|
+
return resolved.examples[0];
|
|
80
|
+
if ('default' in resolved)
|
|
81
|
+
return resolved.default;
|
|
82
|
+
switch (resolveType(resolved)) {
|
|
83
|
+
case 'object': {
|
|
84
|
+
if (depth >= MAX_DEPTH)
|
|
85
|
+
return {};
|
|
86
|
+
const properties = (0, is_record_1.isRecord)(resolved.properties) ? resolved.properties : undefined;
|
|
87
|
+
if (!properties)
|
|
88
|
+
return {};
|
|
89
|
+
return Object.fromEntries(Object.entries(properties)
|
|
90
|
+
.slice(0, MAX_PROPERTIES)
|
|
91
|
+
.map(([key, definition]) => [key, propertyValue(key, definition, depth + 1, options)]));
|
|
92
|
+
}
|
|
93
|
+
case 'array': {
|
|
94
|
+
if (depth >= MAX_DEPTH || !(0, is_record_1.isRecord)(resolved.items))
|
|
95
|
+
return [];
|
|
96
|
+
return [placeholderValue(resolved.items, depth + 1, options, key)];
|
|
97
|
+
}
|
|
98
|
+
case 'integer':
|
|
99
|
+
case 'number':
|
|
100
|
+
return 1;
|
|
101
|
+
case 'boolean':
|
|
102
|
+
return true;
|
|
103
|
+
case 'null':
|
|
104
|
+
return null;
|
|
105
|
+
case 'string':
|
|
106
|
+
return stringValue(resolved, key, options);
|
|
107
|
+
default:
|
|
108
|
+
return PLACEHOLDER_STRING;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function propertyValue(key, definition, depth, options) {
|
|
112
|
+
if ((0, is_record_1.isRecord)(definition)) {
|
|
113
|
+
const resolved = resolveComposite(definition);
|
|
114
|
+
const hasLiteral = 'const' in resolved ||
|
|
115
|
+
'default' in resolved ||
|
|
116
|
+
Array.isArray(resolved.enum) ||
|
|
117
|
+
Array.isArray(resolved.examples);
|
|
118
|
+
if (!hasLiteral && resolveType(resolved) === undefined)
|
|
119
|
+
return valueForKeyName(key, options);
|
|
120
|
+
}
|
|
121
|
+
return placeholderValue(definition, depth, options, key);
|
|
122
|
+
}
|
|
123
|
+
function stringValue(schema, key, options) {
|
|
124
|
+
const format = typeof schema.format === 'string' ? schema.format : undefined;
|
|
125
|
+
switch (format) {
|
|
126
|
+
case 'date-time':
|
|
127
|
+
return options.now.toISOString();
|
|
128
|
+
case 'date':
|
|
129
|
+
return options.now.toISOString().slice(0, 10);
|
|
130
|
+
case 'time':
|
|
131
|
+
return options.now.toISOString().slice(11, 19);
|
|
132
|
+
case 'email':
|
|
133
|
+
return 'jane@example.com';
|
|
134
|
+
case 'uri':
|
|
135
|
+
case 'url':
|
|
136
|
+
return 'https://example.com/sample';
|
|
137
|
+
case 'uuid':
|
|
138
|
+
return '00000000-0000-4000-8000-000000000000';
|
|
139
|
+
default:
|
|
140
|
+
return (key ? dateKeyValue(key, options) : undefined) ?? PLACEHOLDER_STRING;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function resolveComposite(schema) {
|
|
144
|
+
let resolved = schema;
|
|
145
|
+
const allOf = schema.allOf;
|
|
146
|
+
if (Array.isArray(allOf)) {
|
|
147
|
+
for (const branch of allOf) {
|
|
148
|
+
if ((0, is_record_1.isRecord)(branch))
|
|
149
|
+
resolved = mergeBranch(resolved, branch);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
for (const key of ['anyOf', 'oneOf']) {
|
|
153
|
+
const branches = resolved[key];
|
|
154
|
+
if (!Array.isArray(branches))
|
|
155
|
+
continue;
|
|
156
|
+
const branch = branches.find((candidate) => (0, is_record_1.isRecord)(candidate));
|
|
157
|
+
if ((0, is_record_1.isRecord)(branch))
|
|
158
|
+
resolved = mergeBranch(resolved, branch);
|
|
159
|
+
}
|
|
160
|
+
return resolved;
|
|
161
|
+
}
|
|
162
|
+
function mergeBranch(base, branch) {
|
|
163
|
+
const merged = { ...base, ...branch };
|
|
164
|
+
if ((0, is_record_1.isRecord)(base.properties) && (0, is_record_1.isRecord)(branch.properties)) {
|
|
165
|
+
merged.properties = { ...base.properties, ...branch.properties };
|
|
166
|
+
}
|
|
167
|
+
return merged;
|
|
168
|
+
}
|
|
169
|
+
function resolveType(schema) {
|
|
170
|
+
const declared = schema.type;
|
|
171
|
+
if (typeof declared === 'string')
|
|
172
|
+
return declared;
|
|
173
|
+
if (Array.isArray(declared)) {
|
|
174
|
+
const entries = declared;
|
|
175
|
+
const usable = entries.find((entry) => typeof entry === 'string' && entry !== 'null');
|
|
176
|
+
if (typeof usable === 'string')
|
|
177
|
+
return usable;
|
|
178
|
+
if (entries.includes('null'))
|
|
179
|
+
return 'null';
|
|
180
|
+
}
|
|
181
|
+
if ((0, is_record_1.isRecord)(schema.properties))
|
|
182
|
+
return 'object';
|
|
183
|
+
if ((0, is_record_1.isRecord)(schema.items))
|
|
184
|
+
return 'array';
|
|
185
|
+
return undefined;
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=placeholder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../src/mock-data/placeholder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NODE_DEPRECATION_NOTICE = void 0;
|
|
4
|
+
exports.nodeDeprecationMessage = nodeDeprecationMessage;
|
|
5
|
+
exports.NODE_DEPRECATION_NOTICE = 'This node type is retired. Do not use it in a new workflow.';
|
|
6
|
+
const NO_REPLACEMENT_ADVICE = 'Search for a supported node that does the same work.';
|
|
7
|
+
function nodeDeprecationMessage(searchHint) {
|
|
8
|
+
const hint = searchHint?.trim() ?? '';
|
|
9
|
+
return `${exports.NODE_DEPRECATION_NOTICE} ${hint.length > 0 ? hint : NO_REPLACEMENT_ADVICE}`;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=node-deprecation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-deprecation.js","sourceRoot":"","sources":["../src/node-deprecation.ts"],"names":[],"mappings":";;;;AAaa,QAAA,uBAAuB,GACnC,6DAA6D,CAAC;AAG/D,MAAM,qBAAqB,GAAG,sDAAsD,CAAC;AAGrF,gCAAuC,UAAmB;IACzD,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtC,OAAO,GAAG,QAAA,uBAAuB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;AACvF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const WORKFLOW_RULES = "Follow these rules strictly when generating workflows:\n\n1. **Always use newCredential() for authentication**\n - When a node needs credentials, always use `newCredential('Name')` in the credentials config\n - NEVER use placeholder strings, fake API keys, or hardcoded auth values\n - Never synthesize credential IDs. Do not invent raw IDs such as `WHATSAPP_CREDENTIAL_ID`, `mock-gmail-oauth2`, or any `mock-*` value\n - If `availableCredentials` is provided, treat it as an allow-list: copy an existing credential ID exactly or use `newCredential('Name')` without an ID\n - Example: `credentials: { slackApi: newCredential('Slack Bot') }`\n - The credential type must match what the node expects\n\n2. **Trust empty item lists \u2014 don't synthesize fake items**\n - When a query returns 0 items, downstream nodes simply don't run for that execution. For scheduled or polling triggers this is the correct \"nothing to do this round\" signal \u2014 the next run will execute normally when data appears.\n - DO NOT add `alwaysOutputData: true` just to \"keep the chain alive.\" Forcing an empty `{}` item downstream is what causes `undefined` reads, failed HTTP calls to `GET undefined`, and Code-node crashes on missing fields.\n - DO NOT add an IF gate before a loop to check \"has items?\" \u2014 loops (`splitInBatches`, per-item nodes, `filter`) already no-op on empty input. The gate is redundant and adds a failure surface.\n - `alwaysOutputData: true` is only correct when you specifically need a downstream branch to run on the \"empty\" case \u2014 e.g. a dedicated \"no matches found\" notification path. In that case, pair it with an `IF` that explicitly checks for the empty case and routes accordingly. Never use it as a default.\n - To drop invalid items mid-pipeline, use a `filter` node. A `filter` that rejects everything emits 0 items and the chain correctly stops \u2014 no `IF` + `splitInBatches` composition needed.\n\n3. **Use `executeOnce: true` for single-execution nodes**\n - When a node receives N items but should only execute once (not N times), set `executeOnce: true`\n - Common cases: sending a summary notification, generating a report, calling an API that doesn't need per-item execution\n - If a node fetches shared context independently but is chained after a multi-item source, set `executeOnce: true` so it does not run once per incoming item\n - Duplicate notifications, duplicate API calls, or repeated shared-context fetches usually mean a downstream node is missing `executeOnce: true` or should be on a parallel branch\n - Example: `config: { ..., executeOnce: true }`\n\n4. **Use raw HTTP bodies for XML, SOAP, and plain-text payloads**\n - For HTTP Request nodes that send XML, SOAP, CSV, or plain text, set `sendBody: true`, `contentType: 'raw'`, put the payload in `body`, and set `rawContentType` to the matching media type such as `'text/xml'` or `'application/xml'`.\n - Do NOT set `specifyBody`, `jsonBody`, or `bodyParameters` for raw payloads.\n - Use `contentType: 'json'` and `specifyBody: 'json'` only when the request body is valid JSON. Never put XML or SOAP strings in `jsonBody`.\n - This still applies when a previous Code or Set node builds the XML string: do NOT set `jsonBody: expr('{{ $json.soapBody }}')` or similar. Reference that value from the HTTP Request `body` field with `contentType: 'raw'`.\n\n5. **Pick the right control-flow primitive**\n - **Per-item loop with side effects (fetch, embed, write)** \u2192 `splitInBatches` with `batchSize: 1` feeding the per-item work, loop back via `nextBatch`. No `IF` gate before it.\n - **Drop items that don't match a predicate** \u2192 `filter`. It emits 0 items when nothing matches, and the chain stops cleanly.\n - **Two mutually exclusive paths that both do real work** \u2192 `IF` (`onTrue` / `onFalse`).\n - **Many mutually exclusive paths keyed off a value** \u2192 `switch` (`onCase`).\n - A Filter or IF only selects items; it does not perform a requested side effect. If the user asks to archive, update, delete, send, or create only matching items, wire the corresponding action node on the matching path.\n - Nested control flow is supported: `ifNode.onTrue(loopBuilder)`, `switchNode.onCase(0, loopBuilder)`, and `splitInBatches(sib).onEachBatch(ifElseBuilder)` all compile and wire correctly. Use them when the semantics genuinely call for it, not as a workaround for empty-list handling.\n\n6. **Input and output indices are 0-based \u2014 `.input(0)` is the FIRST input**\n - `.input(0)` and `.output(0)` refer to the **first** input/output. `.input(1)` and `.output(1)` refer to the **second**. `.input(1)` is NOT the first input \u2014 it is the second one.\n - This applies everywhere indices are passed: `.input(n)`, `.output(n)`, `.onCase(n, ...)` for switch outputs, and any `outputIndex` argument.\n - When wiring N branches to a Merge node, the indices are `0, 1, ..., N-1` \u2014 never `1, 2, ..., N`.\n - Counter-examples to AVOID:\n - WRONG: `sourceA.to(merge.input(1))` followed by `sourceB.to(merge.input(2))` \u2014 this skips input 0 entirely; the first branch is silently dropped.\n - CORRECT: `sourceA.to(merge.input(0))` followed by `sourceB.to(merge.input(1))`.\n\n7. **Inserting a node into an existing connection changes what downstream receives**\n - A node receives ONLY its immediate predecessor's output. Inserting C between A\u2192B means B now reads C's output \u2014 `$json` references and auto-mapped (\"map automatically\") fields in B silently switch from A's data to C's.\n - Write/create/send nodes (rows appended, sheets/pages created, messages sent) output their **API response** \u2014 ids, metadata, `ok` flags \u2014 NOT the data that flowed into them. Inserting one in-line before another write (e.g. a create-if-missing step before an append) replaces the payload with metadata.\n - Keep the data path intact instead:\n - **Branch in parallel**: wire the inserted node as a sibling branch off the data producer, so the original data still flows into the downstream node.\n - **Reorder upstream**: place the inserted step before the data-producing node (trigger \u2192 ensure-target \u2192 produce data \u2192 write).\n - **Reference explicitly**: have the downstream node read `$('Data Node').item.json.field` instead of `$json`.\n - Counter-example to AVOID:\n - WRONG: `code.to(ensureSheet).to(appendRows)` \u2014 appendRows maps the create-sheet response, not the rows from `code`.\n - CORRECT: `trigger.to(ensureSheet).to(code).to(appendRows)` \u2014 the ensure step runs before the data is produced, and the write still receives the data.";
|
|
1
|
+
export declare const WORKFLOW_RULES = "Follow these rules strictly when generating workflows:\n\n1. **Always use newCredential() for authentication**\n - When a node needs credentials, always use `newCredential('Name')` in the credentials config\n - NEVER use placeholder strings, fake API keys, or hardcoded auth values\n - Never synthesize credential IDs. Do not invent raw IDs such as `WHATSAPP_CREDENTIAL_ID`, `mock-gmail-oauth2`, or any `mock-*` value\n - If `availableCredentials` is provided, treat it as an allow-list: copy an existing credential ID exactly or use `newCredential('Name')` without an ID\n - Example: `credentials: { slackApi: newCredential('Slack Bot') }`\n - The credential type must match what the node expects\n\n2. **Trust empty item lists \u2014 don't synthesize fake items**\n - When a query returns 0 items, downstream nodes simply don't run for that execution. For scheduled or polling triggers this is the correct \"nothing to do this round\" signal \u2014 the next run will execute normally when data appears.\n - DO NOT add `alwaysOutputData: true` just to \"keep the chain alive.\" Forcing an empty `{}` item downstream is what causes `undefined` reads, failed HTTP calls to `GET undefined`, and Code-node crashes on missing fields.\n - DO NOT add an IF gate before a loop to check \"has items?\" \u2014 loops (`splitInBatches`, per-item nodes, `filter`) already no-op on empty input. The gate is redundant and adds a failure surface.\n - `alwaysOutputData: true` is only correct when you specifically need a downstream branch to run on the \"empty\" case \u2014 e.g. a dedicated \"no matches found\" notification path. In that case, pair it with an `IF` that explicitly checks for the empty case and routes accordingly. Never use it as a default.\n - To drop invalid items mid-pipeline, use a `filter` node. A `filter` that rejects everything emits 0 items and the chain correctly stops \u2014 no `IF` + `splitInBatches` composition needed.\n\n3. **Use `executeOnce: true` for single-execution nodes**\n - When a node receives N items but should only execute once (not N times), set `executeOnce: true`\n - Common cases: sending a summary notification, generating a report, calling an API that doesn't need per-item execution\n - If a node fetches shared context independently but is chained after a multi-item source, set `executeOnce: true` so it does not run once per incoming item\n - Duplicate notifications, duplicate API calls, or repeated shared-context fetches usually mean a downstream node is missing `executeOnce: true` or should be on a parallel branch\n - Example: `config: { ..., executeOnce: true }`\n\n4. **Use raw HTTP bodies for XML, SOAP, and plain-text payloads**\n - For HTTP Request nodes that send XML, SOAP, CSV, or plain text, set `sendBody: true`, `contentType: 'raw'`, put the payload in `body`, and set `rawContentType` to the matching media type such as `'text/xml'` or `'application/xml'`.\n - Do NOT set `specifyBody`, `jsonBody`, or `bodyParameters` for raw payloads.\n - Use `contentType: 'json'` and `specifyBody: 'json'` only when the request body is valid JSON. Never put XML or SOAP strings in `jsonBody`.\n - This still applies when a previous Code or Set node builds the XML string: do NOT set `jsonBody: expr('{{ $json.soapBody }}')` or similar. Reference that value from the HTTP Request `body` field with `contentType: 'raw'`.\n\n5. **Pick the right control-flow primitive**\n - **Per-item loop with side effects (fetch, embed, write)** \u2192 `splitInBatches` with `batchSize: 1` feeding the per-item work, loop back via `nextBatch`. No `IF` gate before it.\n - **Drop items that don't match a predicate** \u2192 `filter`. It emits 0 items when nothing matches, and the chain stops cleanly.\n - **Two mutually exclusive paths that both do real work** \u2192 `IF` (`onTrue` / `onFalse`).\n - **Many mutually exclusive paths keyed off a value** \u2192 `switch` (`onCase`).\n - A Filter or IF only selects items; it does not perform a requested side effect. If the user asks to archive, update, delete, send, or create only matching items, wire the corresponding action node on the matching path.\n - Nested control flow is supported: `ifNode.onTrue(loopBuilder)`, `switchNode.onCase(0, loopBuilder)`, and `splitInBatches(sib).onEachBatch(ifElseBuilder)` all compile and wire correctly. Use them when the semantics genuinely call for it, not as a workaround for empty-list handling.\n\n6. **Input and output indices are 0-based \u2014 `.input(0)` is the FIRST input**\n - `.input(0)` and `.output(0)` refer to the **first** input/output. `.input(1)` and `.output(1)` refer to the **second**. `.input(1)` is NOT the first input \u2014 it is the second one.\n - This applies everywhere indices are passed: `.input(n)`, `.output(n)`, `.onCase(n, ...)` for switch outputs, and any `outputIndex` argument.\n - When wiring N branches to a Merge node, the indices are `0, 1, ..., N-1` \u2014 never `1, 2, ..., N`.\n - Counter-examples to AVOID:\n - WRONG: `sourceA.to(merge.input(1))` followed by `sourceB.to(merge.input(2))` \u2014 this skips input 0 entirely; the first branch is silently dropped.\n - CORRECT: `sourceA.to(merge.input(0))` followed by `sourceB.to(merge.input(1))`.\n\n7. **Inserting a node into an existing connection changes what downstream receives**\n - A node receives ONLY its immediate predecessor's output. Inserting C between A\u2192B means B now reads C's output \u2014 `$json` references and auto-mapped (\"map automatically\") fields in B silently switch from A's data to C's.\n - Write/create/send nodes (rows appended, sheets/pages created, messages sent) output their **API response** \u2014 ids, metadata, `ok` flags \u2014 NOT the data that flowed into them. Inserting one in-line before another write (e.g. a create-if-missing step before an append) replaces the payload with metadata.\n - Keep the data path intact instead:\n - **Branch in parallel**: wire the inserted node as a sibling branch off the data producer, so the original data still flows into the downstream node.\n - **Reorder upstream**: place the inserted step before the data-producing node (trigger \u2192 ensure-target \u2192 produce data \u2192 write).\n - **Reference explicitly**: have the downstream node read `$('Data Node').item.json.field` instead of `$json`.\n - Counter-example to AVOID:\n - WRONG: `code.to(ensureSheet).to(appendRows)` \u2014 appendRows maps the create-sheet response, not the rows from `code`.\n - CORRECT: `trigger.to(ensureSheet).to(code).to(appendRows)` \u2014 the ensure step runs before the data is produced, and the write still receives the data.\n\n8. **Polling triggers that feed create/write actions need a mark-as-handled step**\n - When a polling trigger (Gmail Trigger, Outlook Trigger, or similar) feeds an action that creates or writes records \u2014 tasks, rows, tickets, messages \u2014 the workflow must ensure each polled item is processed once. Poll cursors are best-effort bookkeeping: they reset when the trigger node is recreated or renamed, and every still-matching item is then re-delivered and re-creates its record as a duplicate.\n - Use one of these mechanisms:\n - Restrict the trigger to unread/unprocessed items AND mark each item handled once its record exists \u2014 in a way the trigger's own filter excludes: mark as read when filtering unread, move out of the watched folder, or apply a label ONLY if the trigger's query also excludes that label (adding a label does not mark a message read, so a label alone changes nothing under an unread filter).\n - Record handled item ids in a Data Table and skip ids already seen: look the id up BEFORE creating the record, and insert it only AFTER the create succeeds.\n - An unread filter alone is NOT enough. If no step ever marks the item read, the filter never excludes anything \u2014 the workflow looks correct on the canvas while still reprocessing every item.\n - The mark-as-handled step must run AFTER the record is created \u2014 wire it downstream of the create node (a terminal write is fine under rule 7) \u2014 so a mid-run failure cannot consume an item without producing its output. This ordering deliberately trades a rare duplicate (create succeeded, marking failed) for never losing an item; do not invert it.";
|
|
@@ -56,5 +56,13 @@ exports.WORKFLOW_RULES = `Follow these rules strictly when generating workflows:
|
|
|
56
56
|
- **Reference explicitly**: have the downstream node read \`$('Data Node').item.json.field\` instead of \`$json\`.
|
|
57
57
|
- Counter-example to AVOID:
|
|
58
58
|
- WRONG: \`code.to(ensureSheet).to(appendRows)\` — appendRows maps the create-sheet response, not the rows from \`code\`.
|
|
59
|
-
- CORRECT: \`trigger.to(ensureSheet).to(code).to(appendRows)\` — the ensure step runs before the data is produced, and the write still receives the data
|
|
59
|
+
- CORRECT: \`trigger.to(ensureSheet).to(code).to(appendRows)\` — the ensure step runs before the data is produced, and the write still receives the data.
|
|
60
|
+
|
|
61
|
+
8. **Polling triggers that feed create/write actions need a mark-as-handled step**
|
|
62
|
+
- When a polling trigger (Gmail Trigger, Outlook Trigger, or similar) feeds an action that creates or writes records — tasks, rows, tickets, messages — the workflow must ensure each polled item is processed once. Poll cursors are best-effort bookkeeping: they reset when the trigger node is recreated or renamed, and every still-matching item is then re-delivered and re-creates its record as a duplicate.
|
|
63
|
+
- Use one of these mechanisms:
|
|
64
|
+
- Restrict the trigger to unread/unprocessed items AND mark each item handled once its record exists — in a way the trigger's own filter excludes: mark as read when filtering unread, move out of the watched folder, or apply a label ONLY if the trigger's query also excludes that label (adding a label does not mark a message read, so a label alone changes nothing under an unread filter).
|
|
65
|
+
- Record handled item ids in a Data Table and skip ids already seen: look the id up BEFORE creating the record, and insert it only AFTER the create succeeds.
|
|
66
|
+
- An unread filter alone is NOT enough. If no step ever marks the item read, the filter never excludes anything — the workflow looks correct on the canvas while still reprocessing every item.
|
|
67
|
+
- The mark-as-handled step must run AFTER the record is created — wire it downstream of the create node (a terminal write is fine under rule 7) — so a mid-run failure cannot consume an item without producing its output. This ordering deliberately trades a rare duplicate (create succeeded, marking failed) for never losing an item; do not invert it.`;
|
|
60
68
|
//# sourceMappingURL=workflow-rules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-rules.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/workflow-rules.ts"],"names":[],"mappings":";;;AAQa,QAAA,cAAc,GAAG
|
|
1
|
+
{"version":3,"file":"workflow-rules.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/workflow-rules.ts"],"names":[],"mappings":";;;AAQa,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iWA+DmU,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.buildUncheckedNotes = buildUncheckedNotes;
|
|
4
7
|
exports.validateWorkflowBuilder = validateWorkflowBuilder;
|
|
8
|
+
const escapeRegExp_1 = __importDefault(require("lodash/escapeRegExp"));
|
|
5
9
|
const lint_1 = require("../lint");
|
|
6
10
|
const issue_severity_1 = require("./issue-severity");
|
|
7
11
|
const schema_validator_1 = require("./node-parameter-schema/schema-validator");
|
|
@@ -24,11 +28,8 @@ function buildUncheckedNotes(options) {
|
|
|
24
28
|
}
|
|
25
29
|
return unchecked;
|
|
26
30
|
}
|
|
27
|
-
function escapeRegExp(value) {
|
|
28
|
-
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
29
|
-
}
|
|
30
31
|
function findNodeLocation(sourceLines, nodeName) {
|
|
31
|
-
const pattern = new RegExp(`\\bname:\\s*['"]${
|
|
32
|
+
const pattern = new RegExp(`\\bname:\\s*['"]${(0, escapeRegExp_1.default)(nodeName)}['"]`);
|
|
32
33
|
for (let i = 0; i < sourceLines.length; i++) {
|
|
33
34
|
const match = pattern.exec(sourceLines[i] ?? '');
|
|
34
35
|
if (match) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-workflow-builder.js","sourceRoot":"","sources":["../../src/validation/validate-workflow-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate-workflow-builder.js","sourceRoot":"","sources":["../../src/validation/validate-workflow-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { INodeTypes } from 'n8n-workflow';
|
|
2
2
|
import type { WorkflowBuilder, WorkflowJSON } from '../types/base';
|
|
3
|
-
export type ValidationErrorCode = 'NO_NODES' | 'DUPLICATE_NODE_ID' | 'MISSING_TRIGGER' | 'DISCONNECTED_NODE' | 'MISSING_PARAMETER' | 'INVALID_CONNECTION' | 'CIRCULAR_REFERENCE' | 'INVALID_EXPRESSION' | 'AGENT_STATIC_PROMPT' | 'AGENT_NO_SYSTEM_MESSAGE' | 'HARDCODED_CREDENTIALS' | 'SET_CREDENTIAL_FIELD' | 'MERGE_SINGLE_INPUT' | 'TOOL_NO_PARAMETERS' | 'FROM_AI_IN_NON_TOOL' | 'MISSING_EXPRESSION_PREFIX' | 'INVALID_PARAMETER' | 'INVALID_INPUT_INDEX' | 'INVALID_OUTPUT_INDEX' | 'SUBNODE_NOT_CONNECTED' | 'DUPLICATE_SUBNODE_CONNECTION' | 'SUBNODE_PARAMETER_MISMATCH' | 'UNSUPPORTED_SUBNODE_INPUT' | 'MISSING_REQUIRED_INPUT' | 'INVALID_OUTPUT_FOR_MODE' | 'SWITCH_NO_OUTPUT_CONNECTIONS' | 'SWITCH_FALLBACK_OUTPUT_DISABLED' | 'MAX_NODES_EXCEEDED' | 'INVALID_EXPRESSION_PATH' | 'PARTIAL_EXPRESSION_PATH' | 'INVALID_DATE_METHOD' | 'UNKNOWN_CONFIG_KEY' | 'UNKNOWN_NODE_VERSION';
|
|
3
|
+
export type ValidationErrorCode = 'NO_NODES' | 'DUPLICATE_NODE_ID' | 'MISSING_TRIGGER' | 'DISCONNECTED_NODE' | 'MISSING_PARAMETER' | 'INVALID_CONNECTION' | 'CIRCULAR_REFERENCE' | 'INVALID_EXPRESSION' | 'AGENT_STATIC_PROMPT' | 'AGENT_NO_SYSTEM_MESSAGE' | 'HARDCODED_CREDENTIALS' | 'SET_CREDENTIAL_FIELD' | 'MERGE_SINGLE_INPUT' | 'TOOL_NO_PARAMETERS' | 'FROM_AI_IN_NON_TOOL' | 'MISSING_EXPRESSION_PREFIX' | 'INVALID_PARAMETER' | 'INVALID_INPUT_INDEX' | 'INVALID_OUTPUT_INDEX' | 'SUBNODE_NOT_CONNECTED' | 'DUPLICATE_SUBNODE_CONNECTION' | 'SUBNODE_PARAMETER_MISMATCH' | 'UNSUPPORTED_SUBNODE_INPUT' | 'MISSING_REQUIRED_INPUT' | 'INVALID_OUTPUT_FOR_MODE' | 'SWITCH_NO_OUTPUT_CONNECTIONS' | 'SWITCH_FALLBACK_OUTPUT_DISABLED' | 'MAX_NODES_EXCEEDED' | 'INVALID_EXPRESSION_PATH' | 'PARTIAL_EXPRESSION_PATH' | 'INVALID_DATE_METHOD' | 'UNKNOWN_CONFIG_KEY' | 'UNKNOWN_NODE_VERSION' | 'DEPRECATED_NODE_TYPE';
|
|
4
4
|
export declare class ValidationError {
|
|
5
5
|
readonly code: ValidationErrorCode;
|
|
6
6
|
readonly message: string;
|
|
@@ -13,6 +13,7 @@ const schema_validator_1 = require("./node-parameter-schema/schema-validator");
|
|
|
13
13
|
const resolve_main_input_count_1 = require("./node-port-resolvers/resolve-main-input-count");
|
|
14
14
|
const resolve_main_output_count_1 = require("./node-port-resolvers/resolve-main-output-count");
|
|
15
15
|
const node_types_1 = require("../constants/node-types");
|
|
16
|
+
const node_deprecation_1 = require("../node-deprecation");
|
|
16
17
|
const trigger_detection_1 = require("../utils/trigger-detection");
|
|
17
18
|
const workflow_json_engine_helpers_1 = require("../utils/workflow-json-engine-helpers");
|
|
18
19
|
const string_utils_1 = require("../workflow-builder/string-utils");
|
|
@@ -235,6 +236,21 @@ function collectUnknownVersionWarnings(json, provider, warnings) {
|
|
|
235
236
|
}
|
|
236
237
|
}
|
|
237
238
|
}
|
|
239
|
+
function collectDeprecatedNodeWarnings(json, provider, warnings) {
|
|
240
|
+
for (const node of json.nodes) {
|
|
241
|
+
let description;
|
|
242
|
+
try {
|
|
243
|
+
description = provider.getByNameAndVersion(node.type, resolveTypeVersion(node.typeVersion))?.description;
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
if (description?.hidden !== true)
|
|
249
|
+
continue;
|
|
250
|
+
const advice = (0, node_deprecation_1.nodeDeprecationMessage)(description.builderHint?.searchHint);
|
|
251
|
+
warnings.push(ValidationWarning.informational('DEPRECATED_NODE_TYPE', `Node '${node.name}' uses the retired node type '${node.type}'. ${advice}`, node.name, undefined, undefined, 'major'));
|
|
252
|
+
}
|
|
253
|
+
}
|
|
238
254
|
function validateWorkflow(workflowOrJson, options = {}) {
|
|
239
255
|
const json = 'toJSON' in workflowOrJson ? workflowOrJson.toJSON() : workflowOrJson;
|
|
240
256
|
const errors = [];
|
|
@@ -245,6 +261,9 @@ function validateWorkflow(workflowOrJson, options = {}) {
|
|
|
245
261
|
if (options.nodeTypesProvider) {
|
|
246
262
|
collectUnknownVersionWarnings(json, options.nodeTypesProvider, warnings);
|
|
247
263
|
}
|
|
264
|
+
if (nodeTypesProvider) {
|
|
265
|
+
collectDeprecatedNodeWarnings(json, nodeTypesProvider, warnings);
|
|
266
|
+
}
|
|
248
267
|
if (!options.allowNoTrigger) {
|
|
249
268
|
const hasTrigger = json.nodes.some((node) => (0, trigger_detection_1.isTriggerNodeType)(node.type));
|
|
250
269
|
if (!hasTrigger) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-workflow.js","sourceRoot":"","sources":["../../src/validation/validate-workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate-workflow.js","sourceRoot":"","sources":["../../src/validation/validate-workflow.ts"],"names":[],"mappings":"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"}
|