@rathnasgala2/schemas 2.22.0 → 3.1.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 (118) hide show
  1. package/README.md +39 -42
  2. package/THIRD_PARTY_LICENSES.json +3 -3
  3. package/diagnostics/diagnostic-map.json +2701 -1449
  4. package/docs/catalogs/app-components.json +435 -1
  5. package/docs/catalogs/app-routes.json +152 -2
  6. package/docs/catalogs/schema-inventory.json +17 -7
  7. package/examples/valid/artifact-manifest/rules.json +2 -2
  8. package/examples/valid/build-input/rules.json +391 -1
  9. package/examples/valid/build-provenance/rules.json +2 -2
  10. package/examples/valid/interactions-config/canonical.json +18 -0
  11. package/examples/valid/interactions-config/rules.json +529 -0
  12. package/examples/valid/publication/rules.json +48 -0
  13. package/examples/valid/theme-contract/canonical.json +355 -19
  14. package/examples/valid/theme-contract/default-3.0.json +660 -0
  15. package/examples/valid/theme-contract/rules.json +3456 -552
  16. package/fixtures/boundary/artifact-manifest/rules.json +2 -2
  17. package/fixtures/boundary/build-input/rules.json +463 -9
  18. package/fixtures/boundary/build-provenance/rules.json +2 -2
  19. package/fixtures/boundary/interactions-config/root.json +18 -0
  20. package/fixtures/boundary/interactions-config/rules.json +725 -0
  21. package/fixtures/boundary/publication/rules.json +53 -0
  22. package/fixtures/boundary/theme-contract/root.json +355 -19
  23. package/fixtures/boundary/theme-contract/rules.json +4158 -1226
  24. package/fixtures/invalid/artifact-manifest/SCHEMA_CONSTANT_INVALID/cases.json +0 -11
  25. package/fixtures/invalid/artifact-manifest/SCHEMA_TYPE_INVALID/cases.json +11 -0
  26. package/fixtures/invalid/build-input/GRAPHEME_LENGTH_INVALID/cases.json +22 -0
  27. package/fixtures/invalid/build-input/HTTPS_URL_INVALID/cases.json +29 -0
  28. package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +168 -0
  29. package/fixtures/invalid/build-input/SCHEMA_ARRAY_TOO_LONG/cases.json +15 -0
  30. package/fixtures/invalid/build-input/SCHEMA_CONSTANT_INVALID/cases.json +20 -0
  31. package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +22 -0
  32. package/fixtures/invalid/build-input/SCHEMA_NEGATED_RULE_MATCHED/cases.json +9 -0
  33. package/fixtures/invalid/build-input/SCHEMA_NUMBER_TOO_LARGE/cases.json +22 -0
  34. package/fixtures/invalid/build-input/SCHEMA_NUMBER_TOO_SMALL/cases.json +22 -0
  35. package/fixtures/invalid/build-input/SCHEMA_OBJECT_TOO_LARGE/cases.json +0 -15
  36. package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +9 -0
  37. package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +429 -0
  38. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +212 -0
  39. package/fixtures/invalid/build-input/SCHEMA_VERSION_UNSUPPORTED/cases.json +22 -0
  40. package/fixtures/invalid/build-provenance/SCHEMA_CONSTANT_INVALID/cases.json +0 -11
  41. package/fixtures/invalid/build-provenance/SCHEMA_TYPE_INVALID/cases.json +11 -0
  42. package/fixtures/invalid/interactions-config/BCP47_INVALID/cases.json +58 -0
  43. package/fixtures/invalid/interactions-config/CANONICAL_ROUTE_INVALID/cases.json +38 -0
  44. package/fixtures/invalid/interactions-config/DIGEST_INVALID/cases.json +20 -0
  45. package/fixtures/invalid/interactions-config/EXTENSION_KEY_INVALID/cases.json +20 -0
  46. package/fixtures/invalid/interactions-config/GIT_OBJECT_ID_INVALID/cases.json +20 -0
  47. package/fixtures/invalid/interactions-config/GRAPHEME_LENGTH_INVALID/cases.json +13 -0
  48. package/fixtures/invalid/interactions-config/HTTPS_URL_INVALID/cases.json +29 -0
  49. package/fixtures/invalid/interactions-config/ISO_COUNTRY_INVALID/cases.json +20 -0
  50. package/fixtures/invalid/interactions-config/PACKAGE_EXACT_INVALID/cases.json +38 -0
  51. package/fixtures/invalid/interactions-config/PACKAGE_RANGE_INVALID/cases.json +38 -0
  52. package/fixtures/invalid/interactions-config/PASSIVE_VISUAL_TOKEN_INVALID/cases.json +11 -0
  53. package/fixtures/invalid/interactions-config/PLAIN_LABEL_INVALID/cases.json +31 -0
  54. package/fixtures/invalid/interactions-config/PLAIN_TEXT_INVALID/cases.json +20 -0
  55. package/fixtures/invalid/interactions-config/REPOSITORY_GLOB_INVALID/cases.json +49 -0
  56. package/fixtures/invalid/interactions-config/REPOSITORY_PATH_INVALID/cases.json +62 -0
  57. package/fixtures/invalid/interactions-config/REQUEST_FIELD_UNKNOWN/cases.json +108 -0
  58. package/fixtures/invalid/interactions-config/RFC3339_INVALID/cases.json +29 -0
  59. package/fixtures/invalid/interactions-config/SCHEMA_ARRAY_TOO_LONG/cases.json +17 -0
  60. package/fixtures/invalid/interactions-config/SCHEMA_CONSTANT_INVALID/cases.json +22 -0
  61. package/fixtures/invalid/interactions-config/SCHEMA_ENUM_INVALID/cases.json +13 -0
  62. package/fixtures/invalid/interactions-config/SCHEMA_NEGATED_RULE_MATCHED/cases.json +11 -0
  63. package/fixtures/invalid/interactions-config/SCHEMA_NUMBER_TOO_LARGE/cases.json +24 -0
  64. package/fixtures/invalid/interactions-config/SCHEMA_NUMBER_TOO_SMALL/cases.json +24 -0
  65. package/fixtures/invalid/interactions-config/SCHEMA_PATTERN_INVALID/cases.json +11 -0
  66. package/fixtures/invalid/interactions-config/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +305 -0
  67. package/fixtures/invalid/interactions-config/SCHEMA_TYPE_INVALID/cases.json +175 -0
  68. package/fixtures/invalid/interactions-config/SCHEMA_VERSION_UNSUPPORTED/cases.json +20 -0
  69. package/fixtures/invalid/interactions-config/SEMVER_INVALID/cases.json +20 -0
  70. package/fixtures/invalid/interactions-config/SEMVER_RANGE_INVALID/cases.json +38 -0
  71. package/fixtures/invalid/interactions-config/SLUG_INVALID/cases.json +38 -0
  72. package/fixtures/invalid/interactions-config/STABLE_ID_INVALID/cases.json +20 -0
  73. package/fixtures/invalid/interactions-config/URN_INVALID/cases.json +38 -0
  74. package/fixtures/invalid/publication/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
  75. package/fixtures/invalid/publication/REQUEST_FIELD_UNKNOWN/cases.json +23 -0
  76. package/fixtures/invalid/publication/SCHEMA_ENUM_INVALID/cases.json +9 -0
  77. package/fixtures/invalid/publication/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +42 -0
  78. package/fixtures/invalid/publication/SCHEMA_TYPE_INVALID/cases.json +18 -0
  79. package/fixtures/invalid/theme-contract/REQUEST_FIELD_UNKNOWN/cases.json +421 -20
  80. package/fixtures/invalid/theme-contract/SCHEMA_ARRAY_TOO_LONG/cases.json +2 -2
  81. package/fixtures/invalid/theme-contract/SCHEMA_ARRAY_TOO_SHORT/cases.json +1 -1
  82. package/fixtures/invalid/theme-contract/SCHEMA_CONSTANT_INVALID/cases.json +2155 -296
  83. package/fixtures/invalid/theme-contract/SCHEMA_ENUM_INVALID/cases.json +229 -9
  84. package/fixtures/invalid/theme-contract/SCHEMA_PATTERN_INVALID/cases.json +176 -0
  85. package/fixtures/invalid/theme-contract/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +8812 -1517
  86. package/fixtures/invalid/theme-contract/SCHEMA_STRING_TOO_LONG/cases.json +22 -0
  87. package/fixtures/manifest.json +21925 -12282
  88. package/fixtures/s2/empty-modules-placements.json +233 -3
  89. package/fixtures/s2/manifest.json +2 -1
  90. package/fixtures/s2/theme-contracts-digest-cycle.json +888 -36
  91. package/fixtures/unknown-field/artifact-manifest/rules.json +1 -1
  92. package/fixtures/unknown-field/build-input/rules.json +233 -1
  93. package/fixtures/unknown-field/build-provenance/rules.json +1 -1
  94. package/fixtures/unknown-field/interactions-config/root.json +19 -0
  95. package/fixtures/unknown-field/interactions-config/rules.json +227 -0
  96. package/fixtures/unknown-field/publication/rules.json +35 -0
  97. package/fixtures/unknown-field/theme-contract/root.json +355 -19
  98. package/fixtures/unknown-field/theme-contract/rules.json +637 -22
  99. package/generated/browser/validator-core.mjs +4 -3
  100. package/generated/typescript/contracts/artifact-manifest.d.ts +1 -1
  101. package/generated/typescript/contracts/build-input.d.ts +66 -1
  102. package/generated/typescript/contracts/build-provenance.d.ts +1 -1
  103. package/generated/typescript/contracts/interactions-config.d.ts +91 -0
  104. package/generated/typescript/contracts/publication.d.ts +12 -0
  105. package/generated/typescript/contracts/theme-contract.d.ts +529 -9
  106. package/generated/typescript/index.d.ts +4 -0
  107. package/generated/typescript/index.js +14 -0
  108. package/openapi/http-catalog.json +230 -2
  109. package/openapi/openapi.yaml +5941 -1509
  110. package/package.json +2 -1
  111. package/sbom.cdx.json +23 -23
  112. package/schemas/artifact-manifest.schema.json +1 -1
  113. package/schemas/build-input.schema.json +136 -2
  114. package/schemas/build-provenance.schema.json +1 -1
  115. package/schemas/interactions-config.schema.json +222 -0
  116. package/schemas/publication.schema.json +21 -0
  117. package/schemas/theme-contract.schema.json +1178 -83
  118. package/src/internal/schema-validator.js +3 -0
