@rathnasgala2/schemas 3.7.0 → 3.9.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 (61) hide show
  1. package/THIRD_PARTY_LICENSES.json +1 -1
  2. package/diagnostics/diagnostic-map.json +857 -10
  3. package/docs/catalogs/schema-inventory.json +11 -11
  4. package/examples/valid/build-input/rules.json +24 -2
  5. package/examples/valid/problem/rules.json +35 -0
  6. package/examples/valid/template-composition/rules.json +769 -0
  7. package/examples/valid/theme-contract/rules.json +1107 -5
  8. package/fixtures/boundary/build-input/rules.json +24 -2
  9. package/fixtures/boundary/problem/rules.json +83 -0
  10. package/fixtures/boundary/template-composition/rules.json +769 -0
  11. package/fixtures/boundary/theme-contract/rules.json +1107 -5
  12. package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +22 -11
  13. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +22 -0
  14. package/fixtures/invalid/build-input/SCHEMA_UNION_INVALID/cases.json +11 -0
  15. package/fixtures/invalid/problem/SCHEMA_ARRAY_TOO_LONG/cases.json +13 -0
  16. package/fixtures/invalid/problem/SCHEMA_ENUM_INVALID/cases.json +11 -0
  17. package/fixtures/invalid/problem/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
  18. package/fixtures/invalid/problem/SCHEMA_STRING_TOO_SHORT/cases.json +11 -0
  19. package/fixtures/invalid/problem/SCHEMA_TYPE_INVALID/cases.json +29 -0
  20. package/fixtures/invalid/template-composition/SCHEMA_CONSTANT_INVALID/cases.json +497 -0
  21. package/fixtures/invalid/template-composition/SCHEMA_ENUM_INVALID/cases.json +83 -0
  22. package/fixtures/invalid/template-composition/SCHEMA_NEGATED_RULE_MATCHED/cases.json +11 -0
  23. package/fixtures/invalid/template-composition/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +909 -0
  24. package/fixtures/invalid/template-composition/SCHEMA_UNION_INVALID/cases.json +20 -0
  25. package/fixtures/invalid/theme-contract/REQUEST_FIELD_UNKNOWN/cases.json +120 -0
  26. package/fixtures/invalid/theme-contract/SCHEMA_CONSTANT_INVALID/cases.json +680 -0
  27. package/fixtures/invalid/theme-contract/SCHEMA_NEGATED_RULE_MATCHED/cases.json +11 -0
  28. package/fixtures/invalid/theme-contract/SCHEMA_PATTERN_INVALID/cases.json +33 -9
  29. package/fixtures/invalid/theme-contract/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1383 -3
  30. package/fixtures/invalid/theme-contract/SCHEMA_TYPE_INVALID/cases.json +77 -0
  31. package/fixtures/invalid/theme-contract/SCHEMA_UNION_INVALID/cases.json +18 -0
  32. package/fixtures/invalid/theme-contract/SCHEMA_VERSION_UNSUPPORTED/cases.json +110 -0
  33. package/fixtures/manifest.json +7570 -1065
  34. package/fixtures/s2/manifest.json +1 -1
  35. package/fixtures/unknown-field/build-input/rules.json +5 -1
  36. package/fixtures/unknown-field/problem/rules.json +8 -0
  37. package/fixtures/unknown-field/template-composition/rules.json +111 -0
  38. package/fixtures/unknown-field/theme-contract/rules.json +276 -1
  39. package/generated/browser/validator-core.mjs +3 -3
  40. package/generated/typescript/contracts/artifact-manifest.d.ts +4 -2
  41. package/generated/typescript/contracts/build-input.d.ts +3 -2
  42. package/generated/typescript/contracts/build-provenance.d.ts +4 -2
  43. package/generated/typescript/contracts/deployment-intent.d.ts +1 -0
  44. package/generated/typescript/contracts/deployment-receipt.d.ts +1 -0
  45. package/generated/typescript/contracts/lock.d.ts +2 -1
  46. package/generated/typescript/contracts/problem.d.ts +9 -0
  47. package/generated/typescript/contracts/template-composition.d.ts +75 -4
  48. package/generated/typescript/contracts/theme-contract.d.ts +75 -2
  49. package/openapi/http-catalog.json +2 -2
  50. package/openapi/openapi.yaml +82 -11
  51. package/package.json +1 -1
  52. package/sbom.cdx.json +23 -23
  53. package/schemas/artifact-manifest.schema.json +4 -2
  54. package/schemas/build-input.schema.json +12 -2
  55. package/schemas/build-provenance.schema.json +4 -2
  56. package/schemas/deployment-intent.schema.json +1 -0
  57. package/schemas/deployment-receipt.schema.json +1 -0
  58. package/schemas/lock.schema.json +2 -1
  59. package/schemas/problem.schema.json +21 -1
  60. package/schemas/template-composition.schema.json +179 -2
  61. package/schemas/theme-contract.schema.json +282 -1
