n8n-nodes-base 2.44.0 → 2.44.1

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 (71) hide show
  1. package/dist/cjs/build.tsbuildinfo +1 -1
  2. package/dist/credentials/CiscoSecureEndpointApi.credentials.d.ts +1 -1
  3. package/dist/credentials/CiscoSecureEndpointApi.credentials.d.ts.map +1 -1
  4. package/dist/credentials/CiscoSecureEndpointApi.credentials.js +19 -14
  5. package/dist/credentials/CiscoSecureEndpointApi.credentials.js.map +1 -1
  6. package/dist/node-definitions/.nodes-hash +1 -1
  7. package/dist/node-definitions/nodes/n8n-nodes-base/googleAnalytics/v2/resource_report/operation_get.ts +2 -2
  8. package/dist/node-definitions/nodes/n8n-nodes-base/microsoftOutlook/v2/resource_event/operation_create.ts +2 -2
  9. package/dist/node-definitions/nodes/n8n-nodes-base/quickbase/v1/resource_record/operation_delete.schema.js +1 -0
  10. package/dist/node-definitions/nodes/n8n-nodes-base/quickbase/v1/resource_record/operation_delete.ts +14 -0
  11. package/dist/node-definitions/nodes/n8n-nodes-base/quickbase/v1/resource_record/operation_get_all.schema.js +1 -1
  12. package/dist/node-definitions/nodes/n8n-nodes-base/quickbase/v1/resource_record/operation_get_all.ts +13 -0
  13. package/dist/nodes/Files/ReadWriteFile/actions/read.operation.d.ts.map +1 -1
  14. package/dist/nodes/Files/ReadWriteFile/actions/read.operation.js +16 -7
  15. package/dist/nodes/Files/ReadWriteFile/actions/read.operation.js.map +1 -1
  16. package/dist/nodes/Files/ReadWriteFile/helpers/glob.worker.d.ts +18 -0
  17. package/dist/nodes/Files/ReadWriteFile/helpers/glob.worker.d.ts.map +1 -0
  18. package/dist/nodes/Files/ReadWriteFile/helpers/glob.worker.js +22 -0
  19. package/dist/nodes/Files/ReadWriteFile/helpers/glob.worker.js.map +1 -0
  20. package/dist/nodes/Files/ReadWriteFile/helpers/utils.d.ts +5 -1
  21. package/dist/nodes/Files/ReadWriteFile/helpers/utils.d.ts.map +1 -1
  22. package/dist/nodes/Files/ReadWriteFile/helpers/utils.js +83 -0
  23. package/dist/nodes/Files/ReadWriteFile/helpers/utils.js.map +1 -1
  24. package/dist/nodes/Form/utils/formCompletionUtils.d.ts.map +1 -1
  25. package/dist/nodes/Form/utils/formCompletionUtils.js +10 -3
  26. package/dist/nodes/Form/utils/formCompletionUtils.js.map +1 -1
  27. package/dist/nodes/Form/v1/FormTriggerV1.node.d.ts +1 -1
  28. package/dist/nodes/Form/v2/FormTriggerV2.node.d.ts +1 -1
  29. package/dist/nodes/Git/Git.node.js +1 -1
  30. package/dist/nodes/Git/Git.node.js.map +1 -1
  31. package/dist/nodes/Okta/UserDescription.js +3 -3
  32. package/dist/nodes/Okta/UserDescription.js.map +1 -1
  33. package/dist/nodes/QuickBase/GenericFunctions.d.ts +6 -0
  34. package/dist/nodes/QuickBase/GenericFunctions.d.ts.map +1 -1
  35. package/dist/nodes/QuickBase/GenericFunctions.js +20 -0
  36. package/dist/nodes/QuickBase/GenericFunctions.js.map +1 -1
  37. package/dist/nodes/QuickBase/QuickBase.node.d.ts.map +1 -1
  38. package/dist/nodes/QuickBase/QuickBase.node.js +7 -2
  39. package/dist/nodes/QuickBase/QuickBase.node.js.map +1 -1
  40. package/dist/nodes/QuickBase/RecordDescription.d.ts.map +1 -1
  41. package/dist/nodes/QuickBase/RecordDescription.js +58 -0
  42. package/dist/nodes/QuickBase/RecordDescription.js.map +1 -1
  43. package/dist/nodes/ReadBinaryFiles/ReadBinaryFiles.node.d.ts.map +1 -1
  44. package/dist/nodes/ReadBinaryFiles/ReadBinaryFiles.node.js +2 -5
  45. package/dist/nodes/ReadBinaryFiles/ReadBinaryFiles.node.js.map +1 -1
  46. package/dist/nodes/SeaTable/v1/GenericFunctions.d.ts.map +1 -1
  47. package/dist/nodes/SeaTable/v1/GenericFunctions.js +6 -1
  48. package/dist/nodes/SeaTable/v1/GenericFunctions.js.map +1 -1
  49. package/dist/nodes/SeaTable/v2/GenericFunctions.d.ts.map +1 -1
  50. package/dist/nodes/SeaTable/v2/GenericFunctions.js +6 -1
  51. package/dist/nodes/SeaTable/v2/GenericFunctions.js.map +1 -1
  52. package/dist/nodes/SeaTable/v2/actions/asset/upload.operation.d.ts.map +1 -1
  53. package/dist/nodes/SeaTable/v2/actions/asset/upload.operation.js +4 -14
  54. package/dist/nodes/SeaTable/v2/actions/asset/upload.operation.js.map +1 -1
  55. package/dist/nodes/ServiceNow/ServiceNow.node.d.ts.map +1 -1
  56. package/dist/nodes/ServiceNow/ServiceNow.node.js +24 -16
  57. package/dist/nodes/ServiceNow/ServiceNow.node.js.map +1 -1
  58. package/dist/nodes/Slack/V2/SlackHitlWebhook.d.ts +1 -1
  59. package/dist/nodes/Telegram/TelegramTrigger.node.d.ts.map +1 -1
  60. package/dist/nodes/Telegram/TelegramTrigger.node.js +3 -1
  61. package/dist/nodes/Telegram/TelegramTrigger.node.js.map +1 -1
  62. package/dist/nodes/Telegram/hitl/tokens.d.ts +8 -6
  63. package/dist/nodes/Telegram/hitl/tokens.d.ts.map +1 -1
  64. package/dist/nodes/Telegram/hitl/tokens.js +9 -8
  65. package/dist/nodes/Telegram/hitl/tokens.js.map +1 -1
  66. package/dist/nodes/Wait/Wait.node.d.ts +1 -1
  67. package/dist/types/nodes.json +4 -4
  68. package/dist/utils/sendAndWait/utils.d.ts.map +1 -1
  69. package/dist/utils/sendAndWait/utils.js +8 -0
  70. package/dist/utils/sendAndWait/utils.js.map +1 -1
  71. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import type { ICredentialDataDecryptedObject, ICredentialTestRequest, ICredentialType, IHttpRequestOptions, INodeProperties } from 'n8n-workflow';