@@ -69,6 +69,16 @@
69
69
  "keyword": "minimum",
70
70
  "instance": 1
71
71
  },
72
+ {
73
+ "caseId": "build-input-boundary-089b5be4adfb4363",
74
+ "coveredRuleIds": [
75
+ "build-input:#/$defs/reactionDefinition/properties/label:type"
76
+ ],
77
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
78
+ "schemaPointer": "#/$defs/reactionDefinition/properties/label",
79
+ "keyword": "type",
80
+ "instance": "fixture-1"
81
+ },
72
82
  {
73
83
  "caseId": "build-input-boundary-09038d27f1dcc6f4",
74
84
  "coveredRuleIds": [
@@ -513,6 +523,39 @@
513
523
  "length": 32
514
524
  }
515
525
  },
526
+ {
527
+ "caseId": "build-input-boundary-1d720da6d263c6d0",
528
+ "coveredRuleIds": [
529
+ "build-input:#/$defs/interactionsConfig:additionalProperties",
530
+ "build-input:#/$defs/interactionsConfig:required:comments",
531
+ "build-input:#/$defs/interactionsConfig:required:publicCounts",
532
+ "build-input:#/$defs/interactionsConfig:required:reactions",
533
+ "build-input:#/$defs/interactionsConfig:required:schemaId",
534
+ "build-input:#/$defs/interactionsConfig:required:schemaVersion",
535
+ "build-input:#/$defs/interactionsConfig:type"
536
+ ],
537
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
538
+ "schemaPointer": "#/$defs/interactionsConfig",
539
+ "keyword": "additionalProperties",
540
+ "instance": {
541
+ "schemaId": "urn:gala:schema:interactions-config:2.0.0",
542
+ "schemaVersion": "2.0.0",
543
+ "reactions": {
544
+ "enabled": false,
545
+ "definitions": [
546
+ {
547
+ "key": "fixture-1",
548
+ "label": "fixture-1",
549
+ "visual": { "kind": "emoji", "token": "👍" },
550
+ "order": 1,
551
+ "enabled": false
552
+ }
553
+ ]
554
+ },
555
+ "comments": { "enabled": false, "allowReplies": false, "maxDepth": 1 },
556
+ "publicCounts": { "reactions": false, "comments": false }
557
+ }
558
+ },
516
559
  {
517
560
  "caseId": "build-input-boundary-1dc1d3a2d4ee725e",
518
561
  "coveredRuleIds": ["build-input:#/properties/authors:type"],
@@ -796,6 +839,24 @@
796
839
  "resolvedAuthorIds": ["019c0000-0000-7000-8000-000000000001"]
797
840
  }
