@xemahq/edition-tooling 0.0.0-stage → 0.1.1

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 (219) hide show
  1. package/LICENSE +175 -0
  2. package/dist/cli.d.ts +7 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +47 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/edition.d.ts +4 -0
  7. package/dist/commands/edition.d.ts.map +1 -0
  8. package/dist/commands/edition.js +58 -0
  9. package/dist/commands/edition.js.map +1 -0
  10. package/dist/edition/verify-image-evidence.bundle.mjs +72104 -0
  11. package/dist/edition/verify-image-evidence.bundle.provenance.json +4119 -0
  12. package/dist/lib/exit-codes.d.ts +6 -0
  13. package/dist/lib/exit-codes.d.ts.map +1 -0
  14. package/dist/lib/exit-codes.js +21 -0
  15. package/dist/lib/exit-codes.js.map +1 -0
  16. package/dist/runtime/edition/run-entry.d.ts +10 -0
  17. package/dist/runtime/edition/run-entry.d.ts.map +1 -0
  18. package/dist/runtime/edition/run-entry.js +49 -0
  19. package/dist/runtime/edition/run-entry.js.map +1 -0
  20. package/dist/runtime/edition/verb-map.d.ts +70 -0
  21. package/dist/runtime/edition/verb-map.d.ts.map +1 -0
  22. package/dist/runtime/edition/verb-map.js +166 -0
  23. package/dist/runtime/edition/verb-map.js.map +1 -0
  24. package/edition/README.md +291 -0
  25. package/edition/adapter-bundled-versions.mjs +128 -0
  26. package/edition/adapter-host-versions.mjs +76 -0
  27. package/edition/assemble-producer-input.mjs +1423 -0
  28. package/edition/assemble-third-party-input.mjs +348 -0
  29. package/edition/authored-source-check.mjs +141 -0
  30. package/edition/authority-binding.mjs +23 -0
  31. package/edition/authorization-base.mjs +357 -0
  32. package/edition/biome-content.mjs +327 -0
  33. package/edition/build-biome-index.mjs +180 -0
  34. package/edition/build-ledger-completeness.mjs +67 -0
  35. package/edition/build-ledger.mjs +107 -0
  36. package/edition/build-platform-service-index.mjs +292 -0
  37. package/edition/build-runtime-image-source-index.mjs +1197 -0
  38. package/edition/built-verifier.mjs +55 -0
  39. package/edition/candidate-edition.mjs +735 -0
  40. package/edition/canonical-evidence-json.mjs +82 -0
  41. package/edition/canonical-repository-url.mjs +61 -0
  42. package/edition/catalogue-edition.mjs +49 -0
  43. package/edition/catalogue-evidence.mjs +228 -0
  44. package/edition/catalogue-fetch.mjs +124 -0
  45. package/edition/catalogue-lock-field.mjs +41 -0
  46. package/edition/catalogue-pin.mjs +71 -0
  47. package/edition/catalogue.mjs +237 -0
  48. package/edition/chart-set-source-commit.mjs +97 -0
  49. package/edition/check-committed-image-evidence.mjs +412 -0
  50. package/edition/checkout-indexed-source-repositories.mjs +283 -0
  51. package/edition/collected-refusals.mjs +59 -0
  52. package/edition/comment-blanker.mjs +75 -0
  53. package/edition/connector-source-authority.mjs +60 -0
  54. package/edition/contract-authority.mjs +122 -0
  55. package/edition/cosign-certificate-constraints.mjs +50 -0
  56. package/edition/cross-repo-build-inputs.mjs +158 -0
  57. package/edition/customer-definition.mjs +72 -0
  58. package/edition/customer-edition-verbs.mjs +610 -0
  59. package/edition/customer-flags.mjs +15 -0
  60. package/edition/definition-checkout.mjs +96 -0
  61. package/edition/develop-build-record.mjs +122 -0
  62. package/edition/develop-catalogue-free-resolve.mjs +282 -0
  63. package/edition/develop-catalogue-free-vendor.mjs +118 -0
  64. package/edition/develop-channel-evidence.mjs +23 -0
  65. package/edition/develop-channel-record.mjs +49 -0
  66. package/edition/develop-channel-satellites.mjs +65 -0
  67. package/edition/develop-chart-roster.mjs +96 -0
  68. package/edition/develop-chart-set.mjs +147 -0
  69. package/edition/develop-current-resolution.mjs +29 -0
  70. package/edition/develop-edition-invariants.mjs +142 -0
  71. package/edition/develop-edition-resolve.mjs +250 -0
  72. package/edition/develop-edition.mjs +332 -0
  73. package/edition/develop-engine-image.mjs +97 -0
  74. package/edition/develop-freeze.mjs +304 -0
  75. package/edition/develop-git-bundles.mjs +296 -0
  76. package/edition/develop-graph.mjs +34 -0
  77. package/edition/develop-image-coordinate.mjs +85 -0
  78. package/edition/develop-image-probe.mjs +122 -0
  79. package/edition/develop-image-record.mjs +260 -0
  80. package/edition/develop-resolve-report.mjs +159 -0
  81. package/edition/develop-select-records.mjs +90 -0
  82. package/edition/develop-selection-line.mjs +29 -0
  83. package/edition/develop-selection-pins.mjs +36 -0
  84. package/edition/develop-snapshot-inputs.mjs +112 -0
  85. package/edition/develop-store-root.mjs +20 -0
  86. package/edition/dispatched-runtime-components.mjs +172 -0
  87. package/edition/dist-check.mjs +1174 -0
  88. package/edition/distribution-evidence-set.mjs +1064 -0
  89. package/edition/distribution-paths.mjs +191 -0
  90. package/edition/edition-artifact.mjs +529 -0
  91. package/edition/edition-biome-manifests.mjs +85 -0
  92. package/edition/edition-ceiling.mjs +182 -0
  93. package/edition/edition-channel.mjs +27 -0
  94. package/edition/edition-chart-set.mjs +104 -0
  95. package/edition/edition-config.mjs +374 -0
  96. package/edition/edition-constants.mjs +110 -0
  97. package/edition/edition-contract-parse.mjs +179 -0
  98. package/edition/edition-contract.json +100 -0
  99. package/edition/edition-image-seal.mjs +115 -0
  100. package/edition/edition-kind.mjs +10 -0
  101. package/edition/edition-list.mjs +35 -0
  102. package/edition/edition-locks.mjs +78 -0
  103. package/edition/edition-pin-verbs.mjs +183 -0
  104. package/edition/edition-pin.mjs +17 -0
  105. package/edition/edition-pinned-inputs.mjs +116 -0
  106. package/edition/edition-protocol.mjs +285 -0
  107. package/edition/edition-publisher.mjs +21 -0
  108. package/edition/edition-seal.mjs +257 -0
  109. package/edition/edition-source-pins.mjs +211 -0
  110. package/edition/edition-unpin.mjs +16 -0
  111. package/edition/edition-workspace.mjs +205 -0
  112. package/edition/evidence-checkout.mjs +439 -0
  113. package/edition/evidence-grammars.mjs +18 -0
  114. package/edition/evidence-input-mode.mjs +136 -0
  115. package/edition/evidence-trust-pin.mjs +392 -0
  116. package/edition/evidence-trust-policy.mjs +374 -0
  117. package/edition/external-source-walk.mjs +486 -0
  118. package/edition/first-party-source-ids.mjs +62 -0
  119. package/edition/fleet-coordinate-finality.mjs +363 -0
  120. package/edition/fulcio-certificate-extensions.mjs +278 -0
  121. package/edition/git-json.mjs +54 -0
  122. package/edition/git-source-auth.mjs +131 -0
  123. package/edition/image-delivery-entitlement-descriptor.mjs +106 -0
  124. package/edition/image-evidence-replay-state.mjs +242 -0
  125. package/edition/image-evidence.mjs +1328 -0
  126. package/edition/image-lock-service-rows.mjs +26 -0
  127. package/edition/image-subject-identity.mjs +19 -0
  128. package/edition/images-from-record.mjs +216 -0
  129. package/edition/indexes-at-pins.mjs +13 -0
  130. package/edition/infra-images-lock.mjs +105 -0
  131. package/edition/kernel-capability-domain.mjs +30 -0
  132. package/edition/kernel-contract-authority.mjs +526 -0
  133. package/edition/kernel-contract-source-path-set.mjs +96 -0
  134. package/edition/kernel-package.mjs +237 -0
  135. package/edition/kernel-pin-source.mjs +63 -0
  136. package/edition/kernel-protocol-choice.mjs +239 -0
  137. package/edition/kernel-signer-kind.mjs +23 -0
  138. package/edition/lib.mjs +3322 -0
  139. package/edition/locked-bundle-signer.mjs +297 -0
  140. package/edition/map-with-concurrency.mjs +19 -0
  141. package/edition/no-follow-file.mjs +94 -0
  142. package/edition/oci-evidence-verbs.mjs +421 -0
  143. package/edition/oci-image-source-evidence.mjs +377 -0
  144. package/edition/operation-grant-admission.mjs +285 -0
  145. package/edition/operation-requirements.mjs +282 -0
  146. package/edition/oras-process.mjs +35 -0
  147. package/edition/oras.mjs +664 -0
  148. package/edition/pin-source.mjs +242 -0
  149. package/edition/pinned-cosign.mjs +86 -0
  150. package/edition/plan-image-evidence-refresh.mjs +428 -0
  151. package/edition/platform-lock-readability.mjs +903 -0
  152. package/edition/platform-service-class.mjs +85 -0
  153. package/edition/platform-service-ownership.mjs +91 -0
  154. package/edition/platform-service-source-authority.mjs +105 -0
  155. package/edition/positive-closure.mjs +162 -0
  156. package/edition/previous-image-lock.mjs +25 -0
  157. package/edition/produce-distribution-completeness-evidence.mjs +317 -0
  158. package/edition/produce-edition-catalogue-evidence.mjs +252 -0
  159. package/edition/produce-image-delivery-entitlement-evidence.mjs +302 -0
  160. package/edition/produce-image-source-evidence.mjs +788 -0
  161. package/edition/producer-evidence-bundle.mjs +201 -0
  162. package/edition/producer-evidence-index-file.mjs +4 -0
  163. package/edition/record-refused.mjs +11 -0
  164. package/edition/registry-client-factory.mjs +21 -0
  165. package/edition/registry-credentials.mjs +225 -0
  166. package/edition/release-catalogue.mjs +48 -0
  167. package/edition/release-channel-guard.mjs +108 -0
  168. package/edition/release-edition-artifact.mjs +152 -0
  169. package/edition/release-edition.mjs +54 -0
  170. package/edition/remedy-command.mjs +89 -0
  171. package/edition/repin-evidence-trust.mjs +109 -0
  172. package/edition/required-resource-provider.mjs +58 -0
  173. package/edition/resolve-chart-set.mjs +376 -0
  174. package/edition/resolve-customer-edition.mjs +374 -0
  175. package/edition/resolve-distribution.mjs +2642 -0
  176. package/edition/resolve-edition.mjs +192 -0
  177. package/edition/resolve-images.mjs +2344 -0
  178. package/edition/resolve-infra-images.mjs +88 -0
  179. package/edition/seal-image-digests.mjs +954 -0
  180. package/edition/sealed-distribution-lock.mjs +22 -0
  181. package/edition/sealed-evidence-accept.mjs +82 -0
  182. package/edition/shallow-checkout.mjs +18 -0
  183. package/edition/sigstore-bundle-media-type.mjs +4 -0
  184. package/edition/source-authority.mjs +713 -0
  185. package/edition/source-closure.mjs +115 -0
  186. package/edition/store-publisher-trust.mjs +40 -0
  187. package/edition/strict-json.mjs +121 -0
  188. package/edition/string-order.mjs +5 -0
  189. package/edition/third-party-admission.mjs +118 -0
  190. package/edition/third-party-bundle-registry.mjs +349 -0
  191. package/edition/third-party-certificate-extensions.mjs +58 -0
  192. package/edition/third-party-image-pins.mjs +41 -0
  193. package/edition/third-party-pins-trusted.mjs +24 -0
  194. package/edition/third-party-producer-evidence.mjs +76 -0
  195. package/edition/third-party-source-check.mjs +28 -0
  196. package/edition/third-party-source-context.mjs +41 -0
  197. package/edition/third-party-source-evidence.mjs +326 -0
  198. package/edition/third-party-source-flags.mjs +148 -0
  199. package/edition/third-party-source-pins.mjs +270 -0
  200. package/edition/third-party-source-uniqueness.mjs +54 -0
  201. package/edition/third-party-source-walk.mjs +118 -0
  202. package/edition/third-party-source-writer.mjs +228 -0
  203. package/edition/third-party-subjects.mjs +128 -0
  204. package/edition/trust-policy-arming-verb.mjs +60 -0
  205. package/edition/trust-policy-arming.mjs +144 -0
  206. package/edition/trust-policy-image-ownership.mjs +85 -0
  207. package/edition/trusted-executable.mjs +166 -0
  208. package/edition/verifier-binding.mjs +45 -0
  209. package/edition/verifier-digest-pin.mjs +17 -0
  210. package/edition/verifier-files.mjs +8 -0
  211. package/edition/verifier-kernel-schemas.mjs +22 -0
  212. package/edition/verifier-provenance.mjs +64 -0
  213. package/edition/verify-catalogue-evidence.mjs +247 -0
  214. package/edition/verify-image-evidence.mjs +493 -0
  215. package/edition/verify-image-platforms.mjs +523 -0
  216. package/edition/why.mjs +56 -0
  217. package/edition/workspace-sections.mjs +287 -0
  218. package/package.json +83 -4
  219. package/README.md +0 -3
