@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.
Files changed (149) hide show
  1. package/README.md +19 -0
  2. package/dist/.source-stamp.json +2 -2
  3. package/dist/agent-composition/lib/delegate-aperture.d.ts.map +1 -1
  4. package/dist/agent-composition/lib/delegate-aperture.js +10 -9
  5. package/dist/agent-composition/lib/delegate-aperture.js.map +1 -1
  6. package/dist/agent-session/lib/resolved-session-composition.d.ts.map +1 -1
  7. package/dist/agent-session/lib/resolved-session-composition.js +46 -45
  8. package/dist/agent-session/lib/resolved-session-composition.js.map +1 -1
  9. package/dist/authorization-module/index.d.ts +1 -0
  10. package/dist/authorization-module/index.d.ts.map +1 -1
  11. package/dist/authorization-module/index.js +1 -0
  12. package/dist/authorization-module/index.js.map +1 -1
  13. package/dist/authorization-module/lib/authorization-composition-error.d.ts +2 -0
  14. package/dist/authorization-module/lib/authorization-composition-error.d.ts.map +1 -1
  15. package/dist/authorization-module/lib/authorization-composition-error.js +2 -0
  16. package/dist/authorization-module/lib/authorization-composition-error.js.map +1 -1
  17. package/dist/authorization-module/lib/authorization-interface-requirements.d.ts +21 -0
  18. package/dist/authorization-module/lib/authorization-interface-requirements.d.ts.map +1 -0
  19. package/dist/authorization-module/lib/authorization-interface-requirements.js +14 -0
  20. package/dist/authorization-module/lib/authorization-interface-requirements.js.map +1 -0
  21. package/dist/authorization-module/lib/platform-authorization-modules.d.ts +6 -2
  22. package/dist/authorization-module/lib/platform-authorization-modules.d.ts.map +1 -1
  23. package/dist/authorization-module/lib/platform-authorization-modules.js +39 -2
  24. package/dist/authorization-module/lib/platform-authorization-modules.js.map +1 -1
  25. package/dist/authorization-module/server/authorization-interface-conformance.d.ts +14 -0
  26. package/dist/authorization-module/server/authorization-interface-conformance.d.ts.map +1 -0
  27. package/dist/authorization-module/server/authorization-interface-conformance.js +97 -0
  28. package/dist/authorization-module/server/authorization-interface-conformance.js.map +1 -0
  29. package/dist/authorization-module/server/compose-authorization-base.d.ts.map +1 -1
  30. package/dist/authorization-module/server/compose-authorization-base.js +8 -3
  31. package/dist/authorization-module/server/compose-authorization-base.js.map +1 -1
  32. package/dist/authzen/lib/durable-delegation-model.d.ts +8 -0
  33. package/dist/authzen/lib/durable-delegation-model.d.ts.map +1 -1
  34. package/dist/authzen/lib/durable-delegation-model.js +10 -1
  35. package/dist/authzen/lib/durable-delegation-model.js.map +1 -1
  36. package/dist/biome/lib/biome-generated-index.d.ts.map +1 -1
  37. package/dist/biome/lib/biome-generated-index.js +2 -1
  38. package/dist/biome/lib/biome-generated-index.js.map +1 -1
  39. package/dist/biome/lib/biome-manifest.d.ts.map +1 -1
  40. package/dist/biome/lib/biome-manifest.js +2 -1
  41. package/dist/biome/lib/biome-manifest.js.map +1 -1
  42. package/dist/biome-dependency/lib/biome-dependency-contract.d.ts.map +1 -1
  43. package/dist/biome-dependency/lib/biome-dependency-contract.js +2 -1
  44. package/dist/biome-dependency/lib/biome-dependency-contract.js.map +1 -1
  45. package/dist/biome-mount/lib/adapter-host-mount.js +1 -1
  46. package/dist/biome-mount/lib/adapter-host-mount.js.map +1 -1
  47. package/dist/capability/lib/capability-aperture.d.ts.map +1 -1
  48. package/dist/capability/lib/capability-aperture.js.map +1 -1
  49. package/dist/capability/lib/capability-ref-pattern.d.ts.map +1 -1
  50. package/dist/capability/lib/capability-ref-pattern.js.map +1 -1
  51. package/dist/capability/lib/required-resource-role-binding.d.ts.map +1 -1
  52. package/dist/capability/lib/required-resource-role-binding.js.map +1 -1
  53. package/dist/content-address/lib/content-address.d.ts +2 -0
  54. package/dist/content-address/lib/content-address.d.ts.map +1 -1
  55. package/dist/content-address/lib/content-address.js +4 -2
  56. package/dist/content-address/lib/content-address.js.map +1 -1
  57. package/dist/contribution/lib/contribution-kind-descriptor.d.ts.map +1 -1
  58. package/dist/contribution/lib/contribution-kind-descriptor.js.map +1 -1
  59. package/dist/deployment/lib/resolved-deployment.d.ts +3 -0
  60. package/dist/deployment/lib/resolved-deployment.d.ts.map +1 -1
  61. package/dist/deployment/lib/resolved-deployment.js +11 -6
  62. package/dist/deployment/lib/resolved-deployment.js.map +1 -1
  63. package/dist/distribution/index.d.ts +3 -1
  64. package/dist/distribution/index.d.ts.map +1 -1
  65. package/dist/distribution/index.js +2 -0
  66. package/dist/distribution/index.js.map +1 -1
  67. package/dist/distribution/lib/biome-source.d.ts +6 -0
  68. package/dist/distribution/lib/biome-source.d.ts.map +1 -1
  69. package/dist/distribution/lib/biome-source.js +23 -2
  70. package/dist/distribution/lib/biome-source.js.map +1 -1
  71. package/dist/distribution/lib/customer-edition-definition.d.ts +45 -0
  72. package/dist/distribution/lib/customer-edition-definition.d.ts.map +1 -0
  73. package/dist/distribution/lib/customer-edition-definition.js +110 -0
  74. package/dist/distribution/lib/customer-edition-definition.js.map +1 -0
  75. package/dist/distribution/lib/delivered-biome.d.ts +11 -0
  76. package/dist/distribution/lib/delivered-biome.d.ts.map +1 -0
  77. package/dist/distribution/lib/delivered-biome.js +24 -0
  78. package/dist/distribution/lib/delivered-biome.js.map +1 -0
  79. package/dist/distribution/lib/distribution-lock.d.ts +36 -42
  80. package/dist/distribution/lib/distribution-lock.d.ts.map +1 -1
  81. package/dist/distribution/lib/distribution-lock.js +125 -102
  82. package/dist/distribution/lib/distribution-lock.js.map +1 -1
  83. package/dist/distribution/lib/distribution-selector.d.ts +7 -0
  84. package/dist/distribution/lib/distribution-selector.d.ts.map +1 -1
  85. package/dist/distribution/lib/distribution-selector.js +10 -9
  86. package/dist/distribution/lib/distribution-selector.js.map +1 -1
  87. package/dist/distribution/lib/distribution.d.ts +0 -1
  88. package/dist/distribution/lib/distribution.d.ts.map +1 -1
  89. package/dist/distribution/lib/distribution.js +1 -2
  90. package/dist/distribution/lib/distribution.js.map +1 -1
  91. package/dist/distribution/lib/image-lock.d.ts +11 -11
  92. package/dist/distribution/lib/image-lock.d.ts.map +1 -1
  93. package/dist/distribution/lib/image-lock.js +5 -6
  94. package/dist/distribution/lib/image-lock.js.map +1 -1
  95. package/dist/distribution/lib/image-producer-evidence.d.ts +69 -55
  96. package/dist/distribution/lib/image-producer-evidence.d.ts.map +1 -1
  97. package/dist/distribution/lib/image-producer-evidence.js +71 -47
  98. package/dist/distribution/lib/image-producer-evidence.js.map +1 -1
  99. package/dist/distribution/lib/kernel-contract-authority.d.ts +53 -3
  100. package/dist/distribution/lib/kernel-contract-authority.d.ts.map +1 -1
  101. package/dist/distribution/lib/kernel-contract-authority.js +120 -26
  102. package/dist/distribution/lib/kernel-contract-authority.js.map +1 -1
  103. package/dist/distribution/lib/kernel-contract-source-paths.d.ts +2 -0
  104. package/dist/distribution/lib/kernel-contract-source-paths.d.ts.map +1 -0
  105. package/dist/distribution/lib/kernel-contract-source-paths.js +390 -0
  106. package/dist/distribution/lib/kernel-contract-source-paths.js.map +1 -0
  107. package/dist/distribution/lib/nexus-endpoint-specs.d.ts +2 -5
  108. package/dist/distribution/lib/nexus-endpoint-specs.d.ts.map +1 -1
  109. package/dist/distribution/lib/nexus-endpoint-specs.js +7 -7
  110. package/dist/distribution/lib/nexus-endpoint-specs.js.map +1 -1
  111. package/dist/distribution/lib/platform-service-source-index.d.ts.map +1 -1
  112. package/dist/distribution/lib/platform-service-source-index.js +2 -2
  113. package/dist/distribution/lib/platform-service-source-index.js.map +1 -1
  114. package/dist/distribution/lib/runtime-image-source-index.d.ts +3 -3
  115. package/dist/distribution/lib/runtime-image-source-index.d.ts.map +1 -1
  116. package/dist/distribution/lib/runtime-image-source-index.js +1 -1
  117. package/dist/distribution/lib/runtime-image-source-index.js.map +1 -1
  118. package/dist/distribution/lib/verified-resolved-deployment.d.ts +8 -1
  119. package/dist/distribution/lib/verified-resolved-deployment.d.ts.map +1 -1
  120. package/dist/distribution/lib/verify-resolved-deployment.d.ts +3 -8
  121. package/dist/distribution/lib/verify-resolved-deployment.d.ts.map +1 -1
  122. package/dist/distribution/lib/verify-resolved-deployment.js +11 -7
  123. package/dist/distribution/lib/verify-resolved-deployment.js.map +1 -1
  124. package/dist/edition-protocol/edition-contract.schema.json +1 -0
  125. package/dist/edition-protocol/edition-protocol.json +1 -0
  126. package/dist/edition-protocol/index.d.ts +2 -0
  127. package/dist/edition-protocol/index.d.ts.map +1 -0
  128. package/dist/edition-protocol/index.js +18 -0
  129. package/dist/edition-protocol/index.js.map +1 -0
  130. package/dist/edition-protocol/lib/edition-protocol.d.ts +9 -0
  131. package/dist/edition-protocol/lib/edition-protocol.d.ts.map +1 -0
  132. package/dist/edition-protocol/lib/edition-protocol.js +19 -0
  133. package/dist/edition-protocol/lib/edition-protocol.js.map +1 -0
  134. package/dist/http/lib/problem-definition.js.map +1 -1
  135. package/dist/resolved-deployment-fixture/index.d.ts +2 -0
  136. package/dist/resolved-deployment-fixture/index.d.ts.map +1 -0
  137. package/dist/resolved-deployment-fixture/index.js +18 -0
  138. package/dist/resolved-deployment-fixture/index.js.map +1 -0
  139. package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.d.ts +14 -0
  140. package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.d.ts.map +1 -0
  141. package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.js +114 -0
  142. package/dist/resolved-deployment-fixture/lib/resolved-deployment-fixture.js.map +1 -0
  143. package/dist/resource-role/lib/resource-role-binding.d.ts.map +1 -1
  144. package/dist/resource-role/lib/resource-role-binding.js.map +1 -1
  145. package/dist/resource-role/lib/resource-role-contribution.d.ts.map +1 -1
  146. package/dist/resource-role/lib/resource-role-contribution.js.map +1 -1
  147. package/dist/resource-role/lib/resource-role-default-binding.d.ts.map +1 -1
  148. package/dist/resource-role/lib/resource-role-default-binding.js.map +1 -1
  149. 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 Sha256HexSchema = zod_1.z.string().regex(/^[a-f0-9]{64}$/);
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: Sha256DigestSchema,
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: Sha256HexSchema,
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: Sha256DigestSchema,
67
- parametersDigest: Sha256DigestSchema,
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: Sha256DigestSchema,
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: Sha256DigestSchema,
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: Sha256DigestSchema,
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: Sha256DigestSchema,
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: Sha256DigestSchema,
140
- producerStatementDigest: Sha256DigestSchema,
141
- producerBundleDigest: Sha256DigestSchema,
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: Sha256DigestSchema,
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: Sha256DigestSchema,
236
+ statementDigest: kernel_contract_authority_1.OciDigestSchema,
238
237
  bundlePath: CanonicalRelativePathSchema,
