@rathnasgala2/schemas 3.31.0 → 3.32.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 (45) hide show
  1. package/THIRD_PARTY_LICENSES.json +1 -1
  2. package/diagnostics/diagnostic-map.json +119 -0
  3. package/docs/catalogs/schema-inventory.json +7 -7
  4. package/examples/valid/build-input/rules.json +126 -0
  5. package/examples/valid/interactions-config/rules.json +10 -0
  6. package/examples/valid/publication/rules.json +86 -0
  7. package/fixtures/boundary/build-input/rules.json +176 -0
  8. package/fixtures/boundary/interactions-config/rules.json +10 -0
  9. package/fixtures/boundary/publication/rules.json +132 -0
  10. package/fixtures/invalid/build-input/GRAPHEME_LENGTH_INVALID/cases.json +33 -0
  11. package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +30 -0
  12. package/fixtures/invalid/build-input/SCHEMA_ARRAY_DUPLICATE/cases.json +11 -0
  13. package/fixtures/invalid/build-input/SCHEMA_ARRAY_TOO_LONG/cases.json +15 -0
  14. package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +11 -0
  15. package/fixtures/invalid/build-input/SCHEMA_NUMBER_TOO_LARGE/cases.json +11 -0
  16. package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +22 -0
  17. package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +51 -0
  18. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +53 -0
  19. package/fixtures/invalid/interactions-config/SCHEMA_TYPE_INVALID/cases.json +11 -0
  20. package/fixtures/invalid/publication/GRAPHEME_LENGTH_INVALID/cases.json +33 -0
  21. package/fixtures/invalid/publication/REQUEST_FIELD_UNKNOWN/cases.json +30 -0
  22. package/fixtures/invalid/publication/SCHEMA_ARRAY_DUPLICATE/cases.json +9 -0
  23. package/fixtures/invalid/publication/SCHEMA_ARRAY_TOO_LONG/cases.json +13 -0
  24. package/fixtures/invalid/publication/SCHEMA_PATTERN_INVALID/cases.json +22 -0
  25. package/fixtures/invalid/publication/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +40 -0
  26. package/fixtures/invalid/publication/SCHEMA_TYPE_INVALID/cases.json +40 -0
  27. package/fixtures/manifest.json +943 -8
  28. package/fixtures/unknown-field/build-input/rules.json +50 -0
  29. package/fixtures/unknown-field/interactions-config/rules.json +1 -0
  30. package/fixtures/unknown-field/publication/rules.json +46 -0
  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 +16 -1
  34. package/generated/typescript/contracts/build-provenance.d.ts +4 -2
  35. package/generated/typescript/contracts/interactions-config.d.ts +1 -0
  36. package/generated/typescript/contracts/publication.d.ts +13 -0
  37. package/openapi/http-catalog.json +80 -2
  38. package/openapi/openapi.yaml +1710 -250
  39. package/package.json +1 -1
  40. package/sbom.cdx.json +23 -23
  41. package/schemas/artifact-manifest.schema.json +4 -2
  42. package/schemas/build-input.schema.json +64 -3
  43. package/schemas/build-provenance.schema.json +4 -2
  44. package/schemas/interactions-config.schema.json +6 -1
  45. package/schemas/publication.schema.json +48 -0
@@ -122,7 +122,8 @@ export type ArtifactManifestManifestAsset = Readonly<{
122
122
  | 'audio/ogg'
123
123
  | 'audio/wav'
124
124
  | 'video/mp4'
125
- | 'video/webm';
125
+ | 'video/webm'
126
+ | 'application/pdf';
126
127
  readonly path: ArtifactManifestRepoRelativePath;
127
128
  readonly sha256: ArtifactManifestDigest;
128
129
  }>;
