@rathnasgala2/schemas 3.25.1 → 3.26.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 (46) hide show
  1. package/THIRD_PARTY_LICENSES.json +1 -1
  2. package/diagnostics/diagnostic-map.json +132 -0
  3. package/docs/catalogs/app-routes.json +3 -1
  4. package/docs/catalogs/schema-inventory.json +5 -5
  5. package/examples/valid/build-input/rules.json +147 -0
  6. package/examples/valid/content-frontmatter/rules.json +76 -0
  7. package/examples/valid/publication/rules.json +20 -0
  8. package/fixtures/boundary/build-input/rules.json +165 -0
  9. package/fixtures/boundary/content-frontmatter/rules.json +85 -0
  10. package/fixtures/boundary/publication/rules.json +20 -0
  11. package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +45 -0
  12. package/fixtures/invalid/build-input/SCHEMA_CONSTANT_INVALID/cases.json +11 -0
  13. package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +22 -0
  14. package/fixtures/invalid/build-input/SCHEMA_NUMBER_TOO_LARGE/cases.json +22 -0
  15. package/fixtures/invalid/build-input/SCHEMA_NUMBER_TOO_SMALL/cases.json +22 -0
  16. package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +11 -0
  17. package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +132 -0
  18. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +56 -0
  19. package/fixtures/invalid/content-frontmatter/REQUEST_FIELD_UNKNOWN/cases.json +16 -0
  20. package/fixtures/invalid/content-frontmatter/SCHEMA_CONSTANT_INVALID/cases.json +11 -0
  21. package/fixtures/invalid/content-frontmatter/SCHEMA_ENUM_INVALID/cases.json +11 -0
  22. package/fixtures/invalid/content-frontmatter/SCHEMA_NUMBER_TOO_LARGE/cases.json +11 -0
  23. package/fixtures/invalid/content-frontmatter/SCHEMA_NUMBER_TOO_SMALL/cases.json +11 -0
  24. package/fixtures/invalid/content-frontmatter/SCHEMA_PATTERN_INVALID/cases.json +11 -0
  25. package/fixtures/invalid/content-frontmatter/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +54 -0
  26. package/fixtures/invalid/content-frontmatter/SCHEMA_TYPE_INVALID/cases.json +20 -0
  27. package/fixtures/invalid/publication/REQUEST_FIELD_UNKNOWN/cases.json +9 -0
  28. package/fixtures/invalid/publication/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +9 -0
  29. package/fixtures/invalid/publication/SCHEMA_TYPE_INVALID/cases.json +18 -0
  30. package/fixtures/manifest.json +1018 -6
  31. package/fixtures/s2/manifest.json +16 -1
  32. package/fixtures/s2/normalized-inputs.json +3225 -0
  33. package/fixtures/unknown-field/build-input/rules.json +73 -0
  34. package/fixtures/unknown-field/content-frontmatter/rules.json +28 -0
  35. package/fixtures/unknown-field/publication/rules.json +14 -0
  36. package/generated/browser/validator-core.mjs +3 -3
  37. package/generated/typescript/contracts/build-input.d.ts +19 -0
  38. package/generated/typescript/contracts/content-frontmatter.d.ts +7 -0
  39. package/generated/typescript/contracts/publication.d.ts +5 -0
  40. package/openapi/http-catalog.json +28 -2
  41. package/openapi/openapi.yaml +516 -7
  42. package/package.json +1 -1
  43. package/sbom.cdx.json +23 -23
  44. package/schemas/build-input.schema.json +62 -1
  45. package/schemas/content-frontmatter.schema.json +31 -0
  46. package/schemas/publication.schema.json +8 -0
@@ -3805,6 +3805,8 @@ components:
3805
3805
  - openChange
3806
3806
  - setUp
3807
3807
  type: object
3808
+ GetOrganizationsByOrganizationIdPublicationsByPublicationIdListenSettingsResponse:
3809
+ $ref: "#/components/schemas/ListenSettings"
3808
3810
  GetOrganizationsByOrganizationIdPublicationsByPublicationIdModerationQueueResponse:
3809
3811
  additionalProperties: false
3810
3812
  properties:
@@ -6401,6 +6403,26 @@ components:
6401
6403
  - observedAt
6402
6404
  - evidenceDigest
6403
6405
  type: object
