mailschema 0.1.0 → 0.1.2

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,860 +1,874 @@
1
1
  {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "title": "MailSchema contribution format",
4
- "description": "Repository contribution data. This is not a MAP message or wire representation.",
5
- "$defs": {
6
- "definition": {
7
- "type": "object",
8
- "additionalProperties": false,
9
- "properties": {
10
- "slug": {
11
- "type": "string",
12
- "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
13
- "maxLength": 100
14
- },
15
- "name": {
16
- "type": "string",
17
- "minLength": 1,
18
- "maxLength": 240,
19
- "pattern": "\\S"
20
- },
21
- "summary": {
22
- "type": "string",
23
- "minLength": 1,
24
- "maxLength": 500,
25
- "pattern": "\\S"
26
- },
27
- "category": {
28
- "type": "string",
29
- "minLength": 1,
30
- "maxLength": 240,
31
- "pattern": "\\S"
32
- },
33
- "status": {
34
- "enum": ["Draft", "Proposal", "Reuse assessment"]
35
- },
36
- "version": {
37
- "anyOf": [
38
- {
39
- "type": "string",
40
- "pattern": "^[0-9]+\\.[0-9]+(?:\\.[0-9]+)?(?:-[a-zA-Z0-9.-]+)?$",
41
- "maxLength": 80
42
- },
43
- {
44
- "type": "null"
45
- }
46
- ]
47
- },
48
- "profile": {
49
- "type": "string",
50
- "minLength": 1,
51
- "maxLength": 240,
52
- "pattern": "\\S"
53
- },
54
- "overview": {
55
- "type": "string",
56
- "minLength": 1,
57
- "maxLength": 12000,
58
- "pattern": "\\S"
59
- },
60
- "target": {
61
- "type": "string",
62
- "minLength": 1,
63
- "maxLength": 12000,
64
- "pattern": "\\S"
65
- },
66
- "operations": {
67
- "type": "array",
68
- "items": {
69
- "type": "object",
70
- "additionalProperties": false,
71
- "properties": {
72
- "name": {
73
- "type": "string",
74
- "minLength": 1,
75
- "maxLength": 240,
76
- "pattern": "\\S"
77
- },
78
- "description": {
79
- "type": "string",
80
- "minLength": 1,
81
- "maxLength": 12000,
82
- "pattern": "\\S"
83
- }
84
- },
85
- "required": ["name", "description"]
86
- },
87
- "minItems": 1,
88
- "maxItems": 100
89
- },
90
- "inputs": {
91
- "type": "string",
92
- "minLength": 1,
93
- "maxLength": 12000,
94
- "pattern": "\\S"
95
- },
96
- "results": {
97
- "type": "string",
98
- "minLength": 1,
99
- "maxLength": 12000,
100
- "pattern": "\\S"
101
- },
102
- "permissions": {
103
- "type": "string",
104
- "minLength": 1,
105
- "maxLength": 12000,
106
- "pattern": "\\S"
107
- },
108
- "humanRoute": {
109
- "type": "string",
110
- "minLength": 1,
111
- "maxLength": 12000,
112
- "pattern": "\\S"
113
- },
114
- "example": {
115
- "type": "object",
116
- "additionalProperties": false,
117
- "properties": {
118
- "title": {
119
- "type": "string",
120
- "minLength": 1,
121
- "maxLength": 240,
122
- "pattern": "\\S"
123
- },
124
- "steps": {
125
- "type": "array",
126
- "items": {
127
- "type": "string",
128
- "minLength": 1,
129
- "maxLength": 12000,
130
- "pattern": "\\S"
131
- },
132
- "minItems": 1,
133
- "maxItems": 100
134
- },
135
- "exception": {
136
- "type": "string",
137
- "minLength": 1,
138
- "maxLength": 12000,
139
- "pattern": "\\S"
140
- }
141
- },
142
- "required": ["title", "steps", "exception"]
143
- },
144
- "references": {
145
- "type": "array",
146
- "items": {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "MailSchema contribution format",
4
+ "description": "Repository contribution data. This is not a MAP message or wire representation.",
5
+ "$defs": {
6
+ "definition": {
147
7
  "type": "object",
148
8
  "additionalProperties": false,
149
9
  "properties": {
150
- "title": {
151
- "type": "string",
152
- "minLength": 1,
153
- "maxLength": 240,
154
- "pattern": "\\S"
155
- },
156
- "href": {
157
- "type": "string",
158
- "format": "uri",
159
- "pattern": "^https://",
160
- "maxLength": 2048
161
- },
162
- "description": {
163
- "type": "string",
164
- "minLength": 1,
165
- "maxLength": 12000,
166
- "pattern": "\\S"
167
- }
10
+ "slug": {
11
+ "type": "string",
12
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
13
+ "maxLength": 100
14
+ },
15
+ "name": {
16
+ "type": "string",
17
+ "minLength": 1,
18
+ "maxLength": 240,
19
+ "pattern": "\\S"
20
+ },
21
+ "summary": {
22
+ "type": "string",
23
+ "minLength": 1,
24
+ "maxLength": 500,
25
+ "pattern": "\\S"
26
+ },
27
+ "category": {
28
+ "type": "string",
29
+ "minLength": 1,
30
+ "maxLength": 240,
31
+ "pattern": "\\S"
32
+ },
33
+ "status": {
34
+ "enum": ["Draft", "Proposal", "Reuse assessment"]
35
+ },
36
+ "version": {
37
+ "anyOf": [
38
+ {
39
+ "type": "string",
40
+ "pattern": "^[0-9]+\\.[0-9]+(?:\\.[0-9]+)?(?:-[a-zA-Z0-9.-]+)?$",
41
+ "maxLength": 80
42
+ },
43
+ {
44
+ "type": "null"
45
+ }
46
+ ]
47
+ },
48
+ "profile": {
49
+ "type": "string",
50
+ "minLength": 1,
51
+ "maxLength": 240,
52
+ "pattern": "\\S"
53
+ },
54
+ "overview": {
55
+ "type": "string",
56
+ "minLength": 1,
57
+ "maxLength": 12000,
58
+ "pattern": "\\S"
59
+ },
60
+ "target": {
61
+ "type": "string",
62
+ "minLength": 1,
63
+ "maxLength": 12000,
64
+ "pattern": "\\S"
65
+ },
66
+ "operations": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "properties": {
72
+ "id": {
73
+ "type": "string",
74
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
75
+ "maxLength": 100
76
+ },
77
+ "name": {
78
+ "type": "string",
79
+ "minLength": 1,
80
+ "maxLength": 240,
81
+ "pattern": "\\S"
82
+ },
83
+ "description": {
84
+ "type": "string",
85
+ "minLength": 1,
86
+ "maxLength": 12000,
87
+ "pattern": "\\S"
88
+ }
89
+ },
90
+ "required": ["id", "name", "description"]
91
+ },
92
+ "minItems": 1,
93
+ "maxItems": 100
94
+ },
95
+ "inputs": {
96
+ "type": "string",
97
+ "minLength": 1,
98
+ "maxLength": 12000,
99
+ "pattern": "\\S"
100
+ },
101
+ "results": {
102
+ "type": "string",
103
+ "minLength": 1,
104
+ "maxLength": 12000,
105
+ "pattern": "\\S"
106
+ },
107
+ "permissions": {
108
+ "type": "string",
109
+ "minLength": 1,
110
+ "maxLength": 12000,
111
+ "pattern": "\\S"
112
+ },
113
+ "humanRoute": {
114
+ "type": "string",
115
+ "minLength": 1,
116
+ "maxLength": 12000,
117
+ "pattern": "\\S"
118
+ },
119
+ "example": {
120
+ "type": "object",
121
+ "additionalProperties": false,
122
+ "properties": {
123
+ "title": {
124
+ "type": "string",
125
+ "minLength": 1,
126
+ "maxLength": 240,
127
+ "pattern": "\\S"
128
+ },
129
+ "steps": {
130
+ "type": "array",
131
+ "items": {
132
+ "type": "string",
133
+ "minLength": 1,
134
+ "maxLength": 12000,
135
+ "pattern": "\\S"
136
+ },
137
+ "minItems": 1,
138
+ "maxItems": 100
139
+ },
140
+ "exception": {
141
+ "type": "string",
142
+ "minLength": 1,
143
+ "maxLength": 12000,
144
+ "pattern": "\\S"
145
+ }
146
+ },
147
+ "required": ["title", "steps", "exception"]
148
+ },
149
+ "references": {
150
+ "type": "array",
151
+ "items": {
152
+ "type": "object",
153
+ "additionalProperties": false,
154
+ "properties": {
155
+ "title": {
156
+ "type": "string",
157
+ "minLength": 1,
158
+ "maxLength": 240,
159
+ "pattern": "\\S"
160
+ },
161
+ "href": {
162
+ "type": "string",
163
+ "format": "uri",
164
+ "pattern": "^https://",
165
+ "maxLength": 2048
166
+ },
167
+ "description": {
168
+ "type": "string",
169
+ "minLength": 1,
170
+ "maxLength": 12000,
171
+ "pattern": "\\S"
172
+ }
173
+ },
174
+ "required": ["title", "href", "description"]
175
+ },
176
+ "minItems": 1,
177
+ "maxItems": 100
178
+ },
179
+ "openQuestions": {
180
+ "type": "array",
181
+ "items": {
182
+ "type": "string",
183
+ "minLength": 1,
184
+ "maxLength": 12000,
185
+ "pattern": "\\S"
186
+ },
187
+ "minItems": 0,
188
+ "maxItems": 100
189
+ },
190
+ "maintainers": {
191
+ "type": "array",
192
+ "items": {
193
+ "type": "object",
194
+ "additionalProperties": false,
195
+ "properties": {
196
+ "id": {
197
+ "type": "string",
198
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
199
+ "maxLength": 100
200
+ },
201
+ "name": {
202
+ "type": "string",
203
+ "minLength": 1,
204
+ "maxLength": 240,
205
+ "pattern": "\\S"
206
+ },
207
+ "url": {
208
+ "type": "string",
209
+ "format": "uri",
210
+ "pattern": "^https://",
211
+ "maxLength": 2048
212
+ }
213
+ },
214
+ "required": ["name"]
215
+ },
216
+ "minItems": 1,
217
+ "maxItems": 100
218
+ },
219
+ "definition": {
220
+ "type": "object",
221
+ "additionalProperties": false,
222
+ "properties": {
223
+ "label": {
224
+ "type": "string",
225
+ "minLength": 1,
226
+ "maxLength": 240,
227
+ "pattern": "\\S"
228
+ },
229
+ "href": {
230
+ "type": "string",
231
+ "pattern": "^/specification/(?:[a-z0-9-]+/)*$",
232
+ "maxLength": 300
233
+ }
234
+ },
235
+ "required": ["label", "href"]
236
+ }
168
237
  },
169
- "required": ["title", "href", "description"]
170
- },
171
- "minItems": 1,
172
- "maxItems": 100
173
- },
174
- "openQuestions": {
175
- "type": "array",
176
- "items": {
177
- "type": "string",
178
- "minLength": 1,
179
- "maxLength": 12000,
180
- "pattern": "\\S"
181
- },
182
- "minItems": 0,
183
- "maxItems": 100
238
+ "required": [
239
+ "slug",
240
+ "name",
241
+ "summary",
242
+ "category",
243
+ "status",
244
+ "version",
245
+ "profile",
246
+ "overview",
247
+ "target",
248
+ "operations",
249
+ "inputs",
250
+ "results",
251
+ "permissions",
252
+ "humanRoute",
253
+ "example",
254
+ "references",
255
+ "openQuestions",
256
+ "maintainers"
257
+ ],
258
+ "allOf": [
259
+ {
260
+ "if": {
261
+ "properties": {
262
+ "status": {
263
+ "const": "Draft"
264
+ }
265
+ },
266
+ "required": ["status"]
267
+ },
268
+ "then": {
269
+ "required": ["definition"],
270
+ "properties": {
271
+ "version": {
272
+ "type": "string"
273
+ }
274
+ }
275
+ }
276
+ }
277
+ ]
184
278
  },
185
- "maintainers": {
186
- "type": "array",
187
- "items": {
279
+ "record": {
188
280
  "type": "object",
189
281
  "additionalProperties": false,
190
282
  "properties": {
191
- "name": {
192
- "type": "string",
193
- "minLength": 1,
194
- "maxLength": 240,
195
- "pattern": "\\S"
196
- },
197
- "url": {
198
- "type": "string",
199
- "format": "uri",
200
- "pattern": "^https://",
201
- "maxLength": 2048
202
- }
203
- },
204
- "required": ["name"]
205
- },
206
- "minItems": 1,
207
- "maxItems": 100
208
- },
209
- "definition": {
210
- "type": "object",
211
- "additionalProperties": false,
212
- "properties": {
213
- "label": {
214
- "type": "string",
215
- "minLength": 1,
216
- "maxLength": 240,
217
- "pattern": "\\S"
218
- },
219
- "href": {
220
- "type": "string",
221
- "pattern": "^/specification/(?:[a-z0-9-]+/)*$",
222
- "maxLength": 300
223
- }
224
- },
225
- "required": ["label", "href"]
226
- }
227
- },
228
- "required": [
229
- "slug",
230
- "name",
231
- "summary",
232
- "category",
233
- "status",
234
- "version",
235
- "profile",
236
- "overview",
237
- "target",
238
- "operations",
239
- "inputs",
240
- "results",
241
- "permissions",
242
- "humanRoute",
243
- "example",
244
- "references",
245
- "openQuestions",
246
- "maintainers"
247
- ],
248
- "allOf": [
249
- {
250
- "if": {
251
- "properties": {
252
- "status": {
253
- "const": "Draft"
254
- }
283
+ "slug": {
284
+ "type": "string",
285
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
286
+ "maxLength": 100
287
+ },
288
+ "name": {
289
+ "type": "string",
290
+ "minLength": 1,
291
+ "maxLength": 240,
292
+ "pattern": "\\S"
293
+ },
294
+ "summary": {
295
+ "type": "string",
296
+ "minLength": 1,
297
+ "maxLength": 500,
298
+ "pattern": "\\S"
299
+ },
300
+ "category": {
301
+ "type": "string",
302
+ "minLength": 1,
303
+ "maxLength": 240,
304
+ "pattern": "\\S"
305
+ },
306
+ "status": {
307
+ "enum": ["Draft", "Proposal", "Reuse assessment"]
308
+ },
309
+ "version": {
310
+ "anyOf": [
311
+ {
312
+ "type": "string",
313
+ "pattern": "^[0-9]+\\.[0-9]+(?:\\.[0-9]+)?(?:-[a-zA-Z0-9.-]+)?$",
314
+ "maxLength": 80
315
+ },
316
+ {
317
+ "type": "null"
318
+ }
319
+ ]
320
+ },
321
+ "profile": {
322
+ "type": "string",
323
+ "minLength": 1,
324
+ "maxLength": 240,
325
+ "pattern": "\\S"
326
+ },
327
+ "overview": {
328
+ "type": "string",
329
+ "minLength": 1,
330
+ "maxLength": 12000,
331
+ "pattern": "\\S"
332
+ },
333
+ "target": {
334
+ "type": "string",
335
+ "minLength": 1,
336
+ "maxLength": 12000,
337
+ "pattern": "\\S"
338
+ },
339
+ "operations": {
340
+ "type": "array",
341
+ "items": {
342
+ "type": "object",
343
+ "additionalProperties": false,
344
+ "properties": {
345
+ "id": {
346
+ "type": "string",
347
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
348
+ "maxLength": 100
349
+ },
350
+ "name": {
351
+ "type": "string",
352
+ "minLength": 1,
353
+ "maxLength": 240,
354
+ "pattern": "\\S"
355
+ },
356
+ "description": {
357
+ "type": "string",
358
+ "minLength": 1,
359
+ "maxLength": 12000,
360
+ "pattern": "\\S"
361
+ }
362
+ },
363
+ "required": ["id", "name", "description"]
364
+ },
365
+ "minItems": 1,
366
+ "maxItems": 100
367
+ },
368
+ "inputs": {
369
+ "type": "string",
370
+ "minLength": 1,
371
+ "maxLength": 12000,
372
+ "pattern": "\\S"
373
+ },
374
+ "results": {
375
+ "type": "string",
376
+ "minLength": 1,
377
+ "maxLength": 12000,
378
+ "pattern": "\\S"
379
+ },
380
+ "permissions": {
381
+ "type": "string",
382
+ "minLength": 1,
383
+ "maxLength": 12000,
384
+ "pattern": "\\S"
385
+ },
386
+ "humanRoute": {
387
+ "type": "string",
388
+ "minLength": 1,
389
+ "maxLength": 12000,
390
+ "pattern": "\\S"
391
+ },
392
+ "example": {
393
+ "type": "object",
394
+ "additionalProperties": false,
395
+ "properties": {
396
+ "title": {
397
+ "type": "string",
398
+ "minLength": 1,
399
+ "maxLength": 240,
400
+ "pattern": "\\S"
401
+ },
402
+ "steps": {
403
+ "type": "array",
404
+ "items": {
405
+ "type": "string",
406
+ "minLength": 1,
407
+ "maxLength": 12000,
408
+ "pattern": "\\S"
409
+ },
410
+ "minItems": 1,
411
+ "maxItems": 100
412
+ },
413
+ "exception": {
414
+ "type": "string",
415
+ "minLength": 1,
416
+ "maxLength": 12000,
417
+ "pattern": "\\S"
418
+ }
419
+ },
420
+ "required": ["title", "steps", "exception"]
421
+ },
422
+ "references": {
423
+ "type": "array",
424
+ "items": {
425
+ "type": "object",
426
+ "additionalProperties": false,
427
+ "properties": {
428
+ "title": {
429
+ "type": "string",
430
+ "minLength": 1,
431
+ "maxLength": 240,
432
+ "pattern": "\\S"
433
+ },
434
+ "href": {
435
+ "type": "string",
436
+ "format": "uri",
437
+ "pattern": "^https://",
438
+ "maxLength": 2048
439
+ },
440
+ "description": {
441
+ "type": "string",
442
+ "minLength": 1,
443
+ "maxLength": 12000,
444
+ "pattern": "\\S"
445
+ }
446
+ },
447
+ "required": ["title", "href", "description"]
448
+ },
449
+ "minItems": 1,
450
+ "maxItems": 100
451
+ },
452
+ "openQuestions": {
453
+ "type": "array",
454
+ "items": {
455
+ "type": "string",
456
+ "minLength": 1,
457
+ "maxLength": 12000,
458
+ "pattern": "\\S"
459
+ },
460
+ "minItems": 0,
461
+ "maxItems": 100
462
+ },
463
+ "maintainers": {
464
+ "type": "array",
465
+ "items": {
466
+ "type": "object",
467
+ "additionalProperties": false,
468
+ "properties": {
469
+ "name": {
470
+ "type": "string",
471
+ "minLength": 1,
472
+ "maxLength": 240,
473
+ "pattern": "\\S"
474
+ },
475
+ "url": {
476
+ "type": "string",
477
+ "format": "uri",
478
+ "pattern": "^https://",
479
+ "maxLength": 2048
480
+ }
481
+ },
482
+ "required": ["name"]
483
+ },
484
+ "minItems": 1,
485
+ "maxItems": 100
486
+ },
487
+ "definition": {
488
+ "type": "object",
489
+ "additionalProperties": false,
490
+ "properties": {
491
+ "label": {
492
+ "type": "string",
493
+ "minLength": 1,
494
+ "maxLength": 240,
495
+ "pattern": "\\S"
496
+ },
497
+ "href": {
498
+ "type": "string",
499
+ "pattern": "^/specification/(?:[a-z0-9-]+/)*$",
500
+ "maxLength": 300
501
+ }
502
+ },
503
+ "required": ["label", "href"]
504
+ },
505
+ "origin": {
506
+ "type": "string",
507
+ "minLength": 1,
508
+ "maxLength": 240,
509
+ "pattern": "\\S"
510
+ },
511
+ "contributors": {
512
+ "type": "array",
513
+ "items": {
514
+ "type": "object",
515
+ "additionalProperties": false,
516
+ "properties": {
517
+ "name": {
518
+ "type": "string",
519
+ "minLength": 1,
520
+ "maxLength": 240,
521
+ "pattern": "\\S"
522
+ },
523
+ "url": {
524
+ "type": "string",
525
+ "format": "uri",
526
+ "pattern": "^https://",
527
+ "maxLength": 2048
528
+ }
529
+ },
530
+ "required": ["name"]
531
+ },
532
+ "minItems": 1,
533
+ "maxItems": 100
534
+ },
535
+ "history": {
536
+ "type": "array",
537
+ "items": {
538
+ "type": "object",
539
+ "additionalProperties": false,
540
+ "properties": {
541
+ "label": {
542
+ "type": "string",
543
+ "minLength": 1,
544
+ "maxLength": 240,
545
+ "pattern": "\\S"
546
+ },
547
+ "description": {
548
+ "type": "string",
549
+ "minLength": 1,
550
+ "maxLength": 12000,
551
+ "pattern": "\\S"
552
+ },
553
+ "contributionId": {
554
+ "type": "string",
555
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
556
+ "maxLength": 100
557
+ }
558
+ },
559
+ "required": ["label", "description"]
560
+ },
561
+ "minItems": 1,
562
+ "maxItems": 100
563
+ }
255
564
  },
256
- "required": ["status"]
257
- },
258
- "then": {
259
- "required": ["definition"],
260
- "properties": {
261
- "version": {
262
- "type": "string"
263
- }
264
- }
265
- }
565
+ "required": [
566
+ "slug",
567
+ "name",
568
+ "summary",
569
+ "category",
570
+ "status",
571
+ "version",
572
+ "profile",
573
+ "overview",
574
+ "target",
575
+ "operations",
576
+ "inputs",
577
+ "results",
578
+ "permissions",
579
+ "humanRoute",
580
+ "example",
581
+ "references",
582
+ "openQuestions",
583
+ "maintainers",
584
+ "origin",
585
+ "contributors",
586
+ "history"
587
+ ],
588
+ "allOf": [
589
+ {
590
+ "if": {
591
+ "properties": {
592
+ "status": {
593
+ "const": "Draft"
594
+ }
595
+ },
596
+ "required": ["status"]
597
+ },
598
+ "then": {
599
+ "required": ["definition"],
600
+ "properties": {
601
+ "version": {
602
+ "type": "string"
603
+ }
604
+ }
605
+ }
606
+ }
607
+ ]
266
608
  }
267
- ]
268
609
  },
269
- "record": {
270
- "type": "object",
271
- "additionalProperties": false,
272
- "properties": {
273
- "slug": {
274
- "type": "string",
275
- "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
276
- "maxLength": 100
277
- },
278
- "name": {
279
- "type": "string",
280
- "minLength": 1,
281
- "maxLength": 240,
282
- "pattern": "\\S"
283
- },
284
- "summary": {
285
- "type": "string",
286
- "minLength": 1,
287
- "maxLength": 500,
288
- "pattern": "\\S"
289
- },
290
- "category": {
291
- "type": "string",
292
- "minLength": 1,
293
- "maxLength": 240,
294
- "pattern": "\\S"
295
- },
296
- "status": {
297
- "enum": ["Draft", "Proposal", "Reuse assessment"]
298
- },
299
- "version": {
300
- "anyOf": [
301
- {
302
- "type": "string",
303
- "pattern": "^[0-9]+\\.[0-9]+(?:\\.[0-9]+)?(?:-[a-zA-Z0-9.-]+)?$",
304
- "maxLength": 80
305
- },
306
- {
307
- "type": "null"
308
- }
309
- ]
310
- },
311
- "profile": {
312
- "type": "string",
313
- "minLength": 1,
314
- "maxLength": 240,
315
- "pattern": "\\S"
316
- },
317
- "overview": {
318
- "type": "string",
319
- "minLength": 1,
320
- "maxLength": 12000,
321
- "pattern": "\\S"
322
- },
323
- "target": {
324
- "type": "string",
325
- "minLength": 1,
326
- "maxLength": 12000,
327
- "pattern": "\\S"
328
- },
329
- "operations": {
330
- "type": "array",
331
- "items": {
332
- "type": "object",
333
- "additionalProperties": false,
334
- "properties": {
335
- "name": {
336
- "type": "string",
337
- "minLength": 1,
338
- "maxLength": 240,
339
- "pattern": "\\S"
340
- },
341
- "description": {
342
- "type": "string",
343
- "minLength": 1,
344
- "maxLength": 12000,
345
- "pattern": "\\S"
346
- }
347
- },
348
- "required": ["name", "description"]
349
- },
350
- "minItems": 1,
351
- "maxItems": 100
352
- },
353
- "inputs": {
354
- "type": "string",
355
- "minLength": 1,
356
- "maxLength": 12000,
357
- "pattern": "\\S"
358
- },
359
- "results": {
360
- "type": "string",
361
- "minLength": 1,
362
- "maxLength": 12000,
363
- "pattern": "\\S"
364
- },
365
- "permissions": {
366
- "type": "string",
367
- "minLength": 1,
368
- "maxLength": 12000,
369
- "pattern": "\\S"
370
- },
371
- "humanRoute": {
372
- "type": "string",
373
- "minLength": 1,
374
- "maxLength": 12000,
375
- "pattern": "\\S"
376
- },
377
- "example": {
378
- "type": "object",
379
- "additionalProperties": false,
380
- "properties": {
381
- "title": {
382
- "type": "string",
383
- "minLength": 1,
384
- "maxLength": 240,
385
- "pattern": "\\S"
386
- },
387
- "steps": {
388
- "type": "array",
389
- "items": {
390
- "type": "string",
391
- "minLength": 1,
392
- "maxLength": 12000,
393
- "pattern": "\\S"
394
- },
395
- "minItems": 1,
396
- "maxItems": 100
397
- },
398
- "exception": {
399
- "type": "string",
400
- "minLength": 1,
401
- "maxLength": 12000,
402
- "pattern": "\\S"
403
- }
404
- },
405
- "required": ["title", "steps", "exception"]
406
- },
407
- "references": {
408
- "type": "array",
409
- "items": {
410
- "type": "object",
411
- "additionalProperties": false,
412
- "properties": {
413
- "title": {
414
- "type": "string",
415
- "minLength": 1,
416
- "maxLength": 240,
417
- "pattern": "\\S"
418
- },
419
- "href": {
420
- "type": "string",
421
- "format": "uri",
422
- "pattern": "^https://",
423
- "maxLength": 2048
424
- },
425
- "description": {
426
- "type": "string",
427
- "minLength": 1,
428
- "maxLength": 12000,
429
- "pattern": "\\S"
430
- }
431
- },
432
- "required": ["title", "href", "description"]
433
- },
434
- "minItems": 1,
435
- "maxItems": 100
436
- },
437
- "openQuestions": {
438
- "type": "array",
439
- "items": {
440
- "type": "string",
441
- "minLength": 1,
442
- "maxLength": 12000,
443
- "pattern": "\\S"
444
- },
445
- "minItems": 0,
446
- "maxItems": 100
447
- },
448
- "maintainers": {
449
- "type": "array",
450
- "items": {
610
+ "oneOf": [
611
+ {
451
612
  "type": "object",
452
613
  "additionalProperties": false,
453
614
  "properties": {
454
- "name": {
455
- "type": "string",
456
- "minLength": 1,
457
- "maxLength": 240,
458
- "pattern": "\\S"
459
- },
460
- "url": {
461
- "type": "string",
462
- "format": "uri",
463
- "pattern": "^https://",
464
- "maxLength": 2048
465
- }
466
- },
467
- "required": ["name"]
468
- },
469
- "minItems": 1,
470
- "maxItems": 100
471
- },
472
- "definition": {
473
- "type": "object",
474
- "additionalProperties": false,
475
- "properties": {
476
- "label": {
477
- "type": "string",
478
- "minLength": 1,
479
- "maxLength": 240,
480
- "pattern": "\\S"
615
+ "format": {
616
+ "const": "mailschema-contribution/1"
617
+ },
618
+ "id": {
619
+ "type": "string",
620
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
621
+ "maxLength": 100
622
+ },
623
+ "contributor": {
624
+ "type": "object",
625
+ "additionalProperties": false,
626
+ "properties": {
627
+ "name": {
628
+ "type": "string",
629
+ "minLength": 1,
630
+ "maxLength": 240,
631
+ "pattern": "\\S"
632
+ },
633
+ "url": {
634
+ "type": "string",
635
+ "format": "uri",
636
+ "pattern": "^https://",
637
+ "maxLength": 2048
638
+ }
639
+ },
640
+ "required": ["name"]
641
+ },
642
+ "source": {
643
+ "type": "string",
644
+ "format": "uri",
645
+ "pattern": "^https://",
646
+ "maxLength": 2048
647
+ },
648
+ "summary": {
649
+ "type": "string",
650
+ "minLength": 1,
651
+ "maxLength": 12000,
652
+ "pattern": "\\S"
653
+ },
654
+ "kind": {
655
+ "const": "new-type"
656
+ },
657
+ "record": {
658
+ "$ref": "#/$defs/definition"
659
+ }
481
660
  },
482
- "href": {
483
- "type": "string",
484
- "pattern": "^/specification/(?:[a-z0-9-]+/)*$",
485
- "maxLength": 300
486
- }
487
- },
488
- "required": ["label", "href"]
661
+ "required": ["format", "id", "contributor", "summary", "kind", "record"]
489
662
  },
490
- "origin": {
491
- "type": "string",
492
- "minLength": 1,
493
- "maxLength": 240,
494
- "pattern": "\\S"
495
- },
496
- "contributors": {
497
- "type": "array",
498
- "items": {
663
+ {
499
664
  "type": "object",
500
665
  "additionalProperties": false,
501
666
  "properties": {
502
- "name": {
503
- "type": "string",
504
- "minLength": 1,
505
- "maxLength": 240,
506
- "pattern": "\\S"
507
- },
508
- "url": {
509
- "type": "string",
510
- "format": "uri",
511
- "pattern": "^https://",
512
- "maxLength": 2048
513
- }
667
+ "format": {
668
+ "const": "mailschema-contribution/1"
669
+ },
670
+ "id": {
671
+ "type": "string",
672
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
673
+ "maxLength": 100
674
+ },
675
+ "contributor": {
676
+ "type": "object",
677
+ "additionalProperties": false,
678
+ "properties": {
679
+ "name": {
680
+ "type": "string",
681
+ "minLength": 1,
682
+ "maxLength": 240,
683
+ "pattern": "\\S"
684
+ },
685
+ "url": {
686
+ "type": "string",
687
+ "format": "uri",
688
+ "pattern": "^https://",
689
+ "maxLength": 2048
690
+ }
691
+ },
692
+ "required": ["name"]
693
+ },
694
+ "source": {
695
+ "type": "string",
696
+ "format": "uri",
697
+ "pattern": "^https://",
698
+ "maxLength": 2048
699
+ },
700
+ "summary": {
701
+ "type": "string",
702
+ "minLength": 1,
703
+ "maxLength": 12000,
704
+ "pattern": "\\S"
705
+ },
706
+ "kind": {
707
+ "const": "amendment"
708
+ },
709
+ "baseDigest": {
710
+ "type": "string",
711
+ "pattern": "^[a-f0-9]{64}$"
712
+ },
713
+ "record": {
714
+ "$ref": "#/$defs/definition"
715
+ }
514
716
  },
515
- "required": ["name"]
516
- },
517
- "minItems": 1,
518
- "maxItems": 100
717
+ "required": ["format", "id", "contributor", "summary", "kind", "baseDigest", "record"]
519
718
  },
520
- "history": {
521
- "type": "array",
522
- "items": {
719
+ {
523
720
  "type": "object",
524
721
  "additionalProperties": false,
525
722
  "properties": {
526
- "label": {
527
- "type": "string",
528
- "minLength": 1,
529
- "maxLength": 240,
530
- "pattern": "\\S"
531
- },
532
- "description": {
533
- "type": "string",
534
- "minLength": 1,
535
- "maxLength": 12000,
536
- "pattern": "\\S"
537
- },
538
- "contributionId": {
539
- "type": "string",
540
- "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
541
- "maxLength": 100
542
- }
543
- },
544
- "required": ["label", "description"]
545
- },
546
- "minItems": 1,
547
- "maxItems": 100
548
- }
549
- },
550
- "required": [
551
- "slug",
552
- "name",
553
- "summary",
554
- "category",
555
- "status",
556
- "version",
557
- "profile",
558
- "overview",
559
- "target",
560
- "operations",
561
- "inputs",
562
- "results",
563
- "permissions",
564
- "humanRoute",
565
- "example",
566
- "references",
567
- "openQuestions",
568
- "maintainers",
569
- "origin",
570
- "contributors",
571
- "history"
572
- ],
573
- "allOf": [
574
- {
575
- "if": {
576
- "properties": {
577
- "status": {
578
- "const": "Draft"
579
- }
580
- },
581
- "required": ["status"]
582
- },
583
- "then": {
584
- "required": ["definition"],
585
- "properties": {
586
- "version": {
587
- "type": "string"
588
- }
589
- }
590
- }
591
- }
592
- ]
593
- }
594
- },
595
- "oneOf": [
596
- {
597
- "type": "object",
598
- "additionalProperties": false,
599
- "properties": {
600
- "format": {
601
- "const": "mailschema-contribution/1"
602
- },
603
- "id": {
604
- "type": "string",
605
- "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
606
- "maxLength": 100
607
- },
608
- "contributor": {
609
- "type": "object",
610
- "additionalProperties": false,
611
- "properties": {
612
- "name": {
613
- "type": "string",
614
- "minLength": 1,
615
- "maxLength": 240,
616
- "pattern": "\\S"
617
- },
618
- "url": {
619
- "type": "string",
620
- "format": "uri",
621
- "pattern": "^https://",
622
- "maxLength": 2048
623
- }
624
- },
625
- "required": ["name"]
626
- },
627
- "source": {
628
- "type": "string",
629
- "format": "uri",
630
- "pattern": "^https://",
631
- "maxLength": 2048
632
- },
633
- "summary": {
634
- "type": "string",
635
- "minLength": 1,
636
- "maxLength": 12000,
637
- "pattern": "\\S"
638
- },
639
- "kind": {
640
- "const": "new-type"
641
- },
642
- "record": {
643
- "$ref": "#/$defs/definition"
644
- }
645
- },
646
- "required": ["format", "id", "contributor", "summary", "kind", "record"]
647
- },
648
- {
649
- "type": "object",
650
- "additionalProperties": false,
651
- "properties": {
652
- "format": {
653
- "const": "mailschema-contribution/1"
654
- },
655
- "id": {
656
- "type": "string",
657
- "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
658
- "maxLength": 100
659
- },
660
- "contributor": {
661
- "type": "object",
662
- "additionalProperties": false,
663
- "properties": {
664
- "name": {
665
- "type": "string",
666
- "minLength": 1,
667
- "maxLength": 240,
668
- "pattern": "\\S"
669
- },
670
- "url": {
671
- "type": "string",
672
- "format": "uri",
673
- "pattern": "^https://",
674
- "maxLength": 2048
675
- }
676
- },
677
- "required": ["name"]
678
- },
679
- "source": {
680
- "type": "string",
681
- "format": "uri",
682
- "pattern": "^https://",
683
- "maxLength": 2048
684
- },
685
- "summary": {
686
- "type": "string",
687
- "minLength": 1,
688
- "maxLength": 12000,
689
- "pattern": "\\S"
690
- },
691
- "kind": {
692
- "const": "amendment"
693
- },
694
- "baseDigest": {
695
- "type": "string",
696
- "pattern": "^[a-f0-9]{64}$"
697
- },
698
- "record": {
699
- "$ref": "#/$defs/definition"
700
- }
701
- },
702
- "required": ["format", "id", "contributor", "summary", "kind", "baseDigest", "record"]
703
- },
704
- {
705
- "type": "object",
706
- "additionalProperties": false,
707
- "properties": {
708
- "format": {
709
- "const": "mailschema-contribution/1"
710
- },
711
- "id": {
712
- "type": "string",
713
- "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
714
- "maxLength": 100
715
- },
716
- "contributor": {
717
- "type": "object",
718
- "additionalProperties": false,
719
- "properties": {
720
- "name": {
721
- "type": "string",
722
- "minLength": 1,
723
- "maxLength": 240,
724
- "pattern": "\\S"
725
- },
726
- "url": {
727
- "type": "string",
728
- "format": "uri",
729
- "pattern": "^https://",
730
- "maxLength": 2048
731
- }
732
- },
733
- "required": ["name"]
734
- },
735
- "source": {
736
- "type": "string",
737
- "format": "uri",
738
- "pattern": "^https://",
739
- "maxLength": 2048
740
- },
741
- "summary": {
742
- "type": "string",
743
- "minLength": 1,
744
- "maxLength": 12000,
745
- "pattern": "\\S"
746
- },
747
- "kind": {
748
- "const": "implementation"
749
- },
750
- "type": {
751
- "type": "string",
752
- "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
753
- "maxLength": 100
754
- },
755
- "typeVersion": {
756
- "type": "string",
757
- "pattern": "^[0-9]+\\.[0-9]+(?:\\.[0-9]+)?(?:-[a-zA-Z0-9.-]+)?$",
758
- "maxLength": 80
759
- },
760
- "typeDigest": {
761
- "type": "string",
762
- "pattern": "^[a-f0-9]{64}$"
763
- },
764
- "profile": {
765
- "type": "string",
766
- "minLength": 1,
767
- "maxLength": 240,
768
- "pattern": "\\S"
769
- },
770
- "product": {
771
- "type": "object",
772
- "additionalProperties": false,
773
- "properties": {
774
- "name": {
775
- "type": "string",
776
- "minLength": 1,
777
- "maxLength": 240,
778
- "pattern": "\\S"
779
- },
780
- "url": {
781
- "type": "string",
782
- "format": "uri",
783
- "pattern": "^https://",
784
- "maxLength": 2048
785
- }
786
- },
787
- "required": ["name"]
788
- },
789
- "operations": {
790
- "type": "array",
791
- "items": {
792
- "type": "string",
793
- "minLength": 1,
794
- "maxLength": 240,
795
- "pattern": "\\S"
796
- },
797
- "minItems": 1,
798
- "maxItems": 100
799
- },
800
- "evidence": {
801
- "type": "object",
802
- "additionalProperties": false,
803
- "properties": {
804
- "kind": {
805
- "enum": ["declaration", "test-report"]
806
- },
807
- "url": {
808
- "type": "string",
809
- "format": "uri",
810
- "pattern": "^https://",
811
- "maxLength": 2048
812
- },
813
- "reproduction": {
814
- "type": "string",
815
- "minLength": 1,
816
- "maxLength": 12000,
817
- "pattern": "\\S"
723
+ "format": {
724
+ "const": "mailschema-contribution/1"
725
+ },
726
+ "id": {
727
+ "type": "string",
728
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
729
+ "maxLength": 100
730
+ },
731
+ "contributor": {
732
+ "type": "object",
733
+ "additionalProperties": false,
734
+ "properties": {
735
+ "name": {
736
+ "type": "string",
737
+ "minLength": 1,
738
+ "maxLength": 240,
739
+ "pattern": "\\S"
740
+ },
741
+ "url": {
742
+ "type": "string",
743
+ "format": "uri",
744
+ "pattern": "^https://",
745
+ "maxLength": 2048
746
+ }
747
+ },
748
+ "required": ["name"]
749
+ },
750
+ "source": {
751
+ "type": "string",
752
+ "format": "uri",
753
+ "pattern": "^https://",
754
+ "maxLength": 2048
755
+ },
756
+ "summary": {
757
+ "type": "string",
758
+ "minLength": 1,
759
+ "maxLength": 12000,
760
+ "pattern": "\\S"
761
+ },
762
+ "kind": {
763
+ "const": "implementation"
764
+ },
765
+ "type": {
766
+ "type": "string",
767
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
768
+ "maxLength": 100
769
+ },
770
+ "typeVersion": {
771
+ "type": "string",
772
+ "pattern": "^[0-9]+\\.[0-9]+(?:\\.[0-9]+)?(?:-[a-zA-Z0-9.-]+)?$",
773
+ "maxLength": 80
774
+ },
775
+ "typeDigest": {
776
+ "type": "string",
777
+ "pattern": "^[a-f0-9]{64}$"
778
+ },
779
+ "profile": {
780
+ "type": "string",
781
+ "minLength": 1,
782
+ "maxLength": 240,
783
+ "pattern": "\\S"
784
+ },
785
+ "product": {
786
+ "type": "object",
787
+ "additionalProperties": false,
788
+ "properties": {
789
+ "name": {
790
+ "type": "string",
791
+ "minLength": 1,
792
+ "maxLength": 240,
793
+ "pattern": "\\S"
794
+ },
795
+ "url": {
796
+ "type": "string",
797
+ "format": "uri",
798
+ "pattern": "^https://",
799
+ "maxLength": 2048
800
+ }
801
+ },
802
+ "required": ["name"]
803
+ },
804
+ "operations": {
805
+ "type": "array",
806
+ "items": {
807
+ "type": "string",
808
+ "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
809
+ "maxLength": 100
810
+ },
811
+ "minItems": 1,
812
+ "maxItems": 100
813
+ },
814
+ "evidence": {
815
+ "type": "object",
816
+ "additionalProperties": false,
817
+ "properties": {
818
+ "kind": {
819
+ "enum": ["declaration", "test-report"]
820
+ },
821
+ "url": {
822
+ "type": "string",
823
+ "format": "uri",
824
+ "pattern": "^https://",
825
+ "maxLength": 2048
826
+ },
827
+ "reproduction": {
828
+ "type": "string",
829
+ "minLength": 1,
830
+ "maxLength": 12000,
831
+ "pattern": "\\S"
832
+ },
833
+ "results": {
834
+ "type": "string",
835
+ "minLength": 1,
836
+ "maxLength": 12000,
837
+ "pattern": "\\S"
838
+ }
839
+ },
840
+ "required": ["kind"],
841
+ "allOf": [
842
+ {
843
+ "if": {
844
+ "properties": {
845
+ "kind": {
846
+ "const": "test-report"
847
+ }
848
+ },
849
+ "required": ["kind"]
850
+ },
851
+ "then": {
852
+ "required": ["url", "reproduction", "results"]
853
+ }
854
+ }
855
+ ]
856
+ }
818
857
  },
819
- "results": {
820
- "type": "string",
821
- "minLength": 1,
822
- "maxLength": 12000,
823
- "pattern": "\\S"
824
- }
825
- },
826
- "required": ["kind"],
827
- "allOf": [
828
- {
829
- "if": {
830
- "properties": {
831
- "kind": {
832
- "const": "test-report"
833
- }
834
- },
835
- "required": ["kind"]
836
- },
837
- "then": {
838
- "required": ["url", "reproduction", "results"]
839
- }
840
- }
841
- ]
858
+ "required": [
859
+ "format",
860
+ "id",
861
+ "contributor",
862
+ "summary",
863
+ "kind",
864
+ "type",
865
+ "typeVersion",
866
+ "typeDigest",
867
+ "profile",
868
+ "product",
869
+ "operations",
870
+ "evidence"
871
+ ]
842
872
  }
843
- },
844
- "required": [
845
- "format",
846
- "id",
847
- "contributor",
848
- "summary",
849
- "kind",
850
- "type",
851
- "typeVersion",
852
- "typeDigest",
853
- "profile",
854
- "product",
855
- "operations",
856
- "evidence"
857
- ]
858
- }
859
- ]
873
+ ]
860
874
  }