@camunda/zeebe-element-templates-json-schema 0.22.3 → 0.24.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camunda/zeebe-element-templates-json-schema",
3
- "version": "0.22.3",
3
+ "version": "0.24.0",
4
4
  "description": "JSON Schema for (Zeebe) Element Templates",
5
5
  "files": [
6
6
  "resources"
@@ -25,5 +25,5 @@
25
25
  "camunda"
26
26
  ],
27
27
  "license": "MIT",
28
- "gitHead": "0a6b98d04b75c84fd71d49c407d14342bb786736"
28
+ "gitHead": "f5d5f22a7f4bf98714cdce1a99ac5d782310b99a"
29
29
  }
@@ -330,7 +330,7 @@
330
330
  "properties",
331
331
  "type"
332
332
  ],
333
- "errorMessage": "invalid property.binding type ${0}; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:property, zeebe:taskHeader, bpmn:Message#property, bpmn:Message#zeebe:subscription#property, zeebe:taskDefinition, zeebe:calledElement, zeebe:linkedResource }"
333
+ "errorMessage": "invalid property.binding type ${0}; must be any of { property, zeebe:taskDefinition:type, zeebe:input, zeebe:output, zeebe:property, zeebe:taskHeader, bpmn:Message#property, bpmn:Message#zeebe:subscription#property, zeebe:taskDefinition, zeebe:calledElement, zeebe:linkedResource, zeebe:userTask, zeebe:formDefinition, zeebe:calledDecision, zeebe:script }"
334
334
  },
335
335
  {
336
336
  "path": [
@@ -374,5 +374,128 @@
374
374
  "property"
375
375
  ],
376
376
  "errorMessage": "invalid binding.property ${0}; must be any of { resourceId, resourceType, bindingType, versionTag }"
377
+ },
378
+ {
379
+ "path": [
380
+ "definitions",
381
+ "properties",
382
+ "allOf",
383
+ 1,
384
+ "items",
385
+ "allOf",
386
+ 13,
387
+ "then"
388
+ ],
389
+ "errorMessage": "Property \"formId\" cannot be a FEEL expression"
390
+ },
391
+ {
392
+ "path": [
393
+ "definitions",
394
+ "template",
395
+ "allOf",
396
+ 1,
397
+ "allOf",
398
+ 4,
399
+ "then",
400
+ "allOf",
401
+ 0
402
+ ],
403
+ "errorMessage": "When using \"zeebe:formDefinition\", \"zeebe:userTask\" must be set on the same element"
404
+ },
405
+ {
406
+ "path": [
407
+ "definitions",
408
+ "template",
409
+ "allOf",
410
+ 1,
411
+ "allOf",
412
+ 5,
413
+ "then",
414
+ "allOf",
415
+ 0,
416
+ "properties",
417
+ "properties",
418
+ "contains",
419
+ "properties",
420
+ "binding",
421
+ "properties",
422
+ "property"
423
+ ],
424
+ "errorMessage": "Binding type \"zeebe:calledDecision\" must contain property \"decisionId\""
425
+ },
426
+ {
427
+ "path": [
428
+ "definitions",
429
+ "template",
430
+ "allOf",
431
+ 1,
432
+ "allOf",
433
+ 5,
434
+ "then",
435
+ "allOf",
436
+ 1,
437
+ "properties",
438
+ "properties",
439
+ "contains",
440
+ "properties",
441
+ "binding",
442
+ "properties",
443
+ "property"
444
+ ],
445
+ "errorMessage": "Binding type \"zeebe:calledDecision\" must contain property \"resultVariable\""
446
+ },
447
+ {
448
+ "path": [
449
+ "definitions",
450
+ "template",
451
+ "allOf",
452
+ 1,
453
+ "allOf",
454
+ 5,
455
+ "then",
456
+ "allOf",
457
+ 2
458
+ ],
459
+ "errorMessage": "Binding type \"zeebe:taskDefinition\" or \"zeebe:taskDefinition:type\" cannot be set when binding type \"zeebe:calledDecision\" is set."
460
+ },
461
+ {
462
+ "path": [
463
+ "definitions",
464
+ "template",
465
+ "allOf",
466
+ 1,
467
+ "allOf",
468
+ 6,
469
+ "then",
470
+ "allOf",
471
+ 2
472
+ ],
473
+ "errorMessage": "Binding type \"zeebe:taskDefinition\" or \"zeebe:taskDefinition:type\" cannot be set when binding type \"zeebe:script\" is set."
474
+ },
475
+ {
476
+ "path": [
477
+ "definitions",
478
+ "properties",
479
+ "allOf",
480
+ 1,
481
+ "items",
482
+ "allOf",
483
+ 15,
484
+ "then"
485
+ ],
486
+ "errorMessage": "Property \"resultVariable\" cannot be a Feel expression"
487
+ },
488
+ {
489
+ "path": [
490
+ "definitions",
491
+ "properties",
492
+ "allOf",
493
+ 1,
494
+ "items",
495
+ "allOf",
496
+ 17,
497
+ "then"
498
+ ],
499
+ "errorMessage": "Property \"resultVariable\" cannot be a Feel expression"
377
500
  }
