@astrale-os/sdk 0.6.0-beta.4 → 0.6.0-beta.40
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 +191 -58
- 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 +47 -31
- package/dist/application/action/define.d.ts +3 -3
- package/dist/application/action/index.d.ts +1 -1
- package/dist/application/define.d.ts +8 -6
- package/dist/application/define.js +28 -14
- package/dist/application/dependency/index.d.ts +1 -1
- package/dist/application/dependency/invoker.d.ts +21 -10
- package/dist/application/domain.d.ts +30 -0
- package/dist/application/index.d.ts +4 -4
- package/dist/application/index.js +1 -1
- package/dist/application/integration/define.d.ts +8 -1
- package/dist/application/integration/index.d.ts +2 -2
- package/dist/application/integration/integration.d.ts +13 -1
- package/dist/application/integration/operation.d.ts +16 -3
- 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/mutation/execution/execute.js +1 -1
- package/dist/application/mutation/failure.d.ts +6 -0
- package/dist/application/mutation/failure.js +24 -18
- package/dist/application/mutation/index.d.ts +1 -1
- package/dist/application/query/collection/union.js +11 -4
- package/dist/application/query/composite/plan.d.ts +0 -4
- package/dist/application/query/composite/plan.js +0 -2
- package/dist/application/query/conformance.d.ts +15 -0
- package/dist/application/query/conformance.js +46 -0
- package/dist/application/query/define.js +4 -3
- package/dist/application/query/execution/execute.d.ts +0 -1
- package/dist/application/query/execution/execute.js +7 -1
- package/dist/application/query/failure.d.ts +8 -0
- package/dist/application/query/failure.js +8 -0
- package/dist/application/query/index.d.ts +1 -1
- package/dist/application/query/index.js +1 -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 +3 -1
- package/dist/application/runtime/workflows.js +3 -4
- package/dist/application/view/define.js +4 -6
- package/dist/application/view/frontend.d.ts +2 -2
- package/dist/application/view/index.d.ts +1 -1
- package/dist/application/view/route.d.ts +0 -14
- package/dist/application/view/route.js +1 -64
- 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 +4 -4
- package/dist/application/workflow/define.js +14 -9
- package/dist/application/workflow/durable.d.ts +185 -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 +5 -3
- package/dist/deployment/adapter/adapter.d.ts +55 -13
- 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 +4 -3
- package/dist/deployment/adapter/define.js +107 -23
- package/dist/deployment/adapter/index.d.ts +4 -3
- package/dist/deployment/adapter/index.js +1 -0
- package/dist/deployment/adapter/release/command.d.ts +33 -0
- package/dist/deployment/adapter/release/context.d.ts +94 -0
- package/dist/deployment/adapter/release/index.d.ts +4 -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 +96 -0
- package/dist/deployment/address/configuration.js +274 -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 +4 -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 +73 -0
- package/dist/deployment/address/record.js +138 -0
- package/dist/deployment/address/summary.d.ts +30 -0
- package/dist/deployment/address/summary.js +1 -0
- package/dist/deployment/address/vectors.d.ts +60 -0
- package/dist/deployment/address/vectors.js +517 -0
- package/dist/deployment/authoring.d.ts +0 -2
- package/dist/deployment/authoring.js +0 -1
- package/dist/deployment/build/build.d.ts +8 -2
- package/dist/deployment/build/compile.d.ts +4 -4
- package/dist/deployment/build/compile.js +19 -17
- package/dist/deployment/build/frontend/compilation.d.ts +2 -4
- package/dist/deployment/build/frontend/compilation.js +0 -5
- package/dist/deployment/build/frontend/digest.js +1 -5
- 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.d.ts +2 -2
- package/dist/deployment/build/material.js +28 -13
- package/dist/deployment/build/schema.d.ts +2 -2
- package/dist/deployment/deployment.d.ts +3 -2
- package/dist/deployment/environment.d.ts +6 -0
- package/dist/deployment/environment.js +6 -0
- package/dist/deployment/index.d.ts +4 -6
- package/dist/deployment/index.js +1 -2
- package/dist/deployment/release/addressing.d.ts +6 -5
- package/dist/deployment/release/addressing.js +2 -3
- package/dist/deployment/release/assemble.d.ts +6 -3
- package/dist/deployment/release/assemble.js +12 -10
- package/dist/deployment/release/release.d.ts +16 -5
- 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 +11 -0
- package/dist/deployment/release/served/index.js +26 -0
- package/dist/deployment/release/{publication → served}/views.d.ts +2 -2
- package/dist/deployment/release/{publication → served}/views.js +0 -1
- package/dist/deployment/runtime/admission.d.ts +2 -2
- package/dist/deployment/runtime/admission.js +5 -5
- package/dist/deployment/verify/index.d.ts +3 -4
- package/dist/deployment/verify/index.js +2 -3
- 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 +1 -12
- package/dist/deployment/verify/preflight/index.js +1 -12
- 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 +15 -8
- package/dist/deployment/verify/readiness/index.js +25 -6
- package/dist/deployment/verify/readiness/release.d.ts +8 -0
- package/dist/deployment/verify/readiness/release.js +22 -0
- package/dist/deployment/worker/address.d.ts +26 -0
- package/dist/deployment/worker/address.js +43 -0
- package/dist/deployment/worker/build.d.ts +60 -0
- package/dist/deployment/worker/build.js +172 -0
- package/dist/deployment/worker/configuration.d.ts +73 -0
- package/dist/deployment/worker/configuration.js +165 -0
- package/dist/deployment/worker/content.d.ts +38 -0
- package/dist/deployment/worker/content.js +169 -0
- package/dist/deployment/worker/index.d.ts +29 -0
- package/dist/deployment/worker/index.js +29 -0
- package/dist/deployment/worker/limits.d.ts +30 -0
- package/dist/deployment/worker/limits.js +30 -0
- package/dist/deployment/worker/record.d.ts +29 -0
- package/dist/deployment/worker/record.js +69 -0
- package/dist/deployment/worker/request.d.ts +118 -0
- package/dist/deployment/worker/request.js +280 -0
- package/dist/deployment/worker/response.d.ts +101 -0
- package/dist/deployment/worker/response.js +207 -0
- package/dist/execution/cache/cache.d.ts +17 -0
- package/dist/execution/cache/cache.js +11 -0
- package/dist/execution/cache/index.d.ts +2 -0
- package/dist/execution/cache/index.js +2 -0
- package/dist/execution/cache/memory.d.ts +13 -0
- package/dist/execution/cache/memory.js +48 -0
- package/dist/execution/identity/authentication.d.ts +33 -3
- package/dist/execution/identity/authentication.js +90 -36
- package/dist/execution/identity/callback.d.ts +20 -20
- package/dist/execution/identity/callback.js +34 -26
- package/dist/execution/identity/delivery.d.ts +6 -4
- package/dist/execution/identity/delivery.js +25 -20
- package/dist/execution/identity/identity.d.ts +17 -3
- package/dist/execution/identity/identity.js +12 -4
- package/dist/execution/identity/jwks.d.ts +5 -0
- package/dist/execution/identity/jwks.js +92 -102
- package/dist/execution/index.d.ts +6 -4
- package/dist/execution/index.js +4 -2
- package/dist/execution/invocation/admission/age.d.ts +57 -0
- package/dist/execution/invocation/admission/age.js +208 -0
- package/dist/execution/invocation/admission/authentication.d.ts +13 -13
- package/dist/execution/invocation/admission/authentication.js +52 -44
- package/dist/execution/invocation/admission/authority.d.ts +28 -6
- package/dist/execution/invocation/admission/authority.js +9 -2
- package/dist/execution/invocation/admission/index.d.ts +4 -3
- package/dist/execution/invocation/admission/index.js +3 -2
- package/dist/execution/invocation/admission/input.d.ts +2 -2
- package/dist/execution/invocation/admission/input.js +16 -2
- package/dist/execution/invocation/admission/target.d.ts +11 -0
- package/dist/execution/invocation/admission/target.js +22 -3
- package/dist/execution/invocation/capabilities/bind.d.ts +11 -0
- package/dist/execution/invocation/capabilities/bind.js +25 -0
- package/dist/execution/invocation/capabilities/index.d.ts +1 -0
- package/dist/execution/invocation/capabilities/index.js +1 -0
- package/dist/execution/invocation/dependency/bind.d.ts +3 -1
- package/dist/execution/invocation/dependency/bind.js +36 -16
- package/dist/execution/invocation/dispatch/context.d.ts +7 -6
- package/dist/execution/invocation/dispatch/context.js +11 -44
- package/dist/execution/invocation/dispatch/workflow.js +0 -4
- package/dist/execution/invocation/handler.js +8 -2
- package/dist/execution/invocation/index.d.ts +2 -2
- package/dist/execution/invocation/index.js +1 -1
- package/dist/execution/invocation/integration/authentication.d.ts +3 -3
- package/dist/execution/invocation/integration/authentication.js +7 -7
- package/dist/execution/invocation/integration/call.d.ts +2 -1
- package/dist/execution/invocation/integration/call.js +3 -3
- package/dist/execution/invocation/integration/clients.d.ts +1 -1
- package/dist/execution/invocation/integration/index.d.ts +1 -0
- package/dist/execution/invocation/integration/index.js +1 -0
- package/dist/execution/invocation/invocation.d.ts +6 -0
- package/dist/execution/invocation/invocation.js +129 -21
- package/dist/execution/invocation/lifecycle/active.d.ts +8 -2
- package/dist/execution/invocation/lifecycle/active.js +3 -3
- package/dist/execution/invocation/lifecycle/index.d.ts +1 -1
- package/dist/execution/invocation/result/errors.d.ts +0 -10
- package/dist/execution/invocation/result/errors.js +0 -17
- package/dist/execution/invocation/result/index.d.ts +2 -2
- package/dist/execution/invocation/result/index.js +1 -1
- 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 +17 -0
- package/dist/execution/runtime/release.js +7 -0
- package/dist/execution/serve.d.ts +18 -4
- package/dist/execution/serve.js +10 -0
- package/dist/execution/service/create.js +43 -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 +20 -5
- package/dist/execution/service/serving/delivery.d.ts +5 -0
- package/dist/execution/service/{publication → serving}/delivery.js +4 -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/source.d.ts +11 -0
- package/dist/execution/service/serving/source.js +15 -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 +89 -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 +46 -0
- package/dist/execution/workflows/failure.js +160 -0
- package/dist/execution/workflows/index.d.ts +4 -0
- package/dist/execution/workflows/index.js +3 -0
- package/dist/execution/workflows/integrations.d.ts +13 -0
- package/dist/execution/workflows/integrations.js +25 -0
- package/dist/execution/workflows/options.d.ts +66 -0
- package/dist/execution/workflows/options.js +148 -0
- package/dist/execution/workflows/receiver.d.ts +24 -0
- package/dist/execution/workflows/receiver.js +99 -0
- package/dist/execution/workflows/route.d.ts +12 -0
- package/dist/execution/workflows/route.js +35 -0
- package/dist/execution/workflows/run.d.ts +21 -0
- package/dist/execution/workflows/run.js +321 -0
- package/dist/execution/workflows/steps.d.ts +42 -0
- package/dist/execution/workflows/steps.js +67 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +2 -2
- package/dist/platform/graph/alias.d.ts +1 -5
- package/dist/platform/graph/alias.js +1 -5
- package/dist/platform/graph/document/index.d.ts +1 -1
- package/dist/platform/graph/document/index.js +1 -1
- package/dist/platform/graph/index.d.ts +1 -1
- package/dist/platform/graph/index.js +1 -1
- package/dist/platform/release/index.d.ts +2 -0
- package/dist/platform/release/index.js +2 -0
- package/dist/platform/schema/callable-authoring.d.ts +21 -0
- package/dist/platform/schema/callable-authoring.js +27 -0
- package/dist/platform/schema/class-authoring.d.ts +61 -11
- package/dist/platform/schema/class-authoring.js +37 -4
- package/dist/platform/schema/class-icon-svg.d.ts +9 -0
- package/dist/platform/schema/class-icon-svg.js +29 -0
- package/dist/platform/schema/class-icon.d.ts +3 -8
- package/dist/platform/schema/class-icon.js +2 -29
- package/dist/platform/schema/index.d.ts +6 -4
- package/dist/platform/schema/index.js +2 -1
- package/dist/platform/schema/property.d.ts +5 -0
- package/dist/platform/schema/schema-authoring.d.ts +14 -7
- package/dist/platform/schema/schema-authoring.js +5 -1
- 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 +1 -5
- 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 +6 -0
- package/dist/project/install-command.js +9 -0
- package/dist/project/project.d.ts +10 -8
- package/dist/testing/dataset/define.d.ts +1 -1
- package/dist/testing/durable/engine.d.ts +121 -0
- package/dist/testing/durable/engine.js +614 -0
- package/dist/testing/durable/index.d.ts +3 -0
- package/dist/testing/durable/index.js +1 -0
- package/dist/testing/durable/steps.d.ts +30 -0
- package/dist/testing/durable/steps.js +40 -0
- package/dist/testing/index.d.ts +6 -1
- package/dist/testing/index.js +5 -1
- package/dist/testing/load.js +1 -1
- package/dist/tooling/cli/adapter-command.d.ts +35 -0
- package/dist/tooling/cli/adapter-command.js +66 -0
- package/dist/tooling/cli/arguments.d.ts +17 -6
- package/dist/tooling/cli/arguments.js +175 -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 +26 -0
- package/dist/tooling/cli/deploy-mode.js +59 -0
- package/dist/tooling/cli/deploy-result.d.ts +80 -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 +5 -5
- package/dist/tooling/cli/dotenv.js +6 -36
- package/dist/tooling/cli/help.js +173 -60
- 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 +12 -4
- package/dist/tooling/cli/index.js +6 -3
- package/dist/tooling/cli/installed-on.d.ts +83 -0
- package/dist/tooling/cli/installed-on.js +156 -0
- package/dist/tooling/cli/list.d.ts +152 -0
- package/dist/tooling/cli/list.js +331 -0
- package/dist/tooling/cli/log.d.ts +5 -2
- package/dist/tooling/cli/log.js +9 -2
- package/dist/tooling/cli/orchestrate.d.ts +0 -6
- package/dist/tooling/cli/orchestrate.js +246 -90
- package/dist/tooling/cli/project.d.ts +3 -3
- package/dist/tooling/cli/publish/index.d.ts +81 -0
- package/dist/tooling/cli/publish/index.js +383 -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 +121 -0
- package/dist/tooling/cli/registry/client.js +354 -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 +35 -0
- package/dist/tooling/cli/registry/executable.js +96 -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/adapters/typescript/imports.d.ts +0 -1
- package/dist/tooling/linter/adapters/typescript/imports.js +1 -5
- package/dist/tooling/linter/adapters/typescript/index.d.ts +1 -1
- package/dist/tooling/linter/adapters/typescript/index.js +1 -1
- package/dist/tooling/linter/adapters/typescript/syntax.d.ts +3 -3
- package/dist/tooling/linter/adapters/typescript/syntax.js +13 -25
- package/dist/tooling/linter/implementations/source/callable-requirements.d.ts +1 -2
- package/dist/tooling/linter/implementations/source/callable-requirements.js +11 -16
- package/dist/tooling/linter/implementations/source/dependencies.js +13 -72
- package/dist/tooling/linter/implementations/source/global.js +1 -2
- package/dist/tooling/linter/implementations/source/mutations.js +18 -29
- package/dist/tooling/linter/implementations/source/providers.js +5 -5
- package/dist/tooling/linter/implementations/source/queries.js +1 -17
- package/dist/tooling/linter/implementations/source/shared.d.ts +12 -4
- package/dist/tooling/linter/implementations/source/shared.js +101 -46
- package/dist/tooling/linter/implementations/source/verifiers.js +0 -2
- package/dist/tooling/linter/implementations/source/views.js +2 -2
- package/dist/tooling/linter/implementations/source/workflows.js +500 -17
- package/dist/tooling/linter/policy/generated.js +14 -63
- package/dist/tooling/linter/requirements/registry.js +6 -8
- 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/docs/admission-age.md +88 -0
- package/docs/auth-api-migration.md +55 -0
- package/docs/business-errors.md +42 -0
- package/docs/domain-definition-migration.md +44 -0
- package/docs/domain-schema-migration.md +36 -0
- package/docs/durable-workflows.md +418 -0
- package/docs/handler-dependencies.md +213 -0
- package/docs/release.md +155 -0
- package/docs/schema-cost.md +124 -0
- package/package.json +45 -16
- package/dist/application/application.d.ts +0 -28
- package/dist/application/query/execution/projection.d.ts +0 -3
- package/dist/application/query/execution/projection.js +0 -3
- package/dist/deployment/adapter/deploy/context.d.ts +0 -15
- 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/deploy.d.ts +0 -20
- package/dist/deployment/deploy.js +0 -31
- 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.d.ts +0 -10
- package/dist/deployment/release/publication/seal.js +0 -39
- package/dist/deployment/verify/preflight/artifact.d.ts +0 -6
- package/dist/deployment/verify/preflight/artifact.js +0 -122
- package/dist/deployment/verify/preflight/publication.d.ts +0 -4
- package/dist/deployment/verify/preflight/publication.js +0 -14
- package/dist/deployment/verify/readiness/deployment.d.ts +0 -3
- package/dist/deployment/verify/readiness/deployment.js +0 -151
- package/dist/deployment/verify/readiness/publication.d.ts +0 -11
- package/dist/deployment/verify/readiness/publication.js +0 -41
- package/dist/execution/service/errors.d.ts +0 -3
- package/dist/execution/service/errors.js +0 -3
- 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/deprecations.d.ts +0 -9
- package/dist/tooling/cli/deprecations.js +0 -15
- 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/tooling/linter/implementations/source/migrations.d.ts +0 -2
- package/dist/tooling/linter/implementations/source/migrations.js +0 -113
- package/dist/tooling/linter/qualification/index.d.ts +0 -10
- package/dist/tooling/linter/qualification/index.js +0 -2
- package/dist/tooling/linter/qualification/query-fixtures.d.ts +0 -2
- package/dist/tooling/linter/qualification/query-fixtures.js +0 -68
- package/dist/tooling/linter/qualification/runner.d.ts +0 -3
- package/dist/tooling/linter/qualification/runner.js +0 -6
- /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 → release/command.js} +0 -0
- /package/dist/deployment/adapter/{prepare → release}/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/execution/service/{publication → serving}/index.js +0 -0
package/docs/release.md
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# SDK release lifecycle
|
|
2
|
+
|
|
3
|
+
Release Please owns the versions and GitHub releases for the SDK package set:
|
|
4
|
+
|
|
5
|
+
- `@astrale-os/sdk`
|
|
6
|
+
- `@astrale-os/adapter-cloudflare`
|
|
7
|
+
- `@astrale-os/adapter-astrale`
|
|
8
|
+
- `create-astrale-domain`
|
|
9
|
+
|
|
10
|
+
The Node workspace plugin follows local dependency edges. Every internal release edge uses
|
|
11
|
+
`workspace:*`, so a changed SDK refreshes the dependent adapter and scaffolder packages in the same
|
|
12
|
+
Release Please pull request and publication rewrites each edge to that dependency's exact version.
|
|
13
|
+
Never use a caret or tilde for an internal release edge: an immutable adapter must not resolve a
|
|
14
|
+
newer SDK or adapter after publication. The shared publisher consumes those versions; it never
|
|
15
|
+
invents a release version.
|
|
16
|
+
|
|
17
|
+
Dependency installation, authoritative publication, and public qualification are npmjs-only. npm
|
|
18
|
+
publication uses OIDC Trusted Publishing. After that proof completes, the workflow mirrors the exact
|
|
19
|
+
SDK and adapter tarballs to private GitHub Packages copies. GitHub Packages is never a consumer,
|
|
20
|
+
build, installation, or qualification source. Never add a PAT, an npm token, an auth file, or a
|
|
21
|
+
repository package token; no credential may enter a tracked file, lockfile, package archive, or build
|
|
22
|
+
log.
|
|
23
|
+
|
|
24
|
+
## Normal beta release
|
|
25
|
+
|
|
26
|
+
Prerequisite: every exact Kernel dependency in the SDK manifest is already published on npm and the
|
|
27
|
+
SDK passes typecheck, test, build, pack, and fresh-consumer gates against those artifacts. Never use
|
|
28
|
+
a local checkout, tarball, or override to make the release build pass.
|
|
29
|
+
|
|
30
|
+
1. Merge conventional feature and fix pull requests into `main`.
|
|
31
|
+
The squash-merge title is Release Please input: use `feat` for a public capability or API change
|
|
32
|
+
and `fix` for a behavioral defect. Never classify a publication-bearing change as `refactor`,
|
|
33
|
+
`docs`, `chore`, or `test`; those types do not advance the beta
|
|
34
|
+
package cohort.
|
|
35
|
+
2. The `Release` workflow creates or refreshes the single Release Please pull request.
|
|
36
|
+
3. Select **Approve workflows to run** for that bot-authored pull request and wait for every required
|
|
37
|
+
check. GitHub can mark these workflows `action_required`; this is an approval gate, not a passed
|
|
38
|
+
run.
|
|
39
|
+
4. Review every changed package version, exact internal dependency, changelog, and
|
|
40
|
+
`.release-please-manifest.json` entry.
|
|
41
|
+
5. Merge the Release Please pull request.
|
|
42
|
+
6. Release Please creates an immutable GitHub prerelease for every released component. Only then does
|
|
43
|
+
`Release` dispatch the standalone `Publish` workflow with the exact released commit SHA, preserving
|
|
44
|
+
its npm Trusted Publishing identity. Publish rejects a non-SHA or a checkout mismatch before npm I/O.
|
|
45
|
+
7. The shared package publisher builds the workspace and publishes every public package to npm. A
|
|
46
|
+
`-beta.N` version advances npm `beta`; npm `latest` remains on the last stable version.
|
|
47
|
+
8. The same workflow then runs `pnpm run qualify:publications` without a token. This creates isolated
|
|
48
|
+
temporary stores, installs the four exact manifest versions from npmjs, generates a Domain with
|
|
49
|
+
`linkWorkspacePackages: false`, pins that generated project to the exact SDK and adapter versions,
|
|
50
|
+
and runs its typecheck, tests, build, and package command. Any missing publication, transitive
|
|
51
|
+
dependency, wrong version, non-exact internal cohort edge, local source, override, or GitHub
|
|
52
|
+
registry reference fails the workflow.
|
|
53
|
+
9. A separate least-privilege job downloads the exact SDK and adapter tarballs from npm, verifies
|
|
54
|
+
their npm SHA-512 integrity, mirrors them with `GITHUB_TOKEN`, and then requires byte-identical
|
|
55
|
+
GitHub downloads, matching release-channel tags, private visibility, and an exact link to
|
|
56
|
+
`astrale-os/sdk`. The scaffolder remains npm-only.
|
|
57
|
+
|
|
58
|
+
The publisher receives package directories in strict producer order: SDK, Cloudflare adapter,
|
|
59
|
+
Astrale adapter, then scaffolder. The shared action validates this dependency order and completes npm
|
|
60
|
+
plus the exact release-channel dist-tag for one package before it starts the next. A linked workspace
|
|
61
|
+
build is therefore never treated as publication proof.
|
|
62
|
+
|
|
63
|
+
npm publication has no token fallback. All four npm packages must configure GitHub Actions Trusted
|
|
64
|
+
Publishing for this repository and the `publish.yml` workflow. A missing Trusted Publisher or a wrong
|
|
65
|
+
dist-tag is an explicit, fail-closed publication error; do not work around it with a PAT or npm token.
|
|
66
|
+
|
|
67
|
+
The mirror job starts only after the anonymous npm qualification succeeds. It has `packages: write`
|
|
68
|
+
but no npm OIDC permission, performs no build or workspace install, and cannot publish to npm. A
|
|
69
|
+
mirror failure makes `Publish` red without undoing the already-complete npm release. Rerunning the
|
|
70
|
+
failed job is safe: existing versions must be byte-identical, no version is overwritten or deleted,
|
|
71
|
+
and tags are reconciled only when npm still points them at that exact version. Do not backfill older
|
|
72
|
+
version gaps during initial rollout; the next ordinary beta release is the admission proof.
|
|
73
|
+
|
|
74
|
+
Ordinary source pushes do not publish. Do not manually edit package versions, manually dispatch
|
|
75
|
+
`Publish`, or push release tags during the normal flow.
|
|
76
|
+
|
|
77
|
+
## Start the new Auth beta series
|
|
78
|
+
|
|
79
|
+
The session-owned Auth API starts a new SDK beta series at `0.6.0-beta.0`. Its feature PR sets
|
|
80
|
+
only the SDK's package-local `release-as` to that version. Release Please owns the actual manifest
|
|
81
|
+
and cohort bumps. Remove that one-shot override from the generated release PR before merging it.
|
|
82
|
+
This keeps the release on npm `beta`, while existing SDK `0.5.0` prerelease ranges retain the old API.
|
|
83
|
+
|
|
84
|
+
## Promote the package set to stable
|
|
85
|
+
|
|
86
|
+
Create one promotion pull request that removes only these beta settings from
|
|
87
|
+
`.release-please-config.json`:
|
|
88
|
+
|
|
89
|
+
```json
|
|
90
|
+
"versioning": "prerelease",
|
|
91
|
+
"prerelease": true,
|
|
92
|
+
"prerelease-type": "beta"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Keep the Node workspace plugin, `always-update`, package map, and workflows unchanged. In the same
|
|
96
|
+
promotion pull request, temporarily add these package-local overrides:
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
"packages": {
|
|
100
|
+
".": { "component": "sdk", "release-as": "0.6.0" },
|
|
101
|
+
"adapter-cloudflare": { "component": "adapter-cloudflare", "release-as": "0.5.0" },
|
|
102
|
+
"adapter-astrale": { "component": "adapter-astrale", "release-as": "0.5.0" },
|
|
103
|
+
"create-astrale-domain": {
|
|
104
|
+
"component": "create-astrale-domain",
|
|
105
|
+
"release-as": "0.3.0"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
After that promotion pull request lands, Release Please proposes those stable versions. Remove all
|
|
111
|
+
four `release-as` properties from the generated stable release pull request, rerun its checks, and
|
|
112
|
+
merge it. This publishes npm `latest` and ordinary GitHub releases. The npm `beta` tags intentionally
|
|
113
|
+
remain on the last beta and do not affect bare installs.
|
|
114
|
+
|
|
115
|
+
## Verification
|
|
116
|
+
|
|
117
|
+
Always name npmjs explicitly when inspecting releases so the verification also proves the public
|
|
118
|
+
registry boundary.
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
gh run list --repo astrale-os/sdk --workflow Release --limit 5
|
|
122
|
+
gh run list --repo astrale-os/sdk --workflow Publish --limit 5
|
|
123
|
+
npm view @astrale-os/sdk dist-tags --json --registry=https://registry.npmjs.org
|
|
124
|
+
npm view @astrale-os/adapter-cloudflare dist-tags --json --registry=https://registry.npmjs.org
|
|
125
|
+
npm view @astrale-os/adapter-astrale dist-tags --json --registry=https://registry.npmjs.org
|
|
126
|
+
npm view create-astrale-domain dist-tags --json --registry=https://registry.npmjs.org
|
|
127
|
+
gh api orgs/astrale-os/packages/npm/sdk --jq '{visibility,repository:.repository.full_name}'
|
|
128
|
+
gh api orgs/astrale-os/packages/npm/adapter-cloudflare --jq '{visibility,repository:.repository.full_name}'
|
|
129
|
+
gh api orgs/astrale-os/packages/npm/adapter-astrale --jq '{visibility,repository:.repository.full_name}'
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
The SDK, adapters, scaffolder, generated manifest, and every transitive runtime dependency must be
|
|
133
|
+
installable from npmjs without authentication. Prove that boundary from a clean temporary directory:
|
|
134
|
+
|
|
135
|
+
```ini
|
|
136
|
+
# ./npmrc (in the smoke-test parent directory)
|
|
137
|
+
registry=https://registry.npmjs.org/
|
|
138
|
+
always-auth=false
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Then run the complete smoke test:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
NPM_CONFIG_USERCONFIG="$PWD/npmrc" npm install @astrale-os/sdk@beta
|
|
145
|
+
NPM_CONFIG_USERCONFIG="$PWD/npmrc" npx -y create-astrale-domain@beta beta-smoke --yes
|
|
146
|
+
cd beta-smoke
|
|
147
|
+
NPM_CONFIG_USERCONFIG="../npmrc" pnpm install --no-frozen-lockfile
|
|
148
|
+
pnpm typecheck
|
|
149
|
+
pnpm test
|
|
150
|
+
pnpm build
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Inspect the generated lockfile and installed package manifests. They must resolve the released SDK and
|
|
154
|
+
adapter package set and the SDK-owned public Kernel dependencies from npmjs, not `latest`, GitHub
|
|
155
|
+
Packages, workspace links, Git URLs, or an older manually published beta.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# What a compiled Schema costs
|
|
2
|
+
|
|
3
|
+
A compiled Domain is large, and its size is not driven by how much the Domain declares. This
|
|
4
|
+
records what the weight is made of, where it is paid, and which levers belong to this repository.
|
|
5
|
+
|
|
6
|
+
Every figure comes from `scripts/bench/`, on synthetic Domains built around `KernelSchema`. Node
|
|
7
|
+
counts and byte weights follow from the compiled format and hold anywhere. **Timings do not.** The
|
|
8
|
+
benches run under Bun, which is JavaScriptCore, and workerd is V8. On the same graph and the same
|
|
9
|
+
walk:
|
|
10
|
+
|
|
11
|
+
| walk | V8 (Node 26) | JavaScriptCore (Bun) |
|
|
12
|
+
| --- | --- | --- |
|
|
13
|
+
| seal, as shipped | 10.4 ms | 73.7 ms |
|
|
14
|
+
| seal, arrays indexed and primitives skipped | 5.9 ms | 48.2 ms |
|
|
15
|
+
|
|
16
|
+
Close to an order of magnitude apart. Read every millisecond below as a JavaScriptCore
|
|
17
|
+
millisecond: useful for ranking two strategies against each other, worthless as a production
|
|
18
|
+
figure. Any claim about cold start has to be re-measured on the real bundle in workerd.
|
|
19
|
+
|
|
20
|
+
## The cost law
|
|
21
|
+
|
|
22
|
+
Growing a Domain two ways, plain classes against classes carrying one format-constrained
|
|
23
|
+
property (`bun scripts/bench/schema-cost.ts`):
|
|
24
|
+
|
|
25
|
+
| classes | plain | one constrained property each |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| 0 | 19 522 | 19 522 |
|
|
28
|
+
| 5 | 19 587 | 22 157 |
|
|
29
|
+
| 20 | 19 782 | 30 062 |
|
|
30
|
+
| 50 | 20 172 | 45 872 |
|
|
31
|
+
|
|
32
|
+
Three readings, each counter-intuitive.
|
|
33
|
+
|
|
34
|
+
**An empty Domain is not empty.** 19 522 nodes and 554 KiB before anything is declared. That is
|
|
35
|
+
the floor the `KernelSchema` dependency sets, and every Astrale Domain pays it.
|
|
36
|
+
|
|
37
|
+
**Classes and properties are nearly free.** Fifty classes and a hundred plain properties add a
|
|
38
|
+
thousand nodes, about twenty per class. The size of the model is not the problem.
|
|
39
|
+
|
|
40
|
+
**One thing is expensive: a string carrying a format.** The same constraint on fifty classes adds
|
|
41
|
+
26 350 nodes, about **527 nodes per property**, and fifty separate automata for one expression.
|
|
42
|
+
`resolve` and `compile` both roughly double over the same range.
|
|
43
|
+
|
|
44
|
+
## Where the weight is
|
|
45
|
+
|
|
46
|
+
On the Kernel floor, by region (`bun scripts/bench/compiled-graph.ts`):
|
|
47
|
+
|
|
48
|
+
| region | nodes | share |
|
|
49
|
+
| --- | --- | --- |
|
|
50
|
+
| `values[].patterns` | 15 856 | 81.2 % |
|
|
51
|
+
| `values[].nodes` | 3 031 | 15.5 % |
|
|
52
|
+
| `definitions.*` | 563 | 2.9 % |
|
|
53
|
+
| everything else | 6 | 0.0 % |
|
|
54
|
+
|
|
55
|
+
The weight is compiled regular-expression automata. A bounded quantifier is unrolled into one
|
|
56
|
+
state per repetition, so `{64}` becomes 162 states and `{0,253}` becomes 528. Each state carries
|
|
57
|
+
two arrays, each transition an array of ranges, and each range is itself a two-element array.
|
|
58
|
+
That is also why a compiled graph holds more arrays than objects.
|
|
59
|
+
|
|
60
|
+
Nothing is shared between copies. Sixteen automata stand for seven distinct expressions:
|
|
61
|
+
`sha256:[0-9a-f]{64}`, nineteen characters, weighs 576 nodes and exists five times over. Interning
|
|
62
|
+
by source would remove 7 973 of the 15 794 pattern nodes at identical semantics, since two
|
|
63
|
+
automata for one expression are structurally identical and immutable.
|
|
64
|
+
|
|
65
|
+
## Where it is paid
|
|
66
|
+
|
|
67
|
+
1. **At build time**, in `compile`. Once, on a contributor's machine.
|
|
68
|
+
2. **In the Worker bundle.** The material is emitted as an inline literal, so the automata ship as
|
|
69
|
+
bytes: 44 % of a bare compiled Schema, 65 % once a Domain constrains its strings.
|
|
70
|
+
3. **At cold start, the material path.** The emitted literal is allocated, sealed, and realized on
|
|
71
|
+
the first request of every isolate.
|
|
72
|
+
4. **At cold start, the authoring path**, when application code builds the Schema from source at
|
|
73
|
+
runtime. `resolve` is memoised per Schema value, so it is a once-per-isolate cost like the
|
|
74
|
+
material path, not a per-request one.
|
|
75
|
+
5. **In any client** that builds the Schema, a browser included.
|
|
76
|
+
|
|
77
|
+
## Sealing the material
|
|
78
|
+
|
|
79
|
+
`schema.compiled` is almost the whole material graph, so sealing cost is a question of how many
|
|
80
|
+
times that graph is walked (`bun scripts/bench/freeze-strategies.ts`):
|
|
81
|
+
|
|
82
|
+
| strategy | cost |
|
|
83
|
+
| --- | --- |
|
|
84
|
+
| before: two SDK passes and one DSL pass | 131.6 ms |
|
|
85
|
+
| current: one SDK pass and one DSL pass | 74.7 ms |
|
|
86
|
+
| candidate: the DSL owns `schema.compiled` | 62.0 ms |
|
|
87
|
+
|
|
88
|
+
Two results matter more than the ranking.
|
|
89
|
+
|
|
90
|
+
**Most of the remaining cost is not the Schema.** Sealing `schema.compiled` alone is 17.2 ms.
|
|
91
|
+
Sealing `schema.bundle.bytes` alone is 43.9 ms, because it is one array of tens of thousands of
|
|
92
|
+
numbers and the walker calls `Object.values` on it. A walker that indexes arrays in place and
|
|
93
|
+
never recurses into a primitive takes one pass from 61.2 ms to 43.5 ms. `Object.freeze` on an
|
|
94
|
+
array of numbers already seals its elements, so that recursion changes nothing: it is cost
|
|
95
|
+
without a guarantee behind it.
|
|
96
|
+
|
|
97
|
+
**The emitter throws away sharing the compiler produced.** The compiled graph holds 19 522 nodes
|
|
98
|
+
as built and 32 882 after a JSON round trip, because JSON has no references. 13 360 nodes, two
|
|
99
|
+
thirds again, exist only because the material is emitted as a flat literal. Hoisting identical
|
|
100
|
+
subtrees into shared bindings at emission would restore sharing rather than invent it, and would
|
|
101
|
+
cut bundle bytes at the same time.
|
|
102
|
+
|
|
103
|
+
Sealing is a guarantee, not decoration: `realize()` retains live references into the graph, and
|
|
104
|
+
the material is one singleton shared by every concurrent request in the isolate. None of the
|
|
105
|
+
changes above give that up. They stop walking what is already sealed, or what sealing a container
|
|
106
|
+
already covers.
|
|
107
|
+
|
|
108
|
+
## Which levers are here
|
|
109
|
+
|
|
110
|
+
Owned by this repository: how many times the material is walked, how the walker treats a flat
|
|
111
|
+
array, whether the emitter shares identical subtrees, and whether the SDK hands out the Domain
|
|
112
|
+
that a restored Build already carries instead of leaving an application to rebuild it.
|
|
113
|
+
|
|
114
|
+
Owned by `kernel-dsl`: the cost of `resolve`, the pattern table in the compiled format, and the
|
|
115
|
+
unrolling of bounded quantifiers. The last of these pays at all five sites at once and is where
|
|
116
|
+
most of the weight is. None of it can be reached from here.
|
|
117
|
+
|
|
118
|
+
## Verifying a change
|
|
119
|
+
|
|
120
|
+
`scripts/bench/freeze-equivalence.ts` compares the frozen state of every reachable node between
|
|
121
|
+
two sealing implementations and exits non-zero on a divergence or a vacuous walk. Spine assertions
|
|
122
|
+
cannot tell a deep seal from a shallow one: `material()` returns a shallow-frozen envelope, so a
|
|
123
|
+
walker treating a frozen container as proof of a sealed interior would seal nothing and still
|
|
124
|
+
satisfy them. `src/deployment/build/__tests__/realization.test.ts` carries the standing audit.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astrale-os/sdk",
|
|
3
|
-
"version": "0.6.0-beta.
|
|
3
|
+
"version": "0.6.0-beta.40",
|
|
4
4
|
"description": "Schema-first SDK for defining, composing, and deploying Astrale domains",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"astrale",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
22
|
"dist",
|
|
23
|
-
"!dist/**/*.map"
|
|
23
|
+
"!dist/**/*.map",
|
|
24
|
+
"docs"
|
|
24
25
|
],
|
|
25
26
|
"type": "module",
|
|
26
27
|
"sideEffects": false,
|
|
@@ -63,9 +64,13 @@
|
|
|
63
64
|
"types": "./dist/platform/result/index.d.ts",
|
|
64
65
|
"import": "./dist/platform/result/index.js"
|
|
65
66
|
},
|
|
66
|
-
"./
|
|
67
|
-
"types": "./dist/platform/
|
|
68
|
-
"import": "./dist/platform/
|
|
67
|
+
"./release": {
|
|
68
|
+
"types": "./dist/platform/release/index.d.ts",
|
|
69
|
+
"import": "./dist/platform/release/index.js"
|
|
70
|
+
},
|
|
71
|
+
"./versioning": {
|
|
72
|
+
"types": "./dist/platform/versioning/index.d.ts",
|
|
73
|
+
"import": "./dist/platform/versioning/index.js"
|
|
69
74
|
},
|
|
70
75
|
"./invocation": {
|
|
71
76
|
"types": "./dist/platform/invocation/index.d.ts",
|
|
@@ -127,7 +132,7 @@
|
|
|
127
132
|
"types": "./dist/application/runtime/authoring.d.ts",
|
|
128
133
|
"import": "./dist/application/runtime/authoring.js"
|
|
129
134
|
},
|
|
130
|
-
"./
|
|
135
|
+
"./domain": {
|
|
131
136
|
"types": "./dist/application/index.d.ts",
|
|
132
137
|
"import": "./dist/application/index.js"
|
|
133
138
|
},
|
|
@@ -151,6 +156,22 @@
|
|
|
151
156
|
"types": "./dist/deployment/build/material.d.ts",
|
|
152
157
|
"import": "./dist/deployment/build/material.js"
|
|
153
158
|
},
|
|
159
|
+
"./deployment/build/manifest": {
|
|
160
|
+
"types": "./dist/deployment/build/manifest.d.ts",
|
|
161
|
+
"import": "./dist/deployment/build/manifest.js"
|
|
162
|
+
},
|
|
163
|
+
"./deployment/address": {
|
|
164
|
+
"types": "./dist/deployment/address/index.d.ts",
|
|
165
|
+
"import": "./dist/deployment/address/index.js"
|
|
166
|
+
},
|
|
167
|
+
"./deployment/address/vectors": {
|
|
168
|
+
"types": "./dist/deployment/address/vectors.d.ts",
|
|
169
|
+
"import": "./dist/deployment/address/vectors.js"
|
|
170
|
+
},
|
|
171
|
+
"./deployment/worker": {
|
|
172
|
+
"types": "./dist/deployment/worker/index.d.ts",
|
|
173
|
+
"import": "./dist/deployment/worker/index.js"
|
|
174
|
+
},
|
|
154
175
|
"./deployment/release": {
|
|
155
176
|
"types": "./dist/deployment/release/index.d.ts",
|
|
156
177
|
"import": "./dist/deployment/release/index.js"
|
|
@@ -237,16 +258,17 @@
|
|
|
237
258
|
"registry": "https://registry.npmjs.org/"
|
|
238
259
|
},
|
|
239
260
|
"dependencies": {
|
|
240
|
-
"@astrale-os/kernel-client": "0.
|
|
241
|
-
"@astrale-os/kernel-core": "0.
|
|
242
|
-
"@astrale-os/kernel-dsl": "0.
|
|
243
|
-
"@astrale-os/kernel-protocol": "0.
|
|
244
|
-
"@astrale-os/kernel-server": "0.
|
|
261
|
+
"@astrale-os/kernel-client": "1.0.0-beta.19",
|
|
262
|
+
"@astrale-os/kernel-core": "1.0.0-beta.16",
|
|
263
|
+
"@astrale-os/kernel-dsl": "1.0.0-beta.9",
|
|
264
|
+
"@astrale-os/kernel-protocol": "1.0.0-beta.16",
|
|
265
|
+
"@astrale-os/kernel-server": "1.0.0-beta.16",
|
|
245
266
|
"@lucide/icons": "1.34.0",
|
|
246
267
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
247
268
|
"cross-spawn": "7.0.6",
|
|
248
269
|
"hono": "^4.13.2",
|
|
249
270
|
"jose": "^6.2.9",
|
|
271
|
+
"semver": "7.8.5",
|
|
250
272
|
"typescript": "~6.0.3"
|
|
251
273
|
},
|
|
252
274
|
"devDependencies": {
|
|
@@ -258,11 +280,15 @@
|
|
|
258
280
|
"@commitlint/config-conventional": "~21.2.2",
|
|
259
281
|
"@hono/node-server": "^2.1.1",
|
|
260
282
|
"@hono/node-server-v1": "npm:@hono/node-server@1.19.0",
|
|
283
|
+
"@restatedev/restate-sdk": "1.17.0",
|
|
284
|
+
"@restatedev/restate-sdk-cloudflare-workers": "1.17.0",
|
|
261
285
|
"@types/cross-spawn": "6.0.6",
|
|
262
|
-
"@types/node": "^
|
|
286
|
+
"@types/node": "^24.19.1",
|
|
287
|
+
"@types/semver": "7.8.0",
|
|
263
288
|
"husky": "~9.1.7",
|
|
264
289
|
"lint-staged": "~17.3.0",
|
|
265
290
|
"mermaid": "^11.16.1",
|
|
291
|
+
"miniflare": "5.20260811.1-alpha",
|
|
266
292
|
"oxfmt": "0.63.0",
|
|
267
293
|
"oxlint": "1.78.0",
|
|
268
294
|
"preact": "^10.29.8",
|
|
@@ -292,10 +318,10 @@
|
|
|
292
318
|
"lint-staged": {
|
|
293
319
|
"*.{js,cjs,mjs,ts,tsx}": [
|
|
294
320
|
"oxlint --disable-nested-config --fix",
|
|
295
|
-
"oxfmt --write"
|
|
321
|
+
"oxfmt --no-error-on-unmatched-pattern --write"
|
|
296
322
|
],
|
|
297
323
|
"*.{json,yml,yaml}": [
|
|
298
|
-
"oxfmt --write"
|
|
324
|
+
"oxfmt --no-error-on-unmatched-pattern --write"
|
|
299
325
|
]
|
|
300
326
|
},
|
|
301
327
|
"devEngines": {
|
|
@@ -306,7 +332,7 @@
|
|
|
306
332
|
}
|
|
307
333
|
},
|
|
308
334
|
"engines": {
|
|
309
|
-
"node": ">=
|
|
335
|
+
"node": ">=24"
|
|
310
336
|
},
|
|
311
337
|
"scripts": {
|
|
312
338
|
"build": "node scripts/clean-dist.mjs && tsgo && node scripts/verify-no-source-maps.mjs dist && pnpm run verify:package",
|
|
@@ -318,9 +344,12 @@
|
|
|
318
344
|
"typecheck:tests": "tsgo --noEmit -p tsconfig.test.json",
|
|
319
345
|
"typecheck:e2e": "tsgo --noEmit -p __e2e__/flagship/fixtures/tsconfig.v1.json && tsgo --noEmit -p __e2e__/flagship/fixtures/tsconfig.json",
|
|
320
346
|
"typecheck:knowledge": "tsgo --noEmit -p knowledge/cli/tsconfig.json",
|
|
321
|
-
"test": "pnpm run
|
|
347
|
+
"test": "pnpm run test:checks && pnpm run test:file && pnpm run test:scripts",
|
|
348
|
+
"test:checks": "pnpm run check:knowledge && pnpm run check:linter-policy && pnpm run check:issues && pnpm run test:node-server-v1",
|
|
322
349
|
"test:file": "vitest run --config __tests__/vitest.config.ts",
|
|
350
|
+
"test:scripts": "node --test scripts/*.test.mjs actions/domain/*.test.mjs",
|
|
323
351
|
"test:node-server-v1": "vitest run --config __tests__/vitest.node-server-v1.config.ts",
|
|
352
|
+
"test:durable": "vitest run --config __tests__/durable/vitest.config.ts",
|
|
324
353
|
"verify:package": "node ./verify-package.mjs",
|
|
325
354
|
"test:watch": "vitest --config __tests__/vitest.config.ts",
|
|
326
355
|
"lint": "oxlint --disable-nested-config .",
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { schema } from '../platform/schema/index.js';
|
|
2
|
-
import type { Requirements } from './requirements/index.js';
|
|
3
|
-
import type { Routes } from './routes/index.js';
|
|
4
|
-
import type { Runtime, SchemaOfRuntime as RuntimeSchemaOf } from './runtime/index.js';
|
|
5
|
-
import type { Frontend } from './view/index.js';
|
|
6
|
-
declare const APPLICATION_IDENTITY: unique symbol;
|
|
7
|
-
declare const APPLICATION_SCHEMA: unique symbol;
|
|
8
|
-
/** Schema-independent type witness shared by every admitted Application declaration. */
|
|
9
|
-
export interface ApplicationIdentity {
|
|
10
|
-
readonly [APPLICATION_IDENTITY]: true;
|
|
11
|
-
}
|
|
12
|
-
/** Inert source/build composition for one exact Schema and authored Runtime. */
|
|
13
|
-
export interface Application<Schema extends schema.DomainSchema = schema.DomainSchema, RuntimeValue extends Runtime<Schema> = Runtime<Schema>, FrontendValue extends Frontend<Schema> | undefined = undefined, RoutesValue extends Routes | undefined = undefined, RequirementsValue extends Requirements | undefined = undefined> extends ApplicationIdentity {
|
|
14
|
-
readonly schema: Schema;
|
|
15
|
-
readonly runtime: RuntimeValue;
|
|
16
|
-
readonly frontend?: FrontendValue;
|
|
17
|
-
readonly routes?: RoutesValue;
|
|
18
|
-
readonly requirements?: RequirementsValue;
|
|
19
|
-
readonly [APPLICATION_SCHEMA]: (schema: Schema) => Schema;
|
|
20
|
-
}
|
|
21
|
-
export type SchemaOfApplication<Value> = Value extends {
|
|
22
|
-
readonly schema: infer Schema;
|
|
23
|
-
} ? Extract<Schema, schema.DomainSchema> : never;
|
|
24
|
-
export type RuntimeOfApplication<Value> = Value extends {
|
|
25
|
-
readonly runtime: infer RuntimeValue;
|
|
26
|
-
} ? Extract<RuntimeValue, Runtime> : never;
|
|
27
|
-
export type SchemaOfRuntime<Value> = RuntimeSchemaOf<Value>;
|
|
28
|
-
export {};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { QueryAST, QueryResultFor } from '@astrale-os/kernel-core/graph/query';
|
|
2
|
-
import type { ProjectedQuery, QueryProjectionContext } from '../single/index.js';
|
|
3
|
-
export declare function projectQuery<Input, Output, Ast extends QueryAST>(definition: ProjectedQuery<Input, Output, Ast>, result: QueryResultFor<Ast>, input: Input, context: QueryProjectionContext<Ast>): Output;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { InstallationTarget } from '../adapter.js';
|
|
2
|
-
import type { PreparedArtifact } from '../prepare/index.js';
|
|
3
|
-
export interface DeployContext {
|
|
4
|
-
readonly projectDir: string;
|
|
5
|
-
readonly environment: string;
|
|
6
|
-
readonly installation?: InstallationTarget;
|
|
7
|
-
/** Optional command-scoped identity override (`--as`). */
|
|
8
|
-
readonly identity?: string;
|
|
9
|
-
/** Optional command-scoped credential; trusted adapters must neither retain nor disclose it. */
|
|
10
|
-
readonly credential?: string;
|
|
11
|
-
readonly secrets: Readonly<Record<string, string>>;
|
|
12
|
-
readonly artifact: PreparedArtifact;
|
|
13
|
-
/** Parent-owned lifecycle cancellation shared by every provider process/effect. */
|
|
14
|
-
readonly signal: AbortSignal;
|
|
15
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { Digest } from '@astrale-os/kernel-protocol/artifact';
|
|
2
|
-
import type { Addressing, Release } from '../../release/index.js';
|
|
3
|
-
export type DeploymentPhase = 'prerequisite' | 'provider' | 'addressing' | 'release' | 'configuration' | 'installation' | 'readiness';
|
|
4
|
-
export type MutationKnowledge<Evidence = unknown> = {
|
|
5
|
-
readonly kind: 'none';
|
|
6
|
-
} | {
|
|
7
|
-
readonly kind: 'partial';
|
|
8
|
-
readonly evidence?: Evidence;
|
|
9
|
-
} | {
|
|
10
|
-
readonly kind: 'applied';
|
|
11
|
-
readonly evidence: Evidence;
|
|
12
|
-
} | {
|
|
13
|
-
readonly kind: 'unknown';
|
|
14
|
-
};
|
|
15
|
-
export interface ProviderDeploymentEvidence {
|
|
16
|
-
readonly provider: string;
|
|
17
|
-
readonly deployment: string;
|
|
18
|
-
readonly artifact: Digest;
|
|
19
|
-
readonly issuer?: Addressing['issuer'];
|
|
20
|
-
/** Optional provider-side check before promotion; distinct from public readiness. */
|
|
21
|
-
readonly preflight?: 'passed' | 'unavailable';
|
|
22
|
-
}
|
|
23
|
-
export type AppliedProviderDeployment = {
|
|
24
|
-
readonly kind: 'applied';
|
|
25
|
-
readonly evidence: ProviderDeploymentEvidence & {
|
|
26
|
-
readonly issuer: Addressing['issuer'];
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
export interface DeploymentProgress {
|
|
30
|
-
readonly prerequisite: MutationKnowledge;
|
|
31
|
-
readonly provider: MutationKnowledge<ProviderDeploymentEvidence>;
|
|
32
|
-
readonly configuration: MutationKnowledge;
|
|
33
|
-
readonly installation: MutationKnowledge;
|
|
34
|
-
}
|
|
35
|
-
export interface ReadyDeployResult {
|
|
36
|
-
readonly status: 'ready';
|
|
37
|
-
readonly phase: 'complete';
|
|
38
|
-
readonly progress: DeploymentProgress & {
|
|
39
|
-
readonly provider: AppliedProviderDeployment;
|
|
40
|
-
};
|
|
41
|
-
readonly release: Release;
|
|
42
|
-
}
|
|
43
|
-
export interface FailedDeployResult {
|
|
44
|
-
readonly status: 'failed';
|
|
45
|
-
readonly phase: DeploymentPhase;
|
|
46
|
-
readonly progress: DeploymentProgress;
|
|
47
|
-
readonly error: Error;
|
|
48
|
-
readonly release?: Release;
|
|
49
|
-
}
|
|
50
|
-
export type DeployResult = ReadyDeployResult | FailedDeployResult;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { Digest } from '@astrale-os/kernel-protocol/artifact';
|
|
2
|
-
import type { Build } from '../../build/index.js';
|
|
3
|
-
import type { Addressing } from '../../release/index.js';
|
|
4
|
-
export interface ArtifactFile {
|
|
5
|
-
readonly path: string;
|
|
6
|
-
readonly content: Uint8Array;
|
|
7
|
-
}
|
|
8
|
-
export interface PreparedArtifactFile {
|
|
9
|
-
readonly path: string;
|
|
10
|
-
bytes(): Uint8Array;
|
|
11
|
-
}
|
|
12
|
-
export type AddressingPlan = {
|
|
13
|
-
readonly kind: 'configured';
|
|
14
|
-
readonly addressing: Addressing;
|
|
15
|
-
} | {
|
|
16
|
-
readonly kind: 'provider-assigned';
|
|
17
|
-
readonly claim: string;
|
|
18
|
-
};
|
|
19
|
-
/** Untrusted provider-specific preparation output admitted by verify/preflight. */
|
|
20
|
-
export interface ArtifactSource {
|
|
21
|
-
readonly entrypoint: string;
|
|
22
|
-
readonly files: readonly ArtifactFile[];
|
|
23
|
-
readonly addressing: AddressingPlan;
|
|
24
|
-
}
|
|
25
|
-
/** Exact detached input supplied to every provider deployment effect. */
|
|
26
|
-
export interface PreparedArtifact<BuildValue extends Build = Build> {
|
|
27
|
-
readonly kind: 'prepared-artifact';
|
|
28
|
-
readonly build: BuildValue;
|
|
29
|
-
readonly digest: Digest;
|
|
30
|
-
readonly entrypoint: string;
|
|
31
|
-
readonly files: readonly PreparedArtifactFile[];
|
|
32
|
-
readonly addressing: AddressingPlan;
|
|
33
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { Build } from '../../build/index.js';
|
|
2
|
-
import type { ResolvedRuntimeReference } from '../../runtime/index.js';
|
|
3
|
-
import type { InstallationTarget } from '../adapter.js';
|
|
4
|
-
export interface PrepareContext<BuildValue extends Build = Build> {
|
|
5
|
-
readonly projectDir: string;
|
|
6
|
-
readonly environment: string;
|
|
7
|
-
readonly installation?: InstallationTarget;
|
|
8
|
-
/**
|
|
9
|
-
* Preparation purpose. Remote development and one-shot deployment both
|
|
10
|
-
* prepare complete release artifacts. Omitted by older custom callers means
|
|
11
|
-
* release for compatibility during the beta migration.
|
|
12
|
-
*/
|
|
13
|
-
readonly mode?: 'release';
|
|
14
|
-
/**
|
|
15
|
-
* Optional preparation-input observer used by tooling that must rebuild when
|
|
16
|
-
* an adapter reads authored paths outside the Application/Runtime module graph.
|
|
17
|
-
*/
|
|
18
|
-
readonly recordSource?: (path: string) => void;
|
|
19
|
-
/** Parent-owned lifecycle cancellation shared by every preparation process/effect. */
|
|
20
|
-
readonly signal: AbortSignal;
|
|
21
|
-
readonly build: BuildValue;
|
|
22
|
-
readonly runtime: ResolvedRuntimeReference;
|
|
23
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { ApplicationIdentity } from '../application/index.js';
|
|
2
|
-
import type { Adapter } from './adapter/index.js';
|
|
3
|
-
import type { RuntimeReference } from './runtime/index.js';
|
|
4
|
-
type CanonicalAdapter<Value> = Value extends Adapter<infer _Parameters> ? Value : never;
|
|
5
|
-
/** @deprecated Declare Application and Environments directly in defineProject(). */
|
|
6
|
-
export interface DeploymentInput<ApplicationValue extends ApplicationIdentity, AdapterValue extends object> {
|
|
7
|
-
readonly application: ApplicationValue;
|
|
8
|
-
readonly entrypoint: RuntimeReference;
|
|
9
|
-
readonly adapter: CanonicalAdapter<AdapterValue>;
|
|
10
|
-
}
|
|
11
|
-
/** @deprecated Legacy aggregate retained only so tooling can issue an exact migration diagnostic. */
|
|
12
|
-
export interface LegacyDeployment<ApplicationValue extends ApplicationIdentity = ApplicationIdentity, AdapterValue extends object = object> {
|
|
13
|
-
readonly application: ApplicationValue;
|
|
14
|
-
readonly entrypoint: RuntimeReference;
|
|
15
|
-
readonly adapter: AdapterValue;
|
|
16
|
-
}
|
|
17
|
-
/** @deprecated Declare Application and Environments directly in defineProject(). */
|
|
18
|
-
export declare function deploy<const ApplicationValue extends ApplicationIdentity, const AdapterValue extends object>(input: DeploymentInput<ApplicationValue, AdapterValue>): LegacyDeployment<ApplicationValue, AdapterValue>;
|
|
19
|
-
export declare function isLegacyDeployment(input: unknown): input is LegacyDeployment;
|
|
20
|
-
export {};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { isApplication } from '../application/index.js';
|
|
2
|
-
import { isAdapter } from './adapter/index.js';
|
|
3
|
-
import { isRuntimeReference } from './runtime/index.js';
|
|
4
|
-
const legacyDeployments = new WeakSet();
|
|
5
|
-
/** @deprecated Declare Application and Environments directly in defineProject(). */
|
|
6
|
-
export function deploy(input) {
|
|
7
|
-
if (input === null || typeof input !== 'object' || Array.isArray(input))
|
|
8
|
-
invalid();
|
|
9
|
-
const keys = Reflect.ownKeys(input);
|
|
10
|
-
if (keys.length !== 3 ||
|
|
11
|
-
keys.some((key) => key !== 'application' && key !== 'entrypoint' && key !== 'adapter')) {
|
|
12
|
-
invalid();
|
|
13
|
-
}
|
|
14
|
-
if (!isApplication(input.application)) {
|
|
15
|
-
throw new TypeError('Deployment Application is not admitted.');
|
|
16
|
-
}
|
|
17
|
-
if (!isRuntimeReference(input.entrypoint)) {
|
|
18
|
-
throw new TypeError('Deployment entrypoint must be created by runtime(path).');
|
|
19
|
-
}
|
|
20
|
-
if (!isAdapter(input.adapter))
|
|
21
|
-
throw new TypeError('Deployment Adapter is not admitted.');
|
|
22
|
-
const deployment = Object.freeze({ ...input });
|
|
23
|
-
legacyDeployments.add(deployment);
|
|
24
|
-
return deployment;
|
|
25
|
-
}
|
|
26
|
-
export function isLegacyDeployment(input) {
|
|
27
|
-
return input !== null && typeof input === 'object' && legacyDeployments.has(input);
|
|
28
|
-
}
|
|
29
|
-
function invalid() {
|
|
30
|
-
throw new TypeError('Deployment must contain exactly application, entrypoint, and adapter.');
|
|
31
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { callables } from './callables.js';
|
|
2
|
-
export { manifest } from './manifest.js';
|
|
3
|
-
export { requirements } from './requirements.js';
|
|
4
|
-
export { routes } from './routes.js';
|
|
5
|
-
export { seal, type SealedPublication } from './seal.js';
|
|
6
|
-
export { views } from './views.js';
|