first commit

This commit is contained in:
2025-10-26 23:10:15 +08:00
commit 8f0345b7be
14961 changed files with 2356381 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
export declare function augmentArray<T>(data: T[]): T[];
export declare function augmentObject<T extends object>(data: T): T;
//# sourceMappingURL=augment-object.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"augment-object.d.ts","sourceRoot":"","sources":["../../src/augment-object.ts"],"names":[],"mappings":"AAmBA,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAuD9C;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAmF1D"}

143
node_modules/n8n-workflow/dist/esm/augment-object.js generated vendored Normal file
View File

@@ -0,0 +1,143 @@
const defaultPropertyDescriptor = Object.freeze({ enumerable: true, configurable: true });
// eslint-disable-next-line @typescript-eslint/unbound-method
const { hasOwnProperty } = Object.prototype;
const augmentedObjects = new WeakSet();
function augment(value) {
if (typeof value !== 'object' || value === null || value instanceof RegExp)
return value;
if (value instanceof Date)
return new Date(value.valueOf());
if (value instanceof Uint8Array)
return value.slice();
if (Array.isArray(value))
return augmentArray(value);
return augmentObject(value);
}
export function augmentArray(data) {
if (augmentedObjects.has(data))
return data;
let newData = undefined;
function getData() {
if (newData === undefined) {
newData = [...data];
}
return newData;
}
const proxy = new Proxy(data, {
deleteProperty(_target, key) {
return Reflect.deleteProperty(getData(), key);
},
get(target, key, receiver) {
if (key === 'constructor')
return Array;
const value = Reflect.get(newData ?? target, key, receiver);
const newValue = augment(value);
if (newValue !== value) {
newData = getData();
Reflect.set(newData, key, newValue);
return newValue;
}
return value;
},
getOwnPropertyDescriptor(target, key) {
if (newData === undefined) {
return Reflect.getOwnPropertyDescriptor(target, key);
}
if (key === 'length') {
return Reflect.getOwnPropertyDescriptor(newData, key);
}
return Object.getOwnPropertyDescriptor(data, key) ?? defaultPropertyDescriptor;
},
has(target, key) {
return Reflect.has(newData ?? target, key);
},
ownKeys(target) {
return Reflect.ownKeys(newData ?? target);
},
set(_target, key, newValue) {
// Always proxy all objects. Like that we can check in get simply if it
// is a proxy and it does then not matter if it was already there from the
// beginning and it got proxied at some point or set later and so theoretically
// does not have to get proxied
return Reflect.set(getData(), key, augment(newValue));
},
});
augmentedObjects.add(proxy);
return proxy;
}
export function augmentObject(data) {
if (augmentedObjects.has(data))
return data;
const newData = {};
const deletedProperties = new Set();
const proxy = new Proxy(data, {
get(target, key, receiver) {
if (key === 'constructor')
return Object;
if (deletedProperties.has(key)) {
return undefined;
}
if (hasOwnProperty.call(newData, key)) {
return newData[key];
}
const value = Reflect.get(target, key, receiver);
if (typeof value !== 'object' || value === null)
return value;
if (value instanceof RegExp)
return value.toString();
if ('toJSON' in value && typeof value.toJSON === 'function')
return value.toJSON();
const newValue = augment(value);
if (newValue !== value) {
Object.assign(newData, { [key]: newValue });
return newValue;
}
return value;
},
deleteProperty(_target, key) {
if (hasOwnProperty.call(newData, key)) {
delete newData[key];
}
if (hasOwnProperty.call(data, key)) {
deletedProperties.add(key);
}
return true;
},
set(target, key, newValue) {
if (newValue === undefined) {
if (key in newData) {
delete newData[key];
}
if (key in target) {
deletedProperties.add(key);
}
return true;
}
newData[key] = newValue;
if (deletedProperties.has(key)) {
deletedProperties.delete(key);
}
return true;
},
has(_target, key) {
if (deletedProperties.has(key))
return false;
const target = hasOwnProperty.call(newData, key) ? newData : data;
return Reflect.has(target, key);
},
ownKeys(target) {
const originalKeys = Reflect.ownKeys(target);
const newKeys = Object.keys(newData);
return [...new Set([...originalKeys, ...newKeys])].filter((key) => !deletedProperties.has(key));
},
getOwnPropertyDescriptor(_target, key) {
if (deletedProperties.has(key))
return undefined;
const target = hasOwnProperty.call(newData, key) ? newData : data;
return Object.getOwnPropertyDescriptor(target, key);
},
});
augmentedObjects.add(proxy);
return proxy;
}
//# sourceMappingURL=augment-object.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
import type { IConnections, NodeConnectionType } from '../interfaces';
export declare function getChildNodes(connectionsBySourceNode: IConnections, nodeName: string, type?: NodeConnectionType | 'ALL' | 'ALL_NON_MAIN', depth?: number): string[];
//# sourceMappingURL=get-child-nodes.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-child-nodes.d.ts","sourceRoot":"","sources":["../../../src/common/get-child-nodes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEtE,wBAAgB,aAAa,CAC5B,uBAAuB,EAAE,YAAY,EACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,kBAAkB,GAAG,KAAK,GAAG,cAAyC,EAC5E,KAAK,SAAK,GACR,MAAM,EAAE,CAEV"}

View File

@@ -0,0 +1,6 @@
import { getConnectedNodes } from './get-connected-nodes';
import { NodeConnectionTypes } from '../interfaces';
export function getChildNodes(connectionsBySourceNode, nodeName, type = NodeConnectionTypes.Main, depth = -1) {
return getConnectedNodes(connectionsBySourceNode, nodeName, type, depth);
}
//# sourceMappingURL=get-child-nodes.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-child-nodes.js","sourceRoot":"","sources":["../../../src/common/get-child-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,MAAM,UAAU,aAAa,CAC5B,uBAAqC,EACrC,QAAgB,EAChB,OAAoD,mBAAmB,CAAC,IAAI,EAC5E,KAAK,GAAG,CAAC,CAAC;IAEV,OAAO,iBAAiB,CAAC,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC"}

View File

@@ -0,0 +1,10 @@
import type { IConnections, NodeConnectionType } from '../interfaces';
/**
* Gets all the nodes which are connected nodes starting from
* the given one
*
* @param {NodeConnectionType} [type='main']
* @param {*} [depth=-1]
*/
export declare function getConnectedNodes(connections: IConnections, nodeName: string, connectionType?: NodeConnectionType | 'ALL' | 'ALL_NON_MAIN', depth?: number, checkedNodesIncoming?: string[]): string[];
//# sourceMappingURL=get-connected-nodes.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-connected-nodes.d.ts","sourceRoot":"","sources":["../../../src/common/get-connected-nodes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAChC,WAAW,EAAE,YAAY,EACzB,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,kBAAkB,GAAG,KAAK,GAAG,cAAyC,EACtF,KAAK,SAAK,EACV,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAC7B,MAAM,EAAE,CAiFV"}

View File

@@ -0,0 +1,71 @@
import { NodeConnectionTypes } from '../interfaces';
/**
* Gets all the nodes which are connected nodes starting from
* the given one
*
* @param {NodeConnectionType} [type='main']
* @param {*} [depth=-1]
*/
export function getConnectedNodes(connections, nodeName, connectionType = NodeConnectionTypes.Main, depth = -1, checkedNodesIncoming) {
const newDepth = depth === -1 ? depth : depth - 1;
if (depth === 0) {
// Reached max depth
return [];
}
if (!connections.hasOwnProperty(nodeName)) {
// Node does not have incoming connections
return [];
}
let types;
if (connectionType === 'ALL') {
types = Object.keys(connections[nodeName]);
}
else if (connectionType === 'ALL_NON_MAIN') {
types = Object.keys(connections[nodeName]).filter((type) => type !== 'main');
}
else {
types = [connectionType];
}
let addNodes;
let nodeIndex;
let i;
let parentNodeName;
const returnNodes = [];
types.forEach((type) => {
if (!connections[nodeName].hasOwnProperty(type)) {
// Node does not have incoming connections of given type
return;
}
const checkedNodes = checkedNodesIncoming ? [...checkedNodesIncoming] : [];
if (checkedNodes.includes(nodeName)) {
// Node got checked already before
return;
}
checkedNodes.push(nodeName);
connections[nodeName][type].forEach((connectionsByIndex) => {
connectionsByIndex?.forEach((connection) => {
if (checkedNodes.includes(connection.node)) {
// Node got checked already before
return;
}
returnNodes.unshift(connection.node);
addNodes = getConnectedNodes(connections, connection.node, connectionType, newDepth, checkedNodes);
for (i = addNodes.length; i--; i > 0) {
// Because nodes can have multiple parents it is possible that
// parts of the tree is parent of both and to not add nodes
// twice check first if they already got added before.
parentNodeName = addNodes[i];
nodeIndex = returnNodes.indexOf(parentNodeName);
if (nodeIndex !== -1) {
// Node got found before so remove it from current location
// that node-order stays correct
returnNodes.splice(nodeIndex, 1);
}
returnNodes.unshift(parentNodeName);
}
});
});
});
return returnNodes;
}
//# sourceMappingURL=get-connected-nodes.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-connected-nodes.js","sourceRoot":"","sources":["../../../src/common/get-connected-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAChC,WAAyB,EACzB,QAAgB,EAChB,iBAA8D,mBAAmB,CAAC,IAAI,EACtF,KAAK,GAAG,CAAC,CAAC,EACV,oBAA+B;IAE/B,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACjB,oBAAoB;QACpB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,0CAA0C;QAC1C,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,KAA2B,CAAC;IAChC,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;QAC9B,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAyB,CAAC;IACpE,CAAC;SAAM,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;QAC9C,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CACD,CAAC;IAC3B,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,QAAkB,CAAC;IACvB,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAS,CAAC;IACd,IAAI,cAAsB,CAAC;IAC3B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,wDAAwD;YACxD,OAAO;QACR,CAAC;QAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3E,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,kCAAkC;YAClC,OAAO;QACR,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE5B,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE;YAC1D,kBAAkB,EAAE,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC1C,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,kCAAkC;oBAClC,OAAO;gBACR,CAAC;gBAED,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAErC,QAAQ,GAAG,iBAAiB,CAC3B,WAAW,EACX,UAAU,CAAC,IAAI,EACf,cAAc,EACd,QAAQ,EACR,YAAY,CACZ,CAAC;gBAEF,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtC,8DAA8D;oBAC9D,2DAA2D;oBAC3D,sDAAsD;oBACtD,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC7B,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;oBAEhD,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;wBACtB,2DAA2D;wBAC3D,gCAAgC;wBAChC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;oBAClC,CAAC;oBAED,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACrC,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACpB,CAAC"}

View File

@@ -0,0 +1,9 @@
import type { INode, INodes } from '../interfaces';
/**
* Returns the node with the given name if it exists else null
*
* @param {INodes} nodes Nodes to search in
* @param {string} name Name of the node to return
*/
export declare function getNodeByName(nodes: INodes | INode[], name: string): INode | null;
//# sourceMappingURL=get-node-by-name.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-node-by-name.d.ts","sourceRoot":"","sources":["../../../src/common/get-node-by-name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,gBAUlE"}

