@rathnasgala2/schemas 3.14.1 → 3.16.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 (81) hide show
  1. package/README.md +41 -34
  2. package/THIRD_PARTY_LICENSES.json +1 -1
  3. package/diagnostics/diagnostic-map.json +399 -4
  4. package/docs/catalogs/app-components.json +3421 -4320
  5. package/docs/catalogs/app-routes.json +1921 -2435
  6. package/docs/catalogs/schema-inventory.json +15 -5
  7. package/examples/valid/analytics-config/canonical.json +6 -0
  8. package/examples/valid/analytics-config/rules.json +334 -0
  9. package/examples/valid/build-input/rules.json +202 -0
  10. package/examples/valid/publication/rules.json +49 -0
  11. package/examples/valid/theme-contract/rules.json +64 -4
  12. package/fixtures/boundary/analytics-config/root.json +6 -0
  13. package/fixtures/boundary/analytics-config/rules.json +470 -0
  14. package/fixtures/boundary/build-input/rules.json +207 -0
  15. package/fixtures/boundary/publication/rules.json +54 -0
  16. package/fixtures/boundary/theme-contract/rules.json +64 -4
  17. package/fixtures/invalid/analytics-config/BCP47_INVALID/cases.json +56 -0
  18. package/fixtures/invalid/analytics-config/CANONICAL_ROUTE_INVALID/cases.json +38 -0
  19. package/fixtures/invalid/analytics-config/DIGEST_INVALID/cases.json +20 -0
  20. package/fixtures/invalid/analytics-config/EXTENSION_KEY_INVALID/cases.json +20 -0
  21. package/fixtures/invalid/analytics-config/GIT_OBJECT_ID_INVALID/cases.json +20 -0
  22. package/fixtures/invalid/analytics-config/HTTPS_URL_INVALID/cases.json +29 -0
  23. package/fixtures/invalid/analytics-config/ISO_COUNTRY_INVALID/cases.json +20 -0
  24. package/fixtures/invalid/analytics-config/PACKAGE_EXACT_INVALID/cases.json +38 -0
  25. package/fixtures/invalid/analytics-config/PACKAGE_RANGE_INVALID/cases.json +38 -0
  26. package/fixtures/invalid/analytics-config/PASSIVE_VISUAL_TOKEN_INVALID/cases.json +11 -0
  27. package/fixtures/invalid/analytics-config/PLAIN_LABEL_INVALID/cases.json +31 -0
  28. package/fixtures/invalid/analytics-config/PLAIN_TEXT_INVALID/cases.json +20 -0
  29. package/fixtures/invalid/analytics-config/REPOSITORY_GLOB_INVALID/cases.json +47 -0
  30. package/fixtures/invalid/analytics-config/REPOSITORY_PATH_INVALID/cases.json +58 -0
  31. package/fixtures/invalid/analytics-config/REQUEST_FIELD_UNKNOWN/cases.json +46 -0
  32. package/fixtures/invalid/analytics-config/RFC3339_INVALID/cases.json +29 -0
  33. package/fixtures/invalid/analytics-config/SCHEMA_ENUM_INVALID/cases.json +24 -0
  34. package/fixtures/invalid/analytics-config/SCHEMA_PATTERN_INVALID/cases.json +13 -0
  35. package/fixtures/invalid/analytics-config/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +92 -0
  36. package/fixtures/invalid/analytics-config/SCHEMA_TYPE_INVALID/cases.json +40 -0
  37. package/fixtures/invalid/analytics-config/SCHEMA_VERSION_UNSUPPORTED/cases.json +20 -0
  38. package/fixtures/invalid/analytics-config/SEMVER_INVALID/cases.json +20 -0
  39. package/fixtures/invalid/analytics-config/SEMVER_RANGE_INVALID/cases.json +38 -0
  40. package/fixtures/invalid/analytics-config/SLUG_INVALID/cases.json +38 -0
  41. package/fixtures/invalid/analytics-config/STABLE_ID_INVALID/cases.json +20 -0
  42. package/fixtures/invalid/analytics-config/URN_INVALID/cases.json +38 -0
  43. package/fixtures/invalid/build-input/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
  44. package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +137 -0
  45. package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +22 -0
  46. package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +11 -0
  47. package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +194 -0
  48. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +71 -0
  49. package/fixtures/invalid/build-input/SCHEMA_VERSION_UNSUPPORTED/cases.json +22 -0
  50. package/fixtures/invalid/publication/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
  51. package/fixtures/invalid/publication/REQUEST_FIELD_UNKNOWN/cases.json +28 -0
  52. package/fixtures/invalid/publication/SCHEMA_PATTERN_INVALID/cases.json +11 -0
  53. package/fixtures/invalid/publication/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +44 -0
  54. package/fixtures/invalid/publication/SCHEMA_TYPE_INVALID/cases.json +18 -0
  55. package/fixtures/invalid/theme-contract/SCHEMA_CONSTANT_INVALID/cases.json +33 -22
  56. package/fixtures/invalid/theme-contract/SCHEMA_ENUM_INVALID/cases.json +33 -0
  57. package/fixtures/invalid/theme-contract/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +22 -0
  58. package/fixtures/manifest.json +3066 -16
  59. package/fixtures/s2/empty-modules-placements.json +452 -0
  60. package/fixtures/s2/manifest.json +2 -0
  61. package/fixtures/unknown-field/analytics-config/root.json +7 -0
  62. package/fixtures/unknown-field/analytics-config/rules.json +131 -0
  63. package/fixtures/unknown-field/build-input/rules.json +162 -0
  64. package/fixtures/unknown-field/publication/rules.json +38 -0
  65. package/fixtures/unknown-field/theme-contract/rules.json +8 -2
  66. package/generated/browser/validator-core.mjs +4 -3
  67. package/generated/typescript/contracts/analytics-config.d.ts +54 -0
  68. package/generated/typescript/contracts/build-input.d.ts +26 -0
  69. package/generated/typescript/contracts/publication.d.ts +11 -0
  70. package/generated/typescript/index.d.ts +4 -0
  71. package/generated/typescript/index.js +14 -0
  72. package/openapi/http-catalog.json +54 -2
  73. package/openapi/openapi.yaml +4564 -3334
  74. package/package.json +4 -1
  75. package/sbom.cdx.json +23 -23
  76. package/schemas/analytics-config.schema.json +161 -0
  77. package/schemas/build-input.schema.json +66 -0
  78. package/schemas/publication.schema.json +22 -0
  79. package/schemas/theme-contract.schema.json +25 -3
  80. package/site-policy-defaults.json +10 -0
  81. package/src/internal/schema-validator.js +3 -0
