@toolproof-npm/schema 0.1.49 → 0.1.52

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 (27) hide show
  1. package/dist/genesis/generated/resource-envelopes/Genesis.d.ts +2 -0
  2. package/dist/genesis/generated/resource-envelopes/Genesis.js +2 -0
  3. package/dist/genesis/generated/resource-envelopes/Genesis.json +2337 -0
  4. package/dist/genesis/{resourceTypes → generated/resource-type-envelopes}/Genesis.json +223 -255
  5. package/dist/genesis/generated/resourceTypes/Genesis.d.ts +2 -0
  6. package/dist/genesis/generated/resourceTypes/Genesis.js +2 -0
  7. package/dist/genesis/generated/resourceTypes/Genesis.json +1757 -0
  8. package/dist/genesis/generated/resources/Genesis.json +157 -189
  9. package/dist/genesis/generated/schemas/Genesis.json +149 -181
  10. package/dist/genesis/generated/schemas/Job.json +20 -22
  11. package/dist/genesis/generated/schemas/ResourceFormat.json +14 -16
  12. package/dist/genesis/generated/schemas/ResourceType.json +28 -30
  13. package/dist/genesis/generated/schemas/StatefulStrategy.json +225 -251
  14. package/dist/genesis/generated/schemas/StatelessStrategy.json +103 -123
  15. package/dist/genesis/generated/types/types.d.ts +174 -86
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/scripts/_lib/config.d.ts +4 -0
  19. package/dist/scripts/_lib/config.js +18 -1
  20. package/dist/scripts/extractSchemas.js +2 -2
  21. package/dist/scripts/generateResourceEnvelopes.js +1 -1
  22. package/dist/scripts/generateSchemaShims.js +21 -0
  23. package/dist/scripts/generateTypes.js +58 -0
  24. package/dist/scripts/rewriteAnchors.js +4 -2
  25. package/package.json +1 -1
  26. /package/dist/genesis/{resourceTypes → generated/resource-type-envelopes}/Genesis.d.ts +0 -0
  27. /package/dist/genesis/{resourceTypes → generated/resource-type-envelopes}/Genesis.js +0 -0
@@ -64,10 +64,10 @@
64
64
  "type": "object",
65
65
  "allOf": [
66
66
  {
67
- "$ref": "#Named"
67
+ "$ref": "#/$defs/Named"
68
68
  },
69
69
  {
70
- "$ref": "#Described"
70
+ "$ref": "#/$defs/Described"
71
71
  }
72
72
  ]
73
73
  }
@@ -267,7 +267,7 @@
267
267
  "type": "object",
268
268
  "patternProperties": {
269
269
  "^[A-Za-z][A-Za-z0-9._-]*Identity$": {
270
- "$ref": "#IdentitySchema"
270
+ "$ref": "#/$defs/IdentitySchema"
271
271
  }
272
272
  },
273
273
  "$comment": "Ajv-specific: patternRequired enforces at least one Identity-like key in this $defs block when identity is present.",
@@ -294,7 +294,7 @@
294
294
  ],
295
295
  "properties": {
296
296
  "identity": {
297
- "$ref": "#IdentitySchemaRef"
297
+ "$ref": "#/$defs/IdentitySchemaRef"
298
298
  }
299
299
  }
300
300
  }
@@ -466,7 +466,7 @@
466
466
  "type": "object",
467
467
  "patternProperties": {
468
468
  "^[A-Za-z][A-Za-z0-9._-]*Merit$": {
469
- "$ref": "#MeritSchema"
469
+ "$ref": "#/$defs/MeritSchema"
470
470
  }
471
471
  },
472
472
  "$comment": "Ajv-specific: patternRequired enforces at least one Merit-like key in this $defs block when merit is present.",
@@ -490,7 +490,7 @@
490
490
  ],
491
491
  "properties": {
492
492
  "merit": {
493
- "$ref": "#MeritSchemaRef"
493
+ "$ref": "#/$defs/MeritSchemaRef"
494
494
  }
495
495
  }
