@rathnasgala2/schemas 3.7.0 → 3.8.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 (51) hide show
  1. package/THIRD_PARTY_LICENSES.json +1 -1
  2. package/diagnostics/diagnostic-map.json +845 -20
  3. package/docs/catalogs/schema-inventory.json +10 -10
  4. package/examples/valid/build-input/rules.json +24 -2
  5. package/examples/valid/template-composition/rules.json +769 -0
  6. package/examples/valid/theme-contract/rules.json +1107 -5
  7. package/fixtures/boundary/build-input/rules.json +24 -2
  8. package/fixtures/boundary/template-composition/rules.json +769 -0
  9. package/fixtures/boundary/theme-contract/rules.json +1107 -5
  10. package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +22 -11
  11. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +22 -0
  12. package/fixtures/invalid/build-input/SCHEMA_UNION_INVALID/cases.json +11 -0
  13. package/fixtures/invalid/template-composition/SCHEMA_CONSTANT_INVALID/cases.json +497 -0
  14. package/fixtures/invalid/template-composition/SCHEMA_ENUM_INVALID/cases.json +83 -0
  15. package/fixtures/invalid/template-composition/SCHEMA_NEGATED_RULE_MATCHED/cases.json +11 -0
  16. package/fixtures/invalid/template-composition/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +909 -0
  17. package/fixtures/invalid/template-composition/SCHEMA_UNION_INVALID/cases.json +20 -0
  18. package/fixtures/invalid/theme-contract/REQUEST_FIELD_UNKNOWN/cases.json +120 -0
  19. package/fixtures/invalid/theme-contract/SCHEMA_CONSTANT_INVALID/cases.json +680 -0
  20. package/fixtures/invalid/theme-contract/SCHEMA_NEGATED_RULE_MATCHED/cases.json +11 -0
  21. package/fixtures/invalid/theme-contract/SCHEMA_PATTERN_INVALID/cases.json +33 -9
  22. package/fixtures/invalid/theme-contract/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1383 -3
  23. package/fixtures/invalid/theme-contract/SCHEMA_TYPE_INVALID/cases.json +77 -0
  24. package/fixtures/invalid/theme-contract/SCHEMA_UNION_INVALID/cases.json +18 -0
  25. package/fixtures/invalid/theme-contract/SCHEMA_VERSION_UNSUPPORTED/cases.json +110 -0
  26. package/fixtures/manifest.json +7414 -1089
  27. package/fixtures/s2/manifest.json +1 -1
  28. package/fixtures/unknown-field/build-input/rules.json +5 -1
  29. package/fixtures/unknown-field/template-composition/rules.json +111 -0
  30. package/fixtures/unknown-field/theme-contract/rules.json +276 -1
  31. package/generated/browser/validator-core.mjs +3 -3
  32. package/generated/typescript/contracts/artifact-manifest.d.ts +4 -2
  33. package/generated/typescript/contracts/build-input.d.ts +3 -2
  34. package/generated/typescript/contracts/build-provenance.d.ts +4 -2
  35. package/generated/typescript/contracts/deployment-intent.d.ts +1 -0
  36. package/generated/typescript/contracts/deployment-receipt.d.ts +1 -0
  37. package/generated/typescript/contracts/lock.d.ts +2 -1
  38. package/generated/typescript/contracts/template-composition.d.ts +75 -4
  39. package/generated/typescript/contracts/theme-contract.d.ts +75 -2
  40. package/openapi/http-catalog.json +2 -2
  41. package/openapi/openapi.yaml +41 -10
  42. package/package.json +1 -1
  43. package/sbom.cdx.json +23 -23
  44. package/schemas/artifact-manifest.schema.json +4 -2
  45. package/schemas/build-input.schema.json +12 -2
  46. package/schemas/build-provenance.schema.json +4 -2
  47. package/schemas/deployment-intent.schema.json +1 -0
  48. package/schemas/deployment-receipt.schema.json +1 -0
  49. package/schemas/lock.schema.json +2 -1
  50. package/schemas/template-composition.schema.json +179 -2
  51. package/schemas/theme-contract.schema.json +282 -1