6406
+ ListenSettings:
6407
+ additionalProperties: false
6408
+ description: "SCHEMA-3.26.0: the Listen setting of a site at the linked repository's main branch head: the `listen` member of `gala/publication.json` (`enabled`). A publication with no `listen` member reads `enabled` false. `planAllows` is read-only: false while the site's plan does not include Listen (the Free plan by default), in which case `enabled` cannot be turned on. `openChange` names an existing not-yet-published change of this publication that touches the file, or is null. `setUp` matches `GET .../repository/setup` `state`."
6409
+ properties:
6410
+ enabled:
6411
+ type: boolean
6412
+ openChange:
6413
+ oneOf:
6414
+ - $ref: "#/components/schemas/PublicationAppearanceOpenChange"
6415
+ - type: "null"
6416
+ planAllows:
6417
+ type: boolean
6418
+ setUp:
6419
+ type: boolean
6420
+ required:
6421
+ - enabled
6422
+ - planAllows
6423
+ - openChange
6424
+ - setUp
6425
+ type: object
6404
6426
  ManagedDeploymentOperationResponse:
6405
6427
  additionalProperties: false
6406
6428
  allOf:
@@ -8680,6 +8702,9 @@ components:
8680
8702
  contactForm:
8681
8703
  description: "SCHEMA-3.23.0, whether sites on this plan may turn on the contact form. A site on a plan without it sees the form locked, and enabling it is `409 PLAN_REQUIRED`. Defaults of the first release: FREE 50 and no contact form, PRO 500 and a contact form, BUSINESS 2000 and a contact form."
8682
8704
  type: boolean
8705
+ listen:
8706
+ description: "SCHEMA-3.26.0, whether sites on this plan may turn on Listen, the audio version of posts. A site on a plan without it sees the setting locked, and enabling it is `409 PLAN_REQUIRED`. Defaults: FREE no Listen, PRO and BUSINESS Listen."
8707
+ type: boolean
8683
8708
  newsletterSubscriberLimit:
8684
8709
  description: "SCHEMA-3.23.0, the confirmed newsletter subscribers one organization on this plan may hold across its sites; a confirmation past it is `409 NEWSLETTER_FULL`. 0 admits none. Defaults of the first release: FREE 50 and no contact form, PRO 500 and a contact form, BUSINESS 2000 and a contact form."
8685
8710
  format: int64
@@ -8696,6 +8721,7 @@ components:
8696
8721
  - publicationLimit
8697
8722
  - newsletterSubscriberLimit
8698
8723
  - contactForm
8724
+ - listen
8699
8725
  type: object
8700
8726
  PlatformPlanCapacityRelease:
8701
8727
  additionalProperties: false
@@ -9167,6 +9193,31 @@ components:
9167
9193
  - generation
9168
9194
  - approvedAt
9169
9195
  type: object
9196
+ PortableContentFrontmatterContentListen:
9197
+ additionalProperties: false
9198
+ description: "SCHEMA-3.26.0: the audio version of this article. All three members are required. `listen` is allowed only when `kind` is `article`. It has an effect only while the publication has `listen.enabled` true."
9199
+ properties:
9200
+ audio:
9201
+ $ref: "#/components/schemas/PortableContentFrontmatterRepoRelativePath"
9202
+ description: "Repository-relative path of the audio file: an `.mp3` or `.m4a` file that sits under one of the repository `assetRoots`. The schema fixes the shape and the extension; the publish toolchain checks the asset root, that the file exists and is a regular file, that it sniffs as MP3 or M4A and the size limits."
9203
+ pattern: ^.+\.(?:mp3|m4a)$
9204
+ durationSeconds:
9205
+ description: Length of the episode in whole seconds, 1 to 10800 (three hours).
9206
+ maximum: 10800
9207
+ minimum: 1
9208
+ type: integer
9209
+ format:
9210
+ description: "What the episode is: `conversation` (two voices talking the post over), `narration` (one voice reading it), `debate` (two voices taking sides) or `skit` (a scripted scene). The template words its invitation by format."
9211
+ enum:
9212
+ - conversation
9213
+ - narration
9214
+ - debate
9215
+ - skit
9216
+ required:
9217
+ - audio
9218
+ - durationSeconds
9219
+ - format
9220
+ type: object
9170
9221
  PortableContentFrontmatterContentSeo:
9171
9222
  additionalProperties: false
