n8n-core 1.114.0 → 1.116.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/execution-engine/index.d.ts +2 -2
  3. package/dist/execution-engine/node-execution-context/execute-context.js +2 -2
  4. package/dist/execution-engine/node-execution-context/load-options-context.js +2 -2
  5. package/dist/execution-engine/node-execution-context/supply-data-context.js +2 -2
  6. package/dist/execution-engine/node-execution-context/utils/data-table-helper-functions.d.ts +2 -0
  7. package/dist/execution-engine/node-execution-context/utils/data-table-helper-functions.js +13 -0
  8. package/dist/execution-engine/node-execution-context/utils/{data-store-helper-functions.js.map → data-table-helper-functions.js.map} +1 -1
  9. package/dist/execution-engine/node-execution-context/utils/request-helper-functions.d.ts +0 -12
  10. package/dist/execution-engine/node-execution-context/utils/request-helper-functions.js +32 -68
  11. package/dist/execution-engine/node-execution-context/utils/request-helper-functions.js.map +1 -1
  12. package/dist/execution-engine/requests-response.js +17 -4
  13. package/dist/execution-engine/requests-response.js.map +1 -1
  14. package/dist/execution-engine/workflow-execute.js +16 -1
  15. package/dist/execution-engine/workflow-execute.js.map +1 -1
  16. package/dist/http-proxy.d.ts +6 -0
  17. package/dist/http-proxy.js +104 -0
  18. package/dist/http-proxy.js.map +1 -0
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/instance-settings/instance-settings.js +1 -1
  23. package/dist/instance-settings/instance-settings.js.map +1 -1
  24. package/dist/nodes-loader/directory-loader.d.ts +3 -3
  25. package/dist/nodes-loader/directory-loader.js +3 -1
  26. package/dist/nodes-loader/directory-loader.js.map +1 -1
  27. package/dist/nodes-loader/package-directory-loader.js +5 -2
  28. package/dist/nodes-loader/package-directory-loader.js.map +1 -1
  29. package/package.json +8 -8
  30. package/dist/execution-engine/node-execution-context/utils/data-store-helper-functions.d.ts +0 -2
  31. package/dist/execution-engine/node-execution-context/utils/data-store-helper-functions.js +0 -13
@@ -1,4 +1,4 @@
1
- import type { DataStoreProxyProvider } from 'n8n-workflow';
1
+ import type { DataTableProxyProvider } from 'n8n-workflow';
2
2
  import type { ExecutionLifecycleHooks } from './execution-lifecycle-hooks';
3
3
  import type { ExternalSecretsProxy } from './external-secrets-proxy';
