@xemahq/xema 0.59.0 → 0.60.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.
- package/README.md +1 -2
- package/dist/appliance-owner.d.ts.map +1 -1
- package/dist/appliance-owner.js +6 -6
- package/dist/appliance-owner.js.map +1 -1
- package/dist/assets/appliance-base/authorization.lock.json +5186 -0
- package/dist/assets/appliance-base/distribution.lock.json +760 -279
- package/dist/assets/appliance-base/images.lock.json +576 -513
- package/dist/assets/appliance-lean/authorization.lock.json +4648 -0
- package/dist/assets/appliance-lean/distribution.lock.json +641 -186
- package/dist/assets/appliance-lean/images.lock.json +574 -512
- package/dist/assets/boot-graph.json +33 -14
- package/dist/assets/distribution-assets.manifest.json +23 -20
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -9
- package/dist/cli.js.map +1 -1
- package/dist/commands/biome-dev.d.ts.map +1 -1
- package/dist/commands/biome-dev.js +41 -137
- package/dist/commands/biome-dev.js.map +1 -1
- package/dist/commands/biome-lifecycle.d.ts +24 -0
- package/dist/commands/biome-lifecycle.d.ts.map +1 -0
- package/dist/commands/biome-lifecycle.js +253 -0
- package/dist/commands/biome-lifecycle.js.map +1 -0
- package/dist/commands/biome.d.ts +2 -4
- package/dist/commands/biome.d.ts.map +1 -1
- package/dist/commands/biome.js +61 -46
- package/dist/commands/biome.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +96 -8
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +13 -20
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +14 -21
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +6 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/installation-tenancy.d.ts +11 -0
- package/dist/commands/installation-tenancy.d.ts.map +1 -0
- package/dist/commands/installation-tenancy.js +308 -0
- package/dist/commands/installation-tenancy.js.map +1 -0
- package/dist/commands/installation.d.ts.map +1 -1
- package/dist/commands/installation.js +19 -5
- package/dist/commands/installation.js.map +1 -1
- package/dist/commands/logs.d.ts +2 -0
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +41 -8
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/{dev.d.ts → mirror.d.ts} +1 -1
- package/dist/commands/mirror.d.ts.map +1 -0
- package/dist/commands/mirror.js +132 -0
- package/dist/commands/mirror.js.map +1 -0
- package/dist/commands/source.d.ts.map +1 -1
- package/dist/commands/source.js +3 -2
- package/dist/commands/source.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +40 -21
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +36 -4
- package/dist/commands/up.js.map +1 -1
- package/dist/dev/infra-preflight.d.ts.map +1 -1
- package/dist/dev/infra-preflight.js +0 -4
- package/dist/dev/infra-preflight.js.map +1 -1
- package/dist/lib/confirm.d.ts +3 -0
- package/dist/lib/confirm.d.ts.map +1 -0
- package/dist/lib/confirm.js +19 -0
- package/dist/lib/confirm.js.map +1 -0
- package/dist/lib/output-format.d.ts +6 -0
- package/dist/lib/output-format.d.ts.map +1 -0
- package/dist/lib/output-format.js +20 -0
- package/dist/lib/output-format.js.map +1 -0
- package/dist/mirror/config/mirror-config-document.d.ts +18 -0
- package/dist/mirror/config/mirror-config-document.d.ts.map +1 -0
- package/dist/mirror/config/mirror-config-document.js +57 -0
- package/dist/mirror/config/mirror-config-document.js.map +1 -0
- package/dist/mirror/config/mirror-config-schema.d.ts +54 -0
- package/dist/mirror/config/mirror-config-schema.d.ts.map +1 -0
- package/dist/mirror/config/mirror-config-schema.js +80 -0
- package/dist/mirror/config/mirror-config-schema.js.map +1 -0
- package/dist/mirror/kit/delta.d.ts +4 -0
- package/dist/mirror/kit/delta.d.ts.map +1 -0
- package/dist/mirror/kit/delta.js +41 -0
- package/dist/mirror/kit/delta.js.map +1 -0
- package/dist/mirror/kit/export-kit.d.ts +16 -0
- package/dist/mirror/kit/export-kit.d.ts.map +1 -0
- package/dist/mirror/kit/export-kit.js +112 -0
- package/dist/mirror/kit/export-kit.js.map +1 -0
- package/dist/mirror/kit/import-kit.d.ts +9 -0
- package/dist/mirror/kit/import-kit.d.ts.map +1 -0
- package/dist/mirror/kit/import-kit.js +166 -0
- package/dist/mirror/kit/import-kit.js.map +1 -0
- package/dist/mirror/kit/kit-archive.d.ts +4 -0
- package/dist/mirror/kit/kit-archive.d.ts.map +1 -0
- package/dist/mirror/kit/kit-archive.js +38 -0
- package/dist/mirror/kit/kit-archive.js.map +1 -0
- package/dist/mirror/kit/kit-layout.d.ts +10 -0
- package/dist/mirror/kit/kit-layout.d.ts.map +1 -0
- package/dist/mirror/kit/kit-layout.js +19 -0
- package/dist/mirror/kit/kit-layout.js.map +1 -0
- package/dist/mirror/kit/kit-sums.d.ts +5 -0
- package/dist/mirror/kit/kit-sums.d.ts.map +1 -0
- package/dist/mirror/kit/kit-sums.js +63 -0
- package/dist/mirror/kit/kit-sums.js.map +1 -0
- package/dist/mirror/kit/layout-sync.d.ts +8 -0
- package/dist/mirror/kit/layout-sync.d.ts.map +1 -0
- package/dist/mirror/kit/layout-sync.js +58 -0
- package/dist/mirror/kit/layout-sync.js.map +1 -0
- package/dist/mirror/plan/bundle-content.d.ts +10 -0
- package/dist/mirror/plan/bundle-content.d.ts.map +1 -0
- package/dist/mirror/plan/bundle-content.js +61 -0
- package/dist/mirror/plan/bundle-content.js.map +1 -0
- package/dist/mirror/plan/declaration-file.d.ts +9 -0
- package/dist/mirror/plan/declaration-file.d.ts.map +1 -0
- package/dist/mirror/plan/declaration-file.js +27 -0
- package/dist/mirror/plan/declaration-file.js.map +1 -0
- package/dist/mirror/plan/edition-inputs.d.ts +57 -0
- package/dist/mirror/plan/edition-inputs.d.ts.map +1 -0
- package/dist/mirror/plan/edition-inputs.js +44 -0
- package/dist/mirror/plan/edition-inputs.js.map +1 -0
- package/dist/mirror/plan/edition-reader.d.ts +9 -0
- package/dist/mirror/plan/edition-reader.d.ts.map +1 -0
- package/dist/mirror/plan/edition-reader.js +47 -0
- package/dist/mirror/plan/edition-reader.js.map +1 -0
- package/dist/mirror/plan/image-content.d.ts +30 -0
- package/dist/mirror/plan/image-content.d.ts.map +1 -0
- package/dist/mirror/plan/image-content.js +120 -0
- package/dist/mirror/plan/image-content.js.map +1 -0
- package/dist/mirror/plan/npm-lockfile.d.ts +12 -0
- package/dist/mirror/plan/npm-lockfile.d.ts.map +1 -0
- package/dist/mirror/plan/npm-lockfile.js +106 -0
- package/dist/mirror/plan/npm-lockfile.js.map +1 -0
- package/dist/mirror/plan/oci-reads.d.ts +22 -0
- package/dist/mirror/plan/oci-reads.d.ts.map +1 -0
- package/dist/mirror/plan/oci-reads.js +43 -0
- package/dist/mirror/plan/oci-reads.js.map +1 -0
- package/dist/mirror/plan/plan-command.d.ts +22 -0
- package/dist/mirror/plan/plan-command.d.ts.map +1 -0
- package/dist/mirror/plan/plan-command.js +81 -0
- package/dist/mirror/plan/plan-command.js.map +1 -0
- package/dist/mirror/plan/plan-file.d.ts +13 -0
- package/dist/mirror/plan/plan-file.d.ts.map +1 -0
- package/dist/mirror/plan/plan-file.js +63 -0
- package/dist/mirror/plan/plan-file.js.map +1 -0
- package/dist/mirror/plan/resolve-content-set.d.ts +16 -0
- package/dist/mirror/plan/resolve-content-set.d.ts.map +1 -0
- package/dist/mirror/plan/resolve-content-set.js +90 -0
- package/dist/mirror/plan/resolve-content-set.js.map +1 -0
- package/dist/mirror/preflight/glob.d.ts +2 -0
- package/dist/mirror/preflight/glob.d.ts.map +1 -0
- package/dist/mirror/preflight/glob.js +59 -0
- package/dist/mirror/preflight/glob.js.map +1 -0
- package/dist/mirror/preflight/harbor-api.d.ts +27 -0
- package/dist/mirror/preflight/harbor-api.d.ts.map +1 -0
- package/dist/mirror/preflight/harbor-api.js +39 -0
- package/dist/mirror/preflight/harbor-api.js.map +1 -0
- package/dist/mirror/preflight/preflight.d.ts +18 -0
- package/dist/mirror/preflight/preflight.d.ts.map +1 -0
- package/dist/mirror/preflight/preflight.js +41 -0
- package/dist/mirror/preflight/preflight.js.map +1 -0
- package/dist/mirror/preflight/tag-moves.d.ts +16 -0
- package/dist/mirror/preflight/tag-moves.d.ts.map +1 -0
- package/dist/mirror/preflight/tag-moves.js +28 -0
- package/dist/mirror/preflight/tag-moves.js.map +1 -0
- package/dist/mirror/preflight/write-probe.d.ts +10 -0
- package/dist/mirror/preflight/write-probe.d.ts.map +1 -0
- package/dist/mirror/preflight/write-probe.js +36 -0
- package/dist/mirror/preflight/write-probe.js.map +1 -0
- package/dist/mirror/target/extras.d.ts +16 -0
- package/dist/mirror/target/extras.d.ts.map +1 -0
- package/dist/mirror/target/extras.js +47 -0
- package/dist/mirror/target/extras.js.map +1 -0
- package/dist/mirror/target/npm-registry.d.ts +20 -0
- package/dist/mirror/target/npm-registry.d.ts.map +1 -0
- package/dist/mirror/target/npm-registry.js +67 -0
- package/dist/mirror/target/npm-registry.js.map +1 -0
- package/dist/mirror/target/npm-sync.d.ts +15 -0
- package/dist/mirror/target/npm-sync.d.ts.map +1 -0
- package/dist/mirror/target/npm-sync.js +44 -0
- package/dist/mirror/target/npm-sync.js.map +1 -0
- package/dist/mirror/target/oci-items.d.ts +27 -0
- package/dist/mirror/target/oci-items.d.ts.map +1 -0
- package/dist/mirror/target/oci-items.js +79 -0
- package/dist/mirror/target/oci-items.js.map +1 -0
- package/dist/mirror/target/oci-sync.d.ts +20 -0
- package/dist/mirror/target/oci-sync.d.ts.map +1 -0
- package/dist/mirror/target/oci-sync.js +93 -0
- package/dist/mirror/target/oci-sync.js.map +1 -0
- package/dist/mirror/target/receipt-store.d.ts +13 -0
- package/dist/mirror/target/receipt-store.d.ts.map +1 -0
- package/dist/mirror/target/receipt-store.js +61 -0
- package/dist/mirror/target/receipt-store.js.map +1 -0
- package/dist/mirror/target/receipt.d.ts +13 -0
- package/dist/mirror/target/receipt.d.ts.map +1 -0
- package/dist/mirror/target/receipt.js +25 -0
- package/dist/mirror/target/receipt.js.map +1 -0
- package/dist/mirror/target/seed-push.d.ts +15 -0
- package/dist/mirror/target/seed-push.d.ts.map +1 -0
- package/dist/mirror/target/seed-push.js +20 -0
- package/dist/mirror/target/seed-push.js.map +1 -0
- package/dist/mirror/target/target-access.d.ts +7 -0
- package/dist/mirror/target/target-access.d.ts.map +1 -0
- package/dist/mirror/target/target-access.js +17 -0
- package/dist/mirror/target/target-access.js.map +1 -0
- package/dist/mirror/target/target-commands.d.ts +21 -0
- package/dist/mirror/target/target-commands.d.ts.map +1 -0
- package/dist/mirror/target/target-commands.js +134 -0
- package/dist/mirror/target/target-commands.js.map +1 -0
- package/dist/mirror/target/target-context.d.ts +11 -0
- package/dist/mirror/target/target-context.d.ts.map +1 -0
- package/dist/mirror/target/target-context.js +31 -0
- package/dist/mirror/target/target-context.js.map +1 -0
- package/dist/mirror/target/target-ports.d.ts +18 -0
- package/dist/mirror/target/target-ports.d.ts.map +1 -0
- package/dist/mirror/target/target-ports.js +49 -0
- package/dist/mirror/target/target-ports.js.map +1 -0
- package/dist/mirror/target/target-state.d.ts +22 -0
- package/dist/mirror/target/target-state.d.ts.map +1 -0
- package/dist/mirror/target/target-state.js +41 -0
- package/dist/mirror/target/target-state.js.map +1 -0
- package/dist/runtime/biome-dev.d.ts +0 -16
- package/dist/runtime/biome-dev.d.ts.map +1 -1
- package/dist/runtime/biome-dev.js +0 -53
- package/dist/runtime/biome-dev.js.map +1 -1
- package/dist/runtime/biome-host/biome-directory-packer.d.ts +3 -0
- package/dist/runtime/biome-host/biome-directory-packer.d.ts.map +1 -0
- package/dist/runtime/biome-host/biome-directory-packer.js +12 -0
- package/dist/runtime/biome-host/biome-directory-packer.js.map +1 -0
- package/dist/runtime/biome-host/bundle-packer.d.ts +8 -0
- package/dist/runtime/biome-host/bundle-packer.d.ts.map +1 -0
- package/dist/runtime/biome-host/bundle-packer.js +3 -0
- package/dist/runtime/biome-host/bundle-packer.js.map +1 -0
- package/dist/runtime/biome-host/from-spec.d.ts +33 -0
- package/dist/runtime/biome-host/from-spec.d.ts.map +1 -0
- package/dist/runtime/biome-host/from-spec.js +70 -0
- package/dist/runtime/biome-host/from-spec.js.map +1 -0
- package/dist/runtime/biome-host/lifecycle-client.d.ts +20 -0
- package/dist/runtime/biome-host/lifecycle-client.d.ts.map +1 -0
- package/dist/runtime/biome-host/lifecycle-client.js +197 -0
- package/dist/runtime/biome-host/lifecycle-client.js.map +1 -0
- package/dist/runtime/biome-host/lifecycle-contract.d.ts +95 -0
- package/dist/runtime/biome-host/lifecycle-contract.d.ts.map +1 -0
- package/dist/runtime/biome-host/lifecycle-contract.js +61 -0
- package/dist/runtime/biome-host/lifecycle-contract.js.map +1 -0
- package/dist/runtime/biome-host/lifecycle-flow.d.ts +29 -0
- package/dist/runtime/biome-host/lifecycle-flow.d.ts.map +1 -0
- package/dist/runtime/biome-host/lifecycle-flow.js +106 -0
- package/dist/runtime/biome-host/lifecycle-flow.js.map +1 -0
- package/dist/runtime/biome-host/plan-sources.d.ts +4 -0
- package/dist/runtime/biome-host/plan-sources.d.ts.map +1 -0
- package/dist/runtime/biome-host/plan-sources.js +26 -0
- package/dist/runtime/biome-host/plan-sources.js.map +1 -0
- package/dist/runtime/biome-host/relay/bundle-fetch.d.ts +12 -0
- package/dist/runtime/biome-host/relay/bundle-fetch.d.ts.map +1 -0
- package/dist/runtime/biome-host/relay/bundle-fetch.js +76 -0
- package/dist/runtime/biome-host/relay/bundle-fetch.js.map +1 -0
- package/dist/runtime/biome-host/relay/declared-scheme.d.ts +3 -0
- package/dist/runtime/biome-host/relay/declared-scheme.d.ts.map +1 -0
- package/dist/runtime/biome-host/relay/declared-scheme.js +14 -0
- package/dist/runtime/biome-host/relay/declared-scheme.js.map +1 -0
- package/dist/runtime/biome-host/relay/npm-token.d.ts +4 -0
- package/dist/runtime/biome-host/relay/npm-token.d.ts.map +1 -0
- package/dist/runtime/biome-host/relay/npm-token.js +16 -0
- package/dist/runtime/biome-host/relay/npm-token.js.map +1 -0
- package/dist/runtime/biome-host/relay/relay-flow.d.ts +16 -0
- package/dist/runtime/biome-host/relay/relay-flow.d.ts.map +1 -0
- package/dist/runtime/biome-host/relay/relay-flow.js +48 -0
- package/dist/runtime/biome-host/relay/relay-flow.js.map +1 -0
- package/dist/runtime/biome-host/source-staging.d.ts +17 -0
- package/dist/runtime/biome-host/source-staging.d.ts.map +1 -0
- package/dist/runtime/biome-host/source-staging.js +80 -0
- package/dist/runtime/biome-host/source-staging.js.map +1 -0
- package/dist/runtime/biome-host/sse.d.ts +2 -0
- package/dist/runtime/biome-host/sse.d.ts.map +1 -0
- package/dist/runtime/biome-host/sse.js +33 -0
- package/dist/runtime/biome-host/sse.js.map +1 -0
- package/dist/runtime/biome-local-install.js +1 -1
- package/dist/runtime/biome-local-install.js.map +1 -1
- package/dist/runtime/browser-origins.d.ts +9 -0
- package/dist/runtime/browser-origins.d.ts.map +1 -1
- package/dist/runtime/browser-origins.js +10 -0
- package/dist/runtime/browser-origins.js.map +1 -1
- package/dist/runtime/config/config-document.d.ts +10 -0
- package/dist/runtime/config/config-document.d.ts.map +1 -0
- package/dist/runtime/config/config-document.js +56 -0
- package/dist/runtime/config/config-document.js.map +1 -0
- package/dist/runtime/config/config-migrations.d.ts +21 -0
- package/dist/runtime/config/config-migrations.d.ts.map +1 -0
- package/dist/runtime/config/config-migrations.js +102 -0
- package/dist/runtime/config/config-migrations.js.map +1 -0
- package/dist/runtime/config/config-paths.d.ts +3 -0
- package/dist/runtime/config/config-paths.d.ts.map +1 -0
- package/dist/runtime/config/config-paths.js +9 -0
- package/dist/runtime/config/config-paths.js.map +1 -0
- package/dist/runtime/config/dev-mode.d.ts +0 -1
- package/dist/runtime/config/dev-mode.d.ts.map +1 -1
- package/dist/runtime/config/dev-mode.js +11 -27
- package/dist/runtime/config/dev-mode.js.map +1 -1
- package/dist/runtime/config/init-presets.js +5 -9
- package/dist/runtime/config/init-presets.js.map +1 -1
- package/dist/runtime/config/launch-config-help.d.ts +4 -0
- package/dist/runtime/config/launch-config-help.d.ts.map +1 -0
- package/dist/runtime/config/launch-config-help.js +42 -0
- package/dist/runtime/config/launch-config-help.js.map +1 -0
- package/dist/runtime/config/launch-config.d.ts +60 -0
- package/dist/runtime/config/launch-config.d.ts.map +1 -0
- package/dist/runtime/config/launch-config.js +123 -0
- package/dist/runtime/config/launch-config.js.map +1 -0
- package/dist/runtime/config/launch-schema.d.ts +18 -0
- package/dist/runtime/config/launch-schema.d.ts.map +1 -0
- package/dist/runtime/config/launch-schema.js +31 -0
- package/dist/runtime/config/launch-schema.js.map +1 -0
- package/dist/runtime/config/loader.d.ts.map +1 -1
- package/dist/runtime/config/loader.js +4 -14
- package/dist/runtime/config/loader.js.map +1 -1
- package/dist/runtime/config/schema.d.ts +43 -38
- package/dist/runtime/config/schema.d.ts.map +1 -1
- package/dist/runtime/config/schema.js +17 -46
- package/dist/runtime/config/schema.js.map +1 -1
- package/dist/runtime/config/sources-config.d.ts +0 -2
- package/dist/runtime/config/sources-config.d.ts.map +1 -1
- package/dist/runtime/config/sources-config.js +10 -29
- package/dist/runtime/config/sources-config.js.map +1 -1
- package/dist/runtime/config/versioned-document.d.ts +26 -0
- package/dist/runtime/config/versioned-document.d.ts.map +1 -0
- package/dist/runtime/config/versioned-document.js +87 -0
- package/dist/runtime/config/versioned-document.js.map +1 -0
- package/dist/runtime/directory-changes.d.ts +12 -0
- package/dist/runtime/directory-changes.d.ts.map +1 -0
- package/dist/runtime/directory-changes.js +62 -0
- package/dist/runtime/directory-changes.js.map +1 -0
- package/dist/runtime/foreground.d.ts +2 -0
- package/dist/runtime/foreground.d.ts.map +1 -1
- package/dist/runtime/foreground.js +5 -20
- package/dist/runtime/foreground.js.map +1 -1
- package/dist/runtime/infra/infra-runner.js +5 -5
- package/dist/runtime/infra/infra-runner.js.map +1 -1
- package/dist/runtime/infra/keycloak-realm.d.ts +3 -19
- package/dist/runtime/infra/keycloak-realm.d.ts.map +1 -1
- package/dist/runtime/infra/keycloak-realm.js +12 -133
- package/dist/runtime/infra/keycloak-realm.js.map +1 -1
- package/dist/runtime/installation/current-launcher-renderer.js.map +1 -1
- package/dist/runtime/installation/from-current-config.d.ts.map +1 -1
- package/dist/runtime/installation/from-current-config.js +24 -47
- package/dist/runtime/installation/from-current-config.js.map +1 -1
- package/dist/runtime/installation/index.d.ts +1 -0
- package/dist/runtime/installation/index.d.ts.map +1 -1
- package/dist/runtime/installation/index.js +1 -0
- package/dist/runtime/installation/index.js.map +1 -1
- package/dist/runtime/installation/installation-file.d.ts +3 -0
- package/dist/runtime/installation/installation-file.d.ts.map +1 -0
- package/dist/runtime/installation/installation-file.js +9 -0
- package/dist/runtime/installation/installation-file.js.map +1 -0
- package/dist/runtime/installation/readiness.d.ts +6 -7
- package/dist/runtime/installation/readiness.d.ts.map +1 -1
- package/dist/runtime/installation/readiness.js +82 -132
- package/dist/runtime/installation/readiness.js.map +1 -1
- package/dist/runtime/installation/state-store.d.ts +4 -0
- package/dist/runtime/installation/state-store.d.ts.map +1 -1
- package/dist/runtime/installation/state-store.js +22 -1
- package/dist/runtime/installation/state-store.js.map +1 -1
- package/dist/runtime/installation/to-current-config.d.ts +4 -1
- package/dist/runtime/installation/to-current-config.d.ts.map +1 -1
- package/dist/runtime/installation/to-current-config.js +10 -36
- package/dist/runtime/installation/to-current-config.js.map +1 -1
- package/dist/runtime/launch-plan-format.d.ts.map +1 -1
- package/dist/runtime/launch-plan-format.js +31 -6
- package/dist/runtime/launch-plan-format.js.map +1 -1
- package/dist/runtime/launch-result.d.ts +15 -0
- package/dist/runtime/launch-result.d.ts.map +1 -0
- package/dist/runtime/launch-result.js +3 -0
- package/dist/runtime/launch-result.js.map +1 -0
- package/dist/runtime/launch.d.ts +16 -5
- package/dist/runtime/launch.d.ts.map +1 -1
- package/dist/runtime/launch.js +151 -315
- package/dist/runtime/launch.js.map +1 -1
- package/dist/runtime/license/helm-pull-secret.d.ts +1 -1
- package/dist/runtime/license/helm-pull-secret.d.ts.map +1 -1
- package/dist/runtime/license/helm-pull-secret.js +2 -2
- package/dist/runtime/license/helm-pull-secret.js.map +1 -1
- package/dist/runtime/lifecycle-progress/index.d.ts +9 -0
- package/dist/runtime/lifecycle-progress/index.d.ts.map +1 -0
- package/dist/runtime/lifecycle-progress/index.js +30 -0
- package/dist/runtime/lifecycle-progress/index.js.map +1 -0
- package/dist/runtime/lifecycle-progress/json-renderer.d.ts +3 -0
- package/dist/runtime/lifecycle-progress/json-renderer.d.ts.map +1 -0
- package/dist/runtime/lifecycle-progress/json-renderer.js +27 -0
- package/dist/runtime/lifecycle-progress/json-renderer.js.map +1 -0
- package/dist/runtime/lifecycle-progress/text-renderer.d.ts +5 -0
- package/dist/runtime/lifecycle-progress/text-renderer.d.ts.map +1 -0
- package/dist/runtime/lifecycle-progress/text-renderer.js +83 -0
- package/dist/runtime/lifecycle-progress/text-renderer.js.map +1 -0
- package/dist/runtime/lifecycle-progress/types.d.ts +79 -0
- package/dist/runtime/lifecycle-progress/types.d.ts.map +1 -0
- package/dist/runtime/lifecycle-progress/types.js +32 -0
- package/dist/runtime/lifecycle-progress/types.js.map +1 -0
- package/dist/runtime/lock-loader.d.ts +13 -3
- package/dist/runtime/lock-loader.d.ts.map +1 -1
- package/dist/runtime/lock-loader.js +28 -8
- package/dist/runtime/lock-loader.js.map +1 -1
- package/dist/runtime/paths.d.ts +2 -0
- package/dist/runtime/paths.d.ts.map +1 -1
- package/dist/runtime/paths.js +17 -4
- package/dist/runtime/paths.js.map +1 -1
- package/dist/runtime/roster.d.ts +6 -5
- package/dist/runtime/roster.d.ts.map +1 -1
- package/dist/runtime/roster.js +0 -21
- package/dist/runtime/roster.js.map +1 -1
- package/dist/runtime/runner/container-preflight.d.ts +3 -2
- package/dist/runtime/runner/container-preflight.d.ts.map +1 -1
- package/dist/runtime/runner/container-preflight.js +5 -5
- package/dist/runtime/runner/container-preflight.js.map +1 -1
- package/dist/runtime/runner/container-runner.d.ts +0 -22
- package/dist/runtime/runner/container-runner.d.ts.map +1 -1
- package/dist/runtime/runner/container-runner.js +0 -112
- package/dist/runtime/runner/container-runner.js.map +1 -1
- package/dist/runtime/runner/docker-cli.d.ts +1 -0
- package/dist/runtime/runner/docker-cli.d.ts.map +1 -1
- package/dist/runtime/runner/docker-cli.js +19 -0
- package/dist/runtime/runner/docker-cli.js.map +1 -1
- package/dist/runtime/runner/helm-cli.d.ts +1 -0
- package/dist/runtime/runner/helm-cli.d.ts.map +1 -1
- package/dist/runtime/runner/helm-cli.js +5 -1
- package/dist/runtime/runner/helm-cli.js.map +1 -1
- package/dist/runtime/runner/helm-pre-install.d.ts +3 -2
- package/dist/runtime/runner/helm-pre-install.d.ts.map +1 -1
- package/dist/runtime/runner/helm-pre-install.js +3 -3
- package/dist/runtime/runner/helm-pre-install.js.map +1 -1
- package/dist/runtime/runner/helm-runner.d.ts +29 -4
- package/dist/runtime/runner/helm-runner.d.ts.map +1 -1
- package/dist/runtime/runner/helm-runner.js +44 -14
- package/dist/runtime/runner/helm-runner.js.map +1 -1
- package/dist/runtime/runner/kube-cli.d.ts +1 -0
- package/dist/runtime/runner/kube-cli.d.ts.map +1 -1
- package/dist/runtime/runner/kube-cli.js +24 -2
- package/dist/runtime/runner/kube-cli.js.map +1 -1
- package/dist/runtime/secrets/managed-local-key-provider.d.ts +2 -0
- package/dist/runtime/secrets/managed-local-key-provider.d.ts.map +1 -1
- package/dist/runtime/secrets/managed-local-key-provider.js +17 -8
- package/dist/runtime/secrets/managed-local-key-provider.js.map +1 -1
- package/dist/runtime/seed/closure-container.d.ts +8 -0
- package/dist/runtime/seed/closure-container.d.ts.map +1 -0
- package/dist/runtime/seed/closure-container.js +23 -0
- package/dist/runtime/seed/closure-container.js.map +1 -0
- package/dist/runtime/seed/closure-helm.d.ts +9 -0
- package/dist/runtime/seed/closure-helm.d.ts.map +1 -0
- package/dist/runtime/seed/closure-helm.js +16 -0
- package/dist/runtime/seed/closure-helm.js.map +1 -0
- package/dist/runtime/seed/closure-names.d.ts +4 -0
- package/dist/runtime/seed/closure-names.d.ts.map +1 -0
- package/dist/runtime/seed/closure-names.js +29 -0
- package/dist/runtime/seed/closure-names.js.map +1 -0
- package/dist/runtime/seed/closure-native.d.ts +3 -0
- package/dist/runtime/seed/closure-native.d.ts.map +1 -0
- package/dist/runtime/seed/closure-native.js +18 -0
- package/dist/runtime/seed/closure-native.js.map +1 -0
- package/dist/runtime/seed/installation-tar.d.ts +5 -0
- package/dist/runtime/seed/installation-tar.d.ts.map +1 -0
- package/dist/runtime/seed/installation-tar.js +30 -0
- package/dist/runtime/seed/installation-tar.js.map +1 -0
- package/dist/runtime/seed/launch-env.d.ts +42 -0
- package/dist/runtime/seed/launch-env.d.ts.map +1 -0
- package/dist/runtime/seed/launch-env.js +150 -0
- package/dist/runtime/seed/launch-env.js.map +1 -0
- package/dist/runtime/seed/seed-container.d.ts +13 -0
- package/dist/runtime/seed/seed-container.d.ts.map +1 -0
- package/dist/runtime/seed/seed-container.js +175 -0
- package/dist/runtime/seed/seed-container.js.map +1 -0
- package/dist/runtime/seed/seed-delivery-env.d.ts +39 -0
- package/dist/runtime/seed/seed-delivery-env.d.ts.map +1 -0
- package/dist/runtime/seed/seed-delivery-env.js +47 -0
- package/dist/runtime/seed/seed-delivery-env.js.map +1 -0
- package/dist/runtime/seed/seed-down.d.ts +2 -0
- package/dist/runtime/seed/seed-down.d.ts.map +1 -0
- package/dist/runtime/seed/seed-down.js +52 -0
- package/dist/runtime/seed/seed-down.js.map +1 -0
- package/dist/runtime/seed/seed-env-file.d.ts +3 -0
- package/dist/runtime/seed/seed-env-file.d.ts.map +1 -0
- package/dist/runtime/seed/seed-env-file.js +24 -0
- package/dist/runtime/seed/seed-env-file.js.map +1 -0
- package/dist/runtime/seed/seed-env-secret.d.ts +18 -0
- package/dist/runtime/seed/seed-env-secret.d.ts.map +1 -0
- package/dist/runtime/seed/seed-env-secret.js +62 -0
- package/dist/runtime/seed/seed-env-secret.js.map +1 -0
- package/dist/runtime/seed/seed-environment.d.ts +12 -0
- package/dist/runtime/seed/seed-environment.d.ts.map +1 -0
- package/dist/runtime/seed/seed-environment.js +66 -0
- package/dist/runtime/seed/seed-environment.js.map +1 -0
- package/dist/runtime/seed/seed-facts.d.ts +22 -0
- package/dist/runtime/seed/seed-facts.d.ts.map +1 -0
- package/dist/runtime/seed/seed-facts.js +40 -0
- package/dist/runtime/seed/seed-facts.js.map +1 -0
- package/dist/runtime/seed/seed-helm.d.ts +10 -0
- package/dist/runtime/seed/seed-helm.d.ts.map +1 -0
- package/dist/runtime/seed/seed-helm.js +74 -0
- package/dist/runtime/seed/seed-helm.js.map +1 -0
- package/dist/runtime/seed/seed-image-user.d.ts +6 -0
- package/dist/runtime/seed/seed-image-user.d.ts.map +1 -0
- package/dist/runtime/seed/seed-image-user.js +14 -0
- package/dist/runtime/seed/seed-image-user.js.map +1 -0
- package/dist/runtime/seed/seed-installation-files.d.ts +23 -0
- package/dist/runtime/seed/seed-installation-files.d.ts.map +1 -0
- package/dist/runtime/seed/seed-installation-files.js +51 -0
- package/dist/runtime/seed/seed-installation-files.js.map +1 -0
- package/dist/runtime/seed/seed-installation.d.ts +20 -0
- package/dist/runtime/seed/seed-installation.d.ts.map +1 -0
- package/dist/runtime/seed/seed-installation.js +36 -0
- package/dist/runtime/seed/seed-installation.js.map +1 -0
- package/dist/runtime/seed/seed-launcher.d.ts +14 -0
- package/dist/runtime/seed/seed-launcher.d.ts.map +1 -0
- package/dist/runtime/seed/seed-launcher.js +155 -0
- package/dist/runtime/seed/seed-launcher.js.map +1 -0
- package/dist/runtime/seed/seed-options.d.ts +22 -0
- package/dist/runtime/seed/seed-options.d.ts.map +1 -0
- package/dist/runtime/seed/seed-options.js +57 -0
- package/dist/runtime/seed/seed-options.js.map +1 -0
- package/dist/runtime/seed/seed-platform-endpoints.d.ts +8 -0
- package/dist/runtime/seed/seed-platform-endpoints.d.ts.map +1 -0
- package/dist/runtime/seed/seed-platform-endpoints.js +55 -0
- package/dist/runtime/seed/seed-platform-endpoints.js.map +1 -0
- package/dist/runtime/seed/seed-process.d.ts +22 -0
- package/dist/runtime/seed/seed-process.d.ts.map +1 -0
- package/dist/runtime/seed/seed-process.js +79 -0
- package/dist/runtime/seed/seed-process.js.map +1 -0
- package/dist/runtime/seed/seed-record.d.ts +101 -0
- package/dist/runtime/seed/seed-record.d.ts.map +1 -0
- package/dist/runtime/seed/seed-record.js +141 -0
- package/dist/runtime/seed/seed-record.js.map +1 -0
- package/dist/runtime/seed/seed-resolved-deployment.d.ts +14 -0
- package/dist/runtime/seed/seed-resolved-deployment.d.ts.map +1 -0
- package/dist/runtime/seed/seed-resolved-deployment.js +52 -0
- package/dist/runtime/seed/seed-resolved-deployment.js.map +1 -0
- package/dist/runtime/seed/substrate-facts.d.ts +52 -0
- package/dist/runtime/seed/substrate-facts.d.ts.map +1 -0
- package/dist/runtime/seed/substrate-facts.js +92 -0
- package/dist/runtime/seed/substrate-facts.js.map +1 -0
- package/dist/runtime/seed/supervisor-contract.d.ts +9 -0
- package/dist/runtime/seed/supervisor-contract.d.ts.map +1 -0
- package/dist/runtime/seed/supervisor-contract.js +68 -0
- package/dist/runtime/seed/supervisor-contract.js.map +1 -0
- package/dist/runtime/seed/workload-identity-facts.d.ts +17 -0
- package/dist/runtime/seed/workload-identity-facts.d.ts.map +1 -0
- package/dist/runtime/seed/workload-identity-facts.js +53 -0
- package/dist/runtime/seed/workload-identity-facts.js.map +1 -0
- package/dist/runtime/sources/schema.d.ts +2 -0
- package/dist/runtime/sources/schema.d.ts.map +1 -1
- package/dist/runtime/sources/schema.js +10 -9
- package/dist/runtime/sources/schema.js.map +1 -1
- package/dist/runtime/store-client.d.ts +0 -10
- package/dist/runtime/store-client.d.ts.map +1 -1
- package/dist/runtime/store-client.js +0 -5
- package/dist/runtime/store-client.js.map +1 -1
- package/dist/runtime/tenancy/identity-installer.d.ts +11 -0
- package/dist/runtime/tenancy/identity-installer.d.ts.map +1 -0
- package/dist/runtime/tenancy/identity-installer.js +39 -0
- package/dist/runtime/tenancy/identity-installer.js.map +1 -0
- package/dist/runtime/tenancy/import-cache.d.ts +5 -0
- package/dist/runtime/tenancy/import-cache.d.ts.map +1 -0
- package/dist/runtime/tenancy/import-cache.js +27 -0
- package/dist/runtime/tenancy/import-cache.js.map +1 -0
- package/dist/runtime/tenancy/openfga.d.ts +4 -0
- package/dist/runtime/tenancy/openfga.d.ts.map +1 -0
- package/dist/runtime/tenancy/openfga.js +29 -0
- package/dist/runtime/tenancy/openfga.js.map +1 -0
- package/dist/runtime/tenancy/servers.d.ts +18 -0
- package/dist/runtime/tenancy/servers.d.ts.map +1 -0
- package/dist/runtime/tenancy/servers.js +102 -0
- package/dist/runtime/tenancy/servers.js.map +1 -0
- package/dist/runtime/tenancy/session.d.ts +19 -0
- package/dist/runtime/tenancy/session.d.ts.map +1 -0
- package/dist/runtime/tenancy/session.js +79 -0
- package/dist/runtime/tenancy/session.js.map +1 -0
- package/dist/runtime/tenancy/specs.d.ts +27 -0
- package/dist/runtime/tenancy/specs.d.ts.map +1 -0
- package/dist/runtime/tenancy/specs.js +129 -0
- package/dist/runtime/tenancy/specs.js.map +1 -0
- package/examples/01-local-native.yaml +1 -3
- package/examples/02-local-container-full.yaml +0 -2
- package/examples/03-byo-infra.yaml +1 -5
- package/examples/06-biome-sources.yaml +1 -3
- package/package.json +32 -37
- package/xema.config.example.yaml +1 -10
- package/dist/assets/keycloak/realm-xema.json +0 -397
- package/dist/commands/dev.d.ts.map +0 -1
- package/dist/commands/dev.js +0 -196
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/edition.d.ts +0 -3
- package/dist/commands/edition.d.ts.map +0 -1
- package/dist/commands/edition.js +0 -54
- package/dist/commands/edition.js.map +0 -1
- package/dist/commands/serve.d.ts +0 -3
- package/dist/commands/serve.d.ts.map +0 -1
- package/dist/commands/serve.js +0 -114
- package/dist/commands/serve.js.map +0 -1
- package/dist/dev/carved-installs.d.ts +0 -3
- package/dist/dev/carved-installs.d.ts.map +0 -1
- package/dist/dev/carved-installs.js +0 -63
- package/dist/dev/carved-installs.js.map +0 -1
- package/dist/dev/env-defaults.d.ts +0 -15
- package/dist/dev/env-defaults.d.ts.map +0 -1
- package/dist/dev/env-defaults.js +0 -178
- package/dist/dev/env-defaults.js.map +0 -1
- package/dist/dev/forked-worker-bootstrap-protocol.d.ts +0 -17
- package/dist/dev/forked-worker-bootstrap-protocol.d.ts.map +0 -1
- package/dist/dev/forked-worker-bootstrap-protocol.js +0 -35
- package/dist/dev/forked-worker-bootstrap-protocol.js.map +0 -1
- package/dist/dev/forked-worker-bootstrap.d.ts +0 -18
- package/dist/dev/forked-worker-bootstrap.d.ts.map +0 -1
- package/dist/dev/forked-worker-bootstrap.js +0 -84
- package/dist/dev/forked-worker-bootstrap.js.map +0 -1
- package/dist/dev/forked-worker.d.ts +0 -43
- package/dist/dev/forked-worker.d.ts.map +0 -1
- package/dist/dev/forked-worker.js +0 -358
- package/dist/dev/forked-worker.js.map +0 -1
- package/dist/edition/verify-image-evidence.bundle.mjs +0 -70456
- package/dist/edition/verify-image-evidence.bundle.provenance.json +0 -3957
- package/dist/runtime/backing-registration.d.ts +0 -11
- package/dist/runtime/backing-registration.d.ts.map +0 -1
- package/dist/runtime/backing-registration.js +0 -94
- package/dist/runtime/backing-registration.js.map +0 -1
- package/dist/runtime/edition/run-entry.d.ts +0 -9
- package/dist/runtime/edition/run-entry.d.ts.map +0 -1
- package/dist/runtime/edition/run-entry.js +0 -36
- package/dist/runtime/edition/run-entry.js.map +0 -1
- package/dist/runtime/edition/verb-map.d.ts +0 -70
- package/dist/runtime/edition/verb-map.d.ts.map +0 -1
- package/dist/runtime/edition/verb-map.js +0 -166
- package/dist/runtime/edition/verb-map.js.map +0 -1
- package/dist/runtime/env-seeder.d.ts +0 -26
- package/dist/runtime/env-seeder.d.ts.map +0 -1
- package/dist/runtime/env-seeder.js +0 -340
- package/dist/runtime/env-seeder.js.map +0 -1
- package/dist/runtime/port-map.d.ts +0 -3
- package/dist/runtime/port-map.d.ts.map +0 -1
- package/dist/runtime/port-map.js +0 -25
- package/dist/runtime/port-map.js.map +0 -1
- package/dist/runtime/run-manifest.d.ts +0 -52
- package/dist/runtime/run-manifest.d.ts.map +0 -1
- package/dist/runtime/run-manifest.js +0 -585
- package/dist/runtime/run-manifest.js.map +0 -1
- package/dist/runtime/runner/native-runner.d.ts +0 -13
- package/dist/runtime/runner/native-runner.d.ts.map +0 -1
- package/dist/runtime/runner/native-runner.js +0 -94
- package/dist/runtime/runner/native-runner.js.map +0 -1
- package/dist/runtime/runner/service-runner.d.ts +0 -28
- package/dist/runtime/runner/service-runner.d.ts.map +0 -1
- package/dist/runtime/runner/service-runner.js +0 -10
- package/dist/runtime/runner/service-runner.js.map +0 -1
- package/dist/runtime/secrets/generated-platform-secrets.d.ts +0 -16
- package/dist/runtime/secrets/generated-platform-secrets.d.ts.map +0 -1
- package/dist/runtime/secrets/generated-platform-secrets.js +0 -115
- package/dist/runtime/secrets/generated-platform-secrets.js.map +0 -1
- package/dist/runtime/secrets/resolver.d.ts +0 -23
- package/dist/runtime/secrets/resolver.d.ts.map +0 -1
- package/dist/runtime/secrets/resolver.js +0 -266
- package/dist/runtime/secrets/resolver.js.map +0 -1
- package/dist/runtime/supervisor.d.ts +0 -67
- package/dist/runtime/supervisor.d.ts.map +0 -1
- package/dist/runtime/supervisor.js +0 -227
- package/dist/runtime/supervisor.js.map +0 -1
- package/edition/README.md +0 -293
- package/edition/adapter-bundled-versions.mjs +0 -108
- package/edition/adapter-host-versions.mjs +0 -41
- package/edition/assemble-producer-input.mjs +0 -1414
- package/edition/assemble-third-party-input.mjs +0 -336
- package/edition/authored-source-check.mjs +0 -135
- package/edition/authorization-base.mjs +0 -357
- package/edition/biome-content.mjs +0 -327
- package/edition/build-biome-index.mjs +0 -180
- package/edition/build-ledger-completeness.mjs +0 -67
- package/edition/build-ledger.mjs +0 -107
- package/edition/build-platform-service-index.mjs +0 -292
- package/edition/build-runtime-image-source-index.mjs +0 -1187
- package/edition/built-verifier.mjs +0 -55
- package/edition/candidate-edition.mjs +0 -697
- package/edition/canonical-evidence-json.mjs +0 -82
- package/edition/canonical-repository-url.mjs +0 -47
- package/edition/catalogue-edition.mjs +0 -49
- package/edition/catalogue-evidence.mjs +0 -228
- package/edition/catalogue-fetch.mjs +0 -124
- package/edition/catalogue-lock-field.mjs +0 -41
- package/edition/catalogue-pin.mjs +0 -71
- package/edition/catalogue.mjs +0 -223
- package/edition/chart-set-source-commit.mjs +0 -97
- package/edition/check-committed-image-evidence.mjs +0 -412
- package/edition/checkout-indexed-source-repositories.mjs +0 -283
- package/edition/collected-refusals.mjs +0 -59
- package/edition/comment-blanker.mjs +0 -75
- package/edition/connector-source-authority.mjs +0 -60
- package/edition/contract-authority.mjs +0 -122
- package/edition/cosign-certificate-constraints.mjs +0 -50
- package/edition/cross-repo-build-inputs.mjs +0 -158
- package/edition/customer-definition.mjs +0 -174
- package/edition/customer-edition-verbs.mjs +0 -617
- package/edition/customer-flags.mjs +0 -15
- package/edition/develop-catalogue-free-resolve.mjs +0 -280
- package/edition/develop-chart-roster.mjs +0 -96
- package/edition/develop-chart-set.mjs +0 -147
- package/edition/develop-coverage-readers.mjs +0 -217
- package/edition/develop-coverage-run.mjs +0 -50
- package/edition/develop-coverage-verdict.mjs +0 -153
- package/edition/develop-coverage.mjs +0 -131
- package/edition/develop-current-resolution.mjs +0 -29
- package/edition/develop-edition-invariants.mjs +0 -142
- package/edition/develop-edition-resolve.mjs +0 -211
- package/edition/develop-edition.mjs +0 -379
- package/edition/develop-engine-image.mjs +0 -95
- package/edition/develop-follow.mjs +0 -491
- package/edition/develop-freeze.mjs +0 -289
- package/edition/develop-git-bundles.mjs +0 -255
- package/edition/develop-graph.mjs +0 -28
- package/edition/develop-image-coordinate.mjs +0 -54
- package/edition/develop-image-probe.mjs +0 -120
- package/edition/develop-image-record.mjs +0 -194
- package/edition/develop-record-ancestry.mjs +0 -144
- package/edition/develop-record-verify.mjs +0 -216
- package/edition/develop-resolve-report.mjs +0 -159
- package/edition/develop-select-records.mjs +0 -172
- package/edition/develop-selection-line.mjs +0 -30
- package/edition/develop-selection-pins.mjs +0 -36
- package/edition/develop-snapshot-inputs.mjs +0 -93
- package/edition/develop-verify-image-record.mjs +0 -109
- package/edition/dispatched-runtime-components.mjs +0 -172
- package/edition/dist-check.mjs +0 -1137
- package/edition/distribution-evidence-set.mjs +0 -1064
- package/edition/distribution-paths.mjs +0 -191
- package/edition/edition-artifact.mjs +0 -529
- package/edition/edition-biome-manifests.mjs +0 -85
- package/edition/edition-ceiling.mjs +0 -180
- package/edition/edition-channel.mjs +0 -20
- package/edition/edition-chart-set.mjs +0 -104
- package/edition/edition-config.mjs +0 -374
- package/edition/edition-constants.mjs +0 -110
- package/edition/edition-contract-parse.mjs +0 -179
- package/edition/edition-contract.json +0 -100
- package/edition/edition-image-seal.mjs +0 -110
- package/edition/edition-kind.mjs +0 -10
- package/edition/edition-list.mjs +0 -35
- package/edition/edition-locks.mjs +0 -79
- package/edition/edition-pin-verbs.mjs +0 -183
- package/edition/edition-pin.mjs +0 -17
- package/edition/edition-pinned-inputs.mjs +0 -116
- package/edition/edition-protocol.mjs +0 -277
- package/edition/edition-publisher.mjs +0 -21
- package/edition/edition-seal.mjs +0 -257
- package/edition/edition-source-pins.mjs +0 -211
- package/edition/edition-unpin.mjs +0 -16
- package/edition/edition-workspace.mjs +0 -204
- package/edition/evidence-checkout.mjs +0 -439
- package/edition/evidence-grammars.mjs +0 -18
- package/edition/evidence-input-mode.mjs +0 -136
- package/edition/evidence-trust-pin.mjs +0 -380
- package/edition/evidence-trust-policy.mjs +0 -374
- package/edition/external-source-walk.mjs +0 -485
- package/edition/first-party-source-ids.mjs +0 -62
- package/edition/fleet-coordinate-finality.mjs +0 -363
- package/edition/fulcio-certificate-extensions.mjs +0 -231
- package/edition/git-json.mjs +0 -54
- package/edition/git-source-auth.mjs +0 -131
- package/edition/image-delivery-entitlement-descriptor.mjs +0 -106
- package/edition/image-evidence-replay-state.mjs +0 -242
- package/edition/image-evidence.mjs +0 -1404
- package/edition/image-lock-service-rows.mjs +0 -26
- package/edition/image-subject-identity.mjs +0 -24
- package/edition/images-from-record.mjs +0 -298
- package/edition/indexes-at-pins.mjs +0 -13
- package/edition/kernel-capability-domain.mjs +0 -30
- package/edition/kernel-contract-authority.mjs +0 -517
- package/edition/kernel-contract-source-path-set.mjs +0 -94
- package/edition/kernel-package.mjs +0 -206
- package/edition/kernel-protocol-choice.mjs +0 -239
- package/edition/kernel-signer-kind.mjs +0 -23
- package/edition/lib.mjs +0 -3303
- package/edition/locked-bundle-signer.mjs +0 -297
- package/edition/map-with-concurrency.mjs +0 -19
- package/edition/no-follow-file.mjs +0 -94
- package/edition/oci-evidence-verbs.mjs +0 -419
- package/edition/oci-image-source-evidence.mjs +0 -364
- package/edition/operation-grant-admission.mjs +0 -285
- package/edition/operation-requirements.mjs +0 -282
- package/edition/oras-process.mjs +0 -35
- package/edition/oras.mjs +0 -742
- package/edition/pin-source.mjs +0 -242
- package/edition/pinned-cosign.mjs +0 -70
- package/edition/plan-image-evidence-refresh.mjs +0 -427
- package/edition/platform-lock-readability.mjs +0 -901
- package/edition/platform-service-class.mjs +0 -85
- package/edition/platform-service-ownership.mjs +0 -88
- package/edition/platform-service-source-authority.mjs +0 -105
- package/edition/positive-closure.mjs +0 -162
- package/edition/previous-seal-registry.mjs +0 -149
- package/edition/produce-distribution-completeness-evidence.mjs +0 -318
- package/edition/produce-edition-catalogue-evidence.mjs +0 -252
- package/edition/produce-image-delivery-entitlement-evidence.mjs +0 -304
- package/edition/produce-image-source-evidence.mjs +0 -788
- package/edition/producer-evidence-bundle.mjs +0 -201
- package/edition/producer-evidence-index-file.mjs +0 -4
- package/edition/record-refused.mjs +0 -12
- package/edition/registry-credentials.mjs +0 -225
- package/edition/release-catalogue.mjs +0 -47
- package/edition/release-channel-guard.mjs +0 -108
- package/edition/release-edition-artifact.mjs +0 -152
- package/edition/release-edition.mjs +0 -54
- package/edition/remedy-command.mjs +0 -89
- package/edition/repin-evidence-trust.mjs +0 -109
- package/edition/required-resource-provider.mjs +0 -58
- package/edition/resolve-chart-set.mjs +0 -376
- package/edition/resolve-customer-edition.mjs +0 -374
- package/edition/resolve-distribution.mjs +0 -2639
- package/edition/resolve-edition.mjs +0 -192
- package/edition/resolve-images.mjs +0 -2294
- package/edition/seal-image-digests.mjs +0 -954
- package/edition/sealed-distribution-lock.mjs +0 -22
- package/edition/sealed-evidence-accept.mjs +0 -82
- package/edition/shallow-checkout.mjs +0 -18
- package/edition/sigstore-bundle-media-type.mjs +0 -4
- package/edition/source-authority.mjs +0 -713
- package/edition/source-closure.mjs +0 -115
- package/edition/store-publisher-trust.mjs +0 -40
- package/edition/strict-json.mjs +0 -121
- package/edition/string-order.mjs +0 -5
- package/edition/third-party-admission.mjs +0 -91
- package/edition/third-party-bundle-registry.mjs +0 -242
- package/edition/third-party-certificate-extensions.mjs +0 -21
- package/edition/third-party-image-pins.mjs +0 -41
- package/edition/third-party-pins-trusted.mjs +0 -24
- package/edition/third-party-producer-evidence.mjs +0 -76
- package/edition/third-party-source-check.mjs +0 -28
- package/edition/third-party-source-context.mjs +0 -41
- package/edition/third-party-source-evidence.mjs +0 -287
- package/edition/third-party-source-flags.mjs +0 -134
- package/edition/third-party-source-pins.mjs +0 -259
- package/edition/third-party-source-uniqueness.mjs +0 -54
- package/edition/third-party-source-walk.mjs +0 -115
- package/edition/third-party-source-writer.mjs +0 -213
- package/edition/third-party-subjects.mjs +0 -128
- package/edition/trust-policy-arming-verb.mjs +0 -60
- package/edition/trust-policy-arming.mjs +0 -144
- package/edition/trust-policy-image-ownership.mjs +0 -85
- package/edition/trusted-executable.mjs +0 -166
- package/edition/verifier-binding.mjs +0 -45
- package/edition/verifier-files.mjs +0 -8
- package/edition/verifier-kernel-schemas.mjs +0 -22
- package/edition/verifier-provenance.mjs +0 -64
- package/edition/verify-catalogue-evidence.mjs +0 -247
- package/edition/verify-image-evidence.mjs +0 -475
- package/edition/verify-image-platforms.mjs +0 -523
- package/edition/why.mjs +0 -56
- package/edition/workspace-sections.mjs +0 -276
|
@@ -1,336 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// assemble-third-party-input — the producer input of ONE image of a THIRD-PARTY biome, assembled in the publisher's own
|
|
3
|
-
// GitHub-hosted workflow (XEMA-1611 design section 5).
|
|
4
|
-
//
|
|
5
|
-
// xema edition evidence assemble-third-party-input \
|
|
6
|
-
// --bundle <oci repository>@sha256:<64-hex> \
|
|
7
|
-
// --contract-authority <file> \
|
|
8
|
-
// --image <image repository>@sha256:<64-hex> \
|
|
9
|
-
// --subject-id <component image name> \
|
|
10
|
-
// --provenance <absolute exported BuildKit SLSA v1 predicate> \
|
|
11
|
-
// --registry-credentials <file> \
|
|
12
|
-
// --output <path> \
|
|
13
|
-
// [--ttl-seconds <n>]
|
|
14
|
-
//
|
|
15
|
-
// It runs on PUBLIC inputs only: this CLI and the `@xemahq/contracts` it ships (both from public npm), the publisher's
|
|
16
|
-
// own checkout at GITHUB_WORKSPACE, its own registry credential declaration and the GITHUB_* context of the run. It
|
|
17
|
-
// takes no data root, no kernel checkout and nothing of the vendor's. The checks that need the vendor's trust policy
|
|
18
|
-
// (the producer TTL ceiling, the signer rows, image ownership) run at the vendor's admission, by the trusted writer
|
|
19
|
-
// (`index runtime-image-source --trusted-write --third-party`), never here.
|
|
20
|
-
//
|
|
21
|
-
// Emits the EXACT producer input `produce-image-source-evidence.mjs` accepts, through the first-party assembler's own
|
|
22
|
-
// document builder and gates (`assemble-producer-input.mjs`). Field derivation:
|
|
23
|
-
// * contractAuthority — the `--contract-authority` file (the kernel contract authority the vendor's evidence trust
|
|
24
|
-
// pin names), proved to be the kernel this CLI ships before anything else is read.
|
|
25
|
-
// * subject kind and id — the bundle's `xema-biome.json` (`--bundle`, read BY DIGEST): the one service or worker
|
|
26
|
-
// component with an `oci-image` artifact whose image name is `--subject-id` (a service by
|
|
27
|
-
// `protocol.serviceName`, a worker by its key), kind `runtime-component` for a
|
|
28
|
-
// `scheduler: runtime` component and `service` otherwise, as the index builder names it.
|
|
29
|
-
// * repo, repositoryUrl, sourceCommit, producerWorkflowSha, signer, builderId, runId, runAttempt
|
|
30
|
-
// — GITHUB_REPOSITORY, GITHUB_SHA, GITHUB_WORKFLOW_REF, GITHUB_RUN_ID, GITHUB_RUN_ATTEMPT.
|
|
31
|
-
// * sourceManifestHash — the kernel hash of the bundle's `xema-biome.json`.
|
|
32
|
-
// * path — `<repo>/<biome dir>`: the directory of the ONE `xema-biome.json` of the checkout at
|
|
33
|
-
// GITHUB_SHA whose hash is the bundle's (none, or more than one, is refused by name).
|
|
34
|
-
// * sourceTreeHash — `hashImageBuildInputs` over the publisher's checkout at GITHUB_SHA, the same algorithm
|
|
35
|
-
// first-party images are hashed with, with no cross-repo inputs. It is publisher-attested:
|
|
36
|
-
// the vendor never recomputes it.
|
|
37
|
-
// * builder digests — the exported BuildKit SLSA v1 predicate (`--provenance`), whose VCS revision must be
|
|
38
|
-
// GITHUB_SHA.
|
|
39
|
-
// * manifest media type, platforms, sbomDigest, provenanceDigest
|
|
40
|
-
// — the registry, read BY DIGEST at `--image` (no tag is read), with the publisher's credential.
|
|
41
|
-
// * issuedAt/expiresAt — now, plus `--ttl-seconds` or DEFAULT_PRODUCER_TTL_SECONDS (72h). The ceiling is the vendor
|
|
42
|
-
// trust policy's maxProducerTtlSeconds, enforced by the vendor's third-party pin writer
|
|
43
|
-
// (`index runtime-image-source --trusted-write --third-party`) and `verify-evidence`; this CLI holds
|
|
44
|
-
// no second one. A value that is not a positive integer, or whose expiresAt RFC 3339 cannot
|
|
45
|
-
// name, is refused by name.
|
|
46
|
-
//
|
|
47
|
-
// It refuses to run unless RUNNER_ENVIRONMENT is `github-hosted` and GITHUB_REF is `refs/heads/main`. Those variables are
|
|
48
|
-
// self-asserted by the run, so this is only a fail-fast mirror: the authority is the vendor's admission, which checks
|
|
49
|
-
// the Fulcio certificate's Runner Environment and Source Repository Ref extensions (a third-party source is admitted
|
|
50
|
-
// only from the release channel of a GitHub-hosted workflow).
|
|
51
|
-
|
|
52
|
-
import { isAbsolute, resolve } from 'node:path';
|
|
53
|
-
|
|
54
|
-
import {
|
|
55
|
-
ProducerTtlCeilingSource,
|
|
56
|
-
assertAssembledProducerInput,
|
|
57
|
-
assertCanonicalSubjectId,
|
|
58
|
-
assertWorkflowContext,
|
|
59
|
-
deriveBuilder,
|
|
60
|
-
producerInputDocument,
|
|
61
|
-
producerTtlSecondsFlag,
|
|
62
|
-
readAssemblerFlags,
|
|
63
|
-
resolveImageArtifactEvidenceByDigest,
|
|
64
|
-
resolveProducerTtlSeconds,
|
|
65
|
-
writeProducerInputFile,
|
|
66
|
-
} from './assemble-producer-input.mjs';
|
|
67
|
-
import { configureEditionWorkspaceFromArgv, isEntryModule, kernelPackageDir, stateKernelPackageDir } from './edition-workspace.mjs';
|
|
68
|
-
import { readPublicContractAuthority } from './evidence-input-mode.mjs';
|
|
69
|
-
import { shippedKernelPackageDir } from './kernel-package.mjs';
|
|
70
|
-
import {
|
|
71
|
-
assertGitCommitExists,
|
|
72
|
-
biomeImageComponents,
|
|
73
|
-
claimBiomeImageName,
|
|
74
|
-
hashImageBuildInputs,
|
|
75
|
-
isRuntimeImageComponent,
|
|
76
|
-
imageInputSourceHashAlgorithm,
|
|
77
|
-
readGitJsonAtCommit,
|
|
78
|
-
} from './lib.mjs';
|
|
79
|
-
import { OrasRegistry } from './oras.mjs';
|
|
80
|
-
import { sandboxedGit } from './produce-image-source-evidence.mjs';
|
|
81
|
-
import { loadRegistryCredentialDeclarationsFile, resolveRegistryCredential, splitImageRef } from './registry-credentials.mjs';
|
|
82
|
-
import { subjectServicePath } from './resolve-images.mjs';
|
|
83
|
-
import { fetchBundleManifest } from './third-party-bundle-registry.mjs';
|
|
84
|
-
import { OCI_REPOSITORY_AT_DIGEST } from './third-party-source-flags.mjs';
|
|
85
|
-
import { PUBLISHER_ATTESTED_LABEL } from './third-party-subjects.mjs';
|
|
86
|
-
|
|
87
|
-
/** The runner a third-party producer input is assembled on. */
|
|
88
|
-
export const THIRD_PARTY_RUNNER_ENVIRONMENT = 'github-hosted';
|
|
89
|
-
/** The only ref a third-party producer input is assembled from (the release channel). */
|
|
90
|
-
export const THIRD_PARTY_PRODUCER_REF = 'refs/heads/main';
|
|
91
|
-
|
|
92
|
-
const BIOME_MANIFEST_FILE = 'xema-biome.json';
|
|
93
|
-
const OCI_IMAGE_ARTIFACT = 'oci-image';
|
|
94
|
-
|
|
95
|
-
/** The flags of the verb; every one but `--ttl-seconds` is required. */
|
|
96
|
-
export const THIRD_PARTY_INPUT_FLAGS = Object.freeze({
|
|
97
|
-
bundle: 'bundle',
|
|
98
|
-
contractAuthority: 'contract-authority',
|
|
99
|
-
image: 'image',
|
|
100
|
-
subjectId: 'subject-id',
|
|
101
|
-
provenance: 'provenance',
|
|
102
|
-
registryCredentials: 'registry-credentials',
|
|
103
|
-
output: 'output',
|
|
104
|
-
ttlSeconds: 'ttl-seconds',
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
export const THIRD_PARTY_INPUT_USAGE =
|
|
108
|
-
'usage: xema edition evidence assemble-third-party-input --bundle <oci repository>@sha256:<64-hex> ' +
|
|
109
|
-
'--contract-authority <file> --image <image repository>@sha256:<64-hex> --subject-id <component image name> ' +
|
|
110
|
-
'--provenance <absolute exported SLSA v1 predicate> --registry-credentials <file> --output <path> [--ttl-seconds <n>]';
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Refuse a run that is not a GitHub-hosted run of refs/heads/main, before anything else is read. RUNNER_ENVIRONMENT
|
|
114
|
-
* and GITHUB_REF are self-asserted, so this is a fail-fast mirror only; the authority is the vendor admission's check
|
|
115
|
-
* of the Fulcio certificate's Runner Environment and Source Repository Ref extensions.
|
|
116
|
-
*/
|
|
117
|
-
export function assertThirdPartyRunner(env) {
|
|
118
|
-
if (env.RUNNER_ENVIRONMENT !== THIRD_PARTY_RUNNER_ENVIRONMENT) {
|
|
119
|
-
throw new Error(
|
|
120
|
-
`a third-party producer input is assembled only on a ${THIRD_PARTY_RUNNER_ENVIRONMENT} runner ` +
|
|
121
|
-
`(RUNNER_ENVIRONMENT is ${JSON.stringify(env.RUNNER_ENVIRONMENT ?? null)}): the vendor admits only certificates whose ` +
|
|
122
|
-
'Fulcio Runner Environment extension is github-hosted',
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
if (env.GITHUB_REF !== THIRD_PARTY_PRODUCER_REF) {
|
|
126
|
-
throw new Error(
|
|
127
|
-
`a third-party producer input is assembled only from ${THIRD_PARTY_PRODUCER_REF} ` +
|
|
128
|
-
`(GITHUB_REF is ${JSON.stringify(env.GITHUB_REF ?? null)}): the vendor admits only certificates whose Fulcio ` +
|
|
129
|
-
`Source Repository Ref extension is ${THIRD_PARTY_PRODUCER_REF}, the release channel`,
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
function ociReference(flag, value) {
|
|
135
|
-
if (!OCI_REPOSITORY_AT_DIGEST.test(value ?? '')) {
|
|
136
|
-
throw new Error(`--${flag} must be <repository>@sha256:<64-hex>; got ${JSON.stringify(value)}`);
|
|
137
|
-
}
|
|
138
|
-
const at = value.indexOf('@');
|
|
139
|
-
return { repository: value.slice(0, at), digest: value.slice(at + 1) };
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* The bundle component `subjectId` names, and its runtime image subject kind, by the index builder's own rule
|
|
144
|
-
* (`biomeImageComponents`, `claimBiomeImageName`, `isRuntimeImageComponent` in lib.mjs): every image component is
|
|
145
|
-
* named, so a component with no image name, a web biome with an image and a duplicate image name are refused as the
|
|
146
|
-
* index builder refuses them; the subject is the one with its own `oci-image` artifact named `subjectId`.
|
|
147
|
-
*/
|
|
148
|
-
export function bundleImageSubject({ manifest, subjectId, enums, bundleRef }) {
|
|
149
|
-
const xema = manifest?.xema;
|
|
150
|
-
const components = Array.isArray(xema?.components) ? xema.components : [];
|
|
151
|
-
const rel = `bundle ${bundleRef} ${BIOME_MANIFEST_FILE}`;
|
|
152
|
-
const taken = new Set();
|
|
153
|
-
const images = biomeImageComponents(components)
|
|
154
|
-
.map((component) => ({ component, name: claimBiomeImageName(component, { rel, id: xema?.id, target: xema?.target, taken }) }))
|
|
155
|
-
.filter(({ component }) => component.artifact?.kind === OCI_IMAGE_ARTIFACT);
|
|
156
|
-
const match = images.find(({ name }) => name === subjectId);
|
|
157
|
-
if (match === undefined) {
|
|
158
|
-
throw new Error(
|
|
159
|
-
`bundle ${bundleRef} has no ${OCI_IMAGE_ARTIFACT} service or worker component named ${JSON.stringify(subjectId)} ` +
|
|
160
|
-
`(its images: ${images.map(({ name }) => name).join(', ') || 'none'}); --subject-id names exactly one`,
|
|
161
|
-
);
|
|
162
|
-
}
|
|
163
|
-
const kind = isRuntimeImageComponent(match.component)
|
|
164
|
-
? enums.RuntimeImageSubjectKind.RuntimeComponent
|
|
165
|
-
: enums.RuntimeImageSubjectKind.Service;
|
|
166
|
-
return { kind, id: subjectId };
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* The biome directory of the publisher's checkout at `commit`: the directory of the ONE `xema-biome.json` whose kernel
|
|
171
|
-
* source manifest hash is `sourceManifestHash` (`''` for the repository root). None, or more than one, is refused.
|
|
172
|
-
*/
|
|
173
|
-
export async function biomeDirectoryAtCommit({ checkout, commit, sourceManifestHash, schemas, bundleRef }) {
|
|
174
|
-
const paths = sandboxedGit(checkout, ['ls-tree', '-r', '-z', '--name-only', commit])
|
|
175
|
-
.split('\0')
|
|
176
|
-
.filter((path) => path === BIOME_MANIFEST_FILE || path.endsWith(`/${BIOME_MANIFEST_FILE}`));
|
|
177
|
-
const matching = [];
|
|
178
|
-
for (const path of paths) {
|
|
179
|
-
const hash = await schemas.computeBiomeSourceManifestHash(readGitJsonAtCommit(checkout, path, commit));
|
|
180
|
-
if (hash === sourceManifestHash) {matching.push(path);}
|
|
181
|
-
}
|
|
182
|
-
if (matching.length !== 1) {
|
|
183
|
-
throw new Error(
|
|
184
|
-
`the checkout at ${commit} has ${matching.length} ${BIOME_MANIFEST_FILE} files whose source manifest hash is ` +
|
|
185
|
-
`${sourceManifestHash}, the hash of bundle ${bundleRef} ` +
|
|
186
|
-
`(${matching.length === 0 ? `its ${BIOME_MANIFEST_FILE} files: ${paths.join(', ') || 'none'}` : matching.join(', ')}); exactly one is required: ` +
|
|
187
|
-
'the bundle must be published from this commit',
|
|
188
|
-
);
|
|
189
|
-
}
|
|
190
|
-
const [path] = matching;
|
|
191
|
-
return path === BIOME_MANIFEST_FILE ? '' : path.slice(0, -`/${BIOME_MANIFEST_FILE}`.length);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Assemble the producer input of one third-party image and prove it satisfies the producer's exact contract.
|
|
196
|
-
*
|
|
197
|
-
* @param {object} request
|
|
198
|
-
* @param {string} request.bundle `<oci repository>@sha256:<hex>` of the published biome bundle
|
|
199
|
-
* @param {string} request.contractAuthorityPath the `--contract-authority` file
|
|
200
|
-
* @param {string} request.image `<image repository>@sha256:<hex>` of the published image
|
|
201
|
-
* @param {string} request.subjectId the bundle component's image name
|
|
202
|
-
* @param {string} request.provenancePath the exported BuildKit SLSA v1 predicate (absolute)
|
|
203
|
-
* @param {string} request.registryCredentialsPath the publisher's registry credential declaration file
|
|
204
|
-
* @param {number} [request.ttlSeconds]
|
|
205
|
-
* @param {string} [request.kernelDir] the kernel package (default: the configured Kernel root)
|
|
206
|
-
* @param {object} [request.env]
|
|
207
|
-
* @param {Function} [request.registryFor] `({authority, credential}) => client`, for tests
|
|
208
|
-
* @param {number} [request.now]
|
|
209
|
-
*/
|
|
210
|
-
export async function assembleThirdPartyInput({
|
|
211
|
-
bundle,
|
|
212
|
-
contractAuthorityPath,
|
|
213
|
-
image,
|
|
214
|
-
subjectId,
|
|
215
|
-
provenancePath,
|
|
216
|
-
registryCredentialsPath,
|
|
217
|
-
ttlSeconds,
|
|
218
|
-
kernelDir = kernelPackageDir(),
|
|
219
|
-
env = process.env,
|
|
220
|
-
fetchImpl = globalThis.fetch,
|
|
221
|
-
registryFor = null,
|
|
222
|
-
now = Date.now(),
|
|
223
|
-
}) {
|
|
224
|
-
assertThirdPartyRunner(env);
|
|
225
|
-
const context = assertWorkflowContext(env);
|
|
226
|
-
ociReference(THIRD_PARTY_INPUT_FLAGS.bundle, bundle);
|
|
227
|
-
const imageRef = ociReference(THIRD_PARTY_INPUT_FLAGS.image, image);
|
|
228
|
-
assertCanonicalSubjectId(subjectId);
|
|
229
|
-
const effectiveTtlSeconds = resolveProducerTtlSeconds({ ttlSeconds, now, ceiling: { source: ProducerTtlCeilingSource.VendorAdmission } });
|
|
230
|
-
const checkout = env.GITHUB_WORKSPACE;
|
|
231
|
-
if (typeof checkout !== 'string' || !isAbsolute(checkout)) {
|
|
232
|
-
throw new Error(
|
|
233
|
-
`GITHUB_WORKSPACE (${JSON.stringify(checkout ?? null)}) is not an absolute path: the publisher's checkout at GITHUB_SHA is hashed there`,
|
|
234
|
-
);
|
|
235
|
-
}
|
|
236
|
-
try {
|
|
237
|
-
assertGitCommitExists(checkout, context.sha);
|
|
238
|
-
} catch (error) {
|
|
239
|
-
throw new Error(`the publisher's checkout at GITHUB_WORKSPACE ${checkout} does not hold GITHUB_SHA ${context.sha}: ${error.message}`);
|
|
240
|
-
}
|
|
241
|
-
const { contractAuthority, schemas } = await readPublicContractAuthority({ path: contractAuthorityPath, kernelDir });
|
|
242
|
-
const builder = deriveBuilder({ provenancePath, sourceCommit: context.sha });
|
|
243
|
-
|
|
244
|
-
const declarations = loadRegistryCredentialDeclarationsFile(registryCredentialsPath);
|
|
245
|
-
const clients = new Map();
|
|
246
|
-
const clientFor = (authority) => {
|
|
247
|
-
if (!clients.has(authority)) {
|
|
248
|
-
const credential = resolveRegistryCredential({ authority, declarations, env });
|
|
249
|
-
// No vendor data root: the publisher's oras is held to its version, not to a vendor pin. Every byte read is
|
|
250
|
-
// content-addressed here and re-verified by the vendor's admission.
|
|
251
|
-
clients.set(authority, registryFor ? registryFor({ authority, credential }) : new OrasRegistry({ credential, trust: () => null, fetchImpl }));
|
|
252
|
-
}
|
|
253
|
-
return clients.get(authority);
|
|
254
|
-
};
|
|
255
|
-
|
|
256
|
-
const { manifest } = await fetchBundleManifest({ clientFor, ociRef: bundle });
|
|
257
|
-
const sourceManifestHash = await schemas.computeBiomeSourceManifestHash(manifest);
|
|
258
|
-
const subject = bundleImageSubject({ manifest, subjectId, enums: schemas, bundleRef: bundle });
|
|
259
|
-
const biomeDirectory = await biomeDirectoryAtCommit({ checkout, commit: context.sha, sourceManifestHash, schemas, bundleRef: bundle });
|
|
260
|
-
const servicePath = subjectServicePath(
|
|
261
|
-
{ kind: subject.kind, id: subject.id, repo: context.repository, path: biomeDirectory === '' ? '.' : biomeDirectory },
|
|
262
|
-
context.sha,
|
|
263
|
-
() => ({ dir: checkout, base: checkout }),
|
|
264
|
-
);
|
|
265
|
-
const sourceTreeHash = hashImageBuildInputs(
|
|
266
|
-
{ repoDir: checkout, service: subject.id, servicePath, commit: context.sha, crossRepoInputs: [], buildStepDirectories: [] },
|
|
267
|
-
imageInputSourceHashAlgorithm(),
|
|
268
|
-
);
|
|
269
|
-
const artifact = await resolveImageArtifactEvidenceByDigest({
|
|
270
|
-
client: clientFor(splitImageRef(imageRef.repository).authority),
|
|
271
|
-
imageRepository: imageRef.repository,
|
|
272
|
-
manifestDigest: imageRef.digest,
|
|
273
|
-
referenceProvenance: builder.predicate,
|
|
274
|
-
});
|
|
275
|
-
const input = producerInputDocument({
|
|
276
|
-
contractAuthority,
|
|
277
|
-
context,
|
|
278
|
-
builder,
|
|
279
|
-
now,
|
|
280
|
-
ttlSeconds: effectiveTtlSeconds,
|
|
281
|
-
subject: {
|
|
282
|
-
kind: subject.kind,
|
|
283
|
-
id: subject.id,
|
|
284
|
-
repositoryUrl: `https://github.com/${context.repository}`,
|
|
285
|
-
repo: context.repository,
|
|
286
|
-
path: biomeDirectory === '' ? context.repository : `${context.repository}/${biomeDirectory}`,
|
|
287
|
-
sourceCommit: context.sha,
|
|
288
|
-
sourceManifestHash,
|
|
289
|
-
sourceTreeHash,
|
|
290
|
-
imageRepository: imageRef.repository,
|
|
291
|
-
...artifact,
|
|
292
|
-
},
|
|
293
|
-
});
|
|
294
|
-
assertAssembledProducerInput({ input, schemas, contractAuthority, context });
|
|
295
|
-
return input;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
function requireFlag(flags, name) {
|
|
299
|
-
const value = flags.get(name);
|
|
300
|
-
if (value === undefined) {
|
|
301
|
-
throw new Error(`--${name} is required\n${THIRD_PARTY_INPUT_USAGE}`);
|
|
302
|
-
}
|
|
303
|
-
return value;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
async function main() {
|
|
307
|
-
// No workspace root: the verb runs on public inputs, with the kernel this CLI ships.
|
|
308
|
-
const args = configureEditionWorkspaceFromArgv(process.argv.slice(2), [], { refuseOthers: true });
|
|
309
|
-
stateKernelPackageDir(shippedKernelPackageDir());
|
|
310
|
-
const flags = readAssemblerFlags(args, new Set(Object.values(THIRD_PARTY_INPUT_FLAGS)));
|
|
311
|
-
const output = resolve(requireFlag(flags, THIRD_PARTY_INPUT_FLAGS.output));
|
|
312
|
-
const ttl = flags.get(THIRD_PARTY_INPUT_FLAGS.ttlSeconds);
|
|
313
|
-
const input = await assembleThirdPartyInput({
|
|
314
|
-
bundle: requireFlag(flags, THIRD_PARTY_INPUT_FLAGS.bundle),
|
|
315
|
-
contractAuthorityPath: resolve(requireFlag(flags, THIRD_PARTY_INPUT_FLAGS.contractAuthority)),
|
|
316
|
-
image: requireFlag(flags, THIRD_PARTY_INPUT_FLAGS.image),
|
|
317
|
-
subjectId: requireFlag(flags, THIRD_PARTY_INPUT_FLAGS.subjectId),
|
|
318
|
-
provenancePath: requireFlag(flags, THIRD_PARTY_INPUT_FLAGS.provenance),
|
|
319
|
-
registryCredentialsPath: resolve(requireFlag(flags, THIRD_PARTY_INPUT_FLAGS.registryCredentials)),
|
|
320
|
-
ttlSeconds: producerTtlSecondsFlag(ttl),
|
|
321
|
-
});
|
|
322
|
-
writeProducerInputFile(output, input);
|
|
323
|
-
const [subject] = input.subjects;
|
|
324
|
-
console.log(
|
|
325
|
-
`[assemble-third-party-input] wrote ${output} for subject ${subject.kind}:${subject.id} ` +
|
|
326
|
-
`(${subject.imageRepository}@${subject.manifestDigest}, ${subject.repo}@${subject.sourceCommit}, ` +
|
|
327
|
-
`sourceTreeHash (${PUBLISHER_ATTESTED_LABEL}) ${subject.sourceTreeHash})`,
|
|
328
|
-
);
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
if (isEntryModule(import.meta.url)) {
|
|
332
|
-
main().catch((error) => {
|
|
333
|
-
console.error(`[assemble-third-party-input] ${error.message}`);
|
|
334
|
-
process.exitCode = 1;
|
|
335
|
-
});
|
|
336
|
-
}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// authored-source-check — `xema edition check-authored`: grades the AUTHORED
|
|
3
|
-
// distribution source, the develop lifecycle's gate. It is its own mode, not
|
|
4
|
-
// the release check with assertions turned off: `xema edition check`
|
|
5
|
-
// (dist-check.mjs) stays the full release-path grade, and nothing here can
|
|
6
|
-
// make it skip anything.
|
|
7
|
-
//
|
|
8
|
-
// Authored and release state are separate lifecycles. What is authored is
|
|
9
|
-
// graded here, offline; what only a release carries is not read: no lock
|
|
10
|
-
// content (the committed distribution / images / authorization / chart-set
|
|
11
|
-
// locks; the trust-arming rule counts lock files by presence), and nothing that
|
|
12
|
-
// needs a source checkout at a committed `repositoryPins` commit. No edition is
|
|
13
|
-
// resolved here: the plane invariants over a resolved edition (the
|
|
14
|
-
// capability-domain reservation table and biome confinement) are asserted on
|
|
15
|
-
// develop by the develop resolve against the graph it froze
|
|
16
|
-
// (develop-edition-invariants.mjs), and on the release path by
|
|
17
|
-
// `xema edition check` over the committed locks. One place per assertion.
|
|
18
|
-
//
|
|
19
|
-
// KEPT (each refuses):
|
|
20
|
-
// - the kernel speaks a supported edition protocol;
|
|
21
|
-
// - biome-index.json: immutable entries, deterministic order, no duplicate
|
|
22
|
-
// source identity, a serviceDependencies projection on every entry;
|
|
23
|
-
// - platform-service-index.json: parses, matches the declared
|
|
24
|
-
// platformServiceSources offline, service-dependency owner parity;
|
|
25
|
-
// - runtime-image-source-index.json: the offline `--check`;
|
|
26
|
-
// - the evidence trust policy, its data-root pin and its arming assessment;
|
|
27
|
-
// - the data-root readers (store source repositories, publisher trust);
|
|
28
|
-
// - the fleet chart-set pin is a rostered chart-set lock;
|
|
29
|
-
// - the pinned kernel's authorization composer loads;
|
|
30
|
-
// - the ownership self-tests: the kernel's capability-domain reader refuses
|
|
31
|
-
// two owners of one domain and an invalid domain, and counts no unlisted
|
|
32
|
-
// domain as first-party (synthetic tables, no lock);
|
|
33
|
-
// - every edition definition is structurally valid: the kernel parses it
|
|
34
|
-
// (its `sourcePins` included) and it composes.
|
|
35
|
-
//
|
|
36
|
-
// NOT HERE:
|
|
37
|
-
// - lock currency, sealed hashes, the authorization lock, each edition's
|
|
38
|
-
// chart-set.lock.json copy, platform-service ownership at pinned commits,
|
|
39
|
-
// `--check-sources` (refused): release state, `xema edition check`;
|
|
40
|
-
// - the definition resolve, reservations, confinement: the develop resolve.
|
|
41
|
-
|
|
42
|
-
import {
|
|
43
|
-
checkDataRootPlane,
|
|
44
|
-
discoverDistributionIds,
|
|
45
|
-
loadPlaneAuthorizationKernel,
|
|
46
|
-
ownershipSelfTestFailures,
|
|
47
|
-
readFleetChartSetPin,
|
|
48
|
-
} from './dist-check.mjs';
|
|
49
|
-
import { describeEditionHolds } from './edition-source-pins.mjs';
|
|
50
|
-
import { WorkspaceRoot, configureEditionWorkspaceFromProcess, isEntryModule } from './edition-workspace.mjs';
|
|
51
|
-
import { loadKernelDistributionSchemas } from './lib.mjs';
|
|
52
|
-
import { composeEdition } from './resolve-distribution.mjs';
|
|
53
|
-
|
|
54
|
-
/** The release-path flag this mode refuses rather than ignores. */
|
|
55
|
-
const CHECK_SOURCES_FLAG = '--check-sources';
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Whether edition `id`'s definition is structurally valid: the kernel parses it
|
|
59
|
-
* and it composes. Nothing is resolved and no index or source is read.
|
|
60
|
-
*
|
|
61
|
-
* @returns {Promise<string | null>} the refusal, or null when valid
|
|
62
|
-
*/
|
|
63
|
-
export async function definitionRefusal(id) {
|
|
64
|
-
try {
|
|
65
|
-
const schemas = await loadKernelDistributionSchemas();
|
|
66
|
-
composeEdition(schemas.parseDistribution, id);
|
|
67
|
-
return null;
|
|
68
|
-
} catch (err) {
|
|
69
|
-
return err.message;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* The ownership self-tests (dist-check.mjs): the kernel's capability-domain
|
|
75
|
-
* reader, against synthetic tables. Lock-free. Returns true when green.
|
|
76
|
-
*/
|
|
77
|
-
async function checkOwnershipSelfTests(resolveFirstPartyCapabilityDomains) {
|
|
78
|
-
let failures;
|
|
79
|
-
try {
|
|
80
|
-
failures = ownershipSelfTestFailures(resolveFirstPartyCapabilityDomains);
|
|
81
|
-
} catch (err) {
|
|
82
|
-
failures = [`the kernel's capability-domain reader threw on a valid table: ${err.message}`];
|
|
83
|
-
}
|
|
84
|
-
for (const failure of failures) {console.error(`[dist:check-authored] ownership self-test FAILED: ${failure}`);}
|
|
85
|
-
if (failures.length === 0) {console.log('[dist:check-authored] ownership self-tests: green.');}
|
|
86
|
-
return failures.length === 0;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* The authored check over the configured roots. Returns true when green.
|
|
91
|
-
* `resolveFirstPartyCapabilityDomains` is the kernel's reader unless a test
|
|
92
|
-
* stands in for it.
|
|
93
|
-
*/
|
|
94
|
-
export async function checkAuthoredSource({ resolveFirstPartyCapabilityDomains } = {}) {
|
|
95
|
-
let green = await checkDataRootPlane({ checkSources: false });
|
|
96
|
-
const reader = resolveFirstPartyCapabilityDomains ?? (await loadKernelDistributionSchemas()).resolveFirstPartyCapabilityDomains;
|
|
97
|
-
if (!(await checkOwnershipSelfTests(reader))) {green = false;}
|
|
98
|
-
|
|
99
|
-
const distributionIds = discoverDistributionIds();
|
|
100
|
-
for (const line of describeEditionHolds(distributionIds)) {console.log(line);}
|
|
101
|
-
for (const id of distributionIds) {
|
|
102
|
-
const refusal = await definitionRefusal(id);
|
|
103
|
-
if (refusal === null) {
|
|
104
|
-
console.log(`[dist:check-authored] ${id}: the definition is valid.`);
|
|
105
|
-
} else {
|
|
106
|
-
console.error(`[dist:check-authored] ${id}: the definition is invalid — ${refusal}`);
|
|
107
|
-
green = false;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const { green: authorizationKernelGreen } = await loadPlaneAuthorizationKernel();
|
|
112
|
-
if (!authorizationKernelGreen) {green = false;}
|
|
113
|
-
if (readFleetChartSetPin() === null) {green = false;}
|
|
114
|
-
|
|
115
|
-
return green;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
async function main() {
|
|
119
|
-
if (process.argv.includes(CHECK_SOURCES_FLAG)) {
|
|
120
|
-
throw new Error(
|
|
121
|
-
`${CHECK_SOURCES_FLAG} audits the indexes against source checkouts, which is release state: ` +
|
|
122
|
-
`run \`xema edition check ${CHECK_SOURCES_FLAG}\`.`,
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
if (!(await checkAuthoredSource())) {process.exit(1);}
|
|
126
|
-
console.log('[dist:check-authored] the authored distribution source is green.');
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
if (isEntryModule(import.meta.url)) {
|
|
130
|
-
configureEditionWorkspaceFromProcess([WorkspaceRoot.Data, WorkspaceRoot.Editions, WorkspaceRoot.Sources, WorkspaceRoot.Kernel]);
|
|
131
|
-
main().catch((err) => {
|
|
132
|
-
console.error(`[dist:check-authored] ${err.message}`);
|
|
133
|
-
process.exit(1);
|
|
134
|
-
});
|
|
135
|
-
}
|