@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
|
@@ -16,6 +16,19 @@ const SourceBaseSchema = {
|
|
|
16
16
|
.min(1)
|
|
17
17
|
.regex(/^[a-z][a-z0-9-]*$/, 'source name must be lowercase kebab-case'),
|
|
18
18
|
};
|
|
19
|
+
const CredentialFreeHttpUrlSchema = zod_1.z
|
|
20
|
+
.string()
|
|
21
|
+
.url()
|
|
22
|
+
.superRefine((value, ctx) => {
|
|
23
|
+
validateCredentialFreeUrl(value, ctx);
|
|
24
|
+
});
|
|
25
|
+
const CredentialFreeGitUrlSchema = zod_1.z
|
|
26
|
+
.string()
|
|
27
|
+
.url('git url must be valid')
|
|
28
|
+
.regex(/^https?:\/\//, 'git url must be http(s)')
|
|
29
|
+
.superRefine((value, ctx) => {
|
|
30
|
+
validateCredentialFreeUrl(value, ctx);
|
|
31
|
+
});
|
|
19
32
|
exports.WorkspaceSourceSchema = zod_1.z
|
|
20
33
|
.object({
|
|
21
34
|
...SourceBaseSchema,
|
|
@@ -35,7 +48,7 @@ exports.NpmSourceSchema = zod_1.z
|
|
|
35
48
|
.object({
|
|
36
49
|
...SourceBaseSchema,
|
|
37
50
|
kind: zod_1.z.literal(SourceKind.Npm),
|
|
38
|
-
registryUrl:
|
|
51
|
+
registryUrl: CredentialFreeHttpUrlSchema.optional(),
|
|
39
52
|
scope: zod_1.z
|
|
40
53
|
.string()
|
|
41
54
|
.regex(/^@[a-z0-9][a-z0-9-]*$/, 'scope must look like @scope')
|
|
@@ -47,7 +60,12 @@ exports.OciSourceSchema = zod_1.z
|
|
|
47
60
|
.object({
|
|
48
61
|
...SourceBaseSchema,
|
|
49
62
|
kind: zod_1.z.literal(SourceKind.Oci),
|
|
50
|
-
registry: zod_1.z
|
|
63
|
+
registry: zod_1.z
|
|
64
|
+
.string()
|
|
65
|
+
.min(1)
|
|
66
|
+
.superRefine((value, ctx) => {
|
|
67
|
+
validateCredentialFreeRegistry(value, ctx);
|
|
68
|
+
}),
|
|
51
69
|
authTokenEnv: zod_1.z.string().min(1).optional(),
|
|
52
70
|
})
|
|
53
71
|
.strict();
|
|
@@ -55,7 +73,7 @@ exports.GitSourceSchema = zod_1.z
|
|
|
55
73
|
.object({
|
|
56
74
|
...SourceBaseSchema,
|
|
57
75
|
kind: zod_1.z.literal(SourceKind.Git),
|
|
58
|
-
url:
|
|
76
|
+
url: CredentialFreeGitUrlSchema,
|
|
59
77
|
ref: zod_1.z.string().min(1).optional(),
|
|
60
78
|
authTokenEnv: zod_1.z.string().min(1).optional(),
|
|
61
79
|
})
|
|
@@ -68,4 +86,34 @@ exports.SourceSpecSchema = zod_1.z.discriminatedUnion('kind', [
|
|
|
68
86
|
exports.GitSourceSchema,
|
|
69
87
|
]);
|
|
70
88
|
exports.SourcesConfigSchema = zod_1.z.array(exports.SourceSpecSchema).default([]);
|
|
89
|
+
function validateCredentialFreeUrl(value, ctx) {
|
|
90
|
+
let parsed;
|
|
91
|
+
try {
|
|
92
|
+
parsed = new URL(value);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if (parsed.username.length > 0 ||
|
|
98
|
+
parsed.password.length > 0 ||
|
|
99
|
+
parsed.search.length > 0 ||
|
|
100
|
+
parsed.hash.length > 0) {
|
|
101
|
+
ctx.addIssue({
|
|
102
|
+
code: 'custom',
|
|
103
|
+
message: 'source URL must not contain userinfo, query parameters, or fragments; use authTokenEnv',
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function validateCredentialFreeRegistry(value, ctx) {
|
|
108
|
+
if (value.includes('?') || value.includes('#') || value.includes('@')) {
|
|
109
|
+
ctx.addIssue({
|
|
110
|
+
code: 'custom',
|
|
111
|
+
message: 'OCI registry must not contain userinfo, query parameters, or fragments; use authTokenEnv',
|
|
112
|
+
});
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (/^https?:\/\//.test(value)) {
|
|
116
|
+
validateCredentialFreeUrl(value, ctx);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
71
119
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/runtime/sources/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAyBxB,IAAY,UAWX;AAXD,WAAY,UAAU;IAEpB,qCAAuB,CAAA;IAEvB,2CAA6B,CAAA;IAE7B,yBAAW,CAAA;IAEX,yBAAW,CAAA;IAEX,yBAAW,CAAA;AACb,CAAC,EAXW,UAAU,0BAAV,UAAU,QAWrB;AAGD,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,OAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;CAC1E,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/runtime/sources/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-client.d.ts","sourceRoot":"","sources":["../../src/runtime/store-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store-client.d.ts","sourceRoot":"","sources":["../../src/runtime/store-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.listListings = listListings;
|
|
|
4
4
|
exports.getListing = getListing;
|
|
5
5
|
exports.listListingVersions = listListingVersions;
|
|
6
6
|
exports.uninstallInstall = uninstallInstall;
|
|
7
|
+
const control_plane_1 = require("../lib/control-plane");
|
|
7
8
|
const exit_codes_1 = require("../lib/exit-codes");
|
|
8
9
|
const http_error_1 = require("../lib/http-error");
|
|
9
10
|
async function request(target, method, path) {
|
|
@@ -12,7 +13,7 @@ async function request(target, method, path) {
|
|
|
12
13
|
try {
|
|
13
14
|
res = await fetch(url, {
|
|
14
15
|
method,
|
|
15
|
-
headers:
|
|
16
|
+
headers: (0, control_plane_1.authHeaders)(target),
|
|
16
17
|
});
|
|
17
18
|
}
|
|
18
19
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-client.js","sourceRoot":"","sources":["../../src/runtime/store-client.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"store-client.js","sourceRoot":"","sources":["../../src/runtime/store-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type ControlPlaneTarget } from '../lib/control-plane';
|
|
2
|
+
import type { StoreListing } from './store-client';
|
|
3
|
+
export declare enum StoreListingScope {
|
|
4
|
+
Global = "global",
|
|
5
|
+
Org = "org"
|
|
6
|
+
}
|
|
7
|
+
export declare const ORG_SELF_PUBLISHED_TRUST_TIER = "private-org";
|
|
8
|
+
export declare class OrgSubmitRefusedError extends Error {
|
|
9
|
+
constructor(message: string);
|
|
10
|
+
}
|
|
11
|
+
export declare function assertServerTargetForOrgSubmit(target: string): void;
|
|
12
|
+
export interface SubmittedVersion {
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly listingId: string;
|
|
15
|
+
readonly version: string;
|
|
16
|
+
readonly lifecycle: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function createOrgListing(target: ControlPlaneTarget, input: {
|
|
19
|
+
readonly biomeId: string;
|
|
20
|
+
readonly displayName: string;
|
|
21
|
+
readonly description: string;
|
|
22
|
+
readonly publisher: string;
|
|
23
|
+
}): Promise<StoreListing>;
|
|
24
|
+
export declare function submitListingVersion(target: ControlPlaneTarget, listingId: string, input: {
|
|
25
|
+
readonly version: string;
|
|
26
|
+
readonly manifest: Record<string, unknown>;
|
|
27
|
+
readonly bundleUri?: string;
|
|
28
|
+
readonly bundleSha?: string;
|
|
29
|
+
readonly notes?: string;
|
|
30
|
+
}): Promise<SubmittedVersion>;
|
|
31
|
+
//# sourceMappingURL=store-submit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-submit.d.ts","sourceRoot":"","sources":["../../src/runtime/store-submit.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAUnD,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAWD,eAAO,MAAM,6BAA6B,gBAAgB,CAAC;AAG3D,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAmBD,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAWnE;AAsBD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AA+CD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE;IACL,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACA,OAAO,CAAC,YAAY,CAAC,CAevB;AAGD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;IACL,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,gBAAgB,CAAC,CAc3B"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OrgSubmitRefusedError = exports.ORG_SELF_PUBLISHED_TRUST_TIER = exports.StoreListingScope = void 0;
|
|
4
|
+
exports.assertServerTargetForOrgSubmit = assertServerTargetForOrgSubmit;
|
|
5
|
+
exports.createOrgListing = createOrgListing;
|
|
6
|
+
exports.submitListingVersion = submitListingVersion;
|
|
7
|
+
const control_plane_1 = require("../lib/control-plane");
|
|
8
|
+
const exit_codes_1 = require("../lib/exit-codes");
|
|
9
|
+
const http_error_1 = require("../lib/http-error");
|
|
10
|
+
var StoreListingScope;
|
|
11
|
+
(function (StoreListingScope) {
|
|
12
|
+
StoreListingScope["Global"] = "global";
|
|
13
|
+
StoreListingScope["Org"] = "org";
|
|
14
|
+
})(StoreListingScope || (exports.StoreListingScope = StoreListingScope = {}));
|
|
15
|
+
exports.ORG_SELF_PUBLISHED_TRUST_TIER = 'private-org';
|
|
16
|
+
class OrgSubmitRefusedError extends Error {
|
|
17
|
+
constructor(message) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.name = 'OrgSubmitRefusedError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.OrgSubmitRefusedError = OrgSubmitRefusedError;
|
|
23
|
+
function assertServerTargetForOrgSubmit(target) {
|
|
24
|
+
if (target === 'web') {
|
|
25
|
+
throw new OrgSubmitRefusedError('Org self-publishing currently supports server-target biomes only.\n' +
|
|
26
|
+
'A web-target biome loads into the host browser realm, where it can ' +
|
|
27
|
+
"reach the signed-in user's token — and that token carries their roles " +
|
|
28
|
+
'for every org they belong to, not just yours. Containing that needs a ' +
|
|
29
|
+
'separate browsing context, which is not built yet, so publishing one ' +
|
|
30
|
+
'would not be scoped to your org.');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async function write(target, path, body) {
|
|
34
|
+
const url = `${target.baseUrl}${path}`;
|
|
35
|
+
let res;
|
|
36
|
+
try {
|
|
37
|
+
res = await fetch(url, {
|
|
38
|
+
method: 'POST',
|
|
39
|
+
headers: { ...(0, control_plane_1.authHeaders)(target), 'content-type': 'application/json' },
|
|
40
|
+
body: JSON.stringify(body),
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
45
|
+
return (0, exit_codes_1.exitWith)(exit_codes_1.XemaCliExitCode.GenericError, `Xema Store unreachable at ${url}: ${detail}`);
|
|
46
|
+
}
|
|
47
|
+
const text = await res.text();
|
|
48
|
+
if (!res.ok) {
|
|
49
|
+
return (0, exit_codes_1.exitWith)(res.status === 404 ? exit_codes_1.XemaCliExitCode.NotFound : exit_codes_1.XemaCliExitCode.GenericError, `Xema Store POST ${path} → ${res.status}: ` +
|
|
50
|
+
(0, http_error_1.extractServerError)(res.status, text || res.statusText));
|
|
51
|
+
}
|
|
52
|
+
return (text.length > 0 ? JSON.parse(text) : {});
|
|
53
|
+
}
|
|
54
|
+
async function createOrgListing(target, input) {
|
|
55
|
+
const body = {
|
|
56
|
+
biomeId: input.biomeId,
|
|
57
|
+
scope: StoreListingScope.Org,
|
|
58
|
+
displayName: input.displayName,
|
|
59
|
+
description: input.description,
|
|
60
|
+
trustTier: exports.ORG_SELF_PUBLISHED_TRUST_TIER,
|
|
61
|
+
publisher: input.publisher,
|
|
62
|
+
};
|
|
63
|
+
const response = await write(target, '/listings', body);
|
|
64
|
+
return response.data;
|
|
65
|
+
}
|
|
66
|
+
async function submitListingVersion(target, listingId, input) {
|
|
67
|
+
const body = {
|
|
68
|
+
version: input.version,
|
|
69
|
+
manifest: input.manifest,
|
|
70
|
+
...(input.bundleUri !== undefined ? { bundleUri: input.bundleUri } : {}),
|
|
71
|
+
...(input.bundleSha !== undefined ? { bundleSha: input.bundleSha } : {}),
|
|
72
|
+
...(input.notes !== undefined ? { notes: input.notes } : {}),
|
|
73
|
+
};
|
|
74
|
+
const response = await write(target, `/listings/${encodeURIComponent(listingId)}/versions`, body);
|
|
75
|
+
return response.data;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=store-submit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-submit.js","sourceRoot":"","sources":["../../src/runtime/store-submit.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,9 @@ export interface SupervisorOptions {
|
|
|
14
14
|
readonly substrate: Substrate;
|
|
15
15
|
readonly ports: ReadonlyMap<string, number>;
|
|
16
16
|
readonly distributionLockPath: string;
|
|
17
|
+
readonly installationId: string;
|
|
18
|
+
readonly planHash: string;
|
|
19
|
+
readonly executionId: string;
|
|
17
20
|
readonly containerPort?: number;
|
|
18
21
|
readonly readinessTimeoutMs?: number;
|
|
19
22
|
readonly graceMs?: number;
|
|
@@ -36,17 +39,26 @@ export interface BringUpResult {
|
|
|
36
39
|
readonly running: readonly RunningService[];
|
|
37
40
|
readonly skipped: readonly SkippedService[];
|
|
38
41
|
}
|
|
42
|
+
export interface ServiceShutdownFailure {
|
|
43
|
+
readonly service: RunningService;
|
|
44
|
+
readonly error: unknown;
|
|
45
|
+
}
|
|
39
46
|
export declare class Supervisor {
|
|
40
47
|
private readonly opts;
|
|
41
48
|
private readonly running;
|
|
42
49
|
private readonly skipped;
|
|
43
50
|
private readonly seeded;
|
|
51
|
+
private manifestQueue;
|
|
52
|
+
private preserveManifestEvidence;
|
|
44
53
|
constructor(opts: SupervisorOptions);
|
|
45
54
|
bringUp(): Promise<BringUpResult>;
|
|
46
55
|
private startMember;
|
|
47
56
|
shutdown(): Promise<void>;
|
|
48
57
|
private recordRunManifest;
|
|
58
|
+
private markRunManifestReady;
|
|
59
|
+
private enqueueManifestMutation;
|
|
49
60
|
get current(): readonly RunningService[];
|
|
50
61
|
private emit;
|
|
51
62
|
}
|
|
63
|
+
export declare function attemptServiceShutdown(services: readonly RunningService[], graceMs: number): Promise<readonly ServiceShutdownFailure[]>;
|
|
52
64
|
//# sourceMappingURL=supervisor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/runtime/supervisor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/runtime/supervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Supervisor = void 0;
|
|
4
|
+
exports.attemptServiceShutdown = attemptServiceShutdown;
|
|
4
5
|
const env_seeder_1 = require("./env-seeder");
|
|
5
6
|
const run_manifest_1 = require("./run-manifest");
|
|
7
|
+
const forked_worker_1 = require("../dev/forked-worker");
|
|
6
8
|
const DEFAULT_READINESS_MS = 45_000;
|
|
7
9
|
const DEFAULT_GRACE_MS = 5_000;
|
|
8
10
|
const MANDATORY_TIER = 'kernel';
|
|
@@ -11,6 +13,8 @@ class Supervisor {
|
|
|
11
13
|
running = [];
|
|
12
14
|
skipped = [];
|
|
13
15
|
seeded;
|
|
16
|
+
manifestQueue = Promise.resolve();
|
|
17
|
+
preserveManifestEvidence = false;
|
|
14
18
|
constructor(opts) {
|
|
15
19
|
this.opts = opts;
|
|
16
20
|
this.seeded = (0, env_seeder_1.seedEnv)({
|
|
@@ -34,6 +38,7 @@ class Supervisor {
|
|
|
34
38
|
for (const wave of this.opts.waves) {
|
|
35
39
|
this.emit({ kind: 'wave-start', wave: wave.index, tier: wave.tier });
|
|
36
40
|
const results = await Promise.allSettled(wave.members.map((entry) => this.startMember(entry, readinessTimeoutMs)));
|
|
41
|
+
const ownershipEvidenceFailures = [];
|
|
37
42
|
for (let i = 0; i < results.length; i += 1) {
|
|
38
43
|
const member = wave.members[i];
|
|
39
44
|
const result = results[i];
|
|
@@ -42,29 +47,79 @@ class Supervisor {
|
|
|
42
47
|
}
|
|
43
48
|
if (result.status === 'fulfilled') {
|
|
44
49
|
this.running.push(result.value);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
?
|
|
55
|
-
: String(result.reason);
|
|
56
|
-
if (member.tier === MANDATORY_TIER) {
|
|
57
|
-
await this.shutdown();
|
|
58
|
-
throw new Error(`Mandatory service ${member.name} failed to start: ${reason}`);
|
|
50
|
+
try {
|
|
51
|
+
await this.markRunManifestReady(result.value.handle);
|
|
52
|
+
this.emit({
|
|
53
|
+
kind: 'service-ready',
|
|
54
|
+
service: member.name,
|
|
55
|
+
detail: result.value.url,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
ownershipEvidenceFailures.push(new Error(`Failed to persist ownership evidence for ${member.name}: ${error instanceof Error ? error.message : String(error)}`, { cause: error }));
|
|
59
60
|
}
|
|
60
|
-
this.skipped.push({ name: member.name, reason });
|
|
61
|
-
this.emit({
|
|
62
|
-
kind: 'service-skipped',
|
|
63
|
-
service: member.name,
|
|
64
|
-
detail: reason,
|
|
65
|
-
});
|
|
66
61
|
}
|
|
67
62
|
}
|
|
63
|
+
const mandatoryFailures = results.flatMap((result, index) => {
|
|
64
|
+
const member = wave.members[index];
|
|
65
|
+
if (member === undefined ||
|
|
66
|
+
result?.status !== 'rejected' ||
|
|
67
|
+
member.tier !== MANDATORY_TIER) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
const reason = result.reason instanceof Error
|
|
71
|
+
? result.reason.message
|
|
72
|
+
: String(result.reason);
|
|
73
|
+
return [
|
|
74
|
+
new Error(`Mandatory service ${member.name} failed to start: ${reason}`),
|
|
75
|
+
];
|
|
76
|
+
});
|
|
77
|
+
const cleanupFailures = results.flatMap((result, index) => {
|
|
78
|
+
const member = wave.members[index];
|
|
79
|
+
if (member === undefined ||
|
|
80
|
+
result?.status !== 'rejected' ||
|
|
81
|
+
!(result.reason instanceof forked_worker_1.PreReadyCleanupError)) {
|
|
82
|
+
return [];
|
|
83
|
+
}
|
|
84
|
+
this.preserveManifestEvidence = true;
|
|
85
|
+
return [
|
|
86
|
+
new Error(`Service ${member.name} failed before readiness and cleanup could not be verified.`, { cause: result.reason }),
|
|
87
|
+
];
|
|
88
|
+
});
|
|
89
|
+
const fatalFailures = [
|
|
90
|
+
...mandatoryFailures,
|
|
91
|
+
...ownershipEvidenceFailures,
|
|
92
|
+
...cleanupFailures,
|
|
93
|
+
];
|
|
94
|
+
if (fatalFailures.length > 0) {
|
|
95
|
+
const failureSummary = ownershipEvidenceFailures.length === 0
|
|
96
|
+
? 'Mandatory service bring-up failed'
|
|
97
|
+
: 'Service bring-up ownership/readiness failed';
|
|
98
|
+
try {
|
|
99
|
+
await this.shutdown();
|
|
100
|
+
}
|
|
101
|
+
catch (cleanupError) {
|
|
102
|
+
throw new AggregateError([...fatalFailures, cleanupError], `${failureSummary} and cleanup also failed`);
|
|
103
|
+
}
|
|
104
|
+
throw new AggregateError(fatalFailures, failureSummary);
|
|
105
|
+
}
|
|
106
|
+
for (let i = 0; i < results.length; i += 1) {
|
|
107
|
+
const member = wave.members[i];
|
|
108
|
+
const result = results[i];
|
|
109
|
+
if (member === undefined ||
|
|
110
|
+
result?.status !== 'rejected') {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
const reason = result.reason instanceof Error
|
|
114
|
+
? result.reason.message
|
|
115
|
+
: String(result.reason);
|
|
116
|
+
this.skipped.push({ name: member.name, reason });
|
|
117
|
+
this.emit({
|
|
118
|
+
kind: 'service-skipped',
|
|
119
|
+
service: member.name,
|
|
120
|
+
detail: reason,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
68
123
|
this.emit({ kind: 'wave-complete', wave: wave.index, tier: wave.tier });
|
|
69
124
|
}
|
|
70
125
|
return { running: [...this.running], skipped: [...this.skipped] };
|
|
@@ -80,15 +135,42 @@ class Supervisor {
|
|
|
80
135
|
throw new Error(`no port assigned for ${entry.name}`);
|
|
81
136
|
}
|
|
82
137
|
const env = { ...this.seeded.base, ...this.seeded.perService(entry) };
|
|
83
|
-
return this.opts.runner.start({
|
|
138
|
+
return this.opts.runner.start({
|
|
139
|
+
entry,
|
|
140
|
+
env,
|
|
141
|
+
installationId: this.opts.installationId,
|
|
142
|
+
planHash: this.opts.planHash,
|
|
143
|
+
executionId: this.opts.executionId,
|
|
144
|
+
port,
|
|
145
|
+
readinessTimeoutMs,
|
|
146
|
+
onSpawned: (service) => this.enqueueManifestMutation(() => {
|
|
147
|
+
this.recordRunManifest(entry.name, service.handle);
|
|
148
|
+
}),
|
|
149
|
+
onStoppedBeforeReady: (service) => this.enqueueManifestMutation(() => {
|
|
150
|
+
const pid = (0, run_manifest_1.parsePidHandle)(service.handle);
|
|
151
|
+
if (pid !== undefined) {
|
|
152
|
+
(0, run_manifest_1.removeRunManifestEntryAfterVerifiedStop)(this.opts.executionId, pid);
|
|
153
|
+
}
|
|
154
|
+
}),
|
|
155
|
+
});
|
|
84
156
|
}
|
|
85
157
|
async shutdown() {
|
|
86
158
|
const graceMs = this.opts.graceMs ?? DEFAULT_GRACE_MS;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
159
|
+
const services = [...this.running].reverse();
|
|
160
|
+
const failures = await attemptServiceShutdown(services, graceMs);
|
|
161
|
+
const failedServices = new Set(failures.map((failure) => failure.service));
|
|
162
|
+
const retained = this.running.filter((service) => failedServices.has(service));
|
|
90
163
|
this.running.length = 0;
|
|
91
|
-
|
|
164
|
+
this.running.push(...retained);
|
|
165
|
+
if (failures.length > 0) {
|
|
166
|
+
throw new AggregateError(failures.map(({ service, error }) => new Error(`stop workload ${service.name}: ${error instanceof Error ? error.message : String(error)}`, { cause: error })), `Cleanup failed for ${String(failures.length)} workload(s): ${failures
|
|
167
|
+
.map((failure) => failure.service.name)
|
|
168
|
+
.join(', ')}`);
|
|
169
|
+
}
|
|
170
|
+
if (this.preserveManifestEvidence) {
|
|
171
|
+
throw new Error('Pre-ready cleanup could not be verified; native ownership evidence was retained for recovery.');
|
|
172
|
+
}
|
|
173
|
+
(0, run_manifest_1.clearRunManifestStrict)(this.opts.executionId);
|
|
92
174
|
}
|
|
93
175
|
recordRunManifest(name, handle) {
|
|
94
176
|
const pid = (0, run_manifest_1.parsePidHandle)(handle);
|
|
@@ -96,7 +178,28 @@ class Supervisor {
|
|
|
96
178
|
if (pid === undefined || port === undefined) {
|
|
97
179
|
return;
|
|
98
180
|
}
|
|
99
|
-
(0, run_manifest_1.appendRunManifestEntry)({
|
|
181
|
+
(0, run_manifest_1.appendRunManifestEntry)({
|
|
182
|
+
name,
|
|
183
|
+
pid,
|
|
184
|
+
port,
|
|
185
|
+
installationId: this.opts.installationId,
|
|
186
|
+
planHash: this.opts.planHash,
|
|
187
|
+
executionId: this.opts.executionId,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
async markRunManifestReady(handle) {
|
|
191
|
+
const pid = (0, run_manifest_1.parsePidHandle)(handle);
|
|
192
|
+
if (pid === undefined) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
await this.enqueueManifestMutation(() => {
|
|
196
|
+
(0, run_manifest_1.markRunManifestEntryReady)(this.opts.executionId, pid);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
enqueueManifestMutation(operation) {
|
|
200
|
+
const pending = this.manifestQueue.then(operation);
|
|
201
|
+
this.manifestQueue = pending.catch(() => undefined);
|
|
202
|
+
return pending;
|
|
100
203
|
}
|
|
101
204
|
get current() {
|
|
102
205
|
return [...this.running];
|
|
@@ -106,4 +209,16 @@ class Supervisor {
|
|
|
106
209
|
}
|
|
107
210
|
}
|
|
108
211
|
exports.Supervisor = Supervisor;
|
|
212
|
+
async function attemptServiceShutdown(services, graceMs) {
|
|
213
|
+
const failures = [];
|
|
214
|
+
for (const service of services) {
|
|
215
|
+
try {
|
|
216
|
+
await service.close(graceMs);
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
failures.push({ service, error });
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return failures;
|
|
223
|
+
}
|
|
109
224
|
//# sourceMappingURL=supervisor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/runtime/supervisor.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/runtime/supervisor.ts"],"names":[],"mappings":"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"}
|