@rathnasgala2/schemas 3.15.0 → 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.
- package/README.md +12 -7
- package/diagnostics/diagnostic-map.json +399 -4
- package/docs/catalogs/app-routes.json +7 -2
- package/docs/catalogs/schema-inventory.json +15 -5
- package/examples/valid/analytics-config/canonical.json +6 -0
- package/examples/valid/analytics-config/rules.json +334 -0
- package/examples/valid/build-input/rules.json +202 -0
- package/examples/valid/publication/rules.json +49 -0
- package/examples/valid/theme-contract/rules.json +64 -4
- package/fixtures/boundary/analytics-config/root.json +6 -0
- package/fixtures/boundary/analytics-config/rules.json +470 -0
- package/fixtures/boundary/build-input/rules.json +207 -0
- package/fixtures/boundary/publication/rules.json +54 -0
- package/fixtures/boundary/theme-contract/rules.json +64 -4
- package/fixtures/invalid/analytics-config/BCP47_INVALID/cases.json +56 -0
- package/fixtures/invalid/analytics-config/CANONICAL_ROUTE_INVALID/cases.json +38 -0
- package/fixtures/invalid/analytics-config/DIGEST_INVALID/cases.json +20 -0
- package/fixtures/invalid/analytics-config/EXTENSION_KEY_INVALID/cases.json +20 -0
- package/fixtures/invalid/analytics-config/GIT_OBJECT_ID_INVALID/cases.json +20 -0
- package/fixtures/invalid/analytics-config/HTTPS_URL_INVALID/cases.json +29 -0
- package/fixtures/invalid/analytics-config/ISO_COUNTRY_INVALID/cases.json +20 -0
- package/fixtures/invalid/analytics-config/PACKAGE_EXACT_INVALID/cases.json +38 -0
- package/fixtures/invalid/analytics-config/PACKAGE_RANGE_INVALID/cases.json +38 -0
- package/fixtures/invalid/analytics-config/PASSIVE_VISUAL_TOKEN_INVALID/cases.json +11 -0
- package/fixtures/invalid/analytics-config/PLAIN_LABEL_INVALID/cases.json +31 -0
- package/fixtures/invalid/analytics-config/PLAIN_TEXT_INVALID/cases.json +20 -0
- package/fixtures/invalid/analytics-config/REPOSITORY_GLOB_INVALID/cases.json +47 -0
- package/fixtures/invalid/analytics-config/REPOSITORY_PATH_INVALID/cases.json +58 -0
- package/fixtures/invalid/analytics-config/REQUEST_FIELD_UNKNOWN/cases.json +46 -0
- package/fixtures/invalid/analytics-config/RFC3339_INVALID/cases.json +29 -0
- package/fixtures/invalid/analytics-config/SCHEMA_ENUM_INVALID/cases.json +24 -0
- package/fixtures/invalid/analytics-config/SCHEMA_PATTERN_INVALID/cases.json +13 -0
- package/fixtures/invalid/analytics-config/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +92 -0
- package/fixtures/invalid/analytics-config/SCHEMA_TYPE_INVALID/cases.json +40 -0
- package/fixtures/invalid/analytics-config/SCHEMA_VERSION_UNSUPPORTED/cases.json +20 -0
- package/fixtures/invalid/analytics-config/SEMVER_INVALID/cases.json +20 -0
- package/fixtures/invalid/analytics-config/SEMVER_RANGE_INVALID/cases.json +38 -0
- package/fixtures/invalid/analytics-config/SLUG_INVALID/cases.json +38 -0
- package/fixtures/invalid/analytics-config/STABLE_ID_INVALID/cases.json +20 -0
- package/fixtures/invalid/analytics-config/URN_INVALID/cases.json +38 -0
- package/fixtures/invalid/build-input/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
- package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +137 -0
- package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +22 -0
- package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +11 -0
- package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +194 -0
- package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +71 -0
- package/fixtures/invalid/build-input/SCHEMA_VERSION_UNSUPPORTED/cases.json +22 -0
- package/fixtures/invalid/publication/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
- package/fixtures/invalid/publication/REQUEST_FIELD_UNKNOWN/cases.json +28 -0
- package/fixtures/invalid/publication/SCHEMA_PATTERN_INVALID/cases.json +11 -0
- package/fixtures/invalid/publication/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +44 -0
- package/fixtures/invalid/publication/SCHEMA_TYPE_INVALID/cases.json +18 -0
- package/fixtures/invalid/theme-contract/SCHEMA_CONSTANT_INVALID/cases.json +33 -22
- package/fixtures/invalid/theme-contract/SCHEMA_ENUM_INVALID/cases.json +33 -0
- package/fixtures/invalid/theme-contract/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +22 -0
- package/fixtures/manifest.json +3066 -16
- package/fixtures/s2/empty-modules-placements.json +452 -0
- package/fixtures/s2/manifest.json +2 -0
- package/fixtures/unknown-field/analytics-config/root.json +7 -0
- package/fixtures/unknown-field/analytics-config/rules.json +131 -0
- package/fixtures/unknown-field/build-input/rules.json +162 -0
- package/fixtures/unknown-field/publication/rules.json +38 -0
- package/fixtures/unknown-field/theme-contract/rules.json +8 -2
- package/generated/browser/validator-core.mjs +4 -3
- package/generated/typescript/contracts/analytics-config.d.ts +54 -0
- package/generated/typescript/contracts/build-input.d.ts +26 -0
- package/generated/typescript/contracts/publication.d.ts +11 -0
- package/generated/typescript/index.d.ts +4 -0
- package/generated/typescript/index.js +14 -0
- package/openapi/http-catalog.json +54 -2
- package/openapi/openapi.yaml +4564 -3334
- package/package.json +4 -1
- package/sbom.cdx.json +23 -23
- package/schemas/analytics-config.schema.json +161 -0
- package/schemas/build-input.schema.json +66 -0
- package/schemas/publication.schema.json +22 -0
- package/schemas/theme-contract.schema.json +25 -3
- package/site-policy-defaults.json +10 -0
- 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:
|
|
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:
|
|
2689
|
+
"digest": "sha256:0e62172fd7069e162b78a730cf4c677f21f3492d549a91c16687a0ccce3cec42"
|
|
2638
2690
|
}
|