optolith-database-schema 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/lib/config.d.ts +2 -0
  3. package/lib/config.js +2 -0
  4. package/lib/main.d.ts +1 -1
  5. package/lib/main.js +28 -19
  6. package/lib/types/Cantrip.d.ts +2 -3
  7. package/lib/types/Culture.d.ts +8 -11
  8. package/lib/types/Lessons_Curriculum.d.ts +5 -4
  9. package/lib/types/Lessons_Guideline.d.ts +1 -1
  10. package/lib/types/Patron.d.ts +28 -4
  11. package/lib/types/Profession.d.ts +7 -6
  12. package/lib/types/Race.d.ts +12 -14
  13. package/lib/types/TargetCategory.d.ts +2 -3
  14. package/lib/types/_Activatable.d.ts +22 -26
  15. package/lib/types/_ActivatableSelectOptionCategory.d.ts +1 -1
  16. package/lib/types/_ActivatableSkillCost.d.ts +28 -1
  17. package/lib/types/_ActivatableSkillDuration.d.ts +1 -1
  18. package/lib/types/_ActivatableSkillRange.d.ts +3 -0
  19. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +2 -4
  20. package/lib/types/_DiseasePoison.d.ts +3 -3
  21. package/lib/types/_Identifier.d.ts +1175 -247
  22. package/lib/types/_Identifier.js +0 -228
  23. package/lib/types/_IdentifierGroup.d.ts +27 -0
  24. package/lib/types/_IdentifierGroup.js +1 -0
  25. package/lib/types/_Prerequisite.d.ts +38 -36
  26. package/lib/types/_ResponsiveText.d.ts +1 -1
  27. package/lib/types/_SimpleReferences.d.ts +50 -253
  28. package/lib/types/equipment/EquipmentPackage.d.ts +1 -1
  29. package/lib/types/equipment/item/Elixir.d.ts +75 -0
  30. package/lib/types/equipment/item/Elixir.js +5 -0
  31. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +1 -1
  32. package/lib/types/equipment/item/Poison.d.ts +220 -47
  33. package/lib/types/equipment/item/Poison.js +10 -0
  34. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +6 -2
  35. package/lib/types/equipment/item/_Herbary.d.ts +31 -0
  36. package/lib/types/equipment/item/_Herbary.js +22 -0
  37. package/lib/types/equipment/item/_MeleeWeapon.d.ts +2 -9
  38. package/lib/types/equipment/item/_RangedWeapon.d.ts +2 -3
  39. package/lib/types/magicalActions/AnimistPower.d.ts +0 -1
  40. package/lib/types/magicalActions/MagicalRune.d.ts +22 -3
  41. package/lib/types/magicalActions/_SkillReference.d.ts +3 -2
  42. package/lib/types/magicalActions/_SkillReference.js +5 -5
  43. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +2 -20
  44. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +1 -62
  45. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +2 -3
  46. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +5 -2
  47. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +1 -1
  48. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +2 -3
  49. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +5 -2
  50. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +1 -18
  51. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +1 -1
  52. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +2 -4
  53. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +2 -2
  54. package/lib/types/rule/CoreRule.d.ts +4 -7
  55. package/lib/types/source/_PublicationRef.d.ts +2 -3
  56. package/lib/types/specialAbility/BlessedTradition.d.ts +1 -1
  57. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +1 -1
  58. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +2 -1
  59. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +2 -1
  60. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +2 -1
  61. package/lib/types/specialAbility/MagicalTradition.d.ts +2 -3
  62. package/lib/types/specialAbility/PactGift.d.ts +1 -1
  63. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +2 -1
  64. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +2 -4
  65. package/lib/validation/schema.js +1 -1
  66. package/package.json +2 -2
  67. package/schema/Cantrip.schema.json +1 -2
  68. package/schema/Culture.schema.json +51 -10
  69. package/schema/Lessons_Curriculum.schema.json +8 -12
  70. package/schema/Lessons_Guideline.schema.json +1 -1
  71. package/schema/Patron.schema.json +24 -6
  72. package/schema/Profession.schema.json +57 -15
  73. package/schema/Race.schema.json +121 -13
  74. package/schema/TargetCategory.schema.json +1 -2
  75. package/schema/_Activatable.schema.json +7 -183
  76. package/schema/_ActivatableSelectOptionCategory.schema.json +4 -4
  77. package/schema/_ActivatableSkillCost.schema.json +61 -0
  78. package/schema/_ActivatableSkillDuration.schema.json +1 -3
  79. package/schema/_ActivatableSkillRange.schema.json +19 -0
  80. package/schema/_DiseasePoison.schema.json +0 -2
  81. package/schema/_Identifier.schema.json +2099 -347
  82. package/schema/_IdentifierGroup.schema.json +601 -0
  83. package/schema/_Prerequisite.schema.json +1298 -1072
  84. package/schema/_ResponsiveText.schema.json +2 -2
  85. package/schema/_SimpleReferences.schema.json +54 -130
  86. package/schema/equipment/EquipmentPackage.schema.json +1 -1
  87. package/schema/equipment/item/Elixir.schema.json +123 -0
  88. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +4 -1
  89. package/schema/equipment/item/Poison.schema.json +431 -68
  90. package/schema/equipment/item/ToolOfTheTrade.schema.json +15 -4
  91. package/schema/equipment/item/_Herbary.schema.json +42 -0
  92. package/schema/equipment/item/_MeleeWeapon.schema.json +1 -13
  93. package/schema/equipment/item/_RangedWeapon.schema.json +1 -2
  94. package/schema/magicalActions/AnimistPower.schema.json +0 -1
  95. package/schema/magicalActions/MagicalRune.schema.json +38 -3
  96. package/schema/magicalActions/_SkillReference.schema.json +15 -3
  97. package/schema/prerequisites/PrerequisiteGroups.schema.json +0 -96
  98. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +2 -87
  99. package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +1 -2
  100. package/schema/prerequisites/single/CulturePrerequisite.schema.json +2 -1
  101. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +1 -1
  102. package/schema/prerequisites/single/InfluencePrerequisite.schema.json +1 -2
  103. package/schema/prerequisites/single/RacePrerequisite.schema.json +2 -1
  104. package/schema/prerequisites/single/RatedPrerequisite.schema.json +1 -28
  105. package/schema/prerequisites/single/RulePrerequisite.schema.json +1 -1
  106. package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +1 -3
  107. package/schema/prerequisites/single/StatePrerequisite.schema.json +1 -1
  108. package/schema/rule/CoreRule.schema.json +3 -5
  109. package/schema/source/_PublicationRef.schema.json +1 -2
  110. package/schema/specialAbility/BlessedTradition.schema.json +2 -2
  111. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +0 -1
  112. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +511 -1
  113. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +511 -1
  114. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +511 -1
  115. package/schema/specialAbility/MagicalTradition.schema.json +1 -2
  116. package/schema/specialAbility/PactGift.schema.json +1 -1
  117. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +511 -1
  118. package/schema/specialAbility/sub/_LanguageScript.schema.json +1 -3
  119. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +0 -22
