@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,35 +0,0 @@
1
- export const HTTP_PROBLEM_EXAMPLE_RULES =
2
- /** @type {Readonly<
3
- * Record<string, {statuses: readonly number[], retryable: boolean}>
4
- * >} */ (
5
- Object.freeze({
6
- AUTHENTICATION_REQUIRED: { statuses: [401], retryable: false },
7
- AUTHORIZATION_DENIED: { statuses: [403], retryable: false },
8
- CAPABILITY_EXPIRED: { statuses: [410], retryable: false },
9
- CAPABILITY_UNAVAILABLE: { statuses: [503], retryable: false },
10
- COMMAND_REPLAY_CONFLICT: { statuses: [409], retryable: false },
11
- DEPENDENCY_UNAVAILABLE: { statuses: [503], retryable: true },
12
- DESTINATION_MUTATION_IN_PROGRESS: { statuses: [409], retryable: false },
13
- INVALID_SOURCE_STATE: { statuses: [409], retryable: false },
14
- RATE_LIMITED: { statuses: [429], retryable: true },
15
- REAUTH_REQUIRED: { statuses: [401], retryable: false },
16
- REPORTING_CAPABILITY_INVALID: { statuses: [401], retryable: false },
17
- REQUEST_FIELD_UNKNOWN: { statuses: [400], retryable: false },
18
- RESOURCE_NOT_FOUND: { statuses: [404], retryable: false },
19
- RESPONSE_REPRESENTATION_LIMIT_EXCEEDED: {
20
- statuses: [500],
21
- retryable: false,
22
- },
23
- STALE_AGGREGATE_VERSION: { statuses: [412], retryable: false },
24
- VALIDATION_FAILED: {
25
- statuses: [400, 413, 415, 422],
26
- retryable: false,
27
- },
28
- VERIFICATION_EVIDENCE_LIMIT_EXCEEDED: {
29
- statuses: [422],
30
- retryable: false,
31
- },
32
- WORKLOAD_BINDING_INVALID: { statuses: [403], retryable: false },
33
- WORKLOAD_REPLAYED: { statuses: [409], retryable: false },
34
- })
35
- );
@@ -1,160 +0,0 @@
1
- import { canonicalizeJcs } from './canonical-jcs.js';
2
- import {
3
- appendManagedEvidenceHead,
4
- digestManagedEvidenceEntry,
5
- digestManagedEvidenceGenesis,
6
- } from './digest-profiles.js';
7
- import { SemanticValidationError } from './semver.js';
8
-
9
- const DIGEST_PATTERN = /^sha256:[0-9a-f]{64}$/u;
10
-
11
- /**
12
- * Raise one stable journal diagnostic.
13
- *
14
- * @returns {never}
15
- */
16
- function invalidJournal() {
17
- throw new SemanticValidationError('MANAGED_EVIDENCE_JOURNAL_INVALID');
18
- }
19
-
20
- /**
21
- * Require an ordinary JSON object.
22
- *
23
- * @param {unknown} value candidate value
24
- * @returns {Record<string, unknown>} object
25
- */
26
- function asObject(value) {
27
- if (
28
- value === null ||
29
- typeof value !== 'object' ||
30
- Array.isArray(value) ||
31
- Object.getPrototypeOf(value) !== Object.prototype
32
- ) {
33
- return invalidJournal();
34
- }
35
- return /** @type {Record<string, unknown>} */ (value);
36
- }
37
-
38
- /**
39
- * Require an object's exact member set.
40
- *
41
- * @param {Record<string, unknown>} value object
42
- * @param {readonly string[]} keys exact keys
43
- * @returns {void}
44
- */
45
- function requireKeys(value, keys) {
46
- const actual = Object.keys(value).sort();
47
- const expected = [...keys].sort();
48
- if (
49
- actual.length !== expected.length ||
50
- actual.some((key, index) => key !== expected[index])
51
- ) {
52
- invalidJournal();
53
- }
54
- }
55
-
56
- /**
57
- * Require a canonical tagged SHA-256 digest.
58
- *
59
- * @param {unknown} value candidate digest
60
- * @returns {string} digest
61
- */
62
- function requireDigest(value) {
63
- if (typeof value !== 'string' || !DIGEST_PATTERN.test(value)) {
64
- return invalidJournal();
65
- }
66
- return value;
67
- }
68
-
69
- /**
70
- * Validate a complete managed evidence journal against receipt coordinates.
71
- *
72
- * This is an internal validator context, not a portable wire shape. Each entry
73
- * is the stored response projection without receipt/page fields; the owning
74
- * API schema supplies structural validation for each attempt and observation.
75
- *
76
- * @param {{
77
- * operationId: string,
78
- * runAttempt: number,
79
- * entries: unknown[],
80
- * receiptEntryCount: number,
81
- * receiptHeadDigest: string
82
- * }} context complete retained journal context
83
- * @returns {{entryCount: number, headDigest: string}} validated terminal state
84
- */
85
- export function validateManagedEvidenceJournal(context) {
86
- const {
87
- operationId,
88
- runAttempt,
89
- entries,
90
- receiptEntryCount,
91
- receiptHeadDigest,
92
- } = context;
93
- if (
94
- typeof operationId !== 'string' ||
95
- operationId.length === 0 ||
96
- !Number.isInteger(runAttempt) ||
97
- runAttempt < 1 ||
98
- runAttempt > 51 ||
99
- !Array.isArray(entries) ||
100
- entries.length < 1 ||
101
- entries.length > 1_100 ||
102
- receiptEntryCount !== entries.length
103
- ) {
104
- return invalidJournal();
105
- }
106
-
107
- let headDigest = digestManagedEvidenceGenesis({ operationId, runAttempt });
108
- const wrappers = new Set();
109
- const identities = new Set();
110
- const nextSequence = { attempt: 1, observation: 1 };
111
- for (let index = 0; index < entries.length; index += 1) {
112
- const entry = asObject(entries[index]);
113
- const entryType = entry.entryType;
114
- if (entryType !== 'attempt' && entryType !== 'observation') {
115
- return invalidJournal();
116
- }
117
- const selectedMember = entryType;
118
- requireKeys(entry, [
119
- 'entryNumber',
120
- 'previousHeadDigest',
121
- 'entryType',
122
- selectedMember,
123
- 'entryDigest',
124
- 'headDigest',
125
- ]);
126
- if (entry.entryNumber !== index + 1) return invalidJournal();
127
- if (requireDigest(entry.previousHeadDigest) !== headDigest) {
128
- return invalidJournal();
129
- }
130
- const record = asObject(entry[selectedMember]);
131
- if (record.sequence !== nextSequence[entryType]) return invalidJournal();
132
- nextSequence[entryType] += 1;
133
- const identityName =
134
- entryType === 'attempt' ? 'stageAttemptId' : 'observationId';
135
- const identity = record[identityName];
136
- if (typeof identity !== 'string' || identity.length === 0) {
137
- return invalidJournal();
138
- }
139
- const typedIdentity = `${entryType}:${identity}`;
140
- if (identities.has(typedIdentity)) return invalidJournal();
141
- identities.add(typedIdentity);
142
-
143
- const wrapper = { entryType, [selectedMember]: record };
144
- const wrapperBytes = canonicalizeJcs(wrapper);
145
- if (wrappers.has(wrapperBytes)) return invalidJournal();
146
- wrappers.add(wrapperBytes);
147
- const entryDigest = digestManagedEvidenceEntry(wrapper);
148
- if (requireDigest(entry.entryDigest) !== entryDigest) {
149
- return invalidJournal();
150
- }
151
- headDigest = appendManagedEvidenceHead(headDigest, entryDigest);
152
- if (requireDigest(entry.headDigest) !== headDigest) {
153
- return invalidJournal();
154
- }
155
- }
156
- if (requireDigest(receiptHeadDigest) !== headDigest) {
157
- return invalidJournal();
158
- }
159
- return { entryCount: entries.length, headDigest };
160
- }
@@ -1,143 +0,0 @@
1
- import { createHash } from 'node:crypto';
2
-
3
- import { canonicalizeJcsBytes } from './canonical-jcs.js';
4
- import { validateRfc3339 } from './portable-scalars.js';
5
-
6
- const DOMAIN = 'GALA-PUBLIC-RUNTIME-ORIGINS-V2\0';
7
- const MAXIMUM_VALIDITY_MILLISECONDS = 300_000;
8
- const CATALOG_BINDING_FIELDS = [
9
- 'environment',
10
- 'generation',
11
- 'appOrigin',
12
- 'apiOrigin',
13
- 'schemaDocsOrigin',
14
- 'publicRecoveryBase',
15
- 'transactionalLinkBase',
16
- 'sourceCatalogGeneration',
17
- 'sourceCatalogDigest',
18
- 'appArtifactDigest',
19
- ];
20
- const EXPECTED_BINDING_FIELDS = [
21
- ...CATALOG_BINDING_FIELDS,
22
- 'documentOrigin',
23
- 'observedAt',
24
- ];
25
-
26
- /**
27
- * Require a plain JSON object.
28
- *
29
- * @param {unknown} value candidate value
30
- * @param {string} code diagnostic code
31
- * @returns {Record<string, unknown>} checked record
32
- */
33
- function asRecord(value, code) {
34
- if (value === null || typeof value !== 'object' || Array.isArray(value)) {
35
- throw new TypeError(code);
36
- }
37
- const prototype = Object.getPrototypeOf(value);
38
- if (prototype !== Object.prototype && prototype !== null) {
39
- throw new TypeError(code);
40
- }
41
- return /** @type {Record<string, unknown>} */ (value);
42
- }
43
-
44
- /**
45
- * Require and parse one canonical Gala timestamp.
46
- *
47
- * @param {unknown} value candidate timestamp
48
- * @param {string} code diagnostic code
49
- * @returns {number} epoch milliseconds
50
- */
51
- function timestamp(value, code) {
52
- if (typeof value !== 'string') throw new TypeError(code);
53
- try {
54
- validateRfc3339(value);
55
- } catch {
56
- throw new TypeError(code);
57
- }
58
- const milliseconds = Date.parse(value);
59
- if (!Number.isFinite(milliseconds)) throw new TypeError(code);
60
- return milliseconds;
61
- }
62
-
63
- /**
64
- * Project a public-runtime-origins record for its self-excluding digest.
65
- *
66
- * @param {unknown} value complete or pre-digest runtime-origins record
67
- * @returns {Record<string, unknown>} record without payloadDigest
68
- */
69
- export function projectPublicRuntimeOrigins(value) {
70
- const record = asRecord(value, 'PUBLIC_RUNTIME_ORIGINS_RECORD_INVALID');
71
- return Object.fromEntries(
72
- Object.entries(record).filter(([key]) => key !== 'payloadDigest'),
73
- );
74
- }
75
-
76
- /**
77
- * Compute the runtime-origins self-excluding domain-separated digest.
78
- *
79
- * @param {unknown} value complete or pre-digest runtime-origins record
80
- * @returns {string} tagged SHA-256 digest
81
- */
82
- export function digestPublicRuntimeOrigins(value) {
83
- return `sha256:${createHash('sha256')
84
- .update(DOMAIN, 'utf8')
85
- .update(canonicalizeJcsBytes(projectPublicRuntimeOrigins(value)))
86
- .digest('base64url')}`;
87
- }
88
-
89
- /**
90
- * Validate runtime-origin time, digest and exact App binding semantics.
91
- *
92
- * @param {unknown} value structurally valid runtime-origins record
93
- * @param {unknown} expectedBinding expected catalog, document-origin and observation binding
94
- * @returns {void}
95
- */
96
- export function validatePublicRuntimeOrigins(value, expectedBinding) {
97
- const record = asRecord(value, 'PUBLIC_RUNTIME_ORIGINS_RECORD_INVALID');
98
- const binding = asRecord(
99
- expectedBinding,
100
- 'PUBLIC_RUNTIME_ORIGINS_BINDING_INVALID',
101
- );
102
- if (
103
- Object.keys(binding).length !== EXPECTED_BINDING_FIELDS.length ||
104
- EXPECTED_BINDING_FIELDS.some((field) => !Object.hasOwn(binding, field))
105
- ) {
106
- throw new TypeError('PUBLIC_RUNTIME_ORIGINS_BINDING_INVALID');
107
- }
108
- const issuedAt = timestamp(
109
- record.issuedAt,
110
- 'PUBLIC_RUNTIME_ORIGINS_TIME_INVALID',
111
- );
112
- const expiresAt = timestamp(
113
- record.expiresAt,
114
- 'PUBLIC_RUNTIME_ORIGINS_TIME_INVALID',
115
- );
116
- if (
117
- expiresAt <= issuedAt ||
118
- expiresAt - issuedAt > MAXIMUM_VALIDITY_MILLISECONDS
119
- ) {
120
- throw new TypeError('PUBLIC_RUNTIME_ORIGINS_TIME_INVALID');
121
- }
122
- if (record.payloadDigest !== digestPublicRuntimeOrigins(record)) {
123
- throw new TypeError('PUBLIC_RUNTIME_ORIGINS_DIGEST_INVALID');
124
- }
125
- if (
126
- CATALOG_BINDING_FIELDS.some((field) => record[field] !== binding[field])
127
- ) {
128
- throw new TypeError('PUBLIC_RUNTIME_ORIGINS_BINDING_INVALID');
129
- }
130
- if (record.appOrigin !== binding.documentOrigin) {
131
- throw new TypeError('PUBLIC_RUNTIME_ORIGINS_APP_ORIGIN_INVALID');
132
- }
133
- const observedAt = timestamp(
134
- binding.observedAt,
135
- 'PUBLIC_RUNTIME_ORIGINS_TIME_INVALID',
136
- );
137
- if (observedAt < issuedAt) {
138
- throw new TypeError('PUBLIC_RUNTIME_ORIGINS_TIME_INVALID');
139
- }
140
- if (observedAt >= expiresAt) {
141
- throw new TypeError('PUBLIC_RUNTIME_ORIGINS_EXPIRED');
142
- }
143
- }