@rathnasgala2/schemas 2.15.0 → 2.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 CHANGED
@@ -91,6 +91,27 @@ calls `postMembershipInvitationsByTokenAccept`; its non-enumerating failure
91
91
  states collapse onto that operation's single declared `INVALID_SOURCE_STATE`
92
92
  problem, which covers an expired, already-used or unknown token alike.
93
93
 
94
+ SCHEMA-2.16.0 corrects a fault SCHEMA-2.14.0 introduced:
95
+ `POST .../repository-changes/{changeId}:bring-up-to-date`'s
96
+ `x-gala-state-guards` admitted only `REQUESTED|PLANNED|AWAITING_CONFIRMATION`,
97
+ and its `409` wording said an already-committed change was refused -- which
98
+ defeated the operation's purpose, since a person's saved change IS committed (it
99
+ carries a `proposedRevision`, and it was reviewed and approved) and it is
100
+ exactly that change a publish refuses `SOURCE_OUT_OF_DATE`. The guard now also
101
+ admits `COMMITTED`:
102
+ `RepositoryChange:REQUESTED|PLANNED|AWAITING_CONFIRMATION|COMMITTED -> PLANNED (new change)`.
103
+ Not admitted, and now stated as such: a change with a commit in flight
104
+ (`COMMIT_REQUESTED`/`COMMITTING`/`UNKNOWN_RECONCILING`), one that already failed
105
+ or was cancelled (`FAILED_NO_CHANGE`/`CANCELLED`), or one already published. Two
106
+ smaller additions travel in the same release: `GET .../repository/setup`
107
+ declares `503 CAPABILITY_UNAVAILABLE`/`DEPENDENCY_UNAVAILABLE` exactly as
108
+ `POST .../repository:set-up` already does, since both depend on the same
109
+ configured GitHub App identity; and repository creation's operation description
110
+ now states that with `startFrom: USER_TEMPLATE` an unreachable
111
+ `rathnasgala2/user-template` GitHub template is the existing
112
+ `503 DEPENDENCY_UNAVAILABLE` this operation has declared since 2.13.0 (no new
113
+ status was needed).
114
+
94
115
  SCHEMA-2.15.0 closes a Content-list gap SCHEMA-2.14.0 left: with `kind` the only
95
116
  fact the inventory carried about a flat file, a row could not show title, kind,
96
117
  status or last-changed, and a client could not check web-address uniqueness,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "package": "@rathnasgala2/schemas@2.15.0",
3
+ "package": "@rathnasgala2/schemas@2.16.0",
4
4
  "source": "package-lock.json",
5
5
  "dependencies": [
6
6
  {
@@ -209,9 +209,9 @@
209
209
  "version": "2.0.0",
210
210
  "path": "openapi/openapi.yaml",
211
211
  "materialized": true,
212
- "sourceDigest": "sha256:ca5cf80a6fc7b91e4a029d9962efc0da84b31a267b0e1a7bbaaba731d426dffc",
212
+ "sourceDigest": "sha256:c4ee38c241c9207f7778e7d142ea7f1e2d5435162cbf3220cfba5441ab4637a1",
213
213
  "typescriptRootType": null
214
214
  }
215
215
  ],
216
- "digest": "sha256:fe8e29466fbeaafd38b28e6d09f94a4f9e05045aaa4af954431d5b493a13ba14"
216
+ "digest": "sha256:027f532a4b422dca7de3ca594133ebd4c8b3f2dce43d3a670b6adf2b3c781671"
217
217
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "2.0.0",
3
3
  "sourceDesignRevision": "a53052955ceb6c1aa10c886289dc832eedfe6de0a00004df07d353ac19c4403a",
4
- "openApiDigest": "sha256:ca5cf80a6fc7b91e4a029d9962efc0da84b31a267b0e1a7bbaaba731d426dffc",
4
+ "openApiDigest": "sha256:c4ee38c241c9207f7778e7d142ea7f1e2d5435162cbf3220cfba5441ab4637a1",
5
5
  "operations": [
6
6
  {
7
7
  "operationId": "getInternalHealth",
@@ -1049,5 +1049,5 @@
1049
1049
  "sourceFragment": "workloads"
1050
1050
  }
1051
1051
  ],
1052
- "digest": "sha256:f4c2d4b69632958faefc39a1a229877a70a60b86a22b9e891bbecb1924878c68"
1052
+ "digest": "sha256:c7191c307118e240ea21d6f2ea967748c5a32324b6637cb5076e5566bf04072a"
1053
1053
  }