@@ -33,7 +33,517 @@
33
33
  "$ref": "../_Activatable.schema.json#/$defs/Maximum"
34
34
  },
35
35
  "advanced": {
36
- "$ref": "../_Activatable.schema.json#/$defs/AdvancedSpecialAbilities"
36
+ "description": "The Advanced Special Abilities for the respective Style Special Ability.\nSometimes, only a specific select option or a set of select options of an\nentry is allowed, which can be modelled by the option property. It can also\nbe that you can choose from a set of special abilities, but then you can't\nspecify an option.",
37
+ "type": "array",
38
+ "items": [
39
+ {
40
+ "description": "A reference to an advanced special ability.",
41
+ "oneOf": [
42
+ {
43
+ "type": "object",
44
+ "properties": {
45
+ "tag": {
46
+ "const": "General"
47
+ },
48
+ "general": {
49
+ "type": "object",
50
+ "properties": {
51
+ "id": {
52
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
53
+ }
54
+ },
55
+ "required": [
56
+ "id"
57
+ ],
58
+ "additionalProperties": false
59
+ }
60
+ },
61
+ "required": [
62
+ "tag",
63
+ "general"
64
+ ],
65
+ "additionalProperties": false
66
+ },
67
+ {
68
+ "type": "object",
69
+ "properties": {
70
+ "tag": {
71
+ "const": "RestrictOptions"
72
+ },
73
+ "restrict_options": {
74
+ "type": "object",
75
+ "properties": {
76
+ "id": {
77
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
78
+ },
79
+ "option": {
80
+ "description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
81
+ "type": "array",
82
+ "items": {
83
+ "$ref": "./_IdentifierGroup.schema.json#/$defs/AdvancedSpecialAbilityRestrictedOptionIdentifier"
84
+ },
85
+ "minItems": 1
86
+ }
87
+ },
88
+ "required": [
89
+ "id",
90
+ "option"
91
+ ],
92
+ "additionalProperties": false
93
+ }
94
+ },
95
+ "required": [
96
+ "tag",
97
+ "restrict_options"
98
+ ],
99
+ "additionalProperties": false
100
+ },
101
+ {
102
+ "type": "object",
103
+ "properties": {
104
+ "tag": {
105
+ "const": "OneOf"
106
+ },
107
+ "one_of": {
108
+ "type": "object",
109
+ "properties": {
110
+ "options": {
111
+ "type": "object",
112
+ "properties": {
113
+ "id": {
114
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
115
+ }
116
+ },
117
+ "required": [
118
+ "id"
119
+ ],
120
+ "additionalProperties": false
121
+ },
122
+ "is_selection_required_on_purchase": {
123
+ "description": "Do have to choose the advanced special ability when buying the style\nspecial ability? Otherwise the decision can be made later.",
124
+ "type": "boolean"
125
+ },
126
+ "display_option": {
127
+ "$ref": "./prerequisites/DisplayOption.schema.json#/$defs/DisplayOption"
128
+ }
129
+ },
130
+ "required": [
131
+ "options",
132
+ "is_selection_required_on_purchase"
133
+ ],
134
+ "additionalProperties": false
135
+ }
136
+ },
137
+ "required": [
138
+ "tag",
139
+ "one_of"
140
+ ],
141
+ "additionalProperties": false
142
+ },
143
+ {
144
+ "type": "object",
145
+ "properties": {
146
+ "tag": {
147
+ "const": "DeriveFromExternalOption"
148
+ },
149
+ "derive_from_external_option": {
150
+ "type": "object",
151
+ "properties": {
152
+ "external_entry": {
153
+ "description": "The possible advanced special abilities.",
154
+ "$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
155
+ },
156
+ "map": {
157
+ "description": "Map options from the external entry to allowed advanced special abilities.",
158
+ "type": "array",
159
+ "items": {
160
+ "description": "Mapping from an option of the external entry to an allowed advanced special\nability.",
161
+ "type": "object",
162
+ "properties": {
163
+ "from_option": {
164
+ "description": "The select option's identifier.",
165
+ "$ref": "./_Identifier.schema.json#/$defs/PatronIdentifier"
166
+ },
167
+ "to_advanced": {
168
+ "type": "object",
169
+ "properties": {
170
+ "id": {
171
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
172
+ }
173
+ },
174
+ "required": [
175
+ "id"
176
+ ],
177
+ "additionalProperties": false
178
+ }
179
+ },
180
+ "required": [
181
+ "from_option",
182
+ "to_advanced"
183
+ ],
184
+ "additionalProperties": false
185
+ },
186
+ "minItems": 1
187
+ },
188
+ "display_option": {
189
+ "$ref": "./prerequisites/DisplayOption.schema.json#/$defs/DisplayOption"
190
+ }
191
+ },
192
+ "required": [
193
+ "external_entry",
194
+ "map"
195
+ ],
196
+ "additionalProperties": false
197
+ }
198
+ },
199
+ "required": [
200
+ "tag",
201
+ "derive_from_external_option"
202
+ ],
203
+ "additionalProperties": false
204
+ }
205
+ ]
206
+ },
207
+ {
208
+ "description": "A reference to an advanced special ability.",
209
+ "oneOf": [
210
+ {
211
+ "type": "object",
212
+ "properties": {
213
+ "tag": {
214
+ "const": "General"
215
+ },
216
+ "general": {
217
+ "type": "object",
218
+ "properties": {
219
+ "id": {
220
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
221
+ }
222
+ },
223
+ "required": [
224
+ "id"
225
+ ],
226
+ "additionalProperties": false
227
+ }
228
+ },
229
+ "required": [
230
+ "tag",
231
+ "general"
232
+ ],
233
+ "additionalProperties": false
234
+ },
235
+ {
236
+ "type": "object",
237
+ "properties": {
238
+ "tag": {
239
+ "const": "RestrictOptions"
240
+ },
241
+ "restrict_options": {
242
+ "type": "object",
243
+ "properties": {
244
+ "id": {
245
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
246
+ },
247
+ "option": {
248
+ "description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
249
+ "type": "array",
250
+ "items": {
251
+ "$ref": "./_IdentifierGroup.schema.json#/$defs/AdvancedSpecialAbilityRestrictedOptionIdentifier"
252
+ },
253
+ "minItems": 1
254
+ }
255
+ },
256
+ "required": [
257
+ "id",
258
+ "option"
259
+ ],
260
+ "additionalProperties": false
261
+ }
262
+ },
263
+ "required": [
264
+ "tag",
265
+ "restrict_options"
266
+ ],
267
+ "additionalProperties": false
268
+ },
269
+ {
270
+ "type": "object",
271
+ "properties": {
272
+ "tag": {
273
+ "const": "OneOf"
274
+ },
275
+ "one_of": {
276
+ "type": "object",
277
+ "properties": {
278
+ "options": {
279
+ "type": "object",
280
+ "properties": {
281
+ "id": {
282
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
283
+ }
284
+ },
285
+ "required": [
286
+ "id"
287
+ ],
288
+ "additionalProperties": false
289
+ },
290
+ "is_selection_required_on_purchase": {
291
+ "description": "Do have to choose the advanced special ability when buying the style\nspecial ability? Otherwise the decision can be made later.",
292
+ "type": "boolean"
293
+ },
294
+ "display_option": {
295
+ "$ref": "./prerequisites/DisplayOption.schema.json#/$defs/DisplayOption"
296
+ }
297
+ },
298
+ "required": [
299
+ "options",
300
+ "is_selection_required_on_purchase"
301
+ ],
302
+ "additionalProperties": false
303
+ }
304
+ },
305
+ "required": [
306
+ "tag",
307
+ "one_of"
308
+ ],
309
+ "additionalProperties": false
310
+ },
311
+ {
312
+ "type": "object",
313
+ "properties": {
314
+ "tag": {
315
+ "const": "DeriveFromExternalOption"
316
+ },
317
+ "derive_from_external_option": {
318
+ "type": "object",
319
+ "properties": {
320
+ "external_entry": {
321
+ "description": "The possible advanced special abilities.",
322
+ "$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
323
+ },
324
+ "map": {
325
+ "description": "Map options from the external entry to allowed advanced special abilities.",
326
+ "type": "array",
327
+ "items": {
328
+ "description": "Mapping from an option of the external entry to an allowed advanced special\nability.",
329
+ "type": "object",
330
+ "properties": {
331
+ "from_option": {
332
+ "description": "The select option's identifier.",
333
+ "$ref": "./_Identifier.schema.json#/$defs/PatronIdentifier"
334
+ },
335
+ "to_advanced": {
336
+ "type": "object",
337
+ "properties": {
338
+ "id": {
339
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
340
+ }
341
+ },
342
+ "required": [
343
+ "id"
344
+ ],
345
+ "additionalProperties": false
346
+ }
347
+ },
348
+ "required": [
349
+ "from_option",
350
+ "to_advanced"
351
+ ],
352
+ "additionalProperties": false
353
+ },
354
+ "minItems": 1
355
+ },
356
+ "display_option": {
357
+ "$ref": "./prerequisites/DisplayOption.schema.json#/$defs/DisplayOption"
358
+ }
359
+ },
360
+ "required": [
361
+ "external_entry",
362
+ "map"
363
+ ],
364
+ "additionalProperties": false
365
+ }
366
+ },
367
+ "required": [
368
+ "tag",
369
+ "derive_from_external_option"
370
+ ],
371
+ "additionalProperties": false
372
+ }
373
+ ]
374
+ },
375
+ {
376
+ "description": "A reference to an advanced special ability.",
377
+ "oneOf": [
378
+ {
379
+ "type": "object",
380
+ "properties": {
381
+ "tag": {
382
+ "const": "General"
383
+ },
384
+ "general": {
385
+ "type": "object",
386
+ "properties": {
387
+ "id": {
388
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
389
+ }
390
+ },
391
+ "required": [
392
+ "id"
393
+ ],
394
+ "additionalProperties": false
395
+ }
396
+ },
397
+ "required": [
398
+ "tag",
399
+ "general"
400
+ ],
401
+ "additionalProperties": false
402
+ },
403
+ {
404
+ "type": "object",
405
+ "properties": {
406
+ "tag": {
407
+ "const": "RestrictOptions"
408
+ },
409
+ "restrict_options": {
410
+ "type": "object",
411
+ "properties": {
412
+ "id": {
413
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
414
+ },
415
+ "option": {
416
+ "description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
417
+ "type": "array",
418
+ "items": {
419
+ "$ref": "./_IdentifierGroup.schema.json#/$defs/AdvancedSpecialAbilityRestrictedOptionIdentifier"
420
+ },
421
+ "minItems": 1
422
+ }
423
+ },
424
+ "required": [
425
+ "id",
426
+ "option"
427
+ ],
428
+ "additionalProperties": false
429
+ }
430
+ },
431
+ "required": [
432
+ "tag",
433
+ "restrict_options"
434
+ ],
435
+ "additionalProperties": false
436
+ },
437
+ {
438
+ "type": "object",
439
+ "properties": {
440
+ "tag": {
441
+ "const": "OneOf"
442
+ },
443
+ "one_of": {
444
+ "type": "object",
445
+ "properties": {
446
+ "options": {
447
+ "type": "object",
448
+ "properties": {
449
+ "id": {
450
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
451
+ }
452
+ },
453
+ "required": [
454
+ "id"
455
+ ],
456
+ "additionalProperties": false
457
+ },
458
+ "is_selection_required_on_purchase": {
459
+ "description": "Do have to choose the advanced special ability when buying the style\nspecial ability? Otherwise the decision can be made later.",
460
+ "type": "boolean"
461
+ },
462
+ "display_option": {
463
+ "$ref": "./prerequisites/DisplayOption.schema.json#/$defs/DisplayOption"
464
+ }
465
+ },
466
+ "required": [
467
+ "options",
468
+ "is_selection_required_on_purchase"
469
+ ],
470
+ "additionalProperties": false
471
+ }
472
+ },
473
+ "required": [
474
+ "tag",
475
+ "one_of"
476
+ ],
477
+ "additionalProperties": false
478
+ },
479
+ {
480
+ "type": "object",
481
+ "properties": {
482
+ "tag": {
483
+ "const": "DeriveFromExternalOption"
484
+ },
485
+ "derive_from_external_option": {
486
+ "type": "object",
487
+ "properties": {
488
+ "external_entry": {
489
+ "description": "The possible advanced special abilities.",
490
+ "$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
491
+ },
492
+ "map": {
493
+ "description": "Map options from the external entry to allowed advanced special abilities.",
494
+ "type": "array",
495
+ "items": {
496
+ "description": "Mapping from an option of the external entry to an allowed advanced special\nability.",
497
+ "type": "object",
498
+ "properties": {
499
+ "from_option": {
500
+ "description": "The select option's identifier.",
501
+ "$ref": "./_Identifier.schema.json#/$defs/PatronIdentifier"
502
+ },
503
+ "to_advanced": {
504
+ "type": "object",
505
+ "properties": {
506
+ "id": {
507
+ "$ref": "../_Identifier.schema.json#/$defs/AdvancedCombatSpecialAbilityIdentifier"
508
+ }
509
+ },
510
+ "required": [
511
+ "id"
512
+ ],
513
+ "additionalProperties": false
514
+ }
515
+ },
516
+ "required": [
517
+ "from_option",
518
+ "to_advanced"
519
+ ],
520
+ "additionalProperties": false
521
+ },
522
+ "minItems": 1
523
+ },
524
+ "display_option": {
525
+ "$ref": "./prerequisites/DisplayOption.schema.json#/$defs/DisplayOption"
526
+ }
527
+ },
528
+ "required": [
529
+ "external_entry",
530
+ "map"
531
+ ],
532
+ "additionalProperties": false
533
+ }
534
+ },
535
+ "required": [
536
+ "tag",
537
+ "derive_from_external_option"
538
+ ],
539
+ "additionalProperties": false
540
+ }
541
+ ]
542
+ }
543
+ ],
544
+ "minItems": 3,
545
+ "maxItems": 3,
546
+ "additionalItems": false
37
547
  },
38
548
  "prerequisites": {
39
549
  "$ref": "../_Prerequisite.schema.json#/$defs/GeneralPrerequisites"