@@ -15,7 +15,7 @@
15
15
  "internalSemanticCoverage": [
16
16
  {
17
17
  "file": "test/t03-theme-composition-semantics.test.js",
18
- "testName": "template-composition admits only its two exact discriminator fields"
18
+ "testName": "template-composition admits the legacy empty contract and five exact generation-4 profiles"
19
19
  }
20
20
  ]
21
21
  },
@@ -108,7 +108,11 @@
108
108
  "build-input:#/$defs/appearanceNormalized/properties/fontAssets:type",
109
109
  "build-input:#/$defs/appearanceNormalized/properties/footerComposition:enum",
110
110
  "build-input:#/$defs/appearanceNormalized/properties/headerComposition:enum",
111
- "build-input:#/$defs/appearanceNormalized/properties/theme/allOf/1:pattern",
111
+ "build-input:#/$defs/appearanceNormalized/properties/theme/allOf/1/anyOf/0:pattern",
112
+ "build-input:#/$defs/appearanceNormalized/properties/theme/allOf/1/anyOf/0:type",
113
+ "build-input:#/$defs/appearanceNormalized/properties/theme/allOf/1/anyOf/1:pattern",
114
+ "build-input:#/$defs/appearanceNormalized/properties/theme/allOf/1/anyOf/1:type",
115
+ "build-input:#/$defs/appearanceNormalized/properties/theme/allOf/1:anyOf",
112
116
  "build-input:#/$defs/appearanceNormalized/properties/typeScale:enum",
113
117
  "build-input:#/$defs/appearanceNormalized:additionalProperties",
114
118
  "build-input:#/$defs/appearanceNormalized:required:colorMode",
@@ -69,9 +69,120 @@
69
69
  "template-composition:#/$defs/urn:minLength",
70
70
  "template-composition:#/$defs/urn:pattern",
71
71
  "template-composition:#/$defs/urn:type",