496
496
  }
@@ -579,7 +579,7 @@
579
579
  ]
580
580
  },
581
581
  "then": {
582
- "$ref": "#IdentityProp"
582
+ "$ref": "#/$defs/IdentityProp"
583
583
  }
584
584
  },
585
585
  {
@@ -611,7 +611,7 @@
611
611
  ]
612
612
  },
613
613
  "then": {
614
- "$ref": "#MeritProp"
614
+ "$ref": "#/$defs/MeritProp"
615
615
  }
616
616
  },
617
617
  {
@@ -646,7 +646,7 @@
646
646
  ],
647
647
  "properties": {
648
648
  "extractionSchema": {
649
- "$ref": "#ExtractionSchema"
649
+ "$ref": "#/$defs/ExtractionSchema"
650
650
  }
651
651
  }
652
652
  }
@@ -684,30 +684,28 @@
684
684
  "$anchor": "ResourceType",
685
685
  "$schema": "https://json-schema.org/draft/2020-12/schema",
686
686
  "type": "object",
687
- "allOf": [
688
- {
689
- "required": [
690
- "identity",
691
- "resourceFormatRef"
692
- ],
693
- "properties": {
694
- "identity": {
695
- "$ref": "#ResourceTypeIdentity"
696
- },
697
- "resourceFormatRef": {
698
- "$ref": "#ResourceFormatIdentity"
699
- }
700
- }
687
+ "required": [
688
+ "identity",
689
+ "resourceFormatRef"
690
+ ],
691
+ "properties": {
692
+ "identity": {
693
+ "$ref": "#/$defs/ResourceTypeIdentity"
701
694
  },
695
+ "resourceFormatRef": {
696
+ "$ref": "#/$defs/ResourceFormatIdentity"
697
+ }
698
+ },
699
+ "allOf": [
702
700
  {
703
- "$ref": "#Documented"
701
+ "$ref": "#/$defs/Documented"
704
702
  },
705
703
  {
706
- "$ref": "#ExtractionSchemaWrapper"
704
+ "$ref": "#/$defs/ExtractionSchemaWrapper"
707
705
  },
708
706
  {
709
707
  "if": {
710
- "$comment": "If resourceFormatRef is FORMAT-ApplicationJson, then extractor must not be present, but if resourceFormatRef is not FORMAT-ApplicationJson, then extractor must be present. This is because resources of types with format FORMAT-ApplicationJson are self-contained and do not need an extractor.",
708
+ "$comment": "If resourceFormatRef is FORMAT-ApplicationJson, then extractorUri must not be present, but if resourceFormatRef is not FORMAT-ApplicationJson, then extractorUri must be present. This is because resources of types with format FORMAT-ApplicationJson are self-contained and do not need an extractor.",
711
709
  "properties": {
712
710
  "resourceFormatRef": {
713
711
  "const": "FORMAT-ApplicationJson"
@@ -717,17 +715,17 @@
717
715
  "then": {
718
716
  "not": {
719
717
  "required": [
720
- "extractor"
718
+ "extractorUri"
721
719
  ]
722
720
  }
723
721
  },
724
722
  "else": {
725
723
  "type": "object",
726
724
  "required": [
727
- "extractor"
725
+ "extractorUri"
728
726
  ],
729
727
  "properties": {
730
- "extractor": {
728
+ "extractorUri": {
731
729
  "type": "string",
732
730
  "format": "uri"
733
731
  }
@@ -746,19 +744,17 @@
746
744
  "$anchor": "ResourceFormat",
747
745
  "$schema": "https://json-schema.org/draft/2020-12/schema",
748
746
  "type": "object",
747
+ "required": [
748
+ "identity"
749
+ ],
750
+ "properties": {
751
+ "identity": {
752
+ "$ref": "#/$defs/ResourceFormatIdentity"
753
+ }
754
+ },
749
755
  "allOf": [
750
756
  {
751
- "required": [
752
- "identity"
753
- ],
754
- "properties": {
755
- "identity": {
756
- "$ref": "#ResourceFormatIdentity"
757
- }
758
- }
759
- },
760
- {
761
- "$ref": "#Documented"
757
+ "$ref": "#/$defs/Documented"
762
758
  }
763
759
  ]
764
760
  }
@@ -805,12 +801,12 @@
805
801
  ],
806
802
  "properties": {
807
803
  "resourceTypeRef": {
808
- "$ref": "#ResourceTypeIdentity"
804
+ "$ref": "#/$defs/ResourceTypeIdentity"
809
805
  }
810
806
  }
811
807
  },
812
808
  {
813
- "$ref": "#Documented"
809
+ "$ref": "#/$defs/Documented"
814
810
  }
815
811
  ]
816
812
  }
@@ -825,10 +821,10 @@
825
821
  "$schema": "https://json-schema.org/draft/2020-12/schema",
826
822
  "type": "object",
827
823
  "propertyNames": {
828
- "$ref": "#ResourceRoleIdentity"
824
+ "$ref": "#/$defs/ResourceRoleIdentity"
829
825
  },
830
826
  "additionalProperties": {
831
- "$ref": "#ResourceRoleValue"
827
+ "$ref": "#/$defs/ResourceRoleValue"
832
828
  }
833
829
  }
834
830
  },
@@ -847,10 +843,10 @@
847
843
  ],
848
844
  "properties": {
849
845
  "inputMap": {
850
- "$ref": "#RoleMap"
846
+ "$ref": "#/$defs/RoleMap"
851
847
  },
852
848
  "outputMap": {
853
- "$ref": "#RoleMap"
849
+ "$ref": "#/$defs/RoleMap"
854
850
  }
855
851
  },
856
852
  "unevaluatedProperties": false
@@ -870,7 +866,7 @@
870
866
  ],
871
867
  "properties": {
872
868
  "roles": {
873
- "$ref": "#Roles"
869
+ "$ref": "#/$defs/Roles"
874
870
  }
875
871
  }
876
872
  }