378
501
  ]
@@ -463,7 +463,10 @@
463
463
  "bpmn:Message#zeebe:subscription#property",
464
464
  "zeebe:taskDefinition",
465
465
  "zeebe:calledElement",
466
- "zeebe:linkedResource"
466
+ "zeebe:linkedResource",
467
+ "zeebe:formDefinition",
468
+ "zeebe:calledDecision",
469
+ "zeebe:script"
467
470
  ]
468
471
  }
469
472
  },
@@ -761,6 +764,292 @@
761
764
  }
762
765
  }
763
766
  ]
767
+ },
768
+ {
769
+ "if": {
770
+ "properties": {
771
+ "binding": {
772
+ "properties": {
773
+ "type": {
774
+ "const": "zeebe:userTask"
775
+ }
776
+ },
777
+ "required": [
778
+ "type"
779
+ ]
780
+ }
781
+ },
782
+ "required": [
783
+ "binding"
784
+ ]
785
+ },
786
+ "then": {
787
+ "required": [
788
+ "type"
789
+ ],
790
+ "properties": {
791
+ "type": {
792
+ "enum": [
793
+ "Hidden"
794
+ ]
795
+ }
796
+ }
797
+ }
798
+ },
799
+ {
800
+ "if": {
801
+ "properties": {
802
+ "binding": {
803
+ "properties": {
804
+ "type": {
805
+ "const": "zeebe:formDefinition"
806
+ },
807
+ "property": {
808
+ "const": "formId"
809
+ }
810
+ },
811
+ "required": [
812
+ "type",
813
+ "property"
814
+ ]
815
+ }
816
+ },
817
+ "required": [
818
+ "binding"
819
+ ]
820
+ },
821
+ "then": {
822
+ "not": {
823
+ "required": [
824
+ "feel"
825
+ ]
826
+ }
827
+ }
828
+ },
829
+ {
830
+ "if": {
831
+ "properties": {
832
+ "binding": {
833
+ "properties": {
834
+ "type": {
835
+ "const": "zeebe:formDefinition"
836
+ },
837
+ "property": {
838
+ "enum": [
839
+ "externalReference",
840
+ "formId"
841
+ ]
842
+ }
843
+ },
844
+ "required": [
845
+ "type",
846
+ "property"
847
+ ]
848
+ }
849
+ },
850
+ "required": [
851
+ "binding"
852
+ ]
853
+ },
854
+ "then": {
855
+ "required": [
856
+ "type"
857
+ ],
858
+ "properties": {
859
+ "type": {
860
+ "enum": [
861
+ "Hidden",
862
+ "String",
863
+ "Text",
864
+ "Dropdown"
865
+ ]
866
+ }
867
+ }
868
+ }
869
+ },
870
+ {
871
+ "if": {
872
+ "properties": {
873
+ "binding": {
874
+ "properties": {
875
+ "type": {
876
+ "const": "zeebe:calledDecision"
877
+ },
878
+ "property": {
879
+ "const": "resultVariable"
880
+ }
881
+ },
882
+ "required": [
883
+ "type",
884
+ "property"
885
+ ]
886
+ }
887
+ },
888
+ "required": [
889
+ "binding"
890
+ ]
891
+ },
892
+ "then": {
893
+ "not": {
894
+ "required": [
895
+ "feel"
896
+ ]
897
+ }
898
+ }
899
+ },
900
+ {
901
+ "if": {
902
+ "properties": {
903
+ "binding": {
904
+ "properties": {
905
+ "type": {
906
+ "const": "zeebe:calledDecision"
907
+ },
908
+ "property": {
909
+ "enum": [
910
+ "resultVariable",
911
+ "decisionId"
912
+ ]
913
+ }
914
+ },
915
+ "required": [
916
+ "type",
917
+ "property"
918
+ ]
919
+ }
920
+ },
921
+ "required": [
922
+ "binding"
923
+ ]
924
+ },
925
+ "then": {
926
+ "required": [
927
+ "type"
928
+ ],
929
+ "properties": {
930
+ "type": {
931
+ "enum": [
932
+ "Hidden",
933
+ "String",
934
+ "Text",
935
+ "Dropdown"
936
+ ]
937
+ }
938
+ }
939
+ }
940
+ },
941
+ {
942
+ "if": {
943
+ "properties": {
944
+ "binding": {
945
+ "properties": {
946
+ "type": {
947
+ "const": "zeebe:script"
948
+ },
949
+ "property": {
950
+ "const": "resultVariable"
951
+ }
952
+ },
953
+ "required": [
954
+ "type",
955
+ "property"
956
+ ]
957
+ }
958
+ },
959
+ "required": [
960
+ "binding"
961
+ ]
962
+ },
963
+ "then": {
964
+ "not": {
965
+ "required": [
966
+ "feel"
967
+ ]
968
+ }
969
+ }
970
+ },
971
+ {
972
+ "if": {
973
+ "properties": {
974
+ "type": {
975
+ "enum": [
976
+ "String",
977
+ "Text"
978
+ ]
979
+ },
980
+ "binding": {
981
+ "properties": {
982
+ "type": {
983
+ "const": "zeebe:script"
984
+ },
985
+ "property": {
986
+ "const": "expression"
987
+ }
988
+ },
989
+ "required": [
990
+ "type",
991
+ "property"
992
+ ]
993
+ }
994
+ },
995
+ "required": [
996
+ "type",
997
+ "binding"
998
+ ]
999
+ },
1000
+ "then": {
1001
+ "properties": {
1002
+ "feel": {
1003
+ "enum": [
1004
+ "required"
1005
+ ]
1006
+ }
1007
+ },
1008
+ "required": [
1009
+ "feel"
1010
+ ]
1011
+ }
1012
+ },
1013
+ {
1014
+ "if": {
1015
+ "properties": {
1016
+ "binding": {
1017
+ "properties": {
1018
+ "type": {
1019
+ "const": "zeebe:script"
1020
+ },
1021
+ "property": {
1022
+ "enum": [
1023
+ "resultVariable",
1024
+ "expression"
1025
+ ]
1026
+ }
1027
+ },
1028
+ "required": [
1029
+ "type",
1030
+ "property"
1031
+ ]
1032
+ }
1033
+ },
1034
+ "required": [
1035
+ "binding"
1036
+ ]
1037
+ },
1038
+ "then": {
1039
+ "required": [
1040
+ "type"
1041
+ ],
1042
+ "properties": {
1043
+ "type": {
1044
+ "enum": [
1045
+ "Hidden",
1046
+ "String",
1047
+ "Text",
1048
+ "Dropdown"
1049
+ ]
1050
+ }
1051
+ }
1052
+ }
764
1053
  }