9172
9223
  description: "SCHEMA-3.12.0: optional search overrides for one document. `title` replaces the page title in search results (the site suffix is still appended on non-home pages), `description` replaces the search description, `canonicalUrl` is an absolute HTTPS canonical for syndicated or moved content, and `noindex: true` keeps a listed document out of search engines. Every member is optional; absent members fall back to the document's own title and description."
@@ -9246,6 +9297,17 @@ components:
9246
9297
  x-gala-const: article
9247
9298
  required:
9248
9299
  - kind
9300
+ - if:
9301
+ required:
9302
+ - listen
9303
+ then:
9304
+ properties:
9305
+ kind:
9306
+ pattern: ^article$
9307
+ type: string
9308
+ x-gala-const: article
9309
+ required:
9310
+ - kind
9249
9311
  dependentRequired:
9250
9312
  seriesOrder:
9251
9313
  - series
@@ -9280,6 +9342,8 @@ components:
9280
9342
  - edition
9281
9343
  language:
9282
9344
  $ref: "#/components/schemas/PortableContentFrontmatterBcp47"
9345
+ listen:
9346
+ $ref: "#/components/schemas/PortableContentFrontmatterContentListen"
9283
9347
  newsletter:
9284
9348
  enum:
9285
9349
  - ineligible
@@ -19311,6 +19375,22 @@ components:
19311
19375
  required:
19312
19376
  - change
19313
19377
  type: object
19378
+ PutOrganizationsByOrganizationIdPublicationsByPublicationIdListenSettingsRequest:
19379
+ additionalProperties: false
19380
+ properties:
19381
+ enabled:
19382
+ type: boolean
19383
+ required:
19384
+ - enabled
19385
+ type: object
19386
+ PutOrganizationsByOrganizationIdPublicationsByPublicationIdListenSettingsResponse:
19387
+ additionalProperties: false
19388
+ properties:
19389
+ change:
19390
+ $ref: "#/components/schemas/PostOrganizationsByOrganizationIdPublicationsByPublicationIdContentChangesPlanResponse"
19391
+ required:
19392
+ - change
19393
+ type: object
19314
19394
  PutOrganizationsByOrganizationIdPublicationsByPublicationIdNewsletterSettingsRequest:
19315
19395
  additionalProperties: false
19316
19396
  allOf:
@@ -19410,6 +19490,9 @@ components:
19410
19490
  contactForm:
19411
19491
  description: SCHEMA-3.23.0, optional; absent keeps the plan's current value.
19412
19492
  type: boolean
19493
+ listen:
19494
+ description: SCHEMA-3.26.0, optional; absent keeps the plan's current value.
19495
+ type: boolean
19413
19496
  newsletterSubscriberLimit:
19414
19497
  description: SCHEMA-3.23.0, optional; absent keeps the plan's current value.
19415
19498
  format: int64
@@ -44939,6 +45022,424 @@ paths:
44939
45022
  - RepositoryChange:REQUESTED -> PLANNED
44940
45023
  x-gala-success-category: protocol
44941
45024
  x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