239
- bundleDigest: Sha256DigestSchema,
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(Sha256DigestSchema)
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(Sha256DigestSchema)
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
- allowedImageRepositoryPrefixes: zod_1.z
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._-]+\/)*$/, 'must be a canonical lowercase OCI repository namespace ending in "/"'))
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
- if (value.githubWorkflow) {
349
- const expectedIdentity = `https://github.com/${value.githubWorkflow.repository}/` +
350
- `${value.githubWorkflow.path}@${value.githubWorkflow.ref}`;
351
- if (value.certificateIdentity !== expectedIdentity) {
352
- context.addIssue({
353
- code: zod_1.z.ZodIssueCode.custom,
354
- path: ['certificateIdentity'],
355
- message: 'must exactly match githubWorkflow repository, path, and ref',
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
- const signsDistributionCompleteness = value.predicateTypes.includes(exports.DISTRIBUTION_IMAGES_PREDICATE_TYPE);
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: ['githubWorkflow'],
373
- message: 'is required for producer or distribution-completeness evidence to bind the exact workflow commit',
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: Sha256DigestSchema,
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(Sha256DigestSchema).readonly(),
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(Sha256DigestSchema).readonly(),
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: Sha256DigestSchema,
436
+ trustPolicyDigest: kernel_contract_authority_1.OciDigestSchema,
413
437
  lastReleaseSequence: zod_1.z.number().int().min(-1),
414
- lastCompletenessStatementDigest: Sha256DigestSchema.nullable(),
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":";;;AA4kBA,kEAQC;AAED,4EAQC;AAED,wFAQC;AAED,0EAQC;AAED,8EAQC;AAED,8EAQC;AAtoBD,6BAAwB;AACxB,6CAIsB;AACtB,2EAIqC;AACrC,2DAAwD;AAExD,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC3D,MAAM,aAAa,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,MAAM,yBAAyB,GAAG,OAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,wDAAwD,CAAC,CAAC;AACnE,MAAM,2BAA2B,GAAG,OAAC;KAClC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IAChC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;IACtB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;IACpB,CAAC,KAAK;SACH,KAAK,CAAC,GAAG,CAAC;SACV,IAAI,CACH,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CACnE,EACL,sEAAsE,CACvE,CAAC;AAES,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,OAAC;SACN,MAAM,CAAC;QACN,MAAM,EAAE,iCAAe;KACxB,CAAC;SACD,MAAM,EAAE;CACZ,CAAC;KACD,MAAM,EAAE,CAAC;AAEC,QAAA,2BAA2B,GAAG,OAAC;KACzC,MAAM,CAAC;IACN,GAAG,uCAA0B,CAAC,KAAK;IACnC,cAAc,EAAE,2CAAe;CAChC,CAAC;KACD,MAAM,EAAE,CAAC;AAEC,QAAA,yBAAyB,GAAG,OAAC;KACvC,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,UAAU,CAAC,oCAAuB,CAAC;IAC3C,EAAE,EAAE,yBAAyB;IAC7B,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC/B,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,2BAA2B;IACjC,YAAY,EAAE,eAAe;IAC7B,kBAAkB,EAAE,yDAA6B;IAejD,mBAAmB,EAAE,OAAC,CAAC,KAAK,CAAC;QAC3B,OAAC,CAAC,OAAO,CAAC,qCAAwB,CAAC,YAAY,CAAC;QAChD,OAAC,CAAC,OAAO,CAAC,qCAAwB,CAAC,YAAY,CAAC;QAChD,OAAC,CAAC,OAAO,CAAC,qCAAwB,CAAC,YAAY,CAAC;KACjD,CAAC;IACF,cAAc,EAAE,iCAAe;CAChC,CAAC;KACD,MAAM,EAAE,CAAC;AAEC,QAAA,wBAAwB,GAAG,OAAC;KACtC,MAAM,CAAC;IACN,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC3B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC3B,qBAAqB,EAAE,2CAAe;IACtC,gBAAgB,EAAE,2CAAe;IACjC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,mCAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAClE,CAAC;KACD,MAAM,EAAE,CAAC;AAEC,QAAA,2BAA2B,GAAG,OAAC;KACzC,MAAM,CAAC;IACN,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,cAAc,EAAE,2CAAe;IAC/B,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,IAAI,EAAE,OAAC;SACJ,MAAM,CAAC;QACN,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;QACrD,MAAM,EAAE,2CAAe;KACxB,CAAC;SACD,MAAM,EAAE;IACX,UAAU,EAAE,OAAC;SACV,MAAM,CAAC;QACN,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC;QAC1D,MAAM,EAAE,2CAAe;KACxB,CAAC;SACD,MAAM,EAAE;CACZ,CAAC;KACD,MAAM,EAAE,CAAC;AAEC,QAAA,sBAAsB,GAAG,OAAC;KACpC,MAAM,CAAC;IACN,mBAAmB,EAAE,eAAe;IACpC,KAAK,EAAE,yBAAyB;IAChC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAClD,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,aAAa;CACzB,CAAC;KACD,MAAM,EAAE,CAAC;AAEC,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,CAAC;IACN,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,iBAAiB,EAAE,yDAA6B;IAChD,MAAM,EAAE,iCAAyB;IACjC,KAAK,EAAE,gCAAwB;IAC/B,QAAQ,EAAE,mCAA2B;IACrC,WAAW,EAAE,8BAAsB;CACpC,CAAC;KACD,MAAM,EAAE,CAAC;AAEC,QAAA,6BAA6B,GACxC,+CAAwD,CAAC;AAE9C,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,CAAC;IACN,KAAK,EAAE,OAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC;IACnD,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,qCAA6B,CAAC;IACvD,SAAS,EAAE,oCAA4B;CACxC,CAAC;KACD,MAAM,EAAE,CAAC;AAMC,QAAA,kCAAkC,GAC7C,sDAA+D,CAAC;AAErD,QAAA,iCAAiC,GAAG,OAAC;KAC/C,MAAM,CAAC;IACN,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,cAAc,EAAE,yBAAyB;IACzC,qBAAqB,EAAE,iCAAe;IACtC,yBAAyB,EAAE,2CAAe;IAC1C,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC/C,mBAAmB,EAAE,eAAe;IACpC,KAAK,EAAE,yBAAyB;IAChC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAClD,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,OAAC;SACN,KAAK,CACJ,OAAC;SACE,MAAM,CAAC;QACN,WAAW,EAAE,OAAC,CAAC,UAAU,CAAC,oCAAuB,CAAC;QAClD,SAAS,EAAE,yBAAyB;QACpC,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,cAAc,EAAE,2CAAe;QAC/B,uBAAuB,EAAE,2CAAe;QACxC,oBAAoB,EAAE,2CAAe;KACtC,CAAC;SACD,MAAM,EAAE,CACZ;SACA,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC;AAEC,QAAA,iCAAiC,GAAG,OAAC;KAC/C,MAAM,CAAC;IACN,KAAK,EAAE,OAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC;IACnD,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,0CAAkC,CAAC;IAC5D,SAAS,EAAE,yCAAiC;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAMZ,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,sCAAiB,CAAA;IACjB,sCAAiB,CAAA;AACnB,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAED,MAAM,gCAAgC,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IACnE,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,KAAK,KAAK,CAAC,WAAW,EAAE;QAC7B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EACnB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;QAC3C,IACE,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,QAAQ;YACf,MAAM,CAAC,QAAQ,KAAK,GAAG;YACvB,MAAM,CAAC,MAAM;YACb,MAAM,CAAC,IAAI;YACX,MAAM,CAAC,IAAI,KAAK,KAAK,EACrB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK;YAAE,OAAO,KAAK,CAAC;QAC7D,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO,MAAM,CAAC,QAAQ;aACnB,KAAK,CAAC,GAAG,CAAC;aACV,KAAK,CACJ,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,KAAK,CAAC,MAAM,IAAI,EAAE;YAClB,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClD,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,EAAE,sDAAsD,CAAC,CAAC;AAE9C,QAAA,yCAAyC,GACpD,6DAAsE,CAAC;AAE5D,QAAA,uCAAuC,GAAG,OAAC;KACrD,MAAM,CAAC;IACN,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,UAAU,EAAE,yBAAyB;IACrC,cAAc,EAAE,yBAAyB;IACzC,2BAA2B,EAAE,2CAAe;IAC5C,IAAI,EAAE,OAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC;IACrC,cAAc,EAAE,gCAAgC,CAAC,QAAQ,EAAE;IAC3D,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAClD,cAAc,EAAE,yBAAyB;IACzC,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,aAAa;CACzB,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9B,IACE,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM;QACvC,KAAK,CAAC,cAAc,KAAK,IAAI,EAC7B,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC;YACxB,OAAO,EAAE,4CAA4C;SACtD,CAAC,CAAC;IACL,CAAC;IACD,IACE,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM;QACvC,KAAK,CAAC,cAAc,KAAK,IAAI,EAC7B,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC;YACxB,OAAO,EAAE,qDAAqD;SAC/D,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEQ,QAAA,uCAAuC,GAAG,OAAC;KACrD,MAAM,CAAC;IACN,KAAK,EAAE,OAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC;IACnD,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,iDAAyC,CAAC;IACnE,SAAS,EAAE,+CAAuC;CACnD,CAAC;KACD,MAAM,EAAE,CAAC;AAMC,QAAA,gCAAgC,GAAG,OAAC;KAC9C,MAAM,CAAC;IACN,aAAa,EAAE,2BAA2B;IAC1C,eAAe,EAAE,2CAAe;IAChC,UAAU,EAAE,2BAA2B;IACvC,YAAY,EAAE,2CAAe;IAC7B,eAAe,EAAE,OAAC,CAAC,OAAO,CAAC,+CAA+C,CAAC;CAC5E,CAAC;KACD,MAAM,EAAE,CAAC;AAEC,QAAA,kCAAkC,GAAG,OAAC;KAChD,MAAM,CAAC;IACN,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,cAAc,EAAE,yBAAyB;IACzC,gBAAgB,EAAE,OAAC;SAChB,KAAK,CACJ,OAAC;SACE,MAAM,CAAC;QACN,WAAW,EAAE,OAAC,CAAC,UAAU,CAAC,oCAAuB,CAAC;QAClD,SAAS,EAAE,yBAAyB;QACpC,QAAQ,EAAE,wCAAgC;KAC3C,CAAC;SACD,MAAM,EAAE,CACZ;SACA,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;IACb,YAAY,EAAE,wCAAgC;CAC/C,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;QACjE,MAAM,eAAe,GAAG,GAAG,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;QACzE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,WAAW,CAAC;gBAC9C,OAAO,EAAE,+BAA+B,gBAAgB,eAAe,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,SAAS,GAAG;aACrH,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,CAC7C,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAClC,CAAC;QACF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,CAAC;gBAChE,OAAO,EAAE,2BAA2B,kBAAkB,mBAAmB;aAC1E,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,eAAe,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC1E,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC;gBAC7D,OAAO,EAAE,2BAA2B,eAAe,gBAAgB;aACpE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAMQ,QAAA,iBAAiB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAU,CAAC;AAIpD,QAAA,qBAAqB,GAAG;IACnC,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,oBAAoB;CACqB,CAAC;AAExC,QAAA,4BAA4B,GAAG,OAAC;KAC1C,MAAM,CAAC;IACN,QAAQ,EAAE,yBAAyB;IACnC,OAAO,EAAE,OAAC,CAAC,IAAI,CAAC,yBAAiB,CAAC;IAClC,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC5B,cAAc,EAAE,OAAC;SACd,MAAM,CAAC;QACN,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,oCAAoC,CAAC;QAClE,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC;QACnD,IAAI,EAAE,2BAA2B;KAClC,CAAC;SACD,MAAM,EAAE;IACX,aAAa,EAAE,OAAC;SACb,MAAM,CAAC;QACN,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACvD,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAqBvD,sBAAsB,EAAE,OAAC;aACtB,KAAK,CAAC,2CAAe,CAAC;aACtB,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,EAAE;QACb,iBAAiB,EAAE,OAAC;aACjB,KAAK,CAAC,2CAAe,CAAC;aACtB,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,EAAE;QACb,kBAAkB,EAAE,OAAC;aAClB,KAAK,CACJ,OAAC,CAAC,IAAI,CAAC;YACL,yCAAyC;YACzC,4CAA4C;SAC7C,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;KACd,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,iBAAiB,EAAE,OAAC;SACjB,KAAK,CACJ,OAAC;SACE,MAAM,EAAE;SACR,KAAK,CACJ,kEAAkE,EAClE,4EAA4E,CAC7E,CACJ;SACA,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9B,MAAM,gBAAgB,GACpB,sBAAsB,KAAK,CAAC,cAAc,CAAC,UAAU,GAAG;QACxD,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;IAC7D,IAAI,KAAK,CAAC,mBAAmB,KAAK,gBAAgB,EAAE,CAAC;QACnD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,qBAAqB,CAAC;YAC7B,OAAO,EAAE,6DAA6D;SACvE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,KAAK,6BAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,gBAAgB,EAAE,KAAK,CAAC;YAC/B,OAAO,EAAE,cAAc,6BAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,KAAK,CAAC,OAAO,GAAG;SAC7F,CAAC,CAAC;IACL,CAAC;IACD,MAAM,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CACzD,qCAA6B,CAC9B,CAAC;IACF,IAAI,qBAAqB,KAAK,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,eAAe,CAAC;YACvB,OAAO,EACL,0EAA0E;SAC7E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,qBAAqB,KAAK,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,mBAAmB,CAAC;YAC3B,OAAO,EACL,0EAA0E;SAC7E,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YACpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,IAAI,EAAE,CAAC,mBAAmB,EAAE,KAAK,CAAC;oBAClC,OAAO,EAAE,gCAAgC,SAAS,MAAM,UAAU,GAAG;iBACtE,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEQ,QAAA,gCAAgC,GAAG,OAAC;KAC9C,MAAM,CAAC;IACN,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,eAAe,EAAE,2BAA2B;IAC5C,iBAAiB,EAAE,2CAAe;IAClC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACnD,0BAA0B,EAAE,OAAC,CAAC,KAAK,CAAC,2CAAe,CAAC,CAAC,QAAQ,EAAE;IAC/D,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAC/C,uBAAuB,EAAE,OAAC,CAAC,KAAK,CAAC,2CAAe,CAAC,CAAC,QAAQ,EAAE;IAC5D,qBAAqB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAClD,yBAAyB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtD,wBAAwB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACrD,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,oCAA4B,CAAC,CAAC,QAAQ,EAAE;CAC3D,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,QAAQ,CAAC;gBACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC;gBACrC,OAAO,EAAE,uBAAuB,SAAS,eAAe,MAAM,CAAC,QAAQ,GAAG;aAC3E,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEQ,QAAA,kCAAkC,GAAG,OAAC;KAChD,MAAM,CAAC;IACN,aAAa,EAAE,OAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,cAAc,EAAE,yBAAyB;IACzC,iBAAiB,EAAE,2CAAe;IAClC,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7C,+BAA+B,EAAE,2CAAe,CAAC,QAAQ,EAAE;IAC3D,qBAAqB,EAAE,OAAC;SACrB,MAAM,EAAE;SACR,KAAK,CAAC,yBAAyB,CAAC;SAChC,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,KAAK,CAAC,CAAC,CAAC;IACtD,IACE,CAAC,KAAK,CAAC,+BAA+B,KAAK,IAAI,CAAC,KAAK,YAAY;QACjE,CAAC,KAAK,CAAC,qBAAqB,KAAK,IAAI,CAAC,KAAK,YAAY,EACvD,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,qBAAqB,CAAC;YAC7B,OAAO,EACL,4FAA4F;SAC/F,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAUL,SAAS,eAAe,CACtB,KAAa,EACb,MAAoB,EACpB,GAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,WAAW,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM;aACrC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;aAC5D,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAgB,2BAA2B,CACzC,GAAY;IAEZ,OAAO,eAAe,CACpB,0BAA0B,EAC1B,oCAA4B,EAC5B,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,SAAgB,gCAAgC,CAC9C,GAAY;IAEZ,OAAO,eAAe,CACpB,+BAA+B,EAC/B,yCAAiC,EACjC,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,SAAgB,sCAAsC,CACpD,GAAY;IAEZ,OAAO,eAAe,CACpB,sCAAsC,EACtC,+CAAuC,EACvC,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,SAAgB,+BAA+B,CAC7C,GAAY;IAEZ,OAAO,eAAe,CACpB,+BAA+B,EAC/B,wCAAgC,EAChC,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,SAAgB,iCAAiC,CAC/C,GAAY;IAEZ,OAAO,eAAe,CACpB,iCAAiC,EACjC,0CAAkC,EAClC,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,SAAgB,iCAAiC,CAC/C,GAAY;IAEZ,OAAO,eAAe,CACpB,iCAAiC,EACjC,0CAAkC,EAClC,GAAG,CACJ,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
- import { z } from 'zod';
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 declare const XEMA_KERNEL_CONTRACT_SOURCE_PATHS: readonly ["packages/kernel/kernel-contracts/src/distribution/index.ts", "packages/kernel/kernel-contracts/src/distribution/lib/image-lock.ts", "packages/kernel/kernel-contracts/src/distribution/lib/image-producer-evidence.ts", "packages/kernel/kernel-contracts/src/distribution/lib/kernel-contract-authority.ts", "packages/kernel/kernel-contracts/src/distribution/lib/runtime-image-source-index.ts"];
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.ZodTuple<[z.ZodLiteral<"packages/kernel/kernel-contracts/src/distribution/index.ts">, z.ZodLiteral<"packages/kernel/kernel-contracts/src/distribution/lib/image-lock.ts">, z.ZodLiteral<"packages/kernel/kernel-contracts/src/distribution/lib/image-producer-evidence.ts">, z.ZodLiteral<"packages/kernel/kernel-contracts/src/distribution/lib/kernel-contract-authority.ts">, z.ZodLiteral<"packages/kernel/kernel-contracts/src/distribution/lib/runtime-image-source-index.ts">], null>>;
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;AAGxB,eAAO,MAAM,mCAAmC,EAC9C,uDAAgE,CAAC;AAEnE,eAAO,MAAM,iCAAiC,iZAMnC,CAAC;AAEZ,eAAO,MAAM,gCAAgC,EAAG,QAAiB,CAAC;AAElE,eAAO,MAAM,wCAAwC,EACnD,4DAAqE,CAAC;AAExE,eAAO,MAAM,4CAA4C,EACvD,uCAAgD,CAAC;AAEnD,eAAO,MAAM,6CAA6C,EAAG,CAAU,CAAC;AAExE,oBAAY,kCAAkC;IAC5C,6BAA6B,8EAA8E;CAC5G;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAKD,eAAO,MAAM,6BAA6B;;;;;;;;kBAoB/B,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAUF,wBAAgB,2CAA2C,CACzD,OAAO,EAAE,SAAS,mCAAmC,EAAE,GACtD,UAAU,CAuBZ;AAKD,wBAAsB,2CAA2C,CAC/D,OAAO,EAAE,SAAS,mCAAmC,EAAE,GACtD,OAAO,CAAC,MAAM,CAAC,CAEjB"}
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
- exports.XEMA_KERNEL_CONTRACT_REPOSITORY_URL = 'https://github.com/xema-dev/xema-kernel-contracts.git';
9
- exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS = Object.freeze([
10
- 'packages/kernel/kernel-contracts/src/distribution/index.ts',
11
- 'packages/kernel/kernel-contracts/src/distribution/lib/image-lock.ts',
12
- 'packages/kernel/kernel-contracts/src/distribution/lib/image-producer-evidence.ts',
13
- 'packages/kernel/kernel-contracts/src/distribution/lib/kernel-contract-authority.ts',
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
- const Sha256HexSchema = zod_1.z.string().regex(/^[a-f0-9]{64}$/);
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
- .tuple([
34
- zod_1.z.literal(exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS[0]),
35
- zod_1.z.literal(exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS[1]),
36
- zod_1.z.literal(exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS[2]),
37
- zod_1.z.literal(exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS[3]),
38
- zod_1.z.literal(exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS[4]),
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('Kernel contract authority sources must be an array.');
160
+ throw new Error("Kernel contract authority sources must be an array.");
67
161
  }
68
- if (sources.length !== exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS.length) {
69
- throw new Error(`Kernel contract authority requires exactly ${exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS.length} sources.`);
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 exports.XEMA_KERNEL_CONTRACT_SOURCE_PATHS.entries()) {
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}".`);