@@ -276,7 +277,8 @@ export type ArtifactManifestManifestRoute = Readonly<{
276
277
  | 'audio/ogg'
277
278
  | 'audio/wav'
278
279
  | 'video/mp4'
279
- | 'video/webm';
280
+ | 'video/webm'
281
+ | 'application/pdf';
280
282
  readonly path: ArtifactManifestRepoRelativePath;
281
283
  readonly routeClass: 'html' | 'feed' | 'sitemap' | 'asset' | 'error';
282
284
  readonly sha256: ArtifactManifestDigest;
@@ -130,7 +130,8 @@ export type BuildInputContentBuildMediaFile = Readonly<{
130
130
  | 'audio/ogg'
131
131
  | 'audio/wav'
132
132
  | 'video/mp4'
133
- | 'video/webm';
133
+ | 'video/webm'
134
+ | 'application/pdf';
134
135
  readonly path: BuildInputRepoRelativePath;
135
136
  readonly sourceDigest: BuildInputDigest;
136
137
  }> &
@@ -223,6 +224,7 @@ export type BuildInputInteractionsConfig = Readonly<{
223
224
  readonly comments: Readonly<{
224
225
  readonly allowReplies: boolean;
225
226
  readonly enabled: boolean;
227
+ readonly likes?: boolean;
226
228
  readonly maxDepth: number;
227
229
  }>;
228
230
  readonly follows?: Readonly<{
@@ -308,11 +310,16 @@ export type BuildInputNavigationNormalized = Readonly<{
308
310
 
309
311
  export type BuildInputNewsletter =
310
312
  | Readonly<{
313
+ readonly afterSignupUrl?: BuildInputUrlHttps;
311
314
  readonly emailContent: 'card' | 'full';
312
315
  readonly mode: 'galascribe';
313
316
  readonly replyToOwner: boolean;
314
317
  readonly text: BuildInputPlainText;
315
318
  readonly title: BuildInputPlainLabel;
319
+ readonly welcome?: Readonly<{
320
+ readonly body: BuildInputPlainText;
321
+ readonly subject: BuildInputPlainText;
322
+ }>;
316
323
  }>
317
324
  | Readonly<{
318
325
  readonly mode?: 'link';
@@ -397,6 +404,7 @@ export type BuildInputPublicationNormalized = Readonly<{
397
404
  readonly body: BuildInputRenderableBody;
398
405
  readonly route: BuildInputCanonicalRoute;
399
406
  }>;
407
+ readonly recommendations?: ReadonlyArray<BuildInputRecommendation>;
400
408
  readonly sharing?: BuildInputSharing;
401
409
  readonly slug: BuildInputSlug;
402
410
  readonly socialLinks: ReadonlyArray<BuildInputSocialLink>;
@@ -436,6 +444,13 @@ export type BuildInputReactionVisual = Readonly<{
436
444
  | '👀';
437
445
  }>;
438
446
 
447
+ export type BuildInputRecommendation = Readonly<{
448
+ readonly addedOn?: string;
449
+ readonly description?: BuildInputPlainText;
450
+ readonly title: BuildInputPlainLabel;
451
+ readonly url: BuildInputUrlHttps;
452
+ }>;
453
+
439
454
  export type BuildInputRenderableBody = Readonly<{
440
455
  readonly body: string;
441
456
  readonly bodyDigest: BuildInputDigest;
@@ -122,7 +122,8 @@ export type BuildProvenanceManifestAsset = Readonly<{
122
122
  | 'audio/ogg'
123
123
  | 'audio/wav'
124
124
  | 'video/mp4'
125
- | 'video/webm';
125
+ | 'video/webm'
126
+ | 'application/pdf';
126
127
  readonly path: BuildProvenanceRepoRelativePath;
127
128
  readonly sha256: BuildProvenanceDigest;
128
129
  }>;
@@ -276,7 +277,8 @@ export type BuildProvenanceManifestRoute = Readonly<{
276
277
  | 'audio/ogg'
277
278
  | 'audio/wav'
278
279
  | 'video/mp4'
279
- | 'video/webm';
280
+ | 'video/webm'
281
+ | 'application/pdf';
280
282
  readonly path: BuildProvenanceRepoRelativePath;
281
283
  readonly routeClass: 'html' | 'feed' | 'sitemap' | 'asset' | 'error';
282
284
  readonly sha256: BuildProvenanceDigest;
@@ -76,6 +76,7 @@ export type InteractionsConfigDocument = Readonly<{
76
76
  readonly comments: Readonly<{
77
77
  readonly allowReplies: boolean;
78
78
  readonly enabled: boolean;
79
+ readonly likes?: boolean;
79
80
  readonly maxDepth: number;
80
81
  }>;
81
82
  readonly follows?: Readonly<{
@@ -52,11 +52,16 @@ export type PublicationListing = Readonly<{
52
52
 
53
53
  export type PublicationNewsletter =
54
54
  | Readonly<{
55
+ readonly afterSignupUrl?: PublicationUrlHttps;
55
56
  readonly emailContent: 'card' | 'full';
56
57
  readonly mode: 'galascribe';
57
58
  readonly replyToOwner: boolean;
58
59
  readonly text: PublicationPlainText;
59
60
  readonly title: PublicationPlainLabel;
61
+ readonly welcome?: Readonly<{
62
+ readonly body: PublicationPlainText;
63
+ readonly subject: PublicationPlainText;
64
+ }>;
60
65
  }>
61
66
  | Readonly<{
62
67
  readonly mode?: 'link';
@@ -98,6 +103,13 @@ export type PublicationPublicationProfile = Readonly<{
98
103
  readonly route: PublicationCanonicalRoute;
99
104
  }>;
100
105
 
106
+ export type PublicationRecommendation = Readonly<{
107
+ readonly addedOn?: string;
108
+ readonly description?: PublicationPlainText;
109
+ readonly title: PublicationPlainLabel;
110
+ readonly url: PublicationUrlHttps;
111
+ }>;
112
+
101
113
  export type PublicationRepoRelativePath = string;
102
114
 
103
115
  export type PublicationRfc3339 = string;
@@ -165,6 +177,7 @@ export type PublicationDocument = Readonly<{
165
177
  readonly performance?: PublicationPerformance;
166
178
  readonly policies?: PublicationPublicationPolicies;
167
179
  readonly profile?: PublicationPublicationProfile;
180
+ readonly recommendations?: ReadonlyArray<PublicationRecommendation>;
168
181
  readonly schemaId: 'urn:gala:schema:publication:2.0.0';
169
182
  readonly schemaVersion: '2.0.0';
170
183
  readonly sharing?: PublicationSharing;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "2.0.0",
3
3
  "sourceDesignRevision": "a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a",
4
- "openApiDigest": "sha256:11a6a57c617dd51f0784d23d0473d8a83038b1d8ec80eb6a7d5d9b83ebcf95d4",
4
+ "openApiDigest": "sha256:27d37fa955aa758d38c89dabbe084332bffc023c018c619ca9acce64d17ee999",
5
5
  "operations": [
6
6
  {
7
7
  "operationId": "getInternalHealth",
@@ -68,6 +68,19 @@
68
68
  "apiKeyScope": null,
69
69
  "sourceFragment": "authentication"
70
70
  },
71
+ {
72
+ "operationId": "postCallbacksBrevo",
73
+ "method": "POST",
74
+ "path": "/v2/callbacks/brevo",
75
+ "purpose": "admit an authenticated Brevo email event",
76
+ "capabilityKey": null,
77
+ "conditionalCapabilityKeys": [],
78
+ "activationGate": "MVP",
79
+ "assuranceClass": "SESSION",
80
+ "actionGrant": "none",
81
+ "apiKeyScope": null,
82
+ "sourceFragment": "callbacks"
83
+ },
71
84
  {
72
85
  "operationId": "getCallbacksCloudflareOauth",
73
86
  "method": "GET",
@@ -1011,6 +1024,32 @@
1011
1024
  "apiKeyScope": null,
1012
1025
  "sourceFragment": "organizations"
1013
1026
  },
1027
+ {
1028
+ "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdContentDocumentsHistory",
1029
+ "method": "GET",
1030
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/content/documents/history",
1031
+ "purpose": "list the history of one content document",
1032
+ "capabilityKey": "publication.view",
1033
+ "conditionalCapabilityKeys": [],
1034
+ "activationGate": "MVP",
1035
+ "assuranceClass": "SESSION",
1036
+ "actionGrant": "none",
1037
+ "apiKeyScope": null,
1038
+ "sourceFragment": "organizations"
1039
+ },
1040
+ {
1041
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdContentLinkPreview",
1042
+ "method": "POST",
1043
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/content/link-preview",
1044
+ "purpose": "preview one linked page",
1045
+ "capabilityKey": "publication.source.write",
1046
+ "conditionalCapabilityKeys": [],
1047
+ "activationGate": "MVP",
1048
+ "assuranceClass": "SESSION",
1049
+ "actionGrant": "none",
1050
+ "apiKeyScope": null,
1051
+ "sourceFragment": "organizations"
1052
+ },
1014
1053
  {
1015
1054
  "operationId": "getOrganizationsByOrganizationIdPublicationsByPublicationIdContentPreviewContext",
1016
1055
  "method": "GET",
@@ -1570,6 +1609,19 @@
1570
1609
  "apiKeyScope": null,
1571
1610
  "sourceFragment": "audience"
1572
1611
  },
1612
+ {
1613
+ "operationId": "postOrganizationsByOrganizationIdPublicationsByPublicationIdNewsletterSubscribersImport",
1614
+ "method": "POST",
1615
+ "path": "/v2/organizations/{organizationId}/publications/{publicationId}/newsletter-subscribers:import",
1616
+ "purpose": "import a site's newsletter subscribers",
1617
+ "capabilityKey": "publication.audience.manage",
1618
+ "conditionalCapabilityKeys": [],
1619
+ "activationGate": "MVP",
1620
+ "assuranceClass": "SESSION",
1621
+ "actionGrant": "none",
1622
+ "apiKeyScope": null,
1623
+ "sourceFragment": "audience"
1624
+ },
1573
1625
  {
1574
1626
  "operationId": "deleteOrganizationsByOrganizationIdPublicationsByPublicationIdNewsletterSubscribersBySubscriberId",
1575
1627
  "method": "DELETE",
@@ -2620,6 +2672,32 @@
2620
2672
  "apiKeyScope": null,
2621
2673
  "sourceFragment": "public-interactions"
2622
2674
  },
2675
+ {
2676
+ "operationId": "deletePublicCommentsByCommentIdLike",
2677
+ "method": "DELETE",
2678
+ "path": "/v2/public/comments/{commentId}/like",
2679
+ "purpose": "withdraw the signed-in reader's like on one comment",
2680
+ "capabilityKey": null,
2681
+ "conditionalCapabilityKeys": [],
2682
+ "activationGate": "MVP",
2683
+ "assuranceClass": "SESSION",
2684
+ "actionGrant": "none",
2685
+ "apiKeyScope": null,
2686
+ "sourceFragment": "public-interactions"
2687
+ },
2688
+ {
2689
+ "operationId": "putPublicCommentsByCommentIdLike",
2690
+ "method": "PUT",
2691
+ "path": "/v2/public/comments/{commentId}/like",
2692
+ "purpose": "like one comment as the signed-in reader",
2693
+ "capabilityKey": null,
2694
+ "conditionalCapabilityKeys": [],
2695
+ "activationGate": "MVP",
2696
+ "assuranceClass": "SESSION",
2697
+ "actionGrant": "none",
2698
+ "apiKeyScope": null,
2699
+ "sourceFragment": "public-interactions"
2700
+ },
2623
2701
  {
2624
2702
  "operationId": "postPublicCommentsByCommentIdReports",
2625
2703
  "method": "POST",
@@ -3453,5 +3531,5 @@
3453
3531
  "sourceFragment": "workloads"
3454
3532
  }
3455
3533
  ],
3456
- "digest": "sha256:f0e6ca67ada30caff3e03675eecd2d6c7a671800a0909b4d5d93839e5f017d28"
3534
+ "digest": "sha256:6757c4f6ab4e8270463b3d9a57d601afe824fb724e8b7c8646846291235592de"
3457
3535
  }