765
1054
  ],
766
1055
  "properties": {
@@ -799,7 +1088,66 @@
799
1088
  "if": {
800
1089
  "properties": {
801
1090
  "type": {
802
- "const": "zeebe:output"
1091
+ "const": "zeebe:output"
1092
+ }
1093
+ },
1094
+ "required": [
1095
+ "type"
1096
+ ]
1097
+ },
1098
+ "then": {
1099
+ "required": [
1100
+ "source"
1101
+ ]
1102
+ }
1103
+ },
1104
+ {
1105
+ "if": {
1106
+ "properties": {
1107
+ "type": {
1108
+ "const": "zeebe:taskHeader"
1109
+ }
1110
+ },
1111
+ "required": [
1112
+ "type"
1113
+ ]
1114
+ },
1115
+ "then": {
1116
+ "required": [
1117
+ "key"
1118
+ ]
1119
+ }
1120
+ },
1121
+ {
1122
+ "if": {
1123
+ "properties": {
1124
+ "type": {
1125
+ "const": "zeebe:taskDefinition"
1126
+ }
1127
+ },
1128
+ "required": [
1129
+ "type"
1130
+ ]
1131
+ },
1132
+ "then": {
1133
+ "properties": {
1134
+ "property": {
1135
+ "enum": [
1136
+ "type",
1137
+ "retries"
1138
+ ]
1139
+ }
1140
+ },
1141
+ "required": [
1142
+ "property"
1143
+ ]
1144
+ }
1145
+ },
1146
+ {
1147
+ "if": {
1148
+ "properties": {
1149
+ "type": {
1150
+ "const": "zeebe:taskDefinition:type"
803
1151
  }
804
1152
  },
805
1153
  "required": [
@@ -807,16 +1155,14 @@
807
1155
  ]
808
1156
  },
809
1157
  "then": {
810
- "required": [
811
- "source"
812
- ]
1158
+ "deprecated": true
813
1159
  }
814
1160
  },