@@ -893,32 +889,30 @@
893
889
  "name": "Job",
894
890
  "description": "dummy-description",
895
891
  "resourceFormatRef": "FORMAT-ApplicationJob",
896
- "extractor": "https://extractors.toolproof.com/v0/JobExtractor.js",
892
+ "extractorUri": "https://extractors.toolproof.com/v0/JobExtractor.js",
897
893
  "extractionSchema": {
898
894
  "$anchor": "Job",
899
895
  "$schema": "https://json-schema.org/draft/2020-12/schema",
900
896
  "type": "object",
901
- "allOf": [
902
- {
903
- "required": [
904
- "identity",
905
- "implementationUri"
906
- ],
907
- "properties": {
908
- "identity": {
909
- "$ref": "#JobIdentity"
910
- },
911
- "implementationUri": {
912
- "type": "string",
913
- "format": "uri"
914
- }
915
- }
897
+ "required": [
898
+ "identity",
899
+ "implementationUri"
900
+ ],
901
+ "properties": {
902
+ "identity": {
903
+ "$ref": "#/$defs/JobIdentity"
916
904
  },
905
+ "implementationUri": {
906
+ "type": "string",
907
+ "format": "uri"
908
+ }
909
+ },
910
+ "allOf": [
917
911
  {
918
- "$ref": "#Documented"
912
+ "$ref": "#/$defs/Documented"
919
913
  },
920
914
  {
921
- "$ref": "#RolesWrapper"
915
+ "$ref": "#/$defs/RolesWrapper"
922
916
  }
923
917
  ],
924
918
  "unevaluatedProperties": false
@@ -934,10 +928,10 @@
934
928
  "$schema": "https://json-schema.org/draft/2020-12/schema",
935
929
  "type": "object",
936
930
  "propertyNames": {
937
- "$ref": "#ResourceRoleIdentity"
931
+ "$ref": "#/$defs/ResourceRoleIdentity"
938
932
  },
939
933
  "additionalProperties": {
940
- "$ref": "#ResourceIdentity"
934
+ "$ref": "#/$defs/ResourceIdentity"
941
935
  }
942
936
  }
943
937
  },
@@ -956,10 +950,10 @@
956
950
  ],
