@astrale-os/sdk 0.6.0-beta.2 → 0.6.0-beta.21
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 +74 -14
- package/dist/application/action/action.d.ts +6 -0
- package/dist/application/action/authoring.d.ts +1 -1
- package/dist/application/action/context.d.ts +17 -8
- package/dist/application/action/define.d.ts +3 -3
- package/dist/application/action/index.d.ts +1 -1
- package/dist/application/define.d.ts +5 -5
- package/dist/application/define.js +13 -13
- package/dist/application/dependency/index.d.ts +1 -1
- package/dist/application/dependency/invoker.d.ts +11 -6
- package/dist/application/domain.d.ts +28 -0
- package/dist/application/index.d.ts +3 -3
- package/dist/application/index.js +1 -1
- package/dist/application/mutation/authoring/properties.d.ts +5 -3
- package/dist/application/mutation/authoring/properties.js +35 -2
- package/dist/application/mutation/authoring/transition.js +4 -1
- package/dist/application/routes/admission.d.ts +2 -2
- package/dist/application/routes/admission.js +1 -1
- package/dist/application/routes/route.d.ts +2 -2
- package/dist/application/runtime/actions.js +3 -0
- package/dist/application/runtime/workflows.d.ts +2 -0
- package/dist/application/runtime/workflows.js +5 -0
- package/dist/application/workflow/authoring.d.ts +3 -2
- package/dist/application/workflow/context.d.ts +8 -2
- package/dist/application/workflow/define.d.ts +3 -3
- package/dist/application/workflow/define.js +19 -3
- package/dist/application/workflow/durable.d.ts +83 -0
- package/dist/application/workflow/index.d.ts +3 -2
- package/dist/application/workflow/runner/inline.js +3 -4
- package/dist/application/workflow/runner/runner.d.ts +2 -2
- package/dist/application/workflow/step/output.d.ts +2 -0
- package/dist/application/workflow/step/output.js +73 -0
- package/dist/application/workflow/workflow.d.ts +12 -0
- package/dist/deployment/adapter/adapter.d.ts +59 -11
- package/dist/deployment/adapter/bundle/bundle.d.ts +36 -0
- package/dist/deployment/adapter/bundle/file.d.ts +10 -0
- package/dist/deployment/adapter/bundle/index.d.ts +2 -0
- package/dist/deployment/adapter/define.d.ts +25 -3
- package/dist/deployment/adapter/define.js +101 -24
- package/dist/deployment/adapter/index.d.ts +6 -3
- package/dist/deployment/adapter/index.js +1 -0
- package/dist/deployment/adapter/legacy/adapter.d.ts +40 -0
- package/dist/deployment/adapter/{deploy → legacy/deploy}/context.d.ts +6 -2
- package/dist/deployment/adapter/legacy/deploy/index.d.ts +2 -0
- package/dist/deployment/adapter/legacy/deploy/index.js +1 -0
- package/dist/deployment/adapter/legacy/deploy/result.d.ts +89 -0
- package/dist/deployment/adapter/legacy/deploy/result.js +1 -0
- package/dist/deployment/adapter/legacy/index.d.ts +24 -0
- package/dist/deployment/adapter/legacy/index.js +1 -0
- package/dist/deployment/adapter/legacy/prepare/artifact.d.ts +43 -0
- package/dist/deployment/adapter/legacy/prepare/artifact.js +1 -0
- package/dist/deployment/adapter/legacy/prepare/context.d.ts +33 -0
- package/dist/deployment/adapter/legacy/prepare/context.js +1 -0
- package/dist/deployment/adapter/legacy/prepare/index.d.ts +2 -0
- package/dist/deployment/adapter/legacy/prepare/index.js +1 -0
- package/dist/deployment/adapter/release/context.d.ts +95 -0
- package/dist/deployment/adapter/release/context.js +1 -0
- package/dist/deployment/adapter/release/index.d.ts +3 -0
- package/dist/deployment/adapter/release/index.js +1 -0
- package/dist/deployment/adapter/release/list.d.ts +53 -0
- package/dist/deployment/adapter/release/list.js +1 -0
- package/dist/deployment/adapter/release/refusal.d.ts +10 -0
- package/dist/deployment/adapter/release/refusal.js +14 -0
- package/dist/deployment/adapter/release/result.d.ts +56 -0
- package/dist/deployment/adapter/release/result.js +1 -0
- package/dist/deployment/address/configuration.d.ts +83 -0
- package/dist/deployment/address/configuration.js +262 -0
- package/dist/deployment/address/fingerprint.d.ts +5 -0
- package/dist/deployment/address/fingerprint.js +27 -0
- package/dist/deployment/address/index.d.ts +5 -0
- package/dist/deployment/address/index.js +5 -0
- package/dist/deployment/address/label.d.ts +42 -0
- package/dist/deployment/address/label.js +80 -0
- package/dist/deployment/address/line.d.ts +29 -0
- package/dist/deployment/address/line.js +53 -0
- package/dist/deployment/address/record.d.ts +52 -0
- package/dist/deployment/address/record.js +104 -0
- package/dist/deployment/address/summary.d.ts +57 -0
- package/dist/deployment/address/summary.js +117 -0
- package/dist/deployment/address/vectors.d.ts +60 -0
- package/dist/deployment/address/vectors.js +517 -0
- package/dist/deployment/build/build.d.ts +2 -2
- package/dist/deployment/build/compile.d.ts +4 -4
- package/dist/deployment/build/compile.js +17 -17
- package/dist/deployment/build/index.d.ts +1 -0
- package/dist/deployment/build/index.js +1 -0
- package/dist/deployment/build/manifest.d.ts +59 -0
- package/dist/deployment/build/manifest.js +118 -0
- package/dist/deployment/build/material.js +2 -2
- package/dist/deployment/build/schema.d.ts +2 -2
- package/dist/deployment/deploy.d.ts +10 -10
- package/dist/deployment/deploy.js +3 -3
- package/dist/deployment/deployment.d.ts +9 -4
- package/dist/deployment/environment.d.ts +6 -0
- package/dist/deployment/environment.js +6 -0
- package/dist/deployment/index.d.ts +4 -4
- package/dist/deployment/index.js +1 -1
- package/dist/deployment/release/addressing.d.ts +9 -1
- package/dist/deployment/release/assemble.d.ts +6 -3
- package/dist/deployment/release/assemble.js +12 -10
- package/dist/deployment/release/index.d.ts +2 -0
- package/dist/deployment/release/index.js +2 -0
- package/dist/deployment/release/legacy/admission.d.ts +3 -0
- package/dist/deployment/release/legacy/admission.js +8 -0
- package/dist/deployment/release/legacy/assemble.d.ts +5 -0
- package/dist/deployment/release/legacy/assemble.js +20 -0
- package/dist/deployment/release/legacy/index.d.ts +35 -0
- package/dist/deployment/release/legacy/index.js +34 -0
- package/dist/deployment/release/legacy/release.d.ts +12 -0
- package/dist/deployment/release/legacy/release.js +1 -0
- package/dist/deployment/release/{publication → legacy}/seal.d.ts +3 -3
- package/dist/deployment/release/legacy/seal.js +17 -0
- package/dist/deployment/release/release.d.ts +16 -5
- package/dist/deployment/release/runtime.d.ts +2 -0
- package/dist/deployment/release/runtime.js +2 -0
- package/dist/deployment/release/seal.d.ts +14 -0
- package/dist/deployment/release/seal.js +22 -0
- package/dist/deployment/release/{publication → served}/callables.d.ts +2 -2
- package/dist/deployment/release/{publication → served}/callables.js +2 -2
- package/dist/deployment/release/served/index.d.ts +12 -0
- package/dist/deployment/release/served/index.js +22 -0
- package/dist/deployment/release/{publication → served}/views.d.ts +2 -2
- package/dist/deployment/runtime/admission.d.ts +2 -2
- package/dist/deployment/runtime/admission.js +5 -5
- package/dist/deployment/verify/index.d.ts +2 -1
- package/dist/deployment/verify/index.js +1 -0
- package/dist/deployment/verify/preflight/artifact.d.ts +1 -1
- package/dist/deployment/verify/preflight/bundle.d.ts +18 -0
- package/dist/deployment/verify/preflight/bundle.js +71 -0
- package/dist/deployment/verify/preflight/index.d.ts +2 -1
- package/dist/deployment/verify/preflight/index.js +1 -0
- package/dist/deployment/verify/preflight/publication.d.ts +2 -2
- package/dist/deployment/verify/preflight/publication.js +4 -3
- package/dist/deployment/verify/readiness/deployment.js +7 -15
- package/dist/deployment/verify/readiness/fetch.d.ts +13 -0
- package/dist/deployment/verify/readiness/fetch.js +26 -0
- package/dist/deployment/verify/readiness/identity.d.ts +3 -6
- package/dist/deployment/verify/readiness/identity.js +3 -3
- package/dist/deployment/verify/readiness/index.d.ts +11 -7
- package/dist/deployment/verify/readiness/index.js +15 -4
- package/dist/deployment/verify/readiness/legacy/index.d.ts +2 -0
- package/dist/deployment/verify/readiness/legacy/index.js +2 -0
- package/dist/deployment/verify/readiness/legacy/publication.d.ts +12 -0
- package/dist/deployment/verify/readiness/legacy/publication.js +23 -0
- package/dist/deployment/verify/readiness/release.d.ts +8 -0
- package/dist/deployment/verify/readiness/release.js +22 -0
- package/dist/execution/identity/authentication.d.ts +23 -2
- package/dist/execution/identity/authentication.js +64 -40
- package/dist/execution/identity/callback.d.ts +16 -15
- package/dist/execution/identity/callback.js +21 -16
- package/dist/execution/identity/delivery.d.ts +11 -4
- package/dist/execution/identity/delivery.js +47 -20
- package/dist/execution/identity/identity.d.ts +18 -3
- package/dist/execution/identity/identity.js +8 -4
- package/dist/execution/identity/jwks.js +57 -12
- package/dist/execution/index.d.ts +4 -2
- package/dist/execution/index.js +2 -1
- package/dist/execution/invocation/admission/authentication.d.ts +3 -8
- package/dist/execution/invocation/admission/authentication.js +10 -24
- package/dist/execution/invocation/admission/authority.d.ts +15 -8
- package/dist/execution/invocation/admission/authority.js +5 -0
- package/dist/execution/invocation/admission/input.d.ts +2 -2
- package/dist/execution/invocation/admission/input.js +16 -2
- package/dist/execution/invocation/dependency/bind.d.ts +1 -1
- package/dist/execution/invocation/dependency/bind.js +35 -14
- package/dist/execution/invocation/dispatch/context.d.ts +2 -1
- package/dist/execution/invocation/dispatch/context.js +1 -1
- package/dist/execution/invocation/invocation.js +58 -16
- package/dist/execution/invocation/result/project.js +41 -1
- package/dist/execution/node/serve.d.ts +2 -2
- package/dist/execution/node/serve.js +1 -1
- package/dist/execution/runtime/index.d.ts +1 -0
- package/dist/execution/runtime/index.js +1 -0
- package/dist/execution/runtime/load.d.ts +3 -3
- package/dist/execution/runtime/load.js +3 -2
- package/dist/execution/runtime/release.d.ts +22 -0
- package/dist/execution/runtime/release.js +14 -0
- package/dist/execution/serve.d.ts +10 -4
- package/dist/execution/serve.js +3 -0
- package/dist/execution/service/create.js +39 -7
- package/dist/execution/service/initialization.d.ts +4 -4
- package/dist/execution/service/initialization.js +23 -14
- package/dist/execution/service/release.d.ts +2 -2
- package/dist/execution/service/release.js +3 -2
- package/dist/execution/service/service.d.ts +15 -5
- package/dist/execution/service/serving/delivery.d.ts +6 -0
- package/dist/execution/service/{publication → serving}/delivery.js +5 -1
- package/dist/execution/service/{publication → serving}/index.d.ts +1 -1
- package/dist/execution/service/serving/installation.d.ts +4 -0
- package/dist/execution/service/serving/installation.js +9 -0
- package/dist/execution/service/serving/legacy/index.d.ts +15 -0
- package/dist/execution/service/serving/legacy/index.js +19 -0
- package/dist/execution/service/serving/source.d.ts +18 -0
- package/dist/execution/service/serving/source.js +19 -0
- package/dist/execution/workflows/discovery.d.ts +14 -0
- package/dist/execution/workflows/discovery.js +151 -0
- package/dist/execution/workflows/engine.d.ts +52 -0
- package/dist/execution/workflows/engine.js +1 -0
- package/dist/execution/workflows/envelope.d.ts +12 -0
- package/dist/execution/workflows/envelope.js +46 -0
- package/dist/execution/workflows/failure.d.ts +11 -0
- package/dist/execution/workflows/failure.js +43 -0
- package/dist/execution/workflows/index.d.ts +4 -0
- package/dist/execution/workflows/index.js +3 -0
- package/dist/execution/workflows/options.d.ts +40 -0
- package/dist/execution/workflows/options.js +83 -0
- package/dist/execution/workflows/receiver.d.ts +22 -0
- package/dist/execution/workflows/receiver.js +99 -0
- package/dist/execution/workflows/route.d.ts +14 -0
- package/dist/execution/workflows/route.js +40 -0
- package/dist/execution/workflows/run.d.ts +22 -0
- package/dist/execution/workflows/run.js +211 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/platform/release/index.d.ts +27 -0
- package/dist/platform/release/index.js +27 -0
- package/dist/platform/schema/index.d.ts +2 -1
- package/dist/platform/schema/property-input.d.ts +15 -0
- package/dist/platform/schema/property-input.js +1 -0
- package/dist/platform/schema/property.d.ts +5 -0
- package/dist/platform/versioning/dependents.d.ts +18 -0
- package/dist/platform/versioning/dependents.js +15 -0
- package/dist/platform/versioning/index.d.ts +5 -0
- package/dist/platform/versioning/index.js +5 -0
- package/dist/platform/versioning/name.d.ts +38 -0
- package/dist/platform/versioning/name.js +58 -0
- package/dist/platform/versioning/reference.d.ts +48 -0
- package/dist/platform/versioning/reference.js +95 -0
- package/dist/platform/versioning/version.d.ts +72 -0
- package/dist/platform/versioning/version.js +98 -0
- package/dist/project/admit.js +2 -2
- package/dist/project/define.d.ts +4 -4
- package/dist/project/define.js +55 -35
- package/dist/project/index.d.ts +1 -1
- package/dist/project/install-command.d.ts +10 -0
- package/dist/project/install-command.js +13 -0
- package/dist/project/project.d.ts +10 -8
- package/dist/testing/dataset/builder.d.ts +3 -3
- package/dist/testing/dataset/define.d.ts +1 -1
- package/dist/testing/load.js +1 -1
- package/dist/tooling/cli/arguments.d.ts +10 -5
- package/dist/tooling/cli/arguments.js +123 -52
- package/dist/tooling/cli/build.d.ts +55 -0
- package/dist/tooling/cli/build.js +77 -0
- package/dist/tooling/cli/bun.d.ts +0 -1
- package/dist/tooling/cli/bun.js +0 -7
- package/dist/tooling/cli/commit.d.ts +35 -0
- package/dist/tooling/cli/commit.js +235 -0
- package/dist/tooling/cli/deploy-mode.d.ts +82 -0
- package/dist/tooling/cli/deploy-mode.js +135 -0
- package/dist/tooling/cli/deploy-result.d.ts +85 -0
- package/dist/tooling/cli/deploy-result.js +64 -0
- package/dist/tooling/cli/diff/declared.d.ts +7 -0
- package/dist/tooling/cli/diff/declared.js +27 -0
- package/dist/tooling/cli/diff/index.d.ts +30 -0
- package/dist/tooling/cli/diff/index.js +58 -0
- package/dist/tooling/cli/diff/render.d.ts +15 -0
- package/dist/tooling/cli/diff/render.js +131 -0
- package/dist/tooling/cli/diff/report.d.ts +88 -0
- package/dist/tooling/cli/diff/report.js +154 -0
- package/dist/tooling/cli/dotenv.d.ts +2 -2
- package/dist/tooling/cli/dotenv.js +3 -33
- package/dist/tooling/cli/help.js +176 -59
- package/dist/tooling/cli/immutable-deployment.d.ts +83 -0
- package/dist/tooling/cli/immutable-deployment.js +135 -0
- package/dist/tooling/cli/index.d.ts +10 -4
- package/dist/tooling/cli/index.js +5 -3
- package/dist/tooling/cli/installed-on.d.ts +83 -0
- package/dist/tooling/cli/installed-on.js +156 -0
- package/dist/tooling/cli/legacy/deploy-result.d.ts +28 -0
- package/dist/tooling/cli/legacy/deploy-result.js +37 -0
- package/dist/tooling/cli/legacy/stable-target-adapter.d.ts +21 -0
- package/dist/tooling/cli/legacy/stable-target-adapter.js +14 -0
- package/dist/tooling/cli/legacy/stable-target-deploy.d.ts +40 -0
- package/dist/tooling/cli/legacy/stable-target-deploy.js +102 -0
- package/dist/tooling/cli/legacy/uploaded-build.d.ts +11 -0
- package/dist/tooling/cli/legacy/uploaded-build.js +22 -0
- package/dist/tooling/cli/list.d.ts +154 -0
- package/dist/tooling/cli/list.js +381 -0
- package/dist/tooling/cli/log.d.ts +5 -0
- package/dist/tooling/cli/log.js +9 -0
- package/dist/tooling/cli/orchestrate.d.ts +0 -6
- package/dist/tooling/cli/orchestrate.js +236 -88
- package/dist/tooling/cli/project.d.ts +3 -3
- package/dist/tooling/cli/publish/index.d.ts +73 -0
- package/dist/tooling/cli/publish/index.js +346 -0
- package/dist/tooling/cli/publish/report.d.ts +49 -0
- package/dist/tooling/cli/publish/report.js +15 -0
- package/dist/tooling/cli/registry/client.d.ts +114 -0
- package/dist/tooling/cli/registry/client.js +346 -0
- package/dist/tooling/cli/registry/error.d.ts +11 -0
- package/dist/tooling/cli/registry/error.js +17 -0
- package/dist/tooling/cli/registry/executable.d.ts +29 -0
- package/dist/tooling/cli/registry/executable.js +90 -0
- package/dist/tooling/cli/registry/index.d.ts +9 -0
- package/dist/tooling/cli/registry/index.js +8 -0
- package/dist/tooling/cli/registry/installations.d.ts +67 -0
- package/dist/tooling/cli/registry/installations.js +108 -0
- package/dist/tooling/cli/registry/process.d.ts +36 -0
- package/dist/tooling/cli/registry/process.js +119 -0
- package/dist/tooling/cli/secrets.d.ts +9 -0
- package/dist/tooling/cli/secrets.js +19 -0
- package/dist/tooling/cli/yank.d.ts +34 -0
- package/dist/tooling/cli/yank.js +32 -0
- package/dist/tooling/linter/implementations/source/callable-requirements.d.ts +1 -1
- package/dist/tooling/linter/implementations/source/callable-requirements.js +10 -10
- package/dist/tooling/linter/implementations/source/dependencies.js +12 -10
- package/dist/tooling/linter/implementations/source/global.js +1 -1
- package/dist/tooling/linter/implementations/source/mutations.js +17 -17
- package/dist/tooling/linter/implementations/source/providers.js +5 -5
- package/dist/tooling/linter/implementations/source/views.js +2 -2
- package/dist/tooling/linter/policy/generated.js +16 -16
- package/dist/tooling/packaging/declarations/ownership.js +1 -1
- package/dist/tooling/packaging/finalize.d.ts +1 -1
- package/dist/tooling/packaging/finalize.js +1 -1
- package/package.json +32 -11
- package/dist/application/application.d.ts +0 -28
- package/dist/deployment/adapter/deploy/index.d.ts +0 -2
- package/dist/deployment/adapter/deploy/result.d.ts +0 -50
- package/dist/deployment/adapter/prepare/artifact.d.ts +0 -33
- package/dist/deployment/adapter/prepare/context.d.ts +0 -23
- package/dist/deployment/adapter/prepare/index.d.ts +0 -2
- package/dist/deployment/release/publication/index.d.ts +0 -6
- package/dist/deployment/release/publication/index.js +0 -6
- package/dist/deployment/release/publication/manifest.d.ts +0 -3
- package/dist/deployment/release/publication/manifest.js +0 -5
- package/dist/deployment/release/publication/requirements.d.ts +0 -3
- package/dist/deployment/release/publication/requirements.js +0 -3
- package/dist/deployment/release/publication/seal.js +0 -39
- package/dist/deployment/verify/readiness/publication.d.ts +0 -11
- package/dist/deployment/verify/readiness/publication.js +0 -41
- package/dist/execution/service/publication/delivery.d.ts +0 -2
- package/dist/execution/service/publication/installation.d.ts +0 -3
- package/dist/execution/service/publication/installation.js +0 -8
- package/dist/execution/service/publication/source.d.ts +0 -3
- package/dist/execution/service/publication/source.js +0 -11
- package/dist/platform/publication/index.d.ts +0 -2
- package/dist/platform/publication/index.js +0 -2
- package/dist/tooling/cli/astrale/authority.d.ts +0 -5
- package/dist/tooling/cli/astrale/authority.js +0 -11
- package/dist/tooling/cli/astrale/executable.d.ts +0 -2
- package/dist/tooling/cli/astrale/executable.js +0 -47
- package/dist/tooling/cli/astrale/failure.d.ts +0 -6
- package/dist/tooling/cli/astrale/failure.js +0 -48
- package/dist/tooling/cli/astrale/instance.d.ts +0 -11
- package/dist/tooling/cli/astrale/instance.js +0 -52
- package/dist/tooling/cli/astrale/process.d.ts +0 -13
- package/dist/tooling/cli/astrale/process.js +0 -94
- package/dist/tooling/cli/astrale/version.d.ts +0 -18
- package/dist/tooling/cli/astrale/version.js +0 -55
- package/dist/tooling/cli/credential.d.ts +0 -2
- package/dist/tooling/cli/credential.js +0 -57
- package/dist/tooling/cli/development/candidate.d.ts +0 -25
- package/dist/tooling/cli/development/candidate.js +0 -176
- package/dist/tooling/cli/development/deployment.d.ts +0 -16
- package/dist/tooling/cli/development/deployment.js +0 -39
- package/dist/tooling/cli/development/develop.d.ts +0 -11
- package/dist/tooling/cli/development/develop.js +0 -243
- package/dist/tooling/cli/development/lease.d.ts +0 -18
- package/dist/tooling/cli/development/lease.js +0 -163
- package/dist/tooling/cli/development/lifecycle.d.ts +0 -9
- package/dist/tooling/cli/development/lifecycle.js +0 -43
- package/dist/tooling/cli/development/project-imports.d.ts +0 -22
- package/dist/tooling/cli/development/project-imports.js +0 -39
- package/dist/tooling/cli/development/project-lock.d.ts +0 -16
- package/dist/tooling/cli/development/project-lock.js +0 -41
- package/dist/tooling/cli/development/rebuild.d.ts +0 -13
- package/dist/tooling/cli/development/rebuild.js +0 -58
- package/dist/tooling/cli/development/release-evidence.d.ts +0 -4
- package/dist/tooling/cli/development/release-evidence.js +0 -10
- package/dist/tooling/cli/development/report.d.ts +0 -6
- package/dist/tooling/cli/development/report.js +0 -14
- package/dist/tooling/cli/development/session-file.d.ts +0 -53
- package/dist/tooling/cli/development/session-file.js +0 -337
- package/dist/tooling/cli/development/source-watch.d.ts +0 -14
- package/dist/tooling/cli/development/source-watch.js +0 -140
- package/dist/tooling/cli/development/sources.d.ts +0 -7
- package/dist/tooling/cli/development/sources.js +0 -48
- package/dist/tooling/cli/development/target-lock.d.ts +0 -16
- package/dist/tooling/cli/development/target-lock.js +0 -68
- package/dist/tooling/cli/development/view.d.ts +0 -28
- package/dist/tooling/cli/development/view.js +0 -151
- package/dist/tooling/cli/environment-release.d.ts +0 -21
- package/dist/tooling/cli/environment-release.js +0 -46
- package/dist/tooling/cli/evidence.d.ts +0 -11
- package/dist/tooling/cli/evidence.js +0 -53
- package/dist/tooling/cli/installation/index.d.ts +0 -2
- package/dist/tooling/cli/installation/index.js +0 -1
- package/dist/tooling/cli/installation/observation.d.ts +0 -10
- package/dist/tooling/cli/installation/observation.js +0 -44
- package/dist/tooling/cli/installation/reconcile.d.ts +0 -32
- package/dist/tooling/cli/installation/reconcile.js +0 -122
- /package/dist/application/{application.js → domain.js} +0 -0
- /package/dist/{deployment/adapter/deploy/context.js → application/workflow/durable.js} +0 -0
- /package/dist/deployment/adapter/{deploy/index.js → bundle/bundle.js} +0 -0
- /package/dist/deployment/adapter/{deploy/result.js → bundle/file.js} +0 -0
- /package/dist/deployment/adapter/{prepare → bundle}/index.js +0 -0
- /package/dist/deployment/adapter/{prepare/artifact.js → legacy/adapter.js} +0 -0
- /package/dist/deployment/adapter/{prepare → legacy/deploy}/context.js +0 -0
- /package/dist/deployment/release/{publication → served}/routes.d.ts +0 -0
- /package/dist/deployment/release/{publication → served}/routes.js +0 -0
- /package/dist/deployment/release/{publication → served}/views.js +0 -0
- /package/dist/execution/service/{publication → serving}/index.js +0 -0
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import { dirname,
|
|
3
|
-
import { admitRuntime, compile, resolveRuntime
|
|
2
|
+
import { dirname, join, resolve } from 'node:path';
|
|
3
|
+
import { admitRuntime, compile, resolveRuntime } from '../../deployment/index.js';
|
|
4
4
|
import { packageDomain } from '../packaging/index.js';
|
|
5
5
|
import { parseArgs } from './arguments.js';
|
|
6
|
-
import {
|
|
6
|
+
import { buildResult, bundleBuild, bundlerCopyWarnings, projectBundlers } from './build.js';
|
|
7
7
|
import { BunRequiredError } from './bun.js';
|
|
8
|
+
import { selectDeployMode } from './deploy-mode.js';
|
|
8
9
|
import { deprecationWarnings } from './deprecations.js';
|
|
9
|
-
import {
|
|
10
|
-
import { loadDeclaredSecrets } from './dotenv.js';
|
|
11
|
-
import { reconcileEnvironmentRelease } from './environment-release.js';
|
|
10
|
+
import { runDiff } from './diff/index.js';
|
|
12
11
|
import { ERROR_USAGE, helpRequest, helpText } from './help.js';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
12
|
+
import { deployImmutable } from './immutable-deployment.js';
|
|
13
|
+
import { deployStableTarget } from './legacy/stable-target-deploy.js';
|
|
14
|
+
import { listDeployments, renderDeploymentList } from './list.js';
|
|
15
|
+
import { error, info, progress, warn } from './log.js';
|
|
16
|
+
import { importModule, loadProject, runtimeEntrypoint, selectEnvironment, } from './project.js';
|
|
17
|
+
import { runPublish } from './publish/index.js';
|
|
18
|
+
import { MINIMUM_INSTALLATIONS_CLI_VERSION, openDomainRegistry, RegistryCliError, } from './registry/index.js';
|
|
15
19
|
import { executeTests } from './test.js';
|
|
20
|
+
import { yankPublication, yankSummary } from './yank.js';
|
|
16
21
|
const CONFIG_NAMES = ['astrale.config.ts', 'astrale.config.js', 'astrale.config.mjs'];
|
|
17
22
|
export async function run(argv) {
|
|
18
23
|
const requestedHelp = helpRequest(argv);
|
|
@@ -56,10 +61,22 @@ export async function run(argv) {
|
|
|
56
61
|
error(`No astrale.config.ts found in ${projectDir}.`);
|
|
57
62
|
return 1;
|
|
58
63
|
}
|
|
59
|
-
if (parsed.command === 'dev') {
|
|
60
|
-
return executeDevelopmentCommand(parsed, { configPath, projectDir });
|
|
61
|
-
}
|
|
62
64
|
const project = await loadProject(configPath);
|
|
65
|
+
if (parsed.command === 'list')
|
|
66
|
+
return list(parsed, project, projectDir);
|
|
67
|
+
if (parsed.command === 'yank')
|
|
68
|
+
return yank(parsed, project);
|
|
69
|
+
if (parsed.command === 'publish') {
|
|
70
|
+
// A version names an immutable deployment's release: any other Environment is refused before
|
|
71
|
+
// anything is built (CT33, R-G03).
|
|
72
|
+
const mode = selectDeployMode({
|
|
73
|
+
command: 'publish',
|
|
74
|
+
environment: parsed.env,
|
|
75
|
+
definition: selectEnvironment(project, parsed.env),
|
|
76
|
+
});
|
|
77
|
+
if (refused(mode))
|
|
78
|
+
return 1;
|
|
79
|
+
}
|
|
63
80
|
if (parsed.command === 'test') {
|
|
64
81
|
selectEnvironment(project, parsed.env);
|
|
65
82
|
return executeTests({
|
|
@@ -67,94 +84,238 @@ export async function run(argv) {
|
|
|
67
84
|
...(parsed.suite === undefined ? {} : { suite: parsed.suite }),
|
|
68
85
|
});
|
|
69
86
|
}
|
|
70
|
-
const build = compile(project.
|
|
87
|
+
const build = compile(project.domain);
|
|
71
88
|
for (const warning of deprecationWarnings(build))
|
|
72
89
|
warn(warning);
|
|
73
90
|
const resolved = await resolveRuntime(runtimeEntrypoint(project), (path) => importModule(resolve(dirname(configPath), path)));
|
|
74
91
|
admitRuntime({ runtime: build.runtime }, resolved);
|
|
92
|
+
if (parsed.command === 'diff') {
|
|
93
|
+
const lifecycle = deploymentLifecycle('Diff interrupted.');
|
|
94
|
+
try {
|
|
95
|
+
return await runDiff({
|
|
96
|
+
projectDir,
|
|
97
|
+
build,
|
|
98
|
+
// The build digests `build` prints, bundled only when the Schema revision is unchanged.
|
|
99
|
+
builds: async () => {
|
|
100
|
+
const digests = [];
|
|
101
|
+
for (const source of projectBundlers(project)) {
|
|
102
|
+
const bundle = await bundleBuild({
|
|
103
|
+
bundler: source.bundler,
|
|
104
|
+
projectDir,
|
|
105
|
+
build,
|
|
106
|
+
runtime: resolved,
|
|
107
|
+
signal: lifecycle.signal,
|
|
108
|
+
});
|
|
109
|
+
digests.push(bundle.digest);
|
|
110
|
+
}
|
|
111
|
+
return digests;
|
|
112
|
+
},
|
|
113
|
+
...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
|
|
114
|
+
json: parsed.json === true,
|
|
115
|
+
signal: lifecycle.signal,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
finally {
|
|
119
|
+
lifecycle.dispose();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (parsed.command === 'publish') {
|
|
123
|
+
const environment = selectEnvironment(project, parsed.env);
|
|
124
|
+
const lifecycle = deploymentLifecycle('Publish interrupted.');
|
|
125
|
+
try {
|
|
126
|
+
return await runPublish({
|
|
127
|
+
projectDir,
|
|
128
|
+
environment: parsed.env,
|
|
129
|
+
adapter: environment.deployment.adapter,
|
|
130
|
+
parameters: environment.deployment.parameters,
|
|
131
|
+
build,
|
|
132
|
+
runtime: resolved,
|
|
133
|
+
...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
|
|
134
|
+
allowDirty: parsed.allowDirty === true,
|
|
135
|
+
json: parsed.json === true,
|
|
136
|
+
signal: lifecycle.signal,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
finally {
|
|
140
|
+
lifecycle.dispose();
|
|
141
|
+
}
|
|
142
|
+
}
|
|
75
143
|
if (parsed.command === 'build') {
|
|
76
|
-
|
|
77
|
-
|
|
144
|
+
// Every distinct bundler of the Project, and never an Environment, address, key or secret.
|
|
145
|
+
const lifecycle = deploymentLifecycle();
|
|
146
|
+
try {
|
|
147
|
+
const built = [];
|
|
148
|
+
for (const source of projectBundlers(project)) {
|
|
149
|
+
built.push({
|
|
150
|
+
source,
|
|
151
|
+
bundle: await bundleBuild({
|
|
152
|
+
bundler: source.bundler,
|
|
153
|
+
projectDir,
|
|
154
|
+
build,
|
|
155
|
+
runtime: resolved,
|
|
156
|
+
signal: lifecycle.signal,
|
|
157
|
+
}),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
for (const warning of bundlerCopyWarnings(built))
|
|
161
|
+
warn(warning);
|
|
162
|
+
const result = buildResult(build, built.map(({ bundle }) => bundle));
|
|
163
|
+
if (parsed.json === true) {
|
|
164
|
+
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
165
|
+
return 0;
|
|
166
|
+
}
|
|
167
|
+
info(`Built ${result.origin} (${result.schema.revision}).`);
|
|
168
|
+
for (const built of result.builds) {
|
|
169
|
+
info(`Build: ${built.digest} (${built.bundler.id}@${built.bundler.version})`);
|
|
170
|
+
}
|
|
171
|
+
return 0;
|
|
172
|
+
}
|
|
173
|
+
finally {
|
|
174
|
+
lifecycle.dispose();
|
|
175
|
+
}
|
|
78
176
|
}
|
|
79
177
|
const environment = selectEnvironment(project, parsed.env);
|
|
80
|
-
|
|
81
|
-
const
|
|
178
|
+
// The configuration selects the deploy mode, before any effect (CT33).
|
|
179
|
+
const mode = selectDeployMode({
|
|
180
|
+
command: 'deploy',
|
|
181
|
+
environment: parsed.env,
|
|
182
|
+
definition: environment,
|
|
183
|
+
});
|
|
184
|
+
if (refused(mode))
|
|
185
|
+
return 1;
|
|
186
|
+
// With `--json`, stdout carries only the DeployResultV1; progress goes to stderr.
|
|
187
|
+
const report = progress(parsed.json === true);
|
|
82
188
|
const lifecycle = deploymentLifecycle();
|
|
83
189
|
try {
|
|
84
|
-
const
|
|
190
|
+
const deployment = {
|
|
85
191
|
projectDir,
|
|
86
192
|
environment: parsed.env,
|
|
87
|
-
...(environment.installation === undefined ? {} : { installation: environment.installation }),
|
|
88
|
-
mode: 'release',
|
|
89
|
-
signal: lifecycle.signal,
|
|
90
193
|
build,
|
|
91
194
|
runtime: resolved,
|
|
92
|
-
});
|
|
93
|
-
const artifact = verifyPreflight({ build, runtime: resolved, source });
|
|
94
|
-
const secrets = secretsFor(adapter, parameters, projectDir, resolved.runtime);
|
|
95
|
-
const installationExecutable = environment.installation === undefined || parsed.deployOnly
|
|
96
|
-
? undefined
|
|
97
|
-
: await resolveCompatibleAstrale({ projectDir, signal: lifecycle.signal });
|
|
98
|
-
const deployed = await adapter.deploy(parameters, {
|
|
99
|
-
projectDir,
|
|
100
|
-
environment: parsed.env,
|
|
101
|
-
...(environment.installation === undefined ? {} : { installation: environment.installation }),
|
|
102
195
|
...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
|
|
103
|
-
secrets,
|
|
104
|
-
artifact,
|
|
105
196
|
signal: lifecycle.signal,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
197
|
+
report,
|
|
198
|
+
};
|
|
199
|
+
const deployed = mode.kind === 'canonical'
|
|
200
|
+
? await deployImmutable({
|
|
201
|
+
...deployment,
|
|
202
|
+
adapter: environment.deployment.adapter,
|
|
203
|
+
parameters: environment.deployment.parameters,
|
|
204
|
+
})
|
|
205
|
+
: await deployStableTarget({
|
|
206
|
+
...deployment,
|
|
207
|
+
definition: environment,
|
|
208
|
+
reasons: mode.reasons,
|
|
209
|
+
});
|
|
210
|
+
if (deployed === undefined)
|
|
110
211
|
return 1;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
212
|
+
if (parsed.json === true)
|
|
213
|
+
process.stdout.write(`${JSON.stringify(deployed, null, 2)}\n`);
|
|
214
|
+
return 0;
|
|
215
|
+
}
|
|
216
|
+
finally {
|
|
217
|
+
lifecycle.dispose();
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* `astrale-domain list`: the deployments of every Environment, or of the one `--environment`
|
|
222
|
+
* names, as their hosts keep them for the caller, named by the registry's versions and placed on
|
|
223
|
+
* the instances each `--instance` says pin them. With `--json`, stdout
|
|
224
|
+
* carries only the ListResultV1, and only when every host and the registry answered; notices go to
|
|
225
|
+
* stderr. A registry that cannot be read (no Astrale CLI, one older than the listing's floor, Admin
|
|
226
|
+
* out of reach, an unreadable index) prints nothing on stdout and exits 1: versions are never
|
|
227
|
+
* dropped silently (AM-224).
|
|
228
|
+
*/
|
|
229
|
+
async function list(parsed, project, projectDir) {
|
|
230
|
+
const origin = compile(project.domain).schema.compiled.root.origin;
|
|
231
|
+
const environments = parsed.env === ''
|
|
232
|
+
? Object.entries(project.environments)
|
|
233
|
+
: [[parsed.env, selectEnvironment(project, parsed.env)]];
|
|
234
|
+
const lifecycle = deploymentLifecycle();
|
|
235
|
+
try {
|
|
236
|
+
const listing = await listDeployments({
|
|
237
|
+
origin,
|
|
238
|
+
environments,
|
|
129
239
|
...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
|
|
130
240
|
signal: lifecycle.signal,
|
|
241
|
+
registry: (signal) => openDomainRegistry({
|
|
242
|
+
projectDir,
|
|
243
|
+
...(parsed.identity === undefined ? {} : { identity: parsed.identity }),
|
|
244
|
+
signal,
|
|
245
|
+
minimum: MINIMUM_INSTALLATIONS_CLI_VERSION,
|
|
246
|
+
}),
|
|
247
|
+
...(parsed.instances === undefined ? {} : { instances: parsed.instances }),
|
|
131
248
|
});
|
|
132
|
-
|
|
133
|
-
|
|
249
|
+
for (const notice of listing.notices)
|
|
250
|
+
warn(notice);
|
|
251
|
+
for (const failure of listing.failures) {
|
|
252
|
+
error(`Environment ${failure.environment} could not be listed (${failure.adapter}): ` +
|
|
253
|
+
failure.error.message);
|
|
134
254
|
}
|
|
135
|
-
|
|
136
|
-
|
|
255
|
+
if (listing.registryFailure !== undefined) {
|
|
256
|
+
const failure = listing.registryFailure;
|
|
257
|
+
error(failure instanceof RegistryCliError
|
|
258
|
+
? `Domain registry: ${failure.code}: ${failure.message}`
|
|
259
|
+
: `Domain registry: ${failure.message}`);
|
|
260
|
+
return 1;
|
|
137
261
|
}
|
|
138
|
-
|
|
139
|
-
|
|
262
|
+
if (parsed.json === true) {
|
|
263
|
+
if (listing.failures.length > 0)
|
|
264
|
+
return 1;
|
|
265
|
+
process.stdout.write(`${JSON.stringify(listing.result, null, 2)}\n`);
|
|
266
|
+
return 0;
|
|
267
|
+
}
|
|
268
|
+
const failed = listing.failures.length > 0;
|
|
269
|
+
for (const line of renderDeploymentList(listing.result, Date.now(), failed)) {
|
|
270
|
+
process.stdout.write(`${line}\n`);
|
|
271
|
+
}
|
|
272
|
+
return failed ? 1 : 0;
|
|
140
273
|
}
|
|
141
274
|
finally {
|
|
142
275
|
lifecycle.dispose();
|
|
143
276
|
}
|
|
144
277
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
278
|
+
/** Report every refusal of a refused deploy mode, each with what to write instead. */
|
|
279
|
+
function refused(mode) {
|
|
280
|
+
if (mode.kind !== 'refused')
|
|
281
|
+
return false;
|
|
282
|
+
for (const refusal of mode.refusals)
|
|
283
|
+
error(refusal.guidance);
|
|
284
|
+
return true;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* `astrale-domain yank <version> [--undo]`: take one published version of the Project's Domain
|
|
288
|
+
* out of resolution in the Admin registry, or put it back. With `--json`, stdout carries only the
|
|
289
|
+
* YankReportV1; a refused or failed run prints nothing there.
|
|
290
|
+
*/
|
|
291
|
+
async function yank(parsed, project) {
|
|
292
|
+
if (parsed.version === undefined)
|
|
293
|
+
throw new TypeError('`yank` requires a published version.');
|
|
294
|
+
const origin = compile(project.domain).schema.compiled.root.origin;
|
|
295
|
+
const lifecycle = deploymentLifecycle('Yank interrupted.');
|
|
296
|
+
try {
|
|
297
|
+
const report = await yankPublication({
|
|
298
|
+
origin,
|
|
299
|
+
version: parsed.version,
|
|
300
|
+
undo: parsed.undo === true,
|
|
301
|
+
projectDir: process.cwd(),
|
|
302
|
+
signal: lifecycle.signal,
|
|
303
|
+
});
|
|
304
|
+
if (parsed.json === true)
|
|
305
|
+
process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
|
|
306
|
+
else
|
|
307
|
+
info(yankSummary(report));
|
|
308
|
+
return 0;
|
|
309
|
+
}
|
|
310
|
+
catch (cause) {
|
|
311
|
+
if (!(cause instanceof RegistryCliError))
|
|
312
|
+
throw cause;
|
|
313
|
+
error(`${cause.code}: ${cause.message}`);
|
|
314
|
+
return 1;
|
|
315
|
+
}
|
|
316
|
+
finally {
|
|
317
|
+
lifecycle.dispose();
|
|
318
|
+
}
|
|
158
319
|
}
|
|
159
320
|
async function lint(parsed) {
|
|
160
321
|
const { formatLintResult, lintDomain, LinterToolError } = await import('../linter/index.js');
|
|
@@ -174,25 +335,12 @@ async function lint(parsed) {
|
|
|
174
335
|
throw cause;
|
|
175
336
|
}
|
|
176
337
|
}
|
|
177
|
-
function secretsFor(adapter, parameters, projectDir, runtime) {
|
|
178
|
-
const file = adapter.secretsFile?.(parameters);
|
|
179
|
-
if (file === undefined)
|
|
180
|
-
return Object.freeze({});
|
|
181
|
-
const path = isAbsolute(file) ? file : join(projectDir, file);
|
|
182
|
-
// An Integration-free Runtime has no Providers and therefore no author-owned
|
|
183
|
-
// environment secrets. Adapter-owned secrets, such as the signing identity,
|
|
184
|
-
// are resolved separately by the adapter and must not make this file required.
|
|
185
|
-
if (Object.keys(runtime.integrations).length === 0 && !existsSync(path)) {
|
|
186
|
-
return Object.freeze({});
|
|
187
|
-
}
|
|
188
|
-
return Object.freeze(loadDeclaredSecrets(path, file));
|
|
189
|
-
}
|
|
190
338
|
function findConfig(projectDir) {
|
|
191
339
|
return CONFIG_NAMES.map((name) => join(projectDir, name)).find(existsSync);
|
|
192
340
|
}
|
|
193
|
-
function deploymentLifecycle() {
|
|
341
|
+
function deploymentLifecycle(interruption = 'Deployment interrupted.') {
|
|
194
342
|
const controller = new AbortController();
|
|
195
|
-
const stop = () => controller.abort(new Error(
|
|
343
|
+
const stop = () => controller.abort(new Error(interruption));
|
|
196
344
|
process.once('SIGINT', stop);
|
|
197
345
|
process.once('SIGTERM', stop);
|
|
198
346
|
return Object.freeze({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DomainDefinition } from '../../application/index.js';
|
|
2
2
|
import type { Requirements } from '../../application/requirements/index.js';
|
|
3
3
|
import type { Routes } from '../../application/routes/index.js';
|
|
4
4
|
import type { Runtime } from '../../application/runtime/index.js';
|
|
@@ -7,10 +7,10 @@ import type { Deployment } from '../../deployment/index.js';
|
|
|
7
7
|
import type { schema } from '../../platform/schema/index.js';
|
|
8
8
|
import type { Project, ProjectEnvironment } from '../../project/index.js';
|
|
9
9
|
import type { Tests } from '../../testing/index.js';
|
|
10
|
-
export type
|
|
10
|
+
export type LoadedDomainDefinition = DomainDefinition<schema.DomainSchema, Runtime, Frontend<schema.DomainSchema> | undefined, Routes | undefined, Requirements | undefined>;
|
|
11
11
|
export type LoadedDeployment = Deployment<object>;
|
|
12
12
|
export type LoadedEnvironment = ProjectEnvironment<LoadedDeployment>;
|
|
13
|
-
export type LoadedProject = Project<
|
|
13
|
+
export type LoadedProject = Project<LoadedDomainDefinition, Readonly<Record<string, LoadedEnvironment>>, Tests | undefined>;
|
|
14
14
|
export declare function loadProject(path: string): Promise<LoadedProject>;
|
|
15
15
|
export declare function selectEnvironment(project: LoadedProject, name: string): LoadedEnvironment;
|
|
16
16
|
export declare function runtimeEntrypoint(project: LoadedProject): import("../../deployment/index.js").RuntimeReference;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { Adapter, Build, LegacyAdapter, Release, ResolvedRuntimeReference } from '../../../deployment/index.js';
|
|
2
|
+
import type { DomainRegistry } from '../registry/index.js';
|
|
3
|
+
export type { PublishReportV1 } from './report.js';
|
|
4
|
+
export interface PublishCommandInput {
|
|
5
|
+
readonly projectDir: string;
|
|
6
|
+
readonly environment: string;
|
|
7
|
+
/** The adapter of a canonical Environment (CT33): `publish` refuses every other one before. */
|
|
8
|
+
readonly adapter: Adapter<object> | LegacyAdapter<object>;
|
|
9
|
+
readonly parameters: object;
|
|
10
|
+
readonly build: Build;
|
|
11
|
+
readonly runtime: ResolvedRuntimeReference;
|
|
12
|
+
/** `--as`: the identity that reads and writes the registry and deploys. */
|
|
13
|
+
readonly identity?: string;
|
|
14
|
+
/** `--allow-dirty`: publish from a working tree with changes, or outside git. */
|
|
15
|
+
readonly allowDirty: boolean;
|
|
16
|
+
readonly json: boolean;
|
|
17
|
+
readonly signal: AbortSignal;
|
|
18
|
+
}
|
|
19
|
+
/** What `publish` uses of the Domain registry: the index, a baseline's bundle, the Publication. */
|
|
20
|
+
type PublishRegistry = Pick<DomainRegistry, 'index' | 'bundle' | 'publish'>;
|
|
21
|
+
export interface PublishCommandDependencies {
|
|
22
|
+
readonly open: (input: {
|
|
23
|
+
readonly projectDir: string;
|
|
24
|
+
readonly identity?: string;
|
|
25
|
+
readonly signal: AbortSignal;
|
|
26
|
+
}) => Promise<PublishRegistry>;
|
|
27
|
+
/** Step 5: the deployment serves exactly this sealed release at its URL. */
|
|
28
|
+
readonly verify: (release: Release, signal: AbortSignal) => Promise<void>;
|
|
29
|
+
/** Whether a remote-tracking branch already holds the commit (tech Versioning [.73872]). */
|
|
30
|
+
readonly pushed: (input: {
|
|
31
|
+
readonly projectDir: string;
|
|
32
|
+
readonly sha: string;
|
|
33
|
+
readonly signal: AbortSignal;
|
|
34
|
+
}) => Promise<boolean | undefined>;
|
|
35
|
+
readonly stdout: (text: string) => void;
|
|
36
|
+
readonly stderr: (text: string) => void;
|
|
37
|
+
/** The deadline of step 5; `VERIFY_TIMEOUT_MS` by default. */
|
|
38
|
+
readonly verifyTimeoutMs?: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Step 5 reads the deployment's `release.json` (at most 1 MiB) and its Bundle (at most 16 MiB)
|
|
42
|
+
* once the adapter has seen it ready: a deployment that accepts the connection and never answers
|
|
43
|
+
* is refused after this long, never waited on until the CI job's own timeout.
|
|
44
|
+
*/
|
|
45
|
+
export declare const VERIFY_TIMEOUT_MS = 60000;
|
|
46
|
+
/**
|
|
47
|
+
* `astrale-domain publish <environment> [--allow-dirty] [--as <identity>] [--json]`: give the
|
|
48
|
+
* release this tree deploys in one Environment the version `package.json` declares (tech
|
|
49
|
+
* Versioning [.73345], Registry [.122137]). It deploys bottom-up and names last: the Publication
|
|
50
|
+
* Admin creates under the Domain's lock is the only switch, so every failure before it leaves at
|
|
51
|
+
* most a deployment without a version, which a rerun reuses (Registry [.122407]).
|
|
52
|
+
*
|
|
53
|
+
* 0. Before any effect: provenance (a dirty tree or no git is refused unless `--allow-dirty`; the
|
|
54
|
+
* commit is recorded; an unpushed commit warns), then the plan of the deployment: build,
|
|
55
|
+
* configure, placement, label, URL and the sealed release digest.
|
|
56
|
+
* 1. Read the version from `package.json`.
|
|
57
|
+
* 2. Read the registry. The version exists: the same release succeeds without effect, another is
|
|
58
|
+
* refused. A Domain absent or unreadable, or a registry that does not answer, is refused.
|
|
59
|
+
* 3. Judge the version against the highest stable version below it (AM-23); refuse a version
|
|
60
|
+
* that is too low.
|
|
61
|
+
* 4. Deploy the release, or reuse its deployment.
|
|
62
|
+
* 5. Verify that the deployment serves the sealed release.
|
|
63
|
+
* 6. Ask Admin for the Publication; a version Admin gave another release meanwhile is refused,
|
|
64
|
+
* naming the winner's release, and this deployment stays a preview. Any other failure says
|
|
65
|
+
* what CT29 says of it: Admin may have created the Publication (a rerun settles it), Admin made
|
|
66
|
+
* none and a rerun can help, or Admin refused and a rerun meets the same refusal. Then, where
|
|
67
|
+
* the host has no registry principal to keep it (the platform namespace), `adapter.retain`
|
|
68
|
+
* keeps the published deployment (CT36). Admin keeps no mark on its Services' deployments:
|
|
69
|
+
* Services keeps every deployment until it is retired.
|
|
70
|
+
*
|
|
71
|
+
* Steps 0 to 3 make no deploy call. Never installs.
|
|
72
|
+
*/
|
|
73
|
+
export declare function runPublish(input: PublishCommandInput, dependencies?: PublishCommandDependencies): Promise<number>;
|