1
+ import { type ICredentialDataDecryptedObject, type ICredentialTestRequest, type ICredentialType, type IHttpRequestOptions, type INodeProperties } from 'n8n-workflow';
2
2
  export declare class CiscoSecureEndpointApi implements ICredentialType {
3
3
  name: string;
4
4
  displayName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CiscoSecureEndpointApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/CiscoSecureEndpointApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,MAAM,cAAc,CAAC;AAItB,qBAAa,sBAAuB,YAAW,eAAe;IAC7D,IAAI,SAA4B;IAEhC,WAAW,SAAqC;IAEhD,gBAAgB,SAAyB;IAEzC,IAAI;iBAAK,KAAK,EAAE,sBAAsB;iBAAE,IAAI,EAAE,2BAA2B;MAAY;IAErF,eAAe;QACd,IAAI;QACJ,OAAO;QACP,UAAU;MACT;IAEF,UAAU,EAAE,eAAe,EAAE,CAsC3B;IAEI,YAAY,CACjB,WAAW,EAAE,8BAA8B,EAC3C,cAAc,EAAE,mBAAmB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAkD9B;IAED,IAAI,EAAE,sBAAsB,CAQ1B;CACF"}
1
+ {"version":3,"file":"CiscoSecureEndpointApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/CiscoSecureEndpointApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,MAAM,cAAc,CAAC;AAmBtB,qBAAa,sBAAuB,YAAW,eAAe;IAC7D,IAAI,SAA4B;IAEhC,WAAW,SAAqC;IAEhD,gBAAgB,SAAyB;IAEzC,IAAI;iBAAK,KAAK,EAAE,sBAAsB;iBAAE,IAAI,EAAE,2BAA2B;MAAY;IAErF,eAAe;QACd,IAAI;QACJ,OAAO;QACP,UAAU;MACT;IAEF,UAAU,EAAE,eAAe,EAAE,CAyB3B;IAEI,YAAY,CACjB,WAAW,EAAE,8BAA8B,EAC3C,cAAc,EAAE,mBAAmB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAwD9B;IAED,IAAI,EAAE,sBAAsB,CAQ1B;CACF"}
@@ -1,7 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CiscoSecureEndpointApi = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
4
5
  const token_request_1 = require("./common/token-request");
6
+ // `region` is interpolated into the token-exchange host, so the stored value must stay
7
+ // inside this fixed set. The options field and the runtime check both read it from here.
8
+ const REGION_OPTIONS = [
9
+ { name: 'Asia Pacific, Japan, and China', value: 'apjc.amp' },
10
+ { name: 'Europe', value: 'eu.amp' },
11
+ { name: 'North America', value: 'amp' },
12
+ ];
13
+ function assertSupportedRegion(region) {
14
+ if (typeof region !== 'string' || !REGION_OPTIONS.some((option) => option.value === region)) {
15
+ throw new n8n_workflow_1.UserError('Unsupported Cisco Secure Endpoint region');
16
+ }
17
+ }
5
18
  class CiscoSecureEndpointApi {
6
19
  name = 'ciscoSecureEndpointApi';
7
20
  displayName = 'Cisco Secure Endpoint (AMP) API';
@@ -17,20 +30,7 @@ class CiscoSecureEndpointApi {
17
30
  displayName: 'Region',
18
31
  name: 'region',
19
32
  type: 'options',
20
- options: [
21
- {
22
- name: 'Asia Pacific, Japan, and China',
23
- value: 'apjc.amp',
24
- },
25
- {
26
- name: 'Europe',
27
- value: 'eu.amp',
28
- },
29
- {
30
- name: 'North America',
31
- value: 'amp',
32
- },
33
- ],
33
+ options: [...REGION_OPTIONS],
34
34
  default: 'amp',
35
35
  },
36
36
  {
@@ -55,8 +55,11 @@ class CiscoSecureEndpointApi {
55
55
  const clientId = credentials.clientId;
56
56
  const clientSecret = credentials.clientSecret;
57
57
  const region = credentials.region;
58
+ assertSupportedRegion(region);
58
59
  // `region` is interpolated into the request host, so gate the token POSTs on SSRF protection.
59
60
  const http = (0, token_request_1.getTokenRequestClient)('user-controlled');
61
+ // Apply the credential's own allow-list to the token requests it issues.
62
+ const allowedDomains = (0, n8n_workflow_1.getCredentialOwnRequestAllowedDomains)(credentials);
60
63
  const secureXToken = (await http.request({
61
64
  url: `https://visibility.${region}.cisco.com/iroh/oauth2/token`,
62
65
  method: 'POST',
@@ -73,6 +76,7 @@ class CiscoSecureEndpointApi {
73
76
  },
74
77
  json: true,
75
78
  timeout: token_request_1.TOKEN_REQUEST_TIMEOUT,
79
+ allowedDomains,
76
80
  }));
77
81
  const secureEndpointToken = (await http.request({
78
82
  url: `https://api.${region}.cisco.com/v3/access_tokens`,
@@ -87,6 +91,7 @@ class CiscoSecureEndpointApi {
87
91
  },
88
92
  json: true,
89
93
  timeout: token_request_1.TOKEN_REQUEST_TIMEOUT,
94
+ allowedDomains,
90
95
  }));
91
96
  const requestOptionsWithAuth = {
92
97
  ...requestOptions,
@@ -1 +1 @@
1
- {"version":3,"file":"CiscoSecureEndpointApi.credentials.js","sourceRoot":"","sources":["../../credentials/CiscoSecureEndpointApi.credentials.ts"],"names":[],"mappings":";;;AAQA,0DAAsF;AAEtF;IACC,IAAI,GAAG,wBAAwB,CAAC;IAEhC,WAAW,GAAG,iCAAiC,CAAC;IAEhD,gBAAgB,GAAG,qBAAqB,CAAC;IAEzC,IAAI,GAAG,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,2BAA2B,EAAW,CAAC;IAErF,eAAe,GAAG;QACjB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,mDAAmD;QAC5D,UAAU,EAAE,EAAE;KACd,CAAC;IAEF,UAAU,GAAsB;QAC/B;YACC,WAAW,EAAE,QAAQ;YACrB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,gCAAgC;oBACtC,KAAK,EAAE,UAAU;iBACjB;gBACD;oBACC,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,QAAQ;iBACf;gBACD;oBACC,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,KAAK;iBACZ;aACD;YACD,OAAO,EAAE,KAAK;SACd;QACD;YACC,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;SACd;QACD;YACC,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACd;YACD,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;SACd;KACD,CAAC;IAEF,KAAK,CAAC,YAAY,CACjB,WAA2C,EAC3C,cAAmC;QAEnC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAkB,CAAC;QAChD,MAAM,YAAY,GAAG,WAAW,CAAC,YAAsB,CAAC;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAgB,CAAC;QAE5C,8FAA8F;QAC9F,MAAM,IAAI,GAAG,IAAA,qCAAqB,EAAC,iBAAiB,CAAC,CAAC;QAEtD,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC;YACxC,GAAG,EAAE,sBAAsB,MAAM,8BAA8B;YAC/D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACL,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,YAAY;aACtB;YACD,IAAI,EAAE,IAAI,eAAe,CAAC;gBACzB,UAAU,EAAE,oBAAoB;aAChC,CAAC,CAAC,QAAQ,EAAE;YACb,OAAO,EAAE;gBACR,cAAc,EAAE,mCAAmC;gBACnD,MAAM,EAAE,kBAAkB;aAC1B;YACD,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,qCAAqB;SAC9B,CAAC,CAA6B,CAAC;QAEhC,MAAM,mBAAmB,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC;YAC/C,GAAG,EAAE,eAAe,MAAM,6BAA6B;YACvD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,eAAe,CAAC;gBACzB,UAAU,EAAE,oBAAoB;aAChC,CAAC,CAAC,QAAQ,EAAE;YACb,OAAO,EAAE;gBACR,cAAc,EAAE,mCAAmC;gBACnD,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,YAAY,CAAC,YAAY,EAAE;aACpD;YACD,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,qCAAqB;SAC9B,CAAC,CAA6B,CAAC;QAEhC,MAAM,sBAAsB,GAAwB;YACnD,GAAG,cAAc;YACjB,OAAO,EAAE;gBACR,GAAG,cAAc,CAAC,OAAO;gBACzB,aAAa,EAAE,UAAU,mBAAmB,CAAC,YAAY,EAAE;aAC3D;SACD,CAAC;QAEF,OAAO,sBAAsB,CAAC;IAC/B,CAAC;IAED,IAAI,GAA2B;QAC9B,OAAO,EAAE;YACR,OAAO,EAAE,gDAAgD;YACzD,GAAG,EAAE,mBAAmB;YACxB,EAAE,EAAE;gBACH,IAAI,EAAE,EAAE;aACR;SACD;KACD,CAAC;CACF"}
1
+ {"version":3,"file":"CiscoSecureEndpointApi.credentials.js","sourceRoot":"","sources":["../../credentials/CiscoSecureEndpointApi.credentials.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- a732b768c853557e726e96efa059c34e2380522d34dc6d417ee0bfc97b2fdb4c
1
+ 9265d36ecc2f6c3b7bab919305da20f959e9db4a84f72e3aebb03d1016a9a52d
@@ -34,13 +34,13 @@ export type GoogleAnalyticsV2ReportGetParams = {
34
34
  /**
35
35
  * Start
36
36
  * @displayOptions.show { dateRange: ["custom"], propertyType: ["ga4"] }
37
- * @default 2026-10-05T00:00:00.000+00:00
37
+ * @default 2026-10-06T00:00:00.000+00:00
38
38
  */
39
39
  startDate?: string | Expression<string>;
40
40
  /**
41
41
  * End
42
42
  * @displayOptions.show { dateRange: ["custom"], propertyType: ["ga4"] }
43
- * @default 2026-10-12T00:00:00.000+00:00
43
+ * @default 2026-10-13T00:00:00.000+00:00
44
44
  */
45
45
  endDate?: string | Expression<string>;
46
46
  /**
@@ -33,12 +33,12 @@ export type MicrosoftOutlookV2EventCreateParams = {
33
33
  subject: string | Expression<string>;
34
34
  /**
35
35
  * Start
36
- * @default 2026-10-13T07:14:58.351+00:00
36
+ * @default 2026-10-14T07:28:24.429+00:00
37
37
  */
38
38
  startDateTime?: string | Expression<string>;
39
39
  /**
40
40
  * End
41
- * @default 2026-10-13T07:44:58.351+00:00
41
+ * @default 2026-10-14T07:58:24.429+00:00
42
42
  */
43
43
  endDateTime?: string | Expression<string>;
44
44
  /**
@@ -18,6 +18,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
18
18
  operation: z.literal('delete'),
19
19
  tableId: stringOrExpression,
20
20
  where: stringOrExpression,
21
+ whereParameters: z.object({ values: z.array(z.object({ value: stringOrExpression.optional() })).optional() }).optional(),
21
22
  }).optional(),
22
23
  });
23
24
  };
@@ -18,8 +18,22 @@ export type QuickbaseV1RecordDeleteParams = {
18
18
  tableId: string | Expression<string>;
19
19
  /**
20
20
  * The filter to delete records. To delete all records specify a filter that will include all records, for example {3.GT.0} where 3 is the ID of the Record ID field.
21
+ * @hint Use $1, $2, etc. and Where Parameters to reference dynamic values, rather than building this filter with an expression
21
22
  */
22
23
  where: string | Expression<string>;
24
+ /**
25
+ * Values to insert for $1, $2, etc. in 'Where'. When you add a parameter, every $ followed by a number in 'Where' refers to a parameter. A value cannot contain ', ", { or }.
26
+ * @default {}
27
+ */
28
+ whereParameters?: {
29
+ /** Parameter
30
+ */
31
+ values?: Array<{
32
+ /** Value
33
+ */
34
+ value?: string | Expression<string>;
35
+ }>;
36
+ };
23
37
  };
24
38
 
25
39
  export type QuickbaseV1RecordDeleteNode = {
@@ -19,7 +19,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
19
19
  tableId: stringOrExpression,
20
20
  returnAll: booleanOrExpression.optional(),
21
21
  limit: resolveSchema({ parameters, schema: numberOrExpression, required: false, displayOptions: {"show":{"returnAll":[false]}}, defaults: {"returnAll":false} }),
22
- options: z.object({ select: z.array(z.string()).optional(), sortByUi: z.object({ sortByValues: z.array(z.object({ fieldId: stringOrExpression.optional(), order: z.union([z.literal('ASC'), z.literal('DESC'), expressionSchema]).optional() })).optional() }).optional(), where: stringOrExpression.optional() }).optional(),
22
+ options: z.object({ select: z.array(z.string()).optional(), sortByUi: z.object({ sortByValues: z.array(z.object({ fieldId: stringOrExpression.optional(), order: z.union([z.literal('ASC'), z.literal('DESC'), expressionSchema]).optional() })).optional() }).optional(), where: stringOrExpression.optional(), whereParameters: z.object({ values: z.array(z.object({ value: stringOrExpression.optional() })).optional() }).optional() }).optional(),
23
23
  }).optional(),
24
24
  });
25
25
  };
@@ -55,8 +55,21 @@ export type QuickbaseV1RecordGetAllParams = {
55
55
  }>;
56
56
  };
57
57
  /** The filter, using the &lt;a href="https://help.quickbase.com/api-guide/componentsquery.html"&gt;Quick Base query language&lt;/a&gt;, which determines the records to return
58
+ * @hint Use $1, $2, etc. and Where Parameters to reference dynamic values, rather than building this filter with an expression
58
59
  */
59
60
  where?: string | Expression<string>;
61
+ /** Values to insert for $1, $2, etc. in 'Where'. When you add a parameter, every $ followed by a number in 'Where' refers to a parameter. A value cannot contain ', ", { or }.
62
+ * @default {}
63
+ */
64
+ whereParameters?: {
65
+ /** Parameter
66
+ */
67
+ values?: Array<{
68
+ /** Value
69
+ */
70
+ value?: string | Expression<string>;
71
+ }>;
72
+ };
60
73
  };
61
74
  };