@@ -165,7 +165,8 @@ export type ArtifactManifestManifestCompositionIdentity = Readonly<{
165
165
  | '@rathnasgala2/theme-amaze'
166
166
  | '@rathnasgala2/theme-flashy'
167
167
  | '@rathnasgala2/theme-minimal'
168
- | '@rathnasgala2/theme-zebra';
168
+ | '@rathnasgala2/theme-zebra'
169
+ | '@rathnasgala2/theme-editorial';
169
170
  }>;
170
171
  }>;
171
172
 
@@ -243,7 +244,8 @@ export type ArtifactManifestManifestReproducibleBuildRecord = Readonly<{
243
244
  | '@rathnasgala2/theme-amaze'
244
245
  | '@rathnasgala2/theme-flashy'
245
246
  | '@rathnasgala2/theme-minimal'
246
- | '@rathnasgala2/theme-zebra';
247
+ | '@rathnasgala2/theme-zebra'
248
+ | '@rathnasgala2/theme-editorial';
247
249
  }>;
248
250
  readonly workflowIdentity: ArtifactManifestDigest;
249
251
  }>;
@@ -9,7 +9,7 @@ export type BuildInputAppearanceNormalized = Readonly<{
9
9
  readonly footerComposition: 'profile' | 'compact' | 'minimal';
10
10
  readonly headerComposition: 'mark-and-name' | 'name-only' | 'mark-only';
11
11
  readonly source: BuildInputNormalizedSource;
12
- readonly theme: BuildInputPackageExact & unknown;
12
+ readonly theme: string & BuildInputPackageExact;
13
13
  readonly tokens: BuildInputSemanticTokens;
14
14
  readonly typeScale: 'compact' | 'standard' | 'spacious';
15
15
  readonly wordmark?: BuildInputResolvedFile;
@@ -77,7 +77,8 @@ export type BuildInputBuildPackages = Readonly<{
77
77
  | '@rathnasgala2/theme-amaze'
78
78
  | '@rathnasgala2/theme-flashy'
79
79
  | '@rathnasgala2/theme-minimal'
80
- | '@rathnasgala2/theme-zebra';
80
+ | '@rathnasgala2/theme-zebra'
81
+ | '@rathnasgala2/theme-editorial';
81
82
  }>;
82
83
  }>;
83
84
 
@@ -165,7 +165,8 @@ export type BuildProvenanceManifestCompositionIdentity = Readonly<{
165
165
  | '@rathnasgala2/theme-amaze'
166
166
  | '@rathnasgala2/theme-flashy'
167
167
  | '@rathnasgala2/theme-minimal'
168
- | '@rathnasgala2/theme-zebra';
168
+ | '@rathnasgala2/theme-zebra'
169
+ | '@rathnasgala2/theme-editorial';
169
170
  }>;
170
171
  }>;
171
172
 
@@ -243,7 +244,8 @@ export type BuildProvenanceManifestReproducibleBuildRecord = Readonly<{
243
244
  | '@rathnasgala2/theme-amaze'
244
245
  | '@rathnasgala2/theme-flashy'
245
246
  | '@rathnasgala2/theme-minimal'
246
- | '@rathnasgala2/theme-zebra';
247
+ | '@rathnasgala2/theme-zebra'
248
+ | '@rathnasgala2/theme-editorial';
247
249
  }>;
248
250
  readonly workflowIdentity: BuildProvenanceDigest;
249
251
  }>;