815
1161
  {
816
1162
  "if": {
817
1163
  "properties": {
818
1164
  "type": {
819
- "const": "zeebe:taskHeader"
1165
+ "const": "zeebe:calledElement"
820
1166
  }
821
1167
  },
822
1168
  "required": [
@@ -824,8 +1170,13 @@
824
1170
  ]
825
1171
  },
826
1172
  "then": {
1173
+ "properties": {
1174
+ "property": {
1175
+ "const": "processId"
1176
+ }
1177
+ },
827
1178
  "required": [
828
- "key"
1179
+ "property"
829
1180
  ]
830
1181
  }
831
1182
  },
@@ -833,7 +1184,7 @@
833
1184
  "if": {
834
1185
  "properties": {
835
1186
  "type": {
836
- "const": "zeebe:taskDefinition"
1187
+ "const": "zeebe:script"
837
1188
  }
838
1189
  },
839
1190
  "required": [
@@ -844,8 +1195,8 @@
844
1195
  "properties": {
845
1196
  "property": {
846
1197
  "enum": [
847
- "type",
848
- "retries"
1198
+ "expression",
1199
+ "resultVariable"
849
1200
  ]
850
1201
  }
851
1202
  },
@@ -858,7 +1209,7 @@
858
1209
  "if": {
859
1210
  "properties": {
860
1211
  "type": {
861
- "const": "zeebe:taskDefinition:type"
1212
+ "const": "zeebe:formDefinition"
862
1213
  }
863
1214
  },
864
1215
  "required": [
@@ -866,14 +1217,24 @@
866
1217
  ]
867
1218
  },
868
1219
  "then": {
869
- "deprecated": true
1220
+ "properties": {
1221
+ "property": {
1222
+ "enum": [
1223
+ "formId",
1224
+ "externalReference"
1225
+ ]
1226
+ }
1227
+ },
1228
+ "required": [
1229
+ "property"
1230
+ ]
870
1231
  }
871
1232
  },
872
1233
  {
873
1234
  "if": {
874
1235
  "properties": {
875
1236
  "type": {
876
- "const": "zeebe:calledElement"
1237
+ "const": "zeebe:calledDecision"
877
1238
  }
878
1239
  },
879
1240
  "required": [
@@ -883,7 +1244,10 @@
883
1244
  "then": {
884
1245
  "properties": {
885
1246
  "property": {
886
- "const": "processId"
1247
+ "enum": [
1248
+ "decisionId",
1249
+ "resultVariable"
1250
+ ]
887
1251
  }
888
1252
  },
889
1253
  "required": [
@@ -940,7 +1304,11 @@
940
1304
  "bpmn:Message#zeebe:subscription#property",
941
1305
  "zeebe:taskDefinition",
942
1306
  "zeebe:calledElement",
943
- "zeebe:linkedResource"
1307
+ "zeebe:linkedResource",
1308
+ "zeebe:userTask",
1309
+ "zeebe:formDefinition",
1310
+ "zeebe:calledDecision",
1311
+ "zeebe:script"
944
1312
  ]
945
1313
  },
946
1314
  "name": {
@@ -1126,6 +1494,15 @@
1126
1494
  "description": "Some custom properties for further configuration.",
1127
1495
  "default": {}
1128
1496
  },
1497
+ "keywords": {
1498
+ "$id": "#/keywords",
1499
+ "type": "array",
1500
+ "items": {
1501
+ "type": "string"
1502
+ },
1503
+ "description": "List of keywords to describe the element template.",
1504
+ "default": []
1505
+ },
1129
1506
  "entriesVisible": {
1130
1507
  "$id": "#/entriesVisible",
1131
1508
  "type": "boolean",
@@ -1161,23 +1538,239 @@
1161
1538
  "type": "string",
1162
1539
  "description": "The id of the custom group"
1163
1540
  },
1164
- "label": {
1165
- "$id": "#/groups/group/label",
1166
- "type": "string",
1167
- "description": "The label of the custom group"
1541
+ "label": {
1542
+ "$id": "#/groups/group/label",
1543
+ "type": "string",
1544
+ "description": "The label of the custom group"
1545
+ }
1546
+ }
1547
+ }
1548
+ },
1549
+ "documentationRef": {
1550
+ "$id": "#/documentationRef",
1551
+ "type": "string",
1552
+ "pattern": "^(https|http)://.*"
1553
+ }
1554
+ }
1555
+ },
1556
+ {
1557
+ "allOf": [
1558
+ {
1559
+ "if": {
1560
+ "properties": {
1561
+ "properties": {
1562
+ "contains": {
1563
+ "properties": {
1564
+ "binding": {
1565
+ "properties": {
1566
+ "type": {
1567
+ "const": "bpmn:Message#property"
1568
+ }
1569
+ },
1570
+ "required": [
1571
+ "type"
1572
+ ]
1573
+ }
1574
+ },
1575
+ "required": [
1576
+ "binding"
1577
+ ]
1578
+ }
1579
+ }
1580
+ },
1581
+ "required": [
1582
+ "properties"
1583
+ ]
1584
+ },
1585
+ "then": {
1586
+ "required": [
1587
+ "elementType"
1588
+ ],
1589
+ "properties": {
1590
+ "elementType": {
1591
+ "required": [
1592
+ "value"
1593
+ ],
1594
+ "properties": {
1595
+ "value": {
1596
+ "enum": [
1597
+ "bpmn:ReceiveTask",
1598
+ "bpmn:SendTask",
1599
+ "bpmn:StartEvent",
1600
+ "bpmn:IntermediateCatchEvent",
1601
+ "bpmn:IntermediateThrowEvent",
1602
+ "bpmn:BoundaryEvent",
1603
+ "bpmn:EndEvent"
1604
+ ]
1605
+ }
1606
+ },
1607
+ "allOf": [
1608
+ {
1609
+ "if": {
1610
+ "properties": {
1611
+ "value": {
1612
+ "enum": [
1613
+ "bpmn:StartEvent",
1614
+ "bpmn:IntermediateCatchEvent",
1615
+ "bpmn:IntermediateThrowEvent",
1616
+ "bpmn:BoundaryEvent",
1617
+ "bpmn:EndEvent"
1618
+ ]
1619
+ }
1620
+ }
1621
+ },
1622
+ "then": {
1623
+ "eventDefinition": {
1624
+ "const": "bpmn:MessageEventDefinition"
1625
+ },
1626
+ "required": [
1627
+ "eventDefinition"
1628
+ ]
1629
+ }
1630
+ }
1631
+ ]
1632
+ }
1633
+ }
1634
+ }
1635
+ },
1636
+ {
1637
+ "if": {
1638
+ "properties": {
1639
+ "properties": {
1640
+ "contains": {
1641
+ "properties": {
1642
+ "binding": {
1643
+ "properties": {
1644
+ "type": {
1645
+ "const": "bpmn:Message#zeebe:subscription#property"
1646
+ }
1647
+ },
1648
+ "required": [
1649
+ "type"
1650
+ ]
1651
+ }
1652
+ },
1653
+ "required": [
1654
+ "binding"
1655
+ ]
1656
+ }
1657
+ }
1658
+ },
1659
+ "required": [
1660
+ "properties"
1661
+ ]
1662
+ },
1663
+ "then": {
1664
+ "required": [
1665
+ "elementType"
1666
+ ],
1667
+ "properties": {
1668
+ "elementType": {
1669
+ "required": [
1670
+ "value"
1671
+ ],
1672
+ "properties": {
1673
+ "value": {
1674
+ "enum": [
1675
+ "bpmn:ReceiveTask",
1676
+ "bpmn:StartEvent",
1677
+ "bpmn:IntermediateCatchEvent",
1678
+ "bpmn:IntermediateThrowEvent",
1679
+ "bpmn:BoundaryEvent",
1680
+ "bpmn:EndEvent"
1681
+ ]
1682
+ }
1683
+ },
1684
+ "allOf": [
1685
+ {
1686
+ "if": {
1687
+ "properties": {
1688
+ "value": {
1689
+ "enum": [
1690
+ "bpmn:StartEvent",
1691
+ "bpmn:IntermediateCatchEvent",
1692
+ "bpmn:IntermediateThrowEvent",
1693
+ "bpmn:BoundaryEvent",
1694
+ "bpmn:EndEvent"
1695
+ ]
1696
+ }
1697
+ }
1698
+ },
1699
+ "then": {
1700
+ "eventDefinition": {
1701
+ "const": "bpmn:MessageEventDefinition"
1702
+ },
1703
+ "required": [
1704
+ "eventDefinition"
1705
+ ]
1706
+ }
1707
+ }
1708
+ ]
1709
+ }
1710
+ }
1711
+ }
1712
+ },
1713
+ {
1714
+ "if": {
1715
+ "properties": {
1716
+ "properties": {
1717
+ "contains": {
1718
+ "properties": {
1719
+ "binding": {
1720
+ "properties": {
1721
+ "type": {
1722
+ "const": "zeebe:calledElement"
1723
+ }
1724
+ },
1725
+ "required": [
1726
+ "type"
1727
+ ]
1728
+ }
1729
+ },
1730
+ "required": [
1731
+ "binding"
1732
+ ]
1733
+ }
1734
+ }
1735
+ },
1736
+ "required": [
1737
+ "properties"
1738
+ ]
1739
+ },
1740
+ "then": {
1741
+ "anyOf": [
1742
+ {
1743
+ "required": [
1744
+ "elementType"
1745
+ ],
1746
+ "properties": {
1747
+ "elementType": {
1748
+ "required": [
1749
+ "value"
1750
+ ],
1751
+ "properties": {
1752
+ "value": {
1753
+ "const": "bpmn:CallActivity"
1754
+ }
1755
+ }
1756
+ }
1757
+ }
1758
+ },
1759
+ {
1760
+ "required": [
1761
+ "appliesTo"
1762
+ ],
1763
+ "properties": {
1764
+ "appliesTo": {
1765
+ "const": [
1766
+ "bpmn:CallActivity"
1767
+ ]
1768
+ }
1769
+ }
1168
1770
  }
1169
- }
1771
+ ]
1170
1772
  }
1171
1773
  },
1172
- "documentationRef": {
1173
- "$id": "#/documentationRef",
1174
- "type": "string",
1175
- "pattern": "^(https|http)://.*"
1176
- }
1177
- }
1178
- },
1179
- {
1180
- "allOf": [
1181
1774
  {
1182
1775
  "if": {
1183
1776
  "properties": {
@@ -1187,7 +1780,7 @@
1187
1780
  "binding": {
1188
1781
  "properties": {
1189
1782
  "type": {
1190
- "const": "bpmn:Message#property"
1783
+ "const": "zeebe:userTask"
1191
1784
  }
1192
1785
  },
1193
1786
  "required": [
@@ -1216,44 +1809,69 @@
1216
1809
  ],
1217
1810
  "properties": {
1218
1811
  "value": {
1219
- "enum": [
1220
- "bpmn:ReceiveTask",
1221
- "bpmn:SendTask",
1222
- "bpmn:StartEvent",
1223
- "bpmn:IntermediateCatchEvent",
1224
- "bpmn:IntermediateThrowEvent",
1225
- "bpmn:BoundaryEvent",
1226
- "bpmn:EndEvent"
1227
- ]
1812
+ "const": "bpmn:UserTask"
1228
1813
  }
1229
- },
1230
- "allOf": [
1231
- {
1232
- "if": {
1814
+ }
1815
+ }
1816
+ }
1817
+ }
1818
+ },
1819
+ {
1820
+ "if": {
1821
+ "properties": {
1822
+ "properties": {
1823
+ "contains": {
1824
+ "properties": {
1825
+ "binding": {
1233
1826
  "properties": {
1234
- "value": {
1235
- "enum": [
1236
- "bpmn:StartEvent",
1237
- "bpmn:IntermediateCatchEvent",
1238
- "bpmn:IntermediateThrowEvent",
1239
- "bpmn:BoundaryEvent",
1240
- "bpmn:EndEvent"
1827
+ "type": {
1828
+ "const": "zeebe:formDefinition"
1829
+ }
1830
+ },
1831
+ "required": [
1832
+ "type"
1833
+ ]
1834
+ }
1835
+ },
1836
+ "required": [
1837
+ "binding"
1838
+ ]
1839
+ }
1840
+ }
1841
+ },
1842
+ "required": [
1843
+ "properties"
1844
+ ]
1845
+ },
1846
+ "then": {
1847
+ "allOf": [
1848
+ {
1849
+ "properties": {
1850
+ "properties": {
1851
+ "contains": {
1852
+ "properties": {
1853
+ "binding": {
1854
+ "properties": {
1855
+ "type": {
1856
+ "const": "zeebe:userTask"
1857
+ }
1858
+ },
1859
+ "required": [
1860
+ "type"
1241
1861
  ]
1242
1862
  }
1243
- }
1244
- },
1245
- "then": {
1246
- "eventDefinition": {
1247
- "const": "bpmn:MessageEventDefinition"
1248
1863
  },
1249
1864
  "required": [
1250
- "eventDefinition"
1865
+ "binding"
1251
1866
  ]
1252
1867
  }
1253
1868
  }
1869
+ },
1870
+ "required": [
1871
+ "properties"
1254
1872
  ]
1255
1873
  }
1256
- }
1874
+ ]
1257
1875
  }
1258
1876
  },
1259
1877
  {
@@ -1265,7 +1883,7 @@
1265
1883
  "binding": {
1266
1884
  "properties": {
1267
1885
  "type": {
1268
- "const": "bpmn:Message#zeebe:subscription#property"
1886
+ "const": "zeebe:calledDecision"
1269
1887
  }
1270
1888
  },
1271
1889
  "required": [
@@ -1284,53 +1902,119 @@
1284
1902
  ]
1285
1903
  },
1286
1904
  "then": {
1287
- "required": [
1288
- "elementType"
1289
- ],
1290
- "properties": {
1291
- "elementType": {
1905
+ "anyOf": [
1906
+ {
1292
1907
  "required": [
1293
- "value"
1908
+ "elementType"
1294
1909
  ],
1295
1910
  "properties": {
1296
- "value": {
1297
- "enum": [
1298
- "bpmn:ReceiveTask",
1299
- "bpmn:StartEvent",
1300
- "bpmn:IntermediateCatchEvent",
1301
- "bpmn:IntermediateThrowEvent",
1302
- "bpmn:BoundaryEvent",
1303
- "bpmn:EndEvent"
1911
+ "elementType": {
1912
+ "required": [
1913
+ "value"
1914
+ ],
1915
+ "properties": {
1916
+ "value": {
1917
+ "const": "bpmn:BusinessRuleTask"
1918
+ }
1919
+ }
1920
+ }
1921
+ }
1922
+ },
1923
+ {
1924
+ "required": [
1925
+ "appliesTo"
1926
+ ],
1927
+ "properties": {
1928
+ "appliesTo": {
1929
+ "const": [
1930
+ "bpmn:BusinessRuleTask"
1304
1931
  ]
1305
1932
  }
1306
- },
1307
- "allOf": [
1308
- {
1309
- "if": {
1933
+ }
1934
+ }
1935
+ ],
1936
+ "allOf": [
1937
+ {
1938
+ "properties": {
1939
+ "properties": {
1940
+ "contains": {
1310
1941
  "properties": {
1311
- "value": {
1312
- "enum": [
1313
- "bpmn:StartEvent",
1314
- "bpmn:IntermediateCatchEvent",
1315
- "bpmn:IntermediateThrowEvent",
1316
- "bpmn:BoundaryEvent",
1317
- "bpmn:EndEvent"
1942
+ "binding": {
1943
+ "properties": {
1944
+ "property": {
1945
+ "const": "decisionId"
1946
+ }
1947
+ },
1948
+ "required": [
1949
+ "property"
1318
1950
  ]
1319
1951
  }
1320
- }
1321
- },
1322
- "then": {
1323
- "eventDefinition": {
1324
- "const": "bpmn:MessageEventDefinition"
1325
1952
  },
1326
1953
  "required": [
1327
- "eventDefinition"
1954
+ "binding"
1328
1955
  ]
1329
1956
  }
1330
1957
  }
1331
- ]
1958
+ }
1959
+ },
1960
+ {
1961
+ "properties": {
1962
+ "properties": {
1963
+ "contains": {
1964
+ "properties": {
1965
+ "binding": {
1966
+ "properties": {
1967
+ "property": {
1968
+ "const": "resultVariable"
1969
+ }
1970
+ },
1971
+ "required": [
1972
+ "property"
1973
+ ]
1974
+ }
1975
+ },
1976
+ "required": [
1977
+ "binding"
1978
+ ]
1979
+ }
1980
+ }
1981
+ }
1982
+ },
1983
+ {
1984
+ "not": {
1985
+ "properties": {
1986
+ "properties": {
1987
+ "contains": {
1988
+ "properties": {
1989
+ "binding": {
1990
+ "properties": {
1991
+ "type": {
1992
+ "enum": [
1993
+ "zeebe:taskDefinition",
1994
+ "zeebe:taskDefinition:type"
1995
+ ]
1996
+ }
1997
+ },
1998
+ "required": [
1999
+ "type"
2000
+ ]
2001
+ }
2002
+ },
2003
+ "required": [
2004
+ "binding"
2005
+ ]
2006
+ }
2007
+ }
2008
+ },
2009
+ "required": [
2010
+ "properties"
2011
+ ]
2012
+ }
1332
2013
  }
1333
- }
2014
+ ],
2015
+ "required": [
2016
+ "properties"
2017
+ ]
1334
2018
  }
1335
2019
  },
1336
2020
  {
@@ -1342,7 +2026,7 @@
1342
2026
  "binding": {
1343
2027
  "properties": {
1344
2028
  "type": {
1345
- "const": "zeebe:calledElement"
2029
+ "const": "zeebe:script"
1346
2030
  }
1347
2031
  },
1348
2032
  "required": [
@@ -1373,7 +2057,7 @@
1373
2057
  ],
1374
2058
  "properties": {
1375
2059
  "value": {
1376
- "const": "bpmn:CallActivity"
2060
+ "const": "bpmn:ScriptTask"
1377
2061
  }
1378
2062
  }
1379
2063
  }
@@ -1386,11 +2070,93 @@
1386
2070
  "properties": {
1387
2071
  "appliesTo": {
1388
2072
  "const": [
1389
- "bpmn:CallActivity"
2073
+ "bpmn:ScriptTask"
1390
2074
  ]
1391
2075
  }
1392
2076
  }
1393
2077
  }
2078
+ ],
2079
+ "allOf": [
2080
+ {
2081
+ "properties": {
2082
+ "properties": {
2083
+ "contains": {
2084
+ "properties": {
2085
+ "binding": {
2086
+ "properties": {
2087
+ "property": {
2088
+ "const": "expression"
2089
+ }
2090
+ },
2091
+ "required": [
2092
+ "property"
2093
+ ]
2094
+ }
2095
+ },
2096
+ "required": [
2097
+ "binding"
2098
+ ]
2099
+ }
2100
+ }
2101
+ }
2102
+ },
2103
+ {
2104
+ "properties": {
2105
+ "properties": {
2106
+ "contains": {
2107
+ "properties": {
2108
+ "binding": {
2109
+ "properties": {
2110
+ "property": {
2111
+ "const": "resultVariable"
2112
+ }
2113
+ },
2114
+ "required": [
2115
+ "property"
2116
+ ]
2117
+ }
2118
+ },
2119
+ "required": [
2120
+ "binding"
2121
+ ]
2122
+ }
2123
+ }
2124
+ }
2125
+ },
2126
+ {
2127
+ "not": {
2128
+ "properties": {
2129
+ "properties": {
2130
+ "contains": {
2131
+ "properties": {
2132
+ "binding": {
2133
+ "properties": {
2134
+ "type": {
2135
+ "enum": [
2136
+ "zeebe:taskDefinition",
2137
+ "zeebe:taskDefinition:type"
2138
+ ]
2139
+ }
2140
+ },
2141
+ "required": [
2142
+ "type"
2143
+ ]
2144
+ }
2145
+ },
2146
+ "required": [
2147
+ "binding"
2148
+ ]
2149
+ }
2150
+ }
2151
+ },
2152
+ "required": [
2153
+ "properties"
2154
+ ]
2155
+ }
2156
+ }
2157
+ ],
2158
+ "required": [
2159
+ "properties"
1394
2160
  ]
1395
2161
  }
1396
2162
  }
@@ -1421,6 +2187,32 @@
1421
2187
  }
1422
2188
  }
1423
2189
  },
2190
+ "category": {
2191
+ "$id": "#/category",
2192
+ "type": "object",
2193
+ "description": "A custom category to semantically group element templates",
2194
+ "default": {},
2195
+ "example": {
2196
+ "id": "custom-category",
2197
+ "name": "Custom Category"
2198
+ },
2199
+ "properties": {
2200
+ "id": {
2201
+ "$id": "#/category/id",
2202
+ "type": "string",
2203
+ "description": "The unique identifier of the category."
2204
+ },
2205
+ "name": {
2206
+ "$id": "#/category/name",
2207
+ "type": "string",
2208
+ "description": "The name of the category."
2209
+ }
2210
+ },
2211
+ "required": [
2212
+ "id",
2213
+ "name"
2214
+ ]
2215
+ },
1424
2216
  "icon": {
1425
2217
  "$id": "#/icon",
1426
2218
  "type": "object",