View File

@@ -0,0 +1,16 @@
/**
* Returns the node with the given name if it exists else null
*
* @param {INodes} nodes Nodes to search in
* @param {string} name Name of the node to return
*/
export function getNodeByName(nodes, name) {
if (Array.isArray(nodes)) {
return nodes.find((node) => node.name === name) || null;
}
if (nodes.hasOwnProperty(name)) {
return nodes[name];
}
return null;
}
//# sourceMappingURL=get-node-by-name.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-node-by-name.js","sourceRoot":"","sources":["../../../src/common/get-node-by-name.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAuB,EAAE,IAAY;IAClE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IACzD,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}

View File

@@ -0,0 +1,9 @@
import type { IConnections, NodeConnectionType } from '../interfaces';
/**
* Returns all the nodes before the given one
*
* @param {NodeConnectionType} [type='main']
* @param {*} [depth=-1]
*/
export declare function getParentNodes(connectionsByDestinationNode: IConnections, nodeName: string, type?: NodeConnectionType | 'ALL' | 'ALL_NON_MAIN', depth?: number): string[];
//# sourceMappingURL=get-parent-nodes.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-parent-nodes.d.ts","sourceRoot":"","sources":["../../../src/common/get-parent-nodes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEtE;;;;;GAKG;AACH,wBAAgB,cAAc,CAC7B,4BAA4B,EAAE,YAAY,EAC1C,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,kBAAkB,GAAG,KAAK,GAAG,cAAyC,EAC5E,KAAK,SAAK,GACR,MAAM,EAAE,CAEV"}

View File

@@ -0,0 +1,12 @@
import { getConnectedNodes } from './get-connected-nodes';
import { NodeConnectionTypes } from '../interfaces';
/**
* Returns all the nodes before the given one
*
* @param {NodeConnectionType} [type='main']
* @param {*} [depth=-1]
*/
export function getParentNodes(connectionsByDestinationNode, nodeName, type = NodeConnectionTypes.Main, depth = -1) {
return getConnectedNodes(connectionsByDestinationNode, nodeName, type, depth);
}
//# sourceMappingURL=get-parent-nodes.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"get-parent-nodes.js","sourceRoot":"","sources":["../../../src/common/get-parent-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC7B,4BAA0C,EAC1C,QAAgB,EAChB,OAAoD,mBAAmB,CAAC,IAAI,EAC5E,KAAK,GAAG,CAAC,CAAC;IAEV,OAAO,iBAAiB,CAAC,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/E,CAAC"}

6
node_modules/n8n-workflow/dist/esm/common/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,6 @@
export * from './get-child-nodes';
export * from './get-connected-nodes';
export * from './get-node-by-name';
export * from './get-parent-nodes';
export * from './map-connections-by-destination';
//# sourceMappingURL=index.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC"}

6
node_modules/n8n-workflow/dist/esm/common/index.js generated vendored Normal file
View File

@@ -0,0 +1,6 @@
export * from './get-child-nodes';
export * from './get-connected-nodes';
export * from './get-node-by-name';
export * from './get-parent-nodes';
export * from './map-connections-by-destination';
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC"}

View File

@@ -0,0 +1,3 @@
import type { IConnections } from '../interfaces';
export declare function mapConnectionsByDestination(connections: IConnections): IConnections;
//# sourceMappingURL=map-connections-by-destination.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"map-connections-by-destination.d.ts","sourceRoot":"","sources":["../../../src/common/map-connections-by-destination.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,eAAe,CAAC;AAEtE,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,YAAY,gBA4CpE"}

View File

@@ -0,0 +1,40 @@
/* eslint-disable @typescript-eslint/no-for-in-array */
export function mapConnectionsByDestination(connections) {
const returnConnection = {};
let connectionInfo;
let maxIndex;
for (const sourceNode in connections) {
if (!connections.hasOwnProperty(sourceNode)) {
continue;
}
for (const type of Object.keys(connections[sourceNode])) {
if (!connections[sourceNode].hasOwnProperty(type)) {
continue;
}
for (const inputIndex in connections[sourceNode][type]) {
if (!connections[sourceNode][type].hasOwnProperty(inputIndex)) {
continue;
}
for (connectionInfo of connections[sourceNode][type][inputIndex] ?? []) {
if (!returnConnection.hasOwnProperty(connectionInfo.node)) {
returnConnection[connectionInfo.node] = {};
}
if (!returnConnection[connectionInfo.node].hasOwnProperty(connectionInfo.type)) {
returnConnection[connectionInfo.node][connectionInfo.type] = [];
}
maxIndex = returnConnection[connectionInfo.node][connectionInfo.type].length - 1;
for (let j = maxIndex; j < connectionInfo.index; j++) {
returnConnection[connectionInfo.node][connectionInfo.type].push([]);
}
returnConnection[connectionInfo.node][connectionInfo.type][connectionInfo.index]?.push({
node: sourceNode,
type,
index: parseInt(inputIndex, 10),
});
}
}
}
}
return returnConnection;
}
//# sourceMappingURL=map-connections-by-destination.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"map-connections-by-destination.js","sourceRoot":"","sources":["../../../src/common/map-connections-by-destination.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAIvD,MAAM,UAAU,2BAA2B,CAAC,WAAyB;IACpE,MAAM,gBAAgB,GAAiB,EAAE,CAAC;IAE1C,IAAI,cAAc,CAAC;IACnB,IAAI,QAAgB,CAAC;IACrB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,SAAS;QACV,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAyB,EAAE,CAAC;YACjF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,SAAS;YACV,CAAC;YAED,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/D,SAAS;gBACV,CAAC;gBAED,KAAK,cAAc,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3D,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC5C,CAAC;oBACD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChF,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACjE,CAAC;oBAED,QAAQ,GAAG,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;oBACjF,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;wBACtD,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrE,CAAC;oBAED,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;wBACtF,IAAI,EAAE,UAAU;wBAChB,IAAI;wBACJ,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;qBAC/B,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,gBAAgB,CAAC;AACzB,CAAC"}

76
node_modules/n8n-workflow/dist/esm/constants.d.ts generated vendored Normal file
View File

@@ -0,0 +1,76 @@
export declare const DIGITS = "0123456789";
export declare const UPPERCASE_LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
export declare const LOWERCASE_LETTERS: string;
export declare const ALPHABET: string;
export declare const BINARY_ENCODING = "base64";
export declare const WAIT_INDEFINITELY: Date;
export declare const LOG_LEVELS: readonly ["silent", "error", "warn", "info", "debug"];
export declare const CODE_LANGUAGES: readonly ["javaScript", "python", "json", "html"];
export declare const CODE_EXECUTION_MODES: readonly ["runOnceForAllItems", "runOnceForEachItem"];
export declare const CREDENTIAL_EMPTY_VALUE = "__n8n_EMPTY_VALUE_7b1af746-3729-4c60-9b9b-e08eb29e58da";
export declare const FORM_TRIGGER_PATH_IDENTIFIER = "n8n-form";
export declare const UNKNOWN_ERROR_MESSAGE = "There was an unknown issue while executing the node";
export declare const UNKNOWN_ERROR_DESCRIPTION = "Double-check the node configuration and the service it connects to. Check the error details below and refer to the <a href=\"https://docs.n8n.io\" target=\"_blank\">n8n documentation</a> to troubleshoot the issue.";
export declare const UNKNOWN_ERROR_MESSAGE_CRED = "UNKNOWN ERROR";
export declare const STICKY_NODE_TYPE = "n8n-nodes-base.stickyNote";
export declare const NO_OP_NODE_TYPE = "n8n-nodes-base.noOp";
export declare const HTTP_REQUEST_NODE_TYPE = "n8n-nodes-base.httpRequest";
export declare const WEBHOOK_NODE_TYPE = "n8n-nodes-base.webhook";
export declare const MANUAL_TRIGGER_NODE_TYPE = "n8n-nodes-base.manualTrigger";
export declare const EVALUATION_TRIGGER_NODE_TYPE = "n8n-nodes-base.evaluationTrigger";
export declare const EVALUATION_NODE_TYPE = "n8n-nodes-base.evaluation";
export declare const ERROR_TRIGGER_NODE_TYPE = "n8n-nodes-base.errorTrigger";
export declare const START_NODE_TYPE = "n8n-nodes-base.start";
export declare const EXECUTE_WORKFLOW_NODE_TYPE = "n8n-nodes-base.executeWorkflow";
export declare const EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE = "n8n-nodes-base.executeWorkflowTrigger";
export declare const CODE_NODE_TYPE = "n8n-nodes-base.code";
export declare const FUNCTION_NODE_TYPE = "n8n-nodes-base.function";
export declare const FUNCTION_ITEM_NODE_TYPE = "n8n-nodes-base.functionItem";
export declare const MERGE_NODE_TYPE = "n8n-nodes-base.merge";
export declare const AI_TRANSFORM_NODE_TYPE = "n8n-nodes-base.aiTransform";
export declare const FORM_NODE_TYPE = "n8n-nodes-base.form";
export declare const FORM_TRIGGER_NODE_TYPE = "n8n-nodes-base.formTrigger";
export declare const CHAT_TRIGGER_NODE_TYPE = "@n8n/n8n-nodes-langchain.chatTrigger";
export declare const WAIT_NODE_TYPE = "n8n-nodes-base.wait";
export declare const RESPOND_TO_WEBHOOK_NODE_TYPE = "n8n-nodes-base.respondToWebhook";
export declare const HTML_NODE_TYPE = "n8n-nodes-base.html";
export declare const MAILGUN_NODE_TYPE = "n8n-nodes-base.mailgun";
export declare const POSTGRES_NODE_TYPE = "n8n-nodes-base.postgres";
export declare const MYSQL_NODE_TYPE = "n8n-nodes-base.mySql";
export declare const STARTING_NODE_TYPES: string[];
export declare const SCRIPTING_NODE_TYPES: string[];
export declare const ADD_FORM_NOTICE = "addFormPage";
/**
* Nodes whose parameter values may refer to other nodes without expressions.
* Their content may need to be updated when the referenced node is renamed.
*/
export declare const NODES_WITH_RENAMABLE_CONTENT: Set<string>;
export declare const NODES_WITH_RENAMABLE_FORM_HTML_CONTENT: Set<string>;
export declare const NODES_WITH_RENAMEABLE_TOPLEVEL_HTML_CONTENT: Set<string>;
export declare const MANUAL_CHAT_TRIGGER_LANGCHAIN_NODE_TYPE = "@n8n/n8n-nodes-langchain.manualChatTrigger";
export declare const AGENT_LANGCHAIN_NODE_TYPE = "@n8n/n8n-nodes-langchain.agent";
export declare const CHAIN_LLM_LANGCHAIN_NODE_TYPE = "@n8n/n8n-nodes-langchain.chainLlm";
export declare const OPENAI_LANGCHAIN_NODE_TYPE = "@n8n/n8n-nodes-langchain.openAi";
export declare const CHAIN_SUMMARIZATION_LANGCHAIN_NODE_TYPE = "@n8n/n8n-nodes-langchain.chainSummarization";
export declare const AGENT_TOOL_LANGCHAIN_NODE_TYPE = "@n8n/n8n-nodes-langchain.agentTool";
export declare const CODE_TOOL_LANGCHAIN_NODE_TYPE = "@n8n/n8n-nodes-langchain.toolCode";
export declare const WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE = "@n8n/n8n-nodes-langchain.toolWorkflow";
export declare const HTTP_REQUEST_TOOL_LANGCHAIN_NODE_TYPE = "@n8n/n8n-nodes-langchain.toolHttpRequest";
export declare const LANGCHAIN_CUSTOM_TOOLS: string[];
export declare const SEND_AND_WAIT_OPERATION = "sendAndWait";
export declare const AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT = "codeGeneratedForPrompt";
export declare const AI_TRANSFORM_JS_CODE = "jsCode";
/**
* Key for an item standing in for a manual execution data item too large to be
* sent live via pubsub. See {@link TRIMMED_TASK_DATA_CONNECTIONS} in constants
* in `cli` package.
*/
export declare const TRIMMED_TASK_DATA_CONNECTIONS_KEY = "__isTrimmedManualExecutionDataItem";
export declare const OPEN_AI_API_CREDENTIAL_TYPE = "openAiApi";
export declare const FREE_AI_CREDITS_ERROR_TYPE = "free_ai_credits_request_error";
export declare const FREE_AI_CREDITS_USED_ALL_CREDITS_ERROR_CODE = 400;
export declare const FROM_AI_AUTO_GENERATED_MARKER = "/*n8n-auto-generated-fromAI-override*/";
export declare const PROJECT_ROOT = "0";
export declare const WAITING_FORMS_EXECUTION_STATUS = "n8n-execution-status";
export declare const CHAT_WAIT_USER_REPLY = "waitUserReply";
//# sourceMappingURL=constants.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}