@@ -0,0 +1,54 @@
1
+ // Generated from urn:gala:schema:analytics-config:2.0.0; sourceDesignRevision=a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a.
2
+ // Do not edit.
3
+
4
+ export type AnalyticsConfigBcp47 = string;
5
+
6
+ export type AnalyticsConfigCanonicalRoute = string;
7
+
8
+ export type AnalyticsConfigDigest = string;
9
+
10
+ export type AnalyticsConfigExtensionKey = string;
11
+
12
+ export type AnalyticsConfigGitObjectId = string;
13
+
14
+ export type AnalyticsConfigGlob = string;
15
+
16
+ export type AnalyticsConfigIsoCountry = string;
17
+
18
+ export type AnalyticsConfigPackageExact = string;
19
+
20
+ export type AnalyticsConfigPackageRange = string;
21
+
22
+ export type AnalyticsConfigPassiveVisualToken = never;
23
+
24
+ export type AnalyticsConfigPlainLabel = string;
25
+
26
+ export type AnalyticsConfigPlainText = string;
27
+
28
+ export type AnalyticsConfigRepoRelativePath = string;
29
+
30
+ export type AnalyticsConfigRfc3339 = string;
31
+
32
+ export type AnalyticsConfigSemver = string;
33
+
34
+ export type AnalyticsConfigSemverRange = string;
35
+
36
+ export type AnalyticsConfigSlug = string;
37
+
38
+ export type AnalyticsConfigStableId = string;
39
+
40
+ export type AnalyticsConfigUrlHttps = string;
41
+
42
+ export type AnalyticsConfigUrn = string;
43
+
44
+ export type AnalyticsConfigDocument = Readonly<{
45
+ readonly consent: Readonly<{
46
+ readonly policy: 'opt-in';
47
+ }>;
48
+ readonly provider: Readonly<{
49
+ readonly kind: 'google-analytics-4';
50
+ readonly measurementId: string;
51
+ }>;
52
+ readonly schemaId: 'urn:gala:schema:analytics-config:2.0.0';
53
+ readonly schemaVersion: '2.0.0';
54
+ }>;
@@ -1,6 +1,18 @@
1
1
  // Generated from urn:gala:schema:build-input:2.0.0; sourceDesignRevision=a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a.
2
2
  // Do not edit.
3
3
 