45025
+ /v2/organizations/{organizationId}/publications/{publicationId}/listen-settings:
45026
+ get:
45027
+ description: Reads the `listen` member of `gala/publication.json` at the linked repository's current main branch head. A publication with no `listen` member reads `enabled` false. `planAllows` is the API's own status and is never written to the repository.
45028
+ operationId: getOrganizationsByOrganizationIdPublicationsByPublicationIdListenSettings
45029
+ parameters:
45030
+ - $ref: "#/components/parameters/XCorrelationId"
45031
+ - example: 018f0000-0000-7000-8000-000000000001
45032
+ in: path
45033
+ name: organizationId
45034
+ required: true
45035
+ schema:
45036
+ format: uuid
45037
+ pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
45038
+ type: string
45039
+ - example: 018f0000-0000-7000-8000-000000000001
45040
+ in: path
45041
+ name: publicationId
45042
+ required: true
45043
+ schema:
45044
+ format: uuid
45045
+ pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
45046
+ type: string
45047
+ responses:
45048
+ "200":
45049
+ content:
45050
+ application/json:
45051
+ examples:
45052
+ nominal:
45053
+ summary: Nominal successful response
45054
+ value:
45055
+ enabled: false
45056
+ openChange: null
45057
+ planAllows: false
45058
+ setUp: true
45059
+ schema:
45060
+ $ref: "#/components/schemas/GetOrganizationsByOrganizationIdPublicationsByPublicationIdListenSettingsResponse"
45061
+ description: read this publication's listen settings at the main branch head succeeded
45062
+ headers:
45063
+ Cache-Control:
45064
+ $ref: "#/components/headers/CacheControlNoStore"
45065
+ X-Correlation-Id:
45066
+ $ref: "#/components/headers/XCorrelationId"
45067
+ "400":
45068
+ $ref: "#/components/responses/ValidationFailed"
45069
+ "401":
45070
+ content:
45071
+ application/problem+json:
45072
+ examples:
45073
+ AUTHENTICATION_REQUIRED:
45074
+ summary: AUTHENTICATION_REQUIRED
45075
+ value:
45076
+ code: AUTHENTICATION_REQUIRED
45077
+ correlationId: 018f0000-0000-7000-8000-000000000001
45078
+ detail: See the operation contract.
45079
+ errors: []
45080
+ retryable: false
45081
+ schemaId: urn:gala:schema:problem:2.0.0
45082
+ schemaVersion: 2.0.0
45083
+ status: 401
45084
+ title: AUTHENTICATION_REQUIRED
45085
+ type: urn:gala:problem:authentication-required
45086
+ schema:
45087
+ $ref: "#/components/schemas/Problem"
45088
+ description: AUTHENTICATION_REQUIRED
45089
+ headers:
45090
+ Cache-Control:
45091
+ $ref: "#/components/headers/CacheControlNoStore"
45092
+ X-Correlation-Id:
45093
+ $ref: "#/components/headers/XCorrelationId"
45094
+ x-gala-problem-codes:
45095
+ - AUTHENTICATION_REQUIRED
45096
+ "403":
45097
+ $ref: "#/components/responses/AuthorizationDenied"
45098
+ "404":
45099
+ $ref: "#/components/responses/ResourceNotFound"
45100
+ "429":
45101
+ content:
45102
+ application/problem+json:
45103
+ examples:
45104
+ RATE_LIMITED:
45105
+ summary: RATE_LIMITED
45106
+ value:
45107
+ code: RATE_LIMITED
45108
+ correlationId: 018f0000-0000-7000-8000-000000000001
45109
+ detail: See the operation contract.
45110
+ errors: []
45111
+ retryable: true
45112
+ schemaId: urn:gala:schema:problem:2.0.0
45113
+ schemaVersion: 2.0.0
45114
+ status: 429
45115
+ title: RATE_LIMITED
45116
+ type: urn:gala:problem:rate-limited
45117
+ schema:
45118
+ $ref: "#/components/schemas/Problem"
45119
+ description: RATE_LIMITED
45120
+ headers:
45121
+ Cache-Control:
45122
+ $ref: "#/components/headers/CacheControlNoStore"
45123
+ Retry-After:
45124
+ $ref: "#/components/headers/RetryAfter"
45125
+ X-Correlation-Id:
45126
+ $ref: "#/components/headers/XCorrelationId"
45127
+ x-gala-problem-codes:
45128
+ - RATE_LIMITED
45129
+ "503":
45130
+ content:
45131
+ application/problem+json:
45132
+ examples:
45133
+ CAPABILITY_UNAVAILABLE:
45134
+ summary: CAPABILITY_UNAVAILABLE
45135
+ value:
45136
+ code: CAPABILITY_UNAVAILABLE
45137
+ correlationId: 018f0000-0000-7000-8000-000000000001
45138
+ detail: See the operation contract.
45139
+ errors: []
45140
+ retryable: false
45141
+ schemaId: urn:gala:schema:problem:2.0.0
45142
+ schemaVersion: 2.0.0
45143
+ status: 503
45144
+ title: CAPABILITY_UNAVAILABLE
45145
+ type: urn:gala:problem:capability-unavailable
45146
+ DEPENDENCY_UNAVAILABLE:
45147
+ summary: DEPENDENCY_UNAVAILABLE
45148
+ value:
45149
+ code: DEPENDENCY_UNAVAILABLE
45150
+ correlationId: 018f0000-0000-7000-8000-000000000001
45151
+ detail: See the operation contract.
45152
+ errors: []
45153
+ retryable: true
45154
+ schemaId: urn:gala:schema:problem:2.0.0
45155
+ schemaVersion: 2.0.0
45156
+ status: 503
45157
+ title: DEPENDENCY_UNAVAILABLE
45158
+ type: urn:gala:problem:dependency-unavailable
45159
+ schema:
45160
+ $ref: "#/components/schemas/Problem"
45161
+ description: CAPABILITY_UNAVAILABLE, DEPENDENCY_UNAVAILABLE
45162
+ headers:
45163
+ Cache-Control:
45164
+ $ref: "#/components/headers/CacheControlNoStore"
45165
+ X-Correlation-Id:
45166
+ $ref: "#/components/headers/XCorrelationId"
45167
+ x-gala-problem-codes:
45168
+ - CAPABILITY_UNAVAILABLE
45169
+ - DEPENDENCY_UNAVAILABLE
45170
+ security:
45171
+ - browserSession: []
45172
+ summary: read this publication's listen settings at the main branch head
45173
+ tags:
45174
+ - interaction-settings
45175
+ x-gala-activation-gate: MVP
45176
+ x-gala-activation-guards:
45177
+ - Active repository binding and configured GitHub App identity capability
45178
+ x-gala-capability-key: publication.view
45179
+ x-gala-concurrency: binding-epoch
45180
+ x-gala-conditional-capabilities: []
45181
+ x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
45182
+ x-gala-nullability: required-and-nullable-are-explicit
45183
+ x-gala-purpose: read this publication's listen settings at the main branch head
45184
+ x-gala-reachable-problems:
45185
+ - AUTHENTICATION_REQUIRED
45186
+ - AUTHORIZATION_DENIED
45187
+ - CAPABILITY_UNAVAILABLE
45188
+ - DEPENDENCY_UNAVAILABLE
45189
+ - RATE_LIMITED
45190
+ - RESOURCE_NOT_FOUND
45191
+ - VALIDATION_FAILED
45192
+ x-gala-replay-identity: safe-query
45193
+ x-gala-state-guards:
45194
+ - NONE
45195
+ x-gala-success-category: query
45196
+ x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
45197
+ put:
45198
+ description: The server writes the `listen` member of `gala/publication.json` as one repository change, the way `sharing-settings` writes the `sharing` member. Publishing the change uses the normal publish flow. `change` has the shape the theme-selection write returns. Turning `enabled` on while the plan does not include Listen is `409 PLAN_REQUIRED` pointed at `/enabled`. Saving it off, or unchanged, is always allowed.
45199
+ operationId: putOrganizationsByOrganizationIdPublicationsByPublicationIdListenSettings
45200
+ parameters:
45201
+ - $ref: "#/components/parameters/XCorrelationId"
45202
+ - example: 018f0000-0000-7000-8000-000000000001
45203
+ in: path
45204
+ name: organizationId
45205
+ required: true
45206
+ schema:
45207
+ format: uuid
45208
+ pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
45209
+ type: string
45210
+ - example: 018f0000-0000-7000-8000-000000000001
45211
+ in: path
45212
+ name: publicationId
45213
+ required: true
45214
+ schema:
45215
+ format: uuid
45216
+ pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
45217
+ type: string
45218
+ - $ref: "#/components/parameters/IdempotencyKey"
45219
+ - $ref: "#/components/parameters/XCsrfToken"
45220
+ requestBody:
45221
+ content:
45222
+ application/json:
45223
+ examples:
45224
+ nominal:
45225
+ summary: Nominal valid request
45226
+ value:
45227
+ enabled: true
45228
+ schema:
45229
+ $ref: "#/components/schemas/PutOrganizationsByOrganizationIdPublicationsByPublicationIdListenSettingsRequest"
45230
+ required: true
45231
+ responses:
45232
+ "200":
45233
+ content:
45234
+ application/json:
45235
+ examples:
45236
+ nominal:
45237
+ summary: Nominal successful response
45238
+ value:
45239
+ change:
45240
+ changeId: 018f0000-0000-7000-8000-000000000001
45241
+ diffDigest: sha256:0000000000000000000000000000000000000000000000000000000000000000
45242
+ expectedHead: sha1:0000000000000000000000000000000000000000
45243
+ state: REQUESTED
45244
+ version: 0
45245
+ schema:
45246
+ $ref: "#/components/schemas/PutOrganizationsByOrganizationIdPublicationsByPublicationIdListenSettingsResponse"
45247
+ description: save this publication's listen settings as a repository change succeeded
45248
+ headers:
45249
+ Cache-Control:
45250
+ $ref: "#/components/headers/CacheControlNoStore"
45251
+ X-Correlation-Id:
45252
+ $ref: "#/components/headers/XCorrelationId"
45253
+ "400":
45254
+ $ref: "#/components/responses/RequestInvalid"
45255
+ "401":
45256
+ content:
45257
+ application/problem+json:
45258
+ examples:
45259
+ AUTHENTICATION_REQUIRED:
45260
+ summary: AUTHENTICATION_REQUIRED
45261
+ value:
45262
+ code: AUTHENTICATION_REQUIRED
45263
+ correlationId: 018f0000-0000-7000-8000-000000000001
45264
+ detail: See the operation contract.
45265
+ errors: []
45266
+ retryable: false
45267
+ schemaId: urn:gala:schema:problem:2.0.0
45268
+ schemaVersion: 2.0.0
45269
+ status: 401
45270
+ title: AUTHENTICATION_REQUIRED
45271
+ type: urn:gala:problem:authentication-required
45272
+ schema:
45273
+ $ref: "#/components/schemas/Problem"
45274
+ description: AUTHENTICATION_REQUIRED
45275
+ headers:
45276
+ Cache-Control:
45277
+ $ref: "#/components/headers/CacheControlNoStore"
45278
+ X-Correlation-Id:
45279
+ $ref: "#/components/headers/XCorrelationId"
45280
+ x-gala-problem-codes:
45281
+ - AUTHENTICATION_REQUIRED
45282
+ "403":
45283
+ $ref: "#/components/responses/AuthorizationDenied"
45284
+ "404":
45285
+ $ref: "#/components/responses/ResourceNotFound"
45286
+ "409":
45287
+ content:
45288
+ application/problem+json:
45289
+ examples:
45290
+ COMMAND_REPLAY_CONFLICT:
45291
+ summary: COMMAND_REPLAY_CONFLICT
45292
+ value:
45293
+ code: COMMAND_REPLAY_CONFLICT
45294
+ correlationId: 018f0000-0000-7000-8000-000000000001
45295
+ detail: See the operation contract.
45296
+ errors: []
45297
+ retryable: false
45298
+ schemaId: urn:gala:schema:problem:2.0.0
45299
+ schemaVersion: 2.0.0
45300
+ status: 409
45301
+ title: COMMAND_REPLAY_CONFLICT
45302
+ type: urn:gala:problem:command-replay-conflict
45303
+ INVALID_SOURCE_STATE:
45304
+ summary: INVALID_SOURCE_STATE
45305
+ value:
45306
+ code: INVALID_SOURCE_STATE
45307
+ correlationId: 018f0000-0000-7000-8000-000000000001
45308
+ detail: See the operation contract.
45309
+ errors: []
45310
+ retryable: false
45311
+ schemaId: urn:gala:schema:problem:2.0.0
45312
+ schemaVersion: 2.0.0
45313
+ status: 409
45314
+ title: INVALID_SOURCE_STATE
45315
+ type: urn:gala:problem:invalid-source-state
45316
+ PLAN_REQUIRED:
45317
+ summary: PLAN_REQUIRED
45318
+ value:
45319
+ code: PLAN_REQUIRED
45320
+ correlationId: 018f0000-0000-7000-8000-000000000001
45321
+ detail: The site's plan does not include Listen. See the operation contract.
45322
+ errors:
45323
+ - code: PLAN_REQUIRED
45324
+ pointer: /enabled
45325
+ retryable: false
45326
+ schemaId: urn:gala:schema:problem:2.0.0
45327
+ schemaVersion: 2.0.0
45328
+ status: 409
45329
+ title: PLAN_REQUIRED
45330
+ type: urn:gala:problem:plan-required
45331
+ TRANSFER_PENDING:
45332
+ summary: TRANSFER_PENDING
45333
+ value:
45334
+ code: TRANSFER_PENDING
45335
+ correlationId: 018f0000-0000-7000-8000-000000000001
45336
+ detail: See the operation contract.
45337
+ errors: []
45338
+ retryable: false
45339
+ schemaId: urn:gala:schema:problem:2.0.0
45340
+ schemaVersion: 2.0.0
45341
+ status: 409
45342
+ title: TRANSFER_PENDING
45343
+ type: urn:gala:problem:transfer-pending
45344
+ schema:
45345
+ $ref: "#/components/schemas/Problem"
45346
+ description: COMMAND_REPLAY_CONFLICT, INVALID_SOURCE_STATE, PLAN_REQUIRED, TRANSFER_PENDING
45347
+ headers:
45348
+ Cache-Control:
45349
+ $ref: "#/components/headers/CacheControlNoStore"
45350
+ X-Correlation-Id:
45351
+ $ref: "#/components/headers/XCorrelationId"
45352
+ x-gala-problem-codes:
45353
+ - COMMAND_REPLAY_CONFLICT
45354
+ - INVALID_SOURCE_STATE
45355
+ - PLAN_REQUIRED
45356
+ - TRANSFER_PENDING
45357
+ "422":
45358
+ content:
45359
+ application/problem+json:
45360
+ examples:
45361
+ VALIDATION_FAILED:
45362
+ summary: VALIDATION_FAILED
45363
+ value:
45364
+ code: VALIDATION_FAILED
45365
+ correlationId: 018f0000-0000-7000-8000-000000000001
45366
+ detail: See the operation contract.
45367
+ errors: []
45368
+ retryable: false
45369
+ schemaId: urn:gala:schema:problem:2.0.0
45370
+ schemaVersion: 2.0.0
45371
+ status: 422
45372
+ title: VALIDATION_FAILED
45373
+ type: urn:gala:problem:validation-failed
45374
+ schema:
45375
+ $ref: "#/components/schemas/Problem"
45376
+ description: VALIDATION_FAILED
45377
+ headers:
45378
+ Cache-Control:
45379
+ $ref: "#/components/headers/CacheControlNoStore"
45380
+ X-Correlation-Id:
45381
+ $ref: "#/components/headers/XCorrelationId"
45382
+ x-gala-problem-codes:
45383
+ - VALIDATION_FAILED
45384
+ "503":
45385
+ content:
45386
+ application/problem+json:
45387
+ examples:
45388
+ CAPABILITY_UNAVAILABLE:
45389
+ summary: CAPABILITY_UNAVAILABLE
45390
+ value:
45391
+ code: CAPABILITY_UNAVAILABLE
45392
+ correlationId: 018f0000-0000-7000-8000-000000000001
45393
+ detail: See the operation contract.
45394
+ errors: []
45395
+ retryable: false
45396
+ schemaId: urn:gala:schema:problem:2.0.0
45397
+ schemaVersion: 2.0.0
45398
+ status: 503
45399
+ title: CAPABILITY_UNAVAILABLE
45400
+ type: urn:gala:problem:capability-unavailable
45401
+ schema:
45402
+ $ref: "#/components/schemas/Problem"
45403
+ description: CAPABILITY_UNAVAILABLE
45404
+ headers:
45405
+ Cache-Control:
45406
+ $ref: "#/components/headers/CacheControlNoStore"
45407
+ X-Correlation-Id:
45408
+ $ref: "#/components/headers/XCorrelationId"
45409
+ x-gala-problem-codes:
45410
+ - CAPABILITY_UNAVAILABLE
45411
+ security:
45412
+ - browserSession: []
45413
+ summary: save this publication's listen settings as a repository change
45414
+ tags:
45415
+ - interaction-settings
45416
+ x-gala-activation-gate: MVP
45417
+ x-gala-activation-guards:
45418
+ - Active repository binding and configured GitHub App identity capability
45419
+ x-gala-capability-key: publication.settings.manage
45420
+ x-gala-concurrency: expected-git-head-and-binding-epoch
45421
+ x-gala-conditional-capabilities: []
45422
+ x-gala-example-profile: NOMINAL_SUCCESS_AND_EACH_REACHABLE_PROBLEM
45423
+ x-gala-nullability: required-and-nullable-are-explicit
45424
+ x-gala-purpose: save this publication's listen settings as a repository change
45425
+ x-gala-reachable-problems:
45426
+ - AUTHENTICATION_REQUIRED
45427
+ - AUTHORIZATION_DENIED
45428
+ - CAPABILITY_UNAVAILABLE
45429
+ - COMMAND_REPLAY_CONFLICT
45430
+ - INVALID_SOURCE_STATE
45431
+ - PLAN_REQUIRED
45432
+ - REQUEST_FIELD_UNKNOWN
45433
+ - RESOURCE_NOT_FOUND
45434
+ - TRANSFER_PENDING
45435
+ - VALIDATION_FAILED
45436
+ x-gala-replay-identity: idempotency-key
45437
+ x-gala-state-guards:
45438
+ - Publication:ACTIVE
45439
+ - RepositoryBinding:ACTIVE
45440
+ - RepositoryChange:REQUESTED -> PLANNED
45441
+ x-gala-success-category: protocol
45442
+ x-gala-tenant-scope: ORGANIZATION_AND_PUBLICATION_PATH
44942
45443
  /v2/organizations/{organizationId}/publications/{publicationId}/moderation/comments/{commentId}:decide:
44943
45444
  post:
44944
45445
  description: |
@@ -59960,10 +60461,12 @@ paths:
59960
60461
  active publication-capacity release with its single optimistic-lock
59961
60462
  version and the closed FREE, PRO, and BUSINESS plan catalog.
59962
60463
  Each plan carries its `publicationLimit`, its `newsletterSubscriberLimit`
59963
- (confirmed newsletter subscribers per organization) and `contactForm`
59964
- (whether its sites may turn on the contact form). Defaults of the first
59965
- release: FREE 50 and no contact form, PRO 500 and a contact form,
59966
- BUSINESS 2000 and a contact form.
60464
+ (confirmed newsletter subscribers per organization), `contactForm`
60465
+ (whether its sites may turn on the contact form) and `listen` (whether
60466
+ its sites may turn on Listen, the audio version of posts). Defaults of
60467
+ the first release: FREE 50 and no contact form, PRO 500 and a contact
60468
+ form, BUSINESS 2000 and a contact form. Listen defaults: FREE no, PRO
60469
+ and BUSINESS yes.
59967
60470
  operationId: getPlatformPlans
59968
60471
  parameters:
59969
60472
  - $ref: "#/components/parameters/XCorrelationId"
@@ -59978,14 +60481,17 @@ paths:
59978
60481
  effectiveAt: "2026-10-10T00:00:04.000Z"