102
node_modules/n8n-workflow/dist/esm/constants.js generated vendored Normal file
View File

@@ -0,0 +1,102 @@
export const DIGITS = '0123456789';
export const UPPERCASE_LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
export const LOWERCASE_LETTERS = UPPERCASE_LETTERS.toLowerCase();
export const ALPHABET = [DIGITS, UPPERCASE_LETTERS, LOWERCASE_LETTERS].join('');
export const BINARY_ENCODING = 'base64';
export const WAIT_INDEFINITELY = new Date('3000-01-01T00:00:00.000Z');
export const LOG_LEVELS = ['silent', 'error', 'warn', 'info', 'debug'];
export const CODE_LANGUAGES = ['javaScript', 'python', 'json', 'html'];
export const CODE_EXECUTION_MODES = ['runOnceForAllItems', 'runOnceForEachItem'];
// Arbitrary value to represent an empty credential value
export const CREDENTIAL_EMPTY_VALUE = '__n8n_EMPTY_VALUE_7b1af746-3729-4c60-9b9b-e08eb29e58da';
export const FORM_TRIGGER_PATH_IDENTIFIER = 'n8n-form';
export const UNKNOWN_ERROR_MESSAGE = 'There was an unknown issue while executing the node';
export const UNKNOWN_ERROR_DESCRIPTION = 'Double-check the node configuration and the service it connects to. Check the error details below and refer to the <a href="https://docs.n8n.io" target="_blank">n8n documentation</a> to troubleshoot the issue.';
export const UNKNOWN_ERROR_MESSAGE_CRED = 'UNKNOWN ERROR';
//n8n-nodes-base
export const STICKY_NODE_TYPE = 'n8n-nodes-base.stickyNote';
export const NO_OP_NODE_TYPE = 'n8n-nodes-base.noOp';
export const HTTP_REQUEST_NODE_TYPE = 'n8n-nodes-base.httpRequest';
export const WEBHOOK_NODE_TYPE = 'n8n-nodes-base.webhook';
export const MANUAL_TRIGGER_NODE_TYPE = 'n8n-nodes-base.manualTrigger';
export const EVALUATION_TRIGGER_NODE_TYPE = 'n8n-nodes-base.evaluationTrigger';
export const EVALUATION_NODE_TYPE = 'n8n-nodes-base.evaluation';
export const ERROR_TRIGGER_NODE_TYPE = 'n8n-nodes-base.errorTrigger';
export const START_NODE_TYPE = 'n8n-nodes-base.start';
export const EXECUTE_WORKFLOW_NODE_TYPE = 'n8n-nodes-base.executeWorkflow';
export const EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE = 'n8n-nodes-base.executeWorkflowTrigger';
export const CODE_NODE_TYPE = 'n8n-nodes-base.code';
export const FUNCTION_NODE_TYPE = 'n8n-nodes-base.function';
export const FUNCTION_ITEM_NODE_TYPE = 'n8n-nodes-base.functionItem';
export const MERGE_NODE_TYPE = 'n8n-nodes-base.merge';
export const AI_TRANSFORM_NODE_TYPE = 'n8n-nodes-base.aiTransform';
export const FORM_NODE_TYPE = 'n8n-nodes-base.form';
export const FORM_TRIGGER_NODE_TYPE = 'n8n-nodes-base.formTrigger';
export const CHAT_TRIGGER_NODE_TYPE = '@n8n/n8n-nodes-langchain.chatTrigger';
export const WAIT_NODE_TYPE = 'n8n-nodes-base.wait';
export const RESPOND_TO_WEBHOOK_NODE_TYPE = 'n8n-nodes-base.respondToWebhook';
export const HTML_NODE_TYPE = 'n8n-nodes-base.html';
export const MAILGUN_NODE_TYPE = 'n8n-nodes-base.mailgun';
export const POSTGRES_NODE_TYPE = 'n8n-nodes-base.postgres';
export const MYSQL_NODE_TYPE = 'n8n-nodes-base.mySql';
export const STARTING_NODE_TYPES = [
MANUAL_TRIGGER_NODE_TYPE,
EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE,
ERROR_TRIGGER_NODE_TYPE,
START_NODE_TYPE,
EVALUATION_TRIGGER_NODE_TYPE,
];
export const SCRIPTING_NODE_TYPES = [
FUNCTION_NODE_TYPE,
FUNCTION_ITEM_NODE_TYPE,
CODE_NODE_TYPE,
AI_TRANSFORM_NODE_TYPE,
];
export const ADD_FORM_NOTICE = 'addFormPage';
/**
* Nodes whose parameter values may refer to other nodes without expressions.
* Their content may need to be updated when the referenced node is renamed.
*/
export const NODES_WITH_RENAMABLE_CONTENT = new Set([
CODE_NODE_TYPE,
FUNCTION_NODE_TYPE,
FUNCTION_ITEM_NODE_TYPE,
AI_TRANSFORM_NODE_TYPE,
]);
export const NODES_WITH_RENAMABLE_FORM_HTML_CONTENT = new Set([FORM_NODE_TYPE]);
export const NODES_WITH_RENAMEABLE_TOPLEVEL_HTML_CONTENT = new Set([
MAILGUN_NODE_TYPE,
HTML_NODE_TYPE,
]);
//@n8n/n8n-nodes-langchain
export const MANUAL_CHAT_TRIGGER_LANGCHAIN_NODE_TYPE = '@n8n/n8n-nodes-langchain.manualChatTrigger';
export const AGENT_LANGCHAIN_NODE_TYPE = '@n8n/n8n-nodes-langchain.agent';
export const CHAIN_LLM_LANGCHAIN_NODE_TYPE = '@n8n/n8n-nodes-langchain.chainLlm';
export const OPENAI_LANGCHAIN_NODE_TYPE = '@n8n/n8n-nodes-langchain.openAi';
export const CHAIN_SUMMARIZATION_LANGCHAIN_NODE_TYPE = '@n8n/n8n-nodes-langchain.chainSummarization';
export const AGENT_TOOL_LANGCHAIN_NODE_TYPE = '@n8n/n8n-nodes-langchain.agentTool';
export const CODE_TOOL_LANGCHAIN_NODE_TYPE = '@n8n/n8n-nodes-langchain.toolCode';
export const WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE = '@n8n/n8n-nodes-langchain.toolWorkflow';
export const HTTP_REQUEST_TOOL_LANGCHAIN_NODE_TYPE = '@n8n/n8n-nodes-langchain.toolHttpRequest';
export const LANGCHAIN_CUSTOM_TOOLS = [
CODE_TOOL_LANGCHAIN_NODE_TYPE,
WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE,
HTTP_REQUEST_TOOL_LANGCHAIN_NODE_TYPE,
];
export const SEND_AND_WAIT_OPERATION = 'sendAndWait';
export const AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT = 'codeGeneratedForPrompt';
export const AI_TRANSFORM_JS_CODE = 'jsCode';
/**
* Key for an item standing in for a manual execution data item too large to be
* sent live via pubsub. See {@link TRIMMED_TASK_DATA_CONNECTIONS} in constants
* in `cli` package.
*/
export const TRIMMED_TASK_DATA_CONNECTIONS_KEY = '__isTrimmedManualExecutionDataItem';
export const OPEN_AI_API_CREDENTIAL_TYPE = 'openAiApi';
export const FREE_AI_CREDITS_ERROR_TYPE = 'free_ai_credits_request_error';
export const FREE_AI_CREDITS_USED_ALL_CREDITS_ERROR_CODE = 400;
export const FROM_AI_AUTO_GENERATED_MARKER = '/*n8n-auto-generated-fromAI-override*/';
export const PROJECT_ROOT = '0';
export const WAITING_FORMS_EXECUTION_STATUS = 'n8n-execution-status';
export const CHAT_WAIT_USER_REPLY = 'waitUserReply';
//# sourceMappingURL=constants.js.map

1
node_modules/n8n-workflow/dist/esm/constants.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;AACjE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;AAEtE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,CAAU,CAAC;AAE1F,yDAAyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,wDAAwD,CAAC;AAE/F,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,qDAAqD,CAAC;AAC3F,MAAM,CAAC,MAAM,yBAAyB,GACrC,mNAAmN,CAAC;AACrN,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAE1D,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;AACvE,MAAM,CAAC,MAAM,4BAA4B,GAAG,kCAAkC,CAAC;AAC/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAChE,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AACtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,gCAAgC,CAAC;AAC3E,MAAM,CAAC,MAAM,kCAAkC,GAAG,uCAAuC,CAAC;AAC1F,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAC5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,sCAAsC,CAAC;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC;AACpD,MAAM,CAAC,MAAM,4BAA4B,GAAG,iCAAiC,CAAC;AAC9E,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,wBAAwB;IACxB,kCAAkC;IAClC,uBAAuB;IACvB,eAAe;IACf,4BAA4B;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,kBAAkB;IAClB,uBAAuB;IACvB,cAAc;IACd,sBAAsB;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IACnD,cAAc;IACd,kBAAkB;IAClB,uBAAuB;IACvB,sBAAsB;CACtB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,2CAA2C,GAAG,IAAI,GAAG,CAAC;IAClE,iBAAiB;IACjB,cAAc;CACd,CAAC,CAAC;AAEH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,uCAAuC,GAAG,4CAA4C,CAAC;AACpG,MAAM,CAAC,MAAM,yBAAyB,GAAG,gCAAgC,CAAC;AAC1E,MAAM,CAAC,MAAM,6BAA6B,GAAG,mCAAmC,CAAC;AACjF,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAC5E,MAAM,CAAC,MAAM,uCAAuC,GACnD,6CAA6C,CAAC;AAC/C,MAAM,CAAC,MAAM,8BAA8B,GAAG,oCAAoC,CAAC;AACnF,MAAM,CAAC,MAAM,6BAA6B,GAAG,mCAAmC,CAAC;AACjF,MAAM,CAAC,MAAM,iCAAiC,GAAG,uCAAuC,CAAC;AACzF,MAAM,CAAC,MAAM,qCAAqC,GAAG,0CAA0C,CAAC;AAEhG,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,6BAA6B;IAC7B,iCAAiC;IACjC,qCAAqC;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC;AACrD,MAAM,CAAC,MAAM,sCAAsC,GAAG,wBAAwB,CAAC;AAC/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,oCAAoC,CAAC;AAEtF,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC;AACvD,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAA+B,CAAC;AAC1E,MAAM,CAAC,MAAM,2CAA2C,GAAG,GAAG,CAAC;AAE/D,MAAM,CAAC,MAAM,6BAA6B,GAAG,wCAAwC,CAAC;AAEtF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AAErE,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC"}