@@ -13406,6 +13406,14 @@ paths:
13406
13406
  x-gala-success-category: query
13407
13407
  x-gala-tenant-scope: NONE
13408
13408
  post:
13409
+ description: |
13410
+ With `startFrom: USER_TEMPLATE` (the default), the created
13411
+ repository generates from the `rathnasgala2/user-template` GitHub
13412
+ template; if that template is unreachable, this is `503
13413
+ DEPENDENCY_UNAVAILABLE`, retryable, exactly the same declared
13414
+ failure an unreachable GitHub for the create itself already answers.
13415
+ A repository name already taken on the resolved account is `409
13416
+ INVALID_SOURCE_STATE` pointed at `/name`, as already declared.
13409
13417
  operationId: postGithubInstallationsByInstallationIdRepositories
13410
13418
  parameters:
13411
13419
  - $ref: "#/components/parameters/XCorrelationId"
@@ -13718,7 +13726,7 @@ paths:
13718
13726
  value:
13719
13727
  code: DEPENDENCY_UNAVAILABLE
13720
13728
  correlationId: 018f0000-0000-7000-8000-000000000001
13721
- detail: See the operation contract.
13729
+ detail: GitHub did not answer the create. With startFrom USER_TEMPLATE this also covers the rathnasgala2/user-template GitHub template itself being unreachable. Retryable. See the operation contract.
13722
13730
  errors: []
13723
13731
  retryable: true
13724
13732
  schemaId: urn:gala:schema:problem:2.0.0
@@ -24858,7 +24866,15 @@ paths:
24858
24866
  (`changeId`'s `proposedRevision`), Theirs (the head named by
24859
24867
  `X-Gala-Current-Head`) -- merges in the browser, and submits a new
24860
24868
  `content-changes:plan` with `baseRevision` set to that head (journey
24861
- state P4). `changeId` itself is untouched either way.
24869
+ state P4). `changeId` itself is untouched either way. `changeId` may
24870
+ be `AWAITING_CONFIRMATION` or already `COMMITTED`: a saved,
24871
+ reviewed and approved change is exactly the case a publish refuses
24872
+ `SOURCE_OUT_OF_DATE`, and it is that change bring-up-to-date must
24873
+ admit. Not admitted: a change with a commit in flight
24874
+ (`COMMIT_REQUESTED`, `COMMITTING`, `UNKNOWN_RECONCILING`), one that
24875
+ already failed or was cancelled (`FAILED_NO_CHANGE`, `CANCELLED`),
24876
+ or one already published (its `publishId` names a publish that
24877
+ produced a live deployment).
24862
24878
  operationId: postOrganizationsByOrganizationIdPublicationsByPublicationIdRepositoryChangesByChangeIdBringUpToDate
24863
24879
  parameters:
24864
24880
  - $ref: "#/components/parameters/XCorrelationId"
@@ -25065,7 +25081,7 @@ paths:
25065
25081
  value:
25066
25082
  code: INVALID_SOURCE_STATE
25067
25083
  correlationId: 018f0000-0000-7000-8000-000000000001
25068
- detail: "One or more paths conflict at file level between changeId and the current main head: nothing was written and no change was created. Read each named path through the document or asset read at baseRevision (Before), proposedRevision (Yours) and X-Gala-Current-Head (Theirs), merge in the browser, and submit a new content-changes:plan. This code is also used, with an empty errors[], when changeId is no longer in a state bring-up-to-date admits (already committed or cancelled). See the operation contract."
25084
+ detail: "One or more paths conflict at file level between changeId and the current main head: nothing was written and no change was created. Read each named path through the document or asset read at baseRevision (Before), proposedRevision (Yours) and X-Gala-Current-Head (Theirs), merge in the browser, and submit a new content-changes:plan. This code is also used, with an empty errors[], when the change is in flight, failed, cancelled or already published. See the operation contract."
25069
25085
  errors:
25070
25086
  - code: CONTENT_CONFLICT
25071
25087
  pointer: /documents/content~1articles~1example.md
@@ -25187,7 +25203,7 @@ paths:
25187
25203
  - VALIDATION_FAILED
25188
25204
  x-gala-replay-identity: idempotency-key
25189
25205
  x-gala-state-guards:
25190
- - RepositoryChange:REQUESTED|PLANNED|AWAITING_CONFIRMATION -> PLANNED (new change)
25206
+ - RepositoryChange:REQUESTED|PLANNED|AWAITING_CONFIRMATION|COMMITTED -> PLANNED (new change)
25191
25207
  x-gala-success-category: create