4
+ export type BuildInputAnalyticsConfig = Readonly<{
5
+ readonly consent: Readonly<{
6
+ readonly policy: 'opt-in';
7
+ }>;
8
+ readonly provider: Readonly<{
9
+ readonly kind: 'google-analytics-4';
10
+ readonly measurementId: string;
11
+ }>;
12
+ readonly schemaId: 'urn:gala:schema:analytics-config:2.0.0';
13
+ readonly schemaVersion: '2.0.0';
14
+ }>;
15
+
4
16
  export type BuildInputAppearanceNormalized = Readonly<{
5
17
  readonly attribution?: BuildInputAttribution;
6
18
  readonly brandMark?: BuildInputResolvedFile;
@@ -216,6 +228,9 @@ export type BuildInputManifestRenderPolicyIdentity = Readonly<{
216
228
  }>;
217
229
 
218
230
  export type BuildInputModuleBuildSelection = Readonly<{
231
+ readonly analytics?: Readonly<{
232
+ readonly config: BuildInputAnalyticsConfig;
233
+ }>;
219
234
  readonly interactions?: Readonly<{
220
235
  readonly apiOrigin: BuildInputInteractionsServiceOrigin;
221
236
  readonly appOrigin: BuildInputInteractionsServiceOrigin;
@@ -278,6 +293,16 @@ export type BuildInputPlainLabel = string;
278
293
 
279
294
  export type BuildInputPlainText = string;
280
295
 
296
+ export type BuildInputPoliciesNormalized = Readonly<{
297
+ readonly privacy: BuildInputPolicyPageNormalized;
298
+ readonly terms: BuildInputPolicyPageNormalized;
299
+ }>;
300
+
301
+ export type BuildInputPolicyPageNormalized = Readonly<{
302
+ readonly body: BuildInputRenderableBody;
303
+ readonly title: BuildInputPlainText;
304
+ }>;
305
+
281
306
  export type BuildInputPublicationNormalized = Readonly<{
282
307
  readonly authorIds: ReadonlyArray<BuildInputStableId>;
283
308
  readonly canonicalBase: BuildInputUrlHttps;
@@ -431,6 +456,7 @@ export type BuildInputDocument = Readonly<{
431
456
  readonly navigation: BuildInputNavigationNormalized;
432
457
  readonly packages: BuildInputBuildPackages;
433
458
  readonly placements: [];
459
+ readonly policies?: BuildInputPoliciesNormalized;
434
460
  readonly publication: BuildInputPublicationNormalized;
435
461
  readonly repository: BuildInputRepositorySnapshot;
436
462
  readonly schemaId: 'urn:gala:schema:build-input:2.0.0';
@@ -44,6 +44,16 @@ export type PublicationPlainLabel = string;
44
44
 
45
45
  export type PublicationPlainText = string;
46
46
 
47
+ export type PublicationPolicyPage = Readonly<{
48
+ readonly body: PublicationRepoRelativePath;
49
+ readonly title: PublicationPlainText;
50
+ }>;
51
+
52
+ export type PublicationPublicationPolicies = Readonly<{
53
+ readonly privacy: PublicationPolicyPage;
54
+ readonly terms: PublicationPolicyPage;
55
+ }>;
56
+
47
57
  export type PublicationPublicationProfile = Readonly<{
48
58
  readonly body: PublicationRepoRelativePath;
49
59
  readonly route: PublicationCanonicalRoute;
@@ -93,6 +103,7 @@ export type PublicationDocument = Readonly<{
93
103
  readonly footerCard?: PublicationFooterCard;
94
104
  readonly id: PublicationStableId;
95
105
  readonly newsletter?: PublicationNewsletter;
106
+ readonly policies?: PublicationPublicationPolicies;
96
107
  readonly profile?: PublicationPublicationProfile;
97
108
  readonly schemaId: 'urn:gala:schema:publication:2.0.0';
98
109
  readonly schemaVersion: '2.0.0';
@@ -18,6 +18,10 @@ export type { AdapterCapabilityDocument } from './contracts/adapter-capability.j
18
18
  export declare function isAdapterCapabilityDocument(
19
19
  value: unknown,
20
20
  ): value is import('./contracts/adapter-capability.js').AdapterCapabilityDocument;
21
+ export type { AnalyticsConfigDocument } from './contracts/analytics-config.js';
22
+ export declare function isAnalyticsConfigDocument(
23
+ value: unknown,
24
+ ): value is import('./contracts/analytics-config.js').AnalyticsConfigDocument;
21
25
  export type { AppearanceDocument } from './contracts/appearance.js';
22
26
  export declare function isAppearanceDocument(
23
27
  value: unknown,
@@ -5,6 +5,7 @@ import { validateGalaDocument } from '../../src/index.js';
5
5
 
6
6
  const SCHEMA_IDS = [
7
7
  'urn:gala:schema:adapter-capability:2.0.0',
8
+ 'urn:gala:schema:analytics-config:2.0.0',
8
9
  'urn:gala:schema:appearance:2.0.0',
9
10
  'urn:gala:schema:artifact-manifest:2.0.0',
10
11
  'urn:gala:schema:author:2.0.0',
@@ -67,6 +68,19 @@ export function isAdapterCapabilityDocument(value) {
67
68
  ).valid;
68
69
  }
69
70
 
71
+ /**
72
+ * Test whether a value is a valid AnalyticsConfigDocument.
73
+ *
74
+ * @param {unknown} value candidate document
75
+ * @returns {boolean} validation result
76
+ */
77
+ export function isAnalyticsConfigDocument(value) {
78
+ return validateGeneratedDocument(
79
+ 'urn:gala:schema:analytics-config:2.0.0',
80
+ value,
81
+ ).valid;
82
+ }
83
+
70
84
  /**
71
85
  * Test whether a value is a valid AppearanceDocument.
72
86
  *
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "2.0.0",
3
3
  "sourceDesignRevision": "a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a",
4
- "openApiDigest": "sha256:52ee6b8f76bd4677837614ccba3b895f38667c23a7d36e0d2201a45fd71ae7e9",
4
+ "openApiDigest": "sha256:9f788998e00babc25ff76f7ef7e7e5f491b4532ead1e95c8aef5c1f81ad81eda",
5
5
  "operations": [
6
6
  {
7
7
  "operationId": "getInternalHealth",
@@ -759,6 +759,32 @@
759
759
  "apiKeyScope": null,
760
760
  "sourceFragment": "organizations"
761
761
  },
762
+ {
763
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdAnalyticsSettings",
764
+ "method": "GET",
765
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/analytics-settings",
766
+ "purpose": "read this publication's analytics settings at the main branch head",
767
+ "capabilityKey": "publication.view",
768
+ "conditionalCapabilityKeys": [],
769
+ "activationGate": "MVP",
770
+ "assuranceClass": "SESSION",
771
+ "actionGrant": "none",
772
+ "apiKeyScope": "read",
773
+ "sourceFragment": "interaction-settings"
774
+ },
775
+ {
776
+ "operationId": "putOrganizationsByOrganizationIdPublicationsByPublicationIdAnalyticsSettings",
777
+ "method": "PUT",
778
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/analytics-settings",
779
+ "purpose": "save this publication's analytics settings as a repository change",
780
+ "capabilityKey": "publication.settings.manage",
781
+ "conditionalCapabilityKeys": [],
782
+ "activationGate": "MVP",
783
+ "assuranceClass": "SESSION",
784
+ "actionGrant": "none",
785
+ "apiKeyScope": "content:write",
786
+ "sourceFragment": "interaction-settings"
787
+ },
762
788
  {
763
789
  "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdAppearance",
764
790
  "method": "GET",
@@ -1219,6 +1245,32 @@
1219
1245
  "apiKeyScope": null,
1220
1246
  "sourceFragment": "moderation"
1221
1247
  },
1248
+ {
1249
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdPolicySettings",
1250
+ "method": "GET",
1251
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/policy-settings",
1252
+ "purpose": "read this publication's Terms and Privacy text at the main branch head",
1253
+ "capabilityKey": "publication.view",
1254
+ "conditionalCapabilityKeys": [],
1255
+ "activationGate": "MVP",
1256
+ "assuranceClass": "SESSION",
1257
+ "actionGrant": "none",
1258
+ "apiKeyScope": "read",
1259
+ "sourceFragment": "interaction-settings"
1260
+ },
1261
+ {
1262
+ "operationId": "putOrganizationsByOrganizationIdPublicationsByPublicationIdPolicySettings",
1263
+ "method": "PUT",
1264
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/policy-settings",
1265
+ "purpose": "save this publication's Terms and Privacy text as a repository change",
1266
+ "capabilityKey": "publication.settings.manage",
1267
+ "conditionalCapabilityKeys": [],
1268
+ "activationGate": "MVP",
1269
+ "assuranceClass": "SESSION",
1270
+ "actionGrant": "none",
1271
+ "apiKeyScope": "content:write",
1272
+ "sourceFragment": "interaction-settings"
1273
+ },
1222
1274
  {
1223
1275
  "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdPrismGenerations",
1224
1276
  "method": "GET",
@@ -2634,5 +2686,5 @@
2634
2686
  "sourceFragment": "workloads"
2635
2687
  }
2636
2688
  ],
2637
- "digest": "sha256:b9653b8233ca2573186efe14bc3d5d4dd4709ef0814c1e3f843d8c45a8e9d32f"
2689
+ "digest": "sha256:0e62172fd7069e162b78a730cf4c677f21f3492d549a91c16687a0ccce3cec42"
2638
2690
  }