35
node_modules/n8n-workflow/dist/esm/cron.d.ts generated vendored Normal file
View File

@@ -0,0 +1,35 @@
import type { CronExpression } from './interfaces';
interface BaseTriggerTime<T extends string> {
mode: T;
}
interface CustomTrigger extends BaseTriggerTime<'custom'> {
cronExpression: CronExpression;
}
interface EveryX<U extends string> extends BaseTriggerTime<'everyX'> {
unit: U;
value: number;
}
type EveryMinute = BaseTriggerTime<'everyMinute'>;
type EveryXMinutes = EveryX<'minutes'>;
interface EveryHour extends BaseTriggerTime<'everyHour'> {
minute: number;
}
type EveryXHours = EveryX<'hours'>;
interface EveryDay extends BaseTriggerTime<'everyDay'> {
hour: number;
minute: number;
}
interface EveryWeek extends BaseTriggerTime<'everyWeek'> {
hour: number;
minute: number;
weekday: number;
}
interface EveryMonth extends BaseTriggerTime<'everyMonth'> {
hour: number;
minute: number;
dayOfMonth: number;
}
export type TriggerTime = CustomTrigger | EveryMinute | EveryXMinutes | EveryHour | EveryXHours | EveryDay | EveryWeek | EveryMonth;
export declare const toCronExpression: (item: TriggerTime) => CronExpression;
export {};
//# sourceMappingURL=cron.d.ts.map

1
node_modules/n8n-workflow/dist/esm/cron.d.ts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/cron.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,UAAU,eAAe,CAAC,CAAC,SAAS,MAAM;IACzC,IAAI,EAAE,CAAC,CAAC;CACR;AAED,UAAU,aAAc,SAAQ,eAAe,CAAC,QAAQ,CAAC;IACxD,cAAc,EAAE,cAAc,CAAC;CAC/B;AAED,UAAU,MAAM,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,eAAe,CAAC,QAAQ,CAAC;IACnE,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;CACd;AAED,KAAK,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;AAClD,KAAK,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAEvC,UAAU,SAAU,SAAQ,eAAe,CAAC,WAAW,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC;CACf;AACD,KAAK,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAEnC,UAAU,QAAS,SAAQ,eAAe,CAAC,UAAU,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf;AAED,UAAU,SAAU,SAAQ,eAAe,CAAC,WAAW,CAAC;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,UAAW,SAAQ,eAAe,CAAC,YAAY,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GACpB,aAAa,GACb,WAAW,GACX,aAAa,GACb,SAAS,GACT,WAAW,GACX,QAAQ,GACR,SAAS,GACT,UAAU,CAAC;AAEd,eAAO,MAAM,gBAAgB,GAAI,MAAM,WAAW,KAAG,cAoBpD,CAAC"}

23
node_modules/n8n-workflow/dist/esm/cron.js generated vendored Normal file
View File

@@ -0,0 +1,23 @@
import { randomInt } from './utils';
export const toCronExpression = (item) => {
const randomSecond = randomInt(60);
if (item.mode === 'everyMinute')
return `${randomSecond} * * * * *`;
if (item.mode === 'everyHour')
return `${randomSecond} ${item.minute} * * * *`;
if (item.mode === 'everyX') {
if (item.unit === 'minutes')
return `${randomSecond} */${item.value} * * * *`;
const randomMinute = randomInt(60);
if (item.unit === 'hours')
return `${randomSecond} ${randomMinute} */${item.value} * * *`;
}
if (item.mode === 'everyDay')
return `${randomSecond} ${item.minute} ${item.hour} * * *`;
if (item.mode === 'everyWeek')
return `${randomSecond} ${item.minute} ${item.hour} * * ${item.weekday}`;
if (item.mode === 'everyMonth')
return `${randomSecond} ${item.minute} ${item.hour} ${item.dayOfMonth} * *`;
return item.cronExpression.trim();
};
//# sourceMappingURL=cron.js.map

1
node_modules/n8n-workflow/dist/esm/cron.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/cron.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAkDpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAiB,EAAkB,EAAE;IACrE,MAAM,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,GAAG,YAAY,YAAY,CAAC;IACpE,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,UAAU,CAAC;IAE/E,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,GAAG,YAAY,MAAM,IAAI,CAAC,KAAK,UAAU,CAAC;QAE9E,MAAM,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,GAAG,YAAY,IAAI,YAAY,MAAM,IAAI,CAAC,KAAK,QAAQ,CAAC;IAC3F,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,QAAQ,CAAC;IACzF,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAC5B,OAAO,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;IAE1E,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;QAC7B,OAAO,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,MAAM,CAAC;IAE7E,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAoB,CAAC;AACrD,CAAC,CAAC"}

View File

@@ -0,0 +1,139 @@
export type DataTableColumnType = 'string' | 'number' | 'boolean' | 'date';
export type DataTableColumn = {
id: string;
name: string;
type: DataTableColumnType;
index: number;
dataTableId: string;
};
export type DataTable = {
id: string;
name: string;
columns: DataTableColumn[];
createdAt: Date;
updatedAt: Date;
projectId: string;
};
export type CreateDataTableColumnOptions = Pick<DataTableColumn, 'name' | 'type'> & Partial<Pick<DataTableColumn, 'index'>>;
export type CreateDataTableOptions = Pick<DataTable, 'name'> & {
columns: CreateDataTableColumnOptions[];
};
export type UpdateDataTableOptions = {
name: string;
};
export type ListDataTableOptions = {
filter?: Record<string, string | string[]>;
sortBy?: 'name:asc' | 'name:desc' | 'createdAt:asc' | 'createdAt:desc' | 'updatedAt:asc' | 'updatedAt:desc' | 'sizeBytes:asc' | 'sizeBytes:desc';
take?: number;
skip?: number;
};
export type DataTableFilter = {
type: 'and' | 'or';
filters: Array<{
columnName: string;
condition: 'eq' | 'neq' | 'like' | 'ilike' | 'gt' | 'gte' | 'lt' | 'lte';
value: DataTableColumnJsType;
}>;
};
export type ListDataTableRowsOptions = {
filter?: DataTableFilter;
sortBy?: [string, 'ASC' | 'DESC'];
take?: number;
skip?: number;
};
export type UpdateDataTableRowOptions = {
filter: DataTableFilter;
data: DataTableRow;
dryRun?: boolean;
};
export type UpsertDataTableRowOptions = {
filter: DataTableFilter;
data: DataTableRow;
dryRun?: boolean;
};
export type DeleteDataTableRowsOptions = {
filter: DataTableFilter;
dryRun?: boolean;
};
export type MoveDataTableColumnOptions = {
targetIndex: number;
};
export type AddDataTableColumnOptions = Pick<DataTableColumn, 'name' | 'type'> & Partial<Pick<DataTableColumn, 'index'>>;
export type DataTableColumnJsType = string | number | boolean | Date | null;
export declare const DATA_TABLE_SYSTEM_COLUMN_TYPE_MAP: Record<string, DataTableColumnType>;
export declare const DATA_TABLE_SYSTEM_COLUMNS: string[];
export declare const DATA_TABLE_SYSTEM_TESTING_COLUMN = "dryRunState";
export type DataTableRawRowReturnBase = {
id: number;
createdAt: string | number | Date;
updatedAt: string | number | Date;
};
export type DataTableRowReturnBase = {
id: number;
createdAt: Date;
updatedAt: Date;
};
export type DataTableRow = Record<string, DataTableColumnJsType>;
export type DataTableRows = DataTableRow[];
export type DataTableRawRowReturn = DataTableRow & DataTableRawRowReturnBase;
export type DataTableRawRowsReturn = DataTableRawRowReturn[];
export type DataTableRowReturn = DataTableRow & DataTableRowReturnBase;
export type DataTableRowsReturn = DataTableRowReturn[];
export type DataTableRowReturnWithState = DataTableRow & {
id: number | null;
createdAt: Date | null;
updatedAt: Date | null;
dryRunState: 'before' | 'after';
};
export type DataTableRowUpdatePair = {
before: DataTableRowReturn;
after: DataTableRowReturn;
};
export type DataTableInsertRowsReturnType = 'all' | 'id' | 'count';
export type DataTableInsertRowsBulkResult = {
success: true;
insertedRows: number;
};
export type DataTableInsertRowsResult<T extends DataTableInsertRowsReturnType = DataTableInsertRowsReturnType> = T extends 'all' ? DataTableRowReturn[] : T extends 'id' ? Array<Pick<DataTableRowReturn, 'id'>> : DataTableInsertRowsBulkResult;
export type DataTableSizeStatus = 'ok' | 'warn' | 'error';
export type DataTableInfo = {
id: string;
name: string;
projectId: string;
projectName: string;
sizeBytes: number;
};
export type DataTableInfoById = Record<string, DataTableInfo>;
export type DataTablesSizeData = {
totalBytes: number;
dataTables: DataTableInfoById;
};
export type DataTablesSizeResult = DataTablesSizeData & {
quotaStatus: DataTableSizeStatus;
};
export interface IDataTableProjectAggregateService {
getProjectId(): string;
createDataTable(options: CreateDataTableOptions): Promise<DataTable>;
getManyAndCount(options: ListDataTableOptions): Promise<{
count: number;
data: DataTable[];
}>;
deleteDataTableAll(): Promise<boolean>;
}
export interface IDataTableProjectService {
updateDataTable(options: UpdateDataTableOptions): Promise<boolean>;
deleteDataTable(): Promise<boolean>;
getColumns(): Promise<DataTableColumn[]>;
addColumn(options: AddDataTableColumnOptions): Promise<DataTableColumn>;
moveColumn(columnId: string, options: MoveDataTableColumnOptions): Promise<boolean>;
deleteColumn(columnId: string): Promise<boolean>;
getManyRowsAndCount(dto: Partial<ListDataTableRowsOptions>): Promise<{
count: number;
data: DataTableRowsReturn;
}>;
insertRows<T extends DataTableInsertRowsReturnType>(rows: DataTableRows, returnType: T): Promise<DataTableInsertRowsResult<T>>;
updateRows(options: UpdateDataTableRowOptions): Promise<DataTableRowReturn[] | DataTableRowReturnWithState[]>;
upsertRow(options: UpsertDataTableRowOptions): Promise<DataTableRowReturn[] | DataTableRowReturnWithState[]>;
deleteRows(options: DeleteDataTableRowsOptions): Promise<DataTableRowReturn[]>;
}
//# sourceMappingURL=data-table.types.d.ts.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,8 @@
export const DATA_TABLE_SYSTEM_COLUMN_TYPE_MAP = {
id: 'number',
createdAt: 'date',
updatedAt: 'date',
};
export const DATA_TABLE_SYSTEM_COLUMNS = Object.keys(DATA_TABLE_SYSTEM_COLUMN_TYPE_MAP);
export const DATA_TABLE_SYSTEM_TESTING_COLUMN = 'dryRunState';
//# sourceMappingURL=data-table.types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"data-table.types.js","sourceRoot":"","sources":["../../src/data-table.types.ts"],"names":[],"mappings":"AAqFA,MAAM,CAAC,MAAM,iCAAiC,GAAwC;IACrF,EAAE,EAAE,QAAQ;IACZ,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AACxF,MAAM,CAAC,MAAM,gCAAgC,GAAG,aAAa,CAAC"}

