@sockethub/schemas 3.0.0-alpha.16 → 3.0.0-alpha.18

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,743 @@
1
+ {
2
+ "required": [
3
+ "type",
4
+ "actor"
5
+ ],
6
+ "properties": {
7
+ "type": {
8
+ "type": "string",
9
+ "enum": [
10
+ "fetch",
11
+ "query",
12
+ "create",
13
+ "update",
14
+ "delete"
15
+ ]
16
+ },
17
+ "actor": {
18
+ "type": "object",
19
+ "required": [
20
+ "id",
21
+ "type"
22
+ ],
23
+ "additionalProperties": false,
24
+ "properties": {
25
+ "id": {
26
+ "type": "string",
27
+ "minLength": 1,
28
+ "maxLength": 1024
29
+ },
30
+ "type": {
31
+ "enum": [
32
+ "person"
33
+ ]
34
+ }
35
+ }
36
+ },
37
+ "target": {
38
+ "type": "object",
39
+ "required": [
40
+ "id",
41
+ "type"
42
+ ],
43
+ "additionalProperties": false,
44
+ "properties": {
45
+ "id": {
46
+ "type": "string",
47
+ "format": "uri",
48
+ "maxLength": 4096
49
+ },
50
+ "type": {
51
+ "enum": [
52
+ "calendar"
53
+ ]
54
+ }
55
+ }
56
+ },
57
+ "object": {
58
+ "oneOf": [
59
+ {
60
+ "type": "object",
61
+ "required": [
62
+ "type",
63
+ "name",
64
+ "startTime"
65
+ ],
66
+ "additionalProperties": false,
67
+ "properties": {
68
+ "id": {
69
+ "type": "string",
70
+ "format": "uri",
71
+ "maxLength": 4096
72
+ },
73
+ "etag": {
74
+ "type": "string",
75
+ "minLength": 1,
76
+ "maxLength": 1024
77
+ },
78
+ "uid": {
79
+ "type": "string",
80
+ "minLength": 1,
81
+ "maxLength": 255
82
+ },
83
+ "sequence": {
84
+ "type": "integer",
85
+ "minimum": 0,
86
+ "maximum": 2147483647
87
+ },
88
+ "name": {
89
+ "type": "string",
90
+ "minLength": 1,
91
+ "maxLength": 4096
92
+ },
93
+ "content": {
94
+ "type": "string",
95
+ "maxLength": 65536
96
+ },
97
+ "location": {
98
+ "type": "string",
99
+ "maxLength": 4096
100
+ },
101
+ "url": {
102
+ "type": "string",
103
+ "format": "uri",
104
+ "maxLength": 4096
105
+ },
106
+ "timeZone": {
107
+ "type": "string",
108
+ "minLength": 1,
109
+ "maxLength": 255
110
+ },
111
+ "recurrence": {
112
+ "type": "object",
113
+ "required": [
114
+ "frequency"
115
+ ],
116
+ "additionalProperties": false,
117
+ "properties": {
118
+ "frequency": {
119
+ "enum": [
120
+ "daily",
121
+ "weekly",
122
+ "monthly",
123
+ "yearly"
124
+ ]
125
+ },
126
+ "interval": {
127
+ "type": "integer",
128
+ "minimum": 1,
129
+ "maximum": 999
130
+ },
131
+ "count": {
132
+ "type": "integer",
133
+ "minimum": 1,
134
+ "maximum": 99999
135
+ },
136
+ "until": {
137
+ "type": "string",
138
+ "format": "date-time"
139
+ },
140
+ "byDay": {
141
+ "type": "array",
142
+ "uniqueItems": true,
143
+ "maxItems": 31,
144
+ "items": {
145
+ "type": "string",
146
+ "pattern": "^(?:[+-]?[1-5])?(?:MO|TU|WE|TH|FR|SA|SU)$"
147
+ }
148
+ },
149
+ "byMonthDay": {
150
+ "type": "array",
151
+ "uniqueItems": true,
152
+ "maxItems": 62,
153
+ "items": {
154
+ "type": "integer",
155
+ "minimum": -31,
156
+ "maximum": 31,
157
+ "not": {
158
+ "const": 0
159
+ }
160
+ }
161
+ }
162
+ },
163
+ "not": {
164
+ "required": [
165
+ "count",
166
+ "until"
167
+ ]
168
+ }
169
+ },
170
+ "organizer": {
171
+ "type": "object",
172
+ "required": [
173
+ "email"
174
+ ],
175
+ "additionalProperties": false,
176
+ "properties": {
177
+ "email": {
178
+ "type": "string",
179
+ "format": "email",
180
+ "maxLength": 1024
181
+ },
182
+ "name": {
183
+ "type": "string",
184
+ "maxLength": 1024
185
+ },
186
+ "role": {
187
+ "enum": [
188
+ "chair",
189
+ "required",
190
+ "optional",
191
+ "non-participant"
192
+ ]
193
+ },
194
+ "status": {
195
+ "enum": [
196
+ "needs-action",
197
+ "accepted",
198
+ "declined",
199
+ "tentative",
200
+ "delegated"
201
+ ]
202
+ },
203
+ "rsvp": {
204
+ "type": "boolean"
205
+ }
206
+ }
207
+ },
208
+ "attendees": {
209
+ "type": "array",
210
+ "maxItems": 1000,
211
+ "items": {
212
+ "type": "object",
213
+ "required": [
214
+ "email"
215
+ ],
216
+ "additionalProperties": false,
217
+ "properties": {
218
+ "email": {
219
+ "type": "string",
220
+ "format": "email",
221
+ "maxLength": 1024
222
+ },
223
+ "name": {
224
+ "type": "string",
225
+ "maxLength": 1024
226
+ },
227
+ "role": {
228
+ "enum": [
229
+ "chair",
230
+ "required",
231
+ "optional",
232
+ "non-participant"
233
+ ]
234
+ },
235
+ "status": {
236
+ "enum": [
237
+ "needs-action",
238
+ "accepted",
239
+ "declined",
240
+ "tentative",
241
+ "delegated"
242
+ ]
243
+ },
244
+ "rsvp": {
245
+ "type": "boolean"
246
+ }
247
+ }
248
+ }
249
+ },
250
+ "reminders": {
251
+ "type": "array",
252
+ "maxItems": 100,
253
+ "items": {
254
+ "type": "object",
255
+ "required": [
256
+ "trigger"
257
+ ],
258
+ "additionalProperties": false,
259
+ "properties": {
260
+ "trigger": {
261
+ "type": "string",
262
+ "minLength": 2,
263
+ "maxLength": 64
264
+ },
265
+ "action": {
266
+ "enum": [
267
+ "display",
268
+ "email"
269
+ ]
270
+ },
271
+ "description": {
272
+ "type": "string",
273
+ "maxLength": 4096
274
+ },
275
+ "recipients": {
276
+ "type": "array",
277
+ "minItems": 1,
278
+ "maxItems": 100,
279
+ "items": {
280
+ "type": "string",
281
+ "format": "email"
282
+ }
283
+ }
284
+ }
285
+ }
286
+ },
287
+ "attachments": {
288
+ "type": "array",
289
+ "maxItems": 100,
290
+ "items": {
291
+ "type": "object",
292
+ "additionalProperties": false,
293
+ "properties": {
294
+ "url": {
295
+ "type": "string",
296
+ "format": "uri",
297
+ "maxLength": 4096
298
+ },
299
+ "data": {
300
+ "type": "string",
301
+ "maxLength": 1048576
302
+ },
303
+ "mediaType": {
304
+ "type": "string",
305
+ "maxLength": 255
306
+ },
307
+ "filename": {
308
+ "type": "string",
309
+ "maxLength": 1024
310
+ }
311
+ },
312
+ "oneOf": [
313
+ {
314
+ "required": [
315
+ "url"
316
+ ]
317
+ },
318
+ {
319
+ "required": [
320
+ "data"
321
+ ]
322
+ }
323
+ ]
324
+ }
325
+ },
326
+ "updateSupported": {
327
+ "type": "boolean"
328
+ },
329
+ "type": {
330
+ "enum": [
331
+ "event"
332
+ ]
333
+ },
334
+ "startTime": {
335
+ "type": "string",
336
+ "minLength": 10,
337
+ "maxLength": 64
338
+ },
339
+ "endTime": {
340
+ "type": "string",
341
+ "minLength": 10,
342
+ "maxLength": 64
343
+ },
344
+ "allDay": {
345
+ "type": "boolean",
346
+ "default": false
347
+ }
348
+ }
349
+ },
350
+ {
351
+ "type": "object",
352
+ "required": [
353
+ "type",
354
+ "name"
355
+ ],
356
+ "additionalProperties": false,
357
+ "properties": {
358
+ "id": {
359
+ "type": "string",
360
+ "format": "uri",
361
+ "maxLength": 4096
362
+ },
363
+ "etag": {
364
+ "type": "string",
365
+ "minLength": 1,
366
+ "maxLength": 1024
367
+ },
368
+ "uid": {
369
+ "type": "string",
370
+ "minLength": 1,
371
+ "maxLength": 255
372
+ },
373
+ "sequence": {
374
+ "type": "integer",
375
+ "minimum": 0,
376
+ "maximum": 2147483647
377
+ },
378
+ "name": {
379
+ "type": "string",
380
+ "minLength": 1,
381
+ "maxLength": 4096
382
+ },
383
+ "content": {
384
+ "type": "string",
385
+ "maxLength": 65536
386
+ },
387
+ "location": {
388
+ "type": "string",
389
+ "maxLength": 4096
390
+ },
391
+ "url": {
392
+ "type": "string",
393
+ "format": "uri",
394
+ "maxLength": 4096
395
+ },
396
+ "timeZone": {
397
+ "type": "string",
398
+ "minLength": 1,
399
+ "maxLength": 255
400
+ },
401
+ "recurrence": {
402
+ "type": "object",
403
+ "required": [
404
+ "frequency"
405
+ ],
406
+ "additionalProperties": false,
407
+ "properties": {
408
+ "frequency": {
409
+ "enum": [
410
+ "daily",
411
+ "weekly",
412
+ "monthly",
413
+ "yearly"
414
+ ]
415
+ },
416
+ "interval": {
417
+ "type": "integer",
418
+ "minimum": 1,
419
+ "maximum": 999
420
+ },
421
+ "count": {
422
+ "type": "integer",
423
+ "minimum": 1,
424
+ "maximum": 99999
425
+ },
426
+ "until": {
427
+ "type": "string",
428
+ "format": "date-time"
429
+ },
430
+ "byDay": {
431
+ "type": "array",
432
+ "uniqueItems": true,
433
+ "maxItems": 31,
434
+ "items": {
435
+ "type": "string",
436
+ "pattern": "^(?:[+-]?[1-5])?(?:MO|TU|WE|TH|FR|SA|SU)$"
437
+ }
438
+ },
439
+ "byMonthDay": {
440
+ "type": "array",
441
+ "uniqueItems": true,
442
+ "maxItems": 62,
443
+ "items": {
444
+ "type": "integer",
445
+ "minimum": -31,
446
+ "maximum": 31,
447
+ "not": {
448
+ "const": 0
449
+ }
450
+ }
451
+ }
452
+ },
453
+ "not": {
454
+ "required": [
455
+ "count",
456
+ "until"
457
+ ]
458
+ }
459
+ },
460
+ "organizer": {
461
+ "type": "object",
462
+ "required": [
463
+ "email"
464
+ ],
465
+ "additionalProperties": false,
466
+ "properties": {
467
+ "email": {
468
+ "type": "string",
469
+ "format": "email",
470
+ "maxLength": 1024
471
+ },
472
+ "name": {
473
+ "type": "string",
474
+ "maxLength": 1024
475
+ },
476
+ "role": {
477
+ "enum": [
478
+ "chair",
479
+ "required",
480
+ "optional",
481
+ "non-participant"
482
+ ]
483
+ },
484
+ "status": {
485
+ "enum": [
486
+ "needs-action",
487
+ "accepted",
488
+ "declined",
489
+ "tentative",
490
+ "delegated"
491
+ ]
492
+ },
493
+ "rsvp": {
494
+ "type": "boolean"
495
+ }
496
+ }
497
+ },
498
+ "attendees": {
499
+ "type": "array",
500
+ "maxItems": 1000,
501
+ "items": {
502
+ "type": "object",
503
+ "required": [
504
+ "email"
505
+ ],
506
+ "additionalProperties": false,
507
+ "properties": {
508
+ "email": {
509
+ "type": "string",
510
+ "format": "email",
511
+ "maxLength": 1024
512
+ },
513
+ "name": {
514
+ "type": "string",
515
+ "maxLength": 1024
516
+ },
517
+ "role": {
518
+ "enum": [
519
+ "chair",
520
+ "required",
521
+ "optional",
522
+ "non-participant"
523
+ ]
524
+ },
525
+ "status": {
526
+ "enum": [
527
+ "needs-action",
528
+ "accepted",
529
+ "declined",
530
+ "tentative",
531
+ "delegated"
532
+ ]
533
+ },
534
+ "rsvp": {
535
+ "type": "boolean"
536
+ }
537
+ }
538
+ }
539
+ },
540
+ "reminders": {
541
+ "type": "array",
542
+ "maxItems": 100,
543
+ "items": {
544
+ "type": "object",
545
+ "required": [
546
+ "trigger"
547
+ ],
548
+ "additionalProperties": false,
549
+ "properties": {
550
+ "trigger": {
551
+ "type": "string",
552
+ "minLength": 2,
553
+ "maxLength": 64
554
+ },
555
+ "action": {
556
+ "enum": [
557
+ "display",
558
+ "email"
559
+ ]
560
+ },
561
+ "description": {
562
+ "type": "string",
563
+ "maxLength": 4096
564
+ },
565
+ "recipients": {
566
+ "type": "array",
567
+ "minItems": 1,
568
+ "maxItems": 100,
569
+ "items": {
570
+ "type": "string",
571
+ "format": "email"
572
+ }
573
+ }
574
+ }
575
+ }
576
+ },
577
+ "attachments": {
578
+ "type": "array",
579
+ "maxItems": 100,
580
+ "items": {
581
+ "type": "object",
582
+ "additionalProperties": false,
583
+ "properties": {
584
+ "url": {
585
+ "type": "string",
586
+ "format": "uri",
587
+ "maxLength": 4096
588
+ },
589
+ "data": {
590
+ "type": "string",
591
+ "maxLength": 1048576
592
+ },
593
+ "mediaType": {
594
+ "type": "string",
595
+ "maxLength": 255
596
+ },
597
+ "filename": {
598
+ "type": "string",
599
+ "maxLength": 1024
600
+ }
601
+ },
602
+ "oneOf": [
603
+ {
604
+ "required": [
605
+ "url"
606
+ ]
607
+ },
608
+ {
609
+ "required": [
610
+ "data"
611
+ ]
612
+ }
613
+ ]
614
+ }
615
+ },
616
+ "updateSupported": {
617
+ "type": "boolean"
618
+ },
619
+ "type": {
620
+ "enum": [
621
+ "task"
622
+ ]
623
+ },
624
+ "startTime": {
625
+ "type": "string",
626
+ "minLength": 10,
627
+ "maxLength": 64
628
+ },
629
+ "due": {
630
+ "type": "string",
631
+ "minLength": 10,
632
+ "maxLength": 64
633
+ },
634
+ "allDay": {
635
+ "type": "boolean",
636
+ "default": false
637
+ },
638
+ "status": {
639
+ "enum": [
640
+ "needs-action",
641
+ "in-process",
642
+ "completed",
643
+ "cancelled"
644
+ ]
645
+ },
646
+ "completedTime": {
647
+ "type": "string",
648
+ "format": "date-time"
649
+ },
650
+ "percentComplete": {
651
+ "type": "integer",
652
+ "minimum": 0,
653
+ "maximum": 100
654
+ }
655
+ },
656
+ "allOf": [
657
+ {
658
+ "if": {
659
+ "properties": {
660
+ "status": {
661
+ "const": "completed"
662
+ }
663
+ },
664
+ "required": [
665
+ "status"
666
+ ]
667
+ },
668
+ "then": {
669
+ "required": [
670
+ "completedTime"
671
+ ]
672
+ }
673
+ },
674
+ {
675
+ "if": {
676
+ "required": [
677
+ "completedTime"
678
+ ]
679
+ },
680
+ "then": {
681
+ "properties": {
682
+ "status": {
683
+ "const": "completed"
684
+ }
685
+ },
686
+ "required": [
687
+ "status"
688
+ ]
689
+ }
690
+ }
691
+ ]
692
+ },
693
+ {
694
+ "type": "object",
695
+ "required": [
696
+ "id",
697
+ "type",
698
+ "etag"
699
+ ],
700
+ "additionalProperties": false,
701
+ "properties": {
702
+ "id": {
703
+ "type": "string",
704
+ "format": "uri",
705
+ "maxLength": 4096
706
+ },
707
+ "type": {
708
+ "enum": [
709
+ "event",
710
+ "task"
711
+ ]
712
+ },
713
+ "etag": {
714
+ "type": "string",
715
+ "minLength": 1,
716
+ "maxLength": 1024
717
+ }
718
+ }
719
+ },
720
+ {
721
+ "type": "object",
722
+ "additionalProperties": false,
723
+ "properties": {
724
+ "type": {
725
+ "enum": [
726
+ "event",
727
+ "task"
728
+ ]
729
+ },
730
+ "startTime": {
731
+ "type": "string",
732
+ "format": "date-time"
733
+ },
734
+ "endTime": {
735
+ "type": "string",
736
+ "format": "date-time"
737
+ }
738
+ }
739
+ }
740
+ ]
741
+ }
742
+ }
743
+ }