@@ -414,6 +414,7 @@ export type DeploymentIntentRecordReproducibleBuildRecord = Readonly<{
414
414
  readonly package?:
415
415
  | '@rathnasgala2/theme-default'
416
416
  | '@rathnasgala2/theme-amaze'
417
+ | '@rathnasgala2/theme-editorial'
417
418
  | '@rathnasgala2/theme-flashy'
418
419
  | '@rathnasgala2/theme-minimal'
419
420
  | '@rathnasgala2/theme-zebra';
@@ -1408,6 +1408,7 @@ export type DeploymentReceiptRecordReproducibleBuildRecord = Readonly<{
1408
1408
  readonly package?:
1409
1409
  | '@rathnasgala2/theme-default'
1410
1410
  | '@rathnasgala2/theme-amaze'
1411
+ | '@rathnasgala2/theme-editorial'
1411
1412
  | '@rathnasgala2/theme-flashy'
1412
1413
  | '@rathnasgala2/theme-minimal'
1413
1414
  | '@rathnasgala2/theme-zebra';
@@ -122,6 +122,7 @@ export type LockDocument = Readonly<{
122
122
  | '@rathnasgala2/theme-amaze'
123
123
  | '@rathnasgala2/theme-flashy'
124
124
  | '@rathnasgala2/theme-minimal'
125
- | '@rathnasgala2/theme-zebra';
125
+ | '@rathnasgala2/theme-zebra'
126
+ | '@rathnasgala2/theme-editorial';
126
127
  }>;
127
128
  }>;
@@ -11,7 +11,16 @@ export type ProblemExtensionKey = string;
11
11
 
12
12
  export type ProblemFieldError = Readonly<{
13
13
  readonly code: ProblemProblemCode;
14
+ readonly paths?: ReadonlyArray<string>;
14
15
  readonly pointer: string;
16
+ readonly reason?:
17
+ | 'AUTHOR_EDITED'
18
+ | 'BRANCH_PROTECTION'
19
+ | 'REPOSITORY_ARCHIVED'
20
+ | 'INSTALLATION_SUSPENDED'
21
+ | 'WORKFLOWS_PERMISSION_MISSING'
22
+ | 'AUTHORIZATION_LOST'
23
+ | 'FORBIDDEN';
15
24
  }>;
16
25
 
17
26
  export type ProblemGitObjectId = string;
@@ -41,7 +41,78 @@ export type TemplateCompositionUrlHttps = string;
41
41
 
42
42
  export type TemplateCompositionUrn = string;
43
43
 
44
- export type TemplateCompositionDocument = Readonly<{
45
- readonly schemaId: 'urn:gala:schema:template-composition:2.0.0';
46
- readonly schemaVersion: '2.0.0';
47
- }>;
44
+ export type TemplateCompositionDocument = (
45
+ | Readonly<{
46
+ readonly articleLayout: 'editorial';
47
+ readonly authorLayout: 'portrait';
48
+ readonly density: 'comfortable';
49
+ readonly footerLayout: 'expanded';
50
+ readonly headerLayout: 'masthead';
51
+ readonly homeLayout: 'magazine';
52
+ readonly listingLayout: 'rows';
53
+ readonly mediaRatio: 'landscape';
54
+ readonly profile: 'editorial';
55
+ }>
56
+ | Readonly<{
57
+ readonly articleLayout: 'full-bleed';
58
+ readonly authorLayout: 'portfolio';
59
+ readonly density: 'comfortable';
60
+ readonly footerLayout: 'compact';
61
+ readonly headerLayout: 'minimal';
62
+ readonly homeLayout: 'gallery';
63
+ readonly listingLayout: 'image-grid';
64
+ readonly mediaRatio: 'mixed';
65
+ readonly profile: 'visual';
66
+ }>
67
+ | Readonly<{
68
+ readonly articleLayout: 'issue';
69
+ readonly authorLayout: 'profile';
70
+ readonly density: 'comfortable';
71
+ readonly footerLayout: 'expanded';
72
+ readonly headerLayout: 'publication';
73
+ readonly homeLayout: 'newspaper';
74
+ readonly listingLayout: 'issues';
75
+ readonly mediaRatio: 'landscape';
76
+ readonly profile: 'newsletter';
77
+ }>
78
+ | Readonly<{
79
+ readonly articleLayout: 'prose';
80
+ readonly authorLayout: 'biography';
81
+ readonly density: 'spacious';
82
+ readonly footerLayout: 'compact';
83
+ readonly headerLayout: 'compact';
84
+ readonly homeLayout: 'chronological';
85
+ readonly listingLayout: 'dated-rows';
86
+ readonly mediaRatio: 'landscape';
87
+ readonly profile: 'personal';
88
+ }>
89
+ | Readonly<{
90
+ readonly articleLayout: 'technical';
91
+ readonly authorLayout: 'biography';
92
+ readonly density: 'compact';
93
+ readonly footerLayout: 'compact';
94
+ readonly headerLayout: 'utility';
95
+ readonly homeLayout: 'topic-index';
96
+ readonly listingLayout: 'rows';
97
+ readonly mediaRatio: 'landscape';
98
+ readonly profile: 'developer';
99
+ }>
100
+ | unknown
101
+ ) &
102
+ Readonly<{
103
+ readonly articleLayout?:
104
+ 'editorial' | 'issue' | 'full-bleed' | 'prose' | 'technical';
105
+ readonly authorLayout?: 'portrait' | 'profile' | 'portfolio' | 'biography';
106
+ readonly density?: 'comfortable' | 'spacious' | 'compact';
107
+ readonly footerLayout?: 'expanded' | 'compact';
108
+ readonly headerLayout?:
109
+ 'masthead' | 'publication' | 'minimal' | 'compact' | 'utility';
110
+ readonly homeLayout?:
111
+ 'magazine' | 'newspaper' | 'gallery' | 'chronological' | 'topic-index';
112
+ readonly listingLayout?: 'rows' | 'issues' | 'image-grid' | 'dated-rows';
113
+ readonly mediaRatio?: 'landscape' | 'mixed';
114
+ readonly profile?:
115
+ 'editorial' | 'newsletter' | 'visual' | 'personal' | 'developer';
116
+ readonly schemaId: 'urn:gala:schema:template-composition:2.0.0';
117
+ readonly schemaVersion: '2.0.0';
118
+ }>;
@@ -58,6 +58,73 @@ export type ThemeContractSpdxExpression = string;
58
58
 
59
59
  export type ThemeContractStableId = string;
60
60
 
61
+ export type ThemeContractTemplateComposition =
62
+ | Readonly<{
63
+ readonly articleLayout: 'editorial';
64
+ readonly authorLayout: 'portrait';
65
+ readonly density: 'comfortable';
66
+ readonly footerLayout: 'expanded';
67
+ readonly headerLayout: 'masthead';
68
+ readonly homeLayout: 'magazine';
69
+ readonly listingLayout: 'rows';
70
+ readonly mediaRatio: 'landscape';
71
+ readonly profile: 'editorial';
72
+ readonly schemaId: 'urn:gala:schema:template-composition:2.0.0';
73
+ readonly schemaVersion: '2.0.0';
74
+ }>
75
+ | Readonly<{
76
+ readonly articleLayout: 'full-bleed';
77
+ readonly authorLayout: 'portfolio';
78
+ readonly density: 'comfortable';
79
+ readonly footerLayout: 'compact';
80
+ readonly headerLayout: 'minimal';
81
+ readonly homeLayout: 'gallery';
82
+ readonly listingLayout: 'image-grid';
83
+ readonly mediaRatio: 'mixed';
84
+ readonly profile: 'visual';
85
+ readonly schemaId: 'urn:gala:schema:template-composition:2.0.0';
86
+ readonly schemaVersion: '2.0.0';
87
+ }>
88
+ | Readonly<{
89
+ readonly articleLayout: 'issue';
90
+ readonly authorLayout: 'profile';
91
+ readonly density: 'comfortable';
92
+ readonly footerLayout: 'expanded';
93
+ readonly headerLayout: 'publication';
94
+ readonly homeLayout: 'newspaper';
95
+ readonly listingLayout: 'issues';
96
+ readonly mediaRatio: 'landscape';
97
+ readonly profile: 'newsletter';
98
+ readonly schemaId: 'urn:gala:schema:template-composition:2.0.0';
99
+ readonly schemaVersion: '2.0.0';
100
+ }>
101
+ | Readonly<{
102
+ readonly articleLayout: 'prose';
103
+ readonly authorLayout: 'biography';
104
+ readonly density: 'spacious';
105
+ readonly footerLayout: 'compact';
106
+ readonly headerLayout: 'compact';
107
+ readonly homeLayout: 'chronological';
108
+ readonly listingLayout: 'dated-rows';
109
+ readonly mediaRatio: 'landscape';
110
+ readonly profile: 'personal';
111
+ readonly schemaId: 'urn:gala:schema:template-composition:2.0.0';
112
+ readonly schemaVersion: '2.0.0';
113
+ }>
114
+ | Readonly<{
115
+ readonly articleLayout: 'technical';
116
+ readonly authorLayout: 'biography';
117
+ readonly density: 'compact';
118
+ readonly footerLayout: 'compact';
119
+ readonly headerLayout: 'utility';
120
+ readonly homeLayout: 'topic-index';
121
+ readonly listingLayout: 'rows';
122
+ readonly mediaRatio: 'landscape';
123
+ readonly profile: 'developer';
124
+ readonly schemaId: 'urn:gala:schema:template-composition:2.0.0';
125
+ readonly schemaVersion: '2.0.0';
126
+ }>;
127
+
61
128
  export type ThemeContractThemeBudgets = Readonly<{
62
129
  readonly maximumFileBytes: ThemeContractPositiveInt64;
63
130
  readonly maximumFiles: number;
@@ -233,6 +300,10 @@ export type ThemeContractDocument = (
233
300
  readonly package?: unknown;
234
301
  readonly themeId?: 'default';
235
302
  }>
303
+ | Readonly<{
304
+ readonly package?: unknown;
305
+ readonly themeId?: 'editorial';
306
+ }>
236
307
  | Readonly<{
237
308
  readonly package?: unknown;
238
309
  readonly themeId?: 'flashy';
@@ -250,6 +321,7 @@ export type ThemeContractDocument = (
250
321
  readonly assets: ReadonlyArray<ThemeContractPassiveAsset>;
251
322
  readonly browserPolicyRef: 'gala-theme-css-v2-20211224';
252
323
  readonly budgets: ThemeContractThemeBudgets;
324
+ readonly composition?: ThemeContractTemplateComposition;
253
325
  readonly contractVersion: ThemeContractSemver;
254
326
  readonly cssLayers: ReadonlyArray<ThemeContractPlainLabel>;
255
327
  readonly evidenceDigest: ThemeContractDigest;
@@ -257,7 +329,7 @@ export type ThemeContractDocument = (
257
329
  readonly fixtures: ReadonlyArray<ThemeContractPlainLabel>;
258
330
  readonly integrity: ThemeContractDigest;
259
331
  readonly modes: ['dark', 'light', 'system'];
260
- readonly package: ThemeContractPackageExact & unknown;
332
+ readonly package: string & ThemeContractPackageExact;
261
333
  readonly schemaId: 'urn:gala:schema:theme-contract:2.0.0';
262
334
  readonly schemaVersion: '2.0.0';
263
335
  readonly slotHooks: ReadonlyArray<ThemeContractPlainLabel>;
@@ -869,4 +941,5 @@ export type ThemeContractDocument = (
869
941
  }> &
870
942
  ThemeContractThemeToken,
871
943
  ];
872
- }>;
944
+ }> &
945
+ unknown;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "2.0.0",
3
3
  "sourceDesignRevision": "a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a",
4
- "openApiDigest": "sha256:d3cdd4f047fd596fdc736c2ec8784ca83bc65df3cbe42130280ffd81763e10a8",
4
+ "openApiDigest": "sha256:9612379eda4997a04a0e3d0bcb4c3e7d68c5ba76688d4c733ab2b91520a914f7",
5
5
  "operations": [
6
6
  {
7
7
  "operationId": "getInternalHealth",
@@ -2121,5 +2121,5 @@
2121
2121
  "sourceFragment": "workloads"
2122
2122
  }
2123
2123
  ],
2124
- "digest": "sha256:c3aec0e1cda21761f7982ffdbd8aaa3a30c4ddb920abc3272a7e3d3a87121b2e"
2124
+ "digest": "sha256:e203c10513b422926292b5ed11f582de9ad4522fcdb824eed3fc332f639a819f"
2125
2125
  }
@@ -580,10 +580,12 @@ components:
580
580
  description: |
581
581
  The closed catalog of themes the server can select. `default` names
582
582
  `@rathnasgala2/theme-default`, `amaze` names
583
- `@rathnasgala2/theme-amaze`, and so on.
583
+ `@rathnasgala2/theme-amaze`, `editorial` names
584
+ `@rathnasgala2/theme-editorial`, and so on.
584
585
  enum:
585
586
  - default
586
587
  - amaze
588
+ - editorial
587
589
  - flashy
588
590
  - minimal
589
591
  - zebra
@@ -2446,7 +2448,7 @@ components:
2446
2448
  catalog:
2447
2449
  items:
2448
2450
  $ref: "#/components/schemas/PublicationAppearanceCatalogEntry"
2449
- maxItems: 5
2451
+ maxItems: 6
2450
2452
  type: array
2451
2453
  consistent:
2452
2454
  type: boolean
@@ -8143,6 +8145,7 @@ components:
8143
8145
  enum:
8144
8146
  - "@rathnasgala2/theme-default"
8145
8147
  - "@rathnasgala2/theme-amaze"
8148
+ - "@rathnasgala2/theme-editorial"
8146
8149
  - "@rathnasgala2/theme-flashy"
8147
8150
  - "@rathnasgala2/theme-minimal"
8148
8151
  - "@rathnasgala2/theme-zebra"
@@ -12793,10 +12796,30 @@ components:
12793
12796
  properties:
12794
12797
  code:
12795
12798
  $ref: "#/components/schemas/PortableProblemProblemCode"
12799
+ paths:
12800
+ description: "SCHEMA-3.9.0, optional: the managed repository file paths the error is about, as the App lists them. Absent from older servers."
12801
+ items:
12802
+ maxLength: 512
12803
+ minLength: 1
12804
+ type: string
12805
+ maxItems: 50
12806
+ minItems: 0
12807
+ type: array
12796
12808
  pointer:
12797
12809
  maxLength: 1024
12798
12810
  minLength: 1
12799
12811
  type: string
12812
+ reason:
12813
+ description: "SCHEMA-3.9.0, optional: why a REPOSITORY_NEEDS_UPDATE error needs the author. AUTHOR_EDITED: a managed file was changed in a way only the author may resolve. BRANCH_PROTECTION: GitHub refused Galascribe's own commit. REPOSITORY_ARCHIVED: the repository is archived. INSTALLATION_SUSPENDED: the GitHub App installation is suspended. WORKFLOWS_PERMISSION_MISSING: the installation has not accepted the workflows permission. AUTHORIZATION_LOST: Galascribe lost its GitHub authorization. FORBIDDEN: GitHub refused for another permission reason. Absent from older servers and for other codes; a client shows a generic sentence for a value it does not know."
12814
+ enum:
12815
+ - AUTHOR_EDITED
12816
+ - BRANCH_PROTECTION
12817
+ - REPOSITORY_ARCHIVED
12818
+ - INSTALLATION_SUSPENDED
12819
+ - WORKFLOWS_PERMISSION_MISSING
12820
+ - AUTHORIZATION_LOST
12821
+ - FORBIDDEN
12822
+ type: string
12800
12823
  required:
12801
12824
  - pointer
12802
12825
  - code
@@ -16946,6 +16969,7 @@ components:
16946
16969
  enum:
16947
16970
  - "@rathnasgala2/theme-default"
16948
16971
  - "@rathnasgala2/theme-amaze"
16972
+ - "@rathnasgala2/theme-editorial"
16949
16973
  - "@rathnasgala2/theme-flashy"
16950
16974
  - "@rathnasgala2/theme-minimal"
16951
16975
  - "@rathnasgala2/theme-zebra"
@@ -17399,7 +17423,7 @@ components:
17399
17423
  type: object
17400
17424
  SiteAttentionItem:
17401
17425
  additionalProperties: false
17402
- description: "Something that needs a person to act. The list is empty when nothing does. SCHEMA-3.3.0: `SCHEDULED_PUBLISH_FAILED` means a scheduled publish could not start at its time; `relatedPublishId` names the schedule and `reasonCode` the first precondition that failed (a client maps the values it knows to a sentence and shows a generic one otherwise); nothing was merged. `DOMAIN_PUBLISH_REQUIRED` means a custom domain is live and the next publish moves the site's address to it. `DOMAIN_DEGRADED` means a live custom domain stopped working; `reasonCode` names why and the domain read carries the next step."
17426
+ description: "Something that needs a person to act. The list is empty when nothing does. SCHEMA-3.3.0: `SCHEDULED_PUBLISH_FAILED` means a scheduled publish could not start at its time; `relatedPublishId` names the schedule and `reasonCode` the first precondition that failed (a client maps the values it knows to a sentence and shows a generic one otherwise); nothing was merged. `DOMAIN_PUBLISH_REQUIRED` means a custom domain is live and the next publish moves the site's address to it. `DOMAIN_DEGRADED` means a live custom domain stopped working; `reasonCode` names why and the domain read carries the next step. SCHEMA-3.9.0: on `REPOSITORY_NEEDS_UPDATE`, `reason` names the cause and `paths` the managed repository files involved, so a client can say what to do and list the files (both are absent from older servers and for other codes; show a generic sentence for a `reason` you do not know). `AUTHOR_EDITED`: a managed file differs from the version Galascribe manages and only the author may resolve it. `BRANCH_PROTECTION`: GitHub refused Galascribe's own repair commit. `REPOSITORY_ARCHIVED`: the repository is archived. `INSTALLATION_SUSPENDED`: the GitHub App installation is suspended. `WORKFLOWS_PERMISSION_MISSING`: the installation has not accepted the workflows permission. `AUTHORIZATION_LOST`: Galascribe lost its GitHub authorization. `FORBIDDEN`: GitHub refused for another permission reason. The same `reason` and `paths` ride on the `REPOSITORY_NEEDS_UPDATE` entry of a publish refusal's `errors`."
17403
17427
  properties:
17404
17428
  code:
17405
17429
  enum:
@@ -17418,6 +17442,26 @@ components:
17418
17442
  - DOMAIN_PUBLISH_REQUIRED
17419
17443
  - DOMAIN_DEGRADED
17420
17444
  type: string
17445
+ paths:
17446
+ description: SCHEMA-3.9.0. The managed repository files a `REPOSITORY_NEEDS_UPDATE` is about; may be empty when the cause is not about a file.
17447
+ items:
17448
+ maxLength: 512
17449
+ minLength: 1
17450
+ type: string
17451
+ maxItems: 50
17452
+ minItems: 0
17453
+ type: array
17454
+ reason:
17455
+ description: SCHEMA-3.9.0. Why a `REPOSITORY_NEEDS_UPDATE` needs the author.
17456
+ enum:
17457
+ - AUTHOR_EDITED
17458
+ - BRANCH_PROTECTION
17459
+ - REPOSITORY_ARCHIVED
17460
+ - INSTALLATION_SUSPENDED
17461
+ - WORKFLOWS_PERMISSION_MISSING
17462
+ - AUTHORIZATION_LOST
17463
+ - FORBIDDEN
17464
+ type: string
17421
17465
  reasonCode:
17422
17466
  maxLength: 80
17423
17467
  minLength: 1
@@ -29003,11 +29047,13 @@ paths:
29003
29047
  Reads this publication's theme selection at the linked repository's
29004
29048
  current main branch head: `selected` from `gala/appearance.json`
29005
29049
  (`theme`, `colorMode.default`), `built` from the `theme` block of
29006
- `gala.lock.json`, and the closed five-theme `catalog` the server can
29050
+ `gala.lock.json`, and the closed six-theme `catalog` the server can
29007
29051
  write. `selected.themeId` and `built.themeId` are `null` when that
29008
29052
  file names a package outside the catalog ("Custom theme").
29009
- `consistent` is true when `selected` and `built` name the same
29010
- package. `setUp` matches `GET .../repository/setup`'s `state`.
29053
+ `consistent` is true when a catalog theme's selected contract range
29054
+ and locked exact version equal the catalog release; for a custom
29055
+ theme, package equality is sufficient. `setUp` matches
29056
+ `GET .../repository/setup`'s `state`.
29011
29057
  `openChange` names an existing not-yet-published repository change
29012
29058
  of this publication that touches appearance, or is `null`, so a
29013
29059
  client links to it instead of planning a second one. The browser
@@ -29043,20 +29089,45 @@ paths:
29043
29089
  built:
29044
29090
  themeId: default
29045
29091
  themePackage: "@rathnasgala2/theme-default"
29046
- version: 2.0.0
29092
+ version: 4.0.0
29047
29093
  catalog:
29048
- - description: The calm default look.
29094
+ - description: A newspaper-style home and issue layout for publication-led creators.
29049
29095
  displayName: Default
29050
29096
  package: "@rathnasgala2/theme-default"
29051
29097
  themeId: default
29052
- version: 2.0.0
29098
+ version: 4.0.0
29099
+ - description: A serif-led magazine composition for editorial publications.
29100
+ displayName: Amaze
29101
+ package: "@rathnasgala2/theme-amaze"
29102
+ themeId: amaze
29103
+ version: 4.0.0
29104
+ - description: A magazine-style publication with distinct home, article, and author layouts.
29105
+ displayName: Editorial
29106
+ package: "@rathnasgala2/theme-editorial"
29107
+ themeId: editorial
29108
+ version: 4.0.0
29109
+ - description: An image-led gallery and full-bleed article composition.
29110
+ displayName: Flashy
29111
+ package: "@rathnasgala2/theme-flashy"
29112
+ themeId: flashy
29113
+ version: 4.0.0
29114
+ - description: A quiet chronological home and prose-first reading experience.
29115
+ displayName: Minimal
29116
+ package: "@rathnasgala2/theme-minimal"
29117
+ themeId: minimal
29118
+ version: 4.0.0
29119
+ - description: A compact topic index and technical article layout for developers.
29120
+ displayName: Zebra
29121
+ package: "@rathnasgala2/theme-zebra"
29122
+ themeId: zebra
29123
+ version: 4.0.0
29053
29124
  consistent: true
29054
29125
  head: sha1:0000000000000000000000000000000000000000
29055
29126
  openChange: null
29056
29127
  selected:
29057
29128
  colorModeDefault: system
29058
29129
  themeId: default
29059
- themePackage: "@rathnasgala2/theme-default@^2.0.0"
29130
+ themePackage: "@rathnasgala2/theme-default@^4.0.0"
29060
29131
  setUp: true
29061
29132
  schema:
29062
29133
  $ref: "#/components/schemas/GetOrganizationsByOrganizationIdPublicationsByPublicationIdAppearanceResponse"
@@ -30100,7 +30171,7 @@ paths:
30100
30171
  - displayName: Example Author
30101
30172
  id: 018f0000-0000-7000-8000-000000000001
30102
30173
  defaultLanguage: en
30103
- theme: "@rathnasgala2/theme-default@^2.0.0"
30174
+ theme: "@rathnasgala2/theme-default@^4.0.0"
30104
30175
  setUp: true
30105
30176
  schema:
30106
30177
  $ref: "#/components/schemas/GetOrganizationsByOrganizationIdPublicationsByPublicationIdContentResponse"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rathnasgala2/schemas",
3
- "version": "3.7.0",
3
+ "version": "3.9.0",
4
4
  "description": "Executable JSON Schema and OpenAPI contracts for Galascribe",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
package/sbom.cdx.json CHANGED
@@ -97,8 +97,8 @@
97
97
  "type": "library",
98
98
  "name": "schemas",
99
99
  "group": "@rathnasgala2",
100
- "version": "3.7.0",
101
- "bom-ref": "@rathnasgala2/schemas@3.7.0",
100
+ "version": "3.9.0",
101
+ "bom-ref": "@rathnasgala2/schemas@3.9.0",
102
102
  "description": "Executable JSON Schema and OpenAPI contracts for Galascribe",
103
103
  "licenses": [
104
104
  {
@@ -108,7 +108,7 @@
108
108
  }
109
109
  }
110
110
  ],