View File

@@ -0,0 +1,10 @@
type ResolveFn<T> = (result: T | PromiseLike<T>) => void;
type RejectFn = (error: Error) => void;
export interface IDeferredPromise<T> {
promise: Promise<T>;
resolve: ResolveFn<T>;
reject: RejectFn;
}
export declare function createDeferredPromise<T = void>(): IDeferredPromise<T>;
export {};
//# sourceMappingURL=deferred-promise.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"deferred-promise.d.ts","sourceRoot":"","sources":["../../src/deferred-promise.ts"],"names":[],"mappings":"AAAA,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACzD,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAEvC,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAOrE"}

View File

@@ -0,0 +1,9 @@
export function createDeferredPromise() {
const deferred = {};
deferred.promise = new Promise((resolve, reject) => {
deferred.resolve = resolve;
deferred.reject = reject;
});
return deferred;
}
//# sourceMappingURL=deferred-promise.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"deferred-promise.js","sourceRoot":"","sources":["../../src/deferred-promise.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,qBAAqB;IACpC,MAAM,QAAQ,GAAiC,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrD,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,QAA+B,CAAC;AACxC,CAAC"}

View File

@@ -0,0 +1,27 @@
import { ApplicationError, type ReportingOptions } from '@n8n/errors';
import type { Functionality, IDataObject, JsonObject } from '../../interfaces';
interface ExecutionBaseErrorOptions extends ReportingOptions {
cause?: Error;
errorResponse?: JsonObject;
}
export declare abstract class ExecutionBaseError extends ApplicationError {
description: string | null | undefined;
cause?: Error;
errorResponse?: JsonObject;
timestamp: number;
context: IDataObject;
lineNumber: number | undefined;
functionality: Functionality;
constructor(message: string, options?: ExecutionBaseErrorOptions);
toJSON?(): {
message: string;
lineNumber: number | undefined;
timestamp: number;
name: string;
description: string | null | undefined;
context: IDataObject;
cause: Error | undefined;
};
}
export {};
//# sourceMappingURL=execution-base.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"execution-base.error.d.ts","sourceRoot":"","sources":["../../../../src/errors/abstract/execution-base.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE/E,UAAU,yBAA0B,SAAQ,gBAAgB;IAC3D,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,aAAa,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,8BAAsB,kBAAmB,SAAQ,gBAAgB;IAChE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAE9B,KAAK,CAAC,EAAE,KAAK,CAAC;IAEvB,aAAa,CAAC,EAAE,UAAU,CAAC;IAE3B,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,EAAE,WAAW,CAAM;IAE1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,aAAa,EAAE,aAAa,CAAa;gBAE7B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B;IAgBpE,MAAM,CAAC;;;;;;;;;CAWP"}

View File

@@ -0,0 +1,36 @@
import { ApplicationError } from '@n8n/errors';
export class ExecutionBaseError extends ApplicationError {
description;
cause;
errorResponse;
timestamp;
context = {};
lineNumber;
functionality = 'regular';
constructor(message, options = {}) {
super(message, options);
this.name = this.constructor.name;
this.timestamp = Date.now();
const { cause, errorResponse } = options;
if (cause instanceof ExecutionBaseError) {
this.context = cause.context;
}
else if (cause && !(cause instanceof Error)) {
this.cause = cause;
}
if (errorResponse)
this.errorResponse = errorResponse;
}
toJSON() {
return {
message: this.message,
lineNumber: this.lineNumber,
timestamp: this.timestamp,
name: this.name,
description: this.description,
context: this.context,
cause: this.cause,
};
}
}
//# sourceMappingURL=execution-base.error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"execution-base.error.js","sourceRoot":"","sources":["../../../../src/errors/abstract/execution-base.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAStE,MAAM,OAAgB,kBAAmB,SAAQ,gBAAgB;IAChE,WAAW,CAA4B;IAE9B,KAAK,CAAS;IAEvB,aAAa,CAAc;IAE3B,SAAS,CAAS;IAElB,OAAO,GAAgB,EAAE,CAAC;IAE1B,UAAU,CAAqB;IAE/B,aAAa,GAAkB,SAAS,CAAC;IAEzC,YAAY,OAAe,EAAE,UAAqC,EAAE;QACnE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAExB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE5B,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QACzC,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,CAAC;aAAM,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,aAAa;YAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvD,CAAC;IAED,MAAM;QACL,OAAO;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACH,CAAC;CACD"}

View File

@@ -0,0 +1,48 @@
import { ExecutionBaseError } from './execution-base.error';
import type { INode, JsonObject } from '../../interfaces';
/**
* Base class for specific NodeError-types, with functionality for finding
* a value recursively inside an error object.
*/
export declare abstract class NodeError extends ExecutionBaseError {
readonly node: INode;
messages: string[];
constructor(node: INode, error: Error | JsonObject);
/**
* Finds property through exploration based on potential keys and traversal keys.
* Depth-first approach.
*
* This method iterates over `potentialKeys` and, if the value at the key is a
* truthy value, the type of the value is checked:
* (1) if a string or number, the value is returned as a string; or
* (2) if an array,
* its string or number elements are collected as a long string,
* its object elements are traversed recursively (restart this function
* with each object as a starting point), or
* (3) if it is an object, it traverses the object and nested ones recursively
* based on the `potentialKeys` and returns a string if found.
*
* If nothing found via `potentialKeys` this method iterates over `traversalKeys` and
* if the value at the key is a traversable object, it restarts with the object as the
* new starting point (recursion).
* If nothing found for any of the `traversalKeys`, exploration continues with remaining
* `traversalKeys`.
*
* Otherwise, if all the paths have been exhausted and no value is eligible, `null` is
* returned.
*
*/
protected findProperty(jsonError: JsonObject, potentialKeys: string[], traversalKeys?: string[]): string | null;
/**
* Preserve the original error message before setting the new one
*/
protected addToMessages(message: string): void;
/**
* Set descriptive error message if code is provided or if message contains any of the common errors,
* update description to include original message plus the description
*/
protected setDescriptiveErrorMessage(message: string, messages: string[], code?: string | null, messageMapping?: {
[key: string]: string;
}): [string, string[]];
}
//# sourceMappingURL=node.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"node.error.d.ts","sourceRoot":"","sources":["../../../../src/errors/abstract/node.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAe,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA+BvE;;;GAGG;AACH,8BAAsB,SAAU,SAAQ,kBAAkB;IAIxD,QAAQ,CAAC,IAAI,EAAE,KAAK;IAHrB,QAAQ,EAAE,MAAM,EAAE,CAAM;gBAGd,IAAI,EAAE,KAAK,EACpB,KAAK,EAAE,KAAK,GAAG,UAAU;IAY1B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CAAC,YAAY,CACrB,SAAS,EAAE,UAAU,EACrB,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,GAAE,MAAM,EAAO,GAC1B,MAAM,GAAG,IAAI;IAqDhB;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM9C;;;OAGG;IACH,SAAS,CAAC,0BAA0B,CACnC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GACxC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAkCrB"}

View File