957
951
  "properties": {
958
952
  "inputBindingMap": {
959
- "$ref": "#RoleBindingMap"
953
+ "$ref": "#/$defs/RoleBindingMap"
960
954
  },
961
955
  "outputBindingMap": {
962
- "$ref": "#RoleBindingMap"
956
+ "$ref": "#/$defs/RoleBindingMap"
963
957
  }
964
958
  },
965
959
  "unevaluatedProperties": false
@@ -979,7 +973,7 @@
979
973
  ],
980
974
  "properties": {
981
975
  "roleBindings": {
982
- "$ref": "#RoleBindings"
976
+ "$ref": "#/$defs/RoleBindings"
983
977
  }
984
978
  }
985
979
  }
@@ -999,10 +993,10 @@
999
993
  ],
1000
994
  "properties": {
1001
995
  "resourceRoleRef": {
1002
- "$ref": "#ResourceRoleIdentity"
996
+ "$ref": "#/$defs/ResourceRoleIdentity"
1003
997
  },
1004
998
  "executionRef": {
1005
- "$ref": "#ExecutionIdentity"
999
+ "$ref": "#/$defs/ExecutionIdentity"
1006
1000
  }
1007
1001
  }
1008
1002
  }
@@ -1021,7 +1015,7 @@
1021
1015
  ],
1022
1016
  "properties": {
1023
1017
  "creationContext": {
1024
- "$ref": "#CreationContext"
1018
+ "$ref": "#/$defs/CreationContext"
1025
1019
  }
1026
1020
  }
1027
1021
  }
@@ -1035,22 +1029,18 @@
1035
1029
  "$anchor": "ResourceBase",
1036
1030
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1037
1031
  "type": "object",
1038
- "allOf": [
1039
- {
1040
- "required": [
1041
- "identity",
1042
- "resourceTypeRef"
1043
- ],
1044
- "properties": {
1045
- "identity": {
1046
- "$ref": "#ResourceIdentity"
1047
- },
1048
- "resourceTypeRef": {
1049
- "$ref": "#ResourceTypeIdentity"
1050
- }
1051
- }
1032
+ "required": [
1033
+ "identity",
1034
+ "resourceTypeRef"
1035
+ ],
1036
+ "properties": {
1037
+ "identity": {
1038
+ "$ref": "#/$defs/ResourceIdentity"
1039
+ },
1040
+ "resourceTypeRef": {
1041
+ "$ref": "#/$defs/ResourceTypeIdentity"
1052
1042
  }
1053
- ]
1043
+ }
1054
1044
  }
1055
1045
  },
