n8n-nodes-caldav-pro 3.4.1 → 3.5.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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,24 @@ All notable changes to this project are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project
5
5
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [Unreleased]
8
+
9
+ ### Added
10
+
11
+ - **External ICS Feed** read-only resource for subscribed `https://`, `webcal://`,
12
+ and `webcals://` calendars. It supports Get Many, Get Next, and Search while
13
+ preserving recurring-event, timezone, all-day, and reminder parsing.
14
+ - A separate **ICS Feed API** credential stores token-bearing subscription links
15
+ as a secret. Feed events expose `source: "icsFeed"` and an optional Feed Name,
16
+ never the subscription URL.
17
+
18
+ ### Security
19
+
20
+ - External feed requests never use CalDAV authentication and send no credentials
21
+ or cookies. Only public HTTPS hosts on port 443 are accepted; local/private
22
+ names, IP literals, custom ports, and cross-origin or unsafe redirects are
23
+ rejected without exposing the feed URL in errors or workflow output.
24
+
7
25
  ## [3.4.1]
8
26
 
9
27
  ### Security
package/README.md CHANGED
@@ -163,6 +163,32 @@ Name it `n8n-caldav`.
163
163
 
164
164
  > Versions before 2.7.0 additionally shifted timed events by the *n8n host's* UTC offset whenever **Timezone** was set, and wrote all-day events on the wrong calendar date. If you created events with an older version, re-check their times.
165
165
 
166
+ ## External ICS / WebCal Feeds (Read-Only)
167
+
168
+ Use **Resource** = `ICS Feed (Read-Only)` for subscribed calendars that are not
169
+ exposed as CalDAV collections — for example Foodsharing, school holidays,
170
+ club schedules, or public holiday feeds. It supports **Get Many**, **Get Next**,
171
+ and **Search**; writing, moving, or deleting a feed event is intentionally not
172
+ available.
173
+
174
+ 1. Create an **ICS Feed API** credential.
175
+ 2. Paste the subscription link into **Feed URL**. `https://`, `webcal://`, and
176
+ `webcals://` links are supported; `webcal` is retrieved via HTTPS.
177
+ 3. Optionally set **Feed Name** (for example `Foodsharing`). It is returned as
178
+ `feedName` with every event, while the subscription URL is never exposed in
179
+ output or error messages.
180
+ 4. Select the `ICS Feed (Read-Only)` resource and one of the read operations.
181
+
182
+ > Treat the subscription link like a password: it commonly contains a personal
183
+ > token that grants read access to the whole calendar. It belongs only in the
184
+ > ICS Feed credential, never in a node field, workflow JSON, log, or chat.
185
+ >
186
+ > For SSRF safety, the node accepts public HTTPS hostnames on port 443 only and
187
+ > rejects local/private names, IP addresses, custom ports, and redirects to a
188
+ > different origin. DNS rebinding cannot be fully prevented in a Node.js client;
189
+ > restrict outbound network access from your n8n host if untrusted users can
190
+ > edit feed credentials.
191
+
166
192
  ## AI Agent Usage
167
193
 
168
194
  The node is declared `usableAsTool: true` with LLM-friendly descriptions on every parameter. An AI Agent can call it directly from a chat prompt. Example:
@@ -0,0 +1,7 @@
1
+ import type { ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class IcsFeedApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IcsFeedApi = void 0;
4
+ class IcsFeedApi {
5
+ name = 'icsFeedApi';
6
+ displayName = 'ICS Feed API';
7
+ documentationUrl = 'https://github.com/daisytwo/n8n-nodes-caldav-pro';
8
+ properties = [
9
+ {
10
+ displayName: 'Feed URL',
11
+ name: 'feedUrl',
12
+ type: 'string',
13
+ typeOptions: { password: true },
14
+ default: '',
15
+ placeholder: 'https://example.com/calendars/public/holidays.ics',
16
+ description: 'The subscription link of a public iCalendar feed. Accepts https://, webcal:// and webcals:// — a webcal address is read over HTTPS. Stored as a secret because these links usually carry an access token in the path or query, which grants read access to the whole calendar. Must be a public host on port 443; IP addresses, private network names and other ports are refused.',
17
+ required: true,
18
+ },
19
+ {
20
+ displayName: 'Feed Name',
21
+ name: 'feedName',
22
+ type: 'string',
23
+ default: '',
24
+ placeholder: 'School Holidays',
25
+ description: 'Optional label reported as "feedName" on every event this feed returns, so events from several feeds can be told apart downstream. The feed URL itself is never written to the output.',
26
+ },
27
+ ];
28
+ }
29
+ exports.IcsFeedApi = IcsFeedApi;
30
+ //# sourceMappingURL=IcsFeedApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IcsFeedApi.credentials.js","sourceRoot":"","sources":["../../credentials/IcsFeedApi.credentials.ts"],"names":[],"mappings":";;;AAgBA,MAAa,UAAU;IACtB,IAAI,GAAG,YAAY,CAAC;IAEpB,WAAW,GAAG,cAAc,CAAC;IAE7B,gBAAgB,GAAG,kDAAkD,CAAC;IAEtE,UAAU,GAAsB;QAC/B;YACC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC/B,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,mDAAmD;YAChE,WAAW,EACV,oXAAoX;YACrX,QAAQ,EAAE,IAAI;SACd;QACD;YACC,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,iBAAiB;YAC9B,WAAW,EACV,wLAAwL;SACzL;KACD,CAAC;CACF;AA7BD,gCA6BC"}
@@ -4,8 +4,10 @@ exports.CalDav = void 0;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
5
  const crypto_1 = require("crypto");
6
6
  const GenericFunctions_1 = require("./GenericFunctions");
7
+ const IcsFeedFunctions_1 = require("./IcsFeedFunctions");
7
8
  const CalendarDescription_1 = require("./CalendarDescription");
8
9
  const EventDescription_1 = require("./EventDescription");
10
+ const IcsFeedDescription_1 = require("./IcsFeedDescription");
9
11
  function rethrowWriteError(error, itemIndex, calendarUrl) {
10
12
  if (error.httpCode === '403') {
11
13
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), `The calendar rejected the write (403 Forbidden): ${calendarUrl}`, {
@@ -65,6 +67,44 @@ function readWindowBound(itemIndex, parameter, label) {
65
67
  }
66
68
  return parsed;
67
69
  }
70
+ function readWindow(itemIndex, operation) {
71
+ if (operation === 'getNext') {
72
+ const lookaheadDays = this.getNodeParameter('lookaheadDays', itemIndex, 30);
73
+ if (!Number.isFinite(lookaheadDays) || lookaheadDays <= 0) {
74
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Lookahead Days must be a positive number, got ${lookaheadDays}.`, {
75
+ itemIndex,
76
+ description: 'A zero or negative window can never contain an event.',
77
+ });
78
+ }
79
+ const rangeStart = new Date();
80
+ const rangeEnd = new Date(rangeStart.getTime() + lookaheadDays * 24 * 60 * 60 * 1000);
81
+ const today = (0, GenericFunctions_1.localDateString)(rangeStart, this.getTimezone());
82
+ return {
83
+ rangeStart,
84
+ rangeEnd,
85
+ accept: (event) => {
86
+ if (!event.start)
87
+ return true;
88
+ if (event.allDay)
89
+ return event.end ? event.end > today : event.start >= today;
90
+ return new Date(event.start) >= rangeStart;
91
+ },
92
+ };
93
+ }
94
+ const rangeStart = readWindowBound.call(this, itemIndex, 'timeMin', 'Time Min');
95
+ const rangeEnd = readWindowBound.call(this, itemIndex, 'timeMax', 'Time Max');
96
+ if (rangeEnd.getTime() <= rangeStart.getTime()) {
97
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Time Max must be after Time Min (got ${rangeStart.toISOString()} to ${rangeEnd.toISOString()}).`, {
98
+ itemIndex,
99
+ description: 'The window is empty or reversed, so it can never match an event. Check the order of the two fields.',
100
+ });
101
+ }
102
+ if (operation === 'search') {
103
+ const query = this.getNodeParameter('query', itemIndex);
104
+ return { rangeStart, rangeEnd, accept: (event) => (0, GenericFunctions_1.eventMatchesText)(event, query) };
105
+ }
106
+ return { rangeStart, rangeEnd };
107
+ }
68
108
  async function collectEvents(opts) {
69
109
  const { calendarUrl, serverUrl, username, rangeStart, rangeEnd, simplify, accept } = opts;
70
110
  const fanOut = calendarUrl === '__ALL__';
@@ -122,6 +162,20 @@ class CalDav {
122
162
  {
123
163
  name: 'calDavApi',
124
164
  required: true,
165
+ displayOptions: {
166
+ show: {
167
+ resource: ['calendar', 'event'],
168
+ },
169
+ },
170
+ },
171
+ {
172
+ name: 'icsFeedApi',
173
+ required: true,
174
+ displayOptions: {
175
+ show: {
176
+ resource: ['icsFeed'],
177
+ },
178
+ },
125
179
  },
126
180
  ],
127
181
  properties: [
@@ -133,6 +187,7 @@ class CalDav {
133
187
  options: [
134
188
  { name: 'Calendar', value: 'calendar' },
135
189
  { name: 'Event', value: 'event' },
190
+ { name: 'ICS Feed (Read-Only)', value: 'icsFeed' },
136
191
  ],
137
192
  default: 'event',
138
193
  },
@@ -140,6 +195,8 @@ class CalDav {
140
195
  ...CalendarDescription_1.calendarFields,
141
196
  ...EventDescription_1.eventOperations,
142
197
  ...EventDescription_1.eventFields,
198
+ ...IcsFeedDescription_1.icsFeedOperations,
199
+ ...IcsFeedDescription_1.icsFeedFields,
143
200
  ],
144
201
  };
145
202
  methods = {
@@ -181,7 +238,10 @@ class CalDav {
181
238
  const returnData = [];
182
239
  const resource = this.getNodeParameter('resource', 0);
183
240
  const operation = this.getNodeParameter('operation', 0);
184
- const creds = await this.getCredentials('calDavApi');
241
+ const creds = resource === 'icsFeed' ? {} : (await this.getCredentials('calDavApi'));
242
+ const feedCreds = resource === 'icsFeed'
243
+ ? (await this.getCredentials('icsFeedApi'))
244
+ : undefined;
185
245
  const serverUrl = creds.serverUrl;
186
246
  const username = creds.username;
187
247
  for (let i = 0; i < items.length; i++) {
@@ -286,43 +346,7 @@ class CalDav {
286
346
  const returnAll = this.getNodeParameter('returnAll', i);
287
347
  const limit = returnAll ? Infinity : this.getNodeParameter('limit', i);
288
348
  const simplify = this.getNodeParameter('simplify', i, true);
289
- let rangeStart;
290
- let rangeEnd;
291
- let accept;
292
- if (operation === 'getNext') {
293
- const lookaheadDays = this.getNodeParameter('lookaheadDays', i, 30);
294
- if (!Number.isFinite(lookaheadDays) || lookaheadDays <= 0) {
295
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Lookahead Days must be a positive number, got ${lookaheadDays}.`, {
296
- itemIndex: i,
297
- description: 'A zero or negative window can never contain an event.',
298
- });
299
- }
300
- rangeStart = new Date();
301
- rangeEnd = new Date(rangeStart.getTime() + lookaheadDays * 24 * 60 * 60 * 1000);
302
- const from = rangeStart;
303
- const today = (0, GenericFunctions_1.localDateString)(from, this.getTimezone());
304
- accept = (event) => {
305
- if (!event.start)
306
- return true;
307
- if (event.allDay)
308
- return event.end ? event.end > today : event.start >= today;
309
- return new Date(event.start) >= from;
310
- };
311
- }
312
- else {
313
- rangeStart = readWindowBound.call(this, i, 'timeMin', 'Time Min');
314
- rangeEnd = readWindowBound.call(this, i, 'timeMax', 'Time Max');
315
- if (rangeEnd.getTime() <= rangeStart.getTime()) {
316
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Time Max must be after Time Min (got ${rangeStart.toISOString()} to ${rangeEnd.toISOString()}).`, {
317
- itemIndex: i,
318
- description: 'The window is empty or reversed, so it can never match an event. Check the order of the two fields.',
319
- });
320
- }
321
- if (operation === 'search') {
322
- const query = this.getNodeParameter('query', i);
323
- accept = (event) => (0, GenericFunctions_1.eventMatchesText)(event, query);
324
- }
325
- }
349
+ const { rangeStart, rangeEnd, accept } = readWindow.call(this, i, operation);
326
350
  const collected = await collectEvents.call(this, {
327
351
  calendarUrl: calUrlNormalised,
328
352
  serverUrl,
@@ -531,6 +555,48 @@ class CalDav {
531
555
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown event operation: ${operation}`);
532
556
  }
533
557
  }
558
+ else if (resource === 'icsFeed') {
559
+ if (!['getAll', 'getNext', 'search'].includes(operation)) {
560
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown ICS feed operation: ${operation}`, {
561
+ itemIndex: i,
562
+ description: 'A subscribed feed is read-only: only Get Many, Get Next and Search are available. Use the Event resource to write to a calendar.',
563
+ });
564
+ }
565
+ const currentFeedCreds = feedCreds;
566
+ const feedName = (currentFeedCreds.feedName ?? '').trim() || undefined;
567
+ let feedUrl;
568
+ try {
569
+ feedUrl = (0, IcsFeedFunctions_1.assertSafeFeedUrl)(String(currentFeedCreds.feedUrl ?? ''));
570
+ }
571
+ catch (err) {
572
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), err.message, {
573
+ itemIndex: i,
574
+ description: 'Open the ICS Feed credential and check the Feed URL. Only public HTTPS or webcal feeds on port 443 can be read.',
575
+ });
576
+ }
577
+ const returnAll = this.getNodeParameter('returnAll', i);
578
+ const limit = returnAll ? Infinity : this.getNodeParameter('limit', i);
579
+ const simplify = this.getNodeParameter('simplify', i, true);
580
+ const { rangeStart, rangeEnd, accept } = readWindow.call(this, i, operation);
581
+ let body;
582
+ try {
583
+ body = await IcsFeedFunctions_1.fetchIcsFeed.call(this, feedUrl);
584
+ }
585
+ catch (err) {
586
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), err.message, {
587
+ itemIndex: i,
588
+ });
589
+ }
590
+ const events = (0, IcsFeedFunctions_1.expandIcsFeed)(body, rangeStart, rangeEnd, this.getTimezone())
591
+ .filter((event) => !accept || accept(event))
592
+ .sort((a, b) => String(a.start ?? '').localeCompare(String(b.start ?? '')));
593
+ for (const event of events.slice(0, limit)) {
594
+ returnData.push({
595
+ json: (0, IcsFeedFunctions_1.toFeedEvent)(event, feedName, simplify),
596
+ pairedItem: { item: i },
597
+ });
598
+ }
599
+ }
534
600
  else {
535
601
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown resource: ${resource}`);
536
602
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CalDav.node.js","sourceRoot":"","sources":["../../../nodes/CalDav/CalDav.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CalDav.node.js","sourceRoot":"","sources":["../../../nodes/CalDav/CalDav.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const icsFeedOperations: INodeProperties[];
3
+ export declare const icsFeedFields: INodeProperties[];
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.icsFeedFields = exports.icsFeedOperations = void 0;
4
+ exports.icsFeedOperations = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: {
11
+ show: {
12
+ resource: ['icsFeed'],
13
+ },
14
+ },
15
+ options: [
16
+ {
17
+ name: 'Get Many',
18
+ value: 'getAll',
19
+ description: 'Get many events from the subscribed feed within a time window',
20
+ action: 'Get many feed events',
21
+ },
22
+ {
23
+ name: 'Get Next',
24
+ value: 'getNext',
25
+ description: 'Get the next upcoming event(s) in the feed, starting from now',
26
+ action: 'Get the next feed event',
27
+ },
28
+ {
29
+ name: 'Search',
30
+ value: 'search',
31
+ description: 'Search feed events by keyword in title, description, or location',
32
+ action: 'Search feed events',
33
+ },
34
+ ],
35
+ default: 'getAll',
36
+ },
37
+ ];
38
+ exports.icsFeedFields = [
39
+ {
40
+ displayName: 'Query',
41
+ name: 'query',
42
+ type: 'string',
43
+ required: true,
44
+ default: '',
45
+ placeholder: 'Ferien',
46
+ description: 'Text to search for. Matched case-insensitively against the event title (SUMMARY), description, location, and UID.',
47
+ displayOptions: {
48
+ show: {
49
+ resource: ['icsFeed'],
50
+ operation: ['search'],
51
+ },
52
+ },
53
+ },
54
+ {
55
+ displayName: 'Lookahead Days',
56
+ name: 'lookaheadDays',
57
+ type: 'number',
58
+ typeOptions: { minValue: 1 },
59
+ default: 30,
60
+ description: 'How far into the future to look for the next event(s). 7 = next week, 30 = next month, 365 = next year. The window starts at the current time.',
61
+ displayOptions: {
62
+ show: {
63
+ resource: ['icsFeed'],
64
+ operation: ['getNext'],
65
+ },
66
+ },
67
+ },
68
+ {
69
+ displayName: 'Simplify',
70
+ name: 'simplify',
71
+ type: 'boolean',
72
+ default: true,
73
+ description: 'Whether to return a simplified version of the response. When enabled the iCalendar source ("raw") is omitted, which keeps the output readable and — for a recurring series, where every occurrence repeats the same source — much smaller.',
74
+ displayOptions: {
75
+ show: {
76
+ resource: ['icsFeed'],
77
+ operation: ['getAll', 'getNext', 'search'],
78
+ },
79
+ },
80
+ },
81
+ {
82
+ displayName: 'Return All',
83
+ name: 'returnAll',
84
+ type: 'boolean',
85
+ default: false,
86
+ description: 'Whether to return all results or only up to a given limit',
87
+ displayOptions: {
88
+ show: {
89
+ resource: ['icsFeed'],
90
+ operation: ['getAll', 'getNext', 'search'],
91
+ },
92
+ },
93
+ },
94
+ {
95
+ displayName: 'Limit',
96
+ name: 'limit',
97
+ type: 'number',
98
+ default: 50,
99
+ typeOptions: { minValue: 1 },
100
+ description: 'Max number of results to return',
101
+ displayOptions: {
102
+ show: {
103
+ resource: ['icsFeed'],
104
+ operation: ['getAll', 'getNext', 'search'],
105
+ returnAll: [false],
106
+ },
107
+ },
108
+ },
109
+ {
110
+ displayName: 'Time Min',
111
+ name: 'timeMin',
112
+ type: 'dateTime',
113
+ required: true,
114
+ default: '={{ $now.startOf("day") }}',
115
+ description: 'Earliest event start time to return, in ISO 8601 format, e.g. "2026-04-20T00:00:00+02:00". The whole feed is downloaded and filtered here, because a feed serves one static file and cannot answer a query.',
116
+ displayOptions: {
117
+ show: {
118
+ resource: ['icsFeed'],
119
+ operation: ['getAll', 'search'],
120
+ },
121
+ },
122
+ },
123
+ {
124
+ displayName: 'Time Max',
125
+ name: 'timeMax',
126
+ type: 'dateTime',
127
+ required: true,
128
+ default: '={{ $now.plus(7, "days").endOf("day") }}',
129
+ description: 'Latest event start time to return, in ISO 8601 format, e.g. "2026-04-27T23:59:59+02:00". Must be after Time Min.',
130
+ displayOptions: {
131
+ show: {
132
+ resource: ['icsFeed'],
133
+ operation: ['getAll', 'search'],
134
+ },
135
+ },
136
+ },
137
+ ];
138
+ //# sourceMappingURL=IcsFeedDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IcsFeedDescription.js","sourceRoot":"","sources":["../../../nodes/CalDav/IcsFeedDescription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { IDataObject, IExecuteFunctions, ILoadOptionsFunctions } from 'n8n-workflow';
2
+ import { type CalDavEvent } from './GenericFunctions';
3
+ type FeedCtx = IExecuteFunctions | ILoadOptionsFunctions;
4
+ export declare const MAX_FEED_BYTES: number;
5
+ export declare const MAX_FEED_REDIRECTS = 3;
6
+ export declare function assertSafeFeedUrl(input: string, subject?: string): string;
7
+ export declare function fetchIcsFeed(this: FeedCtx, feedUrl: string): Promise<string>;
8
+ export declare function splitFeedObjects(body: string): string[];
9
+ export declare function eventInWindow(event: CalDavEvent, rangeStart: Date, rangeEnd: Date): boolean;
10
+ export declare function expandIcsFeed(body: string, rangeStart: Date, rangeEnd: Date, localZone?: string): CalDavEvent[];
11
+ export declare function toFeedEvent(event: CalDavEvent, feedName: string | undefined, simplify: boolean): IDataObject;
12
+ export {};
@@ -0,0 +1,278 @@
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
+ exports.MAX_FEED_REDIRECTS = exports.MAX_FEED_BYTES = void 0;
7
+ exports.assertSafeFeedUrl = assertSafeFeedUrl;
8
+ exports.fetchIcsFeed = fetchIcsFeed;
9
+ exports.splitFeedObjects = splitFeedObjects;
10
+ exports.eventInWindow = eventInWindow;
11
+ exports.expandIcsFeed = expandIcsFeed;
12
+ exports.toFeedEvent = toFeedEvent;
13
+ const ical_js_1 = __importDefault(require("ical.js"));
14
+ const GenericFunctions_1 = require("./GenericFunctions");
15
+ exports.MAX_FEED_BYTES = 5 * 1024 * 1024;
16
+ exports.MAX_FEED_REDIRECTS = 3;
17
+ const FEED_TIMEOUT_MS = 30_000;
18
+ const REDIRECT_STATUS = new Set([301, 302, 303, 307, 308]);
19
+ const PRIVATE_TLDS = new Set([
20
+ 'localhost',
21
+ 'local',
22
+ 'localdomain',
23
+ 'internal',
24
+ 'intranet',
25
+ 'lan',
26
+ 'home',
27
+ 'corp',
28
+ 'private',
29
+ 'arpa',
30
+ ]);
31
+ const HOST_LABEL = /^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/;
32
+ const PUBLIC_TLD = /^[a-z][a-z0-9-]*$/;
33
+ function feedError(message) {
34
+ return new Error(message);
35
+ }
36
+ function assertSafeFeedUrl(input, subject = 'The Feed URL') {
37
+ const trimmed = String(input ?? '').trim();
38
+ if (!trimmed) {
39
+ throw feedError('No Feed URL is configured. Open the ICS Feed credential and paste the calendar\'s subscription link.');
40
+ }
41
+ const candidate = trimmed.replace(/^webcals?:\/\//i, 'https://');
42
+ if (!/^https:\/\//i.test(candidate)) {
43
+ throw feedError(`${subject} must be an HTTPS or webcal address. Other schemes are refused.`);
44
+ }
45
+ let url;
46
+ try {
47
+ url = new URL(candidate);
48
+ }
49
+ catch {
50
+ throw feedError(`${subject} is not a valid URL.`);
51
+ }
52
+ if (url.protocol !== 'https:') {
53
+ throw feedError(`${subject} must be an HTTPS or webcal address. Other schemes are refused.`);
54
+ }
55
+ if (url.username || url.password) {
56
+ throw feedError(`${subject} must not contain a username or password. This node reads public feeds only.`);
57
+ }
58
+ if (url.port) {
59
+ throw feedError(`${subject} must use the standard HTTPS port 443.`);
60
+ }
61
+ if (!isPublicHostname(url.hostname)) {
62
+ throw feedError(`${subject} must name a public host. IP addresses and local or private network names are refused.`);
63
+ }
64
+ return url.toString();
65
+ }
66
+ function isPublicHostname(hostname) {
67
+ const host = hostname.toLowerCase();
68
+ if (!host || host.length > 253 || /[[\]:]/.test(host))
69
+ return false;
70
+ const labels = host.split('.');
71
+ if (labels.length < 2)
72
+ return false;
73
+ if (!labels.every((label) => label.length <= 63 && HOST_LABEL.test(label)))
74
+ return false;
75
+ const tld = labels[labels.length - 1];
76
+ if (!PUBLIC_TLD.test(tld))
77
+ return false;
78
+ return !PRIVATE_TLDS.has(tld);
79
+ }
80
+ const feedCache = new WeakMap();
81
+ async function fetchIcsFeed(feedUrl) {
82
+ const url = assertSafeFeedUrl(feedUrl);
83
+ let perContext = feedCache.get(this);
84
+ if (!perContext) {
85
+ perContext = new Map();
86
+ feedCache.set(this, perContext);
87
+ }
88
+ const cached = perContext.get(url);
89
+ if (cached)
90
+ return cached;
91
+ const pending = fetchIcsFeedUncached.call(this, url);
92
+ perContext.set(url, pending);
93
+ pending.catch(() => perContext.delete(url));
94
+ return pending;
95
+ }
96
+ function headerValue(headers, name) {
97
+ if (!headers)
98
+ return undefined;
99
+ const key = Object.keys(headers).find((h) => h.toLowerCase() === name);
100
+ if (!key)
101
+ return undefined;
102
+ const value = headers[key];
103
+ return Array.isArray(value) ? value[0] : value;
104
+ }
105
+ async function fetchIcsFeedUncached(startUrl) {
106
+ const origin = new URL(startUrl).origin;
107
+ let url = startUrl;
108
+ for (let hop = 0; hop <= exports.MAX_FEED_REDIRECTS; hop++) {
109
+ const response = await requestFeed.call(this, url);
110
+ const status = Number(response.statusCode);
111
+ if (REDIRECT_STATUS.has(status)) {
112
+ url = nextHop(headerValue(response.headers, 'location'), url, origin);
113
+ continue;
114
+ }
115
+ if (status < 200 || status >= 300)
116
+ throw statusError(status);
117
+ const declared = Number(headerValue(response.headers, 'content-length'));
118
+ if (Number.isFinite(declared) && declared > exports.MAX_FEED_BYTES)
119
+ throw tooLargeError();
120
+ const body = typeof response.body === 'string' ? response.body : String(response.body ?? '');
121
+ if (Buffer.byteLength(body, 'utf8') > exports.MAX_FEED_BYTES)
122
+ throw tooLargeError();
123
+ const text = body.replace(/^\ufeff/, '');
124
+ if (!/BEGIN:VCALENDAR/i.test(text)) {
125
+ throw feedError('The feed did not return an iCalendar document — no BEGIN:VCALENDAR in the response. ' +
126
+ 'If the address opens a web page in a browser, copy the calendar\'s subscription (ICS) link instead.');
127
+ }
128
+ return text;
129
+ }
130
+ throw feedError(`The feed redirected more than ${exports.MAX_FEED_REDIRECTS} times, so the fetch was given up on.`);
131
+ }
132
+ function nextHop(location, current, origin) {
133
+ if (!location) {
134
+ throw feedError('The feed server sent a redirect without a destination.');
135
+ }
136
+ let resolved;
137
+ try {
138
+ resolved = new URL(location, current).toString();
139
+ }
140
+ catch {
141
+ throw feedError('The feed server redirected to an address that is not a valid URL.');
142
+ }
143
+ const checked = assertSafeFeedUrl(resolved, 'The redirect target');
144
+ if (new URL(checked).origin !== origin) {
145
+ throw feedError('The feed server redirected to a different origin. Only redirects that stay on the same host and port are followed.');
146
+ }
147
+ return checked;
148
+ }
149
+ async function requestFeed(url) {
150
+ const options = {
151
+ method: 'GET',
152
+ url,
153
+ headers: {
154
+ Accept: 'text/calendar, text/plain;q=0.5',
155
+ },
156
+ disableFollowRedirect: true,
157
+ returnFullResponse: true,
158
+ ignoreHttpStatusErrors: true,
159
+ json: false,
160
+ encoding: 'text',
161
+ timeout: FEED_TIMEOUT_MS,
162
+ };
163
+ try {
164
+ return (await this.helpers.httpRequest(options));
165
+ }
166
+ catch (error) {
167
+ throw feedError(`The ICS feed could not be fetched: ${transportReason(error)}.`);
168
+ }
169
+ }
170
+ function transportReason(error) {
171
+ const err = error;
172
+ const code = String(err?.code ?? err?.cause?.code ?? '');
173
+ if (/^(ENOTFOUND|EAI_AGAIN)$/.test(code))
174
+ return 'the feed host could not be resolved';
175
+ if (/^(ETIMEDOUT|ESOCKETTIMEDOUT|ECONNABORTED)$/.test(code)) {
176
+ return 'the feed server did not answer in time';
177
+ }
178
+ if (/^(ECONNREFUSED|ECONNRESET|EHOSTUNREACH|ENETUNREACH|EPIPE)$/.test(code)) {
179
+ return 'the connection to the feed server failed';
180
+ }
181
+ if (/^(CERT_|DEPTH_ZERO|SELF_SIGNED|UNABLE_TO_|ERR_TLS)/.test(code)) {
182
+ return 'the feed server\'s TLS certificate was rejected';
183
+ }
184
+ return 'the request did not complete';
185
+ }
186
+ function tooLargeError() {
187
+ return feedError('The feed is larger than the 5 MB this node reads. Narrow the subscription at the provider, or use the CalDAV resource, which asks the server for one time window at a time.');
188
+ }
189
+ function statusError(status) {
190
+ if (status === 401 || status === 403) {
191
+ return feedError(`The feed refused the request (HTTP ${status}). This node reads public feeds only and sends no credentials — use the CalDAV resource for a calendar that needs a login.`);
192
+ }
193
+ if (status === 404 || status === 410) {
194
+ return feedError(`The feed was not found (HTTP ${status}). Re-copy the subscription link from the provider; these often expire.`);
195
+ }
196
+ if (status === 429) {
197
+ return feedError('The feed server is rate-limiting this node (HTTP 429). Try again later.');
198
+ }
199
+ return feedError(`The feed request failed with HTTP ${status}.`);
200
+ }
201
+ const FEED_PRODID = '-//Daisytwo//n8n-nodes-caldav-pro//EN';
202
+ function splitFeedObjects(body) {
203
+ let comp;
204
+ try {
205
+ comp = new ical_js_1.default.Component(ical_js_1.default.parse(body));
206
+ }
207
+ catch {
208
+ throw feedError('The feed is not a valid iCalendar document and could not be parsed.');
209
+ }
210
+ const vevents = comp.getAllSubcomponents('vevent');
211
+ if (!vevents.length)
212
+ return [];
213
+ const zones = new Map();
214
+ for (const vtimezone of comp.getAllSubcomponents('vtimezone')) {
215
+ const tzid = vtimezone.getFirstPropertyValue('tzid');
216
+ if (tzid)
217
+ zones.set(String(tzid), vtimezone.toString());
218
+ }
219
+ const groups = new Map();
220
+ vevents.forEach((vevent, index) => {
221
+ const uid = vevent.getFirstPropertyValue('uid');
222
+ const key = uid ? String(uid) : `${index}`;
223
+ const existing = groups.get(key);
224
+ if (existing)
225
+ existing.push(vevent);
226
+ else
227
+ groups.set(key, [vevent]);
228
+ });
229
+ const objects = [];
230
+ for (const group of groups.values()) {
231
+ const tzids = new Set();
232
+ for (const vevent of group) {
233
+ for (const property of vevent.getAllProperties()) {
234
+ const tzid = property.getParameter('tzid');
235
+ if (tzid)
236
+ tzids.add(String(tzid));
237
+ }
238
+ }
239
+ objects.push([
240
+ 'BEGIN:VCALENDAR',
241
+ 'VERSION:2.0',
242
+ `PRODID:${FEED_PRODID}`,
243
+ ...[...tzids].map((tzid) => zones.get(tzid)).filter(Boolean),
244
+ ...group.map((vevent) => vevent.toString()),
245
+ 'END:VCALENDAR',
246
+ ].join('\r\n') + '\r\n');
247
+ }
248
+ return objects;
249
+ }
250
+ function eventInWindow(event, rangeStart, rangeEnd) {
251
+ const start = event.start ? Date.parse(event.start) : NaN;
252
+ if (!Number.isFinite(start))
253
+ return true;
254
+ const parsedEnd = event.end ? Date.parse(event.end) : NaN;
255
+ const end = Number.isFinite(parsedEnd) && parsedEnd > start ? parsedEnd : start + 1;
256
+ return end > rangeStart.getTime() && start < rangeEnd.getTime();
257
+ }
258
+ function expandIcsFeed(body, rangeStart, rangeEnd, localZone) {
259
+ const events = [];
260
+ for (const object of splitFeedObjects(body)) {
261
+ for (const event of (0, GenericFunctions_1.expandCalendarObject)(object, '', undefined, rangeStart, rangeEnd, localZone)) {
262
+ if (eventInWindow(event, rangeStart, rangeEnd))
263
+ events.push(event);
264
+ }
265
+ }
266
+ return events;
267
+ }
268
+ function toFeedEvent(event, feedName, simplify) {
269
+ const record = simplify ? { ...(0, GenericFunctions_1.simplifyEvent)(event) } : { ...event };
270
+ delete record.url;
271
+ delete record.etag;
272
+ return {
273
+ ...record,
274
+ source: 'icsFeed',
275
+ ...(feedName ? { feedName } : {}),
276
+ };
277
+ }
278
+ //# sourceMappingURL=IcsFeedFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IcsFeedFunctions.js","sourceRoot":"","sources":["../../../nodes/CalDav/IcsFeedFunctions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-caldav-pro",
3
- "version": "3.4.1",
3
+ "version": "3.5.0",
4
4
  "description": "n8n community node for CalDAV calendars (Infomaniak, NextCloud, iCloud, Fastmail). Usable as AI Agent tool.",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
@@ -42,7 +42,8 @@
42
42
  "n8n": {
43
43
  "n8nNodesApiVersion": 1,
44
44
  "credentials": [
45
- "dist/credentials/CalDavApi.credentials.js"
45
+ "dist/credentials/CalDavApi.credentials.js",
46
+ "dist/credentials/IcsFeedApi.credentials.js"
46
47
  ],
47
48
  "nodes": [
48
49
  "dist/nodes/CalDav/CalDav.node.js"