72
+ "template-composition:#/oneOf/0/not/anyOf/0:required:profile",
73
+ "template-composition:#/oneOf/0/not/anyOf/1:required:homeLayout",
74
+ "template-composition:#/oneOf/0/not/anyOf/2:required:articleLayout",
75
+ "template-composition:#/oneOf/0/not/anyOf/3:required:authorLayout",
76
+ "template-composition:#/oneOf/0/not/anyOf/4:required:listingLayout",
77
+ "template-composition:#/oneOf/0/not/anyOf/5:required:headerLayout",
78
+ "template-composition:#/oneOf/0/not/anyOf/6:required:footerLayout",
79
+ "template-composition:#/oneOf/0/not/anyOf/7:required:mediaRatio",
80
+ "template-composition:#/oneOf/0/not/anyOf/8:required:density",
81
+ "template-composition:#/oneOf/0/not:anyOf",
82
+ "template-composition:#/oneOf/0:not",
83
+ "template-composition:#/oneOf/1/properties/articleLayout:const",
84
+ "template-composition:#/oneOf/1/properties/authorLayout:const",
85
+ "template-composition:#/oneOf/1/properties/density:const",
86
+ "template-composition:#/oneOf/1/properties/footerLayout:const",
87
+ "template-composition:#/oneOf/1/properties/headerLayout:const",
88
+ "template-composition:#/oneOf/1/properties/homeLayout:const",
89
+ "template-composition:#/oneOf/1/properties/listingLayout:const",
90
+ "template-composition:#/oneOf/1/properties/mediaRatio:const",
91
+ "template-composition:#/oneOf/1/properties/profile:const",
92
+ "template-composition:#/oneOf/1:required:articleLayout",
93
+ "template-composition:#/oneOf/1:required:authorLayout",
94
+ "template-composition:#/oneOf/1:required:density",
95
+ "template-composition:#/oneOf/1:required:footerLayout",
96
+ "template-composition:#/oneOf/1:required:headerLayout",
97
+ "template-composition:#/oneOf/1:required:homeLayout",
98
+ "template-composition:#/oneOf/1:required:listingLayout",
99
+ "template-composition:#/oneOf/1:required:mediaRatio",
100
+ "template-composition:#/oneOf/1:required:profile",
101
+ "template-composition:#/oneOf/2/properties/articleLayout:const",
102
+ "template-composition:#/oneOf/2/properties/authorLayout:const",
103
+ "template-composition:#/oneOf/2/properties/density:const",
104
+ "template-composition:#/oneOf/2/properties/footerLayout:const",
105
+ "template-composition:#/oneOf/2/properties/headerLayout:const",
106
+ "template-composition:#/oneOf/2/properties/homeLayout:const",
107
+ "template-composition:#/oneOf/2/properties/listingLayout:const",
108
+ "template-composition:#/oneOf/2/properties/mediaRatio:const",
109
+ "template-composition:#/oneOf/2/properties/profile:const",
110
+ "template-composition:#/oneOf/2:required:articleLayout",
111
+ "template-composition:#/oneOf/2:required:authorLayout",
112
+ "template-composition:#/oneOf/2:required:density",
113
+ "template-composition:#/oneOf/2:required:footerLayout",
114
+ "template-composition:#/oneOf/2:required:headerLayout",
115
+ "template-composition:#/oneOf/2:required:homeLayout",
116
+ "template-composition:#/oneOf/2:required:listingLayout",
117
+ "template-composition:#/oneOf/2:required:mediaRatio",
118
+ "template-composition:#/oneOf/2:required:profile",
119
+ "template-composition:#/oneOf/3/properties/articleLayout:const",
120
+ "template-composition:#/oneOf/3/properties/authorLayout:const",
121
+ "template-composition:#/oneOf/3/properties/density:const",
122
+ "template-composition:#/oneOf/3/properties/footerLayout:const",
123
+ "template-composition:#/oneOf/3/properties/headerLayout:const",
124
+ "template-composition:#/oneOf/3/properties/homeLayout:const",
125
+ "template-composition:#/oneOf/3/properties/listingLayout:const",
126
+ "template-composition:#/oneOf/3/properties/mediaRatio:const",
127
+ "template-composition:#/oneOf/3/properties/profile:const",
128
+ "template-composition:#/oneOf/3:required:articleLayout",
129
+ "template-composition:#/oneOf/3:required:authorLayout",
130
+ "template-composition:#/oneOf/3:required:density",
131
+ "template-composition:#/oneOf/3:required:footerLayout",
132
+ "template-composition:#/oneOf/3:required:headerLayout",
133
+ "template-composition:#/oneOf/3:required:homeLayout",
134
+ "template-composition:#/oneOf/3:required:listingLayout",
135
+ "template-composition:#/oneOf/3:required:mediaRatio",
136
+ "template-composition:#/oneOf/3:required:profile",
137
+ "template-composition:#/oneOf/4/properties/articleLayout:const",
138
+ "template-composition:#/oneOf/4/properties/authorLayout:const",
139
+ "template-composition:#/oneOf/4/properties/density:const",
140
+ "template-composition:#/oneOf/4/properties/footerLayout:const",
141
+ "template-composition:#/oneOf/4/properties/headerLayout:const",
142
+ "template-composition:#/oneOf/4/properties/homeLayout:const",
143
+ "template-composition:#/oneOf/4/properties/listingLayout:const",
144
+ "template-composition:#/oneOf/4/properties/mediaRatio:const",
145
+ "template-composition:#/oneOf/4/properties/profile:const",
146
+ "template-composition:#/oneOf/4:required:articleLayout",
147
+ "template-composition:#/oneOf/4:required:authorLayout",
148
+ "template-composition:#/oneOf/4:required:density",
149
+ "template-composition:#/oneOf/4:required:footerLayout",
150
+ "template-composition:#/oneOf/4:required:headerLayout",
151
+ "template-composition:#/oneOf/4:required:homeLayout",
152
+ "template-composition:#/oneOf/4:required:listingLayout",
153
+ "template-composition:#/oneOf/4:required:mediaRatio",
154
+ "template-composition:#/oneOf/4:required:profile",
155
+ "template-composition:#/oneOf/5/properties/articleLayout:const",
156
+ "template-composition:#/oneOf/5/properties/authorLayout:const",
157
+ "template-composition:#/oneOf/5/properties/density:const",
158
+ "template-composition:#/oneOf/5/properties/footerLayout:const",
159
+ "template-composition:#/oneOf/5/properties/headerLayout:const",
160
+ "template-composition:#/oneOf/5/properties/homeLayout:const",
161
+ "template-composition:#/oneOf/5/properties/listingLayout:const",
162
+ "template-composition:#/oneOf/5/properties/mediaRatio:const",
163
+ "template-composition:#/oneOf/5/properties/profile:const",
164
+ "template-composition:#/oneOf/5:required:articleLayout",
165
+ "template-composition:#/oneOf/5:required:authorLayout",
166
+ "template-composition:#/oneOf/5:required:density",
167
+ "template-composition:#/oneOf/5:required:footerLayout",
168
+ "template-composition:#/oneOf/5:required:headerLayout",
169
+ "template-composition:#/oneOf/5:required:homeLayout",
170
+ "template-composition:#/oneOf/5:required:listingLayout",
171
+ "template-composition:#/oneOf/5:required:mediaRatio",
172
+ "template-composition:#/oneOf/5:required:profile",
173
+ "template-composition:#/properties/articleLayout:enum",
174
+ "template-composition:#/properties/authorLayout:enum",
175
+ "template-composition:#/properties/density:enum",
176
+ "template-composition:#/properties/footerLayout:enum",
177
+ "template-composition:#/properties/headerLayout:enum",
178
+ "template-composition:#/properties/homeLayout:enum",
179
+ "template-composition:#/properties/listingLayout:enum",
180
+ "template-composition:#/properties/mediaRatio:enum",
181
+ "template-composition:#/properties/profile:enum",
72
182
  "template-composition:#/properties/schemaId:const",
