@rathnasgala2/schemas 2.11.0 → 2.12.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 (407) hide show
  1. package/README.md +164 -56
  2. package/THIRD_PARTY_LICENSES.json +79 -106
  3. package/diagnostics/diagnostic-map.json +443 -405
  4. package/diagnostics/diagnostic-map.public-runtime-origins.json +5 -0
  5. package/docs/catalogs/schema-inventory.json +33 -54
  6. package/examples/valid/adapter-capability/rules.json +11 -0
  7. package/examples/valid/artifact-manifest/rules.json +156 -177
  8. package/examples/valid/build-input/rules.json +67 -63
  9. package/examples/valid/build-provenance/rules.json +151 -172
  10. package/examples/valid/deployment-intent/rules.json +152 -148
  11. package/examples/valid/deployment-observation/rules.json +24 -20
  12. package/examples/valid/deployment-receipt/rules.json +152 -148
  13. package/examples/valid/navigation/rules.json +2 -4
  14. package/examples/valid/theme-contract/rules.json +4 -1
  15. package/fixtures/boundary/adapter-capability/rules.json +16 -0
  16. package/fixtures/boundary/artifact-manifest/rules.json +195 -202
  17. package/fixtures/boundary/build-input/rules.json +99 -86
  18. package/fixtures/boundary/build-provenance/rules.json +193 -202
  19. package/fixtures/boundary/deployment-intent/rules.json +186 -140
  20. package/fixtures/boundary/deployment-observation/rules.json +68 -18
  21. package/fixtures/boundary/deployment-receipt/rules.json +186 -140
  22. package/fixtures/boundary/navigation/rules.json +2 -17
  23. package/fixtures/boundary/theme-contract/rules.json +34 -0
  24. package/fixtures/invalid/adapter-capability/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
  25. package/fixtures/invalid/adapter-capability/UTF8_BYTE_LENGTH_INVALID/cases.json +11 -0
  26. package/fixtures/invalid/artifact-manifest/ASCII_BYTE_LENGTH_INVALID/cases.json +13 -0
  27. package/fixtures/invalid/artifact-manifest/INTEGER_RANGE_INVALID/cases.json +24 -0
  28. package/fixtures/invalid/artifact-manifest/REQUEST_FIELD_UNKNOWN/cases.json +19 -19
  29. package/fixtures/invalid/artifact-manifest/SCHEMA_CONSTANT_INVALID/cases.json +48 -48
  30. package/fixtures/invalid/artifact-manifest/SCHEMA_ENUM_INVALID/cases.json +11 -11
  31. package/fixtures/invalid/artifact-manifest/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  32. package/fixtures/invalid/artifact-manifest/SCHEMA_NEGATED_RULE_MATCHED/cases.json +0 -11
  33. package/fixtures/invalid/artifact-manifest/SCHEMA_PATTERN_INVALID/cases.json +0 -22
  34. package/fixtures/invalid/artifact-manifest/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1105 -1105
  35. package/fixtures/invalid/artifact-manifest/SCHEMA_STRING_TOO_LONG/cases.json +4 -6
  36. package/fixtures/invalid/artifact-manifest/SCHEMA_STRING_TOO_SHORT/cases.json +9 -11
  37. package/fixtures/invalid/artifact-manifest/SCHEMA_TYPE_INVALID/cases.json +22 -31
  38. package/fixtures/invalid/artifact-manifest/UTF8_BYTE_LENGTH_INVALID/cases.json +0 -11
  39. package/fixtures/invalid/build-input/INTEGER_RANGE_INVALID/cases.json +13 -0
  40. package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +32 -32
  41. package/fixtures/invalid/build-input/SCHEMA_CONSTANT_INVALID/cases.json +11 -11
  42. package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +11 -11
  43. package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +78 -78
  44. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +51 -18
  45. package/fixtures/invalid/build-provenance/ASCII_BYTE_LENGTH_INVALID/cases.json +13 -0
  46. package/fixtures/invalid/build-provenance/INTEGER_RANGE_INVALID/cases.json +22 -0
  47. package/fixtures/invalid/build-provenance/REQUEST_FIELD_UNKNOWN/cases.json +56 -56
  48. package/fixtures/invalid/build-provenance/SCHEMA_CONSTANT_INVALID/cases.json +37 -37
  49. package/fixtures/invalid/build-provenance/SCHEMA_ENUM_INVALID/cases.json +11 -11
  50. package/fixtures/invalid/build-provenance/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  51. package/fixtures/invalid/build-provenance/SCHEMA_NEGATED_RULE_MATCHED/cases.json +0 -11
  52. package/fixtures/invalid/build-provenance/SCHEMA_PATTERN_INVALID/cases.json +0 -22
  53. package/fixtures/invalid/build-provenance/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +927 -927
  54. package/fixtures/invalid/build-provenance/SCHEMA_STRING_TOO_LONG/cases.json +9 -11
  55. package/fixtures/invalid/build-provenance/SCHEMA_STRING_TOO_SHORT/cases.json +8 -10
  56. package/fixtures/invalid/build-provenance/SCHEMA_TYPE_INVALID/cases.json +20 -25
  57. package/fixtures/invalid/build-provenance/UTF8_BYTE_LENGTH_INVALID/cases.json +0 -11
  58. package/fixtures/invalid/deployment-intent/INTEGER_RANGE_INVALID/cases.json +24 -0
  59. package/fixtures/invalid/deployment-intent/REQUEST_FIELD_UNKNOWN/cases.json +30 -30
  60. package/fixtures/invalid/deployment-intent/SCHEMA_CONSTANT_INVALID/cases.json +41 -41
  61. package/fixtures/invalid/deployment-intent/SCHEMA_ENUM_INVALID/cases.json +11 -11
  62. package/fixtures/invalid/deployment-intent/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  63. package/fixtures/invalid/deployment-intent/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1209 -1209
  64. package/fixtures/invalid/deployment-intent/SCHEMA_STRING_TOO_LONG/cases.json +9 -0
  65. package/fixtures/invalid/deployment-intent/SCHEMA_STRING_TOO_SHORT/cases.json +9 -0
  66. package/fixtures/invalid/deployment-intent/SCHEMA_TYPE_INVALID/cases.json +22 -20
  67. package/fixtures/invalid/deployment-observation/INTEGER_RANGE_INVALID/cases.json +24 -0
  68. package/fixtures/invalid/deployment-observation/REQUEST_FIELD_UNKNOWN/cases.json +16 -16
  69. package/fixtures/invalid/deployment-observation/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  70. package/fixtures/invalid/deployment-observation/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +39 -39
  71. package/fixtures/invalid/deployment-observation/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
  72. package/fixtures/invalid/deployment-observation/SCHEMA_STRING_TOO_SHORT/cases.json +11 -0
  73. package/fixtures/invalid/deployment-observation/SCHEMA_TYPE_INVALID/cases.json +11 -11
  74. package/fixtures/invalid/deployment-receipt/INTEGER_RANGE_INVALID/cases.json +24 -0
  75. package/fixtures/invalid/deployment-receipt/REQUEST_FIELD_UNKNOWN/cases.json +70 -70
  76. package/fixtures/invalid/deployment-receipt/SCHEMA_CONSTANT_INVALID/cases.json +36 -36
  77. package/fixtures/invalid/deployment-receipt/SCHEMA_ENUM_INVALID/cases.json +11 -11
  78. package/fixtures/invalid/deployment-receipt/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  79. package/fixtures/invalid/deployment-receipt/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1304 -1304
  80. package/fixtures/invalid/deployment-receipt/SCHEMA_STRING_TOO_LONG/cases.json +9 -0
  81. package/fixtures/invalid/deployment-receipt/SCHEMA_STRING_TOO_SHORT/cases.json +9 -0
  82. package/fixtures/invalid/deployment-receipt/SCHEMA_TYPE_INVALID/cases.json +22 -20
  83. package/fixtures/invalid/navigation/SCHEMA_ARRAY_TOO_LONG/cases.json +0 -15
  84. package/fixtures/invalid/navigation/SCHEMA_CONSTANT_INVALID/cases.json +11 -0
  85. package/fixtures/invalid/navigation/SCHEMA_TYPE_INVALID/cases.json +0 -11
  86. package/fixtures/invalid/theme-contract/INTEGER_RANGE_INVALID/cases.json +11 -0
  87. package/fixtures/invalid/theme-contract/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  88. package/fixtures/invalid/theme-contract/SCHEMA_STRING_TOO_LONG/cases.json +9 -0
  89. package/fixtures/invalid/theme-contract/SCHEMA_STRING_TOO_SHORT/cases.json +9 -0
  90. package/fixtures/manifest.json +3217 -2930
  91. package/fixtures/unknown-field/adapter-capability/rules.json +2 -0
  92. package/fixtures/unknown-field/artifact-manifest/rules.json +111 -114
  93. package/fixtures/unknown-field/build-input/rules.json +36 -32
  94. package/fixtures/unknown-field/build-provenance/rules.json +111 -114
  95. package/fixtures/unknown-field/deployment-intent/rules.json +109 -105
  96. package/fixtures/unknown-field/deployment-observation/rules.json +24 -20
  97. package/fixtures/unknown-field/deployment-receipt/rules.json +109 -105
  98. package/fixtures/unknown-field/navigation/rules.json +1 -3
  99. package/fixtures/unknown-field/theme-contract/rules.json +3 -0
  100. package/generated/browser/runtime-origins-validator-core.d.mts +10 -0
  101. package/generated/browser/runtime-origins-validator-core.mjs +35 -0
  102. package/generated/browser/validator-core.d.mts +10 -0
  103. package/generated/browser/validator-core.mjs +80 -0
  104. package/generated/typescript/contracts/artifact-manifest.d.ts +49 -48
  105. package/generated/typescript/contracts/build-input.d.ts +15 -15
  106. package/generated/typescript/contracts/build-provenance.d.ts +51 -50
  107. package/generated/typescript/contracts/deployment-intent.d.ts +6 -6
  108. package/generated/typescript/contracts/deployment-observation.d.ts +1 -1
  109. package/generated/typescript/contracts/deployment-receipt.d.ts +5 -5
  110. package/generated/typescript/contracts/navigation.d.ts +1 -1
  111. package/generated/typescript/index.js +11 -37
  112. package/openapi/http-catalog.json +2 -2
  113. package/openapi/openapi.yaml +18 -10
  114. package/package.json +19 -16
  115. package/sbom.cdx.json +23 -23
  116. package/schemas/adapter-capability.schema.json +5 -1
  117. package/schemas/appearance.schema.json +1 -1
  118. package/schemas/artifact-manifest.schema.json +15 -18
  119. package/schemas/build-input.schema.json +18 -11
  120. package/schemas/build-provenance.schema.json +15 -18
  121. package/schemas/deployment-intent.schema.json +13 -8
  122. package/schemas/deployment-observation.schema.json +10 -5
  123. package/schemas/deployment-receipt.schema.json +12 -7
  124. package/schemas/navigation.schema.json +5 -26
  125. package/schemas/theme-contract.schema.json +4 -2
  126. package/src/index.js +2 -2
  127. package/src/internal/browser-schema-validator.js +43 -0
  128. package/src/internal/format-validators.js +1 -1
  129. package/src/internal/gala-keywords.js +148 -0
  130. package/src/internal/validator-core.js +244 -108
  131. package/src/runtime-origins.js +18 -18
  132. package/types/index.d.ts +2 -2
  133. package/types/internal/browser-schema-validator.d.ts +16 -0
  134. package/types/internal/format-validators.d.ts +1 -1
  135. package/types/internal/gala-keywords.d.ts +68 -0
  136. package/types/internal/validator-core.d.ts +80 -1
  137. package/compatibility/compatibility.json +0 -594
  138. package/generated/java/src/main/java/io/gala/schema/generated/GalaSchemaRegistry.java +0 -67
  139. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityAdapterConfigurationCapabilities.java +0 -24
  140. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityAdapterIdentity.java +0 -20
  141. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityCapabilityDecision.java +0 -62
  142. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityCredentialEgressProfile.java +0 -35
  143. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityDestinationIdentity.java +0 -25
  144. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityDestinationProviderCoordinates.java +0 -19
  145. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityDocument.java +0 -52
  146. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityFilesystemProviderLimits.java +0 -32
  147. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityGithubActionsOidcOriginCatalog.java +0 -25
  148. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityHttpProviderLimits.java +0 -72
  149. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemAllowlist.java +0 -21
  150. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemAllowlistEntry.java +0 -28
  151. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemCapabilityEvidence.java +0 -42
  152. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemControlPublication.java +0 -26
  153. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemControlRow.java +0 -44
  154. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemFailureEvidence.java +0 -40
  155. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemObservationEvidence.java +0 -40
  156. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemPlatform.java +0 -25
  157. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemProbeSummary.java +0 -32
  158. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemProbeTranscript.java +0 -25
  159. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemReplacement.java +0 -22
  160. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemSurfaceIdentity.java +0 -20
  161. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityManagedExecutionBudget.java +0 -26
  162. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityPagesOidcCredentialEgress.java +0 -30
  163. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderCallClassBinding.java +0 -22
  164. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderCredentialEgress.java +0 -26
  165. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderCredentialHeader.java +0 -24
  166. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderDerivedHeader.java +0 -18
  167. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderFixedHeader.java +0 -18
  168. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderRequestTemplate.java +0 -39
  169. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneBinding.java +0 -32
  170. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneRequest.java +0 -26
  171. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneRequestCatalog.java +0 -31
  172. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneResponseCatalog.java +0 -20
  173. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesWebsiteConfiguration.java +0 -24
  174. package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceColorMode.java +0 -19
  175. package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceDocument.java +0 -37
  176. package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceExtensionMap.java +0 -15
  177. package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceSemanticTokens.java +0 -15
  178. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestActionPinEvidence.java +0 -20
  179. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestArtifactLicenseConclusion.java +0 -21
  180. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestAssertedWorkload.java +0 -44
  181. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestBuildSandboxEvidence.java +0 -38
  182. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestDocument.java +0 -73
  183. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestFinding.java +0 -22
  184. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestAsset.java +0 -24
  185. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestCompositionIdentity.java +0 -25
  186. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestExcludedInput.java +0 -22
  187. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestIncludedSource.java +0 -22
  188. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestRedirect.java +0 -24
  189. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestRoute.java +0 -28
  190. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestSourceIdentity.java +0 -26
  191. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestValidationEvidence.java +0 -22
  192. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestMeasurement.java +0 -20
  193. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestPackageIdentity.java +0 -22
  194. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestRenderPolicyIdentity.java +0 -20
  195. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestReproducibleBuildRecord.java +0 -56
  196. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestWorkflowCarrierEvidence.java +0 -26
  197. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestWorkflowFileEvidence.java +0 -26
  198. package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorDocument.java +0 -33
  199. package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorExtensionMap.java +0 -15
  200. package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorLocalizedAuthor.java +0 -20
  201. package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorSocialLink.java +0 -19
  202. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputAdapterIdentity.java +0 -20
  203. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputAppearanceNormalized.java +0 -33
  204. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputAuthorNormalized.java +0 -31
  205. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputBuildPackages.java +0 -25
  206. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputColorMode.java +0 -19
  207. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputContentBuildRecord.java +0 -33
  208. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputContentFrontmatterNormalized.java +0 -44
  209. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputDestinationCapabilityProfile.java +0 -20
  210. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputDocument.java +0 -51
  211. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputLocalizedAuthor.java +0 -20
  212. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputModuleBuildSelection.java +0 -15
  213. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputNavigationItem.java +0 -23
  214. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputNavigationLeaf.java +0 -22
  215. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputNavigationNormalized.java +0 -21
  216. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputPackageIdentity.java +0 -22
  217. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputPublicationNormalized.java +0 -39
  218. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputRenderPolicyIdentity.java +0 -20
  219. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputRenderableBody.java +0 -26
  220. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputRepositorySnapshot.java +0 -22
  221. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputResolvedFile.java +0 -18
  222. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputResolvedMedia.java +0 -20
  223. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputSemanticTokens.java +0 -15
  224. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputSocialLink.java +0 -19
  225. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceActionPinEvidence.java +0 -20
  226. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceArtifactLicenseConclusion.java +0 -21
  227. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceAssertedWorkload.java +0 -44
  228. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceBuildSandboxEvidence.java +0 -38
  229. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceDocument.java +0 -69
  230. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceFinding.java +0 -22
  231. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestAsset.java +0 -24
  232. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestCompositionIdentity.java +0 -25
  233. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestExcludedInput.java +0 -22
  234. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestIncludedSource.java +0 -22
  235. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestRedirect.java +0 -24
  236. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestRoute.java +0 -28
  237. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestSourceIdentity.java +0 -26
  238. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestValidationEvidence.java +0 -22
  239. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceMeasurement.java +0 -20
  240. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenancePackageIdentity.java +0 -22
  241. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceRenderPolicyIdentity.java +0 -20
  242. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceReproducibleBuildRecord.java +0 -56
  243. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceWorkflowCarrierEvidence.java +0 -26
  244. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceWorkflowFileEvidence.java +0 -26
  245. package/generated/java/src/main/java/io/gala/schema/generated/model/ContentFrontmatterDocument.java +0 -50
  246. package/generated/java/src/main/java/io/gala/schema/generated/model/ContentFrontmatterExtensionMap.java +0 -15
  247. package/generated/java/src/main/java/io/gala/schema/generated/model/ContentFrontmatterMediaRef.java +0 -20
  248. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationBasis.java +0 -20
  249. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationDetectionObservation.java +0 -33
  250. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationDetectionPlan.java +0 -44
  251. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationDetectionProbe.java +0 -52
  252. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentAdapterIdentity.java +0 -20
  253. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentCancellationFinalizationEvidence.java +0 -41
  254. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDeadlineFinalizationEvidence.java +0 -39
  255. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDeadlineFinalizationStream.java +0 -22
  256. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDeploymentPolicyDecision.java +0 -75
  257. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDestinationIdentity.java +0 -25
  258. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDestinationMutationAuthority.java +0 -36
  259. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDestinationProviderCoordinates.java +0 -19
  260. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDocument.java +0 -136
  261. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentExpectedRedirectHop.java +0 -23
  262. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentObservedVerificationHeader.java +0 -19
  263. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPackageIdentity.java +0 -22
  264. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesInterveningRunAttempt.java +0 -20
  265. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesReconciliationCommand.java +0 -48
  266. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesReconciliationRecovery.java +0 -41
  267. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesRunAttemptGapProof.java +0 -27
  268. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPublicGenerationMarkerPayload.java +0 -24
  269. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPublicProbeObservation.java +0 -54
  270. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentRecognizedPriorRouteContract.java +0 -30
  271. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentRenderPolicyIdentity.java +0 -20
  272. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentReproducibleBuildRecord.java +0 -56
  273. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentSupersessionFinalizationEvidence.java +0 -45
  274. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentVerificationHeaderExpectation.java +0 -18
  275. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentVerificationPlanTarget.java +0 -52
  276. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationActivationDetectionObservation.java +0 -33
  277. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationActivationDetectionProbe.java +0 -52
  278. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationAdapterIdentity.java +0 -20
  279. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationCancellationFinalizationEvidence.java +0 -41
  280. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDeadlineFinalizationEvidence.java +0 -39
  281. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDeadlineFinalizationStream.java +0 -22
  282. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDestinationIdentity.java +0 -25
  283. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDestinationProviderCoordinates.java +0 -19
  284. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDocument.java +0 -57
  285. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationExpectedRedirectHop.java +0 -23
  286. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationObservedVerificationHeader.java +0 -19
  287. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationPackageIdentity.java +0 -22
  288. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationPublicProbeObservation.java +0 -54
  289. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationRecognizedPriorRouteContract.java +0 -30
  290. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationRenderPolicyIdentity.java +0 -20
  291. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationSupersessionFinalizationEvidence.java +0 -45
  292. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationVerificationHeaderExpectation.java +0 -18
  293. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationVerificationPlanTarget.java +0 -52
  294. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationBasis.java +0 -20
  295. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationDetectionObservation.java +0 -33
  296. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationDetectionPlan.java +0 -44
  297. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationDetectionProbe.java +0 -52
  298. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptAdapterIdentity.java +0 -20
  299. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptCancellationFinalizationEvidence.java +0 -41
  300. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeadlineFinalizationEvidence.java +0 -39
  301. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeadlineFinalizationStream.java +0 -22
  302. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentAttempt.java +0 -38
  303. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentFailure.java +0 -24
  304. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentObservation.java +0 -53
  305. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentPolicyDecision.java +0 -75
  306. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageEvidence.java +0 -36
  307. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageInput.java +0 -26
  308. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageObservationEvidenceReference.java +0 -18
  309. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageResult.java +0 -31
  310. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDestinationIdentity.java +0 -25
  311. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDestinationMutationAuthority.java +0 -36
  312. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDestinationProviderCoordinates.java +0 -19
  313. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDocument.java +0 -105
  314. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptExpectedRedirectHop.java +0 -23
  315. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptFinding.java +0 -22
  316. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptObservedVerificationHeader.java +0 -19
  317. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPackageIdentity.java +0 -22
  318. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesInterveningRunAttempt.java +0 -20
  319. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesReconciliationCommand.java +0 -48
  320. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesReconciliationRecovery.java +0 -41
  321. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesRunAttemptGapProof.java +0 -27
  322. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPublicGenerationMarkerPayload.java +0 -24
  323. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPublicProbeObservation.java +0 -54
  324. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptRecognizedPriorRouteContract.java +0 -30
  325. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptRenderPolicyIdentity.java +0 -20
  326. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptReproducibleBuildRecord.java +0 -56
  327. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptSupersessionFinalizationEvidence.java +0 -45
  328. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptVerificationHeaderExpectation.java +0 -18
  329. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptVerificationPlanTarget.java +0 -52
  330. package/generated/java/src/main/java/io/gala/schema/generated/model/EventEnvelopeDocument.java +0 -46
  331. package/generated/java/src/main/java/io/gala/schema/generated/model/EventEnvelopeRegisteredEventPayload.java +0 -26
  332. package/generated/java/src/main/java/io/gala/schema/generated/model/LockDependencyEdge.java +0 -18
  333. package/generated/java/src/main/java/io/gala/schema/generated/model/LockDocument.java +0 -39
  334. package/generated/java/src/main/java/io/gala/schema/generated/model/LockLockedPackage.java +0 -26
  335. package/generated/java/src/main/java/io/gala/schema/generated/model/LockLockedTemplate.java +0 -28
  336. package/generated/java/src/main/java/io/gala/schema/generated/model/LockPackageIdentity.java +0 -22
  337. package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationDocument.java +0 -25
  338. package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationExtensionMap.java +0 -15
  339. package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationNavigationItem.java +0 -23
  340. package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationNavigationLeaf.java +0 -23
  341. package/generated/java/src/main/java/io/gala/schema/generated/model/ProblemDocument.java +0 -37
  342. package/generated/java/src/main/java/io/gala/schema/generated/model/ProblemFieldError.java +0 -18
  343. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicGenerationMarkerDocument.java +0 -24
  344. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicRuntimeOriginsDocument.java +0 -44
  345. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationDocument.java +0 -41
  346. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationExtensionMap.java +0 -15
  347. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationFooterCard.java +0 -23
  348. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationPublicationProfile.java +0 -18
  349. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationSocialLink.java +0 -19
  350. package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryAssetRoot.java +0 -16
  351. package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryContentRoot.java +0 -23
  352. package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryDocument.java +0 -41
  353. package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryExtensionMap.java +0 -15
  354. package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryGeneratedRoot.java +0 -20
  355. package/generated/java/src/main/java/io/gala/schema/generated/model/TemplateCompositionDocument.java +0 -18
  356. package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractDocument.java +0 -53
  357. package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractPassiveAsset.java +0 -24
  358. package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractThemeBudgets.java +0 -20
  359. package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractThemeToken.java +0 -22
  360. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/adapter-capability.schema.json +0 -2689
  361. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/appearance.schema.json +0 -226
  362. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/artifact-manifest.schema.json +0 -1063
  363. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/author.schema.json +0 -231
  364. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/build-input.schema.json +0 -866
  365. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/build-provenance.schema.json +0 -937
  366. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/content-frontmatter.schema.json +0 -241
  367. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/deployment-intent.schema.json +0 -2067
  368. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/deployment-observation.schema.json +0 -1654
  369. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/deployment-receipt.schema.json +0 -5546
  370. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/event-envelope.schema.json +0 -195
  371. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/lock.schema.json +0 -326
  372. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/navigation.schema.json +0 -229
  373. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/problem.schema.json +0 -194
  374. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/public-generation-marker.schema.json +0 -142
  375. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/public-runtime-origins.schema.json +0 -183
  376. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/publication.schema.json +0 -248
  377. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/repository.schema.json +0 -219
  378. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/template-composition.schema.json +0 -133
  379. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/theme-contract.schema.json +0 -850
  380. package/generated/typescript/validator-core.cjs +0 -17
  381. package/openapi/generator/spring.json +0 -22
  382. package/openapi/generator/typescript-fetch.json +0 -19
  383. package/openapi/source/authentication.yaml +0 -557
  384. package/openapi/source/callbacks.yaml +0 -332
  385. package/openapi/source/components.yaml +0 -5670
  386. package/openapi/source/github.yaml +0 -351
  387. package/openapi/source/internal.yaml +0 -71
  388. package/openapi/source/membership-invitations.yaml +0 -203
  389. package/openapi/source/organizations.yaml +0 -11144
  390. package/openapi/source/root.yaml +0 -20
  391. package/openapi/source/self.yaml +0 -1940
  392. package/openapi/source/session.yaml +0 -308
  393. package/openapi/source/workloads.yaml +0 -744
  394. package/src/internal/build-artifact-semantics.js +0 -4391
  395. package/src/internal/deployment-record-semantics.js +0 -7567
  396. package/src/internal/deployment-stage-semantics.js +0 -1207
  397. package/src/internal/http-problem-contract.js +0 -35
  398. package/src/internal/managed-evidence-journal.js +0 -160
  399. package/src/internal/public-runtime-origins.js +0 -143
  400. package/src/internal/theme-composition-semantics.js +0 -2441
  401. package/types/internal/build-artifact-semantics.d.ts +0 -77
  402. package/types/internal/deployment-record-semantics.d.ts +0 -313
  403. package/types/internal/deployment-stage-semantics.d.ts +0 -108
  404. package/types/internal/http-problem-contract.d.ts +0 -4
  405. package/types/internal/managed-evidence-journal.d.ts +0 -26
  406. package/types/internal/public-runtime-origins.d.ts +0 -22
  407. package/types/internal/theme-composition-semantics.d.ts +0 -143