25192
25208
  x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
25193
25209
  /v2/organizations/{organizationId}/publications/{publicationId}/repository-changes/{changeId}:confirm:
@@ -25797,9 +25813,11 @@ paths:
25797
25813
  description: |
25798
25814
  Whether the linked repository already carries the user template files
25799
25815
  `POST .../repository:set-up` adds. `missing` names the user template
25800
- files
25801
- not yet present; `conflicts` names ones present with different content,
25802
- populated only while `state` is `CONFLICT`.
25816
+ files not yet present; `conflicts` names ones present with different
25817
+ content, populated only while `state` is `CONFLICT`. Computing this
25818
+ reads the linked repository through the same configured GitHub App
25819
+ identity `POST .../repository:set-up` depends on, so the two
25820
+ operations answer the same `503` the same way.
25803
25821
  operationId: getOrganizationsByOrganizationIdPublicationsByPublicationIdRepositorySetup
25804
25822
  parameters:
25805
25823
  - $ref: "#/components/parameters/XCorrelationId"
@@ -25946,6 +25964,47 @@ paths:
25946
25964
  $ref: "#/components/headers/XCorrelationId"
25947
25965
  x-gala-problem-codes:
25948
25966
  - RESOURCE_NOT_FOUND
25967
+ "503":
25968
+ content:
25969
+ application/problem+json:
25970
+ examples:
25971
+ CAPABILITY_UNAVAILABLE:
25972
+ summary: CAPABILITY_UNAVAILABLE
25973
+ value:
25974
+ code: CAPABILITY_UNAVAILABLE
25975
+ correlationId: 018f0000-0000-7000-8000-000000000001
25976
+ detail: See the operation contract.
25977
+ errors: []
25978
+ retryable: false
25979
+ schemaId: urn:gala:schema:problem:2.0.0
25980
+ schemaVersion: 2.0.0
25981
+ status: 503
25982
+ title: CAPABILITY_UNAVAILABLE
25983
+ type: urn:gala:problem:capability-unavailable
25984
+ DEPENDENCY_UNAVAILABLE:
25985
+ summary: DEPENDENCY_UNAVAILABLE
25986
+ value:
25987
+ code: DEPENDENCY_UNAVAILABLE
25988
+ correlationId: 018f0000-0000-7000-8000-000000000001
25989
+ detail: See the operation contract.
25990
+ errors: []
25991
+ retryable: true
25992
+ schemaId: urn:gala:schema:problem:2.0.0
25993
+ schemaVersion: 2.0.0
25994
+ status: 503
25995
+ title: DEPENDENCY_UNAVAILABLE
25996
+ type: urn:gala:problem:dependency-unavailable
25997
+ schema:
25998
+ $ref: "#/components/schemas/Problem"
25999
+ description: CAPABILITY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE
26000
+ headers:
26001
+ Cache-Control:
26002
+ $ref: "#/components/headers/CacheControlNoStore"
26003
+ X-Correlation-Id:
26004
+ $ref: "#/components/headers/XCorrelationId"
26005
+ x-gala-problem-codes:
26006
+ - CAPABILITY_UNAVAILABLE
26007
+ - DEPENDENCY_UNAVAILABLE
25949
26008
  security:
25950
26009
  - browserSession: []
25951
26010
  summary: read this publication's repository set-up state
@@ -25953,7 +26012,7 @@ paths:
25953
26012
  - organizations
25954
26013
  x-gala-activation-gate: MVP
25955
26014
  x-gala-activation-guards:
25956
- - NONE
26015
+ - Active repository binding and configured GitHub App identity capability
25957
26016
  x-gala-capability-key: publication.view
25958
26017
  x-gala-concurrency: binding-epoch
25959
26018
  x-gala-conditional-capabilities: []
@@ -25963,6 +26022,8 @@ paths:
25963
26022
  x-gala-reachable-problems:
25964
26023
  - AUTHENTICATION_REQUIRED
25965
26024
  - AUTHORIZATION_DENIED
26025
+ - CAPABILITY_UNAVAILABLE
26026
+ - DEPENDENCY_UNAVAILABLE
25966
26027
  - RESOURCE_NOT_FOUND
25967
26028
  - VALIDATION_FAILED
