@pagecrawl/n8n-nodes-pagecrawl 0.1.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.
@@ -0,0 +1,657 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pageFields = exports.pageOperations = void 0;
4
+ exports.pageOperations = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: {
11
+ show: {
12
+ resource: ['page'],
13
+ },
14
+ },
15
+ options: [
16
+ {
17
+ name: 'Create',
18
+ value: 'create',
19
+ description: 'Create a new tracked page',
20
+ action: 'Create a page',
21
+ },
22
+ {
23
+ name: 'Create Simple',
24
+ value: 'createSimple',
25
+ description: 'Create a page with simplified options',
26
+ action: 'Create a simple page',
27
+ },
28
+ {
29
+ name: 'Delete',
30
+ value: 'delete',
31
+ description: 'Delete a tracked page',
32
+ action: 'Delete a page',
33
+ },
34
+ {
35
+ name: 'Get',
36
+ value: 'get',
37
+ description: 'Get a tracked page configuration',
38
+ action: 'Get a page',
39
+ },
40
+ {
41
+ name: 'Get Many',
42
+ value: 'getAll',
43
+ description: 'Get all tracked pages',
44
+ action: 'Get many pages',
45
+ },
46
+ {
47
+ name: 'Run Check Now',
48
+ value: 'runCheckNow',
49
+ description: 'Trigger an immediate check for a page',
50
+ action: 'Run check now',
51
+ },
52
+ {
53
+ name: 'Update',
54
+ value: 'update',
55
+ description: 'Update a tracked page',
56
+ action: 'Update a page',
57
+ },
58
+ ],
59
+ default: 'getAll',
60
+ },
61
+ ];
62
+ exports.pageFields = [
63
+ // ========================================
64
+ // page:getAll
65
+ // ========================================
66
+ {
67
+ displayName: 'Return All',
68
+ name: 'returnAll',
69
+ type: 'boolean',
70
+ displayOptions: {
71
+ show: {
72
+ resource: ['page'],
73
+ operation: ['getAll'],
74
+ },
75
+ },
76
+ default: true,
77
+ description: 'Whether to return all results or only up to a given limit',
78
+ },
79
+ {
80
+ displayName: 'Limit',
81
+ name: 'limit',
82
+ type: 'number',
83
+ displayOptions: {
84
+ show: {
85
+ resource: ['page'],
86
+ operation: ['getAll'],
87
+ returnAll: [false],
88
+ },
89
+ },
90
+ typeOptions: {
91
+ minValue: 1,
92
+ },
93
+ default: 50,
94
+ description: 'Max number of results to return',
95
+ },
96
+ {
97
+ displayName: 'Options',
98
+ name: 'options',
99
+ type: 'collection',
100
+ placeholder: 'Add Option',
101
+ default: {},
102
+ displayOptions: {
103
+ show: {
104
+ resource: ['page'],
105
+ operation: ['getAll'],
106
+ },
107
+ },
108
+ options: [
109
+ {
110
+ displayName: 'Folder',
111
+ name: 'folder',
112
+ type: 'string',
113
+ default: '',
114
+ description: 'Filter by folder. Use "*" for all folders, or specify folder path.',
115
+ },
116
+ {
117
+ displayName: 'Simple',
118
+ name: 'simple',
119
+ type: 'boolean',
120
+ default: false,
121
+ description: 'Whether to return simplified response without configuration options',
122
+ },
123
+ {
124
+ displayName: 'Take',
125
+ name: 'take',
126
+ type: 'number',
127
+ default: 0,
128
+ description: 'Limit number of checks retrieved per page',
129
+ },
130
+ ],
131
+ },
132
+ // ========================================
133
+ // page:get
134
+ // ========================================
135
+ {
136
+ displayName: 'Page ID',
137
+ name: 'pageId',
138
+ type: 'string',
139
+ required: true,
140
+ displayOptions: {
141
+ show: {
142
+ resource: ['page'],
143
+ operation: ['get', 'update', 'delete', 'runCheckNow'],
144
+ },
145
+ },
146
+ default: '',
147
+ description: 'The ID or slug of the page',
148
+ },
149
+ {
150
+ displayName: 'Options',
151
+ name: 'runCheckOptions',
152
+ type: 'collection',
153
+ placeholder: 'Add Option',
154
+ default: {},
155
+ displayOptions: {
156
+ show: {
157
+ resource: ['page'],
158
+ operation: ['runCheckNow'],
159
+ },
160
+ },
161
+ options: [
162
+ {
163
+ displayName: 'Skip First Notification',
164
+ name: 'skip_first_notification',
165
+ type: 'boolean',
166
+ default: false,
167
+ description: 'Whether to skip notification for this check',
168
+ },
169
+ ],
170
+ },
171
+ {
172
+ displayName: 'Options',
173
+ name: 'options',
174
+ type: 'collection',
175
+ placeholder: 'Add Option',
176
+ default: {},
177
+ displayOptions: {
178
+ show: {
179
+ resource: ['page'],
180
+ operation: ['get'],
181
+ },
182
+ },
183
+ options: [
184
+ {
185
+ displayName: 'Simple',
186
+ name: 'simple',
187
+ type: 'boolean',
188
+ default: false,
189
+ description: 'Whether to return simplified response without configuration options',
190
+ },
191
+ {
192
+ displayName: 'Take',
193
+ name: 'take',
194
+ type: 'number',
195
+ default: 0,
196
+ description: 'Limit number of checks retrieved',
197
+ },
198
+ ],
199
+ },
200
+ // ========================================
201
+ // page:createSimple
202
+ // ========================================
203
+ {
204
+ displayName: 'URL',
205
+ name: 'url',
206
+ type: 'string',
207
+ required: true,
208
+ displayOptions: {
209
+ show: {
210
+ resource: ['page'],
211
+ operation: ['createSimple'],
212
+ },
213
+ },
214
+ default: '',
215
+ placeholder: 'https://example.com',
216
+ description: 'The URL to track',
217
+ },
218
+ {
219
+ displayName: 'Additional Fields',
220
+ name: 'additionalFields',
221
+ type: 'collection',
222
+ placeholder: 'Add Field',
223
+ default: {},
224
+ displayOptions: {
225
+ show: {
226
+ resource: ['page'],
227
+ operation: ['createSimple'],
228
+ },
229
+ },
230
+ options: [
231
+ {
232
+ displayName: 'CSS/XPath Selector',
233
+ name: 'selector',
234
+ type: 'string',
235
+ default: '',
236
+ description: 'CSS or XPath selector. If empty, tracks full page.',
237
+ },
238
+ {
239
+ displayName: 'Frequency',
240
+ name: 'frequency',
241
+ type: 'options',
242
+ options: [
243
+ { name: 'Every 3 Minutes', value: 3 },
244
+ { name: 'Every 5 Minutes', value: 5 },
245
+ { name: 'Every 10 Minutes', value: 10 },
246
+ { name: 'Every 15 Minutes', value: 15 },
247
+ { name: 'Every 30 Minutes', value: 30 },
248
+ { name: 'Hourly', value: 60 },
249
+ { name: 'Every 3 Hours', value: 180 },
250
+ { name: 'Every 6 Hours', value: 360 },
251
+ { name: 'Every 12 Hours', value: 720 },
252
+ { name: 'Daily', value: 1440 },
253
+ { name: 'Every 2 Days', value: 2880 },
254
+ { name: 'Weekly', value: 10080 },
255
+ ],
256
+ default: 1440,
257
+ description: 'How often to check for changes',
258
+ },
259
+ {
260
+ displayName: 'Ignore Duplicates',
261
+ name: 'ignore_duplicates',
262
+ type: 'boolean',
263
+ default: false,
264
+ description: 'Whether to prevent duplicate page additions',
265
+ },
266
+ ],
267
+ },
268
+ // ========================================
269
+ // page:create
270
+ // ========================================
271
+ {
272
+ displayName: 'URL',
273
+ name: 'url',
274
+ type: 'string',
275
+ required: true,
276
+ displayOptions: {
277
+ show: {
278
+ resource: ['page'],
279
+ operation: ['create'],
280
+ },
281
+ },
282
+ default: '',
283
+ placeholder: 'https://example.com',
284
+ description: 'The URL to track',
285
+ },
286
+ {
287
+ displayName: 'Name',
288
+ name: 'name',
289
+ type: 'string',
290
+ required: true,
291
+ displayOptions: {
292
+ show: {
293
+ resource: ['page'],
294
+ operation: ['create'],
295
+ },
296
+ },
297
+ default: '',
298
+ description: 'Label for the page',
299
+ },
300
+ {
301
+ displayName: 'Elements',
302
+ name: 'elements',
303
+ type: 'fixedCollection',
304
+ typeOptions: {
305
+ multipleValues: true,
306
+ },
307
+ displayOptions: {
308
+ show: {
309
+ resource: ['page'],
310
+ operation: ['create'],
311
+ },
312
+ },
313
+ description: 'Elements to track on the page',
314
+ default: {},
315
+ options: [
316
+ {
317
+ name: 'element',
318
+ displayName: 'Element',
319
+ values: [
320
+ {
321
+ displayName: 'Type',
322
+ name: 'type',
323
+ type: 'options',
324
+ options: [
325
+ { name: 'Text', value: 'text' },
326
+ { name: 'Number', value: 'number' },
327
+ { name: 'Full Page', value: 'fullpage' },
328
+ ],
329
+ default: 'text',
330
+ description: 'Type of element to track',
331
+ },
332
+ {
333
+ displayName: 'Selector',
334
+ name: 'selector',
335
+ type: 'string',
336
+ default: '',
337
+ description: 'CSS or XPath selector',
338
+ },
339
+ {
340
+ displayName: 'Label',
341
+ name: 'label',
342
+ type: 'string',
343
+ default: '',
344
+ description: 'Short label for the element',
345
+ },
346
+ ],
347
+ },
348
+ ],
349
+ },
350
+ {
351
+ displayName: 'Frequency',
352
+ name: 'frequency',
353
+ type: 'options',
354
+ required: true,
355
+ displayOptions: {
356
+ show: {
357
+ resource: ['page'],
358
+ operation: ['create'],
359
+ },
360
+ },
361
+ options: [
362
+ { name: 'Every 3 Minutes', value: 3 },
363
+ { name: 'Every 5 Minutes', value: 5 },
364
+ { name: 'Every 10 Minutes', value: 10 },
365
+ { name: 'Every 15 Minutes', value: 15 },
366
+ { name: 'Every 30 Minutes', value: 30 },
367
+ { name: 'Hourly', value: 60 },
368
+ { name: 'Every 3 Hours', value: 180 },
369
+ { name: 'Every 6 Hours', value: 360 },
370
+ { name: 'Every 12 Hours', value: 720 },
371
+ { name: 'Daily', value: 1440 },
372
+ { name: 'Every 2 Days', value: 2880 },
373
+ { name: 'Weekly', value: 10080 },
374
+ ],
375
+ default: 1440,
376
+ description: 'How often to check for changes',
377
+ },
378
+ {
379
+ displayName: 'Additional Fields',
380
+ name: 'additionalFields',
381
+ type: 'collection',
382
+ placeholder: 'Add Field',
383
+ default: {},
384
+ displayOptions: {
385
+ show: {
386
+ resource: ['page'],
387
+ operation: ['create', 'update'],
388
+ },
389
+ },
390
+ options: [
391
+ {
392
+ displayName: 'Actions',
393
+ name: 'actions',
394
+ type: 'json',
395
+ default: '[]',
396
+ description: 'Actions to perform before tracking (JSON array)',
397
+ },
398
+ {
399
+ displayName: 'Advanced',
400
+ name: 'advanced',
401
+ type: 'boolean',
402
+ default: false,
403
+ description: 'Whether to use advanced settings',
404
+ },
405
+ {
406
+ displayName: 'Auth Password',
407
+ name: 'auth_password',
408
+ type: 'string',
409
+ typeOptions: {
410
+ password: true,
411
+ },
412
+ default: '',
413
+ description: 'HTTP Basic authentication password',
414
+ },
415
+ {
416
+ displayName: 'Auth Username',
417
+ name: 'auth_username',
418
+ type: 'string',
419
+ default: '',
420
+ description: 'HTTP Basic authentication username',
421
+ },
422
+ {
423
+ displayName: 'Check Always',
424
+ name: 'check_always',
425
+ type: 'boolean',
426
+ default: false,
427
+ description: 'Whether to always check even on errors',
428
+ },
429
+ {
430
+ displayName: 'Disabled',
431
+ name: 'disabled',
432
+ type: 'boolean',
433
+ default: false,
434
+ description: 'Whether to disable page monitoring',
435
+ },
436
+ {
437
+ displayName: 'Fail Silently',
438
+ name: 'fail_silently',
439
+ type: 'options',
440
+ options: [
441
+ { name: 'Send Error Notifications', value: 0 },
442
+ { name: 'Never Send Error Notifications', value: 1 },
443
+ ],
444
+ default: 0,
445
+ description: 'Error notification behavior',
446
+ },
447
+ {
448
+ displayName: 'Headers',
449
+ name: 'headers',
450
+ type: 'json',
451
+ default: '{}',
452
+ description: 'Custom headers (JSON object)',
453
+ },
454
+ {
455
+ displayName: 'Ignore Duplicates',
456
+ name: 'ignore_duplicates',
457
+ type: 'boolean',
458
+ default: false,
459
+ description: 'Whether to prevent duplicate page additions',
460
+ },
461
+ {
462
+ displayName: 'Location',
463
+ name: 'location',
464
+ type: 'options',
465
+ options: [
466
+ { name: 'Random Proxy', value: 'random1' },
467
+ { name: 'London, UK', value: 'lon1' },
468
+ { name: 'Toronto, CA', value: 'tor1' },
469
+ { name: 'New York, US', value: 'ny1' },
470
+ { name: 'Frankfurt, DE', value: 'fra1' },
471
+ ],
472
+ default: 'random1',
473
+ description: 'Server location to make requests from',
474
+ },
475
+ {
476
+ displayName: 'Notification Channels',
477
+ name: 'notifications',
478
+ type: 'multiOptions',
479
+ options: [
480
+ { name: 'Email', value: 'mail' },
481
+ { name: 'Slack', value: 'slack' },
482
+ { name: 'Discord', value: 'discord' },
483
+ { name: 'Microsoft Teams', value: 'teams' },
484
+ { name: 'Telegram', value: 'telegram' },
485
+ ],
486
+ default: [],
487
+ description: 'Notification channels to use',
488
+ },
489
+ {
490
+ displayName: 'Notification Emails',
491
+ name: 'notification_emails',
492
+ type: 'string',
493
+ default: '',
494
+ description: 'Comma-separated list of notification email addresses',
495
+ },
496
+ {
497
+ displayName: 'Proxies',
498
+ name: 'proxies',
499
+ type: 'string',
500
+ typeOptions: {
501
+ rows: 4,
502
+ },
503
+ default: '',
504
+ description: 'List of proxies (one per line)',
505
+ },
506
+ {
507
+ displayName: 'Rules',
508
+ name: 'rules',
509
+ type: 'json',
510
+ default: '[]',
511
+ description: 'Notification rules (JSON array)',
512
+ },
513
+ {
514
+ displayName: 'Rules AND Logic',
515
+ name: 'rules_and',
516
+ type: 'boolean',
517
+ default: false,
518
+ description: 'Whether all rules must match for notification',
519
+ },
520
+ {
521
+ displayName: 'Rules Enabled',
522
+ name: 'rules_enabled',
523
+ type: 'boolean',
524
+ default: false,
525
+ description: 'Whether to enable notification rules',
526
+ },
527
+ {
528
+ displayName: 'Skip First Notification',
529
+ name: 'skip_first_notification',
530
+ type: 'boolean',
531
+ default: false,
532
+ description: 'Whether to skip the first notification after creating/updating',
533
+ },
534
+ {
535
+ displayName: 'Track Type',
536
+ name: 'track_type',
537
+ type: 'options',
538
+ options: [
539
+ { name: 'Single URL', value: 'one' },
540
+ { name: 'Multiple URLs', value: 'multiple' },
541
+ ],
542
+ default: 'one',
543
+ description: 'Track single or multiple URLs',
544
+ },
545
+ {
546
+ displayName: 'URLs',
547
+ name: 'urls',
548
+ type: 'string',
549
+ typeOptions: {
550
+ rows: 4,
551
+ },
552
+ default: '',
553
+ description: 'URLs to track (one per line, use || for custom titles)',
554
+ displayOptions: {
555
+ show: {
556
+ track_type: ['multiple'],
557
+ },
558
+ },
559
+ },
560
+ {
561
+ displayName: 'User Agent',
562
+ name: 'user_agent',
563
+ type: 'string',
564
+ default: '',
565
+ description: 'Custom browser User-Agent string',
566
+ },
567
+ {
568
+ displayName: 'Tags',
569
+ name: 'tags',
570
+ type: 'string',
571
+ default: '',
572
+ description: 'Comma-separated list of tags for the page',
573
+ },
574
+ {
575
+ displayName: 'Folder ID',
576
+ name: 'folder_id',
577
+ type: 'number',
578
+ default: 0,
579
+ description: 'Save page in a specific folder (by folder ID)',
580
+ },
581
+ {
582
+ displayName: 'Template ID',
583
+ name: 'template_id',
584
+ type: 'number',
585
+ default: 0,
586
+ description: 'Use a specific template configuration (by template ID)',
587
+ },
588
+ {
589
+ displayName: 'Auth ID',
590
+ name: 'auth_id',
591
+ type: 'number',
592
+ default: 0,
593
+ description: 'Use a specific authentication configuration (by auth ID)',
594
+ },
595
+ ],
596
+ },
597
+ // ========================================
598
+ // page:update
599
+ // ========================================
600
+ {
601
+ displayName: 'Update Fields',
602
+ name: 'updateFields',
603
+ type: 'collection',
604
+ placeholder: 'Add Field',
605
+ default: {},
606
+ displayOptions: {
607
+ show: {
608
+ resource: ['page'],
609
+ operation: ['update'],
610
+ },
611
+ },
612
+ options: [
613
+ {
614
+ displayName: 'Elements',
615
+ name: 'elements',
616
+ type: 'json',
617
+ default: '[]',
618
+ description: 'Elements to track (JSON array)',
619
+ },
620
+ {
621
+ displayName: 'Frequency',
622
+ name: 'frequency',
623
+ type: 'options',
624
+ options: [
625
+ { name: 'Every 3 Minutes', value: 3 },
626
+ { name: 'Every 5 Minutes', value: 5 },
627
+ { name: 'Every 10 Minutes', value: 10 },
628
+ { name: 'Every 15 Minutes', value: 15 },
629
+ { name: 'Every 30 Minutes', value: 30 },
630
+ { name: 'Hourly', value: 60 },
631
+ { name: 'Every 3 Hours', value: 180 },
632
+ { name: 'Every 6 Hours', value: 360 },
633
+ { name: 'Every 12 Hours', value: 720 },
634
+ { name: 'Daily', value: 1440 },
635
+ { name: 'Every 2 Days', value: 2880 },
636
+ { name: 'Weekly', value: 10080 },
637
+ ],
638
+ default: 1440,
639
+ description: 'How often to check for changes',
640
+ },
641
+ {
642
+ displayName: 'Name',
643
+ name: 'name',
644
+ type: 'string',
645
+ default: '',
646
+ description: 'Label for the page',
647
+ },
648
+ {
649
+ displayName: 'URL',
650
+ name: 'url',
651
+ type: 'string',
652
+ default: '',
653
+ description: 'The URL to track',
654
+ },
655
+ ],
656
+ },
657
+ ];
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const screenshotOperations: INodeProperties[];
3
+ export declare const screenshotFields: INodeProperties[];