@@ -1,2689 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "urn:gala:schema:adapter-capability:2.0.0",
4
- "title": "Gala adapter-capability contract",
5
- "type": "object",
6
- "required": [
7
- "schemaId",
8
- "schemaVersion",
9
- "adapter",
10
- "contractVersion",
11
- "protocolRange",
12
- "destinationKinds",
13
- "operations",
14
- "staging",
15
- "activation",
16
- "concurrency",
17
- "idempotencyClass",
18
- "rollback",
19
- "verification",
20
- "providerInventoryAssurance",
21
- "configuration",
22
- "cacheInvalidation",
23
- "limits",
24
- "capabilityDigest"
25
- ],
26
- "properties": {
27
- "schemaId": { "const": "urn:gala:schema:adapter-capability:2.0.0" },
28
- "schemaVersion": { "const": "2.0.0" },
29
- "adapter": { "$ref": "#/$defs/adapterIdentity" },
30
- "contractVersion": { "$ref": "#/$defs/semver" },
31
- "protocolRange": { "$ref": "#/$defs/semverRange" },
32
- "destinationKinds": {
33
- "type": "array",
34
- "items": { "enum": ["local-directory", "github-pages", "do-spaces"] },
35
- "minItems": 1,
36
- "maxItems": 1,
37
- "uniqueItems": true
38
- },
39
- "operations": {
40
- "type": "array",
41
- "items": {
42
- "enum": [
43
- "inspect",
44
- "stage",
45
- "activate",
46
- "observe",
47
- "cleanup-staged",
48
- "rollback"
49
- ]
50
- },
51
- "minItems": 6,
52
- "maxItems": 6,
53
- "uniqueItems": true
54
- },
55
- "staging": {
56
- "enum": ["none", "private", "preview", "unreachable-generation"]
57
- },
58
- "activation": {
59
- "enum": [
60
- "replace-in-place",
61
- "pointer-swap",
62
- "provider-promotion",
63
- "branch-update"
64
- ]
65
- },
66
- "concurrency": {
67
- "enum": ["none", "best-effort", "expected-generation", "provider-etag"]
68
- },
69
- "idempotencyClass": {
70
- "enum": ["provider-key", "observable-identity", "none"]
71
- },
72
- "rollback": { "const": "reupload" },
73
- "verification": {
74
- "type": "array",
75
- "items": {
76
- "enum": [
77
- "provider-state",
78
- "origin-http",
79
- "public-http",
80
- "artifact-digest",
81
- "generation-marker"
82
- ]
83
- },
84
- "minItems": 1,
85
- "maxItems": 5,
86
- "uniqueItems": true
87
- },
88
- "providerInventoryAssurance": {
89
- "enum": ["none", "complete-artifact-digest"]
90
- },
91
- "configuration": { "$ref": "#/$defs/adapterConfigurationCapabilities" },
92
- "cacheInvalidation": { "const": "none" },
93
- "limits": { "$ref": "#/$defs/adapterProviderLimits" },
94
- "filesystemEvidenceDigest": { "$ref": "#/$defs/digest" },
95
- "capabilityDigest": { "$ref": "#/$defs/digest" }
96
- },
97
- "additionalProperties": false,
98
- "$defs": {
99
- "stableId": {
100
- "type": "string",
101
- "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
102
- "description": "Lowercase canonical UUIDv7. Once published, it is immutable; its time ordering conveys neither chronology nor authority."
103
- },
104
- "slug": {
105
- "type": "string",
106
- "minLength": 1,
107
- "maxLength": 80,
108
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
109
- },
110
- "repoRelativePath": {
111
- "type": "string",
112
- "minLength": 1,
113
- "maxLength": 512,
114
- "pattern": "^(?!/)(?!.*\\\\)(?!.*\\u0000).+$",
115
- "format": "gala-repository-relative-path",
116
- "x-gala-utf8ByteLength": { "maximum": 512 },
117
- "description": "NFC UTF-8 repository-relative path using slash separators, with no leading slash, dot segment, NUL, backslash, or percent-decoded traversal."
118
- },
119
- "canonicalRoute": {
120
- "type": "string",
121
- "minLength": 1,
122
- "pattern": "^/(?!/)(?!.*//)(?!.*[?#]).*$",
123
- "format": "gala-canonical-route",
124
- "description": "Absolute normalized route with no query, fragment, dot segment, double slash, or non-normalized percent encoding."
125
- },
126
- "gitObjectId": {
127
- "type": "string",
128
- "pattern": "^(?:sha1:[0-9a-f]{40}|sha256:[0-9a-f]{64})$"
129
- },
130
- "digest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
131
- "urlHttps": {
132
- "type": "string",
133
- "format": "uri",
134
- "pattern": "^https://(?![^/?#]*@)",
135
- "description": "Absolute HTTPS URL without embedded credentials."
136
- },
137
- "bcp47": {
138
- "type": "string",
139
- "minLength": 1,
140
- "maxLength": 255,
141
- "pattern": "^[A-Za-z0-9-]+$",
142
- "format": "gala-bcp47",
143
- "x-gala-utf8ByteLength": { "minimum": 1, "maximum": 255 },
144
- "description": "Structurally valid canonical BCP-47 language tag."
145
- },
146
- "isoCountry": {
147
- "type": "string",
148
- "pattern": "^[A-Z]{2}$",
149
- "format": "gala-iso-country",
150
- "description": "ISO 3166-1 alpha-2 country code; admission remains subject to the active policy profile."
151
- },
152
- "plainLabel": {
153
- "type": "string",
154
- "format": "gala-plain-label",
155
- "x-gala-graphemeLength": { "minimum": 1, "maximum": 80 },
156
- "description": "Normalized Unicode plain text without markup, controls, or bidi overrides."
157
- },
158
- "plainText": {
159
- "type": "string",
160
- "format": "gala-plain-text",
161
- "description": "NFC Unicode text without disallowed C0/C1 controls or bidi override/isolate controls."
162
- },
163
- "rfc3339": {
164
- "type": "string",
165
- "format": "date-time",
166
- "pattern": "^[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])T(?:[01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]\\.[0-9]{3}Z$",
167
- "description": "Canonical Gala UTC millisecond subset of RFC 3339."
168
- },
169
- "semver": {
170
- "type": "string",
171
- "pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-(?:0|[1-9]\\d*|\\d*[A-Za-z-][0-9A-Za-z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[A-Za-z-][0-9A-Za-z-]*))*)?$",
172
- "description": "Canonical SemVer 2.0.0 without build metadata."
173
- },
174
- "semverRange": {
175
- "type": "string",
176
- "minLength": 1,
177
- "pattern": "^(?:\\S+|\\S+ \\S+)$",
178
- "format": "gala-semver-range",
179
- "description": "Whitespace-free npm-compatible exact, caret, or bounded comparator-set range; tags and URLs are invalid."
180
- },
181
- "packageRange": {
182
- "type": "string",
183
- "minLength": 3,
184
- "pattern": "^(?:@[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?/[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?|[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?)@(?:\\S+|\\S+ \\S+)$",
185
- "format": "gala-package-range",
186
- "description": "Lowercase npm package identity and admitted semver range; Git, file, URL, and alias sources are invalid."
187
- },
188
- "packageExact": {
189
- "type": "string",
190
- "minLength": 3,
191
- "pattern": "^(?:@[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?/[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?|[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?)@\\S+$",
192
- "format": "gala-package-exact",
193
- "description": "Lowercase npm package identity and exact canonical semantic version; aliases are invalid."
194
- },
195
- "urn": {
196
- "type": "string",
197
- "minLength": 10,
198
- "maxLength": 255,
199
- "format": "uri",
200
- "pattern": "^urn:gala:[\\x21-\\x7E]+$",
201
- "description": "Absolute ASCII URN in the schema-declared Gala namespace."
202
- },
203
- "glob": {
204
- "type": "string",
205
- "minLength": 1,
206
- "maxLength": 256,
207
- "format": "gala-repository-glob",
208
- "x-gala-utf8ByteLength": { "maximum": 256 },
209
- "description": "Repository-relative POSIX glob using only star, globstar, and question-mark operators; braces, extglobs, negation, absolute paths, and parent traversal are invalid."
210
- },
211
- "passiveVisualToken": false,
212
- "extensionKey": {
213
- "type": "string",
214
- "format": "gala-extension-key",
215
- "description": "Reverse-DNS extension namespace that cannot shadow a core key."
216
- },
217
- "generationFence": {
218
- "type": "string",
219
- "pattern": "^(?:gala:expect-nothing-served|[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$",
220
- "description": "Activation fence: a generation identity, or the explicit expect-nothing-served sentinel. Never null, and never absent as a way of saying \"no expectation\" (LOCAL-47). This is the write-side expectation a caller states before it mutates a destination, and it is deliberately asymmetric with the observation-side fields (`observedGenerationId`), which are simply absent -- and are modelled as nullable by the in-process adapter protocol -- when nothing is served (LOCAL-52). It is deliberately one string schema with one combined pattern rather than a two-member `oneOf` of two string schemas: the admitted value set is identical, and OpenAPI Generator 7.25 turns such a union into an empty marker interface that a caller cannot carry a value in."
221
- },
222
- "positiveInt64": {
223
- "type": "string",
224
- "minLength": 1,
225
- "maxLength": 19,
226
- "pattern": "^[1-9][0-9]*$",
227
- "format": "gala-positive-int64",
228
- "x-gala-maximum": "9223372036854775807"
229
- },
230
- "nonnegativeInt64": {
231
- "type": "string",
232
- "minLength": 1,
233
- "maxLength": 19,
234
- "pattern": "^(?:0|[1-9][0-9]*)$",
235
- "format": "gala-nonnegative-int64",
236
- "x-gala-maximum": "9223372036854775807"
237
- },
238
- "unsignedDecimal": {
239
- "type": "string",
240
- "minLength": 1,
241
- "maxLength": 20,
242
- "pattern": "^(?:0|[1-9][0-9]*)$",
243
- "format": "gala-unsigned-64-bit-decimal",
244
- "x-gala-maximum": "18446744073709551615"
245
- },
246
- "adapterIdentity": {
247
- "type": "object",
248
- "required": ["adapterId", "adapterVersion", "adapterDigest"],
249
- "properties": {
250
- "adapterId": { "$ref": "#/$defs/plainLabel" },
251
- "adapterVersion": { "$ref": "#/$defs/semver" },
252
- "adapterDigest": { "$ref": "#/$defs/digest" }
253
- },
254
- "additionalProperties": false
255
- },
256
- "destinationIdentity": {
257
- "type": "object",
258
- "required": [
259
- "environment",
260
- "adapterId",
261
- "adapterVersion",
262
- "targetDigest",
263
- "baseUrl"
264
- ],
265
- "properties": {
266
- "environment": {
267
- "type": "string",
268
- "enum": ["github-pages", "do-spaces", "local-directory"],
269
- "description": "One constant per adapter (LOCAL-60a): `github-pages`, `do-spaces` or `local-directory`; it equals `adapterId` for each MVP adapter."
270
- },
271
- "adapterId": { "$ref": "#/$defs/plainLabel" },
272
- "adapterVersion": { "$ref": "#/$defs/semver" },
273
- "targetDigest": { "$ref": "#/$defs/digest" },
274
- "baseUrl": { "$ref": "#/$defs/urlHttps" },
275
- "providerBinding": { "$ref": "#/$defs/destinationProviderCoordinates" }
276
- },
277
- "additionalProperties": false,
278
- "allOf": [
279
- {
280
- "if": {
281
- "properties": { "adapterId": { "const": "github-pages" } },
282
- "required": ["adapterId"]
283
- },
284
- "then": {
285
- "properties": { "environment": { "const": "github-pages" } }
286
- }
287
- },
288
- {
289
- "if": {
290
- "properties": { "adapterId": { "const": "do-spaces" } },
291
- "required": ["adapterId"]
292
- },
293
- "then": { "properties": { "environment": { "const": "do-spaces" } } }
294
- },
295
- {
296
- "if": {
297
- "properties": { "adapterId": { "const": "local-directory" } },
298
- "required": ["adapterId"]
299
- },
300
- "then": {
301
- "properties": { "environment": { "const": "local-directory" } }
302
- }
303
- },
304
- {
305
- "if": {
306
- "properties": { "adapterId": { "const": "github-pages" } },
307
- "required": ["adapterId", "providerBinding"]
308
- },
309
- "then": {
310
- "properties": {
311
- "providerBinding": {
312
- "required": ["owner", "repository"],
313
- "properties": {
314
- "region": false,
315
- "servedBucket": false,
316
- "stagingBucket": false
317
- }
318
- }
319
- }
320
- }
321
- },
322
- {
323
- "if": {
324
- "properties": { "adapterId": { "const": "do-spaces" } },
325
- "required": ["adapterId", "providerBinding"]
326
- },
327
- "then": {
328
- "properties": {
329
- "providerBinding": {
330
- "required": ["region", "servedBucket", "stagingBucket"],
331
- "properties": { "owner": false, "repository": false }
332
- }
333
- }
334
- }
335
- },
336
- {
337
- "if": {
338
- "properties": { "adapterId": { "const": "local-directory" } },
339
- "required": ["adapterId"]
340
- },
341
- "then": { "properties": { "providerBinding": false } }
342
- }
343
- ]
344
- },
345
- "destinationProviderCoordinates": {
346
- "type": "object",
347
- "required": [],
348
- "properties": {
349
- "owner": {
350
- "type": "string",
351
- "minLength": 1,
352
- "maxLength": 39,
353
- "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]{0,37}[A-Za-z0-9])?$",
354
- "x-gala-asciiByteLength": { "minimum": 1, "maximum": 39 },
355
- "description": "GitHub owner login, for `github-pages` destinations."
356
- },
357
- "repository": {
358
- "type": "string",
359
- "minLength": 1,
360
- "maxLength": 100,
361
- "pattern": "^(?!\\.{1,2}$)[A-Za-z0-9._-]{1,100}$",
362
- "x-gala-asciiByteLength": { "minimum": 1, "maximum": 100 },
363
- "description": "GitHub repository name, for `github-pages` destinations."
364
- },
365
- "region": { "$ref": "#/$defs/spacesRegion" },
366
- "servedBucket": { "$ref": "#/$defs/spacesBucket" },
367
- "stagingBucket": { "$ref": "#/$defs/spacesBucket" }
368
- },
369
- "additionalProperties": false
370
- },
371
- "githubRepositoryCoordinate": {
372
- "type": "string",
373
- "minLength": 3,
374
- "maxLength": 140,
375
- "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]{0,37}[A-Za-z0-9])?/(?!\\.{1,2}$)[A-Za-z0-9._-]{1,100}$",
376
- "format": "gala-github-repository-coordinate",
377
- "x-gala-asciiByteLength": { "minimum": 3, "maximum": 140 },
378
- "description": "Exact GitHub owner/repository spelling; the repository component cannot be dot or dot-dot."
379
- },
380
- "githubPositiveDecimal": {
381
- "type": "string",
382
- "minLength": 1,
383
- "maxLength": 20,
384
- "pattern": "^[1-9][0-9]{0,19}$",
385
- "format": "gala-github-positive-uint64",
386
- "x-gala-maximum": "18446744073709551615"
387
- },
388
- "managedFailureCode": {
389
- "type": "string",
390
- "minLength": 1,
391
- "maxLength": 64,
392
- "pattern": "^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$",
393
- "enum": [
394
- "TARGET_CAPABILITY_UNAVAILABLE",
395
- "ATOMIC_ACTIVATION_UNSUPPORTED",
396
- "REJECTED",
397
- "NOT_ATTEMPTED_RETRYABLE",
398
- "AUTHORIZATION_LOST",
399
- "RATE_LIMITED",
400
- "PROVIDER_CONTRACT_VIOLATION",
401
- "OUTCOME_UNKNOWN_RECONCILING",
402
- "PUBLIC_VERIFICATION_INCONCLUSIVE",
403
- "PUBLIC_INTEGRITY_MISMATCH"
404
- ]
405
- },
406
- "adapterConfigurationCapabilities": {
407
- "type": "object",
408
- "required": [
409
- "redirects",
410
- "headers",
411
- "customDomains",
412
- "notFoundBehavior",
413
- "immutableCaching"
414
- ],
415
- "properties": {
416
- "redirects": { "type": "boolean" },
417
- "headers": { "type": "boolean" },
418
- "customDomains": { "type": "boolean" },
419
- "notFoundBehavior": { "type": "boolean" },
420
- "immutableCaching": { "type": "boolean" }
421
- },
422
- "additionalProperties": false
423
- },
424
- "filesystemProviderLimits": {
425
- "type": "object",
426
- "required": [
427
- "transport",
428
- "filesystemProfile",
429
- "filesystemAllowlistDigest",
430
- "maximumFiles",
431
- "maximumFileBytes",
432
- "maximumArtifactBytes",
433
- "maximumProviderCallSeconds",
434
- "maximumPathBytes",
435
- "pathRuleProfile"
436
- ],
437
- "properties": {
438
- "transport": { "const": "filesystem" },
439
- "filesystemProfile": { "const": "gala-local-directory-filesystem-v2" },
440
- "filesystemAllowlistDigest": { "$ref": "#/$defs/digest" },
441
- "maximumFiles": { "$ref": "#/$defs/positiveInt64" },
442
- "maximumFileBytes": { "$ref": "#/$defs/positiveInt64" },
443
- "maximumArtifactBytes": { "$ref": "#/$defs/positiveInt64" },
444
- "maximumProviderCallSeconds": {
445
- "type": "integer",
446
- "minimum": 1,
447
- "maximum": 3600
448
- },
449
- "maximumPathBytes": { "type": "integer", "minimum": 1, "maximum": 512 },
450
- "pathRuleProfile": { "const": "gala-portable-v2" }
451
- },
452
- "additionalProperties": false
453
- },
454
- "httpProviderLimits": {
455
- "type": "object",
456
- "required": [
457
- "transport",
458
- "maximumFiles",
459
- "maximumFileBytes",
460
- "maximumArtifactBytes",
461
- "maximumProviderCallSeconds",
462
- "maximumPathBytes",
463
- "pathRuleProfile",
464
- "requestTemplateProfile",
465
- "requestTemplateCatalogDigest",
466
- "requestTemplates",
467
- "responseProfileCatalogDigest",
468
- "providerCompatibilityEvidenceDigest",
469
- "tlsProfileDigest",
470
- "credentialEgressProfileDigest",
471
- "managedExecutionBudget",
472
- "maximumProviderRequestsPerStage",
473
- "maximumProviderStageRequestBytes",
474
- "maximumProviderStageResponseBytes",
475
- "maximumProviderStageResponseWireBytes",
476
- "maximumProviderRequestHeadBytes",
477
- "maximumProviderRequestBodyBytes",
478
- "maximumProviderResponseHeadBytes",
479
- "maximumProviderResponseBodyBytes",
480
- "maximumProviderResponseWireBodyBytes"
481
- ],
482
- "properties": {
483
- "transport": { "const": "http" },
484
- "maximumFiles": { "$ref": "#/$defs/positiveInt64" },
485
- "maximumFileBytes": { "$ref": "#/$defs/positiveInt64" },
486
- "maximumArtifactBytes": { "$ref": "#/$defs/positiveInt64" },
487
- "maximumProviderCallSeconds": {
488
- "type": "integer",
489
- "minimum": 1,
490
- "maximum": 3600
491
- },
492
- "maximumPathBytes": { "type": "integer", "minimum": 1, "maximum": 512 },
493
- "pathRuleProfile": { "const": "gala-portable-v2" },
494
- "requestTemplateProfile": {
495
- "enum": ["gala-github-pages-http-v2", "gala-do-spaces-sigv4-v2"]
496
- },
497
- "requestTemplateCatalogDigest": { "$ref": "#/$defs/digest" },
498
- "requestTemplates": {
499
- "type": "array",
500
- "items": { "$ref": "#/$defs/providerRequestTemplate" },
501
- "minItems": 1,
502
- "maxItems": 64,
503
- "uniqueItems": true
504
- },
505
- "callClassBinding": {
506
- "type": "array",
507
- "items": { "$ref": "#/$defs/providerCallClassBinding" },
508
- "minItems": 1,
509
- "maxItems": 64,
510
- "uniqueItems": true
511
- },
512
- "callClassBindingDigest": { "$ref": "#/$defs/digest" },
513
- "responseProfileCatalogDigest": { "$ref": "#/$defs/digest" },
514
- "providerCompatibilityEvidenceDigest": { "$ref": "#/$defs/digest" },
515
- "tlsProfileDigest": { "$ref": "#/$defs/digest" },
516
- "credentialEgressProfileDigest": { "$ref": "#/$defs/digest" },
517
- "managedExecutionBudget": { "$ref": "#/$defs/managedExecutionBudget" },
518
- "pagesArtifactProfile": { "const": "gala-pages-artifact-v2" },
519
- "maximumPagesArtifactBytes": {
520
- "type": "string",
521
- "minLength": 1,
522
- "maxLength": 19,
523
- "pattern": "^[1-9][0-9]*$",
524
- "format": "gala-positive-int64",
525
- "x-gala-maximum": "1073741824"
526
- },
527
- "spacesWebsiteConfigurationDigest": { "$ref": "#/$defs/digest" },
528
- "spacesControlPlaneBindingDigest": { "$ref": "#/$defs/digest" },
529
- "spacesControlPlaneRequestCatalogDigest": { "$ref": "#/$defs/digest" },
530
- "spacesControlPlaneResponseCatalogDigest": { "$ref": "#/$defs/digest" },
531
- "spacesControlPlaneTlsProfileDigest": { "$ref": "#/$defs/digest" },
532
- "maximumProviderRequestsPerStage": {
533
- "type": "integer",
534
- "minimum": 1,
535
- "maximum": 1000000
536
- },
537
- "maximumProviderStageRequestBytes": {
538
- "type": "string",
539
- "minLength": 1,
540
- "maxLength": 19,
541
- "pattern": "^[1-9][0-9]*$",
542
- "format": "gala-positive-int64",
543
- "x-gala-maximum": "10737418240"
544
- },
545
- "maximumProviderStageResponseBytes": {
546
- "type": "string",
547
- "minLength": 1,
548
- "maxLength": 19,
549
- "pattern": "^[1-9][0-9]*$",
550
- "format": "gala-positive-int64",
551
- "x-gala-maximum": "10737418240"
552
- },
553
- "maximumProviderStageResponseWireBytes": {
554
- "type": "string",
555
- "minLength": 1,
556
- "maxLength": 19,
557
- "pattern": "^[1-9][0-9]*$",
558
- "format": "gala-positive-int64",
559
- "x-gala-maximum": "10737418240"
560
- },
561
- "maximumProviderRequestHeadBytes": {
562
- "type": "integer",
563
- "minimum": 1,
564
- "maximum": 32768
565
- },
566
- "maximumProviderRequestBodyBytes": {
567
- "type": "string",
568
- "minLength": 1,
569
- "maxLength": 19,
570
- "pattern": "^[1-9][0-9]*$",
571
- "format": "gala-positive-int64",
572
- "x-gala-maximum": "10737418240"
573
- },
574
- "maximumProviderResponseHeadBytes": {
575
- "type": "integer",
576
- "minimum": 1,
577
- "maximum": 65536
578
- },
579
- "maximumProviderResponseBodyBytes": {
580
- "type": "string",
581
- "minLength": 1,
582
- "maxLength": 19,
583
- "pattern": "^[1-9][0-9]*$",
584
- "format": "gala-positive-int64",
585
- "x-gala-maximum": "1073741824"
586
- },
587
- "maximumProviderResponseWireBodyBytes": {
588
- "type": "string",
589
- "minLength": 1,
590
- "maxLength": 19,
591
- "pattern": "^[1-9][0-9]*$",
592
- "format": "gala-positive-int64",
593
- "x-gala-maximum": "1073807360"
594
- }
595
- },
596
- "additionalProperties": false,
597
- "dependentRequired": {
598
- "callClassBinding": ["callClassBindingDigest"],
599
- "callClassBindingDigest": ["callClassBinding"]
600
- }
601
- },
602
- "adapterProviderLimits": {
603
- "oneOf": [
604
- { "$ref": "#/$defs/filesystemProviderLimits" },
605
- { "$ref": "#/$defs/httpProviderLimits" }
606
- ]
607
- },
608
- "providerRequestTemplate": {
609
- "type": "object",
610
- "required": [
611
- "stage",
612
- "callClass",
613
- "method",
614
- "origin",
615
- "requestTargetTemplate",
616
- "canonicalQueryProfile",
617
- "maximumRequestTargetBytes",
618
- "fixedHeaders",
619
- "derivedHeaders",
620
- "credentialHeaders",
621
- "requestBodyProfile",
622
- "responseProfile"
623
- ],
624
- "properties": {
625
- "stage": {
626
- "enum": [
627
- "inspect",
628
- "stage",
629
- "activate",
630
- "observe",
631
- "cleanup-staged",
632
- "rollback"
633
- ]
634
- },
635
- "callClass": { "$ref": "#/$defs/plainLabel" },
636
- "method": { "enum": ["GET", "HEAD", "PUT", "POST", "DELETE"] },
637
- "origin": { "$ref": "#/$defs/urlHttps" },
638
- "requestTargetTemplate": {
639
- "type": "string",
640
- "minLength": 1,
641
- "maxLength": 8192,
642
- "x-gala-utf8ByteLength": { "minimum": 1, "maximum": 8192 }
643
- },
644
- "canonicalQueryProfile": {
645
- "enum": [
646
- "none",
647
- "spaces-list-v2",
648
- "spaces-multipart-create-v2",
649
- "spaces-multipart-part-v2",
650
- "spaces-upload-id-v2"
651
- ]
652
- },
653
- "maximumRequestTargetBytes": {
654
- "type": "integer",
655
- "minimum": 1,
656
- "maximum": 8192
657
- },
658
- "fixedHeaders": {
659
- "type": "array",
660
- "items": { "$ref": "#/$defs/providerFixedHeader" },
661
- "minItems": 0,
662
- "maxItems": 32,
663
- "uniqueItems": true
664
- },
665
- "derivedHeaders": {
666
- "type": "array",
667
- "items": { "$ref": "#/$defs/providerDerivedHeader" },
668
- "minItems": 0,
669
- "maxItems": 8,
670
- "uniqueItems": true
671
- },
672
- "credentialHeaders": {
673
- "type": "array",
674
- "items": { "$ref": "#/$defs/providerCredentialHeader" },
675
- "minItems": 0,
676
- "maxItems": 2,
677
- "uniqueItems": true
678
- },
679
- "requestBodyProfile": {
680
- "enum": [
681
- "empty",
682
- "gala-pages-create-deployment-jcs-v2",
683
- "spaces-object-slice-v2",
684
- "spaces-generation-marker-jcs-v2",
685
- "spaces-multipart-completion-xml-v2"
686
- ]
687
- },
688
- "responseProfile": { "$ref": "#/$defs/providerResponseProfileId" }
689
- },
690
- "additionalProperties": false
691
- },
692
- "providerCallClassBinding": {
693
- "type": "object",
694
- "required": [
695
- "stage",
696
- "callClass",
697
- "pagesDeploymentIdSource",
698
- "recoveryOnly"
699
- ],
700
- "properties": {
701
- "stage": {
702
- "enum": [
703
- "inspect",
704
- "stage",
705
- "activate",
706
- "observe",
707
- "cleanup-staged",
708
- "rollback"
709
- ]
710
- },
711
- "callClass": { "$ref": "#/$defs/plainLabel" },
712
- "pagesDeploymentIdSource": {
713
- "enum": [
714
- "none",
715
- "intent-pages-build-version",
716
- "recovery-prior-pages-build-version"
717
- ],
718
- "description": "Which already-retained coordinate supplies the provider deployment identity this call class addresses. `none` means the call class addresses no existing deployment."
719
- },
720
- "recoveryOnly": {
721
- "type": "boolean",
722
- "description": "Whether the row is admitted only while the adapter is in its provider-recovery mode."
723
- }
724
- },
725
- "additionalProperties": false
726
- },
727
- "managedExecutionBudget": {
728
- "type": "object",
729
- "required": [
730
- "verifiedHandoffSeconds",
731
- "providerExecutionSeconds",
732
- "journalHandoffSeconds",
733
- "totalSeconds"
734
- ],
735
- "properties": {
736
- "verifiedHandoffSeconds": {
737
- "type": "integer",
738
- "minimum": 1,
739
- "maximum": 300
740
- },
741
- "pagesCarrierConstructionSeconds": {
742
- "type": "integer",
743
- "minimum": 1,
744
- "maximum": 600
745
- },
746
- "pagesArtifactUploadSeconds": {
747
- "type": "integer",
748
- "minimum": 1,
749
- "maximum": 900
750
- },
751
- "pagesArtifactVerificationSeconds": {
752
- "type": "integer",
753
- "minimum": 1,
754
- "maximum": 300
755
- },
756
- "spacesControlPlaneVerificationSeconds": {
757
- "type": "integer",
758
- "minimum": 1,
759
- "maximum": 300
760
- },
761
- "providerExecutionSeconds": {
762
- "type": "integer",
763
- "minimum": 1,
764
- "maximum": 1500
765
- },
766
- "journalHandoffSeconds": {
767
- "type": "integer",
768
- "minimum": 1,
769
- "maximum": 300
770
- },
771
- "totalSeconds": { "type": "integer", "minimum": 1, "maximum": 1500 }
772
- },
773
- "additionalProperties": false
774
- },
775
- "providerFixedHeader": {
776
- "type": "object",
777
- "required": ["name", "value"],
778
- "properties": {
779
- "name": { "$ref": "#/$defs/providerHeaderName" },
780
- "value": { "$ref": "#/$defs/providerHeaderValue" }
781
- },
782
- "additionalProperties": false
783
- },
784
- "providerDerivedHeader": {
785
- "type": "object",
786
- "required": ["name", "source"],
787
- "properties": {
788
- "name": {
789
- "enum": [
790
- "host",
791
- "content-length",
792
- "content-type",
793
- "cache-control",
794
- "x-amz-date",
795
- "x-amz-content-sha256",
796
- "x-amz-meta-gala-sha256"
797
- ]
798
- },
799
- "source": {
800
- "enum": [
801
- "origin-authority",
802
- "request-body-byte-count",
803
- "deployment-object-media-type",
804
- "deployment-object-cache-control",
805
- "sigv4-basic-timestamp",
806
- "request-body-sha256",
807
- "deployment-object-untagged-sha256"
808
- ]
809
- }
810
- },
811
- "additionalProperties": false,
812
- "oneOf": [
813
- {
814
- "properties": {
815
- "name": { "const": "host" },
816
- "source": { "const": "origin-authority" }
817
- },
818
- "required": ["name", "source"]
819
- },
820
- {
821
- "properties": {
822
- "name": { "const": "content-length" },
823
- "source": { "const": "request-body-byte-count" }
824
- },
825
- "required": ["name", "source"]
826
- },
827
- {
828
- "properties": {
829
- "name": { "const": "content-type" },
830
- "source": { "const": "deployment-object-media-type" }
831
- },
832
- "required": ["name", "source"]
833
- },
834
- {
835
- "properties": {
836
- "name": { "const": "cache-control" },
837
- "source": { "const": "deployment-object-cache-control" }
838
- },
839
- "required": ["name", "source"]
840
- },
841
- {
842
- "properties": {
843
- "name": { "const": "x-amz-date" },
844
- "source": { "const": "sigv4-basic-timestamp" }
845
- },
846
- "required": ["name", "source"]
847
- },
848
- {
849
- "properties": {
850
- "name": { "const": "x-amz-content-sha256" },
851
- "source": { "const": "request-body-sha256" }
852
- },
853
- "required": ["name", "source"]
854
- },
855
- {
856
- "properties": {
857
- "name": { "const": "x-amz-meta-gala-sha256" },
858
- "source": { "const": "deployment-object-untagged-sha256" }
859
- },
860
- "required": ["name", "source"]
861
- }
862
- ]
863
- },
864
- "providerCredentialHeader": {
865
- "type": "object",
866
- "required": [
867
- "name",
868
- "source",
869
- "prefix",
870
- "maximumSourceBytes",
871
- "maximumRenderedValueBytes"
872
- ],
873
- "properties": {
874
- "name": { "enum": ["authorization", "x-amz-security-token"] },
875
- "source": {
876
- "enum": [
877
- "github-token",
878
- "spaces-authorization-value",
879
- "spaces-session-token"
880
- ]
881
- },
882
- "prefix": { "$ref": "#/$defs/providerHeaderPrefix" },
883
- "maximumSourceBytes": {
884
- "type": "integer",
885
- "minimum": 1,
886
- "maximum": 8175
887
- },
888
- "maximumRenderedValueBytes": {
889
- "type": "integer",
890
- "minimum": 1,
891
- "maximum": 8175
892
- }
893
- },
894
- "additionalProperties": false,
895
- "oneOf": [
896
- {
897
- "properties": {
898
- "name": { "const": "authorization" },
899
- "source": { "const": "github-token" },
900
- "prefix": { "const": "Bearer " },
901
- "maximumSourceBytes": { "const": 4096 },
902
- "maximumRenderedValueBytes": { "const": 4103 }
903
- },
904
- "required": [
905
- "name",
906
- "source",
907
- "prefix",
908
- "maximumSourceBytes",
909
- "maximumRenderedValueBytes"
910
- ]
911
- },
912
- {
913
- "properties": {
914
- "name": { "const": "authorization" },
915
- "source": { "const": "spaces-authorization-value" },
916
- "prefix": { "const": "" },
917
- "maximumSourceBytes": { "const": 2048 },
918
- "maximumRenderedValueBytes": { "const": 2048 }
919
- },
920
- "required": [
921
- "name",
922
- "source",
923
- "prefix",
924
- "maximumSourceBytes",
925
- "maximumRenderedValueBytes"
926
- ]
927
- },
928
- {
929
- "properties": {
930
- "name": { "const": "x-amz-security-token" },
931
- "source": { "const": "spaces-session-token" },
932
- "prefix": { "const": "" },
933
- "maximumSourceBytes": { "const": 4096 },
934
- "maximumRenderedValueBytes": { "const": 4096 }
935
- },
936
- "required": [
937
- "name",
938
- "source",
939
- "prefix",
940
- "maximumSourceBytes",
941
- "maximumRenderedValueBytes"
942
- ]
943
- }
944
- ]
945
- },
946
- "providerHeaderName": {
947
- "type": "string",
948
- "minLength": 1,
949
- "maxLength": 64,
950
- "pattern": "^[!#$%&'*+.^_`|~0-9a-z-]+$",
951
- "x-gala-asciiByteLength": { "minimum": 1, "maximum": 64 }
952
- },
953
- "providerHeaderValue": {
954
- "type": "string",
955
- "minLength": 1,
956
- "maxLength": 4096,
957
- "pattern": "^[!-~](?:[ -~]{0,4094}[!-~])?$",
958
- "x-gala-asciiByteLength": { "minimum": 1, "maximum": 4096 }
959
- },
960
- "providerHeaderPrefix": {
961
- "type": "string",
962
- "minLength": 0,
963
- "maxLength": 64,
964
- "pattern": "^(?:|[!-~](?:[ -~]*[!-~])? ?)$",
965
- "x-gala-asciiByteLength": { "minimum": 0, "maximum": 64 }
966
- },
967
- "providerResponseProfileId": {
968
- "enum": [
969
- "pages-cancel-empty-v2",
970
- "pages-create-deployment-json-v2",
971
- "pages-deployment-status-json-v2",
972
- "pages-site-json-v2",
973
- "spaces-abort-multipart-v2",
974
- "spaces-complete-multipart-v2",
975
- "spaces-create-multipart-v2",
976
- "spaces-delete-object-v2",
977
- "spaces-head-object-v2",
978
- "spaces-list-objects-v2",
979
- "spaces-put-object-v2",
980
- "spaces-upload-part-v2"
981
- ]
982
- },
983
- "providerResponseCatalog": {
984
- "oneOf": [
985
- {
986
- "type": "object",
987
- "required": [
988
- "profile",
989
- "adapter",
990
- "responseProfiles",
991
- "catalogDigest"
992
- ],
993
- "properties": {
994
- "profile": { "const": "gala-provider-response-catalog-v2" },
995
- "adapter": {
996
- "allOf": [
997
- { "$ref": "#/$defs/adapterIdentity" },
998
- {
999
- "properties": { "adapterId": { "const": "github-pages" } },
1000
- "required": ["adapterId"]
1001
- }
1002
- ]
1003
- },
1004
- "responseProfiles": {
1005
- "type": "array",
1006
- "const": [
1007
- "pages-cancel-empty-v2",
1008
- "pages-create-deployment-json-v2",
1009
- "pages-deployment-status-json-v2",
1010
- "pages-site-json-v2"
1011
- ],
1012
- "minItems": 4,
1013
- "maxItems": 4,
1014
- "uniqueItems": true
1015
- },
1016
- "catalogDigest": { "$ref": "#/$defs/digest" }
1017
- },
1018
- "additionalProperties": false
1019
- },
1020
- {
1021
- "type": "object",
1022
- "required": [
1023
- "profile",
1024
- "adapter",
1025
- "responseProfiles",
1026
- "catalogDigest"
1027
- ],
1028
- "properties": {
1029
- "profile": { "const": "gala-provider-response-catalog-v2" },
1030
- "adapter": {
1031
- "allOf": [
1032
- { "$ref": "#/$defs/adapterIdentity" },
1033
- {
1034
- "properties": { "adapterId": { "const": "do-spaces" } },
1035
- "required": ["adapterId"]
1036
- }
1037
- ]
1038
- },
1039
- "responseProfiles": {
1040
- "type": "array",
1041
- "const": [
1042
- "spaces-abort-multipart-v2",
1043
- "spaces-complete-multipart-v2",
1044
- "spaces-create-multipart-v2",
1045
- "spaces-delete-object-v2",
1046
- "spaces-head-object-v2",
1047
- "spaces-list-objects-v2",
1048
- "spaces-put-object-v2",
1049
- "spaces-upload-part-v2"
1050
- ],
1051
- "minItems": 8,
1052
- "maxItems": 8,
1053
- "uniqueItems": true
1054
- },
1055
- "catalogDigest": { "$ref": "#/$defs/digest" }
1056
- },
1057
- "additionalProperties": false
1058
- }
1059
- ]
1060
- },
1061
- "spacesControlPlaneResponseCatalog": {
1062
- "type": "object",
1063
- "required": ["profile", "responseProfiles", "catalogDigest"],
1064
- "properties": {
1065
- "profile": { "const": "gala-do-spaces-control-plane-responses-v2" },
1066
- "responseProfiles": {
1067
- "type": "array",
1068
- "const": [
1069
- "spaces-website-configuration-v2",
1070
- "spaces-website-absent-v2",
1071
- "spaces-website-access-denied-v2"
1072
- ],
1073
- "minItems": 3,
1074
- "maxItems": 3,
1075
- "uniqueItems": true
1076
- },
1077
- "catalogDigest": { "$ref": "#/$defs/digest" }
1078
- },
1079
- "additionalProperties": false
1080
- },
1081
- "spacesBucket": {
1082
- "type": "string",
1083
- "minLength": 3,
1084
- "maxLength": 63,
1085
- "pattern": "^[a-z0-9](?:[a-z0-9-]{1,61}[a-z0-9])$",
1086
- "x-gala-asciiByteLength": { "minimum": 3, "maximum": 63 }
1087
- },
1088
- "spacesRegion": {
1089
- "type": "string",
1090
- "pattern": "^[a-z]{3}[1-9][0-9]?$",
1091
- "x-gala-asciiByteLength": { "minimum": 4, "maximum": 5 }
1092
- },
1093
- "destinationProviderBinding": {
1094
- "oneOf": [
1095
- {
1096
- "type": "object",
1097
- "required": ["kind", "rootIdentityDigest", "mutationSurfaceDigest"],
1098
- "properties": {
1099
- "kind": { "const": "local-directory" },
1100
- "rootIdentityDigest": { "$ref": "#/$defs/digest" },
1101
- "mutationSurfaceDigest": { "$ref": "#/$defs/digest" }
1102
- },
1103
- "additionalProperties": false
1104
- },
1105
- {
1106
- "type": "object",
1107
- "required": [
1108
- "kind",
1109
- "repository",
1110
- "repositoryId",
1111
- "apiOrigin",
1112
- "environment"
1113
- ],
1114
- "properties": {
1115
- "kind": { "const": "github-pages" },
1116
- "repository": { "$ref": "#/$defs/githubRepositoryCoordinate" },
1117
- "repositoryId": { "$ref": "#/$defs/githubPositiveDecimal" },
1118
- "apiOrigin": { "const": "https://api.github.com" },
1119
- "environment": { "const": "github-pages" }
1120
- },
1121
- "additionalProperties": false
1122
- },
1123
- {
1124
- "type": "object",
1125
- "required": [
1126
- "kind",
1127
- "servedBucket",
1128
- "stagingBucket",
1129
- "region",
1130
- "regionCatalogDigest",
1131
- "servedApiOrigin",
1132
- "stagingApiOrigin",
1133
- "websiteOrigin",
1134
- "websiteConfigurationDigest",
1135
- "controlPlaneBindingDigest"
1136
- ],
1137
- "properties": {
1138
- "kind": { "const": "do-spaces" },
1139
- "servedBucket": { "$ref": "#/$defs/spacesBucket" },
1140
- "stagingBucket": { "$ref": "#/$defs/spacesBucket" },
1141
- "region": { "$ref": "#/$defs/spacesRegion" },
1142
- "regionCatalogDigest": { "$ref": "#/$defs/digest" },
1143
- "servedApiOrigin": { "$ref": "#/$defs/urlHttps" },
1144
- "stagingApiOrigin": { "$ref": "#/$defs/urlHttps" },
1145
- "websiteOrigin": { "$ref": "#/$defs/urlHttps" },
1146
- "websiteConfigurationDigest": { "$ref": "#/$defs/digest" },
1147
- "controlPlaneBindingDigest": { "$ref": "#/$defs/digest" }
1148
- },
1149
- "additionalProperties": false
1150
- }
1151
- ]
1152
- },
1153
- "spacesWebsiteConfiguration": {
1154
- "type": "object",
1155
- "required": [
1156
- "profile",
1157
- "indexDocumentSuffix",
1158
- "errorDocumentKey",
1159
- "routingRules",
1160
- "configurationDigest"
1161
- ],
1162
- "properties": {
1163
- "profile": { "const": "gala-do-spaces-website-configuration-v2" },
1164
- "indexDocumentSuffix": { "const": "index.html" },
1165
- "errorDocumentKey": { "$ref": "#/$defs/repoRelativePath" },
1166
- "routingRules": { "const": [] },
1167
- "configurationDigest": { "$ref": "#/$defs/digest" }
1168
- },
1169
- "additionalProperties": false
1170
- },
1171
- "spacesControlPlaneBinding": {
1172
- "type": "object",
1173
- "required": [
1174
- "profile",
1175
- "servedBucket",
1176
- "stagingBucket",
1177
- "region",
1178
- "websiteOrigin",
1179
- "websiteConfigurationDigest",
1180
- "stagingWebsiteConfiguration",
1181
- "deploymentCredentialWebsiteAccess",
1182
- "bindingDigest"
1183
- ],
1184
- "properties": {
1185
- "profile": { "const": "gala-do-spaces-control-plane-binding-v2" },
1186
- "servedBucket": { "$ref": "#/$defs/spacesBucket" },
1187
- "stagingBucket": { "$ref": "#/$defs/spacesBucket" },
1188
- "region": { "$ref": "#/$defs/spacesRegion" },
1189
- "websiteOrigin": { "$ref": "#/$defs/urlHttps" },
1190
- "websiteConfigurationDigest": { "$ref": "#/$defs/digest" },
1191
- "stagingWebsiteConfiguration": { "const": "absent" },
1192
- "deploymentCredentialWebsiteAccess": { "const": "denied" },
1193
- "bindingDigest": { "$ref": "#/$defs/digest" }
1194
- },
1195
- "additionalProperties": false
1196
- },
1197
- "providerCredentialEgress": {
1198
- "type": "object",
1199
- "required": [
1200
- "purpose",
1201
- "origin",
1202
- "requestProfile",
1203
- "requestTemplateCatalogDigest",
1204
- "credentialSources"
1205
- ],
1206
- "properties": {
1207
- "purpose": { "const": "provider-api" },
1208
- "origin": { "$ref": "#/$defs/urlHttps" },
1209
- "requestProfile": { "const": "provider-request-template-catalog" },
1210
- "requestTemplateCatalogDigest": { "$ref": "#/$defs/digest" },
1211
- "credentialSources": {
1212
- "type": "array",
1213
- "items": {
1214
- "enum": [
1215
- "github-token",
1216
- "spaces-authorization-value",
1217
- "spaces-session-token"
1218
- ]
1219
- },
1220
- "minItems": 1,
1221
- "maxItems": 2,
1222
- "uniqueItems": true
1223
- },
1224
- "credentialFormatProfileDigest": { "$ref": "#/$defs/digest" }
1225
- },
1226
- "additionalProperties": false
1227
- },
1228
- "pagesOidcCredentialEgress": {
1229
- "type": "object",
1230
- "required": [
1231
- "purpose",
1232
- "originProfile",
1233
- "originCatalogDigest",
1234
- "method",
1235
- "requestTargetProfile",
1236
- "credentialHeader",
1237
- "audienceQuery",
1238
- "responseProfile"
1239
- ],
1240
- "properties": {
1241
- "purpose": { "const": "pages-oidc" },
1242
- "originProfile": {
1243
- "const": "gala-github-actions-oidc-origin-catalog-v2"
1244
- },
1245
- "originCatalogDigest": { "$ref": "#/$defs/digest" },
1246
- "method": { "const": "GET" },
1247
- "requestTargetProfile": {
1248
- "const": "gala-github-actions-oidc-request-target-v2"
1249
- },
1250
- "credentialHeader": {
1251
- "const": {
1252
- "name": "authorization",
1253
- "source": "actions-id-token-request-token",
1254
- "prefix": "Bearer "
1255
- }
1256
- },
1257
- "audienceQuery": { "const": "preserve-runner-default-no-addition" },
1258
- "responseProfile": { "const": "gala-pages-oidc-token-json-v2" }
1259
- },
1260
- "additionalProperties": false
1261
- },
1262
- "credentialEgress": {
1263
- "oneOf": [
1264
- { "$ref": "#/$defs/providerCredentialEgress" },
1265
- { "$ref": "#/$defs/pagesOidcCredentialEgress" }
1266
- ]
1267
- },
1268
- "credentialEgressProfile": {
1269
- "type": "object",
1270
- "required": [
1271
- "profile",
1272
- "egress",
1273
- "networkBoundaryProfileDigest",
1274
- "tlsProfileDigest",
1275
- "redirects",
1276
- "ambientProxy",
1277
- "netrc",
1278
- "cookies",
1279
- "credentialForwarding",
1280
- "profileDigest"
1281
- ],
1282
- "properties": {
1283
- "profile": { "const": "gala-provider-credential-egress-v2" },
1284
- "egress": {
1285
- "type": "array",
1286
- "items": { "$ref": "#/$defs/credentialEgress" },
1287
- "minItems": 1,
1288
- "maxItems": 2
1289
- },
1290
- "networkBoundaryProfileDigest": { "$ref": "#/$defs/digest" },
1291
- "tlsProfileDigest": { "$ref": "#/$defs/digest" },
1292
- "redirects": { "const": "reject" },
1293
- "ambientProxy": { "const": "disabled" },
1294
- "netrc": { "const": "disabled" },
1295
- "cookies": { "const": "disabled" },
1296
- "credentialForwarding": { "const": "same-origin-only" },
1297
- "profileDigest": { "$ref": "#/$defs/digest" }
1298
- },
1299
- "additionalProperties": false,
1300
- "oneOf": [
1301
- {
1302
- "properties": {
1303
- "egress": {
1304
- "type": "array",
1305
- "prefixItems": [
1306
- {
1307
- "allOf": [
1308
- { "$ref": "#/$defs/providerCredentialEgress" },
1309
- {
1310
- "properties": {
1311
- "credentialSources": {
1312
- "type": "array",
1313
- "const": ["github-token"],
1314
- "minItems": 1,
1315
- "maxItems": 1,
1316
- "uniqueItems": true
1317
- },
1318
- "credentialFormatProfileDigest": false
1319
- }
1320
- }
1321
- ]
1322
- },
1323
- { "$ref": "#/$defs/pagesOidcCredentialEgress" }
1324
- ],
1325
- "items": false,
1326
- "minItems": 2,
1327
- "maxItems": 2
1328
- }
1329
- },
1330
- "required": ["egress"]
1331
- },
1332
- {
1333
- "properties": {
1334
- "egress": {
1335
- "type": "array",
1336
- "prefixItems": [
1337
- {
1338
- "allOf": [
1339
- { "$ref": "#/$defs/providerCredentialEgress" },
1340
- {
1341
- "properties": {
1342
- "credentialSources": {
1343
- "type": "array",
1344
- "const": [
1345
- "spaces-authorization-value",
1346
- "spaces-session-token"
1347
- ],
1348
- "minItems": 2,
1349
- "maxItems": 2,
1350
- "uniqueItems": true
1351
- }
1352
- },
1353
- "required": ["credentialFormatProfileDigest"]
1354
- }
1355
- ]
1356
- },
1357
- {
1358
- "allOf": [
1359
- { "$ref": "#/$defs/providerCredentialEgress" },
1360
- {
1361
- "properties": {
1362
- "credentialSources": {
1363
- "type": "array",
1364
- "const": [
1365
- "spaces-authorization-value",
1366
- "spaces-session-token"
1367
- ],
1368
- "minItems": 2,
1369
- "maxItems": 2,
1370
- "uniqueItems": true
1371
- }
1372
- },
1373
- "required": ["credentialFormatProfileDigest"]
1374
- }
1375
- ]
1376
- }
1377
- ],
1378
- "items": false,
1379
- "minItems": 2,
1380
- "maxItems": 2
1381
- }
1382
- },
1383
- "required": ["egress"]
1384
- }
1385
- ]
1386
- },
1387
- "spacesControlPlaneRequest": {
1388
- "type": "object",
1389
- "required": [
1390
- "credentialRole",
1391
- "target",
1392
- "method",
1393
- "origin",
1394
- "requestTarget",
1395
- "responseProfile"
1396
- ],
1397
- "properties": {
1398
- "credentialRole": { "enum": ["full-control", "limited-deployment"] },
1399
- "target": { "enum": ["served", "staging"] },
1400
- "method": { "const": "GET" },
1401
- "origin": { "$ref": "#/$defs/urlHttps" },
1402
- "requestTarget": { "const": "/?website=" },
1403
- "responseProfile": {
1404
- "enum": [
1405
- "spaces-website-configuration-v2",
1406
- "spaces-website-absent-v2",
1407
- "spaces-website-access-denied-v2"
1408
- ]
1409
- }
1410
- },
1411
- "additionalProperties": false
1412
- },
1413
- "spacesControlPlaneRequestCatalog": {
1414
- "type": "object",
1415
- "required": [
1416
- "profile",
1417
- "bindingDigest",
1418
- "requests",
1419
- "credentialFormatProfileDigest",
1420
- "networkBoundaryProfileDigest",
1421
- "tlsProfileDigest",
1422
- "responseCatalogDigest",
1423
- "catalogDigest"
1424
- ],
1425
- "properties": {
1426
- "profile": { "const": "gala-do-spaces-control-plane-http-v2" },
1427
- "bindingDigest": { "$ref": "#/$defs/digest" },
1428
- "requests": {
1429
- "type": "array",
1430
- "prefixItems": [
1431
- {
1432
- "allOf": [
1433
- { "$ref": "#/$defs/spacesControlPlaneRequest" },
1434
- {
1435
- "properties": {
1436
- "credentialRole": { "const": "full-control" },
1437
- "target": { "const": "served" },
1438
- "responseProfile": {
1439
- "const": "spaces-website-configuration-v2"
1440
- }
1441
- },
1442
- "required": ["credentialRole", "target", "responseProfile"]
1443
- }
1444
- ]
1445
- },
1446
- {
1447
- "allOf": [
1448
- { "$ref": "#/$defs/spacesControlPlaneRequest" },
1449
- {
1450
- "properties": {
1451
- "credentialRole": { "const": "full-control" },
1452
- "target": { "const": "staging" },
1453
- "responseProfile": { "const": "spaces-website-absent-v2" }
1454
- },
1455
- "required": ["credentialRole", "target", "responseProfile"]
1456
- }
1457
- ]
1458
- },
1459
- {
1460
- "allOf": [
1461
- { "$ref": "#/$defs/spacesControlPlaneRequest" },
1462
- {
1463
- "properties": {
1464
- "credentialRole": { "const": "limited-deployment" },
1465
- "target": { "const": "served" },
1466
- "responseProfile": {
1467
- "const": "spaces-website-access-denied-v2"
1468
- }
1469
- },
1470
- "required": ["credentialRole", "target", "responseProfile"]
1471
- }
1472
- ]
1473
- },
1474
- {
1475
- "allOf": [
1476
- { "$ref": "#/$defs/spacesControlPlaneRequest" },
1477
- {
1478
- "properties": {
1479
- "credentialRole": { "const": "limited-deployment" },
1480
- "target": { "const": "staging" },
1481
- "responseProfile": {
1482
- "const": "spaces-website-access-denied-v2"
1483
- }
1484
- },
1485
- "required": ["credentialRole", "target", "responseProfile"]
1486
- }
1487
- ]
1488
- }
1489
- ],
1490
- "items": false,
1491
- "minItems": 4,
1492
- "maxItems": 4
1493
- },
1494
- "credentialFormatProfileDigest": { "$ref": "#/$defs/digest" },
1495
- "networkBoundaryProfileDigest": { "$ref": "#/$defs/digest" },
1496
- "tlsProfileDigest": { "$ref": "#/$defs/digest" },
1497
- "responseCatalogDigest": { "$ref": "#/$defs/digest" },
1498
- "catalogDigest": { "$ref": "#/$defs/digest" }
1499
- },
1500
- "additionalProperties": false
1501
- },
1502
- "githubActionsOidcOrigin": {
1503
- "type": "string",
1504
- "minLength": 47,
1505
- "maxLength": 81,
1506
- "pattern": "^https://pipelines(?:gh[a-z0-9]{1,32})?\\.actions\\.githubusercontent\\.com$",
1507
- "format": "uri",
1508
- "x-gala-asciiByteLength": { "minimum": 47, "maximum": 81 }
1509
- },
1510
- "githubActionsOidcOriginCatalog": {
1511
- "type": "object",
1512
- "required": [
1513
- "profile",
1514
- "origins",
1515
- "fixtureDigest",
1516
- "evidenceDigest",
1517
- "catalogDigest"
1518
- ],
1519
- "properties": {
1520
- "profile": { "const": "gala-github-actions-oidc-origin-catalog-v2" },
1521
- "origins": {
1522
- "type": "array",
1523
- "items": { "$ref": "#/$defs/githubActionsOidcOrigin" },
1524
- "minItems": 1,
1525
- "maxItems": 64,
1526
- "uniqueItems": true
1527
- },
1528
- "fixtureDigest": { "$ref": "#/$defs/digest" },
1529
- "evidenceDigest": { "$ref": "#/$defs/digest" },
1530
- "catalogDigest": { "$ref": "#/$defs/digest" }
1531
- },
1532
- "additionalProperties": false
1533
- },
1534
- "capabilityDecision": {
1535
- "type": "object",
1536
- "required": [
1537
- "profile",
1538
- "artifactId",
1539
- "artifactDigest",
1540
- "manifestDigest",
1541
- "destination",
1542
- "adapter",
1543
- "capabilityDigest",
1544
- "artifactFileCount",
1545
- "deploymentObjectCount",
1546
- "artifactByteCount",
1547
- "markerByteLength",
1548
- "deploymentByteCount",
1549
- "maximumFinalPathByteLength",
1550
- "maximumStageRequestCount",
1551
- "maximumStageRequestBytes",
1552
- "maximumStageResponseBytes",
1553
- "maximumStageResponseWireBytes",
1554
- "decisionDigest"
1555
- ],
1556
- "properties": {
1557
- "profile": {
1558
- "const": "gala-capability-decision-v2",
1559
- "x-gala-decision-phase": "issuance"
1560
- },
1561
- "artifactId": {
1562
- "$ref": "#/$defs/stableId",
1563
- "x-gala-decision-phase": "issuance"
1564
- },
1565
- "artifactDigest": {
1566
- "$ref": "#/$defs/digest",
1567
- "x-gala-decision-phase": "issuance"
1568
- },
1569
- "manifestDigest": {
1570
- "$ref": "#/$defs/digest",
1571
- "x-gala-decision-phase": "issuance"
1572
- },
1573
- "destination": {
1574
- "$ref": "#/$defs/destinationIdentity",
1575
- "x-gala-decision-phase": "issuance"
1576
- },
1577
- "adapter": {
1578
- "$ref": "#/$defs/adapterIdentity",
1579
- "x-gala-decision-phase": "issuance"
1580
- },
1581
- "capabilityDigest": {
1582
- "$ref": "#/$defs/digest",
1583
- "x-gala-decision-phase": "issuance"
1584
- },
1585
- "credentialEgressProfileDigest": {
1586
- "$ref": "#/$defs/digest",
1587
- "x-gala-decision-phase": "issuance"
1588
- },
1589
- "pagesOidcOriginCatalogDigest": {
1590
- "$ref": "#/$defs/digest",
1591
- "x-gala-decision-phase": "issuance"
1592
- },
1593
- "artifactFileCount": {
1594
- "$ref": "#/$defs/positiveInt64",
1595
- "x-gala-decision-phase": "issuance"
1596
- },
1597
- "deploymentObjectCount": {
1598
- "$ref": "#/$defs/positiveInt64",
1599
- "x-gala-decision-phase": "issuance"
1600
- },
1601
- "artifactByteCount": {
1602
- "$ref": "#/$defs/positiveInt64",
1603
- "x-gala-decision-phase": "issuance"
1604
- },
1605
- "markerByteLength": {
1606
- "$ref": "#/$defs/positiveInt64",
1607
- "x-gala-decision-phase": "issuance"
1608
- },
1609
- "deploymentByteCount": {
1610
- "$ref": "#/$defs/positiveInt64",
1611
- "x-gala-decision-phase": "issuance"
1612
- },
1613
- "maximumFinalPathByteLength": {
1614
- "$ref": "#/$defs/positiveInt64",
1615
- "x-gala-decision-phase": "issuance"
1616
- },
1617
- "maximumStageRequestCount": {
1618
- "$ref": "#/$defs/positiveInt64",
1619
- "x-gala-decision-phase": "issuance"
1620
- },
1621
- "maximumStageRequestBytes": {
1622
- "$ref": "#/$defs/positiveInt64",
1623
- "x-gala-decision-phase": "issuance"
1624
- },
1625
- "maximumStageResponseBytes": {
1626
- "$ref": "#/$defs/positiveInt64",
1627
- "x-gala-decision-phase": "issuance"
1628
- },
1629
- "maximumStageResponseWireBytes": {
1630
- "$ref": "#/$defs/positiveInt64",
1631
- "x-gala-decision-phase": "issuance"
1632
- },
1633
- "pagesActionsArtifactName": {
1634
- "$ref": "#/$defs/plainLabel",
1635
- "x-gala-decision-phase": "issuance"
1636
- },
1637
- "pagesActionsArtifactByteCount": {
1638
- "$ref": "#/$defs/positiveInt64",
1639
- "x-gala-decision-phase": "deploy"
1640
- },
1641
- "pagesActionsArtifactDigest": {
1642
- "$ref": "#/$defs/digest",
1643
- "x-gala-decision-phase": "deploy"
1644
- },
1645
- "pagesBuildVersion": {
1646
- "type": "string",
1647
- "minLength": 40,
1648
- "maxLength": 40,
1649
- "pattern": "^[0-9a-f]{40}$",
1650
- "x-gala-decision-phase": "issuance"
1651
- },
1652
- "spacesStagePrefix": {
1653
- "type": "string",
1654
- "minLength": 1,
1655
- "maxLength": 512,
1656
- "x-gala-utf8ByteLength": { "minimum": 1, "maximum": 512 },
1657
- "x-gala-decision-phase": "issuance"
1658
- },
1659
- "spacesWebsiteConfigurationDigest": {
1660
- "$ref": "#/$defs/digest",
1661
- "x-gala-decision-phase": "issuance"
1662
- },
1663
- "spacesControlPlaneBindingDigest": {
1664
- "$ref": "#/$defs/digest",
1665
- "x-gala-decision-phase": "issuance"
1666
- },
1667
- "spacesControlPlaneRequestCatalogDigest": {
1668
- "$ref": "#/$defs/digest",
1669
- "x-gala-decision-phase": "issuance"
1670
- },
1671
- "spacesControlPlaneResponseCatalogDigest": {
1672
- "$ref": "#/$defs/digest",
1673
- "x-gala-decision-phase": "issuance"
1674
- },
1675
- "spacesControlPlaneTlsProfileDigest": {
1676
- "$ref": "#/$defs/digest",
1677
- "x-gala-decision-phase": "issuance"
1678
- },
1679
- "decisionDigest": {
1680
- "$ref": "#/$defs/digest",
1681
- "x-gala-decision-phase": "issuance"
1682
- }
1683
- },
1684
- "additionalProperties": false,
1685
- "description": "Every member carries x-gala-decision-phase: 'issuance' (fixed at authorization/issuance time, before any deploy job runs) or 'deploy' (evidence only a deploy job can produce, such as the built Pages Actions artifact's byte count and digest). decisionDigest is computed over every member present in the record it is given (self-excluding only decisionDigest itself), so its value depends on whether deploy-phase members were included when the digest was taken. The intent's capabilityDecisionDigest is fixed at issuance time, when deploy-phase members are not yet known and are therefore absent from the record; a deploy job that later builds a record including deploy-phase evidence produces a different decisionDigest for the same underlying facts, and must compare against the intent's capabilityDecisionDigest using an issuance-phase-only projection of its own record (LOCAL-62 option (a)), not its full record. This projection is not yet a self-enforcing schema or code guarantee in this contract (LOCAL-62 (b), tracked open); callers must not assume decisionDigest equality across a record's phase boundary without performing that projection themselves.",
1686
- "oneOf": [
1687
- {
1688
- "properties": {
1689
- "adapter": {
1690
- "properties": { "adapterId": { "const": "local-directory" } },
1691
- "required": ["adapterId"]
1692
- },
1693
- "credentialEgressProfileDigest": false,
1694
- "pagesOidcOriginCatalogDigest": false,
1695
- "pagesActionsArtifactName": false,
1696
- "pagesActionsArtifactByteCount": false,
1697
- "pagesActionsArtifactDigest": false,
1698
- "pagesBuildVersion": false,
1699
- "spacesStagePrefix": false,
1700
- "spacesWebsiteConfigurationDigest": false,
1701
- "spacesControlPlaneBindingDigest": false,
1702
- "spacesControlPlaneRequestCatalogDigest": false,
1703
- "spacesControlPlaneResponseCatalogDigest": false,
1704
- "spacesControlPlaneTlsProfileDigest": false
1705
- },
1706
- "required": ["adapter"]
1707
- },
1708
- {
1709
- "properties": {
1710
- "adapter": {
1711
- "properties": { "adapterId": { "const": "github-pages" } },
1712
- "required": ["adapterId"]
1713
- },
1714
- "spacesStagePrefix": false,
1715
- "spacesWebsiteConfigurationDigest": false,
1716
- "spacesControlPlaneBindingDigest": false,
1717
- "spacesControlPlaneRequestCatalogDigest": false,
1718
- "spacesControlPlaneResponseCatalogDigest": false,
1719
- "spacesControlPlaneTlsProfileDigest": false
1720
- },
1721
- "required": [
1722
- "adapter",
1723
- "credentialEgressProfileDigest",
1724
- "pagesOidcOriginCatalogDigest",
1725
- "pagesActionsArtifactName",
1726
- "pagesBuildVersion"
1727
- ]
1728
- },
1729
- {
1730
- "properties": {
1731
- "adapter": {
1732
- "properties": { "adapterId": { "const": "do-spaces" } },
1733
- "required": ["adapterId"]
1734
- },
1735
- "pagesOidcOriginCatalogDigest": false,
1736
- "pagesActionsArtifactName": false,
1737
- "pagesActionsArtifactByteCount": false,
1738
- "pagesActionsArtifactDigest": false,
1739
- "pagesBuildVersion": false
1740
- },
1741
- "required": [
1742
- "adapter",
1743
- "credentialEgressProfileDigest",
1744
- "spacesStagePrefix",
1745
- "spacesWebsiteConfigurationDigest",
1746
- "spacesControlPlaneBindingDigest",
1747
- "spacesControlPlaneRequestCatalogDigest",
1748
- "spacesControlPlaneResponseCatalogDigest",
1749
- "spacesControlPlaneTlsProfileDigest"
1750
- ]
1751
- }
1752
- ]
1753
- },
1754
- "localFilesystemSurfaceIdentity": {
1755
- "type": "object",
1756
- "required": ["profile", "surfaceId", "recordDigest"],
1757
- "properties": {
1758
- "profile": { "const": "gala-local-surface-identity-v2" },
1759
- "surfaceId": {
1760
- "type": "string",
1761
- "minLength": 43,
1762
- "maxLength": 43,
1763
- "pattern": "^[A-Za-z0-9_-]{42}[AEIMQUYcgkosw048]$",
1764
- "format": "gala-base64url-32-byte"
1765
- },
1766
- "recordDigest": { "$ref": "#/$defs/digest" }
1767
- },
1768
- "additionalProperties": false
1769
- },
1770
- "localFilesystemControlRow": {
1771
- "type": "object",
1772
- "required": [
1773
- "profile",
1774
- "sequence",
1775
- "operationId",
1776
- "attemptId",
1777
- "stagingStageAttemptId",
1778
- "eventStageAttemptId",
1779
- "stageToken",
1780
- "generationId",
1781
- "artifactDigest",
1782
- "markerDigest",
1783
- "state",
1784
- "destinationChanged",
1785
- "rowDigest"
1786
- ],
1787
- "properties": {
1788
- "profile": { "const": "gala-local-directory-control-v2" },
1789
- "sequence": { "type": "integer", "minimum": 1, "maximum": 1000 },
1790
- "previousRowDigest": { "$ref": "#/$defs/digest" },
1791
- "operationId": { "$ref": "#/$defs/stableId" },
1792
- "attemptId": { "$ref": "#/$defs/stableId" },
1793
- "stagingStageAttemptId": { "$ref": "#/$defs/stableId" },
1794
- "eventStageAttemptId": { "$ref": "#/$defs/stableId" },
1795
- "stageToken": {
1796
- "type": "string",
1797
- "minLength": 32,
1798
- "maxLength": 32,
1799
- "pattern": "^[0-9a-f]{32}$"
1800
- },
1801
- "generationId": { "$ref": "#/$defs/stableId" },
1802
- "expectedGenerationId": { "$ref": "#/$defs/generationFence" },
1803
- "artifactDigest": { "$ref": "#/$defs/digest" },
1804
- "markerDigest": { "$ref": "#/$defs/digest" },
1805
- "state": {
1806
- "enum": [
1807
- "preflight-passed",
1808
- "preflight-failed",
1809
- "staging-started",
1810
- "stage-durable",
1811
- "staging-failed",
1812
- "activation-prepared",
1813
- "activation-renamed",
1814
- "activation-durable",
1815
- "activation-failed",
1816
- "activation-ambiguous",
1817
- "observed",
1818
- "cleanup-started",
1819
- "cleanup-finished",
1820
- "cleanup-failed",
1821
- "cleanup-ambiguous"
1822
- ]
1823
- },
1824
- "destinationChanged": { "enum": ["yes", "no", "unknown"] },
1825
- "failureCode": { "$ref": "#/$defs/managedFailureCode" },
1826
- "failureEvidenceDigest": { "$ref": "#/$defs/digest" },
1827
- "rowDigest": { "$ref": "#/$defs/digest" }
1828
- },
1829
- "additionalProperties": false,
1830
- "allOf": [
1831
- {
1832
- "if": {
1833
- "properties": { "sequence": { "const": 1 } },
1834
- "required": ["sequence"]
1835
- },
1836
- "then": { "properties": { "previousRowDigest": false } },
1837
- "else": { "required": ["previousRowDigest"] }
1838
- },
1839
- {
1840
- "if": {
1841
- "properties": {
1842
- "state": {
1843
- "enum": [
1844
- "preflight-failed",
1845
- "staging-failed",
1846
- "activation-failed",
1847
- "activation-ambiguous",
1848
- "cleanup-failed",
1849
- "cleanup-ambiguous"
1850
- ]
1851
- }
1852
- },
1853
- "required": ["state"]
1854
- },
1855
- "then": { "required": ["failureCode", "failureEvidenceDigest"] },
1856
- "else": {
1857
- "properties": {
1858
- "failureCode": false,
1859
- "failureEvidenceDigest": false
1860
- }
1861
- }
1862
- }
1863
- ]
1864
- },
1865
- "localFilesystemObservationEvidence": {
1866
- "type": "object",
1867
- "required": [
1868
- "profile",
1869
- "filesystemEvidenceDigest",
1870
- "rootIdentityDigest",
1871
- "operationId",
1872
- "attemptId",
1873
- "stageAttemptId",
1874
- "observedCurrentState",
1875
- "controlHeadDigest",
1876
- "observedAt",
1877
- "evidenceDigest"
1878
- ],
1879
- "properties": {
1880
- "profile": { "const": "gala-local-directory-observation-v2" },
1881
- "filesystemEvidenceDigest": { "$ref": "#/$defs/digest" },
1882
- "rootIdentityDigest": { "$ref": "#/$defs/digest" },
1883
- "operationId": { "$ref": "#/$defs/stableId" },
1884
- "attemptId": { "$ref": "#/$defs/stableId" },
1885
- "stageAttemptId": { "$ref": "#/$defs/stableId" },
1886
- "expectedGenerationId": { "$ref": "#/$defs/generationFence" },
1887
- "observedCurrentState": {
1888
- "enum": ["absent", "valid", "malformed", "unsafe"]
1889
- },
1890
- "observedGenerationId": {
1891
- "$ref": "#/$defs/stableId",
1892
- "description": "The generation the destination is observed to be serving. Unlike the write-side `expectedGenerationId` fence, this observation-side field is simply absent when nothing is served and may be carried as null by a consumer that models it nullably: an observation reports what is there, so \"nothing\" is a truthful reading, while an expectation of \"nothing\" must be stated as the explicit expect-nothing-served sentinel and can never be an omission (LOCAL-52)."
1893
- },
1894
- "observedArtifactDigest": { "$ref": "#/$defs/digest" },
1895
- "observedMarkerDigest": { "$ref": "#/$defs/digest" },
1896
- "observedFileCount": { "$ref": "#/$defs/nonnegativeInt64" },
1897
- "observedByteCount": { "$ref": "#/$defs/nonnegativeInt64" },
1898
- "controlHeadDigest": { "$ref": "#/$defs/digest" },
1899
- "observedAt": { "$ref": "#/$defs/rfc3339" },
1900
- "evidenceDigest": { "$ref": "#/$defs/digest" }
1901
- },
1902
- "additionalProperties": false,
1903
- "if": {
1904
- "properties": { "observedCurrentState": { "const": "valid" } },
1905
- "required": ["observedCurrentState"]
1906
- },
1907
- "then": {
1908
- "required": [
1909
- "observedGenerationId",
1910
- "observedArtifactDigest",
1911
- "observedMarkerDigest",
1912
- "observedFileCount",
1913
- "observedByteCount"
1914
- ]
1915
- },
1916
- "else": {
1917
- "properties": {
1918
- "observedGenerationId": false,
1919
- "observedArtifactDigest": false,
1920
- "observedMarkerDigest": false,
1921
- "observedFileCount": false,
1922
- "observedByteCount": false
1923
- }
1924
- }
1925
- },
1926
- "localFilesystemFailureEvidence": {
1927
- "type": "object",
1928
- "required": [
1929
- "profile",
1930
- "filesystemEvidenceDigest",
1931
- "rootIdentityDigest",
1932
- "operationId",
1933
- "attemptId",
1934
- "eventStageAttemptId",
1935
- "stageToken",
1936
- "boundary",
1937
- "errorClass",
1938
- "observedCurrentState",
1939
- "destinationChanged",
1940
- "failureCode",
1941
- "evidenceDigest"
1942
- ],
1943
- "properties": {
1944
- "profile": { "const": "gala-local-directory-failure-v2" },
1945
- "filesystemEvidenceDigest": { "$ref": "#/$defs/digest" },
1946
- "rootIdentityDigest": { "$ref": "#/$defs/digest" },
1947
- "operationId": { "$ref": "#/$defs/stableId" },
1948
- "attemptId": { "$ref": "#/$defs/stableId" },
1949
- "eventStageAttemptId": { "$ref": "#/$defs/stableId" },
1950
- "stageToken": {
1951
- "type": "string",
1952
- "minLength": 32,
1953
- "maxLength": 32,
1954
- "pattern": "^[0-9a-f]{32}$"
1955
- },
1956
- "boundary": {
1957
- "enum": [
1958
- "preflight",
1959
- "capacity",
1960
- "stage-create",
1961
- "stage-write",
1962
- "file-fsync",
1963
- "directory-fsync",
1964
- "stage-rename",
1965
- "inspect",
1966
- "pointer-prepare",
1967
- "pointer-rename",
1968
- "post-rename-observe",
1969
- "cleanup-unlink",
1970
- "cleanup-rmdir"
1971
- ]
1972
- },
1973
- "errorClass": {
1974
- "enum": [
1975
- "unsupported",
1976
- "unsafe-node",
1977
- "ownership",
1978
- "permission",
1979
- "cross-device",
1980
- "collision",
1981
- "capacity",
1982
- "short-write",
1983
- "exists",
1984
- "not-found",
1985
- "busy",
1986
- "io",
1987
- "timeout",
1988
- "ambiguous",
1989
- "tamper"
1990
- ]
1991
- },
1992
- "observedCurrentState": {
1993
- "enum": [
1994
- "not-observed",
1995
- "absent",
1996
- "predecessor",
1997
- "candidate",
1998
- "other",
1999
- "unsafe"
2000
- ]
2001
- },
2002
- "destinationChanged": { "enum": ["yes", "no", "unknown"] },
2003
- "failureCode": { "$ref": "#/$defs/managedFailureCode" },
2004
- "evidenceDigest": { "$ref": "#/$defs/digest" }
2005
- },
2006
- "additionalProperties": false
2007
- },
2008
- "localFilesystemPlatform": {
2009
- "type": "object",
2010
- "required": [
2011
- "os",
2012
- "architecture",
2013
- "kernelRelease",
2014
- "filesystemType",
2015
- "mountFlags"
2016
- ],
2017
- "properties": {
2018
- "os": { "enum": ["linux", "darwin"] },
2019
- "architecture": { "enum": ["x86_64", "aarch64"] },
2020
- "kernelRelease": { "$ref": "#/$defs/plainLabel" },
2021
- "filesystemType": { "$ref": "#/$defs/plainLabel" },
2022
- "mountFlags": {
2023
- "type": "array",
2024
- "items": { "$ref": "#/$defs/plainLabel" },
2025
- "minItems": 0,
2026
- "maxItems": 32,
2027
- "uniqueItems": true
2028
- }
2029
- },
2030
- "additionalProperties": false
2031
- },
2032
- "localFilesystemProbeSummary": {
2033
- "type": "object",
2034
- "required": [
2035
- "sameRootAndReleaseDevice",
2036
- "rootAndAncestorsNoFollow",
2037
- "atomicSymlinkReplacement",
2038
- "exclusiveControlPublication",
2039
- "directoryFsync",
2040
- "readerIterations",
2041
- "replacementIterations",
2042
- "unexpectedReaderOutcomes",
2043
- "transcriptDigest"
2044
- ],
2045
- "properties": {
2046
- "sameRootAndReleaseDevice": { "const": true },
2047
- "rootAndAncestorsNoFollow": { "const": true },
2048
- "atomicSymlinkReplacement": { "const": true },
2049
- "exclusiveControlPublication": { "const": true },
2050
- "directoryFsync": { "const": true },
2051
- "readerIterations": { "const": 10000 },
2052
- "replacementIterations": { "const": 10000 },
2053
- "unexpectedReaderOutcomes": { "const": 0 },
2054
- "transcriptDigest": { "$ref": "#/$defs/digest" }
2055
- },
2056
- "additionalProperties": false
2057
- },
2058
- "localFilesystemCapabilityEvidence": {
2059
- "type": "object",
2060
- "required": [
2061
- "profile",
2062
- "adapter",
2063
- "rootIdentityDigest",
2064
- "mutationSurfaceDigest",
2065
- "surfaceIdentityDigest",
2066
- "platform",
2067
- "deviceId",
2068
- "rootFileId",
2069
- "effectiveUserId",
2070
- "allowlistEntryId",
2071
- "allowlistDigest",
2072
- "probe",
2073
- "observedAt",
2074
- "evidenceDigest"
2075
- ],
2076
- "properties": {
2077
- "profile": { "const": "gala-local-directory-capability-evidence-v2" },
2078
- "adapter": {
2079
- "allOf": [
2080
- { "$ref": "#/$defs/adapterIdentity" },
2081
- {
2082
- "properties": { "adapterId": { "const": "local-directory" } },
2083
- "required": ["adapterId"]
2084
- }
2085
- ]
2086
- },
2087
- "rootIdentityDigest": { "$ref": "#/$defs/digest" },
2088
- "mutationSurfaceDigest": { "$ref": "#/$defs/digest" },
2089
- "surfaceIdentityDigest": { "$ref": "#/$defs/digest" },
2090
- "platform": { "$ref": "#/$defs/localFilesystemPlatform" },
2091
- "deviceId": { "$ref": "#/$defs/unsignedDecimal" },
2092
- "rootFileId": { "$ref": "#/$defs/unsignedDecimal" },
2093
- "effectiveUserId": { "$ref": "#/$defs/unsignedDecimal" },
2094
- "allowlistEntryId": { "$ref": "#/$defs/stableId" },
2095
- "allowlistDigest": { "$ref": "#/$defs/digest" },
2096
- "probe": { "$ref": "#/$defs/localFilesystemProbeSummary" },
2097
- "observedAt": { "$ref": "#/$defs/rfc3339" },
2098
- "evidenceDigest": { "$ref": "#/$defs/digest" }
2099
- },
2100
- "additionalProperties": false
2101
- },
2102
- "localFilesystemAllowlistEntry": {
2103
- "type": "object",
2104
- "required": [
2105
- "platform",
2106
- "allowlistEntryId",
2107
- "primitiveProfile",
2108
- "atomicReplacementMatrixDigest",
2109
- "processCrashMatrixDigest",
2110
- "powerLossMatrixDigest",
2111
- "maliciousFilesystemMatrixDigest"
2112
- ],
2113
- "properties": {
2114
- "platform": { "$ref": "#/$defs/localFilesystemPlatform" },
2115
- "allowlistEntryId": { "$ref": "#/$defs/stableId" },
2116
- "primitiveProfile": { "const": "gala-local-directory-filesystem-v2" },
2117
- "atomicReplacementMatrixDigest": { "$ref": "#/$defs/digest" },
2118
- "processCrashMatrixDigest": { "$ref": "#/$defs/digest" },
2119
- "powerLossMatrixDigest": { "$ref": "#/$defs/digest" },
2120
- "maliciousFilesystemMatrixDigest": { "$ref": "#/$defs/digest" }
2121
- },
2122
- "additionalProperties": false
2123
- },
2124
- "localFilesystemAllowlist": {
2125
- "type": "object",
2126
- "required": ["profile", "entries", "catalogDigest"],
2127
- "properties": {
2128
- "profile": { "const": "gala-local-filesystem-allowlist-v2" },
2129
- "entries": {
2130
- "type": "array",
2131
- "items": { "$ref": "#/$defs/localFilesystemAllowlistEntry" },
2132
- "uniqueItems": true
2133
- },
2134
- "catalogDigest": { "$ref": "#/$defs/digest" }
2135
- },
2136
- "additionalProperties": false
2137
- },
2138
- "localFilesystemReplacement": {
2139
- "type": "object",
2140
- "required": [
2141
- "operationNumber",
2142
- "preparedTarget",
2143
- "renameResult",
2144
- "readerResult"
2145
- ],
2146
- "properties": {
2147
- "operationNumber": {
2148
- "type": "integer",
2149
- "minimum": 1,
2150
- "maximum": 10000
2151
- },
2152
- "preparedTarget": { "enum": ["target-a", "target-b"] },
2153
- "renameResult": { "const": "success" },
2154
- "readerResult": { "enum": ["target-a", "target-b"] }
2155
- },
2156
- "additionalProperties": false
2157
- },
2158
- "localFilesystemControlPublication": {
2159
- "type": "object",
2160
- "required": [
2161
- "publisherSource",
2162
- "publicationResult",
2163
- "conflictingSource",
2164
- "conflictingResult",
2165
- "publishedInodeSource",
2166
- "publishedByteSource"
2167
- ],
2168
- "properties": {
2169
- "publisherSource": { "const": "control" },
2170
- "publicationResult": { "const": "success" },
2171
- "conflictingSource": { "const": "race-a" },
2172
- "conflictingResult": { "const": "EEXIST" },
2173
- "publishedInodeSource": { "const": "control" },
2174
- "publishedByteSource": { "const": "control" }
2175
- },
2176
- "additionalProperties": false
2177
- },
2178
- "localFilesystemRacePublication": {
2179
- "oneOf": [
2180
- {
2181
- "type": "object",
2182
- "required": [
2183
- "contenders",
2184
- "winner",
2185
- "publishedInodeSource",
2186
- "publishedByteSource"
2187
- ],
2188
- "properties": {
2189
- "contenders": {
2190
- "const": [
2191
- { "source": "race-a", "linkResult": "success" },
2192
- { "source": "race-b", "linkResult": "EEXIST" }
2193
- ]
2194
- },
2195
- "winner": { "const": "race-a" },
2196
- "publishedInodeSource": { "const": "race-a" },
2197
- "publishedByteSource": { "const": "race-a" }
2198
- },
2199
- "additionalProperties": false
2200
- },
2201
- {
2202
- "type": "object",
2203
- "required": [
2204
- "contenders",
2205
- "winner",
2206
- "publishedInodeSource",
2207
- "publishedByteSource"
2208
- ],
2209
- "properties": {
2210
- "contenders": {
2211
- "const": [
2212
- { "source": "race-a", "linkResult": "EEXIST" },
2213
- { "source": "race-b", "linkResult": "success" }
2214
- ]
2215
- },
2216
- "winner": { "const": "race-b" },
2217
- "publishedInodeSource": { "const": "race-b" },
2218
- "publishedByteSource": { "const": "race-b" }
2219
- },
2220
- "additionalProperties": false
2221
- }
2222
- ]
2223
- },
2224
- "localFilesystemProbeTranscript": {
2225
- "type": "object",
2226
- "required": [
2227
- "profile",
2228
- "initialTarget",
2229
- "replacements",
2230
- "controlPublication",
2231
- "racePublication"
2232
- ],
2233
- "properties": {
2234
- "profile": { "const": "gala-local-filesystem-probe-transcript-v2" },
2235
- "initialTarget": { "const": "target-a" },
2236
- "replacements": {
2237
- "type": "array",
2238
- "items": { "$ref": "#/$defs/localFilesystemReplacement" },
2239
- "minItems": 10000,
2240
- "maxItems": 10000,
2241
- "uniqueItems": true
2242
- },
2243
- "controlPublication": {
2244
- "$ref": "#/$defs/localFilesystemControlPublication"
2245
- },
2246
- "racePublication": { "$ref": "#/$defs/localFilesystemRacePublication" }
2247
- },
2248
- "additionalProperties": false
2249
- }
2250
- },
2251
- "oneOf": [
2252
- {
2253
- "properties": {
2254
- "adapter": {
2255
- "allOf": [
2256
- { "$ref": "#/$defs/adapterIdentity" },
2257
- {
2258
- "properties": { "adapterId": { "const": "local-directory" } },
2259
- "required": ["adapterId"]
2260
- }
2261
- ]
2262
- },
2263
- "destinationKinds": {
2264
- "type": "array",
2265
- "const": ["local-directory"],
2266
- "minItems": 1,
2267
- "maxItems": 1,
2268
- "uniqueItems": true
2269
- },
2270
- "operations": {
2271
- "type": "array",
2272
- "const": [
2273
- "activate",
2274
- "cleanup-staged",
2275
- "inspect",
2276
- "observe",
2277
- "rollback",
2278
- "stage"
2279
- ],
2280
- "minItems": 6,
2281
- "maxItems": 6,
2282
- "uniqueItems": true
2283
- },
2284
- "staging": { "const": "unreachable-generation" },
2285
- "activation": { "const": "pointer-swap" },
2286
- "concurrency": { "const": "expected-generation" },
2287
- "idempotencyClass": { "const": "observable-identity" },
2288
- "rollback": { "const": "reupload" },
2289
- "verification": {
2290
- "type": "array",
2291
- "const": ["artifact-digest", "generation-marker", "provider-state"],
2292
- "minItems": 3,
2293
- "maxItems": 3,
2294
- "uniqueItems": true
2295
- },
2296
- "providerInventoryAssurance": { "const": "complete-artifact-digest" },
2297
- "configuration": {
2298
- "const": {
2299
- "redirects": false,
2300
- "headers": false,
2301
- "customDomains": false,
2302
- "notFoundBehavior": false,
2303
- "immutableCaching": false
2304
- }
2305
- },
2306
- "cacheInvalidation": { "const": "none" },
2307
- "limits": { "$ref": "#/$defs/filesystemProviderLimits" },
2308
- "filesystemEvidenceDigest": { "$ref": "#/$defs/digest" }
2309
- },
2310
- "required": ["filesystemEvidenceDigest"]
2311
- },
2312
- {
2313
- "properties": {
2314
- "adapter": {
2315
- "allOf": [
2316
- { "$ref": "#/$defs/adapterIdentity" },
2317
- {
2318
- "properties": { "adapterId": { "const": "github-pages" } },
2319
- "required": ["adapterId"]
2320
- }
2321
- ]
2322
- },
2323
- "destinationKinds": {
2324
- "type": "array",
2325
- "const": ["github-pages"],
2326
- "minItems": 1,
2327
- "maxItems": 1,
2328
- "uniqueItems": true
2329
- },
2330
- "operations": {
2331
- "type": "array",
2332
- "const": [
2333
- "activate",
2334
- "cleanup-staged",
2335
- "inspect",
2336
- "observe",
2337
- "rollback",
2338
- "stage"
2339
- ],
2340
- "minItems": 6,
2341
- "maxItems": 6,
2342
- "uniqueItems": true
2343
- },
2344
- "staging": { "const": "private" },
2345
- "activation": { "const": "provider-promotion" },
2346
- "concurrency": { "const": "none" },
2347
- "idempotencyClass": { "const": "observable-identity" },
2348
- "rollback": { "const": "reupload" },
2349
- "verification": {
2350
- "type": "array",
2351
- "const": ["generation-marker", "provider-state", "public-http"],
2352
- "minItems": 3,
2353
- "maxItems": 3,
2354
- "uniqueItems": true
2355
- },
2356
- "providerInventoryAssurance": { "const": "none" },
2357
- "configuration": {
2358
- "const": {
2359
- "redirects": false,
2360
- "headers": false,
2361
- "customDomains": false,
2362
- "notFoundBehavior": false,
2363
- "immutableCaching": false
2364
- }
2365
- },
2366
- "cacheInvalidation": { "const": "none" },
2367
- "limits": {
2368
- "allOf": [
2369
- { "$ref": "#/$defs/httpProviderLimits" },
2370
- {
2371
- "properties": {
2372
- "spacesWebsiteConfigurationDigest": false,
2373
- "spacesControlPlaneBindingDigest": false,
2374
- "spacesControlPlaneRequestCatalogDigest": false,
2375
- "spacesControlPlaneResponseCatalogDigest": false,
2376
- "spacesControlPlaneTlsProfileDigest": false,
2377
- "requestTemplateProfile": {
2378
- "const": "gala-github-pages-http-v2"
2379
- },
2380
- "requestTemplates": {
2381
- "type": "array",
2382
- "items": {
2383
- "allOf": [
2384
- { "$ref": "#/$defs/providerRequestTemplate" },
2385
- {
2386
- "properties": {
2387
- "responseProfile": {
2388
- "enum": [
2389
- "pages-cancel-empty-v2",
2390
- "pages-create-deployment-json-v2",
2391
- "pages-deployment-status-json-v2",
2392
- "pages-site-json-v2"
2393
- ]
2394
- }
2395
- },
2396
- "required": ["responseProfile"]
2397
- }
2398
- ]
2399
- },
2400
- "allOf": [
2401
- {
2402
- "contains": {
2403
- "type": "object",
2404
- "properties": {
2405
- "responseProfile": {
2406
- "const": "pages-cancel-empty-v2"
2407
- }
2408
- },
2409
- "required": ["responseProfile"]
2410
- },
2411
- "minContains": 1
2412
- },
2413
- {
2414
- "contains": {
2415
- "type": "object",
2416
- "properties": {
2417
- "responseProfile": {
2418
- "const": "pages-create-deployment-json-v2"
2419
- }
2420
- },
2421
- "required": ["responseProfile"]
2422
- },
2423
- "minContains": 1
2424
- },
2425
- {
2426
- "contains": {
2427
- "type": "object",
2428
- "properties": {
2429
- "responseProfile": {
2430
- "const": "pages-deployment-status-json-v2"
2431
- }
2432
- },
2433
- "required": ["responseProfile"]
2434
- },
2435
- "minContains": 1
2436
- },
2437
- {
2438
- "contains": {
2439
- "type": "object",
2440
- "properties": {
2441
- "responseProfile": { "const": "pages-site-json-v2" }
2442
- },
2443
- "required": ["responseProfile"]
2444
- },
2445
- "minContains": 1
2446
- }
2447
- ]
2448
- },
2449
- "managedExecutionBudget": {
2450
- "allOf": [
2451
- { "$ref": "#/$defs/managedExecutionBudget" },
2452
- {
2453
- "properties": {
2454
- "spacesControlPlaneVerificationSeconds": false
2455
- },
2456
- "required": [
2457
- "pagesCarrierConstructionSeconds",
2458
- "pagesArtifactUploadSeconds",
2459
- "pagesArtifactVerificationSeconds"
2460
- ]
2461
- }
2462
- ]
2463
- }
2464
- },
2465
- "required": ["pagesArtifactProfile", "maximumPagesArtifactBytes"]
2466
- }
2467
- ]
2468
- },
2469
- "filesystemEvidenceDigest": false
2470
- },
2471
- "required": []
2472
- },
2473
- {
2474
- "properties": {
2475
- "adapter": {
2476
- "allOf": [
2477
- { "$ref": "#/$defs/adapterIdentity" },
2478
- {
2479
- "properties": { "adapterId": { "const": "do-spaces" } },
2480
- "required": ["adapterId"]
2481
- }
2482
- ]
2483
- },
2484
- "destinationKinds": {
2485
- "type": "array",
2486
- "const": ["do-spaces"],
2487
- "minItems": 1,
2488
- "maxItems": 1,
2489
- "uniqueItems": true
2490
- },
2491
- "operations": {
2492
- "type": "array",
2493
- "const": [
2494
- "activate",
2495
- "cleanup-staged",
2496
- "inspect",
2497
- "observe",
2498
- "rollback",
2499
- "stage"
2500
- ],
2501
- "minItems": 6,
2502
- "maxItems": 6,
2503
- "uniqueItems": true
2504
- },
2505
- "staging": { "const": "private" },
2506
- "activation": { "const": "replace-in-place" },
2507
- "concurrency": { "const": "best-effort" },
2508
- "idempotencyClass": { "const": "observable-identity" },
2509
- "rollback": { "const": "reupload" },
2510
- "verification": {
2511
- "type": "array",
2512
- "const": ["generation-marker", "provider-state", "public-http"],
2513
- "minItems": 3,
2514
- "maxItems": 3,
2515
- "uniqueItems": true
2516
- },
2517
- "providerInventoryAssurance": { "const": "none" },
2518
- "configuration": {
2519
- "const": {
2520
- "redirects": false,
2521
- "headers": false,
2522
- "customDomains": false,
2523
- "notFoundBehavior": true,
2524
- "immutableCaching": false
2525
- }
2526
- },
2527
- "cacheInvalidation": { "const": "none" },
2528
- "limits": {
2529
- "allOf": [
2530
- { "$ref": "#/$defs/httpProviderLimits" },
2531
- {
2532
- "properties": {
2533
- "pagesArtifactProfile": false,
2534
- "maximumPagesArtifactBytes": false,
2535
- "requestTemplateProfile": {
2536
- "const": "gala-do-spaces-sigv4-v2"
2537
- },
2538
- "requestTemplates": {
2539
- "type": "array",
2540
- "items": {
2541
- "allOf": [
2542
- { "$ref": "#/$defs/providerRequestTemplate" },
2543
- {
2544
- "properties": {
2545
- "responseProfile": {
2546
- "enum": [
2547
- "spaces-abort-multipart-v2",
2548
- "spaces-complete-multipart-v2",
2549
- "spaces-create-multipart-v2",
2550
- "spaces-delete-object-v2",
2551
- "spaces-head-object-v2",
2552
- "spaces-list-objects-v2",
2553
- "spaces-put-object-v2",
2554
- "spaces-upload-part-v2"
2555
- ]
2556
- }
2557
- },
2558
- "required": ["responseProfile"]
2559
- }
2560
- ]
2561
- },
2562
- "allOf": [
2563
- {
2564
- "contains": {
2565
- "type": "object",
2566
- "properties": {
2567
- "responseProfile": {
2568
- "const": "spaces-abort-multipart-v2"
2569
- }
2570
- },
2571
- "required": ["responseProfile"]
2572
- },
2573
- "minContains": 1
2574
- },
2575
- {
2576
- "contains": {
2577
- "type": "object",
2578
- "properties": {
2579
- "responseProfile": {
2580
- "const": "spaces-complete-multipart-v2"
2581
- }
2582
- },
2583
- "required": ["responseProfile"]
2584
- },
2585
- "minContains": 1
2586
- },
2587
- {
2588
- "contains": {
2589
- "type": "object",
2590
- "properties": {
2591
- "responseProfile": {
2592
- "const": "spaces-create-multipart-v2"
2593
- }
2594
- },
2595
- "required": ["responseProfile"]
2596
- },
2597
- "minContains": 1
2598
- },
2599
- {
2600
- "contains": {
2601
- "type": "object",
2602
- "properties": {
2603
- "responseProfile": {
2604
- "const": "spaces-delete-object-v2"
2605
- }
2606
- },
2607
- "required": ["responseProfile"]
2608
- },
2609
- "minContains": 1
2610
- },
2611
- {
2612
- "contains": {
2613
- "type": "object",
2614
- "properties": {
2615
- "responseProfile": {
2616
- "const": "spaces-head-object-v2"
2617
- }
2618
- },
2619
- "required": ["responseProfile"]
2620
- },
2621
- "minContains": 1
2622
- },
2623
- {
2624
- "contains": {
2625
- "type": "object",
2626
- "properties": {
2627
- "responseProfile": {
2628
- "const": "spaces-list-objects-v2"
2629
- }
2630
- },
2631
- "required": ["responseProfile"]
2632
- },
2633
- "minContains": 1
2634
- },
2635
- {
2636
- "contains": {
2637
- "type": "object",
2638
- "properties": {
2639
- "responseProfile": { "const": "spaces-put-object-v2" }
2640
- },
2641
- "required": ["responseProfile"]
2642
- },
2643
- "minContains": 1
2644
- },
2645
- {
2646
- "contains": {
2647
- "type": "object",
2648
- "properties": {
2649
- "responseProfile": {
2650
- "const": "spaces-upload-part-v2"
2651
- }
2652
- },
2653
- "required": ["responseProfile"]
2654
- },
2655
- "minContains": 1
2656
- }
2657
- ]
2658
- },
2659
- "managedExecutionBudget": {
2660
- "allOf": [
2661
- { "$ref": "#/$defs/managedExecutionBudget" },
2662
- {
2663
- "properties": {
2664
- "pagesCarrierConstructionSeconds": false,
2665
- "pagesArtifactUploadSeconds": false,
2666
- "pagesArtifactVerificationSeconds": false
2667
- },
2668
- "required": ["spacesControlPlaneVerificationSeconds"]
2669
- }
2670
- ]
2671
- },
2672
- "maximumProviderRequestBodyBytes": { "const": "5242880" }
2673
- },
2674
- "required": [
2675
- "spacesWebsiteConfigurationDigest",
2676
- "spacesControlPlaneBindingDigest",
2677
- "spacesControlPlaneRequestCatalogDigest",
2678
- "spacesControlPlaneResponseCatalogDigest",
2679
- "spacesControlPlaneTlsProfileDigest"
2680
- ]
2681
- }
2682
- ]
2683
- },
2684
- "filesystemEvidenceDigest": false
2685
- },
2686
- "required": []
2687
- }
2688
- ]
2689
- }