@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.
- package/README.md +164 -56
- package/THIRD_PARTY_LICENSES.json +79 -106
- package/diagnostics/diagnostic-map.json +443 -405
- package/diagnostics/diagnostic-map.public-runtime-origins.json +5 -0
- package/docs/catalogs/schema-inventory.json +33 -54
- package/examples/valid/adapter-capability/rules.json +11 -0
- package/examples/valid/artifact-manifest/rules.json +156 -177
- package/examples/valid/build-input/rules.json +67 -63
- package/examples/valid/build-provenance/rules.json +151 -172
- package/examples/valid/deployment-intent/rules.json +152 -148
- package/examples/valid/deployment-observation/rules.json +24 -20
- package/examples/valid/deployment-receipt/rules.json +152 -148
- package/examples/valid/navigation/rules.json +2 -4
- package/examples/valid/theme-contract/rules.json +4 -1
- package/fixtures/boundary/adapter-capability/rules.json +16 -0
- package/fixtures/boundary/artifact-manifest/rules.json +195 -202
- package/fixtures/boundary/build-input/rules.json +99 -86
- package/fixtures/boundary/build-provenance/rules.json +193 -202
- package/fixtures/boundary/deployment-intent/rules.json +186 -140
- package/fixtures/boundary/deployment-observation/rules.json +68 -18
- package/fixtures/boundary/deployment-receipt/rules.json +186 -140
- package/fixtures/boundary/navigation/rules.json +2 -17
- package/fixtures/boundary/theme-contract/rules.json +34 -0
- package/fixtures/invalid/adapter-capability/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
- package/fixtures/invalid/adapter-capability/UTF8_BYTE_LENGTH_INVALID/cases.json +11 -0
- package/fixtures/invalid/artifact-manifest/ASCII_BYTE_LENGTH_INVALID/cases.json +13 -0
- package/fixtures/invalid/artifact-manifest/INTEGER_RANGE_INVALID/cases.json +24 -0
- package/fixtures/invalid/artifact-manifest/REQUEST_FIELD_UNKNOWN/cases.json +19 -19
- package/fixtures/invalid/artifact-manifest/SCHEMA_CONSTANT_INVALID/cases.json +48 -48
- package/fixtures/invalid/artifact-manifest/SCHEMA_ENUM_INVALID/cases.json +11 -11
- package/fixtures/invalid/artifact-manifest/SCHEMA_FORMAT_INVALID/cases.json +0 -9
- package/fixtures/invalid/artifact-manifest/SCHEMA_NEGATED_RULE_MATCHED/cases.json +0 -11
- package/fixtures/invalid/artifact-manifest/SCHEMA_PATTERN_INVALID/cases.json +0 -22
- package/fixtures/invalid/artifact-manifest/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1105 -1105
- package/fixtures/invalid/artifact-manifest/SCHEMA_STRING_TOO_LONG/cases.json +4 -6
- package/fixtures/invalid/artifact-manifest/SCHEMA_STRING_TOO_SHORT/cases.json +9 -11
- package/fixtures/invalid/artifact-manifest/SCHEMA_TYPE_INVALID/cases.json +22 -31
- package/fixtures/invalid/artifact-manifest/UTF8_BYTE_LENGTH_INVALID/cases.json +0 -11
- package/fixtures/invalid/build-input/INTEGER_RANGE_INVALID/cases.json +13 -0
- package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +32 -32
- package/fixtures/invalid/build-input/SCHEMA_CONSTANT_INVALID/cases.json +11 -11
- package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +11 -11
- package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +78 -78
- package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +51 -18
- package/fixtures/invalid/build-provenance/ASCII_BYTE_LENGTH_INVALID/cases.json +13 -0
- package/fixtures/invalid/build-provenance/INTEGER_RANGE_INVALID/cases.json +22 -0
- package/fixtures/invalid/build-provenance/REQUEST_FIELD_UNKNOWN/cases.json +56 -56
- package/fixtures/invalid/build-provenance/SCHEMA_CONSTANT_INVALID/cases.json +37 -37
- package/fixtures/invalid/build-provenance/SCHEMA_ENUM_INVALID/cases.json +11 -11
- package/fixtures/invalid/build-provenance/SCHEMA_FORMAT_INVALID/cases.json +0 -9
- package/fixtures/invalid/build-provenance/SCHEMA_NEGATED_RULE_MATCHED/cases.json +0 -11
- package/fixtures/invalid/build-provenance/SCHEMA_PATTERN_INVALID/cases.json +0 -22
- package/fixtures/invalid/build-provenance/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +927 -927
- package/fixtures/invalid/build-provenance/SCHEMA_STRING_TOO_LONG/cases.json +9 -11
- package/fixtures/invalid/build-provenance/SCHEMA_STRING_TOO_SHORT/cases.json +8 -10
- package/fixtures/invalid/build-provenance/SCHEMA_TYPE_INVALID/cases.json +20 -25
- package/fixtures/invalid/build-provenance/UTF8_BYTE_LENGTH_INVALID/cases.json +0 -11
- package/fixtures/invalid/deployment-intent/INTEGER_RANGE_INVALID/cases.json +24 -0
- package/fixtures/invalid/deployment-intent/REQUEST_FIELD_UNKNOWN/cases.json +30 -30
- package/fixtures/invalid/deployment-intent/SCHEMA_CONSTANT_INVALID/cases.json +41 -41
- package/fixtures/invalid/deployment-intent/SCHEMA_ENUM_INVALID/cases.json +11 -11
- package/fixtures/invalid/deployment-intent/SCHEMA_FORMAT_INVALID/cases.json +0 -9
- package/fixtures/invalid/deployment-intent/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1209 -1209
- package/fixtures/invalid/deployment-intent/SCHEMA_STRING_TOO_LONG/cases.json +9 -0
- package/fixtures/invalid/deployment-intent/SCHEMA_STRING_TOO_SHORT/cases.json +9 -0
- package/fixtures/invalid/deployment-intent/SCHEMA_TYPE_INVALID/cases.json +22 -20
- package/fixtures/invalid/deployment-observation/INTEGER_RANGE_INVALID/cases.json +24 -0
- package/fixtures/invalid/deployment-observation/REQUEST_FIELD_UNKNOWN/cases.json +16 -16
- package/fixtures/invalid/deployment-observation/SCHEMA_FORMAT_INVALID/cases.json +0 -9
- package/fixtures/invalid/deployment-observation/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +39 -39
- package/fixtures/invalid/deployment-observation/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
- package/fixtures/invalid/deployment-observation/SCHEMA_STRING_TOO_SHORT/cases.json +11 -0
- package/fixtures/invalid/deployment-observation/SCHEMA_TYPE_INVALID/cases.json +11 -11
- package/fixtures/invalid/deployment-receipt/INTEGER_RANGE_INVALID/cases.json +24 -0
- package/fixtures/invalid/deployment-receipt/REQUEST_FIELD_UNKNOWN/cases.json +70 -70
- package/fixtures/invalid/deployment-receipt/SCHEMA_CONSTANT_INVALID/cases.json +36 -36
- package/fixtures/invalid/deployment-receipt/SCHEMA_ENUM_INVALID/cases.json +11 -11
- package/fixtures/invalid/deployment-receipt/SCHEMA_FORMAT_INVALID/cases.json +0 -9
- package/fixtures/invalid/deployment-receipt/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1304 -1304
- package/fixtures/invalid/deployment-receipt/SCHEMA_STRING_TOO_LONG/cases.json +9 -0
- package/fixtures/invalid/deployment-receipt/SCHEMA_STRING_TOO_SHORT/cases.json +9 -0
- package/fixtures/invalid/deployment-receipt/SCHEMA_TYPE_INVALID/cases.json +22 -20
- package/fixtures/invalid/navigation/SCHEMA_ARRAY_TOO_LONG/cases.json +0 -15
- package/fixtures/invalid/navigation/SCHEMA_CONSTANT_INVALID/cases.json +11 -0
- package/fixtures/invalid/navigation/SCHEMA_TYPE_INVALID/cases.json +0 -11
- package/fixtures/invalid/theme-contract/INTEGER_RANGE_INVALID/cases.json +11 -0
- package/fixtures/invalid/theme-contract/SCHEMA_FORMAT_INVALID/cases.json +0 -9
- package/fixtures/invalid/theme-contract/SCHEMA_STRING_TOO_LONG/cases.json +9 -0
- package/fixtures/invalid/theme-contract/SCHEMA_STRING_TOO_SHORT/cases.json +9 -0
- package/fixtures/manifest.json +3217 -2930
- package/fixtures/unknown-field/adapter-capability/rules.json +2 -0
- package/fixtures/unknown-field/artifact-manifest/rules.json +111 -114
- package/fixtures/unknown-field/build-input/rules.json +36 -32
- package/fixtures/unknown-field/build-provenance/rules.json +111 -114
- package/fixtures/unknown-field/deployment-intent/rules.json +109 -105
- package/fixtures/unknown-field/deployment-observation/rules.json +24 -20
- package/fixtures/unknown-field/deployment-receipt/rules.json +109 -105
- package/fixtures/unknown-field/navigation/rules.json +1 -3
- package/fixtures/unknown-field/theme-contract/rules.json +3 -0
- package/generated/browser/runtime-origins-validator-core.d.mts +10 -0
- package/generated/browser/runtime-origins-validator-core.mjs +35 -0
- package/generated/browser/validator-core.d.mts +10 -0
- package/generated/browser/validator-core.mjs +80 -0
- package/generated/typescript/contracts/artifact-manifest.d.ts +49 -48
- package/generated/typescript/contracts/build-input.d.ts +15 -15
- package/generated/typescript/contracts/build-provenance.d.ts +51 -50
- package/generated/typescript/contracts/deployment-intent.d.ts +6 -6
- package/generated/typescript/contracts/deployment-observation.d.ts +1 -1
- package/generated/typescript/contracts/deployment-receipt.d.ts +5 -5
- package/generated/typescript/contracts/navigation.d.ts +1 -1
- package/generated/typescript/index.js +11 -37
- package/openapi/http-catalog.json +2 -2
- package/openapi/openapi.yaml +18 -10
- package/package.json +19 -16
- package/sbom.cdx.json +23 -23
- package/schemas/adapter-capability.schema.json +5 -1
- package/schemas/appearance.schema.json +1 -1
- package/schemas/artifact-manifest.schema.json +15 -18
- package/schemas/build-input.schema.json +18 -11
- package/schemas/build-provenance.schema.json +15 -18
- package/schemas/deployment-intent.schema.json +13 -8
- package/schemas/deployment-observation.schema.json +10 -5
- package/schemas/deployment-receipt.schema.json +12 -7
- package/schemas/navigation.schema.json +5 -26
- package/schemas/theme-contract.schema.json +4 -2
- package/src/index.js +2 -2
- package/src/internal/browser-schema-validator.js +43 -0
- package/src/internal/format-validators.js +1 -1
- package/src/internal/gala-keywords.js +148 -0
- package/src/internal/validator-core.js +244 -108
- package/src/runtime-origins.js +18 -18
- package/types/index.d.ts +2 -2
- package/types/internal/browser-schema-validator.d.ts +16 -0
- package/types/internal/format-validators.d.ts +1 -1
- package/types/internal/gala-keywords.d.ts +68 -0
- package/types/internal/validator-core.d.ts +80 -1
- package/compatibility/compatibility.json +0 -594
- package/generated/java/src/main/java/io/gala/schema/generated/GalaSchemaRegistry.java +0 -67
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityAdapterConfigurationCapabilities.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityAdapterIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityCapabilityDecision.java +0 -62
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityCredentialEgressProfile.java +0 -35
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityDestinationIdentity.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityDestinationProviderCoordinates.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityDocument.java +0 -52
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityFilesystemProviderLimits.java +0 -32
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityGithubActionsOidcOriginCatalog.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityHttpProviderLimits.java +0 -72
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemAllowlist.java +0 -21
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemAllowlistEntry.java +0 -28
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemCapabilityEvidence.java +0 -42
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemControlPublication.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemControlRow.java +0 -44
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemFailureEvidence.java +0 -40
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemObservationEvidence.java +0 -40
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemPlatform.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemProbeSummary.java +0 -32
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemProbeTranscript.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemReplacement.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemSurfaceIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityManagedExecutionBudget.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityPagesOidcCredentialEgress.java +0 -30
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderCallClassBinding.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderCredentialEgress.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderCredentialHeader.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderDerivedHeader.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderFixedHeader.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderRequestTemplate.java +0 -39
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneBinding.java +0 -32
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneRequest.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneRequestCatalog.java +0 -31
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneResponseCatalog.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesWebsiteConfiguration.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceColorMode.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceDocument.java +0 -37
- package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceExtensionMap.java +0 -15
- package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceSemanticTokens.java +0 -15
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestActionPinEvidence.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestArtifactLicenseConclusion.java +0 -21
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestAssertedWorkload.java +0 -44
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestBuildSandboxEvidence.java +0 -38
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestDocument.java +0 -73
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestFinding.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestAsset.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestCompositionIdentity.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestExcludedInput.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestIncludedSource.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestRedirect.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestRoute.java +0 -28
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestSourceIdentity.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestValidationEvidence.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestMeasurement.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestPackageIdentity.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestRenderPolicyIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestReproducibleBuildRecord.java +0 -56
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestWorkflowCarrierEvidence.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestWorkflowFileEvidence.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorDocument.java +0 -33
- package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorExtensionMap.java +0 -15
- package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorLocalizedAuthor.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorSocialLink.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputAdapterIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputAppearanceNormalized.java +0 -33
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputAuthorNormalized.java +0 -31
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputBuildPackages.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputColorMode.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputContentBuildRecord.java +0 -33
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputContentFrontmatterNormalized.java +0 -44
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputDestinationCapabilityProfile.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputDocument.java +0 -51
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputLocalizedAuthor.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputModuleBuildSelection.java +0 -15
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputNavigationItem.java +0 -23
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputNavigationLeaf.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputNavigationNormalized.java +0 -21
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputPackageIdentity.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputPublicationNormalized.java +0 -39
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputRenderPolicyIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputRenderableBody.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputRepositorySnapshot.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputResolvedFile.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputResolvedMedia.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputSemanticTokens.java +0 -15
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputSocialLink.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceActionPinEvidence.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceArtifactLicenseConclusion.java +0 -21
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceAssertedWorkload.java +0 -44
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceBuildSandboxEvidence.java +0 -38
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceDocument.java +0 -69
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceFinding.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestAsset.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestCompositionIdentity.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestExcludedInput.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestIncludedSource.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestRedirect.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestRoute.java +0 -28
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestSourceIdentity.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestValidationEvidence.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceMeasurement.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenancePackageIdentity.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceRenderPolicyIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceReproducibleBuildRecord.java +0 -56
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceWorkflowCarrierEvidence.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceWorkflowFileEvidence.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/ContentFrontmatterDocument.java +0 -50
- package/generated/java/src/main/java/io/gala/schema/generated/model/ContentFrontmatterExtensionMap.java +0 -15
- package/generated/java/src/main/java/io/gala/schema/generated/model/ContentFrontmatterMediaRef.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationBasis.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationDetectionObservation.java +0 -33
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationDetectionPlan.java +0 -44
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationDetectionProbe.java +0 -52
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentAdapterIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentCancellationFinalizationEvidence.java +0 -41
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDeadlineFinalizationEvidence.java +0 -39
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDeadlineFinalizationStream.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDeploymentPolicyDecision.java +0 -75
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDestinationIdentity.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDestinationMutationAuthority.java +0 -36
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDestinationProviderCoordinates.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDocument.java +0 -136
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentExpectedRedirectHop.java +0 -23
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentObservedVerificationHeader.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPackageIdentity.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesInterveningRunAttempt.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesReconciliationCommand.java +0 -48
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesReconciliationRecovery.java +0 -41
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesRunAttemptGapProof.java +0 -27
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPublicGenerationMarkerPayload.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPublicProbeObservation.java +0 -54
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentRecognizedPriorRouteContract.java +0 -30
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentRenderPolicyIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentReproducibleBuildRecord.java +0 -56
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentSupersessionFinalizationEvidence.java +0 -45
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentVerificationHeaderExpectation.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentVerificationPlanTarget.java +0 -52
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationActivationDetectionObservation.java +0 -33
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationActivationDetectionProbe.java +0 -52
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationAdapterIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationCancellationFinalizationEvidence.java +0 -41
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDeadlineFinalizationEvidence.java +0 -39
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDeadlineFinalizationStream.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDestinationIdentity.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDestinationProviderCoordinates.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDocument.java +0 -57
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationExpectedRedirectHop.java +0 -23
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationObservedVerificationHeader.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationPackageIdentity.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationPublicProbeObservation.java +0 -54
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationRecognizedPriorRouteContract.java +0 -30
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationRenderPolicyIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationSupersessionFinalizationEvidence.java +0 -45
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationVerificationHeaderExpectation.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationVerificationPlanTarget.java +0 -52
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationBasis.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationDetectionObservation.java +0 -33
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationDetectionPlan.java +0 -44
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationDetectionProbe.java +0 -52
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptAdapterIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptCancellationFinalizationEvidence.java +0 -41
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeadlineFinalizationEvidence.java +0 -39
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeadlineFinalizationStream.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentAttempt.java +0 -38
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentFailure.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentObservation.java +0 -53
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentPolicyDecision.java +0 -75
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageEvidence.java +0 -36
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageInput.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageObservationEvidenceReference.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageResult.java +0 -31
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDestinationIdentity.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDestinationMutationAuthority.java +0 -36
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDestinationProviderCoordinates.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDocument.java +0 -105
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptExpectedRedirectHop.java +0 -23
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptFinding.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptObservedVerificationHeader.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPackageIdentity.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesInterveningRunAttempt.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesReconciliationCommand.java +0 -48
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesReconciliationRecovery.java +0 -41
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesRunAttemptGapProof.java +0 -27
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPublicGenerationMarkerPayload.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPublicProbeObservation.java +0 -54
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptRecognizedPriorRouteContract.java +0 -30
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptRenderPolicyIdentity.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptReproducibleBuildRecord.java +0 -56
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptSupersessionFinalizationEvidence.java +0 -45
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptVerificationHeaderExpectation.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptVerificationPlanTarget.java +0 -52
- package/generated/java/src/main/java/io/gala/schema/generated/model/EventEnvelopeDocument.java +0 -46
- package/generated/java/src/main/java/io/gala/schema/generated/model/EventEnvelopeRegisteredEventPayload.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/LockDependencyEdge.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/LockDocument.java +0 -39
- package/generated/java/src/main/java/io/gala/schema/generated/model/LockLockedPackage.java +0 -26
- package/generated/java/src/main/java/io/gala/schema/generated/model/LockLockedTemplate.java +0 -28
- package/generated/java/src/main/java/io/gala/schema/generated/model/LockPackageIdentity.java +0 -22
- package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationDocument.java +0 -25
- package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationExtensionMap.java +0 -15
- package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationNavigationItem.java +0 -23
- package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationNavigationLeaf.java +0 -23
- package/generated/java/src/main/java/io/gala/schema/generated/model/ProblemDocument.java +0 -37
- package/generated/java/src/main/java/io/gala/schema/generated/model/ProblemFieldError.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/PublicGenerationMarkerDocument.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/PublicRuntimeOriginsDocument.java +0 -44
- package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationDocument.java +0 -41
- package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationExtensionMap.java +0 -15
- package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationFooterCard.java +0 -23
- package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationPublicationProfile.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationSocialLink.java +0 -19
- package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryAssetRoot.java +0 -16
- package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryContentRoot.java +0 -23
- package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryDocument.java +0 -41
- package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryExtensionMap.java +0 -15
- package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryGeneratedRoot.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/TemplateCompositionDocument.java +0 -18
- package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractDocument.java +0 -53
- package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractPassiveAsset.java +0 -24
- package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractThemeBudgets.java +0 -20
- package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractThemeToken.java +0 -22
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/adapter-capability.schema.json +0 -2689
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/appearance.schema.json +0 -226
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/artifact-manifest.schema.json +0 -1063
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/author.schema.json +0 -231
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/build-input.schema.json +0 -866
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/build-provenance.schema.json +0 -937
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/content-frontmatter.schema.json +0 -241
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/deployment-intent.schema.json +0 -2067
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/deployment-observation.schema.json +0 -1654
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/deployment-receipt.schema.json +0 -5546
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/event-envelope.schema.json +0 -195
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/lock.schema.json +0 -326
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/navigation.schema.json +0 -229
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/problem.schema.json +0 -194
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/public-generation-marker.schema.json +0 -142
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/public-runtime-origins.schema.json +0 -183
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/publication.schema.json +0 -248
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/repository.schema.json +0 -219
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/template-composition.schema.json +0 -133
- package/generated/java/src/main/resources/io/gala/schema/generated/schemas/theme-contract.schema.json +0 -850
- package/generated/typescript/validator-core.cjs +0 -17
- package/openapi/generator/spring.json +0 -22
- package/openapi/generator/typescript-fetch.json +0 -19
- package/openapi/source/authentication.yaml +0 -557
- package/openapi/source/callbacks.yaml +0 -332
- package/openapi/source/components.yaml +0 -5670
- package/openapi/source/github.yaml +0 -351
- package/openapi/source/internal.yaml +0 -71
- package/openapi/source/membership-invitations.yaml +0 -203
- package/openapi/source/organizations.yaml +0 -11144
- package/openapi/source/root.yaml +0 -20
- package/openapi/source/self.yaml +0 -1940
- package/openapi/source/session.yaml +0 -308
- package/openapi/source/workloads.yaml +0 -744
- package/src/internal/build-artifact-semantics.js +0 -4391
- package/src/internal/deployment-record-semantics.js +0 -7567
- package/src/internal/deployment-stage-semantics.js +0 -1207
- package/src/internal/http-problem-contract.js +0 -35
- package/src/internal/managed-evidence-journal.js +0 -160
- package/src/internal/public-runtime-origins.js +0 -143
- package/src/internal/theme-composition-semantics.js +0 -2441
- package/types/internal/build-artifact-semantics.d.ts +0 -77
- package/types/internal/deployment-record-semantics.d.ts +0 -313
- package/types/internal/deployment-stage-semantics.d.ts +0 -108
- package/types/internal/http-problem-contract.d.ts +0 -4
- package/types/internal/managed-evidence-journal.d.ts +0 -26
- package/types/internal/public-runtime-origins.d.ts +0 -22
- 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
|
-
}
|