73
183
  "template-composition:#/properties/schemaVersion:const",
74
184
  "template-composition:#:additionalProperties",
185
+ "template-composition:#:oneOf",
75
186
  "template-composition:#:required:schemaId",
76
187
  "template-composition:#:required:schemaVersion",
77
188
  "template-composition:#:type"
@@ -1,4 +1,98 @@
1
1
  [
2
+ {
3
+ "caseId": "theme-contract-unknown-02a7f98091e88d8b",
4
+ "coveredRuleIds": [
5
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/articleLayout:const",
6
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/authorLayout:const",
7
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/density:const",
8
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/footerLayout:const",
9
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/headerLayout:const",
10
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/homeLayout:const",
11
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/listingLayout:const",
12
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/mediaRatio:const",
13
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/profile:const",
14
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/schemaId:const",
15
+ "theme-contract:#/$defs/templateComposition/oneOf/4/properties/schemaVersion:const",
16
+ "theme-contract:#/$defs/templateComposition/oneOf/4:additionalProperties",
17
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:articleLayout",
18
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:authorLayout",
19
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:density",
20
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:footerLayout",
21
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:headerLayout",
22
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:homeLayout",
23
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:listingLayout",
24
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:mediaRatio",
25
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:profile",
26
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:schemaId",
27
+ "theme-contract:#/$defs/templateComposition/oneOf/4:required:schemaVersion",
28
+ "theme-contract:#/$defs/templateComposition/oneOf/4:type"
29
+ ],
30
+ "schemaId": "urn:gala:schema:theme-contract:2.0.0",
31
+ "schemaPointer": "#/$defs/templateComposition/oneOf/4",
32
+ "keyword": "additionalProperties",
33
+ "instance": {
34
+ "schemaId": "urn:gala:schema:template-composition:2.0.0",
35
+ "schemaVersion": "2.0.0",
36
+ "profile": "developer",
37
+ "homeLayout": "topic-index",
38
+ "articleLayout": "technical",
39
+ "authorLayout": "biography",
40
+ "listingLayout": "rows",
41
+ "headerLayout": "utility",
42
+ "footerLayout": "compact",
43
+ "mediaRatio": "landscape",
44
+ "density": "compact",
45
+ "unexpected": true
46
+ },
47
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
48
+ },
49
+ {
50
+ "caseId": "theme-contract-unknown-13f26126bfbc9d27",
51
+ "coveredRuleIds": [
52
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/articleLayout:const",
53
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/authorLayout:const",
54
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/density:const",
55
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/footerLayout:const",
56
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/headerLayout:const",
57
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/homeLayout:const",
58
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/listingLayout:const",
59
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/mediaRatio:const",
60
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/profile:const",
61
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/schemaId:const",
62
+ "theme-contract:#/$defs/templateComposition/oneOf/2/properties/schemaVersion:const",
63
+ "theme-contract:#/$defs/templateComposition/oneOf/2:additionalProperties",
64
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:articleLayout",
65
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:authorLayout",
66
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:density",
67
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:footerLayout",
68
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:headerLayout",
69
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:homeLayout",
70
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:listingLayout",
71
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:mediaRatio",
72
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:profile",
73
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:schemaId",
74
+ "theme-contract:#/$defs/templateComposition/oneOf/2:required:schemaVersion",
75
+ "theme-contract:#/$defs/templateComposition/oneOf/2:type"
76
+ ],
77
+ "schemaId": "urn:gala:schema:theme-contract:2.0.0",
78
+ "schemaPointer": "#/$defs/templateComposition/oneOf/2",
79
+ "keyword": "additionalProperties",
80
+ "instance": {
81
+ "schemaId": "urn:gala:schema:template-composition:2.0.0",
82
+ "schemaVersion": "2.0.0",
83
+ "profile": "visual",
84
+ "homeLayout": "gallery",
85
+ "articleLayout": "full-bleed",
86
+ "authorLayout": "portfolio",
87
+ "listingLayout": "image-grid",
88
+ "headerLayout": "minimal",
89
+ "footerLayout": "compact",
90
+ "mediaRatio": "mixed",
91
+ "density": "comfortable",
92
+ "unexpected": true
93
+ },
94
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
95
+ },
2
96
  {
3
97
  "caseId": "theme-contract-unknown-334359b90efed75d",
4
98
  "coveredRuleIds": [
@@ -76,6 +170,7 @@
76
170
  "theme-contract:#/$defs/spdxExpression:x-gala-utf8ByteLength",
77
171
  "theme-contract:#/$defs/stableId:pattern",
78
172
  "theme-contract:#/$defs/stableId:type",
173
+ "theme-contract:#/$defs/templateComposition:oneOf",
79
174
  "theme-contract:#/$defs/urlHttps:format",
80
175
  "theme-contract:#/$defs/urlHttps:pattern",
81
176
  "theme-contract:#/$defs/urlHttps:type",
@@ -94,12 +189,47 @@
94
189
  "theme-contract:#/allOf/0/oneOf/3/properties/themeId:const",
95
190
  "theme-contract:#/allOf/0/oneOf/4/properties/package:pattern",
96
191
  "theme-contract:#/allOf/0/oneOf/4/properties/themeId:const",
192
+ "theme-contract:#/allOf/0/oneOf/5/properties/package:pattern",
193
+ "theme-contract:#/allOf/0/oneOf/5/properties/themeId:const",
97
194
  "theme-contract:#/allOf/0:oneOf",
98
195
  "theme-contract:#/allOf/1/oneOf/0/properties/cssLayers:const",
99
196
  "theme-contract:#/allOf/1/oneOf/0/properties/stylesheets:const",
100
197
  "theme-contract:#/allOf/1/oneOf/1/properties/cssLayers:const",
101
198
  "theme-contract:#/allOf/1/oneOf/1/properties/stylesheets:const",
102
199
  "theme-contract:#/allOf/1:oneOf",
200
+ "theme-contract:#/allOf/2/else/not:required:composition",
201
+ "theme-contract:#/allOf/2/else:not",
202
+ "theme-contract:#/allOf/2/if/properties/contractVersion:const",
203
+ "theme-contract:#/allOf/2/if:required:contractVersion",
204
+ "theme-contract:#/allOf/2/then/allOf/0/if/properties/themeId:const",
205
+ "theme-contract:#/allOf/2/then/allOf/0/if:required:themeId",
206
+ "theme-contract:#/allOf/2/then/allOf/0/then/properties/composition/properties/profile:const",
207
+ "theme-contract:#/allOf/2/then/allOf/0/then/properties/composition:required:profile",
208
+ "theme-contract:#/allOf/2/then/allOf/1/if/properties/themeId:const",
209
+ "theme-contract:#/allOf/2/then/allOf/1/if:required:themeId",
210
+ "theme-contract:#/allOf/2/then/allOf/1/then/properties/composition/properties/profile:const",
211
+ "theme-contract:#/allOf/2/then/allOf/1/then/properties/composition:required:profile",
212
+ "theme-contract:#/allOf/2/then/allOf/2/if/properties/themeId:const",
213
+ "theme-contract:#/allOf/2/then/allOf/2/if:required:themeId",
214
+ "theme-contract:#/allOf/2/then/allOf/2/then/properties/composition/properties/profile:const",
215
+ "theme-contract:#/allOf/2/then/allOf/2/then/properties/composition:required:profile",
216
+ "theme-contract:#/allOf/2/then/allOf/3/if/properties/themeId:const",
217
+ "theme-contract:#/allOf/2/then/allOf/3/if:required:themeId",
218
+ "theme-contract:#/allOf/2/then/allOf/3/then/properties/composition/properties/profile:const",
219
+ "theme-contract:#/allOf/2/then/allOf/3/then/properties/composition:required:profile",
220
+ "theme-contract:#/allOf/2/then/allOf/4/if/properties/themeId:const",
221
+ "theme-contract:#/allOf/2/then/allOf/4/if:required:themeId",
222
+ "theme-contract:#/allOf/2/then/allOf/4/then/properties/composition/properties/profile:const",
223
+ "theme-contract:#/allOf/2/then/allOf/4/then/properties/composition:required:profile",
224
+ "theme-contract:#/allOf/2/then/allOf/5/if/properties/themeId:const",
225
+ "theme-contract:#/allOf/2/then/allOf/5/if:required:themeId",
226
+ "theme-contract:#/allOf/2/then/allOf/5/then/properties/composition/properties/profile:const",
227
+ "theme-contract:#/allOf/2/then/allOf/5/then/properties/composition:required:profile",
228
+ "theme-contract:#/allOf/2/then/properties/templateRange:const",
229
+ "theme-contract:#/allOf/2/then:required:composition",
230
+ "theme-contract:#/allOf/3/if/properties/themeId:const",
231
+ "theme-contract:#/allOf/3/if:required:themeId",
232
+ "theme-contract:#/allOf/3/then/properties/contractVersion:const",
103
233
  "theme-contract:#/properties/assets:maxItems",
104
234
  "theme-contract:#/properties/assets:minItems",
105
235
  "theme-contract:#/properties/assets:type",
@@ -112,7 +242,11 @@
112
242
  "theme-contract:#/properties/fixtures:type",
113
243
  "theme-contract:#/properties/fixtures:uniqueItems",
114
244
  "theme-contract:#/properties/modes:const",
115
- "theme-contract:#/properties/package/allOf/1:pattern",
245
+ "theme-contract:#/properties/package/allOf/1/anyOf/0:pattern",
246
+ "theme-contract:#/properties/package/allOf/1/anyOf/0:type",
247
+ "theme-contract:#/properties/package/allOf/1/anyOf/1:pattern",
248
+ "theme-contract:#/properties/package/allOf/1/anyOf/1:type",
249
+ "theme-contract:#/properties/package/allOf/1:anyOf",
116
250
  "theme-contract:#/properties/schemaId:const",
117
251
  "theme-contract:#/properties/schemaVersion:const",
118
252
  "theme-contract:#/properties/slotHooks:maxItems",
@@ -1002,6 +1136,53 @@
1002
1136
  },
1003
1137
  "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
1004
1138
  },
1139
+ {
1140
+ "caseId": "theme-contract-unknown-84990078aa9bbfcd",
1141
+ "coveredRuleIds": [
1142
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/articleLayout:const",
1143
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/authorLayout:const",
1144
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/density:const",
1145
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/footerLayout:const",
1146
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/headerLayout:const",
1147
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/homeLayout:const",
1148
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/listingLayout:const",
1149
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/mediaRatio:const",
1150
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/profile:const",
1151
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/schemaId:const",
1152
+ "theme-contract:#/$defs/templateComposition/oneOf/3/properties/schemaVersion:const",
1153
+ "theme-contract:#/$defs/templateComposition/oneOf/3:additionalProperties",
1154
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:articleLayout",
1155
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:authorLayout",
1156
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:density",
1157
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:footerLayout",
1158
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:headerLayout",
1159
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:homeLayout",
1160
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:listingLayout",
1161
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:mediaRatio",
1162
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:profile",
1163
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:schemaId",
1164
+ "theme-contract:#/$defs/templateComposition/oneOf/3:required:schemaVersion",
1165
+ "theme-contract:#/$defs/templateComposition/oneOf/3:type"
1166
+ ],
1167
+ "schemaId": "urn:gala:schema:theme-contract:2.0.0",
1168
+ "schemaPointer": "#/$defs/templateComposition/oneOf/3",
1169
+ "keyword": "additionalProperties",
1170
+ "instance": {
1171
+ "schemaId": "urn:gala:schema:template-composition:2.0.0",
1172
+ "schemaVersion": "2.0.0",
1173
+ "profile": "personal",
1174
+ "homeLayout": "chronological",
1175
+ "articleLayout": "prose",
1176
+ "authorLayout": "biography",
1177
+ "listingLayout": "dated-rows",
1178
+ "headerLayout": "compact",
1179
+ "footerLayout": "compact",
1180
+ "mediaRatio": "landscape",
1181
+ "density": "spacious",
1182
+ "unexpected": true
1183
+ },
1184
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
1185
+ },
1005
1186
  {
1006
1187
  "caseId": "theme-contract-unknown-992a37639e03a886",
1007
1188
  "coveredRuleIds": [
@@ -1025,6 +1206,53 @@
1025
1206
  },
1026
1207
  "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
1027
1208
  },
1209
+ {
1210
+ "caseId": "theme-contract-unknown-c27936b718083ab7",
1211
+ "coveredRuleIds": [
1212
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/articleLayout:const",
1213
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/authorLayout:const",
1214
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/density:const",
1215
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/footerLayout:const",
1216
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/headerLayout:const",
1217
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/homeLayout:const",
1218
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/listingLayout:const",
1219
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/mediaRatio:const",
1220
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/profile:const",
1221
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/schemaId:const",
1222
+ "theme-contract:#/$defs/templateComposition/oneOf/1/properties/schemaVersion:const",
1223
+ "theme-contract:#/$defs/templateComposition/oneOf/1:additionalProperties",
1224
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:articleLayout",
1225
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:authorLayout",
1226
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:density",
1227
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:footerLayout",
1228
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:headerLayout",
1229
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:homeLayout",
1230
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:listingLayout",
1231
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:mediaRatio",
1232
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:profile",
1233
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:schemaId",
1234
+ "theme-contract:#/$defs/templateComposition/oneOf/1:required:schemaVersion",
1235
+ "theme-contract:#/$defs/templateComposition/oneOf/1:type"
1236
+ ],
1237
+ "schemaId": "urn:gala:schema:theme-contract:2.0.0",
1238
+ "schemaPointer": "#/$defs/templateComposition/oneOf/1",
1239
+ "keyword": "additionalProperties",
1240
+ "instance": {
1241
+ "schemaId": "urn:gala:schema:template-composition:2.0.0",
1242
+ "schemaVersion": "2.0.0",
1243
+ "profile": "newsletter",
1244
+ "homeLayout": "newspaper",
1245
+ "articleLayout": "issue",
1246
+ "authorLayout": "profile",
1247
+ "listingLayout": "issues",
1248
+ "headerLayout": "publication",
1249
+ "footerLayout": "expanded",
1250
+ "mediaRatio": "landscape",
1251
+ "density": "comfortable",
1252
+ "unexpected": true
1253
+ },
1254
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
1255
+ },
1028
1256
  {
1029
1257
  "caseId": "theme-contract-unknown-c39f1181b22bed88",
1030
1258
  "coveredRuleIds": [
@@ -1121,5 +1349,52 @@
1121
1349
  "unexpected": true
1122
1350
  },
1123
1351
  "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
1352
+ },
1353
+ {
1354
+ "caseId": "theme-contract-unknown-f81b3f46b4666183",
1355
+ "coveredRuleIds": [
1356
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/articleLayout:const",
1357
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/authorLayout:const",
1358
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/density:const",
1359
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/footerLayout:const",
1360
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/headerLayout:const",
1361
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/homeLayout:const",
1362
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/listingLayout:const",
1363
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/mediaRatio:const",
1364
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/profile:const",
1365
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/schemaId:const",
1366
+ "theme-contract:#/$defs/templateComposition/oneOf/0/properties/schemaVersion:const",
1367
+ "theme-contract:#/$defs/templateComposition/oneOf/0:additionalProperties",
1368
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:articleLayout",
1369
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:authorLayout",
1370
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:density",
1371
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:footerLayout",
1372
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:headerLayout",
1373
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:homeLayout",
1374
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:listingLayout",
1375
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:mediaRatio",
1376
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:profile",
1377
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:schemaId",
1378
+ "theme-contract:#/$defs/templateComposition/oneOf/0:required:schemaVersion",
1379
+ "theme-contract:#/$defs/templateComposition/oneOf/0:type"
1380
+ ],
1381
+ "schemaId": "urn:gala:schema:theme-contract:2.0.0",
1382
+ "schemaPointer": "#/$defs/templateComposition/oneOf/0",
1383
+ "keyword": "additionalProperties",
1384
+ "instance": {
1385
+ "schemaId": "urn:gala:schema:template-composition:2.0.0",
1386
+ "schemaVersion": "2.0.0",
1387
+ "profile": "editorial",
1388
+ "homeLayout": "magazine",
1389
+ "articleLayout": "editorial",
1390
+ "authorLayout": "portrait",
1391
+ "listingLayout": "rows",
1392
+ "headerLayout": "masthead",
1393
+ "footerLayout": "expanded",
1394
+ "mediaRatio": "landscape",
1395
+ "density": "comfortable",
1396
+ "unexpected": true
1397
+ },
1398
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
1124
1399
  }
1125
1400
  ]