25968
26029
  x-gala-replay-identity: safe-query
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rathnasgala2/schemas",
3
- "version": "2.15.0",
3
+ "version": "2.16.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": "2.15.0",
101
- "bom-ref": "@rathnasgala2/schemas@2.15.0",
100
+ "version": "2.16.0",
101
+ "bom-ref": "@rathnasgala2/schemas@2.16.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@2.15.0?vcs_url=git%2Bhttps%3A%2F%2Fgithub.com%2Frathnasgala2%2Fschema.git",
111
+ "purl": "pkg:npm/%40rathnasgala2/schemas@2.16.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@2.15.0|ajv-formats@3.0.1",
156
+ "bom-ref": "@rathnasgala2/schemas@2.16.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@2.15.0|ajv@8.20.0",
190
+ "bom-ref": "@rathnasgala2/schemas@2.16.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@2.15.0|fast-deep-equal@3.1.3",
224
+ "bom-ref": "@rathnasgala2/schemas@2.16.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.7",
258
- "bom-ref": "@rathnasgala2/schemas@2.15.0|fast-uri@3.1.7",
258
+ "bom-ref": "@rathnasgala2/schemas@2.16.0|fast-uri@3.1.7",
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@2.15.0|json-schema-traverse@1.0.0",
292
+ "bom-ref": "@rathnasgala2/schemas@2.16.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@2.15.0|require-from-string@2.0.2",
326
+ "bom-ref": "@rathnasgala2/schemas@2.16.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@2.15.0",
1067
+ "ref": "@rathnasgala2/schemas@2.16.0",
1068
1068
  "dependsOn": [
1069
- "@rathnasgala2/schemas@2.15.0|ajv-formats@3.0.1",
1070
- "@rathnasgala2/schemas@2.15.0|ajv@8.20.0",
1069
+ "@rathnasgala2/schemas@2.16.0|ajv-formats@3.0.1",
1070
+ "@rathnasgala2/schemas@2.16.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@2.15.0|ajv-formats@3.0.1",
1092
+ "ref": "@rathnasgala2/schemas@2.16.0|ajv-formats@3.0.1",
1093
1093
  "dependsOn": [
1094
- "@rathnasgala2/schemas@2.15.0|ajv@8.20.0"
1094
+ "@rathnasgala2/schemas@2.16.0|ajv@8.20.0"
1095
1095
  ]
1096
1096
  },
1097
1097
  {
1098
- "ref": "@rathnasgala2/schemas@2.15.0|ajv@8.20.0",
1098
+ "ref": "@rathnasgala2/schemas@2.16.0|ajv@8.20.0",
1099
1099
  "dependsOn": [
1100
- "@rathnasgala2/schemas@2.15.0|fast-deep-equal@3.1.3",
1101
- "@rathnasgala2/schemas@2.15.0|fast-uri@3.1.7",
1102
- "@rathnasgala2/schemas@2.15.0|json-schema-traverse@1.0.0",
1103
- "@rathnasgala2/schemas@2.15.0|require-from-string@2.0.2"
1100
+ "@rathnasgala2/schemas@2.16.0|fast-deep-equal@3.1.3",
1101
+ "@rathnasgala2/schemas@2.16.0|fast-uri@3.1.7",
1102
+ "@rathnasgala2/schemas@2.16.0|json-schema-traverse@1.0.0",
1103
+ "@rathnasgala2/schemas@2.16.0|require-from-string@2.0.2"
1104
1104
  ]
1105
1105
  },
1106
1106
  {
1107
- "ref": "@rathnasgala2/schemas@2.15.0|fast-deep-equal@3.1.3"
1107
+ "ref": "@rathnasgala2/schemas@2.16.0|fast-deep-equal@3.1.3"
1108
1108
  },
1109
1109
  {
1110
- "ref": "@rathnasgala2/schemas@2.15.0|fast-uri@3.1.7"
1110
+ "ref": "@rathnasgala2/schemas@2.16.0|fast-uri@3.1.7"
1111
1111
  },
1112
1112
  {
1113
- "ref": "@rathnasgala2/schemas@2.15.0|json-schema-traverse@1.0.0"
1113
+ "ref": "@rathnasgala2/schemas@2.16.0|json-schema-traverse@1.0.0"
1114
1114
  },
1115
1115
  {
1116
- "ref": "@rathnasgala2/schemas@2.15.0|require-from-string@2.0.2"
1116
+ "ref": "@rathnasgala2/schemas@2.16.0|require-from-string@2.0.2"
1117
1117
  },
1118
1118
  {
1119
1119
  "ref": "pkg:npm/semver@7.8.5"