1056
1046
  "ResourceKind": {
@@ -1088,10 +1078,10 @@
1088
1078
  "type": "object",
1089
1079
  "allOf": [
1090
1080
  {
1091
- "$ref": "#ResourceBase"
1081
+ "$ref": "#/$defs/ResourceBase"
1092
1082
  },
1093
1083
  {
1094
- "$ref": "#ResourceKind"
1084
+ "$ref": "#/$defs/ResourceKind"
1095
1085
  },
1096
1086
  {
1097
1087
  "required": [
@@ -1118,13 +1108,13 @@
1118
1108
  "type": "object",
1119
1109
  "allOf": [
1120
1110
  {
1121
- "$ref": "#ResourceBase"
1111
+ "$ref": "#/$defs/ResourceBase"
1122
1112
  },
1123
1113
  {
1124
- "$ref": "#CreationContextWrapper"
1114
+ "$ref": "#/$defs/CreationContextWrapper"
1125
1115
  },
1126
1116
  {
1127
- "$ref": "#ResourceKind"
1117
+ "$ref": "#/$defs/ResourceKind"
1128
1118
  },
1129
1119
  {
1130
1120
  "required": [
@@ -1151,13 +1141,13 @@
1151
1141
  "type": "object",
1152
1142
  "allOf": [
1153
1143
  {
1154
- "$ref": "#ResourceBase"
1144
+ "$ref": "#/$defs/ResourceBase"
1155
1145
  },
1156
1146
  {
1157
- "$ref": "#CreationContextWrapper"
1147
+ "$ref": "#/$defs/CreationContextWrapper"
1158
1148
  },
1159
1149
  {
1160
- "$ref": "#ResourceKind"
1150
+ "$ref": "#/$defs/ResourceKind"
1161
1151
  },
1162
1152
  {
1163
1153
  "required": [
@@ -1223,13 +1213,13 @@
1223
1213
  "type": "object",
1224
1214
  "allOf": [
1225
1215
  {
1226
- "$ref": "#ResourceBase"
1216
+ "$ref": "#/$defs/ResourceBase"
1227
1217
  },
1228
1218
  {
1229
- "$ref": "#CreationContextWrapper"
1219
+ "$ref": "#/$defs/CreationContextWrapper"
1230
1220
  },
1231
1221
  {
1232
- "$ref": "#ResourceKind"
1222
+ "$ref": "#/$defs/ResourceKind"
1233
1223
  },
1234
1224
  {
1235
1225
  "required": [
@@ -1242,10 +1232,10 @@
1242
1232
  }
1243
1233
  },
1244
1234
  {
1245
- "$ref": "#Timestamp"
1235
+ "$ref": "#/$defs/Timestamp"
1246
1236
  },
1247
1237
  {
1248
- "$ref": "#Path"
1238
+ "$ref": "#/$defs/Path"
1249
1239
  }
1250
1240
  ]
1251
1241
  }
@@ -1259,7 +1249,7 @@
1259
1249
  "$anchor": "ResourceMeta",
1260
1250
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1261
1251
  "type": "object",
1262
- "$ref": "#ResourceMetaBase",
1252
+ "$ref": "#/$defs/ResourceMetaBase",
1263
1253
  "unevaluatedProperties": false
1264
1254
  }
1265
1255
  },
@@ -1287,13 +1277,13 @@
1287
1277
  {
1288
1278
  "type": "array",
1289
1279
  "items": {
1290
- "$ref": "#JsonData"
1280
+ "$ref": "#/$defs/JsonData"
1291
1281
  }
1292
1282
  },
1293
1283
  {
1294
1284
  "type": "object",
1295
1285
  "additionalProperties": {
1296
- "$ref": "#JsonData"
1286
+ "$ref": "#/$defs/JsonData"
1297
1287
  }
1298
1288
  }
1299
1289
  ]
@@ -1310,7 +1300,7 @@
1310
1300
  "type": "object",
1311
1301
  "allOf": [
1312
1302
  {
1313
- "$ref": "#ResourceMetaBase"
1303
+ "$ref": "#/$defs/ResourceMetaBase"
1314
1304
  },
1315
1305
  {
1316
1306
  "required": [
@@ -1321,7 +1311,7 @@
1321
1311
  "$comment": "This will be overlayed at runtime to match the data structure of the underlying type's extractionSchema. At compile time, we guarantee it has an identity property.",
1322
1312
  "type": "object",
1323
1313
  "additionalProperties": {
1324
- "$ref": "#JsonData"
1314
+ "$ref": "#/$defs/JsonData"
1325
1315
  }
1326
1316
  }
1327
1317
  }
@@ -1351,25 +1341,22 @@
1351
1341
  "$anchor": "Execution",
1352
1342
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1353
1343
  "type": "object",
1354
- "allOf": [
1355
- {
1356
- "type": "object",
1357
- "required": [
1358
- "identity",
1359
- "jobRef"
1360
- ],
1361
- "properties": {
1362
- "identity": {
1363
- "$ref": "#ExecutionIdentity"
1364
- },
1365
- "jobRef": {
1366
- "$ref": "#JobIdentity"
1367
- }
1368
- }
1344
+ "required": [
1345
+ "identity",
1346
+ "jobRef"
1347
+ ],
1348
+ "properties": {
1349
+ "identity": {
1350
+ "$ref": "#/$defs/ExecutionIdentity"
1369
1351
  },
1352
+ "jobRef": {
1353
+ "$ref": "#/$defs/JobIdentity"
1354
+ }
1355
+ },
1356
+ "allOf": [
1370
1357
  {
1371
1358
  "$comment": "This will be overlayed at runtime to specify roleBindings corresponding to the roles of the underlying job.",
1372
- "$ref": "#RoleBindingsWrapper"
1359
+ "$ref": "#/$defs/RoleBindingsWrapper"
1373
1360
  }
1374
1361
  ]
1375
1362
  }
@@ -1389,10 +1376,10 @@
1389
1376
  ],
1390
1377
  "properties": {
1391
1378
  "when": {
1392
- "$ref": "#WorkStep"
1379
+ "$ref": "#/$defs/WorkStep"
1393
1380
  },
1394
1381
  "what": {
1395
- "$ref": "#WorkStep"
1382
+ "$ref": "#/$defs/WorkStep"
1396
1383
  }
1397
1384
  },
1398
1385
  "unevaluatedProperties": false
@@ -1444,28 +1431,25 @@
1444
1431
  "$anchor": "WorkStep",
1445
1432
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1446
1433
  "type": "object",
1447
- "allOf": [
1448
- {
1449
- "$ref": "#StepKind"
1434
+ "required": [
1435
+ "identity",
1436
+ "kind",
1437
+ "execution"
1438
+ ],
1439
+ "properties": {
1440
+ "identity": {
1441
+ "$ref": "#/$defs/WorkStepIdentity"
1450
1442
  },
1443
+ "kind": {
1444
+ "const": "work"
1445
+ },
1446
+ "execution": {
1447
+ "$ref": "#/$defs/Execution"
1448
+ }
1449
+ },
1450
+ "allOf": [
1451
1451
  {
1452
- "type": "object",
1453
- "required": [
1454
- "identity",
1455
- "kind",
1456
- "execution"
1457
- ],
1458
- "properties": {
1459
- "identity": {
1460
- "$ref": "#WorkStepIdentity"
1461
- },
1462
- "kind": {
1463
- "const": "work"
1464
- },
1465
- "execution": {
1466
- "$ref": "#Execution"
1467
- }
1468
- }
1452
+ "$ref": "#/$defs/StepKind"
1469
1453
  }
1470
1454
  ]
1471
1455
  }
@@ -1491,33 +1475,30 @@
1491
1475
  "$anchor": "BranchStep",
1492
1476
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1493
1477
  "type": "object",
1494
- "allOf": [
1495
- {
1496
- "$ref": "#StepKind"
1478
+ "required": [
1479
+ "identity",
1480
+ "kind",
1481
+ "cases"
1482
+ ],
1483
+ "properties": {
1484
+ "identity": {
1485
+ "$ref": "#/$defs/BranchStepIdentity"
1486
+ },
1487
+ "kind": {
1488
+ "const": "branch"
1497
1489
  },
1490
+ "cases": {
1491
+ "type": "array",
1492
+ "items": {
1493
+ "$ref": "#/$defs/Conditional"
1494
+ },
1495
+ "minItems": 1,
1496
+ "uniqueItems": true
1497
+ }
1498
+ },
1499
+ "allOf": [
1498
1500
  {
1499
- "type": "object",
1500
- "required": [
1501
- "identity",
1502
- "kind",
1503
- "cases"
1504
- ],
1505
- "properties": {
1506
- "identity": {
1507
- "$ref": "#BranchStepIdentity"
1508
- },
1509
- "kind": {
1510
- "const": "branch"
1511
- },
1512
- "cases": {
1513
- "type": "array",
1514
- "items": {
1515
- "$ref": "#Conditional"
1516
- },
1517
- "minItems": 1,
1518
- "uniqueItems": true
1519
- }
1520
- }
1501
+ "$ref": "#/$defs/StepKind"
1521
1502
  }
1522
1503
  ]
1523
1504
  }
@@ -1543,28 +1524,25 @@
1543
1524
  "$anchor": "WhileStep",
1544
1525
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1545
1526
  "type": "object",
1546
- "allOf": [
1547
- {
1548
- "$ref": "#StepKind"
1527
+ "required": [
1528
+ "identity",
1529
+ "kind",
1530
+ "case"
1531
+ ],
1532
+ "properties": {
1533
+ "identity": {
1534
+ "$ref": "#/$defs/WhileStepIdentity"
1549
1535
  },
1536
+ "kind": {
1537
+ "const": "while"
1538
+ },
1539
+ "case": {
1540
+ "$ref": "#/$defs/Conditional"
1541
+ }
1542
+ },
1543
+ "allOf": [
1550
1544
  {
1551
- "type": "object",
1552
- "required": [
1553
- "identity",
1554
- "kind",
1555
- "case"
1556
- ],
1557
- "properties": {
1558
- "identity": {
1559
- "$ref": "#WhileStepIdentity"
1560
- },
1561
- "kind": {
1562
- "const": "while"
1563
- },
1564
- "case": {
1565
- "$ref": "#Conditional"
1566
- }
1567
- }
1545
+ "$ref": "#/$defs/StepKind"
1568
1546
  }
1569
1547
  ]
1570
1548
  }
@@ -1590,28 +1568,25 @@
1590
1568
  "$anchor": "ForStep",
1591
1569
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1592
1570
  "type": "object",
1593
- "allOf": [
1594
- {
1595
- "$ref": "#StepKind"
1571
+ "required": [
1572
+ "identity",
1573
+ "kind",
1574
+ "case"
1575
+ ],
1576
+ "properties": {
1577
+ "identity": {
1578
+ "$ref": "#/$defs/ForStepIdentity"
1579
+ },
1580
+ "kind": {
1581
+ "const": "for"
1596
1582
  },
1583
+ "case": {
1584
+ "$ref": "#/$defs/Conditional"
1585
+ }
1586
+ },
1587
+ "allOf": [
1597
1588
  {
1598
- "type": "object",
1599
- "required": [
1600
- "identity",
1601
- "kind",
1602
- "case"
1603
- ],
1604
- "properties": {
1605
- "identity": {
1606
- "$ref": "#ForStepIdentity"
1607
- },
1608
- "kind": {
1609
- "const": "for"
1610
- },
1611
- "case": {
1612
- "$ref": "#Conditional"
1613
- }
1614
- }
1589
+ "$ref": "#/$defs/StepKind"
1615
1590
  }
1616
1591
  ]
1617
1592
  }
@@ -1627,16 +1602,16 @@
1627
1602
  "type": "object",
1628
1603
  "oneOf": [
1629
1604
  {
1630
- "$ref": "#WorkStep"
1605
+ "$ref": "#/$defs/WorkStep"
1631
1606
  },
1632
1607
  {
1633
- "$ref": "#BranchStep"
1608
+ "$ref": "#/$defs/BranchStep"
1634
1609
  },
1635
1610
  {
1636
- "$ref": "#WhileStep"
1611
+ "$ref": "#/$defs/WhileStep"
1637
1612
  },
1638
1613
  {
1639
- "$ref": "#ForStep"
1614
+ "$ref": "#/$defs/ForStep"
1640
1615
  }
1641
1616
  ],
1642
1617
  "unevaluatedProperties": false
@@ -1663,27 +1638,22 @@
1663
1638
  "$anchor": "StatelessStrategy",
1664
1639
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1665
1640
  "type": "object",
1666
- "allOf": [
1667
- {
1668
- "type": "object",
1669
- "required": [
1670
- "identity",
1671
- "steps"
1672
- ],
1673
- "properties": {
1674
- "identity": {
1675
- "$ref": "#StatelessStrategyIdentity"
1676
- },
1677
- "steps": {
1678
- "type": "array",
1679
- "items": {
1680
- "$ref": "#Step"
1681
- },
1682
- "uniqueItems": true
1683
- }
1684
- }
1685
- }
1641
+ "required": [
1642
+ "identity",
1643
+ "steps"
1686
1644
  ],
1645
+ "properties": {
1646
+ "identity": {
1647
+ "$ref": "#/$defs/StatelessStrategyIdentity"
1648
+ },
1649
+ "steps": {
1650
+ "type": "array",
1651
+ "items": {
1652
+ "$ref": "#/$defs/Step"
1653
+ },
1654
+ "uniqueItems": true
1655
+ }
1656
+ },
1687
1657
  "unevaluatedProperties": false
1688
1658
  }
1689
1659
  },
@@ -1697,26 +1667,26 @@
1697
1667
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1698
1668
  "type": "object",
1699
1669
  "propertyNames": {
1700
- "$ref": "#ExecutionIdentity"
1670
+ "$ref": "#/$defs/ExecutionIdentity"
1701
1671
  },
1702
1672
  "additionalProperties": {
1703
1673
  "type": "object",
1704
1674
  "propertyNames": {
1705
- "$ref": "#ResourceRoleIdentity"
1675
+ "$ref": "#/$defs/ResourceRoleIdentity"
1706
1676
  },
1707
1677
  "additionalProperties": {
1708
1678
  "oneOf": [
1709
1679
  {
1710
- "$ref": "#ResourceMissing"
1680
+ "$ref": "#/$defs/ResourceMissing"
1711
1681
  },
1712
1682
  {
1713
- "$ref": "#ResourcePotentialInput"
1683
+ "$ref": "#/$defs/ResourcePotentialInput"
1714
1684
  },
1715
1685
  {
1716
- "$ref": "#ResourcePotentialOutput"
1686
+ "$ref": "#/$defs/ResourcePotentialOutput"
1717
1687
  },
1718
1688
  {
1719
- "$ref": "#Resource"
1689
+ "$ref": "#/$defs/Resource"
1720
1690
  }
1721
1691
  ]
1722
1692
  }
@@ -1737,7 +1707,7 @@
1737
1707
  ],
1738
1708
  "properties": {
1739
1709
  "strategyState": {
1740
- "$ref": "#StrategyState"
1710
+ "$ref": "#/$defs/StrategyState"
1741
1711
  }
1742
1712
  }
1743
1713
  }
@@ -1763,23 +1733,21 @@
1763
1733
  "$anchor": "StatefulStrategy",
1764
1734
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1765
1735
  "type": "object",
1766
- "allOf": [
1767
- {
1768
- "required": [
1769
- "identity",
1770
- "statelessStrategy"
1771
- ],
1772
- "properties": {
1773
- "identity": {
1774
- "$ref": "#StatefulStrategyIdentity"
1775
- },
1776
- "statelessStrategy": {
1777
- "$ref": "#StatelessStrategy"
1778
- }
1779
- }
1736
+ "required": [
1737
+ "identity",
1738
+ "statelessStrategy"
1739
+ ],
1740
+ "properties": {
1741
+ "identity": {
1742
+ "$ref": "#/$defs/StatefulStrategyIdentity"
1780
1743
  },
1744
+ "statelessStrategy": {
1745
+ "$ref": "#/$defs/StatelessStrategy"
1746
+ }
1747
+ },
1748
+ "allOf": [
1781
1749
  {
1782
- "$ref": "#StrategyStateWrapper"
1750
+ "$ref": "#/$defs/StrategyStateWrapper"
1783
1751
  }
1784
1752
  ]
1785
1753
  }