798
841
  },
842
+ {
843
+ "caseId": "build-input-boundary-2bb7f0d3a7e36e4e",
844
+ "coveredRuleIds": ["build-input:#/$defs/reactionKey/not:const"],
845
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
846
+ "schemaPointer": "#/$defs/reactionKey/not",
847
+ "keyword": "const",
848
+ "instance": "like"
849
+ },
850
+ {
851
+ "caseId": "build-input-boundary-2c0d28c211de74c5",
852
+ "coveredRuleIds": [
853
+ "build-input:#/$defs/reactionDefinition/properties/enabled:type"
854
+ ],
855
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
856
+ "schemaPointer": "#/$defs/reactionDefinition/properties/enabled",
857
+ "keyword": "type",
858
+ "instance": false
859
+ },
799
860
  {
800
861
  "caseId": "build-input-boundary-2c3e5f6824947504",
801
862
  "coveredRuleIds": [
@@ -816,6 +877,30 @@
816
877
  "keyword": "enum",
817
878
  "instance": "audio/mpeg"
818
879
  },
880
+ {
881
+ "caseId": "build-input-boundary-2de6fc1a672ead33",
882
+ "coveredRuleIds": [
883
+ "build-input:#/$defs/interactionsConfig/properties/reactions:additionalProperties",
884
+ "build-input:#/$defs/interactionsConfig/properties/reactions:required:definitions",
885
+ "build-input:#/$defs/interactionsConfig/properties/reactions:required:enabled",
886
+ "build-input:#/$defs/interactionsConfig/properties/reactions:type"
887
+ ],
888
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
889
+ "schemaPointer": "#/$defs/interactionsConfig/properties/reactions",
890
+ "keyword": "additionalProperties",
891
+ "instance": {
892
+ "enabled": false,
893
+ "definitions": [
894
+ {
895
+ "key": "fixture-1",
896
+ "label": "fixture-1",
897
+ "visual": { "kind": "emoji", "token": "👍" },
898
+ "order": 1,
899
+ "enabled": false
900
+ }
901
+ ]
902
+ }
903
+ },
819
904
  {
820
905
  "caseId": "build-input-boundary-2f3a93f14dcf022a",
821
906
  "coveredRuleIds": [
@@ -830,6 +915,19 @@
830
915
  "length": 20
831
916
  }
832
917
  },
918
+ {
919
+ "caseId": "build-input-boundary-2f7dd89aee58af21",
920
+ "coveredRuleIds": [
921
+ "build-input:#/$defs/interactionsConfig/properties/publicCounts:additionalProperties",
922
+ "build-input:#/$defs/interactionsConfig/properties/publicCounts:required:comments",
923
+ "build-input:#/$defs/interactionsConfig/properties/publicCounts:required:reactions",
924
+ "build-input:#/$defs/interactionsConfig/properties/publicCounts:type"
925
+ ],
926
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
927
+ "schemaPointer": "#/$defs/interactionsConfig/properties/publicCounts",
928
+ "keyword": "additionalProperties",
929
+ "instance": { "reactions": false, "comments": false }
930
+ },
833
931
  {
834
932
  "caseId": "build-input-boundary-3084d1d86c619ace",
835
933
  "coveredRuleIds": [
@@ -982,6 +1080,28 @@
982
1080
  ]
983
1081
  }
984
1082
  },
