@xemahq/contracts 0.75.0 → 0.76.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 +19 -0
- package/dist/.source-stamp.json +2 -2
- package/dist/agent-composition/lib/delegate-aperture.d.ts.map +1 -1
- package/dist/agent-composition/lib/delegate-aperture.js +10 -9
- package/dist/agent-composition/lib/delegate-aperture.js.map +1 -1
- package/dist/agent-session/lib/resolved-session-composition.d.ts.map +1 -1
- package/dist/agent-session/lib/resolved-session-composition.js +46 -45
- package/dist/agent-session/lib/resolved-session-composition.js.map +1 -1
- package/dist/authorization-module/index.d.ts +1 -0
- package/dist/authorization-module/index.d.ts.map +1 -1
- package/dist/authorization-module/index.js +1 -0
- package/dist/authorization-module/index.js.map +1 -1
- package/dist/authorization-module/lib/authorization-composition-error.d.ts +2 -0
- package/dist/authorization-module/lib/authorization-composition-error.d.ts.map +1 -1
- package/dist/authorization-module/lib/authorization-composition-error.js +2 -0
- package/dist/authorization-module/lib/authorization-composition-error.js.map +1 -1
- package/dist/authorization-module/lib/authorization-interface-requirements.d.ts +21 -0
- package/dist/authorization-module/lib/authorization-interface-requirements.d.ts.map +1 -0
- package/dist/authorization-module/lib/authorization-interface-requirements.js +14 -0
- package/dist/authorization-module/lib/authorization-interface-requirements.js.map +1 -0
- package/dist/authorization-module/lib/platform-authorization-modules.d.ts +6 -2
- package/dist/authorization-module/lib/platform-authorization-modules.d.ts.map +1 -1
- package/dist/authorization-module/lib/platform-authorization-modules.js +39 -2
- package/dist/authorization-module/lib/platform-authorization-modules.js.map +1 -1
- package/dist/authorization-module/server/authorization-interface-conformance.d.ts +14 -0
- package/dist/authorization-module/server/authorization-interface-conformance.d.ts.map +1 -0
- package/dist/authorization-module/server/authorization-interface-conformance.js +97 -0
- package/dist/authorization-module/server/authorization-interface-conformance.js.map +1 -0
- package/dist/authorization-module/server/compose-authorization-base.d.ts.map +1 -1
- package/dist/authorization-module/server/compose-authorization-base.js +8 -3
- package/dist/authorization-module/server/compose-authorization-base.js.map +1 -1
- package/dist/authzen/lib/durable-delegation-model.d.ts +8 -0
- package/dist/authzen/lib/durable-delegation-model.d.ts.map +1 -1
- package/dist/authzen/lib/durable-delegation-model.js +10 -1
- package/dist/authzen/lib/durable-delegation-model.js.map +1 -1
- package/dist/biome/lib/biome-generated-index.d.ts.map +1 -1
- package/dist/biome/lib/biome-generated-index.js +2 -1
- package/dist/biome/lib/biome-generated-index.js.map +1 -1
- package/dist/biome/lib/biome-manifest.d.ts.map +1 -1
- package/dist/biome/lib/biome-manifest.js +2 -1
- package/dist/biome/lib/biome-manifest.js.map +1 -1
- package/dist/biome-dependency/lib/biome-dependency-contract.d.ts.map +1 -1
- package/dist/biome-dependency/lib/biome-dependency-contract.js +2 -1
- package/dist/biome-dependency/lib/biome-dependency-contract.js.map +1 -1
- package/dist/biome-mount/lib/adapter-host-mount.js +1 -1
- package/dist/biome-mount/lib/adapter-host-mount.js.map +1 -1
- package/dist/capability/lib/capability-aperture.d.ts.map +1 -1
- package/dist/capability/lib/capability-aperture.js.map +1 -1
- package/dist/capability/lib/capability-ref-pattern.d.ts.map +1 -1
- package/dist/capability/lib/capability-ref-pattern.js.map +1 -1
- package/dist/capability/lib/required-resource-role-binding.d.ts.map +1 -1
- package/dist/capability/lib/required-resource-role-binding.js.map +1 -1
- package/dist/content-address/lib/content-address.d.ts +2 -0
- package/dist/content-address/lib/content-address.d.ts.map +1 -1
- package/dist/content-address/lib/content-address.js +4 -2
- package/dist/content-address/lib/content-address.js.map +1 -1
- package/dist/contribution/lib/contribution-kind-descriptor.d.ts.map +1 -1
- package/dist/contribution/lib/contribution-kind-descriptor.js.map +1 -1
- package/dist/deployment/lib/resolved-deployment.d.ts +3 -0
- package/dist/deployment/lib/resolved-deployment.d.ts.map +1 -1
- package/dist/deployment/lib/resolved-deployment.js +11 -6
- package/dist/deployment/lib/resolved-deployment.js.map +1 -1
- package/dist/distribution/index.d.ts +3 -1
- package/dist/distribution/index.d.ts.map +1 -1
- package/dist/distribution/index.js +2 -0
- package/dist/distribution/index.js.map +1 -1
- package/dist/distribution/lib/biome-source.d.ts +6 -0
- package/dist/distribution/lib/biome-source.d.ts.map +1 -1
- package/dist/distribution/lib/biome-source.js +23 -2
- package/dist/distribution/lib/biome-source.js.map +1 -1
- package/dist/distribution/lib/customer-edition-definition.d.ts +45 -0
- package/dist/distribution/lib/customer-edition-definition.d.ts.map +1 -0
- package/dist/distribution/lib/customer-edition-definition.js +110 -0
- package/dist/distribution/lib/customer-edition-definition.js.map +1 -0
- package/dist/distribution/lib/delivered-biome.d.ts +11 -0
- package/dist/distribution/lib/delivered-biome.d.ts.map +1 -0
- package/dist/distribution/lib/delivered-biome.js +24 -0
- package/dist/distribution/lib/delivered-biome.js.map +1 -0
- package/dist/distribution/lib/distribution-lock.d.ts +36 -42
- package/dist/distribution/lib/distribution-lock.d.ts.map +1 -1
- package/dist/distribution/lib/distribution-lock.js +125 -102
- package/dist/distribution/lib/distribution-lock.js.map +1 -1
- package/dist/distribution/lib/distribution-selector.d.ts +7 -0
- package/dist/distribution/lib/distribution-selector.d.ts.map +1 -1
- package/dist/distribution/lib/distribution-selector.js +10 -9
- package/dist/distribution/lib/distribution-selector.js.map +1 -1
- package/dist/distribution/lib/distribution.d.ts +0 -1
- package/dist/distribution/lib/distribution.d.ts.map +1 -1
- package/dist/distribution/lib/distribution.js +1 -2
- package/dist/distribution/lib/distribution.js.map +1 -1
- package/dist/distribution/lib/image-lock.d.ts +11 -11
- package/dist/distribution/lib/image-lock.d.ts.map +1 -1
- package/dist/distribution/lib/image-lock.js +5 -6
- package/dist/distribution/lib/image-lock.js.map +1 -1
- package/dist/distribution/lib/image-producer-evidence.d.ts +69 -55
- package/dist/distribution/lib/image-producer-evidence.d.ts.map +1 -1
- package/dist/distribution/lib/image-producer-evidence.js +71 -47
- package/dist/distribution/lib/image-producer-evidence.js.map +1 -1
- package/dist/distribution/lib/kernel-contract-authority.d.ts +53 -3
- package/dist/distribution/lib/kernel-contract-authority.d.ts.map +1 -1
- package/dist/distribution/lib/kernel-contract-authority.js +120 -26
- package/dist/distribution/lib/kernel-contract-authority.js.map +1 -1
- package/dist/distribution/lib/kernel-contract-source-paths.d.ts +2 -0
- package/dist/distribution/lib/kernel-contract-source-paths.d.ts.map +1 -0
- package/dist/distribution/lib/kernel-contract-source-paths.js +390 -0
- package/dist/distribution/lib/kernel-contract-source-paths.js.map +1 -0
- package/dist/distribution/lib/nexus-endpoint-specs.d.ts +2 -5
- package/dist/distribution/lib/nexus-endpoint-specs.d.ts.map +1 -1
- package/dist/distribution/lib/nexus-endpoint-specs.js +7 -7
- package/dist/distribution/lib/nexus-endpoint-specs.js.map +1 -1
- package/dist/distribution/lib/platform-service-source-index.d.ts.map +1 -1
- package/dist/distribution/lib/platform-service-source-index.js +2 -2
- package/dist/distribution/lib/platform-service-source-index.js.map +1 -1
- package/dist/distribution/lib/runtime-image-source-index.d.ts +3 -3
- package/dist/distribution/lib/runtime-image-source-index.d.ts.map +1 -1
- package/dist/distribution/lib/runtime-image-source-index.js +1 -1
- package/dist/distribution/lib/runtime-image-source-index.js.map +1 -1
- package/dist/distribution/lib/verified-resolved-deployment.d.ts +8 -1
- package/dist/distribution/lib/verified-resolved-deployment.d.ts.map +1 -1
- package/dist/distribution/lib/verify-resolved-deployment.d.ts +3 -8
- package/dist/distribution/lib/verify-resolved-deployment.d.ts.map +1 -1
- package/dist/distribution/lib/verify-resolved-deployment.js +11 -7
- package/dist/distribution/lib/verify-resolved-deployment.js.map +1 -1
- package/dist/edition-protocol/edition-contract.schema.json +1 -0
- package/dist/edition-protocol/edition-protocol.json +1 -0
- package/dist/edition-protocol/index.d.ts +2 -0
- package/dist/edition-protocol/index.d.ts.map +1 -0
- package/dist/edition-protocol/index.js +18 -0
- package/dist/edition-protocol/index.js.map +1 -0
- package/dist/edition-protocol/lib/edition-protocol.d.ts +9 -0
- package/dist/edition-protocol/lib/edition-protocol.d.ts.map +1 -0
- package/dist/edition-protocol/lib/edition-protocol.js +19 -0
- package/dist/edition-protocol/lib/edition-protocol.js.map +1 -0
- package/dist/http/lib/problem-definition.js.map +1 -1
- package/dist/resolved-deployment-fixture/index.d.ts +2 -0
- package/dist/resolved-deployment-fixture/index.d.ts.map +1 -0
- package/dist/resolved-deployment-fixture/index.js +18 -0
- package/dist/resolved-deployment-fixture/index.js.map +1 -0
- package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.d.ts +14 -0
- package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.d.ts.map +1 -0
- package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.js +114 -0
- package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.js.map +1 -0
- package/dist/resource-role/lib/resource-role-binding.d.ts.map +1 -1
- package/dist/resource-role/lib/resource-role-binding.js.map +1 -1
- package/dist/resource-role/lib/resource-role-contribution.d.ts.map +1 -1
- package/dist/resource-role/lib/resource-role-contribution.js.map +1 -1
- package/dist/resource-role/lib/resource-role-default-binding.d.ts.map +1 -1
- package/dist/resource-role/lib/resource-role-default-binding.js.map +1 -1
- package/package.json +4 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DistributionImageReplayStateSchema = exports.SigstoreOfflineTrustPolicySchema = exports.SigstoreIdentityPolicySchema = exports.DistributionImageEvidenceSetSchema = exports.SigstoreEvidenceDescriptorSchema = exports.ImageDeliveryEntitlementStatementSchema = exports.ImageDeliveryEntitlementPredicateSchema = exports.IMAGE_DELIVERY_ENTITLEMENT_PREDICATE_TYPE = exports.ImageDeliveryMode = exports.DistributionImagesStatementSchema = exports.DistributionImagesPredicateSchema = exports.DISTRIBUTION_IMAGES_PREDICATE_TYPE = exports.ImageProducerStatementSchema = exports.IMAGE_PRODUCER_PREDICATE_TYPE = exports.ImageProducerPredicateSchema = exports.ImageProducerRunSchema = exports.ImageProducerArtifactSchema = exports.ImageProducerBuildSchema = exports.ImageProducerSourceSchema = exports.ImageProducerPlatformSchema = exports.InTotoSubjectSchema = void 0;
|
|
3
|
+
exports.DistributionImageReplayStateSchema = exports.SigstoreOfflineTrustPolicySchema = exports.SigstoreIdentityPolicySchema = exports.EVIDENCE_CHANNEL_REFS = exports.EVIDENCE_CHANNELS = exports.DistributionImageEvidenceSetSchema = exports.SigstoreEvidenceDescriptorSchema = exports.ImageDeliveryEntitlementStatementSchema = exports.ImageDeliveryEntitlementPredicateSchema = exports.IMAGE_DELIVERY_ENTITLEMENT_PREDICATE_TYPE = exports.ImageDeliveryMode = exports.DistributionImagesStatementSchema = exports.DistributionImagesPredicateSchema = exports.DISTRIBUTION_IMAGES_PREDICATE_TYPE = exports.ImageProducerStatementSchema = exports.IMAGE_PRODUCER_PREDICATE_TYPE = exports.ImageProducerPredicateSchema = exports.ImageProducerRunSchema = exports.ImageProducerArtifactSchema = exports.ImageProducerBuildSchema = exports.ImageProducerSourceSchema = exports.ImageProducerPlatformSchema = exports.InTotoSubjectSchema = void 0;
|
|
4
4
|
exports.parseImageProducerStatement = parseImageProducerStatement;
|
|
5
5
|
exports.parseDistributionImagesStatement = parseDistributionImagesStatement;
|
|
6
6
|
exports.parseImageDeliveryEntitlementStatement = parseImageDeliveryEntitlementStatement;
|
|
@@ -10,8 +10,7 @@ exports.parseDistributionImageReplayState = parseDistributionImageReplayState;
|
|
|
10
10
|
const zod_1 = require("zod");
|
|
11
11
|
const image_lock_1 = require("./image-lock");
|
|
12
12
|
const kernel_contract_authority_1 = require("./kernel-contract-authority");
|
|
13
|
-
const
|
|
14
|
-
const Sha256DigestSchema = zod_1.z.string().regex(/^sha256:[a-f0-9]{64}$/);
|
|
13
|
+
const content_address_1 = require("../../content-address");
|
|
15
14
|
const GitCommitSchema = zod_1.z.string().regex(/^[a-f0-9]{40}$/);
|
|
16
15
|
const Rfc3339Schema = zod_1.z.string().datetime({ offset: true });
|
|
17
16
|
const CanonicalIdentifierSchema = zod_1.z
|
|
@@ -31,7 +30,7 @@ exports.InTotoSubjectSchema = zod_1.z
|
|
|
31
30
|
name: zod_1.z.string().min(1),
|
|
32
31
|
digest: zod_1.z
|
|
33
32
|
.object({
|
|
34
|
-
sha256: Sha256HexSchema,
|
|
33
|
+
sha256: content_address_1.Sha256HexSchema,
|
|
35
34
|
})
|
|
36
35
|
.strict(),
|
|
37
36
|
})
|
|
@@ -39,7 +38,7 @@ exports.InTotoSubjectSchema = zod_1.z
|
|
|
39
38
|
exports.ImageProducerPlatformSchema = zod_1.z
|
|
40
39
|
.object({
|
|
41
40
|
...image_lock_1.RuntimeImagePlatformSchema.shape,
|
|
42
|
-
manifestDigest:
|
|
41
|
+
manifestDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
43
42
|
})
|
|
44
43
|
.strict();
|
|
45
44
|
exports.ImageProducerSourceSchema = zod_1.z
|
|
@@ -50,39 +49,39 @@ exports.ImageProducerSourceSchema = zod_1.z
|
|
|
50
49
|
repo: CanonicalRelativePathSchema,
|
|
51
50
|
path: CanonicalRelativePathSchema,
|
|
52
51
|
sourceCommit: GitCommitSchema,
|
|
53
|
-
sourceManifestHash:
|
|
52
|
+
sourceManifestHash: kernel_contract_authority_1.BiomeSourceManifestHashSchema,
|
|
54
53
|
sourceHashAlgorithm: zod_1.z.union([
|
|
55
54
|
zod_1.z.literal(image_lock_1.ImageSourceHashAlgorithm.ImageInputV1),
|
|
56
55
|
zod_1.z.literal(image_lock_1.ImageSourceHashAlgorithm.ImageInputV2),
|
|
57
56
|
zod_1.z.literal(image_lock_1.ImageSourceHashAlgorithm.ImageInputV3),
|
|
58
57
|
]),
|
|
59
|
-
sourceTreeHash: Sha256HexSchema,
|
|
58
|
+
sourceTreeHash: content_address_1.Sha256HexSchema,
|
|
60
59
|
})
|
|
61
60
|
.strict();
|
|
62
61
|
exports.ImageProducerBuildSchema = zod_1.z
|
|
63
62
|
.object({
|
|
64
63
|
builderId: zod_1.z.string().url(),
|
|
65
64
|
buildType: zod_1.z.string().url(),
|
|
66
|
-
buildDefinitionDigest:
|
|
67
|
-
parametersDigest:
|
|
65
|
+
buildDefinitionDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
66
|
+
parametersDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
68
67
|
platforms: zod_1.z.array(exports.ImageProducerPlatformSchema).min(1).readonly(),
|
|
69
68
|
})
|
|
70
69
|
.strict();
|
|
71
70
|
exports.ImageProducerArtifactSchema = zod_1.z
|
|
72
71
|
.object({
|
|
73
72
|
imageRepository: zod_1.z.string().min(1),
|
|
74
|
-
manifestDigest:
|
|
73
|
+
manifestDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
75
74
|
manifestMediaType: zod_1.z.string().min(1),
|
|
76
75
|
sbom: zod_1.z
|
|
77
76
|
.object({
|
|
78
77
|
predicateType: zod_1.z.literal('https://spdx.dev/Document'),
|
|
79
|
-
digest:
|
|
78
|
+
digest: kernel_contract_authority_1.OciDigestSchema,
|
|
80
79
|
})
|
|
81
80
|
.strict(),
|
|
82
81
|
provenance: zod_1.z
|
|
83
82
|
.object({
|
|
84
83
|
predicateType: zod_1.z.literal('https://slsa.dev/provenance/v1'),
|
|
85
|
-
digest:
|
|
84
|
+
digest: kernel_contract_authority_1.OciDigestSchema,
|
|
86
85
|
})
|
|
87
86
|
.strict(),
|
|
88
87
|
})
|
|
@@ -121,8 +120,8 @@ exports.DistributionImagesPredicateSchema = zod_1.z
|
|
|
121
120
|
.object({
|
|
122
121
|
schemaVersion: zod_1.z.literal(1),
|
|
123
122
|
distributionId: CanonicalIdentifierSchema,
|
|
124
|
-
distributionInputHash: Sha256HexSchema,
|
|
125
|
-
normalizedImageLockDigest:
|
|
123
|
+
distributionInputHash: content_address_1.Sha256HexSchema,
|
|
124
|
+
normalizedImageLockDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
126
125
|
releaseSequence: zod_1.z.number().int().nonnegative(),
|
|
127
126
|
releaseSourceCommit: GitCommitSchema,
|
|
128
127
|
runId: CanonicalIdentifierSchema,
|
|
@@ -136,9 +135,9 @@ exports.DistributionImagesPredicateSchema = zod_1.z
|
|
|
136
135
|
subjectKind: zod_1.z.nativeEnum(image_lock_1.RuntimeImageSubjectKind),
|
|
137
136
|
subjectId: CanonicalIdentifierSchema,
|
|
138
137
|
imageRepository: zod_1.z.string().min(1),
|
|
139
|
-
manifestDigest:
|
|
140
|
-
producerStatementDigest:
|
|
141
|
-
producerBundleDigest:
|
|
138
|
+
manifestDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
139
|
+
producerStatementDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
140
|
+
producerBundleDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
142
141
|
})
|
|
143
142
|
.strict())
|
|
144
143
|
.min(1)
|
|
@@ -196,7 +195,7 @@ exports.ImageDeliveryEntitlementPredicateSchema = zod_1.z
|
|
|
196
195
|
schemaVersion: zod_1.z.literal(1),
|
|
197
196
|
customerId: CanonicalIdentifierSchema,
|
|
198
197
|
distributionId: CanonicalIdentifierSchema,
|
|
199
|
-
distributionStatementDigest:
|
|
198
|
+
distributionStatementDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
200
199
|
mode: zod_1.z.nativeEnum(ImageDeliveryMode),
|
|
201
200
|
targetRegistry: CanonicalRegistryAuthoritySchema.nullable(),
|
|
202
201
|
nonce: zod_1.z.string().regex(/^[a-zA-Z0-9_-]{22,128}$/),
|
|
@@ -234,9 +233,9 @@ exports.ImageDeliveryEntitlementStatementSchema = zod_1.z
|
|
|
234
233
|
exports.SigstoreEvidenceDescriptorSchema = zod_1.z
|
|
235
234
|
.object({
|
|
236
235
|
statementPath: CanonicalRelativePathSchema,
|
|
237
|
-
statementDigest:
|
|
236
|
+
statementDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
238
237
|
bundlePath: CanonicalRelativePathSchema,
|
|
239
|
-
bundleDigest:
|
|
238
|
+
bundleDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
240
239
|
bundleMediaType: zod_1.z.literal('application/vnd.dev.sigstore.bundle.v0.3+json'),
|
|
241
240
|
})
|
|
242
241
|
.strict();
|
|
@@ -298,9 +297,15 @@ exports.DistributionImageEvidenceSetSchema = zod_1.z
|
|
|
298
297
|
}
|
|
299
298
|
}
|
|
300
299
|
});
|
|
300
|
+
exports.EVIDENCE_CHANNELS = ['release', 'develop'];
|
|
301
|
+
exports.EVIDENCE_CHANNEL_REFS = {
|
|
302
|
+
release: 'refs/heads/main',
|
|
303
|
+
develop: 'refs/heads/develop',
|
|
304
|
+
};
|
|
301
305
|
exports.SigstoreIdentityPolicySchema = zod_1.z
|
|
302
306
|
.object({
|
|
303
307
|
policyId: CanonicalIdentifierSchema,
|
|
308
|
+
channel: zod_1.z.enum(exports.EVIDENCE_CHANNELS),
|
|
304
309
|
predicateTypes: zod_1.z.array(zod_1.z.string().url()).min(1).readonly(),
|
|
305
310
|
certificateIdentity: zod_1.z.string().url(),
|
|
306
311
|
oidcIssuer: zod_1.z.string().url(),
|
|
@@ -310,19 +315,18 @@ exports.SigstoreIdentityPolicySchema = zod_1.z
|
|
|
310
315
|
ref: zod_1.z.string().regex(/^refs\/(?:heads|tags)\/.+$/),
|
|
311
316
|
path: CanonicalRelativePathSchema,
|
|
312
317
|
})
|
|
313
|
-
.strict()
|
|
314
|
-
.optional(),
|
|
318
|
+
.strict(),
|
|
315
319
|
imageProducer: zod_1.z
|
|
316
320
|
.object({
|
|
317
321
|
builderIds: zod_1.z.array(zod_1.z.string().url()).min(1).readonly(),
|
|
318
322
|
buildTypes: zod_1.z.array(zod_1.z.string().url()).min(1).readonly(),
|
|
319
323
|
buildDefinitionDigests: zod_1.z
|
|
320
|
-
.array(
|
|
324
|
+
.array(kernel_contract_authority_1.OciDigestSchema)
|
|
321
325
|
.min(1)
|
|
322
326
|
.readonly()
|
|
323
327
|
.optional(),
|
|
324
328
|
parametersDigests: zod_1.z
|
|
325
|
-
.array(
|
|
329
|
+
.array(kernel_contract_authority_1.OciDigestSchema)
|
|
326
330
|
.min(1)
|
|
327
331
|
.readonly()
|
|
328
332
|
.optional(),
|
|
@@ -336,25 +340,31 @@ exports.SigstoreIdentityPolicySchema = zod_1.z
|
|
|
336
340
|
})
|
|
337
341
|
.strict()
|
|
338
342
|
.optional(),
|
|
339
|
-
|
|
343
|
+
imageRepositories: zod_1.z
|
|
340
344
|
.array(zod_1.z
|
|
341
345
|
.string()
|
|
342
|
-
.regex(/^[a-z0-9.-]+(?::[1-9]\d{0,4})?\/(?:[a-z0-9._-]+\/)
|
|
346
|
+
.regex(/^[a-z0-9.-]+(?::[1-9]\d{0,4})?\/(?:[a-z0-9._-]+\/)*[a-z0-9._-]+$/, 'must be an exact canonical lowercase OCI repository without a trailing "/"'))
|
|
343
347
|
.min(1)
|
|
344
|
-
.readonly()
|
|
348
|
+
.readonly()
|
|
349
|
+
.optional(),
|
|
345
350
|
})
|
|
346
351
|
.strict()
|
|
347
352
|
.superRefine((value, context) => {
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
353
|
+
const expectedIdentity = `https://github.com/${value.githubWorkflow.repository}/` +
|
|
354
|
+
`${value.githubWorkflow.path}@${value.githubWorkflow.ref}`;
|
|
355
|
+
if (value.certificateIdentity !== expectedIdentity) {
|
|
356
|
+
context.addIssue({
|
|
357
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
358
|
+
path: ['certificateIdentity'],
|
|
359
|
+
message: 'must exactly match githubWorkflow repository, path, and ref',
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
if (value.githubWorkflow.ref !== exports.EVIDENCE_CHANNEL_REFS[value.channel]) {
|
|
363
|
+
context.addIssue({
|
|
364
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
365
|
+
path: ['githubWorkflow', 'ref'],
|
|
366
|
+
message: `must equal ${exports.EVIDENCE_CHANNEL_REFS[value.channel]} for channel "${value.channel}"`,
|
|
367
|
+
});
|
|
358
368
|
}
|
|
359
369
|
const signsProducerEvidence = value.predicateTypes.includes(exports.IMAGE_PRODUCER_PREDICATE_TYPE);
|
|
360
370
|
if (signsProducerEvidence !== (value.imageProducer !== undefined)) {
|
|
@@ -364,25 +374,39 @@ exports.SigstoreIdentityPolicySchema = zod_1.z
|
|
|
364
374
|
message: 'is required exactly when predicateTypes includes image-producer evidence',
|
|
365
375
|
});
|
|
366
376
|
}
|
|
367
|
-
|
|
368
|
-
if ((signsProducerEvidence || signsDistributionCompleteness) &&
|
|
369
|
-
value.githubWorkflow === undefined) {
|
|
377
|
+
if (signsProducerEvidence !== (value.imageRepositories !== undefined)) {
|
|
370
378
|
context.addIssue({
|
|
371
379
|
code: zod_1.z.ZodIssueCode.custom,
|
|
372
|
-
path: ['
|
|
373
|
-
message: 'is required
|
|
380
|
+
path: ['imageRepositories'],
|
|
381
|
+
message: 'is required exactly when predicateTypes includes image-producer evidence',
|
|
374
382
|
});
|
|
375
383
|
}
|
|
384
|
+
if (value.imageRepositories !== undefined) {
|
|
385
|
+
const seen = new Map();
|
|
386
|
+
for (const [index, repository] of value.imageRepositories.entries()) {
|
|
387
|
+
const incumbent = seen.get(repository);
|
|
388
|
+
if (incumbent !== undefined) {
|
|
389
|
+
context.addIssue({
|
|
390
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
391
|
+
path: ['imageRepositories', index],
|
|
392
|
+
message: `duplicates imageRepositories[${incumbent}] "${repository}"`,
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
else {
|
|
396
|
+
seen.set(repository, index);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
376
400
|
});
|
|
377
401
|
exports.SigstoreOfflineTrustPolicySchema = zod_1.z
|
|
378
402
|
.object({
|
|
379
403
|
schemaVersion: zod_1.z.literal(1),
|
|
380
404
|
trustedRootPath: CanonicalRelativePathSchema,
|
|
381
|
-
trustedRootDigest:
|
|
405
|
+
trustedRootDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
382
406
|
cosignVersion: zod_1.z.string().regex(/^v\d+\.\d+\.\d+$/),
|
|
383
|
-
trustedCosignBinaryDigests: zod_1.z.array(
|
|
407
|
+
trustedCosignBinaryDigests: zod_1.z.array(kernel_contract_authority_1.OciDigestSchema).readonly(),
|
|
384
408
|
gitVersion: zod_1.z.string().regex(/^\d+\.\d+\.\d+$/),
|
|
385
|
-
trustedGitBinaryDigests: zod_1.z.array(
|
|
409
|
+
trustedGitBinaryDigests: zod_1.z.array(kernel_contract_authority_1.OciDigestSchema).readonly(),
|
|
386
410
|
maxProducerTtlSeconds: zod_1.z.number().int().positive(),
|
|
387
411
|
maxCompletenessTtlSeconds: zod_1.z.number().int().positive(),
|
|
388
412
|
maxEntitlementTtlSeconds: zod_1.z.number().int().positive(),
|
|
@@ -409,9 +433,9 @@ exports.DistributionImageReplayStateSchema = zod_1.z
|
|
|
409
433
|
.object({
|
|
410
434
|
schemaVersion: zod_1.z.literal(1),
|
|
411
435
|
distributionId: CanonicalIdentifierSchema,
|
|
412
|
-
trustPolicyDigest:
|
|
436
|
+
trustPolicyDigest: kernel_contract_authority_1.OciDigestSchema,
|
|
413
437
|
lastReleaseSequence: zod_1.z.number().int().min(-1),
|
|
414
|
-
lastCompletenessStatementDigest:
|
|
438
|
+
lastCompletenessStatementDigest: kernel_contract_authority_1.OciDigestSchema.nullable(),
|
|
415
439
|
lastCompletenessNonce: zod_1.z
|
|
416
440
|
.string()
|
|
417
441
|
.regex(/^[a-zA-Z0-9_-]{22,128}$/)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-producer-evidence.js","sourceRoot":"","sources":["../../../src/distribution/lib/image-producer-evidence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"image-producer-evidence.js","sourceRoot":"","sources":["../../../src/distribution/lib/image-producer-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { z } from
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { XEMA_KERNEL_CONTRACT_SOURCE_PATHS } from "./kernel-contract-source-paths";
|
|
2
3
|
export declare const XEMA_KERNEL_CONTRACT_REPOSITORY_URL: "https://github.com/xema-dev/xema-kernel-contracts.git";
|
|
3
|
-
export
|
|
4
|
+
export { XEMA_KERNEL_CONTRACT_SOURCE_PATHS };
|
|
4
5
|
export declare const XEMA_KERNEL_CONTRACT_SOURCE_MODE: "100644";
|
|
5
6
|
export declare const XEMA_KERNEL_CONTRACT_AUTHORITY_GENERATOR: "xema-distributions/build-runtime-image-source-index.mjs@v1";
|
|
6
7
|
export declare const XEMA_KERNEL_CONTRACT_AUTHORITY_DIGEST_DOMAIN: "xema.kernel-contract-authority.digest";
|
|
@@ -13,12 +14,61 @@ export interface KernelContractAuthorityDigestSource {
|
|
|
13
14
|
readonly mode: string;
|
|
14
15
|
readonly blob: Uint8Array;
|
|
15
16
|
}
|
|
17
|
+
declare const BIOME_SOURCE_MANIFEST_HASH_BRAND: unique symbol;
|
|
18
|
+
declare const OCI_DIGEST_BRAND: unique symbol;
|
|
19
|
+
declare const BIOME_CONTENT_HASH_BRAND: unique symbol;
|
|
20
|
+
declare const GIT_TREE_ID_BRAND: unique symbol;
|
|
21
|
+
export declare const BIOME_SOURCE_MANIFEST_HASH_PATTERN: RegExp;
|
|
22
|
+
export declare const BIOME_CONTENT_HASH_PATTERN: RegExp;
|
|
23
|
+
export declare const GIT_TREE_ID_PATTERN: RegExp;
|
|
24
|
+
export declare const OCI_DIGEST_PATTERN: RegExp;
|
|
25
|
+
export type BiomeSourceManifestHash = string & {
|
|
26
|
+
readonly [BIOME_SOURCE_MANIFEST_HASH_BRAND]: true;
|
|
27
|
+
};
|
|
28
|
+
export type OciDigest = string & {
|
|
29
|
+
readonly [OCI_DIGEST_BRAND]: true;
|
|
30
|
+
};
|
|
31
|
+
export type BiomeContentHash = string & {
|
|
32
|
+
readonly [BIOME_CONTENT_HASH_BRAND]: true;
|
|
33
|
+
};
|
|
34
|
+
export type GitTreeId = string & {
|
|
35
|
+
readonly [GIT_TREE_ID_BRAND]: true;
|
|
36
|
+
};
|
|
37
|
+
export declare enum DigestKind {
|
|
38
|
+
BiomeSourceManifestHash = "biome-source-manifest-hash",
|
|
39
|
+
OciDigest = "oci-digest",
|
|
40
|
+
BiomeContentHash = "biome-content-hash",
|
|
41
|
+
GitTreeId = "git-tree-id"
|
|
42
|
+
}
|
|
43
|
+
export declare class MalformedDigestError extends Error {
|
|
44
|
+
readonly kind: DigestKind;
|
|
45
|
+
constructor(kind: DigestKind, value: unknown, expected: string);
|
|
46
|
+
}
|
|
47
|
+
export declare function parseBiomeSourceManifestHash(value: unknown): BiomeSourceManifestHash;
|
|
48
|
+
export declare function parseOciDigest(value: unknown): OciDigest;
|
|
49
|
+
export declare function parseBiomeContentHash(value: unknown): BiomeContentHash;
|
|
50
|
+
export declare function parseGitTreeId(value: unknown): GitTreeId;
|
|
51
|
+
export declare class DuplicateImageSubjectDigestError extends Error {
|
|
52
|
+
readonly digest: string;
|
|
53
|
+
constructor(digest: string);
|
|
54
|
+
}
|
|
55
|
+
export interface BiomeContentHashInput {
|
|
56
|
+
readonly sourceManifestHash: BiomeSourceManifestHash;
|
|
57
|
+
readonly sourceTreeId: GitTreeId;
|
|
58
|
+
readonly imageSubjectDigests: readonly OciDigest[];
|
|
59
|
+
}
|
|
60
|
+
export declare const BIOME_CONTENT_HASH_PREIMAGE_TYPE: "xema.biome-content/v1";
|
|
61
|
+
export declare function computeBiomeContentHash(input: BiomeContentHashInput): Promise<BiomeContentHash>;
|
|
62
|
+
export declare function computeBiomeSourceManifestHash(rawManifest: unknown): Promise<BiomeSourceManifestHash>;
|
|
63
|
+
export declare const BiomeSourceManifestHashSchema: z.ZodPipe<z.ZodString, z.ZodTransform<BiomeSourceManifestHash, string>>;
|
|
64
|
+
export declare const BiomeContentHashSchema: z.ZodPipe<z.ZodString, z.ZodTransform<BiomeContentHash, string>>;
|
|
65
|
+
export declare const OciDigestSchema: z.ZodPipe<z.ZodString, z.ZodTransform<OciDigest, string>>;
|
|
16
66
|
export declare const KernelContractAuthoritySchema: z.ZodObject<{
|
|
17
67
|
schemaVersion: z.ZodLiteral<1>;
|
|
18
68
|
generatorIdentity: z.ZodLiteral<"xema-distributions/build-runtime-image-source-index.mjs@v1">;
|
|
19
69
|
repositoryUrl: z.ZodLiteral<"https://github.com/xema-dev/xema-kernel-contracts.git">;
|
|
20
70
|
sourceCommit: z.ZodString;
|
|
21
|
-
sourcePaths: z.ZodReadonly<z.
|
|
71
|
+
sourcePaths: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
22
72
|
contentHashAlgorithm: z.ZodLiteral<KernelContractContentHashAlgorithm>;
|
|
23
73
|
contentDigest: z.ZodString;
|
|
24
74
|
}, z.core.$strict>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-contract-authority.d.ts","sourceRoot":"","sources":["../../../src/distribution/lib/kernel-contract-authority.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel-contract-authority.d.ts","sourceRoot":"","sources":["../../../src/distribution/lib/kernel-contract-authority.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,123 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KernelContractAuthoritySchema = exports.KernelContractContentHashAlgorithm = exports.XEMA_KERNEL_CONTRACT_AUTHORITY_DIGEST_VERSION = exports.XEMA_KERNEL_CONTRACT_AUTHORITY_DIGEST_DOMAIN = exports.XEMA_KERNEL_CONTRACT_AUTHORITY_GENERATOR = exports.XEMA_KERNEL_CONTRACT_SOURCE_MODE = exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS = exports.XEMA_KERNEL_CONTRACT_REPOSITORY_URL = void 0;
|
|
3
|
+
exports.KernelContractAuthoritySchema = exports.OciDigestSchema = exports.BiomeContentHashSchema = exports.BiomeSourceManifestHashSchema = exports.BIOME_CONTENT_HASH_PREIMAGE_TYPE = exports.DuplicateImageSubjectDigestError = exports.MalformedDigestError = exports.DigestKind = exports.OCI_DIGEST_PATTERN = exports.GIT_TREE_ID_PATTERN = exports.BIOME_CONTENT_HASH_PATTERN = exports.BIOME_SOURCE_MANIFEST_HASH_PATTERN = exports.KernelContractContentHashAlgorithm = exports.XEMA_KERNEL_CONTRACT_AUTHORITY_DIGEST_VERSION = exports.XEMA_KERNEL_CONTRACT_AUTHORITY_DIGEST_DOMAIN = exports.XEMA_KERNEL_CONTRACT_AUTHORITY_GENERATOR = exports.XEMA_KERNEL_CONTRACT_SOURCE_MODE = exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS = exports.XEMA_KERNEL_CONTRACT_REPOSITORY_URL = void 0;
|
|
4
|
+
exports.parseBiomeSourceManifestHash = parseBiomeSourceManifestHash;
|
|
5
|
+
exports.parseOciDigest = parseOciDigest;
|
|
6
|
+
exports.parseBiomeContentHash = parseBiomeContentHash;
|
|
7
|
+
exports.parseGitTreeId = parseGitTreeId;
|
|
8
|
+
exports.computeBiomeContentHash = computeBiomeContentHash;
|
|
9
|
+
exports.computeBiomeSourceManifestHash = computeBiomeSourceManifestHash;
|
|
4
10
|
exports.encodeKernelContractAuthorityDigestPreimage = encodeKernelContractAuthorityDigestPreimage;
|
|
5
11
|
exports.computeKernelContractAuthorityContentDigest = computeKernelContractAuthorityContentDigest;
|
|
6
12
|
const zod_1 = require("zod");
|
|
7
13
|
const content_address_1 = require("../../content-address");
|
|
8
|
-
|
|
9
|
-
exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
'packages/kernel/kernel-contracts/src/distribution/lib/runtime-image-source-index.ts',
|
|
15
|
-
]);
|
|
16
|
-
exports.XEMA_KERNEL_CONTRACT_SOURCE_MODE = '100644';
|
|
17
|
-
exports.XEMA_KERNEL_CONTRACT_AUTHORITY_GENERATOR = 'xema-distributions/build-runtime-image-source-index.mjs@v1';
|
|
18
|
-
exports.XEMA_KERNEL_CONTRACT_AUTHORITY_DIGEST_DOMAIN = 'xema.kernel-contract-authority.digest';
|
|
14
|
+
const kernel_contract_source_paths_1 = require("./kernel-contract-source-paths");
|
|
15
|
+
Object.defineProperty(exports, "XEMA_KERNEL_CONTRACT_SOURCE_PATHS", { enumerable: true, get: function () { return kernel_contract_source_paths_1.XEMA_KERNEL_CONTRACT_SOURCE_PATHS; } });
|
|
16
|
+
exports.XEMA_KERNEL_CONTRACT_REPOSITORY_URL = "https://github.com/xema-dev/xema-kernel-contracts.git";
|
|
17
|
+
exports.XEMA_KERNEL_CONTRACT_SOURCE_MODE = "100644";
|
|
18
|
+
exports.XEMA_KERNEL_CONTRACT_AUTHORITY_GENERATOR = "xema-distributions/build-runtime-image-source-index.mjs@v1";
|
|
19
|
+
exports.XEMA_KERNEL_CONTRACT_AUTHORITY_DIGEST_DOMAIN = "xema.kernel-contract-authority.digest";
|
|
19
20
|
exports.XEMA_KERNEL_CONTRACT_AUTHORITY_DIGEST_VERSION = 1;
|
|
20
21
|
var KernelContractContentHashAlgorithm;
|
|
21
22
|
(function (KernelContractContentHashAlgorithm) {
|
|
22
23
|
KernelContractContentHashAlgorithm["LengthFramedGitPathModeBlobV1"] = "xema-kernel-contract-authority-length-framed-git-path-mode-blob-sha256-v1";
|
|
23
24
|
})(KernelContractContentHashAlgorithm || (exports.KernelContractContentHashAlgorithm = KernelContractContentHashAlgorithm = {}));
|
|
24
|
-
|
|
25
|
+
exports.BIOME_SOURCE_MANIFEST_HASH_PATTERN = content_address_1.SHA256_HEX_PATTERN;
|
|
26
|
+
exports.BIOME_CONTENT_HASH_PATTERN = content_address_1.SHA256_HEX_PATTERN;
|
|
27
|
+
exports.GIT_TREE_ID_PATTERN = /^(?:[a-f0-9]{40}|[a-f0-9]{64})$/;
|
|
28
|
+
exports.OCI_DIGEST_PATTERN = new RegExp(`^sha256:${content_address_1.SHA256_HEX_SOURCE}$`);
|
|
29
|
+
var DigestKind;
|
|
30
|
+
(function (DigestKind) {
|
|
31
|
+
DigestKind["BiomeSourceManifestHash"] = "biome-source-manifest-hash";
|
|
32
|
+
DigestKind["OciDigest"] = "oci-digest";
|
|
33
|
+
DigestKind["BiomeContentHash"] = "biome-content-hash";
|
|
34
|
+
DigestKind["GitTreeId"] = "git-tree-id";
|
|
35
|
+
})(DigestKind || (exports.DigestKind = DigestKind = {}));
|
|
36
|
+
class MalformedDigestError extends Error {
|
|
37
|
+
kind;
|
|
38
|
+
constructor(kind, value, expected) {
|
|
39
|
+
super(`${kind} refused: expected ${expected}, got ${typeof value === "string" ? JSON.stringify(value) : typeof value}.`);
|
|
40
|
+
this.name = "MalformedDigestError";
|
|
41
|
+
this.kind = kind;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.MalformedDigestError = MalformedDigestError;
|
|
45
|
+
function parseBiomeSourceManifestHash(value) {
|
|
46
|
+
if (typeof value !== "string" ||
|
|
47
|
+
!exports.BIOME_SOURCE_MANIFEST_HASH_PATTERN.test(value)) {
|
|
48
|
+
throw new MalformedDigestError(DigestKind.BiomeSourceManifestHash, value, "64 lowercase hex characters with no prefix");
|
|
49
|
+
}
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
function parseOciDigest(value) {
|
|
53
|
+
if (typeof value !== "string" || !exports.OCI_DIGEST_PATTERN.test(value)) {
|
|
54
|
+
throw new MalformedDigestError(DigestKind.OciDigest, value, '"sha256:" followed by 64 lowercase hex characters');
|
|
55
|
+
}
|
|
56
|
+
return value;
|
|
57
|
+
}
|
|
58
|
+
function parseBiomeContentHash(value) {
|
|
59
|
+
if (typeof value !== "string" || !exports.BIOME_CONTENT_HASH_PATTERN.test(value)) {
|
|
60
|
+
throw new MalformedDigestError(DigestKind.BiomeContentHash, value, "64 lowercase hex characters with no prefix");
|
|
61
|
+
}
|
|
62
|
+
return value;
|
|
63
|
+
}
|
|
64
|
+
function parseGitTreeId(value) {
|
|
65
|
+
if (typeof value !== "string" || !exports.GIT_TREE_ID_PATTERN.test(value)) {
|
|
66
|
+
throw new MalformedDigestError(DigestKind.GitTreeId, value, "40 or 64 lowercase hex characters");
|
|
67
|
+
}
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
class DuplicateImageSubjectDigestError extends Error {
|
|
71
|
+
digest;
|
|
72
|
+
constructor(digest) {
|
|
73
|
+
super(`imageSubjectDigests lists ${digest} more than once; a biome content hash refuses duplicates rather than deduplicating them.`);
|
|
74
|
+
this.digest = digest;
|
|
75
|
+
this.name = "DuplicateImageSubjectDigestError";
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.DuplicateImageSubjectDigestError = DuplicateImageSubjectDigestError;
|
|
79
|
+
exports.BIOME_CONTENT_HASH_PREIMAGE_TYPE = "xema.biome-content/v1";
|
|
80
|
+
async function computeBiomeContentHash(input) {
|
|
81
|
+
const imageSubjectDigests = input.imageSubjectDigests
|
|
82
|
+
.map((digest) => parseOciDigest(digest))
|
|
83
|
+
.sort();
|
|
84
|
+
for (const [index, digest] of imageSubjectDigests.entries()) {
|
|
85
|
+
if (digest === imageSubjectDigests[index - 1]) {
|
|
86
|
+
throw new DuplicateImageSubjectDigestError(digest);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const preimage = (0, content_address_1.canonicalJsonStringify)({
|
|
90
|
+
type: exports.BIOME_CONTENT_HASH_PREIMAGE_TYPE,
|
|
91
|
+
sourceManifestHash: parseBiomeSourceManifestHash(input.sourceManifestHash),
|
|
92
|
+
sourceTreeId: parseGitTreeId(input.sourceTreeId),
|
|
93
|
+
imageSubjectDigests: imageSubjectDigests,
|
|
94
|
+
});
|
|
95
|
+
return parseBiomeContentHash(await (0, content_address_1.sha256Hex)(new TextEncoder().encode(preimage)));
|
|
96
|
+
}
|
|
97
|
+
async function computeBiomeSourceManifestHash(rawManifest) {
|
|
98
|
+
const proto = typeof rawManifest === "object" && rawManifest !== null
|
|
99
|
+
? Object.getPrototypeOf(rawManifest)
|
|
100
|
+
: undefined;
|
|
101
|
+
if (typeof rawManifest !== "object" ||
|
|
102
|
+
rawManifest === null ||
|
|
103
|
+
Array.isArray(rawManifest) ||
|
|
104
|
+
(proto !== Object.prototype && proto !== null)) {
|
|
105
|
+
throw new MalformedDigestError(DigestKind.BiomeSourceManifestHash, rawManifest, "a plain JSON object manifest");
|
|
106
|
+
}
|
|
107
|
+
return parseBiomeSourceManifestHash(await (0, content_address_1.sha256Hex)(new TextEncoder().encode(`${JSON.stringify(rawManifest, null, 2)}\n`)));
|
|
108
|
+
}
|
|
109
|
+
exports.BiomeSourceManifestHashSchema = zod_1.z
|
|
110
|
+
.string()
|
|
111
|
+
.regex(exports.BIOME_SOURCE_MANIFEST_HASH_PATTERN)
|
|
112
|
+
.transform(parseBiomeSourceManifestHash);
|
|
113
|
+
exports.BiomeContentHashSchema = zod_1.z
|
|
114
|
+
.string()
|
|
115
|
+
.regex(exports.BIOME_CONTENT_HASH_PATTERN)
|
|
116
|
+
.transform(parseBiomeContentHash);
|
|
117
|
+
exports.OciDigestSchema = zod_1.z
|
|
118
|
+
.string()
|
|
119
|
+
.regex(exports.OCI_DIGEST_PATTERN)
|
|
120
|
+
.transform(parseOciDigest);
|
|
25
121
|
const GitCommitSchema = zod_1.z.string().regex(/^[a-f0-9]{40}$/);
|
|
26
122
|
exports.KernelContractAuthoritySchema = zod_1.z
|
|
27
123
|
.object({
|
|
@@ -30,16 +126,14 @@ exports.KernelContractAuthoritySchema = zod_1.z
|
|
|
30
126
|
repositoryUrl: zod_1.z.literal(exports.XEMA_KERNEL_CONTRACT_REPOSITORY_URL),
|
|
31
127
|
sourceCommit: GitCommitSchema,
|
|
32
128
|
sourcePaths: zod_1.z
|
|
33
|
-
.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
])
|
|
40
|
-
.readonly(),
|
|
129
|
+
.array(zod_1.z.string())
|
|
130
|
+
.readonly()
|
|
131
|
+
.refine((paths) => paths.length === kernel_contract_source_paths_1.XEMA_KERNEL_CONTRACT_SOURCE_PATHS.length &&
|
|
132
|
+
paths.every((path, index) => path === kernel_contract_source_paths_1.XEMA_KERNEL_CONTRACT_SOURCE_PATHS[index]), {
|
|
133
|
+
message: "sourcePaths must be exactly XEMA_KERNEL_CONTRACT_SOURCE_PATHS, in order",
|
|
134
|
+
}),
|
|
41
135
|
contentHashAlgorithm: zod_1.z.literal(KernelContractContentHashAlgorithm.LengthFramedGitPathModeBlobV1),
|
|
42
|
-
contentDigest: Sha256HexSchema,
|
|
136
|
+
contentDigest: content_address_1.Sha256HexSchema,
|
|
43
137
|
})
|
|
44
138
|
.strict();
|
|
45
139
|
function encodeKernelContractAuthorityDigestPreimage(sources) {
|
|
@@ -63,12 +157,12 @@ async function computeKernelContractAuthorityContentDigest(sources) {
|
|
|
63
157
|
}
|
|
64
158
|
function validateSources(sources) {
|
|
65
159
|
if (!Array.isArray(sources)) {
|
|
66
|
-
throw new Error(
|
|
160
|
+
throw new Error("Kernel contract authority sources must be an array.");
|
|
67
161
|
}
|
|
68
|
-
if (sources.length !==
|
|
69
|
-
throw new Error(`Kernel contract authority requires exactly ${
|
|
162
|
+
if (sources.length !== kernel_contract_source_paths_1.XEMA_KERNEL_CONTRACT_SOURCE_PATHS.length) {
|
|
163
|
+
throw new Error(`Kernel contract authority requires exactly ${kernel_contract_source_paths_1.XEMA_KERNEL_CONTRACT_SOURCE_PATHS.length} sources.`);
|
|
70
164
|
}
|
|
71
|
-
for (const [index, expectedPath,] of
|
|
165
|
+
for (const [index, expectedPath,] of kernel_contract_source_paths_1.XEMA_KERNEL_CONTRACT_SOURCE_PATHS.entries()) {
|
|
72
166
|
const source = sources[index];
|
|
73
167
|
if (source === undefined || source.path !== expectedPath) {
|
|
74
168
|
throw new Error(`Kernel contract authority source[${index}] must be "${expectedPath}".`);
|