@@ -0,0 +1,6 @@
1
+ export declare enum EditionExitCode {
2
+ Ok = 0,
3
+ GenericError = 1
4
+ }
5
+ export declare function exitWith(code: EditionExitCode, message?: string): never;
6
+ //# sourceMappingURL=exit-codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-codes.d.ts","sourceRoot":"","sources":["../../src/lib/exit-codes.ts"],"names":[],"mappings":"AAIA,oBAAY,eAAe;IACzB,EAAE,IAAI;IACN,YAAY,IAAI;CACjB;AAGD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CASvE"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EditionExitCode = void 0;
4
+ exports.exitWith = exitWith;
5
+ var EditionExitCode;
6
+ (function (EditionExitCode) {
7
+ EditionExitCode[EditionExitCode["Ok"] = 0] = "Ok";
8
+ EditionExitCode[EditionExitCode["GenericError"] = 1] = "GenericError";
9
+ })(EditionExitCode || (exports.EditionExitCode = EditionExitCode = {}));
10
+ function exitWith(code, message) {
11
+ if (message !== undefined && message.length > 0) {
12
+ if (code === EditionExitCode.Ok) {
13
+ console.log(message);
14
+ }
15
+ else {
16
+ console.error(message);
17
+ }
18
+ }
19
+ process.exit(code);
20
+ }
21
+ //# sourceMappingURL=exit-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-codes.js","sourceRoot":"","sources":["../../src/lib/exit-codes.ts"],"names":[],"mappings":";;;AAUA,4BASC;AAfD,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,iDAAM,CAAA;IACN,qEAAgB,CAAA;AAClB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAGD,SAAgB,QAAQ,CAAC,IAAqB,EAAE,OAAgB;IAC9D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,IAAI,KAAK,eAAe,CAAC,EAAE,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type EditionVerb } from './verb-map';
2
+ export declare const EDITION_LIBRARY_DIR: string;
3
+ export declare const EDITION_BUNDLE_DIR: string;
4
+ export declare const EVIDENCE_VERIFIER_ENV_KEYS: readonly string[];
5
+ export interface EditionRunResult {
6
+ readonly exitCode: number;
7
+ }
8
+ export declare function runEditionVerb(verb: EditionVerb, args: readonly string[], libraryDir?: string, bundleDir?: string, environment?: NodeJS.ProcessEnv): EditionRunResult;
9
+ export declare function captureEditionVerb(verb: EditionVerb, args: readonly string[], libraryDir?: string, bundleDir?: string, environment?: NodeJS.ProcessEnv): string;
10
+ //# sourceMappingURL=run-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-entry.d.ts","sourceRoot":"","sources":["../../../src/runtime/edition/run-entry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkD,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAS9F,eAAO,MAAM,mBAAmB,QAA+C,CAAC;AAGhF,eAAO,MAAM,kBAAkB,QAAuD,CAAC;AAOvF,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAAuD,CAAC;AAahH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AA4BD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,UAAU,GAAE,MAA4B,EACxC,SAAS,GAAE,MAA2B,EACtC,WAAW,GAAE,MAAM,CAAC,UAAwB,GAC3C,gBAAgB,CAElB;AAGD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,UAAU,GAAE,MAA4B,EACxC,SAAS,GAAE,MAA2B,EACtC,WAAW,GAAE,MAAM,CAAC,UAAwB,GAC3C,MAAM,CAMR"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EVIDENCE_VERIFIER_ENV_KEYS = exports.EDITION_BUNDLE_DIR = exports.EDITION_LIBRARY_DIR = void 0;
4
+ exports.runEditionVerb = runEditionVerb;
5
+ exports.captureEditionVerb = captureEditionVerb;
6
+ const node_child_process_1 = require("node:child_process");
7
+ const node_path_1 = require("node:path");
8
+ const verb_map_1 = require("./verb-map");
9
+ exports.EDITION_LIBRARY_DIR = (0, node_path_1.join)(__dirname, '..', '..', '..', 'edition');
10
+ exports.EDITION_BUNDLE_DIR = (0, node_path_1.join)(__dirname, '..', '..', '..', 'dist', 'edition');
11
+ exports.EVIDENCE_VERIFIER_ENV_KEYS = ['PATH', 'HOME', 'TMPDIR', 'LANG', 'LC_ALL', 'TZ'];
12
+ function reducedEnvironment(source) {
13
+ const reduced = {};
14
+ for (const key of exports.EVIDENCE_VERIFIER_ENV_KEYS) {
15
+ const value = source[key];
16
+ if (value !== undefined) {
17
+ reduced[key] = value;
18
+ }
19
+ }
20
+ return reduced;
21
+ }
22
+ function spawnEdition(verb, args, libraryDir, bundleDir, environment, capture) {
23
+ const invocation = (0, verb_map_1.resolveEditionInvocation)(verb, args);
24
+ const bundled = invocation.location === verb_map_1.EditionEntryLocation.Bundle;
25
+ const result = (0, node_child_process_1.spawnSync)(process.execPath, [(0, node_path_1.join)(bundled ? bundleDir : libraryDir, invocation.entry), ...invocation.args], {
26
+ stdio: capture ? ['ignore', 'pipe', 'inherit'] : 'inherit',
27
+ encoding: 'utf8',
28
+ maxBuffer: 256 * 1024 * 1024,
29
+ ...(bundled ? { env: reducedEnvironment(environment) } : {}),
30
+ });
31
+ if (result.error !== undefined) {
32
+ throw new Error(`could not start ${invocation.entry}: ${result.error.message}`);
33
+ }
34
+ if (result.status === null) {
35
+ throw new Error(`${invocation.entry} was terminated by ${result.signal ?? 'a signal'}`);
36
+ }
37
+ return { exitCode: result.status, stdout: capture ? result.stdout : '' };
38
+ }
39
+ function runEditionVerb(verb, args, libraryDir = exports.EDITION_LIBRARY_DIR, bundleDir = exports.EDITION_BUNDLE_DIR, environment = process.env) {
40
+ return { exitCode: spawnEdition(verb, args, libraryDir, bundleDir, environment, false).exitCode };
41
+ }
42
+ function captureEditionVerb(verb, args, libraryDir = exports.EDITION_LIBRARY_DIR, bundleDir = exports.EDITION_BUNDLE_DIR, environment = process.env) {
43
+ const { exitCode, stdout } = spawnEdition(verb, args, libraryDir, bundleDir, environment, true);
44
+ if (exitCode !== 0) {
45
+ throw new Error(`xema edition ${verb} exited ${exitCode}`);
46
+ }
47
+ return stdout;
48
+ }
49
+ //# sourceMappingURL=run-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-entry.js","sourceRoot":"","sources":["../../../src/runtime/edition/run-entry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ export declare enum EditionVerb {
2
+ Resolve = "resolve",
3
+ Seal = "seal",
4
+ ResolveDigests = "resolve-digests",
5
+ Develop = "develop",
6
+ Release = "release",
7
+ Artifact = "artifact",
8
+ Catalogue = "catalogue",
9
+ Index = "index",
10
+ Check = "check",
11
+ CheckAuthored = "check-authored",
12
+ Why = "why",
13
+ VerifyPlatforms = "verify-platforms",
14
+ CheckoutSources = "checkout-sources",
15
+ RepinEvidenceTrust = "repin-evidence-trust",
16
+ VerifyEvidence = "verify-evidence",
17
+ Evidence = "evidence",
18
+ List = "list",
19
+ Locks = "locks",
20
+ SourceClosure = "source-closure",
21
+ ChartSet = "chart-set",
22
+ BiomeManifests = "biome-manifests",
23
+ Arming = "arming",
24
+ Pin = "pin",
25
+ Unpin = "unpin",
26
+ Ceiling = "ceiling",
27
+ ContractAuthority = "contract-authority"
28
+ }
29
+ export declare enum EditionChartSetOperation {
30
+ Resolve = "resolve",
31
+ SourceCommit = "source-commit"
32
+ }
33
+ export declare enum EditionEvidenceKind {
34
+ AssembleInput = "assemble-input",
35
+ AssembleThirdPartyInput = "assemble-third-party-input",
36
+ Statement = "statement",
37
+ AssembleSet = "assemble-set",
38
+ CheckCommitted = "check-committed",
39
+ PlanRefresh = "plan-refresh",
40
+ Oci = "oci"
41
+ }
42
+ export declare enum EditionEvidenceStatement {
43
+ Producer = "producer",
44
+ Completeness = "completeness",
45
+ Entitlement = "entitlement",
46
+ Catalogue = "catalogue"
47
+ }
48
+ export declare enum EditionIndexKind {
49
+ Biome = "biome",
50
+ PlatformService = "platform-service",
51
+ RuntimeImageSource = "runtime-image-source"
52
+ }
53
+ export declare enum EditionEntryLocation {
54
+ Library = "library",
55
+ Bundle = "bundle"
56
+ }
57
+ export declare const EDITION_BUNDLE_VERB_ENTRY: Readonly<Record<EditionVerb.VerifyEvidence, string>>;
58
+ export declare const EDITION_VERB_ENTRY: Readonly<Record<Exclude<EditionVerb, EditionVerb.Index | EditionVerb.VerifyEvidence | EditionVerb.Evidence | EditionVerb.ChartSet>, string>>;
59
+ export declare const EDITION_CHART_SET_ENTRY: Readonly<Record<EditionChartSetOperation, string>>;
60
+ export declare const EDITION_EVIDENCE_STATEMENT_ENTRY: Readonly<Record<EditionEvidenceStatement, string>>;
61
+ export declare const EDITION_EVIDENCE_ENTRY: Readonly<Record<Exclude<EditionEvidenceKind, EditionEvidenceKind.Statement>, string>>;
62
+ export declare const EVIDENCE_ACCEPT_PHASE = "accept";
63
+ export declare const EDITION_INDEX_ENTRY: Readonly<Record<EditionIndexKind, string>>;
64
+ export interface EditionInvocation {
65
+ readonly location: EditionEntryLocation;
66
+ readonly entry: string;
67
+ readonly args: readonly string[];
68
+ }
69
+ export declare function resolveEditionInvocation(verb: EditionVerb, args: readonly string[]): EditionInvocation;
70
+ //# sourceMappingURL=verb-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verb-map.d.ts","sourceRoot":"","sources":["../../../src/runtime/edition/verb-map.ts"],"names":[],"mappings":"AAKA,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,cAAc,oBAAoB;IAClC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,aAAa,mBAAmB;IAChC,GAAG,QAAQ;IACX,eAAe,qBAAqB;IACpC,eAAe,qBAAqB;IACpC,kBAAkB,yBAAyB;IAC3C,cAAc,oBAAoB;IAClC,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,aAAa,mBAAmB;IAChC,QAAQ,cAAc;IACtB,cAAc,oBAAoB;IAClC,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,iBAAiB,uBAAuB;CACzC;AAGD,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,YAAY,kBAAkB;CAC/B;AAGD,oBAAY,mBAAmB;IAC7B,aAAa,mBAAmB;IAChC,uBAAuB,+BAA+B;IACtD,SAAS,cAAc;IACvB,WAAW,iBAAiB;IAC5B,cAAc,oBAAoB;IAClC,WAAW,iBAAiB;IAC5B,GAAG,QAAQ;CACZ;AAGD,oBAAY,wBAAwB;IAClC,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;CACxB;AAGD,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,eAAe,qBAAqB;IACpC,kBAAkB,yBAAyB;CAC5C;AAGD,oBAAY,oBAAoB;IAC9B,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAGD,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAE1F,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CACvC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,cAAc,GAAG,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAwBnI,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAGtF,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAK/F,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAUxH,CAAC;AAGF,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAE9C,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAI1E,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAEhC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IAExC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAiDD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,CAoBtG"}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EDITION_INDEX_ENTRY = exports.EVIDENCE_ACCEPT_PHASE = exports.EDITION_EVIDENCE_ENTRY = exports.EDITION_EVIDENCE_STATEMENT_ENTRY = exports.EDITION_CHART_SET_ENTRY = exports.EDITION_VERB_ENTRY = exports.EDITION_BUNDLE_VERB_ENTRY = exports.EditionEntryLocation = exports.EditionIndexKind = exports.EditionEvidenceStatement = exports.EditionEvidenceKind = exports.EditionChartSetOperation = exports.EditionVerb = void 0;
4
+ exports.resolveEditionInvocation = resolveEditionInvocation;
5
+ var EditionVerb;
6
+ (function (EditionVerb) {
7
+ EditionVerb["Resolve"] = "resolve";
8
+ EditionVerb["Seal"] = "seal";
9
+ EditionVerb["ResolveDigests"] = "resolve-digests";
10
+ EditionVerb["Develop"] = "develop";
11
+ EditionVerb["Release"] = "release";
12
+ EditionVerb["Artifact"] = "artifact";
13
+ EditionVerb["Catalogue"] = "catalogue";
14
+ EditionVerb["Index"] = "index";
15
+ EditionVerb["Check"] = "check";
16
+ EditionVerb["CheckAuthored"] = "check-authored";
17
+ EditionVerb["Why"] = "why";
18
+ EditionVerb["VerifyPlatforms"] = "verify-platforms";
19
+ EditionVerb["CheckoutSources"] = "checkout-sources";
20
+ EditionVerb["RepinEvidenceTrust"] = "repin-evidence-trust";
21
+ EditionVerb["VerifyEvidence"] = "verify-evidence";
22
+ EditionVerb["Evidence"] = "evidence";
23
+ EditionVerb["List"] = "list";
24
+ EditionVerb["Locks"] = "locks";
25
+ EditionVerb["SourceClosure"] = "source-closure";
26
+ EditionVerb["ChartSet"] = "chart-set";
27
+ EditionVerb["BiomeManifests"] = "biome-manifests";
28
+ EditionVerb["Arming"] = "arming";
29
+ EditionVerb["Pin"] = "pin";
30
+ EditionVerb["Unpin"] = "unpin";
31
+ EditionVerb["Ceiling"] = "ceiling";
32
+ EditionVerb["ContractAuthority"] = "contract-authority";
33
+ })(EditionVerb || (exports.EditionVerb = EditionVerb = {}));
34
+ var EditionChartSetOperation;
35
+ (function (EditionChartSetOperation) {
36
+ EditionChartSetOperation["Resolve"] = "resolve";
37
+ EditionChartSetOperation["SourceCommit"] = "source-commit";
38
+ })(EditionChartSetOperation || (exports.EditionChartSetOperation = EditionChartSetOperation = {}));
39
+ var EditionEvidenceKind;
40
+ (function (EditionEvidenceKind) {
41
+ EditionEvidenceKind["AssembleInput"] = "assemble-input";
42
+ EditionEvidenceKind["AssembleThirdPartyInput"] = "assemble-third-party-input";
43
+ EditionEvidenceKind["Statement"] = "statement";
44
+ EditionEvidenceKind["AssembleSet"] = "assemble-set";
45
+ EditionEvidenceKind["CheckCommitted"] = "check-committed";
46
+ EditionEvidenceKind["PlanRefresh"] = "plan-refresh";
47
+ EditionEvidenceKind["Oci"] = "oci";
48
+ })(EditionEvidenceKind || (exports.EditionEvidenceKind = EditionEvidenceKind = {}));
49
+ var EditionEvidenceStatement;
50
+ (function (EditionEvidenceStatement) {
51
+ EditionEvidenceStatement["Producer"] = "producer";
52
+ EditionEvidenceStatement["Completeness"] = "completeness";
53
+ EditionEvidenceStatement["Entitlement"] = "entitlement";
54
+ EditionEvidenceStatement["Catalogue"] = "catalogue";
55
+ })(EditionEvidenceStatement || (exports.EditionEvidenceStatement = EditionEvidenceStatement = {}));
56
+ var EditionIndexKind;
57
+ (function (EditionIndexKind) {
58
+ EditionIndexKind["Biome"] = "biome";
59
+ EditionIndexKind["PlatformService"] = "platform-service";
60
+ EditionIndexKind["RuntimeImageSource"] = "runtime-image-source";
61
+ })(EditionIndexKind || (exports.EditionIndexKind = EditionIndexKind = {}));
62
+ var EditionEntryLocation;
63
+ (function (EditionEntryLocation) {
64
+ EditionEntryLocation["Library"] = "library";
65
+ EditionEntryLocation["Bundle"] = "bundle";
66
+ })(EditionEntryLocation || (exports.EditionEntryLocation = EditionEntryLocation = {}));
67
+ exports.EDITION_BUNDLE_VERB_ENTRY = {
68
+ [EditionVerb.VerifyEvidence]: 'verify-image-evidence.bundle.mjs',
69
+ };
70
+ exports.EDITION_VERB_ENTRY = {
71
+ [EditionVerb.Resolve]: 'resolve-edition.mjs',
72
+ [EditionVerb.Seal]: 'edition-seal.mjs',
73
+ [EditionVerb.ResolveDigests]: 'seal-image-digests.mjs',
74
+ [EditionVerb.Develop]: 'develop-edition.mjs',
75
+ [EditionVerb.Release]: 'release-edition.mjs',
76
+ [EditionVerb.Artifact]: 'release-edition-artifact.mjs',
77
+ [EditionVerb.Catalogue]: 'catalogue-edition.mjs',
78
+ [EditionVerb.Check]: 'dist-check.mjs',
79
+ [EditionVerb.CheckAuthored]: 'authored-source-check.mjs',
80
+ [EditionVerb.Why]: 'why.mjs',
81
+ [EditionVerb.VerifyPlatforms]: 'verify-image-platforms.mjs',
82
+ [EditionVerb.CheckoutSources]: 'checkout-indexed-source-repositories.mjs',
83
+ [EditionVerb.RepinEvidenceTrust]: 'repin-evidence-trust.mjs',
84
+ [EditionVerb.List]: 'edition-list.mjs',
85
+ [EditionVerb.Locks]: 'edition-locks.mjs',
86
+ [EditionVerb.SourceClosure]: 'source-closure.mjs',
87
+ [EditionVerb.BiomeManifests]: 'edition-biome-manifests.mjs',
88
+ [EditionVerb.Arming]: 'trust-policy-arming-verb.mjs',
89
+ [EditionVerb.Pin]: 'edition-pin.mjs',
90
+ [EditionVerb.Unpin]: 'edition-unpin.mjs',
91
+ [EditionVerb.Ceiling]: 'edition-ceiling.mjs',
92
+ [EditionVerb.ContractAuthority]: 'contract-authority.mjs',
93
+ };
94
+ exports.EDITION_CHART_SET_ENTRY = {
95
+ [EditionChartSetOperation.Resolve]: 'resolve-chart-set.mjs',
96
+ [EditionChartSetOperation.SourceCommit]: 'chart-set-source-commit.mjs',
97
+ };
98
+ exports.EDITION_EVIDENCE_STATEMENT_ENTRY = {
99
+ [EditionEvidenceStatement.Producer]: 'produce-image-source-evidence.mjs',
100
+ [EditionEvidenceStatement.Completeness]: 'produce-distribution-completeness-evidence.mjs',
101
+ [EditionEvidenceStatement.Entitlement]: 'produce-image-delivery-entitlement-evidence.mjs',
102
+ [EditionEvidenceStatement.Catalogue]: 'produce-edition-catalogue-evidence.mjs',
103
+ };
104
+ exports.EDITION_EVIDENCE_ENTRY = {
105
+ [EditionEvidenceKind.AssembleInput]: 'assemble-producer-input.mjs',
106
+ [EditionEvidenceKind.AssembleThirdPartyInput]: 'assemble-third-party-input.mjs',
107
+ [EditionEvidenceKind.AssembleSet]: exports.EDITION_EVIDENCE_STATEMENT_ENTRY[EditionEvidenceStatement.Completeness],
108
+ [EditionEvidenceKind.CheckCommitted]: 'check-committed-image-evidence.mjs',
109
+ [EditionEvidenceKind.PlanRefresh]: 'plan-image-evidence-refresh.mjs',
110
+ [EditionEvidenceKind.Oci]: 'oci-evidence-verbs.mjs',
111
+ };
112
+ exports.EVIDENCE_ACCEPT_PHASE = 'accept';
113
+ exports.EDITION_INDEX_ENTRY = {
114
+ [EditionIndexKind.Biome]: 'build-biome-index.mjs',
115
+ [EditionIndexKind.PlatformService]: 'build-platform-service-index.mjs',
116
+ [EditionIndexKind.RuntimeImageSource]: 'build-runtime-image-source-index.mjs',
117
+ };
118
+ const isIndexKind = (value) => Object.values(EditionIndexKind).some((kind) => kind === value);
119
+ const isEvidenceKind = (value) => Object.values(EditionEvidenceKind).some((kind) => kind === value);
120
+ const isEvidenceStatement = (value) => Object.values(EditionEvidenceStatement).some((statement) => statement === value);
121
+ const named = (value) => (value === undefined ? 'nothing' : `"${value}"`);
122
+ function resolveEvidenceInvocation(args) {
123
+ const [kind, ...rest] = args;
124
+ if (!isEvidenceKind(kind)) {
125
+ throw new Error(`xema-edition evidence needs one of ${Object.values(EditionEvidenceKind).join(', ')} (got ${named(kind)})`);
126
+ }
127
+ if (kind === EditionEvidenceKind.AssembleSet) {
128
+ return { location: EditionEntryLocation.Library, entry: exports.EDITION_EVIDENCE_ENTRY[kind], args: [exports.EVIDENCE_ACCEPT_PHASE, ...rest] };
129
+ }
130
+ if (kind !== EditionEvidenceKind.Statement) {
131
+ return { location: EditionEntryLocation.Library, entry: exports.EDITION_EVIDENCE_ENTRY[kind], args: rest };
132
+ }
133
+ const [statement, ...statementArgs] = rest;
134
+ if (!isEvidenceStatement(statement)) {
135
+ throw new Error(`xema-edition evidence statement needs one of ${Object.values(EditionEvidenceStatement).join(', ')} (got ${named(statement)})`);
136
+ }
137
+ return { location: EditionEntryLocation.Library, entry: exports.EDITION_EVIDENCE_STATEMENT_ENTRY[statement], args: statementArgs };
138
+ }
139
+ const isChartSetOperation = (value) => Object.values(EditionChartSetOperation).some((operation) => operation === value);
140
+ function resolveChartSetInvocation(args) {
141
+ const [operation, ...rest] = args;
142
+ if (!isChartSetOperation(operation)) {
143
+ throw new Error(`xema-edition chart-set needs one of ${Object.values(EditionChartSetOperation).join(', ')} (got ${named(operation)})`);
144
+ }
145
+ return { location: EditionEntryLocation.Library, entry: exports.EDITION_CHART_SET_ENTRY[operation], args: rest };
146
+ }
147
+ function resolveEditionInvocation(verb, args) {
148
+ if (verb === EditionVerb.VerifyEvidence) {
149
+ return { location: EditionEntryLocation.Bundle, entry: exports.EDITION_BUNDLE_VERB_ENTRY[verb], args };
150
+ }
151
+ if (verb === EditionVerb.Evidence) {
152
+ return resolveEvidenceInvocation(args);
153
+ }
154
+ if (verb === EditionVerb.ChartSet) {
155
+ return resolveChartSetInvocation(args);
156
+ }
157
+ if (verb !== EditionVerb.Index) {
158
+ return { location: EditionEntryLocation.Library, entry: exports.EDITION_VERB_ENTRY[verb], args };
159
+ }
160
+ const [kind, ...rest] = args;
161
+ if (!isIndexKind(kind)) {
162
+ throw new Error(`xema-edition index needs one of ${Object.values(EditionIndexKind).join(', ')} (got ${kind === undefined ? 'nothing' : `"${kind}"`})`);
163
+ }
164
+ return { location: EditionEntryLocation.Library, entry: exports.EDITION_INDEX_ENTRY[kind], args: rest };
165
+ }
166
+ //# sourceMappingURL=verb-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verb-map.js","sourceRoot":"","sources":["../../../src/runtime/edition/verb-map.ts"],"names":[],"mappings":"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"}