59979
60482
  items:
59980
60483
  - contactForm: false
60484
+ listen: false
59981
60485
  newsletterSubscriberLimit: 50
59982
60486
  planKey: FREE
59983
60487
  publicationLimit: 1
59984
60488
  - contactForm: true
60489
+ listen: true
59985
60490
  newsletterSubscriberLimit: 500
59986
60491
  planKey: PRO
59987
60492
  publicationLimit: 10
59988
60493
  - contactForm: true
60494
+ listen: true
59989
60495
  newsletterSubscriberLimit: 2000
59990
60496
  planKey: BUSINESS
59991
60497
  publicationLimit: 50
@@ -60034,9 +60540,9 @@ paths:
60034
60540
  Operators only, with recent authentication. Atomically replaces the
60035
60541
  complete publication-capacity release, changing the named plan's limits
60036
60542
  while retaining the other two, at the release version in `If-Match`.
60037
- `newsletterSubscriberLimit` and `contactForm` are optional: absent keeps
60038
- the plan's current value. The invariant FREE <= PRO <= BUSINESS is
60039
- enforced on `publicationLimit` only. `reason` is a
60543
+ `newsletterSubscriberLimit`, `contactForm` and `listen` are optional:
60544
+ absent keeps the plan's current value. The invariant FREE <= PRO <=
60545
+ BUSINESS is enforced on `publicationLimit` only. `reason` is a
60040
60546
  non-sensitive operator reason code recorded in the audit event.
60041
60547
  operationId: putPlatformPlansByPlanKey
60042
60548
  parameters:
@@ -60073,14 +60579,17 @@ paths:
60073
60579
  effectiveAt: "2026-10-10T12:00:00.000Z"
60074
60580
  items:
60075
60581
  - contactForm: false
60582
+ listen: false
60076
60583
  newsletterSubscriberLimit: 50
60077
60584
  planKey: FREE
60078
60585
  publicationLimit: 1
60079
60586
  - contactForm: true
60587
+ listen: true
60080
60588
  newsletterSubscriberLimit: 500
60081
60589
  planKey: PRO
60082
60590
  publicationLimit: 12
60083
60591
  - contactForm: true
60592
+ listen: true
60084
60593
  newsletterSubscriberLimit: 2000
60085
60594
  planKey: BUSINESS
60086
60595
  publicationLimit: 50
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rathnasgala2/schemas",
3
- "version": "3.25.1",
3
+ "version": "3.26.0",
4
4
  "description": "Executable JSON Schema and OpenAPI contracts for Galascribe",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",