@@ -0,0 +1,163 @@
import { ExecutionBaseError } from './execution-base.error';
import { isTraversableObject, jsonParse } from '../../utils';
/**
* Descriptive messages for common errors.
*/
const COMMON_ERRORS = {
// nodeJS errors
ECONNREFUSED: 'The service refused the connection - perhaps it is offline',
ECONNRESET: 'The connection to the server was closed unexpectedly, perhaps it is offline. You can retry the request immediately or wait and retry later.',
ENOTFOUND: 'The connection cannot be established, this usually occurs due to an incorrect host (domain) value',
ETIMEDOUT: "The connection timed out, consider setting the 'Retry on Fail' option in the node settings",
ERRADDRINUSE: 'The port is already occupied by some other application, if possible change the port or kill the application that is using it',
EADDRNOTAVAIL: 'The address is not available, ensure that you have the right IP address',
ECONNABORTED: 'The connection was aborted, perhaps the server is offline',
EHOSTUNREACH: 'The host is unreachable, perhaps the server is offline',
EAI_AGAIN: 'The DNS server returned an error, perhaps the server is offline',
ENOENT: 'The file or directory does not exist',
EISDIR: 'The file path was expected but the given path is a directory',
ENOTDIR: 'The directory path was expected but the given path is a file',
EACCES: 'Forbidden by access permissions, make sure you have the right permissions',
EEXIST: 'The file or directory already exists',
EPERM: 'Operation not permitted, make sure you have the right permissions',
// other errors
GETADDRINFO: 'The server closed the connection unexpectedly',
};
/**
* Base class for specific NodeError-types, with functionality for finding
* a value recursively inside an error object.
*/
export class NodeError extends ExecutionBaseError {
node;
messages = [];
constructor(node, error) {
const isError = error instanceof Error;
const message = isError ? error.message : '';
const options = isError ? { cause: error } : { errorResponse: error };
super(message, options);
this.node = node;
if (error instanceof NodeError) {
this.tags.reWrapped = true;
}
}
/**
* Finds property through exploration based on potential keys and traversal keys.
* Depth-first approach.
*
* This method iterates over `potentialKeys` and, if the value at the key is a
* truthy value, the type of the value is checked:
* (1) if a string or number, the value is returned as a string; or
* (2) if an array,
* its string or number elements are collected as a long string,
* its object elements are traversed recursively (restart this function
* with each object as a starting point), or
* (3) if it is an object, it traverses the object and nested ones recursively
* based on the `potentialKeys` and returns a string if found.
*
* If nothing found via `potentialKeys` this method iterates over `traversalKeys` and
* if the value at the key is a traversable object, it restarts with the object as the
* new starting point (recursion).
* If nothing found for any of the `traversalKeys`, exploration continues with remaining
* `traversalKeys`.
*
* Otherwise, if all the paths have been exhausted and no value is eligible, `null` is
* returned.
*
*/
findProperty(jsonError, potentialKeys, traversalKeys = []) {
for (const key of potentialKeys) {
let value = jsonError[key];
if (value) {
if (typeof value === 'string') {
try {
value = jsonParse(value);
}
catch (error) {
return value;
}
if (typeof value === 'string')
return value;
}
if (typeof value === 'number')
return value.toString();
if (Array.isArray(value)) {
const resolvedErrors = value
.map((jsonError) => {
if (typeof jsonError === 'string')
return jsonError;
if (typeof jsonError === 'number')
return jsonError.toString();
if (isTraversableObject(jsonError)) {
return this.findProperty(jsonError, potentialKeys);
}
return null;
})
.filter((errorValue) => errorValue !== null);
if (resolvedErrors.length === 0) {
return null;
}
return resolvedErrors.join(' | ');
}
if (isTraversableObject(value)) {
const property = this.findProperty(value, potentialKeys);
if (property) {
return property;
}
}
}
}
for (const key of traversalKeys) {
const value = jsonError[key];
if (isTraversableObject(value)) {
const property = this.findProperty(value, potentialKeys, traversalKeys);
if (property) {
return property;
}
}
}
return null;
}
/**
* Preserve the original error message before setting the new one
*/
addToMessages(message) {
if (message && !this.messages.includes(message)) {
this.messages.push(message);
}
}
/**
* Set descriptive error message if code is provided or if message contains any of the common errors,
* update description to include original message plus the description
*/
setDescriptiveErrorMessage(message, messages, code, messageMapping) {
let newMessage = message;
if (messageMapping) {
for (const [mapKey, mapMessage] of Object.entries(messageMapping)) {
if ((message || '').toUpperCase().includes(mapKey.toUpperCase())) {
newMessage = mapMessage;
messages.push(message);
break;
}
}
if (newMessage !== message) {
return [newMessage, messages];
}
}
// if code is provided and it is in the list of common errors set the message and return early
if (code && typeof code === 'string' && COMMON_ERRORS[code.toUpperCase()]) {
newMessage = COMMON_ERRORS[code];
messages.push(message);
return [newMessage, messages];
}
// check if message contains any of the common errors and set the message and description
for (const [errorCode, errorDescriptiveMessage] of Object.entries(COMMON_ERRORS)) {
if ((message || '').toUpperCase().includes(errorCode.toUpperCase())) {
newMessage = errorDescriptiveMessage;
messages.push(message);
break;
}
}
return [newMessage, messages];
}
}
//# sourceMappingURL=node.error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"node.error.js","sourceRoot":"","sources":["../../../../src/errors/abstract/node.error.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,26 @@
import type { Event } from '@sentry/node';
import type { ErrorTags, ErrorLevel, ReportingOptions } from '@n8n/errors';
export type BaseErrorOptions = {
description?: string | undefined | null;
} & ErrorOptions & ReportingOptions;
/**
* Base class for all errors
*/
export declare abstract class BaseError extends Error {
/**
* Error level. Defines which level the error should be logged/reported
* @default 'error'
*/
level: ErrorLevel;
/**
* Whether the error should be reported to Sentry.
* @default true
*/
readonly shouldReport: boolean;
readonly description: string | null | undefined;
readonly tags: ErrorTags;
readonly extra?: Event['extra'];
readonly packageName?: string;
constructor(message: string, { level, description, shouldReport, tags, extra, ...rest }?: BaseErrorOptions);
}
//# sourceMappingURL=base.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"base.error.d.ts","sourceRoot":"","sources":["../../../../src/errors/base/base.error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,GAAG,YAAY,GACxF,gBAAgB,CAAC;AAClB;;GAEG;AACH,8BAAsB,SAAU,SAAQ,KAAK;IAC5C;;;OAGG;IACH,KAAK,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEhD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAEzB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAEhC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;gBAG7B,OAAO,EAAE,MAAM,EACf,EACC,KAAe,EACf,WAAW,EACX,YAAY,EACZ,IAAS,EACT,KAAK,EACL,GAAG,IAAI,EACP,GAAE,gBAAqB;CAiBzB"}

View File

@@ -0,0 +1,36 @@
import callsites from 'callsites';
/**
* Base class for all errors
*/
export class BaseError extends Error {
/**
* Error level. Defines which level the error should be logged/reported
* @default 'error'
*/
level;
/**
* Whether the error should be reported to Sentry.
* @default true
*/
shouldReport;
description;
tags;
extra;
packageName;
constructor(message, { level = 'error', description, shouldReport, tags = {}, extra, ...rest } = {}) {
super(message, rest);
this.level = level;
this.shouldReport = shouldReport ?? (level === 'error' || level === 'fatal');
this.description = description;
this.tags = tags;
this.extra = extra;
try {
const filePath = callsites()[2].getFileName() ?? '';
const match = /packages\/([^\/]+)\//.exec(filePath)?.[1];
if (match)
this.tags.packageName = match;
}
catch { }
}
}
//# sourceMappingURL=base.error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"base.error.js","sourceRoot":"","sources":["../../../../src/errors/base/base.error.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,WAAW,CAAC;AAMlC;;GAEG;AACH,MAAM,OAAgB,SAAU,SAAQ,KAAK;IAC5C;;;OAGG;IACH,KAAK,CAAa;IAElB;;;OAGG;IACM,YAAY,CAAU;IAEtB,WAAW,CAA4B;IAEvC,IAAI,CAAY;IAEhB,KAAK,CAAkB;IAEvB,WAAW,CAAU;IAE9B,YACC,OAAe,EACf,EACC,KAAK,GAAG,OAAO,EACf,WAAW,EACX,YAAY,EACZ,IAAI,GAAG,EAAE,EACT,KAAK,EACL,GAAG,IAAI,KACc,EAAE;QAExB,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEzD,IAAI,KAAK;gBAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;CACD"}

View File

@@ -0,0 +1,16 @@
import type { BaseErrorOptions } from './base.error';
import { BaseError } from './base.error';
export type OperationalErrorOptions = Omit<BaseErrorOptions, 'level'> & {
level?: 'info' | 'warning' | 'error';
};
/**
* Error that indicates a transient issue, like a network request failing,
* a database query timing out, etc. These are expected to happen, are
* transient by nature and should be handled gracefully.
*
* Default level: warning
*/
export declare class OperationalError extends BaseError {
constructor(message: string, opts?: OperationalErrorOptions);
}
//# sourceMappingURL=operational.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"operational.error.d.ts","sourceRoot":"","sources":["../../../../src/errors/base/operational.error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;gBAClC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,uBAA4B;CAK/D"}

View File

@@ -0,0 +1,15 @@
import { BaseError } from './base.error';
/**
* Error that indicates a transient issue, like a network request failing,
* a database query timing out, etc. These are expected to happen, are
* transient by nature and should be handled gracefully.
*
* Default level: warning
*/
export class OperationalError extends BaseError {
constructor(message, opts = {}) {
opts.level = opts.level ?? 'warning';
super(message, opts);
}
}
//# sourceMappingURL=operational.error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"operational.error.js","sourceRoot":"","sources":["../../../../src/errors/base/operational.error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC;;;;;;GAMG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC9C,YAAY,OAAe,EAAE,OAAgC,EAAE;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QAErC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;CACD"}

View File

@@ -0,0 +1,16 @@
import type { BaseErrorOptions } from './base.error';
import { BaseError } from './base.error';
export type UnexpectedErrorOptions = Omit<BaseErrorOptions, 'level'> & {
level?: 'error' | 'fatal';
};
/**
* Error that indicates something is wrong in the code: logic mistakes,
* unhandled cases, assertions that fail. These are not recoverable and
* should be brought to developers' attention.
*
* Default level: error
*/
export declare class UnexpectedError extends BaseError {
constructor(message: string, opts?: UnexpectedErrorOptions);
}
//# sourceMappingURL=unexpected.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"unexpected.error.d.ts","sourceRoot":"","sources":["../../../../src/errors/base/unexpected.error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG;IACtE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBACjC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,sBAA2B;CAK9D"}

View File

@@ -0,0 +1,15 @@
import { BaseError } from './base.error';
/**
* Error that indicates something is wrong in the code: logic mistakes,
* unhandled cases, assertions that fail. These are not recoverable and
* should be brought to developers' attention.
*
* Default level: error
*/
export class UnexpectedError extends BaseError {
constructor(message, opts = {}) {
opts.level = opts.level ?? 'error';
super(message, opts);
}
}
//# sourceMappingURL=unexpected.error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"unexpected.error.js","sourceRoot":"","sources":["../../../../src/errors/base/unexpected.error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC;;;;;;GAMG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC7C,YAAY,OAAe,EAAE,OAA+B,EAAE;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC;QAEnC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;CACD"}

View File

@@ -0,0 +1,18 @@
import type { BaseErrorOptions } from './base.error';
import { BaseError } from './base.error';
export type UserErrorOptions = Omit<BaseErrorOptions, 'level'> & {
level?: 'info' | 'warning';
description?: string | null | undefined;
};
/**
* Error that indicates the user performed an action that caused an error.
* E.g. provided invalid input, tried to access a resource theyre not
* authorized to, or violates a business rule.
*
* Default level: info
*/
export declare class UserError extends BaseError {
readonly description: string | null | undefined;
constructor(message: string, opts?: UserErrorOptions);
}
//# sourceMappingURL=user.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"user.error.d.ts","sourceRoot":"","sources":["../../../../src/errors/base/user.error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG;IAChE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,SAAS;IACvC,SAAiB,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;gBAE5C,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,gBAAqB;CAKxD"}

View File

@@ -0,0 +1,15 @@
import { BaseError } from './base.error';
/**
* Error that indicates the user performed an action that caused an error.
* E.g. provided invalid input, tried to access a resource theyre not
* authorized to, or violates a business rule.
*
* Default level: info
*/
export class UserError extends BaseError {
constructor(message, opts = {}) {
opts.level = opts.level ?? 'info';
super(message, opts);
}
}
//# sourceMappingURL=user.error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"user.error.js","sourceRoot":"","sources":["../../../../src/errors/base/user.error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOzC;;;;;;GAMG;AACH,MAAM,OAAO,SAAU,SAAQ,SAAS;IAGvC,YAAY,OAAe,EAAE,OAAyB,EAAE;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;QAElC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;CACD"}

View File

@@ -0,0 +1,4 @@
import { SubworkflowOperationError } from './subworkflow-operation.error';
export declare class CliWorkflowOperationError extends SubworkflowOperationError {
}
//# sourceMappingURL=cli-subworkflow-operation.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"cli-subworkflow-operation.error.d.ts","sourceRoot":"","sources":["../../../src/errors/cli-subworkflow-operation.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,qBAAa,yBAA0B,SAAQ,yBAAyB;CAAG"}

View File

@@ -0,0 +1,4 @@
import { SubworkflowOperationError } from './subworkflow-operation.error';
export class CliWorkflowOperationError extends SubworkflowOperationError {
}
//# sourceMappingURL=cli-subworkflow-operation.error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"cli-subworkflow-operation.error.js","sourceRoot":"","sources":["../../../src/errors/cli-subworkflow-operation.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,MAAM,OAAO,yBAA0B,SAAQ,yBAAyB;CAAG"}

View File

