n8n-nodes-base 2.43.2 → 2.43.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/build.tsbuildinfo +1 -1
- package/dist/credentials/CiscoSecureEndpointApi.credentials.d.ts +1 -1
- package/dist/credentials/CiscoSecureEndpointApi.credentials.d.ts.map +1 -1
- package/dist/credentials/CiscoSecureEndpointApi.credentials.js +19 -14
- package/dist/credentials/CiscoSecureEndpointApi.credentials.js.map +1 -1
- package/dist/node-definitions/.nodes-hash +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/googleAnalytics/v2/resource_report/operation_get.ts +2 -2
- package/dist/node-definitions/nodes/n8n-nodes-base/microsoftOutlook/v2/resource_event/operation_create.ts +2 -2
- package/dist/node-definitions/nodes/n8n-nodes-base/quickbase/v1/resource_record/operation_delete.schema.js +1 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/quickbase/v1/resource_record/operation_delete.ts +14 -0
- package/dist/node-definitions/nodes/n8n-nodes-base/quickbase/v1/resource_record/operation_get_all.schema.js +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-base/quickbase/v1/resource_record/operation_get_all.ts +13 -0
- package/dist/nodes/Files/ReadWriteFile/actions/read.operation.d.ts.map +1 -1
- package/dist/nodes/Files/ReadWriteFile/actions/read.operation.js +16 -7
- package/dist/nodes/Files/ReadWriteFile/actions/read.operation.js.map +1 -1
- package/dist/nodes/Files/ReadWriteFile/helpers/glob.worker.d.ts +18 -0
- package/dist/nodes/Files/ReadWriteFile/helpers/glob.worker.d.ts.map +1 -0
- package/dist/nodes/Files/ReadWriteFile/helpers/glob.worker.js +22 -0
- package/dist/nodes/Files/ReadWriteFile/helpers/glob.worker.js.map +1 -0
- package/dist/nodes/Files/ReadWriteFile/helpers/utils.d.ts +5 -1
- package/dist/nodes/Files/ReadWriteFile/helpers/utils.d.ts.map +1 -1
- package/dist/nodes/Files/ReadWriteFile/helpers/utils.js +83 -0
- package/dist/nodes/Files/ReadWriteFile/helpers/utils.js.map +1 -1
- package/dist/nodes/Form/utils/formCompletionUtils.d.ts.map +1 -1
- package/dist/nodes/Form/utils/formCompletionUtils.js +10 -3
- package/dist/nodes/Form/utils/formCompletionUtils.js.map +1 -1
- package/dist/nodes/Form/v1/FormTriggerV1.node.d.ts +1 -1
- package/dist/nodes/Git/Git.node.js +1 -1
- package/dist/nodes/Git/Git.node.js.map +1 -1
- package/dist/nodes/Notion/shared/GenericFunctions.d.ts +1 -1
- package/dist/nodes/Okta/UserDescription.js +3 -3
- package/dist/nodes/Okta/UserDescription.js.map +1 -1
- package/dist/nodes/QuickBase/GenericFunctions.d.ts +6 -0
- package/dist/nodes/QuickBase/GenericFunctions.d.ts.map +1 -1
- package/dist/nodes/QuickBase/GenericFunctions.js +20 -0
- package/dist/nodes/QuickBase/GenericFunctions.js.map +1 -1
- package/dist/nodes/QuickBase/QuickBase.node.d.ts.map +1 -1
- package/dist/nodes/QuickBase/QuickBase.node.js +7 -2
- package/dist/nodes/QuickBase/QuickBase.node.js.map +1 -1
- package/dist/nodes/QuickBase/RecordDescription.d.ts.map +1 -1
- package/dist/nodes/QuickBase/RecordDescription.js +58 -0
- package/dist/nodes/QuickBase/RecordDescription.js.map +1 -1
- package/dist/nodes/ReadBinaryFiles/ReadBinaryFiles.node.d.ts.map +1 -1
- package/dist/nodes/ReadBinaryFiles/ReadBinaryFiles.node.js +2 -5
- package/dist/nodes/ReadBinaryFiles/ReadBinaryFiles.node.js.map +1 -1
- package/dist/nodes/SeaTable/v1/GenericFunctions.d.ts.map +1 -1
- package/dist/nodes/SeaTable/v1/GenericFunctions.js +6 -1
- package/dist/nodes/SeaTable/v1/GenericFunctions.js.map +1 -1
- package/dist/nodes/SeaTable/v2/GenericFunctions.d.ts.map +1 -1
- package/dist/nodes/SeaTable/v2/GenericFunctions.js +6 -1
- package/dist/nodes/SeaTable/v2/GenericFunctions.js.map +1 -1
- package/dist/nodes/SeaTable/v2/actions/asset/upload.operation.d.ts.map +1 -1
- package/dist/nodes/SeaTable/v2/actions/asset/upload.operation.js +4 -14
- package/dist/nodes/SeaTable/v2/actions/asset/upload.operation.js.map +1 -1
- package/dist/nodes/ServiceNow/ServiceNow.node.d.ts.map +1 -1
- package/dist/nodes/ServiceNow/ServiceNow.node.js +24 -16
- package/dist/nodes/ServiceNow/ServiceNow.node.js.map +1 -1
- package/dist/nodes/Slack/V2/SlackHitlWebhook.d.ts +1 -1
- package/dist/nodes/Telegram/TelegramTrigger.node.d.ts.map +1 -1
- package/dist/nodes/Telegram/TelegramTrigger.node.js +3 -1
- package/dist/nodes/Telegram/TelegramTrigger.node.js.map +1 -1
- package/dist/nodes/Telegram/hitl/tokens.d.ts +8 -6
- package/dist/nodes/Telegram/hitl/tokens.d.ts.map +1 -1
- package/dist/nodes/Telegram/hitl/tokens.js +9 -8
- package/dist/nodes/Telegram/hitl/tokens.js.map +1 -1
- package/dist/nodes/Wait/Wait.node.d.ts +1 -1
- package/dist/types/nodes.json +4 -4
- package/dist/utils/sendAndWait/utils.d.ts.map +1 -1
- package/dist/utils/sendAndWait/utils.js +8 -0
- package/dist/utils/sendAndWait/utils.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
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,
|
|
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":";;;
|
|
1
|
+
{"version":3,"file":"CiscoSecureEndpointApi.credentials.js","sourceRoot":"","sources":["../../credentials/CiscoSecureEndpointApi.credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
efdf910f379eec8f10c6ee3ccc9863b03a0c75cafc8bf031a85cf342097b370f
|
|
@@ -34,13 +34,13 @@ export type GoogleAnalyticsV2ReportGetParams = {
|
|
|
34
34
|
/**
|
|
35
35
|
* Start
|
|
36
36
|
* @displayOptions.show { dateRange: ["custom"], propertyType: ["ga4"] }
|
|
37
|
-
* @default 2026-10-
|
|
37
|
+
* @default 2026-10-07T00: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-
|
|
43
|
+
* @default 2026-10-14T00: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-
|
|
36
|
+
* @default 2026-10-15T07:16:37.424+00:00
|
|
37
37
|
*/
|
|
38
38
|
startDateTime?: string | Expression<string>;
|
|
39
39
|
/**
|
|
40
40
|
* End
|
|
41
|
-
* @default 2026-10-
|
|
41
|
+
* @default 2026-10-15T07:46:37.424+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
|
};
|
package/dist/node-definitions/nodes/n8n-nodes-base/quickbase/v1/resource_record/operation_delete.ts
CHANGED
|
@@ -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
|
};
|
package/dist/node-definitions/nodes/n8n-nodes-base/quickbase/v1/resource_record/operation_get_all.ts
CHANGED
|
@@ -55,8 +55,21 @@ export type QuickbaseV1RecordGetAllParams = {
|
|
|
55
55
|
}>;
|
|
56
56
|
};
|
|
57
57
|
/** The filter, using the <a href="https://help.quickbase.com/api-guide/componentsquery.html">Quick Base query language</a>, 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":"
|
|
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
|
|
106
|
-
|
|
107
|
-
|
|
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":"
|
|
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
|
|
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;
|
|
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":"
|
|
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,
|
|
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
|
-
|
|
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
|
|
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":";;;AACA,uCAA2E;AAC3E,+CAQsB;AAEtB,mCAUiB;AAIjB,MAAM,qBAAqB,GAAG,CAC7B,OAA0B,EAC1B,QAAgB,EACU,EAAE;IAC5B,IAAI,CAAC;QACJ,OAAO,OAAO,CAAC,kBAAkB,CAAC,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,oBAAoB,CAE1E,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACR,wEAAwE;QACxE,uEAAuE;QACvE,4DAA4D;QAC5D,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,kBAA0B,EAAE,EAAE;IAC7D,MAAM,UAAU,GAAG,kBAAkB;SACnC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEK,MAAM,cAAc,GAAG,KAAK,EAAE,OAA0B,EAA6B,EAAE;IAC7F,MAAM,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,EAAE,CAAW,CAAC;IACxF,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IACvE,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,mBAAmB,GAAG,OAAO;SACjC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;SACtC,OAAO,EAAE;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjE,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,+BAAgB,CAAC,6BAA6B,SAAS,SAAS,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAgB,CAAC;QAExD,SAAS,CAAC,IAAI,CAAC;YACd,yDAAyD;YACzD,0CAA0C;YAC1C,IAAI,EAAE,UAAU,CAAC,EAAE;gBAClB,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC5F,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxB,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,MAAM;YACvC,IAAI,EAAE,UAAU,CAAC,QAAQ;SACzB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AA7BW,QAAA,cAAc,GAAd,cAAc,CA6BzB;AAEK,MAAM,oBAAoB,GAAG,KAAK,EACxC,OAA0B,EAC1B,GAAa,EACb,OAA2B,EAC3B,UAAkB,EACc,EAAE;IAClC,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,CAAW,CAAC;IAClF,MAAM,iBAAiB,GAAG,IAAA,sBAAc,EACvC,IAAA,oBAAY,EAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,EAAE,CAAW,CAAC,CACzE,CAAC;IACF,MAAM,WAAW,
|
|
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;
|
|
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=FormTriggerV1.node.d.ts.map
|