@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
@@ -250,7 +250,7 @@ export type ArtifactManifestManifestReproducibleBuildRecord = Readonly<{
250
250
 
251
251
  export type ArtifactManifestManifestRoute = Readonly<{
252
252
  readonly byteLength: ArtifactManifestNonNegativeInt64;
253
- readonly interactionBearing: false;
253
+ readonly interactionBearing: boolean;
254
254
  readonly mediaType:
255
255
  | 'text/html; charset=utf-8'
256
256
  | 'text/css; charset=utf-8'
@@ -153,6 +153,26 @@ export type BuildInputGithubPositiveDecimal = string;
153
153
 
154
154
  export type BuildInputGlob = string;
155
155
 
156
+ export type BuildInputInteractionsConfig = Readonly<{
157
+ readonly comments: Readonly<{
158
+ readonly allowReplies: boolean;
159
+ readonly enabled: boolean;
160
+ readonly maxDepth: number;
161
+ }>;
162
+ readonly publicCounts: Readonly<{
163
+ readonly comments: boolean;
164
+ readonly reactions: boolean;
165
+ }>;
166
+ readonly reactions: Readonly<{
167
+ readonly definitions: ReadonlyArray<BuildInputReactionDefinition>;
168
+ readonly enabled: boolean;
169
+ }>;
170
+ readonly schemaId: 'urn:gala:schema:interactions-config:2.0.0';
171
+ readonly schemaVersion: '2.0.0';
172
+ }>;
173
+
174
+ export type BuildInputInteractionsServiceOrigin = string;
175
+
156
176
  export type BuildInputIsoCountry = string;
157
177
 
158
178
  export type BuildInputLocalizedAuthor = Readonly<{
@@ -167,7 +187,13 @@ export type BuildInputManifestRenderPolicyIdentity = Readonly<{
167
187
  readonly version: BuildInputSemver;
168
188
  }>;
169
189
 
170
- export type BuildInputModuleBuildSelection = Readonly<Record<string, never>>;
190
+ export type BuildInputModuleBuildSelection = Readonly<{
191
+ readonly interactions?: Readonly<{
192
+ readonly apiOrigin: BuildInputInteractionsServiceOrigin;
193
+ readonly appOrigin: BuildInputInteractionsServiceOrigin;
194
+ readonly config: BuildInputInteractionsConfig;
195
+ }>;
196
+ }>;
171
197
 
172
198
  export type BuildInputNavigationItem = Readonly<{
173
199
  readonly children: ReadonlyArray<BuildInputNavigationLeaf>;
@@ -228,6 +254,9 @@ export type BuildInputPublicationNormalized = Readonly<{
228
254
  readonly authorIds: ReadonlyArray<BuildInputStableId>;
229
255
  readonly canonicalBase: BuildInputUrlHttps;
230
256
  readonly contactAuthorId?: BuildInputStableId;
257
+ readonly crawlers?: Readonly<{
258
+ readonly ai: 'allow' | 'block';
259
+ }>;
231
260
  readonly defaultImage?: BuildInputResolvedFile;
232
261
  readonly defaultLanguage: BuildInputBcp47;
233
262
  readonly description: BuildInputPlainText;
@@ -238,6 +267,11 @@ export type BuildInputPublicationNormalized = Readonly<{
238
267
  readonly heading: BuildInputPlainText;
239
268
  }>;
240
269
  readonly id: BuildInputStableId;
270
+ readonly newsletter?: Readonly<{
271
+ readonly text: BuildInputPlainText;
272
+ readonly title: BuildInputPlainLabel;
273
+ readonly url: BuildInputUrlHttps;
274
+ }>;
241
275
  readonly profile?: Readonly<{
242
276
  readonly body: BuildInputRenderableBody;
243
277
  readonly route: BuildInputCanonicalRoute;
@@ -249,6 +283,37 @@ export type BuildInputPublicationNormalized = Readonly<{
249
283
  readonly title: BuildInputPlainText;
250
284
  }>;
251
285
 
286
+ export type BuildInputReactionDefinition = Readonly<{
287
+ readonly enabled: boolean;
288
+ readonly key: BuildInputReactionKey;
289
+ readonly label: BuildInputPlainLabel & string;
290
+ readonly order: number;
291
+ readonly visual: BuildInputReactionVisual;
292
+ }>;
293
+
294
+ export type BuildInputReactionKey = string;
295
+
296
+ export type BuildInputReactionVisual = Readonly<{
297
+ readonly kind: 'emoji';
298
+ readonly token:
299
+ | '👍'
300
+ | '❤️'
301
+ | '💡'
302
+ | '🎉'
303
+ | '😂'
304
+ | '🤯'
305
+ | '🙏'
306
+ | '🔥'
307
+ | '👏'
308
+ | '😮'
309
+ | '😢'
310
+ | '🤔'
311
+ | '✨'
312
+ | '🚀'
313
+ | '💯'
314
+ | '👀';
315
+ }>;
316
+
252
317
  export type BuildInputRenderableBody = Readonly<{
253
318
  readonly body: string;
254
319
  readonly bodyDigest: BuildInputDigest;
@@ -250,7 +250,7 @@ export type BuildProvenanceManifestReproducibleBuildRecord = Readonly<{
250
250
 
251
251
  export type BuildProvenanceManifestRoute = Readonly<{
252
252
  readonly byteLength: BuildProvenanceNonNegativeInt64;
253
- readonly interactionBearing: false;
253
+ readonly interactionBearing: boolean;
254
254
  readonly mediaType:
255
255
  | 'text/html; charset=utf-8'
256
256
  | 'text/css; charset=utf-8'
@@ -0,0 +1,91 @@
1
+ // Generated from urn:gala:schema:interactions-config:2.0.0; sourceDesignRevision=a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a.
2
+ // Do not edit.
3
+
4
+ export type InteractionsConfigBcp47 = string;
5
+
6
+ export type InteractionsConfigCanonicalRoute = string;
7
+
8
+ export type InteractionsConfigDigest = string;
9
+
10
+ export type InteractionsConfigExtensionKey = string;
11
+
12
+ export type InteractionsConfigGitObjectId = string;
13
+
14
+ export type InteractionsConfigGlob = string;
15
+
16
+ export type InteractionsConfigIsoCountry = string;
17
+
18
+ export type InteractionsConfigPackageExact = string;
19
+
20
+ export type InteractionsConfigPackageRange = string;
21
+
22
+ export type InteractionsConfigPassiveVisualToken = never;
23
+
24
+ export type InteractionsConfigPlainLabel = string;
25
+
26
+ export type InteractionsConfigPlainText = string;
27
+
28
+ export type InteractionsConfigReactionDefinition = Readonly<{
29
+ readonly enabled: boolean;
30
+ readonly key: InteractionsConfigReactionKey;
31
+ readonly label: InteractionsConfigPlainLabel & string;
32
+ readonly order: number;
33
+ readonly visual: InteractionsConfigReactionVisual;
34
+ }>;
35
+
36
+ export type InteractionsConfigReactionKey = string;
37
+
38
+ export type InteractionsConfigReactionVisual = Readonly<{
39
+ readonly kind: 'emoji';
40
+ readonly token:
41
+ | '👍'
42
+ | '❤️'
43
+ | '💡'
44
+ | '🎉'
45
+ | '😂'
46
+ | '🤯'
47
+ | '🙏'
48
+ | '🔥'
49
+ | '👏'
50
+ | '😮'
51
+ | '😢'
52
+ | '🤔'
53
+ | '✨'
54
+ | '🚀'
55
+ | '💯'
56
+ | '👀';
57
+ }>;
58
+
59
+ export type InteractionsConfigRepoRelativePath = string;
60
+
61
+ export type InteractionsConfigRfc3339 = string;
62
+
63
+ export type InteractionsConfigSemver = string;
64
+
65
+ export type InteractionsConfigSemverRange = string;
66
+
67
+ export type InteractionsConfigSlug = string;
68
+
69
+ export type InteractionsConfigStableId = string;
70
+
71
+ export type InteractionsConfigUrlHttps = string;
72
+
73
+ export type InteractionsConfigUrn = string;
74
+
75
+ export type InteractionsConfigDocument = Readonly<{
76
+ readonly comments: Readonly<{
77
+ readonly allowReplies: boolean;
78
+ readonly enabled: boolean;
79
+ readonly maxDepth: number;
80
+ }>;
81
+ readonly publicCounts: Readonly<{
82
+ readonly comments: boolean;
83
+ readonly reactions: boolean;
84
+ }>;
85
+ readonly reactions: Readonly<{
86
+ readonly definitions: ReadonlyArray<InteractionsConfigReactionDefinition>;
87
+ readonly enabled: boolean;
88
+ }>;
89
+ readonly schemaId: 'urn:gala:schema:interactions-config:2.0.0';
90
+ readonly schemaVersion: '2.0.0';
91
+ }>;
@@ -5,6 +5,10 @@ export type PublicationBcp47 = string;
5
5
 
6
6
  export type PublicationCanonicalRoute = string;
7
7
 
8
+ export type PublicationCrawlers = Readonly<{
9
+ readonly ai: 'allow' | 'block';
10
+ }>;
11
+
8
12
  export type PublicationDigest = string;
9
13
 
10
14
  export type PublicationExtensionKey = string;
@@ -24,6 +28,12 @@ export type PublicationGlob = string;
24
28
 
25
29
  export type PublicationIsoCountry = string;
26
30
 
31
+ export type PublicationNewsletter = Readonly<{
32
+ readonly text: PublicationPlainText;
33
+ readonly title: PublicationPlainLabel;
34
+ readonly url: PublicationUrlHttps;
35
+ }>;
36
+
27
37
  export type PublicationPackageExact = string;
28
38
 
29
39
  export type PublicationPackageRange = string;
@@ -75,12 +85,14 @@ export type PublicationDocument = Readonly<{
75
85
  readonly authors: ReadonlyArray<PublicationRepoRelativePath>;
76
86
  readonly canonicalBase: PublicationUrlHttps;
77
87
  readonly contactRef?: PublicationRepoRelativePath;
88
+ readonly crawlers?: PublicationCrawlers;
78
89
  readonly defaultImageRef?: PublicationRepoRelativePath;
79
90
  readonly defaultLanguage: PublicationBcp47;
80
91
  readonly description: PublicationPlainText;
81
92
  readonly extensions: PublicationExtensionMap;
82
93
  readonly footerCard?: PublicationFooterCard;
83
94
  readonly id: PublicationStableId;
95
+ readonly newsletter?: PublicationNewsletter;
84
96
  readonly profile?: PublicationPublicationProfile;
85
97
  readonly schemaId: 'urn:gala:schema:publication:2.0.0';
86
98
  readonly schemaVersion: '2.0.0';