4
4
  declare module 'n8n-workflow' {
@@ -6,7 +6,7 @@ declare module 'n8n-workflow' {
6
6
  hooks?: ExecutionLifecycleHooks;
7
7
  externalSecretsProxy: ExternalSecretsProxy;
8
8
  'data-table'?: {
9
- dataStoreProxyProvider: DataStoreProxyProvider;
9
+ dataTableProxyProvider: DataTableProxyProvider;
10
10
  };
11
11
  dataTableProjectId?: string;
12
12
  }
@@ -6,7 +6,7 @@ const base_execute_context_1 = require("./base-execute-context");
6
6
  const binary_helper_functions_1 = require("./utils/binary-helper-functions");
7
7
  const construct_execution_metadata_1 = require("./utils/construct-execution-metadata");
8
8
  const copy_input_items_1 = require("./utils/copy-input-items");
9
- const data_store_helper_functions_1 = require("./utils/data-store-helper-functions");
9
+ const data_table_helper_functions_1 = require("./utils/data-table-helper-functions");
10
10
  const deduplication_helper_functions_1 = require("./utils/deduplication-helper-functions");
11
11
  const file_system_helper_functions_1 = require("./utils/file-system-helper-functions");
12
12
  const get_input_connection_data_1 = require("./utils/get-input-connection-data");
@@ -28,7 +28,7 @@ class ExecuteContext extends base_execute_context_1.BaseExecuteContext {
28
28
  constructExecutionMetaData: construct_execution_metadata_1.constructExecutionMetaData,
29
29
  ...(0, request_helper_functions_1.getRequestHelperFunctions)(workflow, node, additionalData, runExecutionData, connectionInputData),
30
30
  ...(0, binary_helper_functions_1.getBinaryHelperFunctions)(additionalData, workflow.id),
31
- ...(0, data_store_helper_functions_1.getDataStoreHelperFunctions)(additionalData, workflow, node),
31
+ ...(0, data_table_helper_functions_1.getDataTableHelperFunctions)(additionalData, workflow, node),
32
32
  ...(0, ssh_tunnel_helper_functions_1.getSSHTunnelFunctions)(),
33
33
  ...(0, file_system_helper_functions_1.getFileSystemHelperFunctions)(node),
34
34
  ...(0, deduplication_helper_functions_1.getDeduplicationHelperFunctions)(workflow, node),
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.LoadOptionsContext = void 0;
7
7
  const get_1 = __importDefault(require("lodash/get"));
8
8
  const node_execution_context_1 = require("./node-execution-context");
9
- const data_store_helper_functions_1 = require("./utils/data-store-helper-functions");
9
+ const data_table_helper_functions_1 = require("./utils/data-table-helper-functions");
10
10
  const extract_value_1 = require("./utils/extract-value");
11
11
  const request_helper_functions_1 = require("./utils/request-helper-functions");
12
12
  const ssh_tunnel_helper_functions_1 = require("./utils/ssh-tunnel-helper-functions");
@@ -17,7 +17,7 @@ class LoadOptionsContext extends node_execution_context_1.NodeExecutionContext {
17
17
  this.helpers = {
18
18
  ...(0, ssh_tunnel_helper_functions_1.getSSHTunnelFunctions)(),
19
19
  ...(0, request_helper_functions_1.getRequestHelperFunctions)(workflow, node, additionalData),
20
- ...(0, data_store_helper_functions_1.getDataStoreHelperFunctions)(additionalData, workflow, node),
20
+ ...(0, data_table_helper_functions_1.getDataTableHelperFunctions)(additionalData, workflow, node),
21
21
  };
22
22
  }
23
23
  async getCredentials(type) {
@@ -10,7 +10,7 @@ const base_execute_context_1 = require("./base-execute-context");
10
10
  const binary_helper_functions_1 = require("./utils/binary-helper-functions");
11
11
  const construct_execution_metadata_1 = require("./utils/construct-execution-metadata");
12
12
  const copy_input_items_1 = require("./utils/copy-input-items");
13
- const data_store_helper_functions_1 = require("./utils/data-store-helper-functions");
13
+ const data_table_helper_functions_1 = require("./utils/data-table-helper-functions");
14
14
  const deduplication_helper_functions_1 = require("./utils/deduplication-helper-functions");
15
15
  const file_system_helper_functions_1 = require("./utils/file-system-helper-functions");
16
16
  const get_input_connection_data_1 = require("./utils/get-input-connection-data");
@@ -31,7 +31,7 @@ class SupplyDataContext extends base_execute_context_1.BaseExecuteContext {
31
31
  ...(0, ssh_tunnel_helper_functions_1.getSSHTunnelFunctions)(),
32
32
  ...(0, file_system_helper_functions_1.getFileSystemHelperFunctions)(node),
33
33
  ...(0, binary_helper_functions_1.getBinaryHelperFunctions)(additionalData, workflow.id),
34
- ...(0, data_store_helper_functions_1.getDataStoreHelperFunctions)(additionalData, workflow, node),
34
+ ...(0, data_table_helper_functions_1.getDataTableHelperFunctions)(additionalData, workflow, node),
35
35
  ...(0, deduplication_helper_functions_1.getDeduplicationHelperFunctions)(workflow, node),
36
36
  assertBinaryData: (itemIndex, propertyName) => (0, binary_helper_functions_1.assertBinaryData)(inputData, node, itemIndex, propertyName, 0),
37
37
  getBinaryDataBuffer: async (itemIndex, propertyName) => await (0, binary_helper_functions_1.getBinaryDataBuffer)(inputData, itemIndex, propertyName, 0),
@@ -0,0 +1,2 @@
1
+ import type { DataTableProxyFunctions, INode, Workflow, IWorkflowExecuteAdditionalData } from 'n8n-workflow';
2
+ export declare function getDataTableHelperFunctions(additionalData: IWorkflowExecuteAdditionalData, workflow: Workflow, node: INode): Partial<DataTableProxyFunctions>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDataTableHelperFunctions = getDataTableHelperFunctions;
4
+ function getDataTableHelperFunctions(additionalData, workflow, node) {
5
+ const dataTableProxyProvider = additionalData['data-table']?.dataTableProxyProvider;
6
+ if (!dataTableProxyProvider)
7
+ return {};
8
+ return {
9
+ getDataTableAggregateProxy: async () => await dataTableProxyProvider.getDataTableAggregateProxy(workflow, node, additionalData.dataTableProjectId),
10
+ getDataTableProxy: async (dataTableId) => await dataTableProxyProvider.getDataTableProxy(workflow, node, dataTableId, additionalData.dataTableProjectId),
11
+ };
12
+ }
13
+ //# sourceMappingURL=data-table-helper-functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-store-helper-functions.js","sourceRoot":"","sources":["../../../../src/execution-engine/node-execution-context/utils/data-store-helper-functions.ts"],"names":[],"mappings":";;AAOA,kEAsBC;AAtBD,SAAgB,2BAA2B,CAC1C,cAA8C,EAC9C,QAAkB,EAClB,IAAW;IAEX,MAAM,sBAAsB,GAAG,cAAc,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACpF,IAAI,CAAC,sBAAsB;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO;QACN,0BAA0B,EAAE,KAAK,IAAI,EAAE,CACtC,MAAM,sBAAsB,CAAC,0BAA0B,CACtD,QAAQ,EACR,IAAI,EACJ,cAAc,CAAC,kBAAkB,CACjC;QACF,iBAAiB,EAAE,KAAK,EAAE,WAAmB,EAAE,EAAE,CAChD,MAAM,sBAAsB,CAAC,iBAAiB,CAC7C,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,cAAc,CAAC,kBAAkB,CACjC;KACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"data-table-helper-functions.js","sourceRoot":"","sources":["../../../../src/execution-engine/node-execution-context/utils/data-table-helper-functions.ts"],"names":[],"mappings":";;AAOA,kEAsBC;AAtBD,SAAgB,2BAA2B,CAC1C,cAA8C,EAC9C,QAAkB,EAClB,IAAW;IAEX,MAAM,sBAAsB,GAAG,cAAc,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACpF,IAAI,CAAC,sBAAsB;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO;QACN,0BAA0B,EAAE,KAAK,IAAI,EAAE,CACtC,MAAM,sBAAsB,CAAC,0BAA0B,CACtD,QAAQ,EACR,IAAI,EACJ,cAAc,CAAC,kBAAkB,CACjC;QACF,iBAAiB,EAAE,KAAK,EAAE,WAAmB,EAAE,EAAE,CAChD,MAAM,sBAAsB,CAAC,iBAAiB,CAC7C,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,cAAc,CAAC,kBAAkB,CACjC;KACF,CAAC;AACH,CAAC"}
@@ -1,17 +1,6 @@
1
1
  import type { AxiosRequestConfig, AxiosResponse } from 'axios';
2
2
  import FormData from 'form-data';
3
- import { Agent as HttpAgent } from 'http';
4
- import { type AgentOptions } from 'https';
5
3
  import type { IAdditionalCredentialOptions, IAllExecuteFunctions, IHttpRequestOptions, IN8nHttpFullResponse, IN8nHttpResponse, INode, INodeExecutionData, IOAuth2Options, IRequestOptions, IRunExecutionData, IWorkflowExecuteAdditionalData, PaginationOptions, RequestHelperFunctions, Workflow } from 'n8n-workflow';
6
- type AgentInfo = {
7
- protocol: 'http' | 'https';
8
- agent: HttpAgent;
9
- };
10
- export declare function getAgentWithProxy({ agentOptions, proxyConfig, targetUrl, }: {
11
- agentOptions?: AgentOptions;
12
- proxyConfig?: IHttpRequestOptions['proxy'] | string;
13
- targetUrl: string;
14
- }): AgentInfo;
15
4
  export declare function invokeAxios(axiosConfig: AxiosRequestConfig, authOptions?: IRequestOptions['auth']): Promise<AxiosResponse<any, any, {}>>;
16
5
  export declare const createFormDataObject: (data: Record<string, unknown>) => FormData;
17
6
  export declare function parseRequestObject(requestObject: IRequestOptions): Promise<AxiosRequestConfig<any>>;
@@ -25,4 +14,3 @@ export declare function requestOAuth1(this: IAllExecuteFunctions, credentialsTyp
25
14
  export declare function httpRequestWithAuthentication(this: IAllExecuteFunctions, credentialsType: string, requestOptions: IHttpRequestOptions, workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, additionalCredentialOptions?: IAdditionalCredentialOptions): Promise<any>;
26
15
  export declare function requestWithAuthentication(this: IAllExecuteFunctions, credentialsType: string, requestOptions: IRequestOptions, workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, additionalCredentialOptions?: IAdditionalCredentialOptions, itemIndex?: number): Promise<any>;
27
16
  export declare const getRequestHelperFunctions: (workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, runExecutionData?: IRunExecutionData | null, connectionInputData?: INodeExecutionData[]) => RequestHelperFunctions;
28
- export {};
@@ -37,7 +37,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.getRequestHelperFunctions = exports.removeEmptyBody = exports.createFormDataObject = void 0;
40
- exports.getAgentWithProxy = getAgentWithProxy;
41
40
  exports.invokeAxios = invokeAxios;
42
41
  exports.parseRequestObject = parseRequestObject;
43
42
  exports.proxyRequestToAxios = proxyRequestToAxios;
@@ -55,18 +54,15 @@ const axios_1 = __importDefault(require("axios"));
55
54
  const crypto_1 = __importStar(require("crypto"));
56
55
  const form_data_1 = __importDefault(require("form-data"));
57
56
  const http_1 = require("http");
58
- const http_proxy_agent_1 = require("http-proxy-agent");
59
- const https_1 = require("https");
60
- const https_proxy_agent_1 = require("https-proxy-agent");
61
57
  const get_1 = __importDefault(require("lodash/get"));
62
58
  const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
63
59
  const merge_1 = __importDefault(require("lodash/merge"));
64
60
  const pick_1 = __importDefault(require("lodash/pick"));
65
61
  const n8n_workflow_1 = require("n8n-workflow");
66
62
  const oauth_1_0a_1 = __importDefault(require("oauth-1.0a"));
67
- const proxy_from_env_1 = __importDefault(require("proxy-from-env"));
68
63
  const qs_1 = require("qs");
69
64
  const stream_1 = require("stream");
65
+ const http_proxy_1 = require("../../../http-proxy");
70
66
  const binary_helper_functions_1 = require("./binary-helper-functions");
71
67
  const parse_incoming_message_1 = require("./parse-incoming-message");
72
68
  axios_1.default.defaults.timeout = 300000;
@@ -87,75 +83,57 @@ function validateUrl(url) {
87
83
  new URL(url);
88
84
  return true;
89
85
  }
90
- catch (error) {
86
+ catch {
91
87
  return false;
92
88
  }
93
89
  }
94
90
  function getUrlFromProxyConfig(proxyConfig) {
95
91
  if (typeof proxyConfig === 'string') {
96
- if (!validateUrl(proxyConfig)) {
97
- return null;
98
- }
99
- return proxyConfig;
92
+ return validateUrl(proxyConfig) ? proxyConfig : null;
100
93
  }
101
- if (!proxyConfig?.host) {
94
+ if (!proxyConfig?.host)
102
95
  return null;
103
- }
104
96
  const { protocol, host, port, auth } = proxyConfig;
105
- const safeProtocol = protocol?.endsWith(':') ? protocol.replace(':', '') : (protocol ?? 'http');
97
+ const safeProtocol = protocol?.endsWith(':') ? protocol.slice(0, -1) : (protocol ?? 'http');
106
98
  try {
107
99
  const url = new URL(`${safeProtocol}://${host}`);
108
- if (port !== undefined) {
100
+ if (port !== undefined)
109
101
  url.port = String(port);
110
- }
111
102
  if (auth?.username) {
112
103
  url.username = auth.username;
113
104
  url.password = auth.password ?? '';
114
105
  }
115
106
  return url.href;
116
107
  }
117
- catch (error) {
108
+ catch {
118
109
  return null;
119
110
  }
120
111
  }
121
- function getTargetUrlFromAxiosConfig(axiosConfig) {
122
- const { url, baseURL } = axiosConfig;
112
+ function buildTargetUrl(url, baseURL) {
113
+ if (!url)
114
+ return undefined;
123
115
  try {
124
- return new URL(url ?? '', baseURL).href;
116
+ return baseURL ? new URL(url, baseURL).href : url;
125
117
  }
126
118
  catch {
127
- return '';
119
+ return undefined;
128
120
  }
129
121
  }
130
- function getAgentWithProxy({ agentOptions, proxyConfig, targetUrl, }) {
131
- const proxyUrl = getUrlFromProxyConfig(proxyConfig) ?? proxy_from_env_1.default.getProxyForUrl(targetUrl);
132
- const protocol = targetUrl.startsWith('https://') ? 'https' : 'http';
133
- if (proxyUrl) {
134
- const ProxyAgent = protocol === 'http' ? http_proxy_agent_1.HttpProxyAgent : https_proxy_agent_1.HttpsProxyAgent;
135
- return { protocol, agent: new ProxyAgent(proxyUrl, agentOptions) };
136
- }
137
- const Agent = protocol === 'http' ? http_1.Agent : https_1.Agent;
138
- return { protocol, agent: new Agent(agentOptions) };
122
+ function setAxiosAgents(config, agentOptions, proxyConfig) {
123
+ if (config.httpAgent || config.httpsAgent)
124
+ return;
125
+ const customProxyUrl = getUrlFromProxyConfig(proxyConfig);
126
+ const targetUrl = buildTargetUrl(config.url, config.baseURL);
127
+ if (!targetUrl)
128
+ return;
129
+ config.httpAgent = (0, http_proxy_1.createHttpProxyAgent)(customProxyUrl, targetUrl, agentOptions);
130
+ config.httpsAgent = (0, http_proxy_1.createHttpsProxyAgent)(customProxyUrl, targetUrl, agentOptions);
139
131
  }
140
- const applyAgentToAxiosConfig = (config, { agent, protocol }) => {
141
- if (protocol === 'http') {
142
- config.httpAgent = agent;
143
- }
144
- else {
145
- config.httpsAgent = agent;
146
- }
147
- return config;
148
- };
149
132
  axios_1.default.interceptors.request.use((config) => {
150
133
  if (config.data === undefined) {
151
134
  config.headers.setContentType(false, false);
152
135
  }
153
- if (!config.httpsAgent && !config.httpAgent) {
154
- const agent = getAgentWithProxy({
155
- targetUrl: getTargetUrlFromAxiosConfig(config),
156
- });
157
- applyAgentToAxiosConfig(config, agent);
158
- }
136
+ setAxiosAgents(config);
159
137
  return config;
160
138
  });
161
139
  function searchForHeader(config, headerName) {
@@ -180,18 +158,14 @@ const getBeforeRedirectFn = (agentOptions, axiosConfig, proxyConfig) => (redirec
180
158
  ...agentOptions,
181
159
  servername: redirectedRequest.hostname,
182
160
  };
183
- const redirectAgent = getAgentWithProxy({
184
- agentOptions: redirectAgentOptions,
185
- proxyConfig,
186
- targetUrl: redirectedRequest.href,
187
- });
188
- redirectedRequest.agent = redirectAgent.agent;
189
- if (redirectAgent.protocol === 'http') {
190
- redirectedRequest.agents.http = redirectAgent.agent;
191
- }
192
- else {
193
- redirectedRequest.agents.https = redirectAgent.agent;
194
- }
161
+ const customProxyUrl = getUrlFromProxyConfig(proxyConfig);
162
+ const targetUrl = redirectedRequest.href;
163
+ const httpAgent = (0, http_proxy_1.createHttpProxyAgent)(customProxyUrl, targetUrl, redirectAgentOptions);
164
+ const httpsAgent = (0, http_proxy_1.createHttpsProxyAgent)(customProxyUrl, targetUrl, redirectAgentOptions);
165
+ redirectedRequest.agent = redirectedRequest.href.startsWith('https://')
166
+ ? httpsAgent
167
+ : httpAgent;
168
+ redirectedRequest.agents = { http: httpAgent, https: httpsAgent };
195
169
  if (axiosConfig.headers?.Authorization) {
196
170
  redirectedRequest.headers.Authorization = axiosConfig.headers.Authorization;
197
171
  }
@@ -483,12 +457,7 @@ async function parseRequestObject(requestObject) {
483
457
  if (requestObject.timeout !== undefined) {
484
458
  axiosConfig.timeout = requestObject.timeout;
485
459
  }
486
- const agent = getAgentWithProxy({
487
- agentOptions,
488
- proxyConfig: requestObject.proxy,
489
- targetUrl: getTargetUrlFromAxiosConfig(axiosConfig),
490
- });
491
- applyAgentToAxiosConfig(axiosConfig, agent);
460
+ setAxiosAgents(axiosConfig, agentOptions, requestObject.proxy);
492
461
  axiosConfig.beforeRedirect = getBeforeRedirectFn(agentOptions, axiosConfig, requestObject.proxy);
493
462
  if (requestObject.useStream) {
494
463
  axiosConfig.responseType = 'stream';
@@ -618,12 +587,7 @@ function convertN8nRequestToAxios(n8nRequest) {
618
587
  if (n8nRequest.skipSslCertificateValidation === true) {
619
588
  agentOptions.rejectUnauthorized = false;
620
589
  }
621
- const agent = getAgentWithProxy({
622
- agentOptions,
623
- proxyConfig: proxy,
624
- targetUrl: getTargetUrlFromAxiosConfig(axiosRequest),
625
- });
626
- applyAgentToAxiosConfig(axiosRequest, agent);
590
+ setAxiosAgents(axiosRequest, agentOptions, proxy);
627
591
  axiosRequest.beforeRedirect = getBeforeRedirectFn(agentOptions, axiosRequest, n8nRequest.proxy);
628
592
  if (n8nRequest.arrayFormat !== undefined) {
629
593
  axiosRequest.paramsSerializer = (params) => {
@@ -1 +1 @@
1
- {"version":3,"file":"request-helper-functions.js","sourceRoot":"","sources":["../../../../src/execution-engine/node-execution-context/utils/request-helper-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-helper-functions.js","sourceRoot":"","sources":["../../../../src/execution-engine/node-execution-context/utils/request-helper-functions.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ exports.makeEngineResponse = makeEngineResponse;
6
6
  const di_1 = require("@n8n/di");
7
7
  const n8n_workflow_1 = require("n8n-workflow");
8
8
  const error_reporter_1 = require("../errors/error-reporter");
9
- function prepareRequestedNodesForExecution(workflow, currentNode, request, runIndex, runData) {
9
+ function prepareRequestedNodesForExecution(workflow, currentNode, request, runIndex, runData, executionData) {
10
10
  const nodesToBeExecuted = [];
11
11
  const subNodeExecutionData = {
12
12
  actions: [],
@@ -24,6 +24,10 @@ function prepareRequestedNodesForExecution(workflow, currentNode, request, runIn
24
24
  index: 0,
25
25
  };
26
26
  const parentNode = currentNode.name;
27
+ const parentSourceData = executionData.source?.main?.[runIndex];
28
+ const parentOutputIndex = parentSourceData?.previousNodeOutput ?? 0;
29
+ const parentRunIndex = parentSourceData?.previousNodeRun ?? 0;
30
+ const parentSourceNode = parentSourceData?.previousNode ?? currentNode.name;
27
31
  const parentOutputData = [
28
32
  [
29
33
  {
@@ -31,10 +35,18 @@ function prepareRequestedNodesForExecution(workflow, currentNode, request, runIn
31
35
  ...action.input,
32
36
  toolCallId: action.id,
33
37
  },
38
+ pairedItem: {
39
+ item: parentRunIndex,
40
+ input: parentOutputIndex,
41
+ sourceOverwrite: {
42
+ previousNode: parentSourceNode,
43
+ previousNodeOutput: parentOutputIndex,
44
+ previousNodeRun: parentRunIndex,
45
+ },
46
+ },
34
47
  },
35
48
  ],
36
49
  ];
37
- const parentOutputIndex = 0;
38
50
  runData[node.name] ||= [];
39
51
  const nodeRunData = runData[node.name];
40
52
  const nodeRunIndex = nodeRunData.length;
@@ -52,6 +64,7 @@ function prepareRequestedNodesForExecution(workflow, currentNode, request, runIn
52
64
  parentOutputData,
53
65
  runIndex,
54
66
  nodeRunIndex,
67
+ metadata: { preserveSourceOverwrite: true },
55
68
  });
56
69
  subNodeExecutionData.actions.push({
57
70
  action,
@@ -86,7 +99,7 @@ function prepareRequestingNodeForResuming(workflow, request, executionData) {
86
99
  return { connectionData, parentNode };
87
100
  }
88
101
  function handleRequest({ workflow, currentNode, request, runIndex, executionData, runData, }) {
89
- const { nodesToBeExecuted, subNodeExecutionData } = prepareRequestedNodesForExecution(workflow, currentNode, request, runIndex, runData);
102
+ const { nodesToBeExecuted, subNodeExecutionData } = prepareRequestedNodesForExecution(workflow, currentNode, request, runIndex, runData, executionData);
90
103
  const result = prepareRequestingNodeForResuming(workflow, request, executionData);
91
104
  if (!result) {
92
105
  return { nodesToBeExecuted: [] };
@@ -98,7 +111,7 @@ function handleRequest({ workflow, currentNode, request, runIndex, executionData
98
111
  parentOutputData: executionData.data.main,
99
112
  runIndex,
100
113
  nodeRunIndex: runIndex,
101
- metadata: { subNodeExecutionData },
114
+ metadata: { nodeWasResumed: true, subNodeExecutionData },
102
115
  });
103
116
  return { nodesToBeExecuted };
104
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"requests-response.js","sourceRoot":"","sources":["../../src/execution-engine/requests-response.ts"],"names":[],"mappings":";;AAgJA,sCA4CC;AAED,0CAIC;AAED,gDAEC;AAtMD,gCAAoC;AACpC,+CAYsB;AAEtB,6DAAyD;AAYzD,SAAS,iCAAiC,CACzC,QAAkB,EAClB,WAAkB,EAClB,OAAsB,EACtB,QAAgB,EAChB,OAAiB;IAGjB,MAAM,iBAAiB,GAAuB,EAAE,CAAC;IACjD,MAAM,oBAAoB,GAA0C;QACnE,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC1B,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,8BAAe,CACxB,sDAAsD,MAAM,CAAC,QAAQ,IAAI,CACzE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC;QACrC,MAAM,mBAAmB,GAAgB;YAExC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,QAAQ;YAErB,KAAK,EAAE,CAAC;SACR,CAAC;QACF,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;QACpC,MAAM,gBAAgB,GAA2B;YAChD;gBACC;oBACC,IAAI,EAAE;wBACL,GAAG,MAAM,CAAC,KAAK;wBACf,UAAU,EAAE,MAAM,CAAC,EAAE;qBACrB;iBACD;aACD;SACD,CAAC;QACF,MAAM,iBAAiB,GAAG,CAAC,CAAC;QAE5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;QAExC,WAAW,CAAC,IAAI,CAAC;YAEhB,aAAa,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;YAC5C,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,CAAC;YACjB,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;SACZ,CAAC,CAAC;QAEH,iBAAiB,CAAC,IAAI,CAAC;YACtB,mBAAmB;YACnB,iBAAiB;YACjB,UAAU;YACV,gBAAgB;YAChB,QAAQ;YACR,YAAY;SACZ,CAAC,CAAC;QACH,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC;YACjC,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,YAAY;SACtB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,gCAAgC,CACxC,QAAkB,EAClB,OAAsB,EACtB,aAA2B;IAE3B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,cAAS,CAAC,GAAG,CAAC,8BAAa,CAAC,CAAC,KAAK,CACjC,IAAI,8BAAe,CAClB,yEAAyE,CACzE,EACD;YACC,KAAK,EAAE;gBACN,aAAa,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI;gBACtC,UAAU,EAAE,aAAa,CAAC,MAAM;gBAChC,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3C,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,EAAE,EAAE,CAAC,CAAC,EAAE;iBACR,CAAC,CAAC;aACH;SACD,CACD,CAAC;QAEF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,cAAc,GAAgB;QAEnC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI;QAE7B,KAAK,EAAE,CAAC;KACR,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC;AAOD,SAAgB,aAAa,CAAC,EAC7B,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,aAAa,EACb,OAAO,GAQP;IAIA,MAAM,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,iCAAiC,CACpF,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,OAAO,CACP,CAAC;IAGF,MAAM,MAAM,GAAG,gCAAgC,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAClF,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IAClC,CAAC;IAGD,iBAAiB,CAAC,OAAO,CAAC;QACzB,mBAAmB,EAAE,MAAM,CAAC,cAAc;QAC1C,iBAAiB,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB,EAAE,aAAa,CAAC,IAAI,CAAC,IAA8B;QACnE,QAAQ;QACR,YAAY,EAAE,QAAQ;QACtB,QAAQ,EAAE,EAAE,oBAAoB,EAAE;KAClC,CAAC,CAAC;IAEH,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC9B,CAAC;AAED,SAAgB,eAAe,CAC9B,iBAA+F;IAE/F,OAAO,CAAC,CAAC,iBAAiB,IAAI,SAAS,IAAI,iBAAiB,CAAC;AAC9D,CAAC;AAED,SAAgB,kBAAkB;IACjC,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"requests-response.js","sourceRoot":"","sources":["../../src/execution-engine/requests-response.ts"],"names":[],"mappings":"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"}
@@ -850,6 +850,19 @@ class WorkflowExecute {
850
850
  return input;
851
851
  }
852
852
  return input.map((item, itemIndex) => {
853
+ const isToolExecution = !!executionData.metadata?.preserveSourceOverwrite;
854
+ if (isToolExecution &&
855
+ typeof item.pairedItem === 'object' &&
856
+ 'sourceOverwrite' in item.pairedItem) {
857
+ return {
858
+ ...item,
859
+ pairedItem: {
860
+ item: itemIndex,
861
+ input: inputIndex || undefined,
862
+ sourceOverwrite: item.pairedItem.sourceOverwrite,
863
+ },
864
+ };
865
+ }
853
866
  return {
854
867
  ...item,
855
868
  pairedItem: {
@@ -885,7 +898,9 @@ class WorkflowExecute {
885
898
  node: executionNode.name,
886
899
  workflowId: workflow.id,
887
900
  });
888
- await hooks.runHook('nodeExecuteBefore', [executionNode.name, taskStartedData]);
901
+ if (!executionData.metadata?.nodeWasResumed) {
902
+ await hooks.runHook('nodeExecuteBefore', [executionNode.name, taskStartedData]);
903
+ }
889
904
  let maxTries = 1;
890
905
  if (executionData.node.retryOnFail === true) {
891
906
  maxTries = Math.min(5, Math.max(2, executionData.node.maxTries || 3));