@@ -0,0 +1,9 @@
import { ApplicationError } from '@n8n/errors';
export type DbConnectionTimeoutErrorOpts = {
configuredTimeoutInMs: number;
cause: Error;
};
export declare class DbConnectionTimeoutError extends ApplicationError {
constructor(opts: DbConnectionTimeoutErrorOpts);
}
//# sourceMappingURL=db-connection-timeout-error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"db-connection-timeout-error.d.ts","sourceRoot":"","sources":["../../../src/errors/db-connection-timeout-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,4BAA4B,GAAG;IAC1C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;CACb,CAAC;AAEF,qBAAa,wBAAyB,SAAQ,gBAAgB;gBACjD,IAAI,EAAE,4BAA4B;CAK9C"}

View File

@@ -0,0 +1,9 @@
import { ApplicationError } from '@n8n/errors';
export class DbConnectionTimeoutError extends ApplicationError {
constructor(opts) {
const numberFormat = Intl.NumberFormat();
const errorMessage = `Could not establish database connection within the configured timeout of ${numberFormat.format(opts.configuredTimeoutInMs)} ms. Please ensure the database is configured correctly and the server is reachable. You can increase the timeout by setting the 'DB_POSTGRESDB_CONNECTION_TIMEOUT' environment variable.`;
super(errorMessage, { cause: opts.cause });
}
}
//# sourceMappingURL=db-connection-timeout-error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"db-connection-timeout-error.js","sourceRoot":"","sources":["../../../src/errors/db-connection-timeout-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO/C,MAAM,OAAO,wBAAyB,SAAQ,gBAAgB;IAC7D,YAAY,IAAkC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,4EAA4E,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,2LAA2L,CAAC;QAC5U,KAAK,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;CACD"}

View File

@@ -0,0 +1,3 @@
/** Ensures `error` is an `Error */
export declare function ensureError(error: unknown): Error;
//# sourceMappingURL=ensure-error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ensure-error.d.ts","sourceRoot":"","sources":["../../../src/errors/ensure-error.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAOjD"}

View File

@@ -0,0 +1,10 @@
/** Ensures `error` is an `Error */
export function ensureError(error) {
return error instanceof Error
? error
: new Error('Error that was not an instance of Error was thrown', {
// We should never throw anything except something that derives from Error
cause: error,
});
}
//# sourceMappingURL=ensure-error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"ensure-error.js","sourceRoot":"","sources":["../../../src/errors/ensure-error.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,MAAM,UAAU,WAAW,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,KAAK;QAC5B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,KAAK,CAAC,oDAAoD,EAAE;YAChE,0EAA0E;YAC1E,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;AACN,CAAC"}

View File

@@ -0,0 +1,14 @@
import { ExecutionBaseError } from './abstract/execution-base.error';
export declare abstract class ExecutionCancelledError extends ExecutionBaseError {
constructor(executionId: string);
}
export declare class ManualExecutionCancelledError extends ExecutionCancelledError {
constructor(executionId: string);
}
export declare class TimeoutExecutionCancelledError extends ExecutionCancelledError {
constructor(executionId: string);
}
export declare class SystemShutdownExecutionCancelledError extends ExecutionCancelledError {
constructor(executionId: string);
}
//# sourceMappingURL=execution-cancelled.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"execution-cancelled.error.d.ts","sourceRoot":"","sources":["../../../src/errors/execution-cancelled.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,8BAAsB,uBAAwB,SAAQ,kBAAkB;gBAE3D,WAAW,EAAE,MAAM;CAM/B;AAED,qBAAa,6BAA8B,SAAQ,uBAAuB;gBAC7D,WAAW,EAAE,MAAM;CAI/B;AAED,qBAAa,8BAA+B,SAAQ,uBAAuB;gBAC9D,WAAW,EAAE,MAAM;CAI/B;AAED,qBAAa,qCAAsC,SAAQ,uBAAuB;gBACrE,WAAW,EAAE,MAAM;CAI/B"}

View File

@@ -0,0 +1,29 @@
import { ExecutionBaseError } from './abstract/execution-base.error';
export class ExecutionCancelledError extends ExecutionBaseError {
// NOTE: prefer one of the more specific
constructor(executionId) {
super('The execution was cancelled', {
level: 'warning',
extra: { executionId },
});
}
}
export class ManualExecutionCancelledError extends ExecutionCancelledError {
constructor(executionId) {
super(executionId);
this.message = 'The execution was cancelled manually';
}
}
export class TimeoutExecutionCancelledError extends ExecutionCancelledError {
constructor(executionId) {
super(executionId);
this.message = 'The execution was cancelled because it timed out';
}
}
export class SystemShutdownExecutionCancelledError extends ExecutionCancelledError {
constructor(executionId) {
super(executionId);
this.message = 'The execution was cancelled because the system is shutting down';
}
}
//# sourceMappingURL=execution-cancelled.error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"execution-cancelled.error.js","sourceRoot":"","sources":["../../../src/errors/execution-cancelled.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,OAAgB,uBAAwB,SAAQ,kBAAkB;IACvE,wCAAwC;IACxC,YAAY,WAAmB;QAC9B,KAAK,CAAC,6BAA6B,EAAE;YACpC,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,EAAE,WAAW,EAAE;SACtB,CAAC,CAAC;IACJ,CAAC;CACD;AAED,MAAM,OAAO,6BAA8B,SAAQ,uBAAuB;IACzE,YAAY,WAAmB;QAC9B,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,sCAAsC,CAAC;IACvD,CAAC;CACD;AAED,MAAM,OAAO,8BAA+B,SAAQ,uBAAuB;IAC1E,YAAY,WAAmB;QAC9B,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,kDAAkD,CAAC;IACnE,CAAC;CACD;AAED,MAAM,OAAO,qCAAsC,SAAQ,uBAAuB;IACjF,YAAY,WAAmB;QAC9B,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,iEAAiE,CAAC;IAClF,CAAC;CACD"}

View File

@@ -0,0 +1,4 @@
import { ExpressionError } from './expression.error';
export declare class ExpressionExtensionError extends ExpressionError {
}
//# sourceMappingURL=expression-extension.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"expression-extension.error.d.ts","sourceRoot":"","sources":["../../../src/errors/expression-extension.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,wBAAyB,SAAQ,eAAe;CAAG"}

View File

@@ -0,0 +1,4 @@
import { ExpressionError } from './expression.error';
export class ExpressionExtensionError extends ExpressionError {
}
//# sourceMappingURL=expression-extension.error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"expression-extension.error.js","sourceRoot":"","sources":["../../../src/errors/expression-extension.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,wBAAyB,SAAQ,eAAe;CAAG"}

View File

@@ -0,0 +1,22 @@
import { ExecutionBaseError } from './abstract/execution-base.error';
export interface ExpressionErrorOptions {
cause?: Error;
causeDetailed?: string;
description?: string;
descriptionKey?: string;
descriptionTemplate?: string;
functionality?: 'pairedItem';
itemIndex?: number;
messageTemplate?: string;
nodeCause?: string;
parameter?: string;
runIndex?: number;
type?: 'no_execution_data' | 'no_node_execution_data' | 'no_input_connection' | 'internal' | 'paired_item_invalid_info' | 'paired_item_no_info' | 'paired_item_multiple_matches' | 'paired_item_no_connection' | 'paired_item_intermediate_nodes';
}
/**
* Class for instantiating an expression error
*/
export declare class ExpressionError extends ExecutionBaseError {
constructor(message: string, options?: ExpressionErrorOptions);
}
//# sourceMappingURL=expression.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"expression.error.d.ts","sourceRoot":"","sources":["../../../src/errors/expression.error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,WAAW,sBAAsB;IACtC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EACF,mBAAmB,GACnB,wBAAwB,GACxB,qBAAqB,GACrB,UAAU,GACV,0BAA0B,GAC1B,qBAAqB,GACrB,8BAA8B,GAC9B,2BAA2B,GAC3B,gCAAgC,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB;gBAC1C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB;CA+B7D"}

View File

@@ -0,0 +1,34 @@
import { ExecutionBaseError } from './abstract/execution-base.error';
/**
* Class for instantiating an expression error
*/
export class ExpressionError extends ExecutionBaseError {
constructor(message, options) {
super(message, { cause: options?.cause, level: 'warning' });
if (options?.description !== undefined) {
this.description = options.description;
}
const allowedKeys = [
'causeDetailed',
'descriptionTemplate',
'descriptionKey',
'itemIndex',
'messageTemplate',
'nodeCause',
'parameter',
'runIndex',
'type',
];
if (options !== undefined) {
if (options.functionality !== undefined) {
this.functionality = options.functionality;
}
Object.keys(options).forEach((key) => {
if (allowedKeys.includes(key)) {
this.context[key] = options[key];
}
});
}
}
}
//# sourceMappingURL=expression.error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"expression.error.js","sourceRoot":"","sources":["../../../src/errors/expression.error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AA0BrE;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IACtD,YAAY,OAAe,EAAE,OAAgC;QAC5D,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAE5D,IAAI,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,CAAC;QAED,MAAM,WAAW,GAAG;YACnB,eAAe;YACf,qBAAqB;YACrB,gBAAgB;YAChB,WAAW;YACX,iBAAiB;YACjB,WAAW;YACX,WAAW;YACX,UAAU;YACV,MAAM;SACN,CAAC;QAEF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YAC5C,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnD,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAI,OAAuB,CAAC,GAAG,CAAC,CAAC;gBACnD,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;CACD"}

24
node_modules/n8n-workflow/dist/esm/errors/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,24 @@
export { BaseError, type BaseErrorOptions } from './base/base.error';
export { OperationalError, type OperationalErrorOptions } from './base/operational.error';
export { UnexpectedError, type UnexpectedErrorOptions } from './base/unexpected.error';
export { UserError, type UserErrorOptions } from './base/user.error';
export { ApplicationError } from '@n8n/errors';
export { ExpressionError } from './expression.error';
export { ExecutionCancelledError, ManualExecutionCancelledError, SystemShutdownExecutionCancelledError, TimeoutExecutionCancelledError, } from './execution-cancelled.error';
export { NodeApiError } from './node-api.error';
export { NodeOperationError } from './node-operation.error';
export { WorkflowConfigurationError } from './workflow-configuration.error';
export { NodeSslError } from './node-ssl.error';
export { WebhookPathTakenError } from './webhook-taken.error';
export { WorkflowActivationError } from './workflow-activation.error';
export { WorkflowDeactivationError } from './workflow-deactivation.error';
export { WorkflowOperationError } from './workflow-operation.error';
export { SubworkflowOperationError } from './subworkflow-operation.error';
export { CliWorkflowOperationError } from './cli-subworkflow-operation.error';
export { TriggerCloseError } from './trigger-close.error';
export { NodeError } from './abstract/node.error';
export { ExecutionBaseError } from './abstract/execution-base.error';
export { ExpressionExtensionError } from './expression-extension.error';
export { DbConnectionTimeoutError } from './db-connection-timeout-error';
export { ensureError } from './ensure-error';
//# sourceMappingURL=index.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACN,uBAAuB,EACvB,6BAA6B,EAC7B,qCAAqC,EACrC,8BAA8B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}

24
node_modules/n8n-workflow/dist/esm/errors/index.js generated vendored Normal file
View File