1083
+ {
1084
+ "caseId": "build-input-boundary-3a2e821669f796be",
1085
+ "coveredRuleIds": [
1086
+ "build-input:#/$defs/reactionDefinition:additionalProperties",
1087
+ "build-input:#/$defs/reactionDefinition:required:enabled",
1088
+ "build-input:#/$defs/reactionDefinition:required:key",
1089
+ "build-input:#/$defs/reactionDefinition:required:label",
1090
+ "build-input:#/$defs/reactionDefinition:required:order",
1091
+ "build-input:#/$defs/reactionDefinition:required:visual",
1092
+ "build-input:#/$defs/reactionDefinition:type"
1093
+ ],
1094
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1095
+ "schemaPointer": "#/$defs/reactionDefinition",
1096
+ "keyword": "additionalProperties",
1097
+ "instance": {
1098
+ "key": "fixture-1",
1099
+ "label": "fixture-1",
1100
+ "visual": { "kind": "emoji", "token": "👍" },
1101
+ "order": 1,
1102
+ "enabled": false
1103
+ }
1104
+ },
985
1105
  {
986
1106
  "caseId": "build-input-boundary-3a3e9f84b2ccb5df",
987
1107
  "coveredRuleIds": [
@@ -1115,6 +1235,16 @@
1115
1235
  "keyword": "pattern",
1116
1236
  "instance": "2.0.0"
1117
1237
  },
1238
+ {
1239
+ "caseId": "build-input-boundary-42b1fbeddb83c007",
1240
+ "coveredRuleIds": [
1241
+ "build-input:#/$defs/publicationNormalized/properties/crawlers/properties/ai:enum"
1242
+ ],
1243
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1244
+ "schemaPointer": "#/$defs/publicationNormalized/properties/crawlers/properties/ai",
1245
+ "keyword": "enum",
1246
+ "instance": "allow"
1247
+ },
1118
1248
  {
1119
1249
  "caseId": "build-input-boundary-43cae41380b85484",
1120
1250
  "coveredRuleIds": [
@@ -1152,6 +1282,21 @@
1152
1282
  "keyword": "type",
1153
1283
  "instance": [{ "type": "website", "uri": "https://fixture-1.example.com/" }]
1154
1284
  },
1285
+ {
1286
+ "caseId": "build-input-boundary-457bb37da57f3fa6",
1287
+ "coveredRuleIds": [
1288
+ "build-input:#/$defs/reactionDefinition/properties/label:x-gala-graphemeLength"
1289
+ ],
1290
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1291
+ "schemaPointer": "#/$defs/reactionDefinition/properties/label",
1292
+ "keyword": "x-gala-graphemeLength",
1293
+ "recipe": {
1294
+ "kind": "schema-string-boundary",
1295
+ "schemaPointer": "#/$defs/reactionDefinition/properties/label",
1296
+ "length": 32,
1297
+ "direction": "maximum"
1298
+ }
1299
+ },
1155
1300
  {
1156
1301
  "caseId": "build-input-boundary-4591eadb531f81d7",
1157
1302
  "coveredRuleIds": [
@@ -1162,6 +1307,18 @@
1162
1307
  "keyword": "type",
1163
1308
  "instance": false
1164
1309
  },
1310
+ {
1311
+ "caseId": "build-input-boundary-45fa7ec39ab0ba71",
1312
+ "coveredRuleIds": [
1313
+ "build-input:#/$defs/reactionKey:not",
1314
+ "build-input:#/$defs/reactionKey:pattern",
1315
+ "build-input:#/$defs/reactionKey:type"
1316
+ ],
1317
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1318
+ "schemaPointer": "#/$defs/reactionKey",
1319
+ "keyword": "not",
1320
+ "instance": "fixture-1"
1321
+ },
1165
1322
  {
1166
1323
  "caseId": "build-input-boundary-460360ddc7189847",
1167
1324
  "coveredRuleIds": [
@@ -1188,6 +1345,17 @@
1188
1345
  "keyword": "pattern",
1189
1346
  "instance": "fixture-1"
1190
1347
  },
1348
+ {
1349
+ "caseId": "build-input-boundary-48bbf7546e5add7b",
1350
+ "coveredRuleIds": [
1351
+ "build-input:#/$defs/interactionsConfig/properties/comments/properties/maxDepth:minimum",
1352
+ "build-input:#/$defs/interactionsConfig/properties/comments/properties/maxDepth:type"
1353
+ ],
1354
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1355
+ "schemaPointer": "#/$defs/interactionsConfig/properties/comments/properties/maxDepth",
1356
+ "keyword": "minimum",
1357
+ "instance": 1
1358
+ },
1191
1359
  {
1192
1360
  "caseId": "build-input-boundary-495e81d1e5b4d5ca",
1193
1361
  "coveredRuleIds": [
@@ -1359,6 +1527,21 @@
1359
1527
  "keyword": "enum",
1360
1528
  "instance": "internal"
1361
1529
  },
1530
+ {
1531
+ "caseId": "build-input-boundary-5879b288772bd361",
1532
+ "coveredRuleIds": [
1533
+ "build-input:#/$defs/interactionsServiceOrigin:maxLength"
1534
+ ],
1535
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1536
+ "schemaPointer": "#/$defs/interactionsServiceOrigin",
1537
+ "keyword": "maxLength",
1538
+ "recipe": {
1539
+ "kind": "schema-string-boundary",
1540
+ "schemaPointer": "#/$defs/interactionsServiceOrigin",
1541
+ "length": 255,
1542
+ "direction": "maximum"
1543
+ }
1544
+ },
1362
1545
  {
1363
1546
  "caseId": "build-input-boundary-5b5e96f439400c47",
1364
1547
  "coveredRuleIds": [
@@ -1486,6 +1669,19 @@
1486
1669
  "keyword": "format",
1487
1670
  "instance": "https://fixture-1.example.com/"
1488
1671
  },
1672
+ {
1673
+ "caseId": "build-input-boundary-640a4c54c680b1b8",
1674
+ "coveredRuleIds": [
1675
+ "build-input:#/$defs/reactionVisual:additionalProperties",
1676
+ "build-input:#/$defs/reactionVisual:required:kind",
1677
+ "build-input:#/$defs/reactionVisual:required:token",
1678
+ "build-input:#/$defs/reactionVisual:type"
1679
+ ],
1680
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1681
+ "schemaPointer": "#/$defs/reactionVisual",
1682
+ "keyword": "additionalProperties",
1683
+ "instance": { "kind": "emoji", "token": "👍" }
1684
+ },
1489
1685
  {
1490
1686
  "caseId": "build-input-boundary-6615d5ab2538f4da",
1491
1687
  "coveredRuleIds": [
@@ -1529,6 +1725,16 @@
1529
1725
  "direction": "minimum"
1530
1726
  }
1531
1727
  },
1728
+ {
1729
+ "caseId": "build-input-boundary-69a3585f8981a7e1",
1730
+ "coveredRuleIds": [
1731
+ "build-input:#/$defs/interactionsConfig/properties/publicCounts/properties/reactions:type"
1732
+ ],
1733
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1734
+ "schemaPointer": "#/$defs/interactionsConfig/properties/publicCounts/properties/reactions",
1735
+ "keyword": "type",
1736
+ "instance": false
1737
+ },
1532
1738
  {
1533
1739
  "caseId": "build-input-boundary-69ffdd2d0518e4ab",
1534
1740
  "coveredRuleIds": [
@@ -1621,6 +1827,16 @@
1621
1827
  "keyword": "required",
1622
1828
  "instance": { "default": "dark" }
1623
1829
  },
1830
+ {
1831
+ "caseId": "build-input-boundary-6fac51fa0278b51f",
1832
+ "coveredRuleIds": [
1833
+ "build-input:#/$defs/interactionsConfig/properties/comments/properties/enabled:type"
1834
+ ],
1835
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1836
+ "schemaPointer": "#/$defs/interactionsConfig/properties/comments/properties/enabled",
1837
+ "keyword": "type",
1838
+ "instance": false
1839
+ },
1624
1840
  {
1625
1841
  "caseId": "build-input-boundary-7024f381e5441094",
1626
1842
  "coveredRuleIds": [
@@ -1760,6 +1976,16 @@
1760
1976
  "rootDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001"
1761
1977
  }
1762
1978
  },
1979
+ {
1980
+ "caseId": "build-input-boundary-79838d5d25af0272",
1981
+ "coveredRuleIds": [
1982
+ "build-input:#/$defs/interactionsConfig/properties/schemaVersion:const"
1983
+ ],
1984
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1985
+ "schemaPointer": "#/$defs/interactionsConfig/properties/schemaVersion",
1986
+ "keyword": "const",
1987
+ "instance": "2.0.0"
1988
+ },
1763
1989
  {
1764
1990
  "caseId": "build-input-boundary-79b0839030b208a5",
1765
1991
  "coveredRuleIds": [
@@ -1781,6 +2007,20 @@
1781
2007
  "keyword": "type",
1782
2008
  "instance": ["light"]
1783
2009
  },
2010
+ {
2011
+ "caseId": "build-input-boundary-7b29598aa882b952",
2012
+ "coveredRuleIds": [
2013
+ "build-input:#/$defs/interactionsConfig/properties/comments:additionalProperties",
2014
+ "build-input:#/$defs/interactionsConfig/properties/comments:required:allowReplies",
2015
+ "build-input:#/$defs/interactionsConfig/properties/comments:required:enabled",
2016
+ "build-input:#/$defs/interactionsConfig/properties/comments:required:maxDepth",
2017
+ "build-input:#/$defs/interactionsConfig/properties/comments:type"
2018
+ ],
2019
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2020
+ "schemaPointer": "#/$defs/interactionsConfig/properties/comments",
2021
+ "keyword": "additionalProperties",
2022
+ "instance": { "enabled": false, "allowReplies": false, "maxDepth": 1 }
2023
+ },
1784
2024
  {
1785
2025
  "caseId": "build-input-boundary-7b3c504b5d19a865",
1786
2026
  "coveredRuleIds": [
@@ -1821,6 +2061,31 @@
1821
2061
  "direction": "maximum"
1822
2062
  }
1823
2063
  },
2064
+ {
2065
+ "caseId": "build-input-boundary-7e1f0587001630ab",
2066
+ "coveredRuleIds": [
2067
+ "build-input:#/$defs/reactionDefinition/properties/order:minimum",
2068
+ "build-input:#/$defs/reactionDefinition/properties/order:type"
2069
+ ],
2070
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2071
+ "schemaPointer": "#/$defs/reactionDefinition/properties/order",
2072
+ "keyword": "minimum",
2073
+ "instance": 1
2074
+ },
2075
+ {
2076
+ "caseId": "build-input-boundary-7f2dfe4d7c77bdb9",
2077
+ "coveredRuleIds": [
2078
+ "build-input:#/$defs/interactionsConfig/properties/reactions/properties/definitions:minItems"
2079
+ ],
2080
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2081
+ "schemaPointer": "#/$defs/interactionsConfig/properties/reactions/properties/definitions",
2082
+ "keyword": "minItems",
2083
+ "recipe": {
2084
+ "kind": "schema-array-boundary",
2085
+ "schemaPointer": "#/$defs/interactionsConfig/properties/reactions/properties/definitions",
2086
+ "length": 0
2087
+ }
2088
+ },
1824
2089
  {
1825
2090
  "caseId": "build-input-boundary-8071b01b5f9399ac",
1826
2091
  "coveredRuleIds": [
@@ -1918,6 +2183,20 @@
1918
2183
  "byteLength": 1
1919
2184
  }
1920
2185
  },
2186
+ {
2187
+ "caseId": "build-input-boundary-82929252730fbfcd",
2188
+ "coveredRuleIds": [
2189
+ "build-input:#/$defs/interactionsConfig/properties/reactions/properties/definitions:maxItems"
2190
+ ],
2191
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2192
+ "schemaPointer": "#/$defs/interactionsConfig/properties/reactions/properties/definitions",
2193
+ "keyword": "maxItems",
2194
+ "recipe": {
2195
+ "kind": "schema-array-boundary",
2196
+ "schemaPointer": "#/$defs/interactionsConfig/properties/reactions/properties/definitions",
2197
+ "length": 16
2198
+ }
2199
+ },
1921
2200
  {
1922
2201
  "caseId": "build-input-boundary-83ef50b3c971e4ce",
1923
2202
  "coveredRuleIds": [
@@ -2027,18 +2306,14 @@
2027
2306
  "instance": 1
2028
2307
  },
2029
2308
  {
2030
- "caseId": "build-input-boundary-8e8dab628c2af0b5",
2309
+ "caseId": "build-input-boundary-8e7aae34a7583be8",
2031
2310
  "coveredRuleIds": [
2032
- "build-input:#/$defs/moduleBuildSelection:maxProperties"
2311
+ "build-input:#/$defs/interactionsConfig/properties/publicCounts/properties/comments:type"
2033
2312
  ],
2034
2313
  "schemaId": "urn:gala:schema:build-input:2.0.0",
2035
- "schemaPointer": "#/$defs/moduleBuildSelection",
2036
- "keyword": "maxProperties",
2037
- "recipe": {
2038
- "kind": "numbered-object",
2039
- "schemaPointer": "#/$defs/moduleBuildSelection",
2040
- "count": 0
2041
- }
2314
+ "schemaPointer": "#/$defs/interactionsConfig/properties/publicCounts/properties/comments",
2315
+ "keyword": "type",
2316
+ "instance": false
2042
2317
  },
2043
2318
  {
2044
2319
  "caseId": "build-input-boundary-917545a304916bd2",
@@ -2166,6 +2441,24 @@
2166
2441
  "keyword": "const",
2167
2442
  "instance": "authored"
2168
2443
  },
2444
+ {
2445
+ "caseId": "build-input-boundary-9b154acb21edaf3b",
2446
+ "coveredRuleIds": [
2447
+ "build-input:#/$defs/interactionsConfig/properties/reactions/properties/definitions:type"
2448
+ ],
2449
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2450
+ "schemaPointer": "#/$defs/interactionsConfig/properties/reactions/properties/definitions",
2451
+ "keyword": "type",
2452
+ "instance": [
2453
+ {
2454
+ "key": "fixture-1",
2455
+ "label": "fixture-1",
2456
+ "visual": { "kind": "emoji", "token": "👍" },
2457
+ "order": 1,
2458
+ "enabled": false
2459
+ }
2460
+ ]
2461
+ },
2169
2462
  {
2170
2463
  "caseId": "build-input-boundary-9cae35af02b29ac8",
2171
2464
  "coveredRuleIds": [
@@ -2229,6 +2522,17 @@
2229
2522
  "keyword": "const",
2230
2523
  "instance": "dark"
2231
2524
  },
2525
+ {
2526
+ "caseId": "build-input-boundary-a1d9a2c7540e849c",
2527
+ "coveredRuleIds": [
2528
+ "build-input:#/$defs/interactionsServiceOrigin:pattern",
2529
+ "build-input:#/$defs/interactionsServiceOrigin:type"
2530
+ ],
2531
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2532
+ "schemaPointer": "#/$defs/interactionsServiceOrigin",
2533
+ "keyword": "pattern",
2534
+ "instance": "https://fixture-1.example.com"
2535
+ },
2232
2536
  {
2233
2537
  "caseId": "build-input-boundary-a1fe5afd17fe635e",
2234
2538
  "coveredRuleIds": [
@@ -2442,6 +2746,16 @@
2442
2746
  "keyword": "format",
2443
2747
  "instance": "@rathnasgala2/fixture-1@2.0.0"
2444
2748
  },
2749
+ {
2750
+ "caseId": "build-input-boundary-b554e3797e8e5321",
2751
+ "coveredRuleIds": [
2752
+ "build-input:#/$defs/reactionVisual/properties/token:enum"
2753
+ ],
2754
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2755
+ "schemaPointer": "#/$defs/reactionVisual/properties/token",
2756
+ "keyword": "enum",
2757
+ "instance": "👍"
2758
+ },
2445
2759
  {
2446
2760
  "caseId": "build-input-boundary-b5cf2e1361db7e04",
2447
2761
  "coveredRuleIds": [
@@ -2486,6 +2800,24 @@
2486
2800
  "length": 1
2487
2801
  }
2488
2802
  },
2803
+ {
2804
+ "caseId": "build-input-boundary-ba01be96fcab831d",
2805
+ "coveredRuleIds": [
2806
+ "build-input:#/$defs/publicationNormalized/properties/newsletter:additionalProperties",
2807
+ "build-input:#/$defs/publicationNormalized/properties/newsletter:required:text",
2808
+ "build-input:#/$defs/publicationNormalized/properties/newsletter:required:title",
2809
+ "build-input:#/$defs/publicationNormalized/properties/newsletter:required:url",
2810
+ "build-input:#/$defs/publicationNormalized/properties/newsletter:type"
2811
+ ],
2812
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2813
+ "schemaPointer": "#/$defs/publicationNormalized/properties/newsletter",
2814
+ "keyword": "additionalProperties",
2815
+ "instance": {
2816
+ "url": "https://fixture-1.example.com/",
2817
+ "title": "fixture-1",
2818
+ "text": "fixture-1"
2819
+ }
2820
+ },
2489
2821
  {
2490
2822
  "caseId": "build-input-boundary-ba5073d37e61c16f",
2491
2823
  "coveredRuleIds": ["build-input:#/$defs/plainLabel:x-gala-graphemeLength"],
@@ -2499,6 +2831,16 @@
2499
2831
  "direction": "maximum"
2500
2832
  }
2501
2833
  },
2834
+ {
2835
+ "caseId": "build-input-boundary-bbb6f27faff215af",
2836
+ "coveredRuleIds": [
2837
+ "build-input:#/$defs/interactionsConfig/properties/reactions/properties/enabled:type"
2838
+ ],
2839
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2840
+ "schemaPointer": "#/$defs/interactionsConfig/properties/reactions/properties/enabled",
2841
+ "keyword": "type",
2842
+ "instance": false
2843
+ },
2502
2844
  {
2503
2845
  "caseId": "build-input-boundary-bbe3a6dd6dde8424",
2504
2846
  "coveredRuleIds": ["build-input:#/properties/authors:maxItems"],
@@ -2702,6 +3044,21 @@
2702
3044
  "keyword": "additionalProperties",
2703
3045
  "instance": {}
2704
3046
  },
3047
+ {
3048
+ "caseId": "build-input-boundary-cc0ea25e8542572b",
3049
+ "coveredRuleIds": [
3050
+ "build-input:#/$defs/publicationNormalized/properties/newsletter/properties/text:x-gala-graphemeLength"
3051
+ ],
3052
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
3053
+ "schemaPointer": "#/$defs/publicationNormalized/properties/newsletter/properties/text",
3054
+ "keyword": "x-gala-graphemeLength",
3055
+ "recipe": {
3056
+ "kind": "schema-string-boundary",
3057
+ "schemaPointer": "#/$defs/publicationNormalized/properties/newsletter/properties/text",
3058
+ "length": 300,
3059
+ "direction": "maximum"
3060
+ }
3061
+ },
2705
3062
  {
2706
3063
  "caseId": "build-input-boundary-cc7462ebba1ad7f3",
2707
3064
  "coveredRuleIds": [
@@ -2832,6 +3189,18 @@
2832
3189
  "adapterDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001"
2833
3190
  }
2834
3191
  },
3192
+ {
3193
+ "caseId": "build-input-boundary-d57132667b4fe56b",
3194
+ "coveredRuleIds": [
3195
+ "build-input:#/$defs/publicationNormalized/properties/crawlers:additionalProperties",
3196
+ "build-input:#/$defs/publicationNormalized/properties/crawlers:required:ai",
3197
+ "build-input:#/$defs/publicationNormalized/properties/crawlers:type"
3198
+ ],
3199
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
3200
+ "schemaPointer": "#/$defs/publicationNormalized/properties/crawlers",
3201
+ "keyword": "additionalProperties",
3202
+ "instance": { "ai": "allow" }
3203
+ },
2835
3204
  {
2836
3205
  "caseId": "build-input-boundary-d6388b277331433a",
2837
3206
  "coveredRuleIds": [
@@ -2886,6 +3255,26 @@
2886
3255
  "keyword": "required",
2887
3256
  "instance": { "default": "system" }
2888
3257
  },
3258
+ {
3259
+ "caseId": "build-input-boundary-d86f88097392b8c0",
3260
+ "coveredRuleIds": [
3261
+ "build-input:#/$defs/reactionVisual/properties/kind:const"
3262
+ ],
3263
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
3264
+ "schemaPointer": "#/$defs/reactionVisual/properties/kind",
3265
+ "keyword": "const",
3266
+ "instance": "emoji"
3267
+ },
3268
+ {
3269
+ "caseId": "build-input-boundary-dadbcb3741fe2efd",
3270
+ "coveredRuleIds": [
3271
+ "build-input:#/$defs/interactionsConfig/properties/comments/properties/allowReplies:type"
3272
+ ],
3273
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
3274
+ "schemaPointer": "#/$defs/interactionsConfig/properties/comments/properties/allowReplies",
3275
+ "keyword": "type",
3276
+ "instance": false
3277
+ },
2889
3278
  {
2890
3279
  "caseId": "build-input-boundary-dbd9a4239859ec61",
2891
3280
  "coveredRuleIds": [
@@ -3006,6 +3395,16 @@
3006
3395
  "length": 32
3007
3396
  }
3008
3397
  },
3398
+ {
3399
+ "caseId": "build-input-boundary-e21a9c992c84cf81",
3400
+ "coveredRuleIds": [
3401
+ "build-input:#/$defs/reactionDefinition/properties/order:maximum"
3402
+ ],
3403
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
3404
+ "schemaPointer": "#/$defs/reactionDefinition/properties/order",
3405
+ "keyword": "maximum",
3406
+ "instance": 16
3407
+ },
3009
3408
  {
3010
3409
  "caseId": "build-input-boundary-e2499a53cc86ac96",
3011
3410
  "coveredRuleIds": [
@@ -3117,6 +3516,16 @@
3117
3516
  "keyword": "const",
3118
3517
  "instance": "2.0.0"
3119
3518
  },
3519
+ {
3520
+ "caseId": "build-input-boundary-ed7fea4f3f632b54",
3521
+ "coveredRuleIds": [
3522
+ "build-input:#/$defs/interactionsConfig/properties/schemaId:const"
3523
+ ],
3524
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
3525
+ "schemaPointer": "#/$defs/interactionsConfig/properties/schemaId",
3526
+ "keyword": "const",
3527
+ "instance": "urn:gala:schema:interactions-config:2.0.0"
3528
+ },
3120
3529
  {
3121
3530
  "caseId": "build-input-boundary-ee7585b9a9107522",
3122
3531
  "coveredRuleIds": [
@@ -3131,6 +3540,16 @@
3131
3540
  "length": 100
3132
3541
  }
3133
3542
  },
3543
+ {
3544
+ "caseId": "build-input-boundary-f072a8d84ef69342",
3545
+ "coveredRuleIds": [
3546
+ "build-input:#/$defs/interactionsConfig/properties/comments/properties/maxDepth:maximum"
3547
+ ],
3548
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
3549
+ "schemaPointer": "#/$defs/interactionsConfig/properties/comments/properties/maxDepth",
3550
+ "keyword": "maximum",
3551
+ "instance": 4
3552
+ },
3134
3553
  {
3135
3554
  "caseId": "build-input-boundary-f0f505c92729ddac",
3136
3555
  "coveredRuleIds": [
@@ -3240,6 +3659,41 @@
3240
3659
  "capabilityDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001"
3241
3660
  }
3242
3661
  },
3662
+ {
3663
+ "caseId": "build-input-boundary-fd92423b0a10fbff",
3664
+ "coveredRuleIds": [
3665
+ "build-input:#/$defs/moduleBuildSelection/properties/interactions:additionalProperties",
3666
+ "build-input:#/$defs/moduleBuildSelection/properties/interactions:required:apiOrigin",
3667
+ "build-input:#/$defs/moduleBuildSelection/properties/interactions:required:appOrigin",
3668
+ "build-input:#/$defs/moduleBuildSelection/properties/interactions:required:config",
3669
+ "build-input:#/$defs/moduleBuildSelection/properties/interactions:type"
3670
+ ],
3671
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
3672
+ "schemaPointer": "#/$defs/moduleBuildSelection/properties/interactions",
3673
+ "keyword": "additionalProperties",
3674
+ "instance": {
3675
+ "config": {
3676
+ "schemaId": "urn:gala:schema:interactions-config:2.0.0",
3677
+ "schemaVersion": "2.0.0",
3678
+ "reactions": {
3679
+ "enabled": false,
3680
+ "definitions": [
3681
+ {
3682
+ "key": "fixture-1",
3683
+ "label": "fixture-1",
3684
+ "visual": { "kind": "emoji", "token": "👍" },
3685
+ "order": 1,
3686
+ "enabled": false
3687
+ }
3688
+ ]
3689
+ },
3690
+ "comments": { "enabled": false, "allowReplies": false, "maxDepth": 1 },
3691
+ "publicCounts": { "reactions": false, "comments": false }
3692
+ },
3693
+ "apiOrigin": "https://fixture-1.example.com",
3694
+ "appOrigin": "https://fixture-1.example.com"
3695
+ }
3696
+ },
3243
3697
  {
3244
3698
  "caseId": "build-input-boundary-fdc22c67a2150db3",
3245
3699
  "coveredRuleIds": [