62
75
 
@@ -1 +1 @@
1
- {"version":3,"file":"read.operation.d.ts","sourceRoot":"","sources":["../../../../../nodes/Files/ReadWriteFile/actions/read.operation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAEf,MAAM,cAAc,CAAC;AAMtB,eAAO,MAAM,UAAU,EAAE,eAAe,EAwEvC,CAAC;AAQF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAmD,CAAC;AAE5E,wBAAsB,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE,iCAkGjF"}
1
+ {"version":3,"file":"read.operation.d.ts","sourceRoot":"","sources":["../../../../../nodes/Files/ReadWriteFile/actions/read.operation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EAEf,MAAM,cAAc,CAAC;AAYtB,eAAO,MAAM,UAAU,EAAE,eAAe,EAwEvC,CAAC;AAQF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAmD,CAAC;AAE5E,wBAAsB,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE,iCAqHjF"}
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.description = exports.properties = void 0;
7
4
  exports.execute = execute;
8
- const fast_glob_1 = __importDefault(require("fast-glob"));
9
5
  const n8n_workflow_1 = require("n8n-workflow");
10
6
  const utilities_1 = require("../../../../utils/utilities");
11
7
  const utils_1 = require("../helpers/utils");
@@ -90,6 +86,10 @@ async function execute(items) {
90
86
  const nodeVersion = this.getNode().typeVersion;
91
87
  const returnData = [];
92
88
  let fileSelector;
89
+ // One glob-time budget for the whole execution, so N items cannot each burn a
90
+ // full timeout. Only time spent globbing is charged — file reads in between
91
+ // must not make a later selector look slow.
92
+ let remainingGlobMs = utils_1.GLOB_TIMEOUT_MS;
93
93
  for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
94
94
  try {
95
95
  fileSelector = (0, utils_1.normalizeFileSelector)(this.getNodeParameter('fileSelector', itemIndex));
@@ -102,9 +102,18 @@ async function execute(items) {
102
102
  const escaped = (0, utils_1.escapeBracketsAndParens)(fileSelector);
103
103
  // Unescaped `(` would otherwise open extglob, whose nested quantifiers make
104
104
  // matching cost grow exponentially with the length of a file name
105
- const files = literalBrackets
106
- ? await (0, fast_glob_1.default)(escaped)
107
- : await (0, fast_glob_1.default)(fileSelector, { extglob: false });
105
+ const startedGlobAt = Date.now();
106
+ let files;
107
+ try {
108
+ files = literalBrackets
109
+ ? await (0, utils_1.globWithDeadline)(this.getNode(), escaped, {}, itemIndex, remainingGlobMs)
110
+ : await (0, utils_1.globWithDeadline)(this.getNode(), fileSelector, { extglob: false }, itemIndex, remainingGlobMs);
111
+ }
112
+ finally {
113
+ // Charge the budget even when the glob times out, so a failing item
114
+ // cannot hand the next one (with Continue On Fail) a fresh full budget.
115
+ remainingGlobMs -= Date.now() - startedGlobAt;
116
+ }
108
117
  if (files.length === 0 && nodeVersion > 1) {
109
118
  const hasUnescapedBrackets = escaped !== fileSelector;
110
119
  const optionHint = !hasUnescapedBrackets
@@ -1 +1 @@
1
- {"version":3,"file":"read.operation.js","sourceRoot":"","sources":["../../../../../nodes/Files/ReadWriteFile/actions/read.operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.operation.js","sourceRoot":"","sources":["../../../../../nodes/Files/ReadWriteFile/actions/read.operation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import glob from 'fast-glob';
2
+ export interface GlobWorkerData {
3
+ pattern: string;
4
+ options: glob.Options;
5
+ }
6
+ export type GlobWorkerError = {
7
+ message: string;
8
+ code?: string;
9
+ path?: string;
10
+ };
11
+ export type GlobWorkerResponse = {
12
+ ok: true;
13
+ files: string[];
14
+ } | {
15
+ ok: false;
16
+ error: GlobWorkerError;
17
+ };
18
+ //# sourceMappingURL=glob.worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.worker.d.ts","sourceRoot":"","sources":["../../../../../nodes/Files/ReadWriteFile/helpers/glob.worker.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;CACtB;AAID,MAAM,MAAM,eAAe,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,MAAM,MAAM,kBAAkB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fast_glob_1 = __importDefault(require("fast-glob"));
7
+ const node_worker_threads_1 = require("node:worker_threads");
8
+ const { pattern, options } = node_worker_threads_1.workerData;
9
+ (0, fast_glob_1.default)(pattern, options)
10
+ .then((files) => node_worker_threads_1.parentPort?.postMessage({ ok: true, files }))
11
+ .catch((error) => {
12
+ const errno = error;
13
+ node_worker_threads_1.parentPort?.postMessage({
14
+ ok: false,
15
+ error: {
16
+ message: error instanceof Error ? error.message : String(error),
17
+ code: errno?.code,
18
+ path: errno?.path,
19
+ },
20
+ });
21
+ });
22
+ //# sourceMappingURL=glob.worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.worker.js","sourceRoot":"","sources":["../../../../../nodes/Files/ReadWriteFile/helpers/glob.worker.ts"],"names":[],"mappings":";;;;;AAAA,0DAA6B;AAC7B,6DAA6D;AAkB7D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,gCAA4B,CAAC;AAE1D,IAAA,mBAAI,EAAC,OAAO,EAAE,OAAO,CAAC;KACpB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gCAAU,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAA+B,CAAC,CAAC;KAC1F,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACzB,MAAM,KAAK,GAAG,KAA8B,CAAC;IAC7C,gCAAU,EAAE,WAAW,CAAC;QACvB,EAAE,EAAE,KAAK;QACT,KAAK,EAAE;YACN,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/D,IAAI,EAAE,KAAK,EAAE,IAAI;YACjB,IAAI,EAAE,KAAK,EAAE,IAAI;SACjB;KAC4B,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC"}
@@ -1,6 +1,10 @@
1
- import type { IDataObject, IExecuteFunctions } from 'n8n-workflow';
1
+ import glob from 'fast-glob';
2
+ import type { IDataObject, IExecuteFunctions, INode } from 'n8n-workflow';
2
3
  import { NodeOperationError } from 'n8n-workflow';
3
4
  export declare function errorMapper(this: IExecuteFunctions, error: Error, itemIndex: number, context?: IDataObject): NodeOperationError;
4
5
  export declare function normalizeFileSelector(fileSelectorRaw: string): string;
6
+ export declare const GLOB_TIMEOUT_MS = 10000;
7
+ export declare function isTriviallyCheapSelector(selector: string): boolean;
8
+ export declare function globWithDeadline(node: INode, pattern: string, options?: glob.Options, itemIndex?: number, budgetMs?: number): Promise<string[]>;
5
9
  export declare function escapeBracketsAndParens(fileSelector: string): string;
6
10
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../nodes/Files/ReadWriteFile/helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,wBAAgB,WAAW,CAC1B,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,WAAW,sBA0BrB;AASD,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,MAAM,UAS5D;AAGD,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,UAE3D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../nodes/Files/ReadWriteFile/helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOlD,wBAAgB,WAAW,CAC1B,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,WAAW,sBA0BrB;AASD,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,MAAM,UAS5D;AAOD,eAAO,MAAM,eAAe,QAAS,CAAC;AAiCtC,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAIlE;AAED,wBAAsB,gBAAgB,CACrC,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,IAAI,CAAC,OAAY,EAC1B,SAAS,SAAI,EACb,QAAQ,SAAkB,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAiCnB;AAGD,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,UAE3D"}
@@ -3,11 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GLOB_TIMEOUT_MS = void 0;
6
7
  exports.errorMapper = errorMapper;
7
8
  exports.normalizeFileSelector = normalizeFileSelector;
9
+ exports.isTriviallyCheapSelector = isTriviallyCheapSelector;
10
+ exports.globWithDeadline = globWithDeadline;
8
11
  exports.escapeBracketsAndParens = escapeBracketsAndParens;
12
+ const fast_glob_1 = __importDefault(require("fast-glob"));
9
13
  const n8n_workflow_1 = require("n8n-workflow");
14
+ const node_fs_1 = require("node:fs");
10
15
  const node_path_1 = __importDefault(require("node:path"));
16
+ const node_worker_threads_1 = require("node:worker_threads");
11
17
  function errorMapper(error, itemIndex, context) {
12
18
  let message;
13
19
  let description;
@@ -47,6 +53,83 @@ function normalizeFileSelector(fileSelectorRaw) {
47
53
  ? node_path_1.default.win32.normalize(fileSelector).replace(/\\/g, '/')
48
54
  : node_path_1.default.posix.normalize(fileSelector);
49
55
  }
56
+ // Matching a free-form selector can cost far more than the files it returns —
57
+ // e.g. many `*` in one segment, or a deep `**` walk. Run it off the main event
58
+ // loop so a slow selector can be bounded and terminated, keeping the instance
59
+ // responsive. One budget covers a whole node execution (see read.operation),
60
+ // and it counts glob time only, so file reads between items never spend it.
61
+ exports.GLOB_TIMEOUT_MS = 10_000;
62
+ // Compiled output is `helpers/utils.js`, with `glob.worker.js` beside it. Under
63
+ // Vitest the source `.ts` runs, whose sibling `.js` is absent, so fall back to
64
+ // the build output (the package is built before tests run). `lastIndexOf` keeps
65
+ // the mapping correct even when a parent directory is also named `nodes`.
66
+ function resolveGlobWorkerPath() {
67
+ const { dir } = node_path_1.default.parse(__filename);
68
+ const sibling = node_path_1.default.join(dir, 'glob.worker.js');
69
+ if ((0, node_fs_1.existsSync)(sibling))
70
+ return sibling;
71
+ const marker = `${node_path_1.default.sep}nodes${node_path_1.default.sep}`;
72
+ const at = dir.lastIndexOf(marker);
73
+ const distDir = `${dir.slice(0, at)}${node_path_1.default.sep}dist${dir.slice(at)}`;
74
+ return node_path_1.default.join(distDir, 'glob.worker.js');
75
+ }
76
+ function tooComplexError(node, itemIndex) {
77
+ return new n8n_workflow_1.NodeOperationError(node, 'File(s) Selector is too complex', {
78
+ itemIndex,
79
+ description: 'The selector took too long to evaluate. Use a more specific pattern with fewer wildcards.',
80
+ });
81
+ }
82
+ const MAX_MAIN_THREAD_WILDCARDS = 2;
83
+ // A whitelist fast path, never a security check: it only returns true for a
84
+ // selector that provably cannot backtrack or recurse, so the match is safe to
85
+ // run inline and skip the worker. Anything with glob syntax we would have to
86
+ // parse — braces, parens/extglob, classes, escapes, `!`, or a `**` globstar —
87
+ // falls through to the worker instead, as does more than a couple of `*`. `?`
88
+ // is fixed-width, so its count is irrelevant.
89
+ function isTriviallyCheapSelector(selector) {
90
+ if (selector.includes('**'))
91
+ return false;
92
+ if (/[{}()[\]\\!]/.test(selector))
93
+ return false;
94
+ return (selector.match(/\*/g)?.length ?? 0) <= MAX_MAIN_THREAD_WILDCARDS;
95
+ }
96
+ async function globWithDeadline(node, pattern, options = {}, itemIndex = 0, budgetMs = exports.GLOB_TIMEOUT_MS) {
97
+ // Plain selectors run inline; only the rest pay for a worker and a deadline.
98
+ if (isTriviallyCheapSelector(pattern))
99
+ return await (0, fast_glob_1.default)(pattern, options);
100
+ if (budgetMs <= 0)
101
+ throw tooComplexError(node, itemIndex);
102
+ const worker = new node_worker_threads_1.Worker(resolveGlobWorkerPath(), {
103
+ workerData: { pattern, options },
104
+ });
105
+ let timer;
106
+ try {
107
+ return await new Promise((resolve, reject) => {
108
+ timer = setTimeout(() => reject(tooComplexError(node, itemIndex)), budgetMs);
109
+ worker.once('message', (response) => {
110
+ if (response.ok)
111
+ return resolve(response.files);
112
+ // Reattach `code`/`path` so errorMapper and NodeApiError see the real values.
113
+ const error = new Error(response.error.message);
114
+ error.code = response.error.code;
115
+ error.path = response.error.path;
116
+ reject(error);
117
+ });
118
+ worker.once('error', reject);
119
+ worker.once('exit', (code) => {
120
+ if (code !== 0)
121
+ reject(new Error(`Glob worker stopped with exit code ${code}`));
122
+ });
123
+ });
124
+ }
125
+ finally {
126
+ if (timer)
127
+ clearTimeout(timer);
128
+ // Fire-and-forget: tear the thread down without blocking the result or
129
+ // letting a terminate rejection mask the real outcome.
130
+ void worker.terminate().catch(() => { });
131
+ }
132
+ }
50
133
  // The optional leading backslash makes this idempotent for hand-escaped selectors.
51
134
  function escapeBracketsAndParens(fileSelector) {
52
135
  return fileSelector.replace(/\\?([()[\]])/g, '\\$1');
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../nodes/Files/ReadWriteFile/helpers/utils.ts"],"names":[],"mappings":";;;;;;;;AACA,+CAAkD;AAClD,0DAA6B;AAE7B,qBAEC,KAAY,EACZ,SAAiB,EACjB,OAAqB;IAErB,IAAI,OAAO,CAAC;IACZ,IAAI,WAAW,CAAC;IAEhB,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAAC,EAAE,CAAC;YAClE,OAAO,GAAG,uBAAuB,CAAC;YAClC,WAAW;gBACV,2PAA2P,CAAC;QAC9P,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,SAAS,KAAK,MAAM,EAAE,CAAC;YAC9E,MAAM,IAAI,GACP,KAAgC,CAAC,IAAe,IAAK,OAAO,EAAE,QAAmB,CAAC;YACrF,OAAO,GAAG,4CAA4C,IAAI,EAAE,CAAC;YAC7D,WAAW;gBACV,8GAA8G,CAAC;QACjH,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,SAAS,KAAK,OAAO,EAAE,CAAC;YAC/E,MAAM,IAAI,GACP,KAAgC,CAAC,IAAe,IAAK,OAAO,EAAE,QAAmB,CAAC;YACrF,OAAO,GAAG,oDAAoD,IAAI,EAAE,CAAC;YACrE,WAAW;gBACV,4GAA4G,CAAC;QAC/G,CAAC;IACF,CAAC;IAED,OAAO,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAC1C,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,8DAA8D;AAC9D,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAE7D,+BAAsC,eAAuB;IAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAE7C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC;QAAE,OAAO,YAAY,CAAC;IAElE,6EAA6E;IAC7E,OAAO,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC;QAChD,CAAC,CAAC,mBAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;QACxD,CAAC,CAAC,mBAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC;AAED,mFAAmF;AACnF,iCAAwC,YAAoB;IAC3D,OAAO,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../nodes/Files/ReadWriteFile/helpers/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"formCompletionUtils.d.ts","sourceRoot":"","sources":["../../../../nodes/Form/utils/formCompletionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAIzB,MAAM,cAAc,CAAC;AActB,KAAK,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA2BhF,eAAO,MAAM,cAAc,YAAmB,iBAAiB,KAAG,OAAO,CAAC,cAAc,EAAE,CA6BzF,CAAC;AAEF,eAAO,MAAM,oBAAoB,YACvB,iBAAiB,OACrB,QAAQ,WACJ,kBAAkB,eACd,KAAK,KAChB,OAAO,CAAC,oBAAoB,CAsE9B,CAAC"}
1
+ {"version":3,"file":"formCompletionUtils.d.ts","sourceRoot":"","sources":["../../../../nodes/Form/utils/formCompletionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAIzB,MAAM,cAAc,CAAC;AActB,KAAK,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA2BhF,eAAO,MAAM,cAAc,YAAmB,iBAAiB,KAAG,OAAO,CAAC,cAAc,EAAE,CA6BzF,CAAC;AAEF,eAAO,MAAM,oBAAoB,YACvB,iBAAiB,OACrB,QAAQ,WACJ,kBAAkB,eACd,KAAK,KAChB,OAAO,CAAC,oBAAoB,CA8E9B,CAAC"}
@@ -52,7 +52,7 @@ exports.binaryResponse = binaryResponse;
52
52
  const renderFormCompletion = async (context, res, trigger, authedUser) => {
53
53
  const completionTitle = context.getNodeParameter('completionTitle', '');
54
54
  const completionMessage = (0, utils_1.handleNewlines)((0, utils_1.sanitizeHtml)(context.getNodeParameter('completionMessage', '')));
55
- const redirectUrl = context.getNodeParameter('redirectUrl', '');
55
+ const redirectUrl = (0, utils_1.validateSafeRedirectUrl)(context.getNodeParameter('redirectUrl', '')) ?? undefined;
56
56
  const options = context.getNodeParameter('options', {});
57
57
  const respondWith = context.getNodeParameter('respondWith', '');
58
58
  const responseText = respondWith === 'showText'
@@ -69,9 +69,16 @@ const renderFormCompletion = async (context, res, trigger, authedUser) => {
69
69
  // carries its own, so an ending page can drop the footer on its own.
70
70
  const appendAttribution = options.appendAttribution ??
71
71
  context.evaluateExpression(`{{ ${triggerRef}.params.options?.appendAttribution === false ? false : true }}`);
72
- if (respondWith !== 'redirect' && !(0, n8n_core_1.isFormHtmlSandboxingDisabled)()) {
72
+ // Without a valid URL the page shows the completion card, so it keeps the sandbox.
73
+ const redirects = respondWith === 'redirect' && redirectUrl !== undefined;
74
+ if (!redirects && !(0, n8n_core_1.isFormHtmlSandboxingDisabled)()) {
73
75
  res.setHeader('Content-Security-Policy', (0, n8n_core_1.getHtmlSandboxCSP)());
74
76
  }
77
+ else {
78
+ // The form route sandboxes every response. Remove it here: the redirect does not
79
+ // work under the sandbox (n8n-io/n8n#20303).
80
+ res.removeHeader('Content-Security-Policy');
81
+ }
75
82
  // Embed the form auth token so the completion page's auto-POST (which
76
83
  // resumes the paused workflow) can re-authenticate the user — cookies
77
84
  // aren't sent on fetch from the sandboxed completion page.
@@ -92,7 +99,7 @@ const renderFormCompletion = async (context, res, trigger, authedUser) => {
92
99
  responseText,
93
100
  responseBinary: encodeURIComponent(JSON.stringify(binary)),
94
101
  dangerousCustomCss: (0, utils_1.sanitizeCustomCss)(options.customCss),
95
- redirectUrl: (0, utils_1.validateSafeRedirectUrl)(redirectUrl) ?? undefined,
102
+ redirectUrl,
96
103
  authToken,
97
104
  // The completion page reloads itself while the run finishes, and that hop is
98
105
  // subject to the same cookie semantics as every other page of the form, so it
@@ -1 +1 @@
1
- {"version":3,"file":"formCompletionUtils.js","sourceRoot":"","sources":["../../../../nodes/Form/utils/formCompletionUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formCompletionUtils.js","sourceRoot":"","sources":["../../../../nodes/Form/utils/formCompletionUtils.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,11 @@ export declare class FormTriggerV1 implements INodeType {
7
7
  webhookResponse?: undefined;
8
8
  workflowData?: undefined;
9
9
  } | {
10
+ noWebhookResponse?: undefined;
10
11
  webhookResponse: {
11
12
  status: number;
12
13
  };
13
14
  workflowData: import("n8n-workflow").INodeExecutionData[][];
14
- noWebhookResponse?: undefined;
15
15
  }>;
16
16
  }
17
17
  //# sourceMappingURL=FormTriggerV1.node.d.ts.map
@@ -7,11 +7,11 @@ export declare class FormTriggerV2 implements INodeType {
7
7
  webhookResponse?: undefined;
8
8
  workflowData?: undefined;
9
9
  } | {
10
- noWebhookResponse?: undefined;
11
10
  webhookResponse: {
12
11
  status: number;
13
12
  };
14
13
  workflowData: import("n8n-workflow").INodeExecutionData[][];
14
+ noWebhookResponse?: undefined;
15
15
  }>;
16
16
  }
17
17
  //# sourceMappingURL=FormTriggerV2.node.d.ts.map
@@ -897,7 +897,7 @@ class Git {
897
897
  });
898
898
  continue;
899
899
  }
900
- throw error;
900
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, { itemIndex });
901
901
  }
902
902
  }
903
903
  return [returnItems];