mailschema 0.1.2 → 0.1.3

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,874 +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": {
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": {
7
69
  "type": "object",
8
70
  "additionalProperties": false,
9
71
  "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
- "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
- }
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
+ }
237
89
  },
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
- ]
90
+ "required": ["id", "name", "description"]
91
+ },
92
+ "minItems": 1,
93
+ "maxItems": 100
278
94
  },
279
- "record": {
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": {
280
152
  "type": "object",
281
153
  "additionalProperties": false,
282
154
  "properties": {
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
- }
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"
564
228
  },
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
- ]
229
+ "href": {
230
+ "type": "string",
231
+ "pattern": "^/specification/(?:[a-z0-9-]+/)*$",
232
+ "maxLength": 300
233
+ }
234
+ },
235
+ "required": ["label", "href"]
608
236
  }
609
- },
610
- "oneOf": [
237
+ },
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": [
611
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
+ ]
278
+ },
279
+ "record": {
280
+ "type": "object",
281
+ "additionalProperties": false,
282
+ "properties": {
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": {
612
342
  "type": "object",
613
343
  "additionalProperties": false,
614
344
  "properties": {
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
- }
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
+ }
660
362
  },
661
- "required": ["format", "id", "contributor", "summary", "kind", "record"]
363
+ "required": ["id", "name", "description"]
364
+ },
365
+ "minItems": 1,
366
+ "maxItems": 100
662
367
  },
663
- {
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": {
664
425
  "type": "object",
665
426
  "additionalProperties": false,
666
427
  "properties": {
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
- }
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
+ }
716
446
  },
717
- "required": ["format", "id", "contributor", "summary", "kind", "baseDigest", "record"]
447
+ "required": ["title", "href", "description"]
448
+ },
449
+ "minItems": 1,
450
+ "maxItems": 100
718
451
  },
719
- {
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": {
720
466
  "type": "object",
721
467
  "additionalProperties": false,
722
468
  "properties": {
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
- }
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
+ }
564
+ },
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
+ ]
608
+ }
609
+ },
610
+ "oneOf": [
611
+ {
612
+ "type": "object",
613
+ "additionalProperties": false,
614
+ "properties": {
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
+ }
660
+ },
661
+ "required": ["format", "id", "contributor", "summary", "kind", "record"]
662
+ },
663
+ {
664
+ "type": "object",
665
+ "additionalProperties": false,
666
+ "properties": {
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
+ }
716
+ },
717
+ "required": ["format", "id", "contributor", "summary", "kind", "baseDigest", "record"]
718
+ },
719
+ {
720
+ "type": "object",
721
+ "additionalProperties": false,
722
+ "properties": {
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"
857
832
  },
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
- ]
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
+ ]
872
856
  }
873
- ]
857
+ },
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
+ ]
872
+ }
873
+ ]
874
874
  }