@xemahq/xema 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -2
- package/dist/assets/appliance-base/distribution.lock.json +5144 -0
- package/dist/assets/appliance-base/images.lock.json +1706 -0
- package/dist/assets/appliance-lean/distribution.lock.json +2888 -0
- package/dist/assets/appliance-lean/images.lock.json +1229 -0
- package/dist/assets/boot-graph.json +339 -29
- package/dist/assets/cloud/distribution.lock.json +5278 -0
- package/dist/assets/cloud/images.lock.json +1713 -0
- package/dist/assets/core/distribution.lock.json +1802 -125
- package/dist/assets/core/images.lock.json +1175 -235
- package/dist/assets/distribution-assets.manifest.json +147 -0
- package/dist/assets/keycloak/realm-xema.json +412 -0
- package/dist/assets/minimal/distribution.lock.json +2710 -0
- package/dist/assets/minimal/images.lock.json +1149 -0
- package/dist/assets/oss/distribution.lock.json +2438 -226
- package/dist/assets/oss/images.lock.json +1502 -618
- package/dist/assets/starter/distribution.lock.json +3422 -0
- package/dist/assets/starter/images.lock.json +1404 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/apply.js +1 -1
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/biome.d.ts.map +1 -1
- package/dist/commands/biome.js +84 -7
- package/dist/commands/biome.js.map +1 -1
- package/dist/commands/canopy.js +1 -1
- package/dist/commands/canopy.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +27 -5
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/dist.d.ts +13 -0
- package/dist/commands/dist.d.ts.map +1 -1
- package/dist/commands/dist.js +50 -10
- package/dist/commands/dist.js.map +1 -1
- package/dist/commands/doctor.d.ts +25 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +422 -18
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/down.d.ts +10 -0
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +81 -41
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/export.js +1 -1
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.js +1 -1
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +56 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/installation.d.ts.map +1 -1
- package/dist/commands/installation.js +169 -12
- package/dist/commands/installation.js.map +1 -1
- package/dist/commands/license.d.ts +3 -0
- package/dist/commands/license.d.ts.map +1 -0
- package/dist/commands/license.js +97 -0
- package/dist/commands/license.js.map +1 -0
- package/dist/commands/login.d.ts +4 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +127 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logs.d.ts +21 -0
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +131 -22
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/objects.js +2 -2
- package/dist/commands/objects.js.map +1 -1
- package/dist/commands/plan.js +1 -1
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/run.js +1 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +39 -6
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/shell.js +1 -1
- package/dist/commands/shell.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +20 -5
- package/dist/commands/up.js.map +1 -1
- package/dist/dev/env-defaults.d.ts +1 -0
- package/dist/dev/env-defaults.d.ts.map +1 -1
- package/dist/dev/env-defaults.js +15 -6
- package/dist/dev/env-defaults.js.map +1 -1
- package/dist/dev/forked-worker-bootstrap-protocol.d.ts +17 -0
- package/dist/dev/forked-worker-bootstrap-protocol.d.ts.map +1 -0
- package/dist/dev/forked-worker-bootstrap-protocol.js +35 -0
- package/dist/dev/forked-worker-bootstrap-protocol.js.map +1 -0
- package/dist/dev/forked-worker-bootstrap.d.ts +18 -0
- package/dist/dev/forked-worker-bootstrap.d.ts.map +1 -0
- package/dist/dev/forked-worker-bootstrap.js +84 -0
- package/dist/dev/forked-worker-bootstrap.js.map +1 -0
- package/dist/dev/forked-worker.d.ts +14 -0
- package/dist/dev/forked-worker.d.ts.map +1 -1
- package/dist/dev/forked-worker.js +200 -33
- package/dist/dev/forked-worker.js.map +1 -1
- package/dist/lib/control-plane.d.ts +5 -1
- package/dist/lib/control-plane.d.ts.map +1 -1
- package/dist/lib/control-plane.js +56 -6
- package/dist/lib/control-plane.js.map +1 -1
- package/dist/runtime/asset-provenance.d.ts +17 -0
- package/dist/runtime/asset-provenance.d.ts.map +1 -0
- package/dist/runtime/asset-provenance.js +29 -0
- package/dist/runtime/asset-provenance.js.map +1 -0
- package/dist/runtime/auth/client-bootstrap.d.ts +11 -0
- package/dist/runtime/auth/client-bootstrap.d.ts.map +1 -0
- package/dist/runtime/auth/client-bootstrap.js +60 -0
- package/dist/runtime/auth/client-bootstrap.js.map +1 -0
- package/dist/runtime/auth/device-flow.d.ts +43 -0
- package/dist/runtime/auth/device-flow.d.ts.map +1 -0
- package/dist/runtime/auth/device-flow.js +201 -0
- package/dist/runtime/auth/device-flow.js.map +1 -0
- package/dist/runtime/auth/session-auth.d.ts +8 -0
- package/dist/runtime/auth/session-auth.d.ts.map +1 -0
- package/dist/runtime/auth/session-auth.js +43 -0
- package/dist/runtime/auth/session-auth.js.map +1 -0
- package/dist/runtime/auth/session-store.d.ts +19 -0
- package/dist/runtime/auth/session-store.d.ts.map +1 -0
- package/dist/runtime/auth/session-store.js +83 -0
- package/dist/runtime/auth/session-store.js.map +1 -0
- package/dist/runtime/auth/token-claims.d.ts +2 -0
- package/dist/runtime/auth/token-claims.d.ts.map +1 -0
- package/dist/runtime/auth/token-claims.js +45 -0
- package/dist/runtime/auth/token-claims.js.map +1 -0
- package/dist/runtime/biome-provenance.d.ts +26 -0
- package/dist/runtime/biome-provenance.d.ts.map +1 -0
- package/dist/runtime/biome-provenance.js +70 -0
- package/dist/runtime/biome-provenance.js.map +1 -0
- package/dist/runtime/biome-publish.d.ts +14 -0
- package/dist/runtime/biome-publish.d.ts.map +1 -1
- package/dist/runtime/biome-publish.js +69 -5
- package/dist/runtime/biome-publish.js.map +1 -1
- package/dist/runtime/biome-scaffold.d.ts.map +1 -1
- package/dist/runtime/biome-scaffold.js +0 -2
- package/dist/runtime/biome-scaffold.js.map +1 -1
- package/dist/runtime/biome-validate.d.ts.map +1 -1
- package/dist/runtime/biome-validate.js +4 -2
- package/dist/runtime/biome-validate.js.map +1 -1
- package/dist/runtime/cleanup.d.ts +10 -0
- package/dist/runtime/cleanup.d.ts.map +1 -0
- package/dist/runtime/cleanup.js +35 -0
- package/dist/runtime/cleanup.js.map +1 -0
- package/dist/runtime/config/init-presets.d.ts.map +1 -1
- package/dist/runtime/config/init-presets.js +6 -3
- package/dist/runtime/config/init-presets.js.map +1 -1
- package/dist/runtime/distribution/available-biome.d.ts.map +1 -1
- package/dist/runtime/distribution/available-biome.js +2 -0
- package/dist/runtime/distribution/available-biome.js.map +1 -1
- package/dist/runtime/distribution/compose.d.ts +2 -1
- package/dist/runtime/distribution/compose.d.ts.map +1 -1
- package/dist/runtime/distribution/compose.js +1 -0
- package/dist/runtime/distribution/compose.js.map +1 -1
- package/dist/runtime/env-seeder.d.ts.map +1 -1
- package/dist/runtime/env-seeder.js +44 -13
- package/dist/runtime/env-seeder.js.map +1 -1
- package/dist/runtime/foreground.d.ts +6 -1
- package/dist/runtime/foreground.d.ts.map +1 -1
- package/dist/runtime/foreground.js +30 -7
- package/dist/runtime/foreground.js.map +1 -1
- package/dist/runtime/infra/infra-catalog.d.ts +33 -1
- package/dist/runtime/infra/infra-catalog.d.ts.map +1 -1
- package/dist/runtime/infra/infra-catalog.js +201 -10
- package/dist/runtime/infra/infra-catalog.js.map +1 -1
- package/dist/runtime/infra/infra-environment.d.ts +10 -0
- package/dist/runtime/infra/infra-environment.d.ts.map +1 -0
- package/dist/runtime/infra/infra-environment.js +76 -0
- package/dist/runtime/infra/infra-environment.js.map +1 -0
- package/dist/runtime/infra/infra-plan.d.ts +2 -1
- package/dist/runtime/infra/infra-plan.d.ts.map +1 -1
- package/dist/runtime/infra/infra-plan.js +10 -0
- package/dist/runtime/infra/infra-plan.js.map +1 -1
- package/dist/runtime/infra/infra-runner.d.ts +12 -2
- package/dist/runtime/infra/infra-runner.d.ts.map +1 -1
- package/dist/runtime/infra/infra-runner.js +194 -73
- package/dist/runtime/infra/infra-runner.js.map +1 -1
- package/dist/runtime/infra/keycloak-realm.d.ts +25 -0
- package/dist/runtime/infra/keycloak-realm.d.ts.map +1 -0
- package/dist/runtime/infra/keycloak-realm.js +116 -0
- package/dist/runtime/infra/keycloak-realm.js.map +1 -0
- package/dist/runtime/infra/postgres-endpoint.d.ts +8 -0
- package/dist/runtime/infra/postgres-endpoint.d.ts.map +1 -0
- package/dist/runtime/infra/postgres-endpoint.js +21 -0
- package/dist/runtime/infra/postgres-endpoint.js.map +1 -0
- package/dist/runtime/installation/compiler.d.ts +104 -27
- package/dist/runtime/installation/compiler.d.ts.map +1 -1
- package/dist/runtime/installation/compiler.js +361 -95
- package/dist/runtime/installation/compiler.js.map +1 -1
- package/dist/runtime/installation/contract.d.ts +234 -63
- package/dist/runtime/installation/contract.d.ts.map +1 -1
- package/dist/runtime/installation/contract.js +396 -74
- package/dist/runtime/installation/contract.js.map +1 -1
- package/dist/runtime/installation/current-launcher-renderer.d.ts +12 -0
- package/dist/runtime/installation/current-launcher-renderer.d.ts.map +1 -0
- package/dist/runtime/installation/current-launcher-renderer.js +123 -0
- package/dist/runtime/installation/current-launcher-renderer.js.map +1 -0
- package/dist/runtime/installation/diff.d.ts +15 -0
- package/dist/runtime/installation/diff.d.ts.map +1 -1
- package/dist/runtime/installation/diff.js +66 -29
- package/dist/runtime/installation/diff.js.map +1 -1
- package/dist/runtime/installation/format.js +4 -4
- package/dist/runtime/installation/format.js.map +1 -1
- package/dist/runtime/installation/from-current-config.d.ts +3 -2
- package/dist/runtime/installation/from-current-config.d.ts.map +1 -1
- package/dist/runtime/installation/from-current-config.js +214 -44
- package/dist/runtime/installation/from-current-config.js.map +1 -1
- package/dist/runtime/installation/helm-release-readiness.d.ts +9 -0
- package/dist/runtime/installation/helm-release-readiness.d.ts.map +1 -0
- package/dist/runtime/installation/helm-release-readiness.js +97 -0
- package/dist/runtime/installation/helm-release-readiness.js.map +1 -0
- package/dist/runtime/installation/helm-release.d.ts +24 -0
- package/dist/runtime/installation/helm-release.d.ts.map +1 -0
- package/dist/runtime/installation/helm-release.js +96 -0
- package/dist/runtime/installation/helm-release.js.map +1 -0
- package/dist/runtime/installation/index.d.ts +9 -0
- package/dist/runtime/installation/index.d.ts.map +1 -1
- package/dist/runtime/installation/index.js +9 -0
- package/dist/runtime/installation/index.js.map +1 -1
- package/dist/runtime/installation/json-schema.d.ts +4 -0
- package/dist/runtime/installation/json-schema.d.ts.map +1 -0
- package/dist/runtime/installation/json-schema.js +16 -0
- package/dist/runtime/installation/json-schema.js.map +1 -0
- package/dist/runtime/installation/kubernetes-readiness.d.ts +60 -0
- package/dist/runtime/installation/kubernetes-readiness.d.ts.map +1 -0
- package/dist/runtime/installation/kubernetes-readiness.js +384 -0
- package/dist/runtime/installation/kubernetes-readiness.js.map +1 -0
- package/dist/runtime/installation/lifecycle.d.ts +6 -4
- package/dist/runtime/installation/lifecycle.d.ts.map +1 -1
- package/dist/runtime/installation/lifecycle.js +94 -7
- package/dist/runtime/installation/lifecycle.js.map +1 -1
- package/dist/runtime/installation/readiness-proof.d.ts +72 -0
- package/dist/runtime/installation/readiness-proof.d.ts.map +1 -0
- package/dist/runtime/installation/readiness-proof.js +142 -0
- package/dist/runtime/installation/readiness-proof.js.map +1 -0
- package/dist/runtime/installation/readiness.d.ts +21 -0
- package/dist/runtime/installation/readiness.d.ts.map +1 -0
- package/dist/runtime/installation/readiness.js +418 -0
- package/dist/runtime/installation/readiness.js.map +1 -0
- package/dist/runtime/installation/setup-profile.d.ts +8 -0
- package/dist/runtime/installation/setup-profile.d.ts.map +1 -0
- package/dist/runtime/installation/setup-profile.js +41 -0
- package/dist/runtime/installation/setup-profile.js.map +1 -0
- package/dist/runtime/installation/setup-renderer.d.ts +31 -0
- package/dist/runtime/installation/setup-renderer.d.ts.map +1 -0
- package/dist/runtime/installation/setup-renderer.js +238 -0
- package/dist/runtime/installation/setup-renderer.js.map +1 -0
- package/dist/runtime/installation/state-store.d.ts +11 -3
- package/dist/runtime/installation/state-store.d.ts.map +1 -1
- package/dist/runtime/installation/state-store.js +157 -37
- package/dist/runtime/installation/state-store.js.map +1 -1
- package/dist/runtime/installation/status.d.ts +6 -12
- package/dist/runtime/installation/status.d.ts.map +1 -1
- package/dist/runtime/installation/status.js +28 -114
- package/dist/runtime/installation/status.js.map +1 -1
- package/dist/runtime/installation/support-bundle.d.ts.map +1 -1
- package/dist/runtime/installation/support-bundle.js +18 -3
- package/dist/runtime/installation/support-bundle.js.map +1 -1
- package/dist/runtime/installation/to-current-config.d.ts +4 -0
- package/dist/runtime/installation/to-current-config.d.ts.map +1 -0
- package/dist/runtime/installation/to-current-config.js +171 -0
- package/dist/runtime/installation/to-current-config.js.map +1 -0
- package/dist/runtime/installation/validation.d.ts.map +1 -1
- package/dist/runtime/installation/validation.js +78 -0
- package/dist/runtime/installation/validation.js.map +1 -1
- package/dist/runtime/installation/validators/common.d.ts.map +1 -1
- package/dist/runtime/installation/validators/common.js +7 -4
- package/dist/runtime/installation/validators/common.js.map +1 -1
- package/dist/runtime/installation/validators/infrastructure.d.ts.map +1 -1
- package/dist/runtime/installation/validators/infrastructure.js +20 -2
- package/dist/runtime/installation/validators/infrastructure.js.map +1 -1
- package/dist/runtime/installation/validators/operational.d.ts.map +1 -1
- package/dist/runtime/installation/validators/operational.js +44 -102
- package/dist/runtime/installation/validators/operational.js.map +1 -1
- package/dist/runtime/installation/validators/profile.d.ts.map +1 -1
- package/dist/runtime/installation/validators/profile.js +53 -51
- package/dist/runtime/installation/validators/profile.js.map +1 -1
- package/dist/runtime/installation/validators/secrets.d.ts.map +1 -1
- package/dist/runtime/installation/validators/secrets.js +44 -27
- package/dist/runtime/installation/validators/secrets.js.map +1 -1
- package/dist/runtime/launch.d.ts +10 -0
- package/dist/runtime/launch.d.ts.map +1 -1
- package/dist/runtime/launch.js +123 -18
- package/dist/runtime/launch.js.map +1 -1
- package/dist/runtime/license/license-clock.d.ts +12 -0
- package/dist/runtime/license/license-clock.d.ts.map +1 -0
- package/dist/runtime/license/license-clock.js +57 -0
- package/dist/runtime/license/license-clock.js.map +1 -0
- package/dist/runtime/license/license-report.d.ts +19 -0
- package/dist/runtime/license/license-report.d.ts.map +1 -0
- package/dist/runtime/license/license-report.js +105 -0
- package/dist/runtime/license/license-report.js.map +1 -0
- package/dist/runtime/license/license-store.d.ts +5 -0
- package/dist/runtime/license/license-store.d.ts.map +1 -0
- package/dist/runtime/license/license-store.js +11 -0
- package/dist/runtime/license/license-store.js.map +1 -0
- package/dist/runtime/license/registry-credential.d.ts +26 -0
- package/dist/runtime/license/registry-credential.d.ts.map +1 -0
- package/dist/runtime/license/registry-credential.js +94 -0
- package/dist/runtime/license/registry-credential.js.map +1 -0
- package/dist/runtime/license/resolve-license.d.ts +30 -0
- package/dist/runtime/license/resolve-license.d.ts.map +1 -0
- package/dist/runtime/license/resolve-license.js +73 -0
- package/dist/runtime/license/resolve-license.js.map +1 -0
- package/dist/runtime/license/store-license.d.ts +18 -0
- package/dist/runtime/license/store-license.d.ts.map +1 -0
- package/dist/runtime/license/store-license.js +26 -0
- package/dist/runtime/license/store-license.js.map +1 -0
- package/dist/runtime/lock-loader.d.ts +3 -6
- package/dist/runtime/lock-loader.d.ts.map +1 -1
- package/dist/runtime/lock-loader.js +26 -20
- package/dist/runtime/lock-loader.js.map +1 -1
- package/dist/runtime/native-process-group.d.ts +46 -0
- package/dist/runtime/native-process-group.d.ts.map +1 -0
- package/dist/runtime/native-process-group.js +390 -0
- package/dist/runtime/native-process-group.js.map +1 -0
- package/dist/runtime/paths.d.ts +1 -0
- package/dist/runtime/paths.d.ts.map +1 -1
- package/dist/runtime/paths.js +1 -0
- package/dist/runtime/paths.js.map +1 -1
- package/dist/runtime/roster.d.ts +4 -3
- package/dist/runtime/roster.d.ts.map +1 -1
- package/dist/runtime/roster.js +17 -5
- package/dist/runtime/roster.js.map +1 -1
- package/dist/runtime/run-manifest.d.ts +34 -5
- package/dist/runtime/run-manifest.d.ts.map +1 -1
- package/dist/runtime/run-manifest.js +434 -120
- package/dist/runtime/run-manifest.js.map +1 -1
- package/dist/runtime/runner/container-preflight.d.ts +77 -0
- package/dist/runtime/runner/container-preflight.d.ts.map +1 -0
- package/dist/runtime/runner/container-preflight.js +360 -0
- package/dist/runtime/runner/container-preflight.js.map +1 -0
- package/dist/runtime/runner/container-runner.d.ts +8 -0
- package/dist/runtime/runner/container-runner.d.ts.map +1 -1
- package/dist/runtime/runner/container-runner.js +93 -16
- package/dist/runtime/runner/container-runner.js.map +1 -1
- package/dist/runtime/runner/docker-cli.d.ts +30 -2
- package/dist/runtime/runner/docker-cli.d.ts.map +1 -1
- package/dist/runtime/runner/docker-cli.js +275 -11
- package/dist/runtime/runner/docker-cli.js.map +1 -1
- package/dist/runtime/runner/health-probe.d.ts +1 -0
- package/dist/runtime/runner/health-probe.d.ts.map +1 -1
- package/dist/runtime/runner/health-probe.js +3 -2
- package/dist/runtime/runner/health-probe.js.map +1 -1
- package/dist/runtime/runner/helm-cli.d.ts +19 -1
- package/dist/runtime/runner/helm-cli.d.ts.map +1 -1
- package/dist/runtime/runner/helm-cli.js +76 -8
- package/dist/runtime/runner/helm-cli.js.map +1 -1
- package/dist/runtime/runner/helm-runner.d.ts +3 -0
- package/dist/runtime/runner/helm-runner.d.ts.map +1 -1
- package/dist/runtime/runner/helm-runner.js +23 -7
- package/dist/runtime/runner/helm-runner.js.map +1 -1
- package/dist/runtime/runner/host-platform.d.ts +39 -0
- package/dist/runtime/runner/host-platform.d.ts.map +1 -0
- package/dist/runtime/runner/host-platform.js +136 -0
- package/dist/runtime/runner/host-platform.js.map +1 -0
- package/dist/runtime/runner/kube-cli.d.ts +23 -0
- package/dist/runtime/runner/kube-cli.d.ts.map +1 -0
- package/dist/runtime/runner/kube-cli.js +112 -0
- package/dist/runtime/runner/kube-cli.js.map +1 -0
- package/dist/runtime/runner/native-runner.d.ts.map +1 -1
- package/dist/runtime/runner/native-runner.js +27 -3
- package/dist/runtime/runner/native-runner.js.map +1 -1
- package/dist/runtime/runner/service-runner.d.ts +5 -0
- package/dist/runtime/runner/service-runner.d.ts.map +1 -1
- package/dist/runtime/runner/service-runner.js.map +1 -1
- package/dist/runtime/runner/stream-outcome.d.ts +7 -0
- package/dist/runtime/runner/stream-outcome.d.ts.map +1 -0
- package/dist/runtime/runner/stream-outcome.js +13 -0
- package/dist/runtime/runner/stream-outcome.js.map +1 -0
- package/dist/runtime/secrets/managed-local-cipher.d.ts +18 -0
- package/dist/runtime/secrets/managed-local-cipher.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-cipher.js +110 -0
- package/dist/runtime/secrets/managed-local-cipher.js.map +1 -0
- package/dist/runtime/secrets/managed-local-files.d.ts +4 -0
- package/dist/runtime/secrets/managed-local-files.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-files.js +132 -0
- package/dist/runtime/secrets/managed-local-files.js.map +1 -0
- package/dist/runtime/secrets/managed-local-key-provider.d.ts +27 -0
- package/dist/runtime/secrets/managed-local-key-provider.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-key-provider.js +144 -0
- package/dist/runtime/secrets/managed-local-key-provider.js.map +1 -0
- package/dist/runtime/secrets/managed-local-secret-store.d.ts +18 -0
- package/dist/runtime/secrets/managed-local-secret-store.d.ts.map +1 -0
- package/dist/runtime/secrets/managed-local-secret-store.js +82 -0
- package/dist/runtime/secrets/managed-local-secret-store.js.map +1 -0
- package/dist/runtime/secrets/managed-local-store.d.ts +7 -0
- package/dist/runtime/secrets/managed-local-store.d.ts.map +1 -1
- package/dist/runtime/secrets/managed-local-store.js +46 -127
- package/dist/runtime/secrets/managed-local-store.js.map +1 -1
- package/dist/runtime/sources/credentials.d.ts +2 -0
- package/dist/runtime/sources/credentials.d.ts.map +1 -1
- package/dist/runtime/sources/credentials.js +49 -0
- package/dist/runtime/sources/credentials.js.map +1 -1
- package/dist/runtime/sources/kinds/distribution.js +3 -3
- package/dist/runtime/sources/kinds/distribution.js.map +1 -1
- package/dist/runtime/sources/manifest-walk.d.ts +1 -0
- package/dist/runtime/sources/manifest-walk.d.ts.map +1 -1
- package/dist/runtime/sources/manifest-walk.js +16 -11
- package/dist/runtime/sources/manifest-walk.js.map +1 -1
- package/dist/runtime/sources/schema.d.ts.map +1 -1
- package/dist/runtime/sources/schema.js +51 -3
- package/dist/runtime/sources/schema.js.map +1 -1
- package/dist/runtime/store-client.d.ts +1 -1
- package/dist/runtime/store-client.d.ts.map +1 -1
- package/dist/runtime/store-client.js +2 -1
- package/dist/runtime/store-client.js.map +1 -1
- package/dist/runtime/store-submit.d.ts +31 -0
- package/dist/runtime/store-submit.d.ts.map +1 -0
- package/dist/runtime/store-submit.js +77 -0
- package/dist/runtime/store-submit.js.map +1 -0
- package/dist/runtime/supervisor.d.ts +12 -0
- package/dist/runtime/supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor.js +141 -26
- package/dist/runtime/supervisor.js.map +1 -1
- package/package.json +20 -29
- package/LICENSE +0 -176
- package/dist/lib/command-registry.d.ts +0 -5
- package/dist/lib/command-registry.d.ts.map +0 -1
- package/dist/lib/command-registry.js +0 -17
- package/dist/lib/command-registry.js.map +0 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LicenseRegistryCredentials = exports.RegistryAuthOutcome = exports.LICENSE_REGISTRY_USERNAME = exports.LICENSE_REGISTRY_HOSTS = void 0;
|
|
4
|
+
exports.authenticateLicenseRegistries = authenticateLicenseRegistries;
|
|
5
|
+
exports.isBlockingAuthOutcome = isBlockingAuthOutcome;
|
|
6
|
+
exports.hasLicenseGatedHost = hasLicenseGatedHost;
|
|
7
|
+
exports.LICENSE_REGISTRY_HOSTS = new Set([
|
|
8
|
+
'registry.xema.dev',
|
|
9
|
+
]);
|
|
10
|
+
exports.LICENSE_REGISTRY_USERNAME = 'license';
|
|
11
|
+
var RegistryAuthOutcome;
|
|
12
|
+
(function (RegistryAuthOutcome) {
|
|
13
|
+
RegistryAuthOutcome["NotLicenseGated"] = "not-license-gated";
|
|
14
|
+
RegistryAuthOutcome["Authenticated"] = "authenticated";
|
|
15
|
+
RegistryAuthOutcome["Rejected"] = "rejected";
|
|
16
|
+
RegistryAuthOutcome["Unavailable"] = "unavailable";
|
|
17
|
+
})(RegistryAuthOutcome || (exports.RegistryAuthOutcome = RegistryAuthOutcome = {}));
|
|
18
|
+
class LicenseRegistryCredentials {
|
|
19
|
+
token;
|
|
20
|
+
static fromResolution(resolution) {
|
|
21
|
+
return new LicenseRegistryCredentials(resolution.ok ? resolution.token : null);
|
|
22
|
+
}
|
|
23
|
+
constructor(token) {
|
|
24
|
+
this.token = token;
|
|
25
|
+
}
|
|
26
|
+
secretFor(host) {
|
|
27
|
+
if (!exports.LICENSE_REGISTRY_HOSTS.has(host)) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return this.token;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.LicenseRegistryCredentials = LicenseRegistryCredentials;
|
|
34
|
+
async function authenticateLicenseRegistries(hosts, credentials, docker) {
|
|
35
|
+
const results = [];
|
|
36
|
+
for (const host of dedupe(hosts)) {
|
|
37
|
+
if (!exports.LICENSE_REGISTRY_HOSTS.has(host)) {
|
|
38
|
+
results.push({
|
|
39
|
+
host,
|
|
40
|
+
outcome: RegistryAuthOutcome.NotLicenseGated,
|
|
41
|
+
detail: '',
|
|
42
|
+
remediation: '',
|
|
43
|
+
});
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
const secret = credentials.secretFor(host);
|
|
47
|
+
if (secret === null) {
|
|
48
|
+
results.push({
|
|
49
|
+
host,
|
|
50
|
+
outcome: RegistryAuthOutcome.Unavailable,
|
|
51
|
+
detail: '',
|
|
52
|
+
remediation: `${host} authenticates with your Xema license, and no license could be verified ` +
|
|
53
|
+
'on this machine. Run `xema doctor` — it reports exactly why — then apply a ' +
|
|
54
|
+
'license with `xema license apply <file>`.',
|
|
55
|
+
});
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
await docker.login(host, exports.LICENSE_REGISTRY_USERNAME, secret);
|
|
60
|
+
results.push({
|
|
61
|
+
host,
|
|
62
|
+
outcome: RegistryAuthOutcome.Authenticated,
|
|
63
|
+
detail: '',
|
|
64
|
+
remediation: '',
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
results.push({
|
|
69
|
+
host,
|
|
70
|
+
outcome: RegistryAuthOutcome.Rejected,
|
|
71
|
+
detail: (err instanceof Error ? err.message : String(err)).trim(),
|
|
72
|
+
remediation: `${host} refused your Xema license. A license that is expired past its grace ` +
|
|
73
|
+
'window, revoked, or not entitled to this distribution cannot pull images. ' +
|
|
74
|
+
'Run `xema doctor` for the license state, and apply a renewed license with ' +
|
|
75
|
+
'`xema license apply <file>`.',
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return results;
|
|
80
|
+
}
|
|
81
|
+
const BLOCKING_AUTH_OUTCOMES = new Set([
|
|
82
|
+
RegistryAuthOutcome.Rejected,
|
|
83
|
+
RegistryAuthOutcome.Unavailable,
|
|
84
|
+
]);
|
|
85
|
+
function isBlockingAuthOutcome(outcome) {
|
|
86
|
+
return BLOCKING_AUTH_OUTCOMES.has(outcome);
|
|
87
|
+
}
|
|
88
|
+
function hasLicenseGatedHost(hosts) {
|
|
89
|
+
return hosts.some((host) => exports.LICENSE_REGISTRY_HOSTS.has(host));
|
|
90
|
+
}
|
|
91
|
+
function dedupe(values) {
|
|
92
|
+
return [...new Set(values)];
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=registry-credential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-credential.js","sourceRoot":"","sources":["../../../src/runtime/license/registry-credential.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { LicenseVerificationFailureCode, type LicenseState, type LicenseTrustStore, type VerifiedLicense } from '@xemahq/license-verifier';
|
|
2
|
+
import { type LicenseClockStore } from './license-clock';
|
|
3
|
+
import { CredentialResolver } from '../sources/credentials';
|
|
4
|
+
export declare enum LicenseSource {
|
|
5
|
+
Customer = "customer",
|
|
6
|
+
EmbeddedOpenSource = "embedded-open-source"
|
|
7
|
+
}
|
|
8
|
+
export interface LicenseResolutionSuccess {
|
|
9
|
+
readonly ok: true;
|
|
10
|
+
readonly source: LicenseSource;
|
|
11
|
+
readonly license: VerifiedLicense;
|
|
12
|
+
readonly state: LicenseState;
|
|
13
|
+
readonly token: string;
|
|
14
|
+
}
|
|
15
|
+
export interface LicenseResolutionFailure {
|
|
16
|
+
readonly ok: false;
|
|
17
|
+
readonly source: LicenseSource;
|
|
18
|
+
readonly code: LicenseVerificationFailureCode;
|
|
19
|
+
readonly message: string;
|
|
20
|
+
readonly remediation: string;
|
|
21
|
+
}
|
|
22
|
+
export type LicenseResolution = LicenseResolutionSuccess | LicenseResolutionFailure;
|
|
23
|
+
export interface ResolveLicenseOptions {
|
|
24
|
+
readonly credentials?: CredentialResolver;
|
|
25
|
+
readonly trustStore?: LicenseTrustStore;
|
|
26
|
+
readonly clock?: LicenseClockStore;
|
|
27
|
+
readonly now?: number;
|
|
28
|
+
}
|
|
29
|
+
export declare function resolveEffectiveLicense(opts?: ResolveLicenseOptions): LicenseResolution;
|
|
30
|
+
//# sourceMappingURL=resolve-license.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-license.d.ts","sourceRoot":"","sources":["../../../src/runtime/license/resolve-license.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,8BAA8B,EAG9B,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAkB5D,oBAAY,aAAa;IAEvB,QAAQ,aAAa;IAErB,kBAAkB,yBAAyB;CAC5C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAS7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAE9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,GAAG,wBAAwB,CAAC;AAEpF,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAM1C,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAExC,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAEnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,GAAE,qBAA0B,GAC/B,iBAAiB,CA4BnB"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LicenseSource = void 0;
|
|
4
|
+
exports.resolveEffectiveLicense = resolveEffectiveLicense;
|
|
5
|
+
const license_verifier_1 = require("@xemahq/license-verifier");
|
|
6
|
+
const license_clock_1 = require("./license-clock");
|
|
7
|
+
const license_store_1 = require("./license-store");
|
|
8
|
+
const credentials_1 = require("../sources/credentials");
|
|
9
|
+
var LicenseSource;
|
|
10
|
+
(function (LicenseSource) {
|
|
11
|
+
LicenseSource["Customer"] = "customer";
|
|
12
|
+
LicenseSource["EmbeddedOpenSource"] = "embedded-open-source";
|
|
13
|
+
})(LicenseSource || (exports.LicenseSource = LicenseSource = {}));
|
|
14
|
+
function resolveEffectiveLicense(opts = {}) {
|
|
15
|
+
const credentials = opts.credentials ?? new credentials_1.CredentialResolver();
|
|
16
|
+
const customer = (0, license_store_1.readCustomerLicense)(credentials);
|
|
17
|
+
const source = customer === undefined ? LicenseSource.EmbeddedOpenSource : LicenseSource.Customer;
|
|
18
|
+
const token = customer ?? (0, license_verifier_1.getEmbeddedOssLicense)();
|
|
19
|
+
const trustStore = opts.trustStore ?? (0, license_verifier_1.getProductionLicenseTrustStore)();
|
|
20
|
+
const verified = (0, license_verifier_1.verifyLicense)(token, { trustStore });
|
|
21
|
+
if (!verified.ok) {
|
|
22
|
+
return {
|
|
23
|
+
ok: false,
|
|
24
|
+
source,
|
|
25
|
+
code: verified.code,
|
|
26
|
+
message: verified.message,
|
|
27
|
+
remediation: remediationFor(verified.code, source),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const clock = opts.clock ?? new license_clock_1.FileLicenseClockStore();
|
|
31
|
+
const highestObservedTimeMs = clock.read();
|
|
32
|
+
const state = (0, license_verifier_1.resolveLicenseState)(verified, {
|
|
33
|
+
...(opts.now !== undefined ? { now: opts.now } : {}),
|
|
34
|
+
...(highestObservedTimeMs !== null ? { highestObservedTimeMs } : {}),
|
|
35
|
+
});
|
|
36
|
+
clock.observe(state.evaluatedAtMs);
|
|
37
|
+
return { ok: true, source, license: verified, state, token };
|
|
38
|
+
}
|
|
39
|
+
function remediationFor(code, source) {
|
|
40
|
+
const supplied = source === LicenseSource.Customer
|
|
41
|
+
? `The license came from ${license_store_1.LICENSE_STORE_DESCRIPTION}. Replace it with \`xema license apply <file>\`.`
|
|
42
|
+
: 'This is the open-source license compiled into the CLI, not one you supplied.';
|
|
43
|
+
switch (code) {
|
|
44
|
+
case license_verifier_1.LicenseVerificationFailureCode.TrustStoreEmpty:
|
|
45
|
+
return ('This build of the Xema CLI carries NO license verification keys — its license ' +
|
|
46
|
+
`material was never provisioned (\`isLicenseMaterialProvisioned()\` is ${String((0, license_verifier_1.isLicenseMaterialProvisioned)())}), so it can verify no license at all, including its own. ` +
|
|
47
|
+
'Install a released @xemahq/xema build; a source checkout must first run the ' +
|
|
48
|
+
'signing ceremony documented in @xemahq/license-verifier.');
|
|
49
|
+
case license_verifier_1.LicenseVerificationFailureCode.UnknownKeyId:
|
|
50
|
+
return ('The license was signed by a key this CLI build does not trust — either it was ' +
|
|
51
|
+
'issued after this build shipped, or it is not a Xema license. Upgrade the CLI ' +
|
|
52
|
+
`(\`npm i -g @xemahq/xema\`). ${supplied}`);
|
|
53
|
+
case license_verifier_1.LicenseVerificationFailureCode.InvalidSignature:
|
|
54
|
+
return ('The license signature does not verify: the token was altered in transit or on ' +
|
|
55
|
+
`disk. Re-copy it verbatim from your Xema account. ${supplied}`);
|
|
56
|
+
case license_verifier_1.LicenseVerificationFailureCode.MalformedToken:
|
|
57
|
+
case license_verifier_1.LicenseVerificationFailureCode.MalformedHeader:
|
|
58
|
+
case license_verifier_1.LicenseVerificationFailureCode.MalformedClaims:
|
|
59
|
+
return ('The stored value is not a well-formed Xema license. Copy the whole single-line ' +
|
|
60
|
+
`token, with no wrapping or truncation. ${supplied}`);
|
|
61
|
+
case license_verifier_1.LicenseVerificationFailureCode.UnsupportedClaimsVersion:
|
|
62
|
+
return ('The license uses a claim format newer than this CLI understands. Upgrade the ' +
|
|
63
|
+
`CLI (\`npm i -g @xemahq/xema\`). ${supplied}`);
|
|
64
|
+
case license_verifier_1.LicenseVerificationFailureCode.IssuerMismatch:
|
|
65
|
+
return ('The license names an issuer that is not the Xema licensing authority, so it is ' +
|
|
66
|
+
`refused. ${supplied}`);
|
|
67
|
+
default: {
|
|
68
|
+
const exhaustive = code;
|
|
69
|
+
throw new TypeError(`unhandled license verification failure ${String(exhaustive)}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=resolve-license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-license.js","sourceRoot":"","sources":["../../../src/runtime/license/resolve-license.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type LicenseResolutionSuccess, type ResolveLicenseOptions } from './resolve-license';
|
|
2
|
+
import type { LicenseVerificationFailureCode } from '@xemahq/license-verifier';
|
|
3
|
+
export interface StoreLicenseSuccess {
|
|
4
|
+
readonly ok: true;
|
|
5
|
+
readonly resolution: LicenseResolutionSuccess;
|
|
6
|
+
}
|
|
7
|
+
export interface StoreLicenseFailure {
|
|
8
|
+
readonly ok: false;
|
|
9
|
+
readonly code: LicenseVerificationFailureCode;
|
|
10
|
+
readonly message: string;
|
|
11
|
+
readonly remediation: string;
|
|
12
|
+
}
|
|
13
|
+
export type StoreLicenseResult = StoreLicenseSuccess | StoreLicenseFailure;
|
|
14
|
+
export interface StoreLicenseOptions extends ResolveLicenseOptions {
|
|
15
|
+
readonly credentialsFile?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function storeCustomerLicense(token: string, opts?: StoreLicenseOptions): StoreLicenseResult;
|
|
18
|
+
//# sourceMappingURL=store-license.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-license.d.ts","sourceRoot":"","sources":["../../../src/runtime/license/store-license.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAa/E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAElB,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAE3E,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAEhE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,mBAAwB,GAC7B,kBAAkB,CAiCpB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.storeCustomerLicense = storeCustomerLicense;
|
|
4
|
+
const license_store_1 = require("./license-store");
|
|
5
|
+
const resolve_license_1 = require("./resolve-license");
|
|
6
|
+
const credentials_1 = require("../sources/credentials");
|
|
7
|
+
function storeCustomerLicense(token, opts = {}) {
|
|
8
|
+
const candidate = (0, resolve_license_1.resolveEffectiveLicense)({
|
|
9
|
+
...opts,
|
|
10
|
+
credentials: new credentials_1.CredentialResolver({ [license_store_1.LICENSE_ENV_VAR]: token }, new Map()),
|
|
11
|
+
});
|
|
12
|
+
if (!candidate.ok) {
|
|
13
|
+
return {
|
|
14
|
+
ok: false,
|
|
15
|
+
code: candidate.code,
|
|
16
|
+
message: candidate.message,
|
|
17
|
+
remediation: candidate.remediation,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
if (candidate.source !== resolve_license_1.LicenseSource.Customer) {
|
|
21
|
+
throw new Error('license verification did not read the supplied token; refusing to store it');
|
|
22
|
+
}
|
|
23
|
+
(0, credentials_1.writeCredential)(license_store_1.LICENSE_ENV_VAR, token, opts.credentialsFile);
|
|
24
|
+
return { ok: true, resolution: candidate };
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=store-license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-license.js","sourceRoot":"","sources":["../../../src/runtime/license/store-license.ts"],"names":[],"mappings":";;AA0CA,oDAoCC;AA9ED,mDAAkD;AAClD,uDAK2B;AAC3B,wDAA6E;AAmC7E,SAAgB,oBAAoB,CAClC,KAAa,EACb,OAA4B,EAAE;IAO9B,MAAM,SAAS,GAAG,IAAA,yCAAuB,EAAC;QACxC,GAAG,IAAI;QACP,WAAW,EAAE,IAAI,gCAAkB,CACjC,EAAE,CAAC,+BAAe,CAAC,EAAE,KAAK,EAAE,EAC5B,IAAI,GAAG,EAAE,CACV;KACF,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAClB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,WAAW,EAAE,SAAS,CAAC,WAAW;SACnC,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,+BAAa,CAAC,QAAQ,EAAE,CAAC;QAKhD,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IAED,IAAA,6BAAe,EAAC,+BAAe,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DistributionLock } from '@xemahq/kernel-contracts/distribution';
|
|
1
|
+
import { type DistributionLock, type RuntimeImagePlatform } from '@xemahq/kernel-contracts/distribution';
|
|
2
2
|
import { type ArtifactResolution } from './paths';
|
|
3
3
|
export interface LoadedDistributionLock {
|
|
4
4
|
readonly lock: DistributionLock;
|
|
@@ -11,15 +11,12 @@ export interface LoadLockOptions {
|
|
|
11
11
|
}
|
|
12
12
|
export declare function loadDistributionLock(opts: LoadLockOptions): LoadedDistributionLock;
|
|
13
13
|
export interface ImageEntry {
|
|
14
|
-
readonly biomeId: string;
|
|
15
|
-
readonly target: string;
|
|
16
14
|
readonly imageRef: string;
|
|
17
15
|
readonly contentHash: string;
|
|
18
|
-
readonly
|
|
19
|
-
readonly path: string;
|
|
16
|
+
readonly requiredPlatforms: readonly RuntimeImagePlatform[];
|
|
20
17
|
}
|
|
21
18
|
export interface LoadedImageLock {
|
|
22
|
-
readonly
|
|
19
|
+
readonly imagesByService: ReadonlyMap<string, ImageEntry>;
|
|
23
20
|
readonly resolution: ArtifactResolution;
|
|
24
21
|
}
|
|
25
22
|
export declare function loadImageLock(opts: LoadLockOptions): LoadedImageLock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-loader.d.ts","sourceRoot":"","sources":["../../src/runtime/lock-loader.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"lock-loader.d.ts","sourceRoot":"","sources":["../../src/runtime/lock-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAE1B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAqD,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAOrG,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,sBAAsB,CASlF;AAQD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAQ7B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC7D;AAED,MAAM,WAAW,eAAe;IAQ9B,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CACzC;AAqBD,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAwBpE"}
|
|
@@ -17,29 +17,35 @@ function loadDistributionLock(opts) {
|
|
|
17
17
|
}
|
|
18
18
|
function loadImageLock(opts) {
|
|
19
19
|
const resolution = (0, paths_1.resolveImageLockPath)({ edition: opts.edition, explicit: opts.explicit });
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
typeof entry.imageRef !== 'string' ||
|
|
28
|
-
typeof entry.contentHash !== 'string') {
|
|
29
|
-
throw new Error(`Invalid images.lock.json at ${resolution.path}: an images[] entry is missing biomeId/imageRef/contentHash.`);
|
|
20
|
+
const lock = (0, distribution_1.parseImageLock)(readJson(resolution.path));
|
|
21
|
+
const subjectsByKey = new Map();
|
|
22
|
+
const imagesByService = new Map();
|
|
23
|
+
for (const subject of lock.subjects) {
|
|
24
|
+
subjectsByKey.set(subjectKey(subject.kind, subject.id), subject);
|
|
25
|
+
if (subject.kind === distribution_1.RuntimeImageSubjectKind.Service) {
|
|
26
|
+
imagesByService.set(subject.id, toImageEntry(subject));
|
|
30
27
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
path: typeof entry.path === 'string' ? entry.path : '',
|
|
39
|
-
});
|
|
28
|
+
}
|
|
29
|
+
for (const binding of lock.platformServiceBindings) {
|
|
30
|
+
const subject = subjectsByKey.get(subjectKey(binding.subjectKind, binding.subjectId));
|
|
31
|
+
if (subject === undefined) {
|
|
32
|
+
throw new Error(`Invariant violated reading ${resolution.path}: platform service ` +
|
|
33
|
+
`"${binding.platformService}" binds the ${binding.subjectKind} subject ` +
|
|
34
|
+
`"${binding.subjectId}", which the validated lock does not declare.`);
|
|
40
35
|
}
|
|
36
|
+
imagesByService.set(binding.platformService, toImageEntry(subject));
|
|
41
37
|
}
|
|
42
|
-
return {
|
|
38
|
+
return { imagesByService, resolution };
|
|
39
|
+
}
|
|
40
|
+
function subjectKey(kind, id) {
|
|
41
|
+
return `${kind}:${id}`;
|
|
42
|
+
}
|
|
43
|
+
function toImageEntry(subject) {
|
|
44
|
+
return {
|
|
45
|
+
imageRef: subject.imageRef,
|
|
46
|
+
contentHash: subject.contentHash,
|
|
47
|
+
requiredPlatforms: subject.requiredPlatforms,
|
|
48
|
+
};
|
|
43
49
|
}
|
|
44
50
|
function readJson(path) {
|
|
45
51
|
let text;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-loader.js","sourceRoot":"","sources":["../../src/runtime/lock-loader.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"lock-loader.js","sourceRoot":"","sources":["../../src/runtime/lock-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface ProcessGroupMember {
|
|
2
|
+
readonly pid: number;
|
|
3
|
+
readonly processGroupId: number;
|
|
4
|
+
}
|
|
5
|
+
export interface ProcessIdentity {
|
|
6
|
+
readonly pid: number;
|
|
7
|
+
readonly processFingerprint: string;
|
|
8
|
+
}
|
|
9
|
+
export interface OwnedProcessGroup {
|
|
10
|
+
readonly processGroupId: number;
|
|
11
|
+
readonly members: readonly ProcessIdentity[];
|
|
12
|
+
}
|
|
13
|
+
export declare class OwnedProcessGroupLifecycle {
|
|
14
|
+
private readonly gracefulWaitMs;
|
|
15
|
+
private readonly verificationWaitMs;
|
|
16
|
+
private readonly control;
|
|
17
|
+
private readonly fingerprint;
|
|
18
|
+
private ownedGroup;
|
|
19
|
+
private closePromise;
|
|
20
|
+
constructor(ownedGroup: OwnedProcessGroup, gracefulWaitMs: number, verificationWaitMs: number, control?: AsyncProcessGroupControl, fingerprint?: (pid: number) => string);
|
|
21
|
+
refresh(): void;
|
|
22
|
+
close(): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
export interface AsyncProcessGroupControl {
|
|
25
|
+
readonly members: (processGroupId: number) => Promise<readonly number[]>;
|
|
26
|
+
readonly signal: (processGroupId: number, signal: NodeJS.Signals) => void | Promise<void>;
|
|
27
|
+
readonly wait: (milliseconds: number) => Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
export interface SyncProcessGroupControl {
|
|
30
|
+
readonly members: (processGroupId: number) => readonly number[];
|
|
31
|
+
readonly signal: (processGroupId: number, signal: NodeJS.Signals) => void;
|
|
32
|
+
readonly wait: (milliseconds: number) => void;
|
|
33
|
+
}
|
|
34
|
+
export declare function assertNativeProcessGroupsSupported(platform?: NodeJS.Platform): void;
|
|
35
|
+
export declare function parseProcessGroupTable(output: string): ProcessGroupMember[];
|
|
36
|
+
export declare function processGroupIdForPid(pid: number): number;
|
|
37
|
+
export declare function captureProcessFingerprint(pid: number): string;
|
|
38
|
+
export declare function captureProcessFingerprintAsync(pid: number): Promise<string>;
|
|
39
|
+
export declare function captureOwnedProcessGroup(leaderPid: number): OwnedProcessGroup;
|
|
40
|
+
export declare function refreshOwnedProcessGroup(ownedGroup: OwnedProcessGroup): OwnedProcessGroup;
|
|
41
|
+
export declare function processGroupMembers(processGroupId: number): number[];
|
|
42
|
+
export declare function processGroupMembersAsync(processGroupId: number): Promise<number[]>;
|
|
43
|
+
export declare function terminateProcessGroup(processGroupId: number, gracefulWaitMs: number, verificationWaitMs: number, control?: AsyncProcessGroupControl): Promise<void>;
|
|
44
|
+
export declare function terminateOwnedProcessGroup(ownedGroup: OwnedProcessGroup, gracefulWaitMs: number, verificationWaitMs: number, control?: AsyncProcessGroupControl, fingerprint?: (pid: number) => string): Promise<void>;
|
|
45
|
+
export declare function terminateProcessGroupSync(processGroupId: number, gracefulWaitMs: number, verificationWaitMs: number, control?: SyncProcessGroupControl): boolean;
|
|
46
|
+
//# sourceMappingURL=native-process-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-process-group.d.ts","sourceRoot":"","sources":["../../src/runtime/native-process-group.ts"],"names":[],"mappings":"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"}
|