111
- "purl": "pkg:npm/%40rathnasgala2/schemas@3.7.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Frathnasgala2%2Fschema.git",
111
+ "purl": "pkg:npm/%40rathnasgala2/schemas@3.9.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Frathnasgala2%2Fschema.git",
112
112
  "externalReferences": [
113
113
  {
114
114
  "url": "https://github.com/rathnasgala2/schema/issues",
@@ -153,7 +153,7 @@
153
153
  "type": "library",
154
154
  "name": "ajv-formats",
155
155
  "version": "3.0.1",
156
- "bom-ref": "@rathnasgala2/schemas@3.7.0|ajv-formats@3.0.1",
156
+ "bom-ref": "@rathnasgala2/schemas@3.9.0|ajv-formats@3.0.1",
157
157
  "licenses": [
158
158
  {
159
159
  "license": {
@@ -187,7 +187,7 @@
187
187
  "type": "library",
188
188
  "name": "ajv",
189
189
  "version": "8.20.0",
190
- "bom-ref": "@rathnasgala2/schemas@3.7.0|ajv@8.20.0",
190
+ "bom-ref": "@rathnasgala2/schemas@3.9.0|ajv@8.20.0",
191
191
  "licenses": [
192
192
  {
193
193
  "license": {
@@ -221,7 +221,7 @@
221
221
  "type": "library",
222
222
  "name": "fast-deep-equal",
223
223
  "version": "3.1.3",
224
- "bom-ref": "@rathnasgala2/schemas@3.7.0|fast-deep-equal@3.1.3",
224
+ "bom-ref": "@rathnasgala2/schemas@3.9.0|fast-deep-equal@3.1.3",
225
225
  "licenses": [
226
226
  {
227
227
  "license": {
@@ -255,7 +255,7 @@
255
255
  "type": "library",
256
256
  "name": "fast-uri",
257
257
  "version": "3.1.8",
258
- "bom-ref": "@rathnasgala2/schemas@3.7.0|fast-uri@3.1.8",
258
+ "bom-ref": "@rathnasgala2/schemas@3.9.0|fast-uri@3.1.8",
259
259
  "licenses": [
260
260
  {
261
261
  "license": {
@@ -289,7 +289,7 @@
289
289
  "type": "library",
290
290
  "name": "json-schema-traverse",
291
291
  "version": "1.0.0",
292
- "bom-ref": "@rathnasgala2/schemas@3.7.0|json-schema-traverse@1.0.0",
292
+ "bom-ref": "@rathnasgala2/schemas@3.9.0|json-schema-traverse@1.0.0",
293
293
  "licenses": [
294
294
  {
295
295
  "license": {
@@ -323,7 +323,7 @@
323
323
  "type": "library",
324
324
  "name": "require-from-string",
325
325
  "version": "2.0.2",
326
- "bom-ref": "@rathnasgala2/schemas@3.7.0|require-from-string@2.0.2",
326
+ "bom-ref": "@rathnasgala2/schemas@3.9.0|require-from-string@2.0.2",
327
327
  "licenses": [
328
328
  {
329
329
  "license": {
@@ -1064,10 +1064,10 @@
1064
1064
  ],
1065
1065
  "dependencies": [
1066
1066
  {
1067
- "ref": "@rathnasgala2/schemas@3.7.0",
1067
+ "ref": "@rathnasgala2/schemas@3.9.0",
1068
1068
  "dependsOn": [
1069
- "@rathnasgala2/schemas@3.7.0|ajv-formats@3.0.1",
1070
- "@rathnasgala2/schemas@3.7.0|ajv@8.20.0",
1069
+ "@rathnasgala2/schemas@3.9.0|ajv-formats@3.0.1",
1070
+ "@rathnasgala2/schemas@3.9.0|ajv@8.20.0",
1071
1071
  "pkg:npm/semver@7.8.5",
1072
1072
  "urn:gala:source-data:iana-ipv4-special-registry",
1073
1073
  "urn:gala:source-data:iana-ipv6-special-registry",
@@ -1089,31 +1089,31 @@
1089
1089
  ]
1090
1090
  },
1091
1091
  {
1092
- "ref": "@rathnasgala2/schemas@3.7.0|ajv-formats@3.0.1",
1092
+ "ref": "@rathnasgala2/schemas@3.9.0|ajv-formats@3.0.1",
1093
1093
  "dependsOn": [
1094
- "@rathnasgala2/schemas@3.7.0|ajv@8.20.0"
1094
+ "@rathnasgala2/schemas@3.9.0|ajv@8.20.0"
1095
1095
  ]
1096
1096
  },
1097
1097
  {
1098
- "ref": "@rathnasgala2/schemas@3.7.0|ajv@8.20.0",
1098
+ "ref": "@rathnasgala2/schemas@3.9.0|ajv@8.20.0",
1099
1099
  "dependsOn": [
1100
- "@rathnasgala2/schemas@3.7.0|fast-deep-equal@3.1.3",
1101
- "@rathnasgala2/schemas@3.7.0|fast-uri@3.1.8",
1102
- "@rathnasgala2/schemas@3.7.0|json-schema-traverse@1.0.0",
1103
- "@rathnasgala2/schemas@3.7.0|require-from-string@2.0.2"
1100
+ "@rathnasgala2/schemas@3.9.0|fast-deep-equal@3.1.3",
1101
+ "@rathnasgala2/schemas@3.9.0|fast-uri@3.1.8",
1102
+ "@rathnasgala2/schemas@3.9.0|json-schema-traverse@1.0.0",
1103
+ "@rathnasgala2/schemas@3.9.0|require-from-string@2.0.2"
1104
1104
  ]
1105
1105
  },
1106
1106
  {
1107
- "ref": "@rathnasgala2/schemas@3.7.0|fast-deep-equal@3.1.3"
1107
+ "ref": "@rathnasgala2/schemas@3.9.0|fast-deep-equal@3.1.3"
1108
1108
  },
1109
1109
  {
1110
- "ref": "@rathnasgala2/schemas@3.7.0|fast-uri@3.1.8"
1110
+ "ref": "@rathnasgala2/schemas@3.9.0|fast-uri@3.1.8"
1111
1111
  },
1112
1112
  {
1113
- "ref": "@rathnasgala2/schemas@3.7.0|json-schema-traverse@1.0.0"
1113
+ "ref": "@rathnasgala2/schemas@3.9.0|json-schema-traverse@1.0.0"
1114
1114
  },
1115
1115
  {
1116
- "ref": "@rathnasgala2/schemas@3.7.0|require-from-string@2.0.2"
1116
+ "ref": "@rathnasgala2/schemas@3.9.0|require-from-string@2.0.2"
1117
1117
  },
1118
1118
  {
1119
1119
  "ref": "pkg:npm/semver@7.8.5"
@@ -385,7 +385,8 @@
385
385
  "@rathnasgala2/theme-amaze",
386
386
  "@rathnasgala2/theme-flashy",
387
387
  "@rathnasgala2/theme-minimal",
388
- "@rathnasgala2/theme-zebra"
388
+ "@rathnasgala2/theme-zebra",
389
+ "@rathnasgala2/theme-editorial"
389
390
  ]
390
391
  }
391
392
  }
@@ -850,7 +851,8 @@
850
851
  "@rathnasgala2/theme-amaze",
851
852
  "@rathnasgala2/theme-flashy",
852
853
  "@rathnasgala2/theme-minimal",
853
- "@rathnasgala2/theme-zebra"
854
+ "@rathnasgala2/theme-zebra",
855
+ "@rathnasgala2/theme-editorial"
854
856
  ]
855
857
  }
856
858
  }