@@ -0,0 +1,24 @@
export { BaseError } from './base/base.error';
export { OperationalError } from './base/operational.error';
export { UnexpectedError } from './base/unexpected.error';
export { UserError } from './base/user.error';
export { ApplicationError } from '@n8n/errors';
export { ExpressionError } from './expression.error';
export { ExecutionCancelledError, ManualExecutionCancelledError, SystemShutdownExecutionCancelledError, TimeoutExecutionCancelledError, } from './execution-cancelled.error';
export { NodeApiError } from './node-api.error';
export { NodeOperationError } from './node-operation.error';
export { WorkflowConfigurationError } from './workflow-configuration.error';
export { NodeSslError } from './node-ssl.error';
export { WebhookPathTakenError } from './webhook-taken.error';
export { WorkflowActivationError } from './workflow-activation.error';
export { WorkflowDeactivationError } from './workflow-deactivation.error';
export { WorkflowOperationError } from './workflow-operation.error';
export { SubworkflowOperationError } from './subworkflow-operation.error';
export { CliWorkflowOperationError } from './cli-subworkflow-operation.error';
export { TriggerCloseError } from './trigger-close.error';
export { NodeError } from './abstract/node.error';
export { ExecutionBaseError } from './abstract/execution-base.error';
export { ExpressionExtensionError } from './expression-extension.error';
export { DbConnectionTimeoutError } from './db-connection-timeout-error';
export { ensureError } from './ensure-error';
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAgC,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,eAAe,EAA+B,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,SAAS,EAAyB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACN,uBAAuB,EACvB,6BAA6B,EAC7B,qCAAqC,EACrC,8BAA8B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}

View File

@@ -0,0 +1,39 @@
import { NodeError } from './abstract/node.error';
import type { ErrorLevel } from '@n8n/errors';
import type { INode, JsonObject, Functionality, RelatedExecution } from '../interfaces';
export interface NodeOperationErrorOptions {
message?: string;
description?: string;
runIndex?: number;
itemIndex?: number;
level?: ErrorLevel;
messageMapping?: {
[key: string]: string;
};
functionality?: Functionality;
type?: string;
metadata?: {
subExecution?: RelatedExecution;
parentExecution?: RelatedExecution;
};
}
interface NodeApiErrorOptions extends NodeOperationErrorOptions {
message?: string;
httpCode?: string;
parseXml?: boolean;
}
/**
* Class for instantiating an error in an API response, e.g. a 404 Not Found response,
* with an HTTP error code, an error message and a description.
*/
export declare class NodeApiError extends NodeError {
httpCode: string | null;
constructor(node: INode, errorResponse: JsonObject, { message, description, httpCode, parseXml, runIndex, itemIndex, level, functionality, messageMapping, }?: NodeApiErrorOptions);
private setDescriptionFromXml;
/**
* Set the error's message based on the HTTP status code.
*/
private setDefaultStatusCodeMessage;
}
export {};
//# sourceMappingURL=node-api.error.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"node-api.error.d.ts","sourceRoot":"","sources":["../../../src/errors/node-api.error.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAO9C,OAAO,KAAK,EACX,KAAK,EACL,UAAU,EAGV,aAAa,EACb,gBAAgB,EAChB,MAAM,eAAe,CAAC;AAGvB,MAAM,WAAW,yBAAyB;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACV,YAAY,CAAC,EAAE,gBAAgB,CAAC;QAChC,eAAe,CAAC,EAAE,gBAAgB,CAAC;KACnC,CAAC;CACF;AAED,UAAU,mBAAoB,SAAQ,yBAAyB;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAyED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,SAAS;IAC1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAI9B,IAAI,EAAE,KAAK,EACX,aAAa,EAAE,UAAU,EACzB,EACC,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,EACL,aAAa,EACb,cAAc,GACd,GAAE,mBAAwB;IA4I5B,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,2BAA2B;CAmDnC"}

View File

@@ -0,0 +1,243 @@
import { parseString } from 'xml2js';
import { NodeError } from './abstract/node.error';
import { NO_OP_NODE_TYPE, UNKNOWN_ERROR_DESCRIPTION, UNKNOWN_ERROR_MESSAGE, UNKNOWN_ERROR_MESSAGE_CRED, } from '../constants';
import { removeCircularRefs } from '../utils';
/**
* Top-level properties where an error message can be found in an API response.
* order is important, precedence is from top to bottom
*/
const POSSIBLE_ERROR_MESSAGE_KEYS = [
'cause',
'error',
'message',
'Message',
'msg',
'messages',
'description',
'reason',
'detail',
'details',
'errors',
'errorMessage',
'errorMessages',
'ErrorMessage',
'error_message',
'_error_message',
'errorDescription',
'error_description',
'error_summary',
'error_info',
'title',
'text',
'field',
'err',
'type',
];
/**
* Properties where a nested object can be found in an API response.
*/
const POSSIBLE_NESTED_ERROR_OBJECT_KEYS = ['Error', 'error', 'err', 'response', 'body', 'data'];
/**
* Top-level properties where an HTTP error code can be found in an API response.
*/
const POSSIBLE_ERROR_STATUS_KEYS = [
'statusCode',
'status',
'code',
'status_code',
'errorCode',
'error_code',
];
/**
* Descriptive messages for common HTTP status codes
* this is used by NodeApiError class
*/
const STATUS_CODE_MESSAGES = {
'4XX': 'Your request is invalid or could not be processed by the service',
'400': 'Bad request - please check your parameters',
'401': 'Authorization failed - please check your credentials',
'402': 'Payment required - perhaps check your payment details?',
'403': 'Forbidden - perhaps check your credentials?',
'404': 'The resource you are requesting could not be found',
'405': 'Method not allowed - please check you are using the right HTTP method',
'429': 'The service is receiving too many requests from you',
'5XX': 'The service failed to process your request',
'500': 'The service was not able to process your request',
'502': 'Bad gateway - the service failed to handle your request',
'503': 'Service unavailable - try again later or consider setting this node to retry automatically (in the node settings)',
'504': 'Gateway timed out - perhaps try again later?',
};
/**
* Class for instantiating an error in an API response, e.g. a 404 Not Found response,
* with an HTTP error code, an error message and a description.
*/
export class NodeApiError extends NodeError {
httpCode = null;
// eslint-disable-next-line complexity
constructor(node, errorResponse, { message, description, httpCode, parseXml, runIndex, itemIndex, level, functionality, messageMapping, } = {}) {
if (errorResponse instanceof NodeApiError) {
return errorResponse;
}
super(node, errorResponse);
this.addToMessages(errorResponse.message);
if (!httpCode &&
errorResponse instanceof Error &&
errorResponse.constructor?.name === 'AxiosError') {
httpCode = errorResponse.response?.status?.toString();
}
// only for request library error
if (errorResponse.error) {
removeCircularRefs(errorResponse.error);
}
// if not description provided, try to find it in the error object
if (!description &&
(errorResponse.description || errorResponse?.reason?.description)) {
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
this.description = (errorResponse.description ||
errorResponse?.reason?.description);
}
// if not message provided, try to find it in the error object or set description as message
if (!message &&
(errorResponse.message || errorResponse?.reason?.message || description)) {
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
this.message = (errorResponse.message ||
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
errorResponse?.reason?.message ||
description);
}
// if it's an error generated by axios
// look for descriptions in the response object
if (errorResponse.reason) {
const reason = errorResponse.reason;
if (reason.isAxiosError && reason.response) {
errorResponse = reason.response;
}
}
// set http code of this error
if (httpCode) {
this.httpCode = httpCode;
}
else if (errorResponse.httpCode) {
this.httpCode = errorResponse.httpCode;
}
else {
this.httpCode =
this.findProperty(errorResponse, POSSIBLE_ERROR_STATUS_KEYS, POSSIBLE_NESTED_ERROR_OBJECT_KEYS) ?? null;
}
this.level = level ?? 'warning';
if (errorResponse?.response &&
typeof errorResponse?.response === 'object' &&
!Array.isArray(errorResponse.response) &&
errorResponse.response.data &&
typeof errorResponse.response.data === 'object' &&
!Array.isArray(errorResponse.response.data)) {
const data = errorResponse.response.data;
if (data.message) {
description = data.message;
}
else if (data.error && (data.error || {}).message) {
description = data.error.message;
}
this.context.data = data;
}
// set description of this error
if (description) {
this.description = description;
}
if (!this.description) {
if (parseXml) {
this.setDescriptionFromXml(errorResponse.error);
}
else {
this.description = this.findProperty(errorResponse, POSSIBLE_ERROR_MESSAGE_KEYS, POSSIBLE_NESTED_ERROR_OBJECT_KEYS);
}
}
// set message if provided
// set default message based on http code
// or use raw error message
if (message) {
this.message = message;
}
else {
this.setDefaultStatusCodeMessage();
}
// if message and description are the same, unset redundant description
if (this.message === this.description) {
this.description = undefined;
}
// if message contain common error code set descriptive message and update description
[this.message, this.messages] = this.setDescriptiveErrorMessage(this.message, this.messages,
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
this.httpCode ||
errorResponse?.code ||
errorResponse?.reason?.code ||
undefined, messageMapping);
if (functionality !== undefined)
this.functionality = functionality;
if (runIndex !== undefined)
this.context.runIndex = runIndex;
if (itemIndex !== undefined)
this.context.itemIndex = itemIndex;
}
setDescriptionFromXml(xml) {
parseString(xml, { explicitArray: false }, (_, result) => {
if (!result)
return;
const topLevelKey = Object.keys(result)[0];
this.description = this.findProperty(result[topLevelKey], POSSIBLE_ERROR_MESSAGE_KEYS, POSSIBLE_NESTED_ERROR_OBJECT_KEYS);
});
}
/**
* Set the error's message based on the HTTP status code.
*/
setDefaultStatusCodeMessage() {
// Set generic error message for 502 Bad Gateway
if (!this.httpCode && this.message && this.message.toLowerCase().includes('bad gateway')) {
this.httpCode = '502';
}
if (!this.httpCode) {
this.httpCode = null;
if (!this.message) {
if (this.description) {
this.message = this.description;
this.description = undefined;
}
else {
this.message = UNKNOWN_ERROR_MESSAGE;
this.description = UNKNOWN_ERROR_DESCRIPTION;
}
}
return;
}
if (STATUS_CODE_MESSAGES[this.httpCode]) {
this.addToMessages(this.message);
this.message = STATUS_CODE_MESSAGES[this.httpCode];
return;
}
switch (this.httpCode.charAt(0)) {
case '4':
this.addToMessages(this.message);
this.message = STATUS_CODE_MESSAGES['4XX'];
break;
case '5':
this.addToMessages(this.message);
this.message = STATUS_CODE_MESSAGES['5XX'];
break;
default:
if (!this.message) {
if (this.description) {
this.message = this.description;
this.description = undefined;
}
else {
this.message = UNKNOWN_ERROR_MESSAGE;
this.description = UNKNOWN_ERROR_DESCRIPTION;
}
}
}
if (this.node.type === NO_OP_NODE_TYPE && this.message === UNKNOWN_ERROR_MESSAGE) {
this.message = `${UNKNOWN_ERROR_MESSAGE_CRED} - ${this.httpCode}`;
}
}
}
//# sourceMappingURL=node-api.error.js.map

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More