n8n-nodes-base 2.26.2 → 2.26.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.
@@ -1 +1 @@
1
- f32469fa216f5e712c225c54897227b93246b414cb50d00639fe521a2e218d81
1
+ 63f19c027e8de462a70bda9b6ec49f0433f5aaac4c53336a9a0fa7696c26d5af
@@ -34,13 +34,13 @@ export type GoogleAnalyticsV2ReportGetParams = {
34
34
  /**
35
35
  * Start
36
36
  * @displayOptions.show { dateRange: ["custom"], propertyType: ["ga4"] }
37
- * @default 2026-06-07T00:00:00.000+00:00
37
+ * @default 2026-06-10T00: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-06-14T00:00:00.000+00:00
43
+ * @default 2026-06-17T00:00:00.000+00:00
44
44
  */
45
45
  endDate?: string | Expression<string>;
46
46
  /**
@@ -24,12 +24,12 @@ export type MicrosoftOutlookV2EventCreateParams = {
24
24
  subject: string | Expression<string>;
25
25
  /**
26
26
  * Start
27
- * @default 2026-06-15T10:45:45.183+00:00
27
+ * @default 2026-06-18T10:03:01.269+00:00
28
28
  */
29
29
  startDateTime?: string | Expression<string>;
30
30
  /**
31
31
  * End
32
- * @default 2026-06-15T11:15:45.184+00:00
32
+ * @default 2026-06-18T10:33:01.269+00:00
33
33
  */
34
34
  endDateTime?: string | Expression<string>;
35
35
  /**
@@ -1,6 +1,13 @@
1
1
  /**
2
- * Decompress a zip archive with upper bounds on total output size
3
- * and number of entries. Uses fflate's asynchronous inflate decoder for entries.
2
+ * Decompress a zip archive with upper bounds on total output size and number of
3
+ * entries.
4
+ *
5
+ * Extraction is driven by the archive's central directory, the authoritative
6
+ * list of members, so only the archive's own files are returned. Entries that
7
+ * happen to live inside a stored member (office documents such as xlsx/docx are
8
+ * themselves zip archives) are never surfaced. The size and entry-count limits
9
+ * are enforced from the central directory metadata, before any entry is
10
+ * inflated.
4
11
  */
5
12
  export declare function boundedUnzip(data: Buffer, maxOutputSize: number, maxEntries: number): Promise<Record<string, Buffer>>;
6
13
  //# sourceMappingURL=BoundedUnzip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoundedUnzip.d.ts","sourceRoot":"","sources":["../../../../nodes/Compression/decompress/BoundedUnzip.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAsB,YAAY,CACjC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgEjC"}
1
+ {"version":3,"file":"BoundedUnzip.d.ts","sourceRoot":"","sources":["../../../../nodes/Compression/decompress/BoundedUnzip.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CACjC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA2CjC"}
@@ -36,83 +36,56 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.boundedUnzip = boundedUnzip;
37
37
  const fflate = __importStar(require("fflate"));
38
38
  const n8n_workflow_1 = require("n8n-workflow");
39
- const FeedInChunks_1 = require("./FeedInChunks");
40
- const ZipEntryDecompressor_1 = require("./ZipEntryDecompressor");
41
- const ZipOutputAccumulator_1 = require("./ZipOutputAccumulator");
39
+ const DecompressedSizeExceededError_1 = require("./DecompressedSizeExceededError");
42
40
  /**
43
- * Decompress a zip archive with upper bounds on total output size
44
- * and number of entries. Uses fflate's asynchronous inflate decoder for entries.
41
+ * Decompress a zip archive with upper bounds on total output size and number of
42
+ * entries.
43
+ *
44
+ * Extraction is driven by the archive's central directory, the authoritative
45
+ * list of members, so only the archive's own files are returned. Entries that
46
+ * happen to live inside a stored member (office documents such as xlsx/docx are
47
+ * themselves zip archives) are never surfaced. The size and entry-count limits
48
+ * are enforced from the central directory metadata, before any entry is
49
+ * inflated.
45
50
  */
46
51
  async function boundedUnzip(data, maxOutputSize, maxEntries) {
47
- validateZipArchive(data);
48
52
  return await new Promise((resolve, reject) => {
49
- const zipOutputAccumulator = new ZipOutputAccumulator_1.ZipOutputAccumulator(maxOutputSize, maxEntries);
50
- let inputFinished = false;
51
- let pendingEntries = 0;
52
- let isSettled = false;
53
- const rejectOnce = (error) => {
54
- if (isSettled)
55
- return;
56
- isSettled = true;
57
- reject(error);
58
- };
59
- const resolveIfDone = () => {
60
- if (isSettled || !inputFinished || pendingEntries > 0)
61
- return;
62
- isSettled = true;
63
- resolve(zipOutputAccumulator.toBuffers());
53
+ let entryCount = 0;
54
+ let totalSize = 0;
55
+ let limitError;
56
+ const filter = (file) => {
57
+ if (limitError)
58
+ return false;
59
+ // ZIP spec mandates '/' as path separator; a trailing slash marks a directory
60
+ if (file.name.endsWith('/'))
61
+ return false;
62
+ entryCount++;
63
+ if (entryCount > maxEntries) {
64
+ limitError = new n8n_workflow_1.UserError(`The archive contains more than ${maxEntries} entries`);
65
+ return false;
66
+ }
67
+ totalSize += file.originalSize;
68
+ if (totalSize > maxOutputSize) {
69
+ limitError = new DecompressedSizeExceededError_1.DecompressedSizeExceededError(maxOutputSize);
70
+ return false;
71
+ }
72
+ return true;
64
73
  };
65
- const unzipper = new fflate.Unzip((fileOrDirectory) => {
66
- if (isSettled || zipOutputAccumulator.isLimitExceeded)
67
- return;
68
- // ZIP spec mandates '/' as path separator on all platforms
69
- if (fileOrDirectory.name.endsWith('/'))
70
- return;
71
- const entryResult = zipOutputAccumulator.addEntry(fileOrDirectory.name);
72
- if (!entryResult.ok) {
73
- rejectOnce(entryResult.error);
74
+ fflate.unzip(data, { filter }, (error, unzipped) => {
75
+ if (limitError) {
76
+ reject(limitError);
74
77
  return;
75
78
  }
76
- const writeChunk = entryResult.result;
77
- pendingEntries++;
78
- new ZipEntryDecompressor_1.ZipEntryDecompressor(fileOrDirectory, writeChunk, zipOutputAccumulator, {
79
- isSettled: () => isSettled,
80
- onFinish: () => {
81
- pendingEntries--;
82
- resolveIfDone();
83
- },
84
- onError: rejectOnce,
85
- }).start();
86
- });
87
- unzipper.register(fflate.AsyncUnzipInflate);
88
- try {
89
- (0, FeedInChunks_1.feedInChunks)({
90
- data,
91
- push: (slice, isFinal) => {
92
- unzipper.push(slice, isFinal);
93
- },
94
- shouldStop: () => isSettled || zipOutputAccumulator.isLimitExceeded,
95
- });
96
- inputFinished = true;
97
- if (zipOutputAccumulator.isLimitExceeded) {
98
- rejectOnce(zipOutputAccumulator.exceededError);
79
+ if (error) {
80
+ reject((0, n8n_workflow_1.ensureError)(error));
99
81
  return;
100
82
  }
101
- resolveIfDone();
102
- }
103
- catch (error) {
104
- rejectOnce((0, n8n_workflow_1.ensureError)(error));
105
- }
83
+ const result = {};
84
+ for (const [name, bytes] of Object.entries(unzipped)) {
85
+ result[name] = Buffer.from(bytes);
86
+ }
87
+ resolve(result);
88
+ });
106
89
  });
107
90
  }
108
- function validateZipArchive(data) {
109
- try {
110
- // Parse archive metadata without inflating entries; the streaming reader
111
- // does not validate the central directory before resolving.
112
- void fflate.unzipSync(data, { filter: () => false });
113
- }
114
- catch (error) {
115
- throw (0, n8n_workflow_1.ensureError)(error);
116
- }
117
- }
118
91
  //# sourceMappingURL=BoundedUnzip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoundedUnzip.js","sourceRoot":"","sources":["../../../../nodes/Compression/decompress/BoundedUnzip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BoundedUnzip.js","sourceRoot":"","sources":["../../../../nodes/Compression/decompress/BoundedUnzip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,oCA+CC;AA/DD,+CAAiC;AACjC,+CAAsD;AAEtD,mFAAgF;AAEhF;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CACjC,IAAY,EACZ,aAAqB,EACrB,UAAkB;IAElB,OAAO,MAAM,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpE,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,UAAiC,CAAC;QAEtC,MAAM,MAAM,GAAG,CAAC,IAA0B,EAAW,EAAE;YACtD,IAAI,UAAU;gBAAE,OAAO,KAAK,CAAC;YAC7B,8EAA8E;YAC9E,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE1C,UAAU,EAAE,CAAC;YACb,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;gBAC7B,UAAU,GAAG,IAAI,wBAAS,CAAC,kCAAkC,UAAU,UAAU,CAAC,CAAC;gBACnF,OAAO,KAAK,CAAC;YACd,CAAC;YAED,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC;YAC/B,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;gBAC/B,UAAU,GAAG,IAAI,6DAA6B,CAAC,aAAa,CAAC,CAAC;gBAC9D,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAClD,IAAI,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnB,OAAO;YACR,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC,CAAC;gBAC3B,OAAO;YACR,CAAC;YAED,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}