@mysten-incubation/devstack 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -3
- package/dashboard-ui/assets/grpc-a4usE3Nk.js +3 -0
- package/dashboard-ui/assets/index-B82Bh84P.css +1 -0
- package/dashboard-ui/assets/index-CRYJ4pru.js +1277 -0
- package/dashboard-ui/index.html +2 -2
- package/dist/api/define-capabilities.d.mts +1 -20
- package/dist/api/define-capabilities.mjs +15 -22
- package/dist/api/define-capabilities.mjs.map +1 -1
- package/dist/api/define-devstack-with.d.mts +7 -1
- package/dist/api/define-devstack-with.mjs.map +1 -1
- package/dist/api/define-devstack.mjs.map +1 -1
- package/dist/api/define-plugin.d.mts +2 -1
- package/dist/api/inference-network.d.mts +31 -17
- package/dist/api/inference-network.mjs +40 -43
- package/dist/api/inference-network.mjs.map +1 -1
- package/dist/api/load-config.mjs +88 -0
- package/dist/api/load-config.mjs.map +1 -0
- package/dist/api/mode-narrowed-factory.d.mts +1 -1
- package/dist/api/mode-narrowed-factory.mjs.map +1 -1
- package/dist/api/run-stack-internal.mjs +202 -0
- package/dist/api/run-stack-internal.mjs.map +1 -0
- package/dist/api/run-stack.d.mts +82 -31
- package/dist/api/run-stack.mjs +22 -141
- package/dist/api/run-stack.mjs.map +1 -1
- package/dist/build-integrations/dapp-kit/index.d.mts +61 -0
- package/dist/build-integrations/dapp-kit/index.mjs +58 -0
- package/dist/build-integrations/dapp-kit/index.mjs.map +1 -0
- package/dist/build-integrations/playwright/config.d.mts +1 -30
- package/dist/build-integrations/playwright/config.mjs +1 -27
- package/dist/build-integrations/playwright/config.mjs.map +1 -1
- package/dist/build-integrations/playwright/errors.d.mts +4 -7
- package/dist/build-integrations/playwright/errors.mjs.map +1 -1
- package/dist/build-integrations/playwright/global-setup.d.mts +42 -71
- package/dist/build-integrations/playwright/global-setup.mjs +142 -218
- package/dist/build-integrations/playwright/global-setup.mjs.map +1 -1
- package/dist/build-integrations/playwright/index.d.mts +2 -2
- package/dist/build-integrations/playwright/index.mjs +2 -2
- package/dist/build-integrations/playwright/stack-context.d.mts +3 -1
- package/dist/build-integrations/playwright/stack-context.mjs +4 -2
- package/dist/build-integrations/playwright/stack-context.mjs.map +1 -1
- package/dist/build-integrations/playwright/wallet-context.mjs +44 -19
- package/dist/build-integrations/playwright/wallet-context.mjs.map +1 -1
- package/dist/build-integrations/runtime/cold-start-url.mjs.map +1 -1
- package/dist/build-integrations/runtime/conventional-routes.mjs.map +1 -1
- package/dist/build-integrations/runtime/dapp-kit-slot.mjs.map +1 -1
- package/dist/build-integrations/runtime/discover.d.mts +6 -4
- package/dist/build-integrations/runtime/discover.mjs +15 -4
- package/dist/build-integrations/runtime/discover.mjs.map +1 -1
- package/dist/build-integrations/runtime/endpoint-registry.mjs.map +1 -1
- package/dist/build-integrations/runtime/errors.mjs.map +1 -1
- package/dist/build-integrations/runtime/read-stack-context.mjs +3 -3
- package/dist/build-integrations/runtime/read-stack-context.mjs.map +1 -1
- package/dist/build-integrations/runtime/resolve-discovery-env.d.mts +23 -7
- package/dist/build-integrations/runtime/resolve-discovery-env.mjs +25 -12
- package/dist/build-integrations/runtime/resolve-discovery-env.mjs.map +1 -1
- package/dist/build-integrations/runtime/stack-context.d.mts +2 -2
- package/dist/build-integrations/vite/index.d.mts +84 -19
- package/dist/build-integrations/vite/index.mjs +203 -28
- package/dist/build-integrations/vite/index.mjs.map +1 -1
- package/dist/build-integrations/vitest/config.d.mts +20 -2
- package/dist/build-integrations/vitest/config.mjs +16 -4
- package/dist/build-integrations/vitest/config.mjs.map +1 -1
- package/dist/build-integrations/vitest/env.d.mts +18 -10
- package/dist/build-integrations/vitest/env.mjs +11 -10
- package/dist/build-integrations/vitest/env.mjs.map +1 -1
- package/dist/build-integrations/vitest/errors.d.mts +7 -11
- package/dist/build-integrations/vitest/errors.mjs +3 -4
- package/dist/build-integrations/vitest/errors.mjs.map +1 -1
- package/dist/build-integrations/vitest/global-setup.d.mts +35 -0
- package/dist/build-integrations/vitest/global-setup.mjs +156 -0
- package/dist/build-integrations/vitest/global-setup.mjs.map +1 -0
- package/dist/build-integrations/vitest/index.d.mts +3 -2
- package/dist/build-integrations/vitest/index.mjs +3 -2
- package/dist/build-integrations/vitest/setup.mjs +2 -2
- package/dist/build-integrations/vitest/setup.mjs.map +1 -1
- package/dist/build-integrations/vitest/stack-context.d.mts +5 -3
- package/dist/build-integrations/vitest/stack-context.mjs +3 -2
- package/dist/build-integrations/vitest/stack-context.mjs.map +1 -1
- package/dist/cli/bail.mjs.map +1 -1
- package/dist/cli/doctor-probes.mjs +1 -3
- package/dist/cli/doctor-probes.mjs.map +1 -1
- package/dist/cli/main.d.mts +23 -1
- package/dist/cli/main.mjs +63 -8
- package/dist/cli/main.mjs.map +1 -1
- package/dist/cli/prune-direct.mjs.map +1 -1
- package/dist/cli/snapshot-reader.mjs.map +1 -1
- package/dist/cli/up-lifecycle.mjs.map +1 -1
- package/dist/cli/wirings/apply.mjs +28 -21
- package/dist/cli/wirings/apply.mjs.map +1 -1
- package/dist/cli/wirings/codegen.mjs +108 -0
- package/dist/cli/wirings/codegen.mjs.map +1 -0
- package/dist/cli/wirings/config-loader.mjs +12 -62
- package/dist/cli/wirings/config-loader.mjs.map +1 -1
- package/dist/cli/wirings/dump-ids.mjs +86 -0
- package/dist/cli/wirings/dump-ids.mjs.map +1 -0
- package/dist/cli/wirings/engine-command.mjs +1 -1
- package/dist/cli/wirings/engine-command.mjs.map +1 -1
- package/dist/cli/wirings/identity.mjs +2 -2
- package/dist/cli/wirings/identity.mjs.map +1 -1
- package/dist/cli/wirings/provide-file-system.mjs.map +1 -1
- package/dist/cli/wirings/read-devstack-version.mjs +17 -0
- package/dist/cli/wirings/read-devstack-version.mjs.map +1 -0
- package/dist/cli/wirings/snapshot.mjs +27 -34
- package/dist/cli/wirings/snapshot.mjs.map +1 -1
- package/dist/cli/wirings/up-ipc.mjs +147 -0
- package/dist/cli/wirings/up-ipc.mjs.map +1 -0
- package/dist/cli/wirings/up.mjs +218 -198
- package/dist/cli/wirings/up.mjs.map +1 -1
- package/dist/cli/wirings/wipe.mjs +1 -1
- package/dist/cli/wirings/wipe.mjs.map +1 -1
- package/dist/contracts/chain-probe.d.mts +1 -1
- package/dist/contracts/chain-probe.mjs +1 -1
- package/dist/contracts/chain-probe.mjs.map +1 -1
- package/dist/contracts/codegenable.d.mts +60 -6
- package/dist/contracts/codegenable.mjs +28 -0
- package/dist/contracts/codegenable.mjs.map +1 -0
- package/dist/contracts/config-bindings.mjs +162 -0
- package/dist/contracts/config-bindings.mjs.map +1 -0
- package/dist/contracts/container-runtime.d.mts +23 -17
- package/dist/contracts/plugin-expander.mjs.map +1 -1
- package/dist/contracts/snapshotable.d.mts +5 -7
- package/dist/contracts/wallet-protocol.d.mts +2 -5
- package/dist/contracts/wallet-protocol.mjs +2 -5
- package/dist/contracts/wallet-protocol.mjs.map +1 -1
- package/dist/index.d.mts +21 -26
- package/dist/index.mjs +8 -9
- package/dist/orchestrators/boot.d.mts +28 -0
- package/dist/orchestrators/boot.mjs +440 -0
- package/dist/orchestrators/boot.mjs.map +1 -0
- package/dist/orchestrators/codegen/bindings.d.mts +13 -1
- package/dist/orchestrators/codegen/bindings.mjs +23 -9
- package/dist/orchestrators/codegen/bindings.mjs.map +1 -1
- package/dist/orchestrators/codegen/config-runtime.mjs +208 -0
- package/dist/orchestrators/codegen/config-runtime.mjs.map +1 -0
- package/dist/orchestrators/codegen/emit.mjs +1 -1
- package/dist/orchestrators/codegen/emit.mjs.map +1 -1
- package/dist/orchestrators/codegen/errors.mjs +21 -1
- package/dist/orchestrators/codegen/errors.mjs.map +1 -1
- package/dist/orchestrators/codegen/format.mjs +2 -0
- package/dist/orchestrators/codegen/format.mjs.map +1 -1
- package/dist/orchestrators/codegen/gitignore.mjs +30 -11
- package/dist/orchestrators/codegen/gitignore.mjs.map +1 -1
- package/dist/orchestrators/codegen/id-config.mjs +107 -0
- package/dist/orchestrators/codegen/id-config.mjs.map +1 -0
- package/dist/orchestrators/codegen/output-location.mjs +23 -32
- package/dist/orchestrators/codegen/output-location.mjs.map +1 -1
- package/dist/orchestrators/codegen/paths.mjs +8 -1
- package/dist/orchestrators/codegen/paths.mjs.map +1 -1
- package/dist/orchestrators/codegen/permissions.mjs.map +1 -1
- package/dist/orchestrators/codegen/service.mjs +286 -58
- package/dist/orchestrators/codegen/service.mjs.map +1 -1
- package/dist/orchestrators/layers.mjs +31 -0
- package/dist/orchestrators/layers.mjs.map +1 -0
- package/dist/orchestrators/lifecycle-prune/errors.mjs.map +1 -1
- package/dist/orchestrators/lifecycle-prune/index.mjs +8 -10
- package/dist/orchestrators/lifecycle-prune/index.mjs.map +1 -1
- package/dist/orchestrators/network-options.d.mts +52 -0
- package/dist/orchestrators/network-options.mjs +43 -0
- package/dist/orchestrators/network-options.mjs.map +1 -0
- package/dist/orchestrators/router/cleanup.mjs.map +1 -1
- package/dist/orchestrators/router/cors.mjs.map +1 -1
- package/dist/orchestrators/router/entrypoints.mjs.map +1 -1
- package/dist/orchestrators/router/errors.mjs.map +1 -1
- package/dist/orchestrators/router/file-provider.mjs.map +1 -1
- package/dist/orchestrators/router/hostname.mjs.map +1 -1
- package/dist/orchestrators/router/profile.mjs +1 -1
- package/dist/orchestrators/router/profile.mjs.map +1 -1
- package/dist/orchestrators/router/service.d.mts +2 -2
- package/dist/orchestrators/router/service.mjs +12 -27
- package/dist/orchestrators/router/service.mjs.map +1 -1
- package/dist/orchestrators/router/traefik-container.mjs +1 -1
- package/dist/orchestrators/router/traefik-container.mjs.map +1 -1
- package/dist/orchestrators/snapshot/capture.mjs +171 -195
- package/dist/orchestrators/snapshot/capture.mjs.map +1 -1
- package/dist/orchestrators/snapshot/descriptor.d.mts +1 -1
- package/dist/orchestrators/snapshot/descriptor.mjs +53 -11
- package/dist/orchestrators/snapshot/descriptor.mjs.map +1 -1
- package/dist/orchestrators/snapshot/identity-guard.mjs +3 -5
- package/dist/orchestrators/snapshot/identity-guard.mjs.map +1 -1
- package/dist/orchestrators/snapshot/image-bundle-tags.mjs +32 -101
- package/dist/orchestrators/snapshot/image-bundle-tags.mjs.map +1 -1
- package/dist/orchestrators/snapshot/index.mjs +1 -4
- package/dist/orchestrators/snapshot/integrity.mjs.map +1 -1
- package/dist/orchestrators/snapshot/interrupted-restore.mjs +116 -0
- package/dist/orchestrators/snapshot/interrupted-restore.mjs.map +1 -0
- package/dist/orchestrators/snapshot/phase-error.mjs.map +1 -1
- package/dist/orchestrators/snapshot/prune.mjs +40 -31
- package/dist/orchestrators/snapshot/prune.mjs.map +1 -1
- package/dist/orchestrators/snapshot/restore.mjs +221 -196
- package/dist/orchestrators/snapshot/restore.mjs.map +1 -1
- package/dist/orchestrators/snapshot/service.mjs +72 -62
- package/dist/orchestrators/snapshot/service.mjs.map +1 -1
- package/dist/orchestrators/snapshot/wipe.mjs +67 -56
- package/dist/orchestrators/snapshot/wipe.mjs.map +1 -1
- package/dist/plugins/account/codegen.mjs +3 -0
- package/dist/plugins/account/codegen.mjs.map +1 -1
- package/dist/plugins/account/errors.d.mts +2 -2
- package/dist/plugins/account/errors.mjs +1 -4
- package/dist/plugins/account/errors.mjs.map +1 -1
- package/dist/plugins/account/funding.mjs +3 -27
- package/dist/plugins/account/funding.mjs.map +1 -1
- package/dist/plugins/account/index.d.mts +3 -8
- package/dist/plugins/account/index.mjs +71 -35
- package/dist/plugins/account/index.mjs.map +1 -1
- package/dist/plugins/account/keypair.d.mts +8 -7
- package/dist/plugins/account/keypair.mjs +5 -18
- package/dist/plugins/account/keypair.mjs.map +1 -1
- package/dist/plugins/account/lease.mjs.map +1 -1
- package/dist/plugins/account/registry.d.mts +1 -46
- package/dist/plugins/account/registry.mjs.map +1 -1
- package/dist/plugins/account/service.d.mts +43 -34
- package/dist/plugins/account/service.mjs +9 -54
- package/dist/plugins/account/service.mjs.map +1 -1
- package/dist/plugins/account/snapshot.mjs.map +1 -1
- package/dist/plugins/account/variants/ephemeral.mjs.map +1 -1
- package/dist/plugins/account/variants/impersonate.mjs.map +1 -1
- package/dist/plugins/account/variants/signer.mjs.map +1 -1
- package/dist/plugins/action/discriminator.mjs.map +1 -1
- package/dist/plugins/action/errors.mjs +1 -4
- package/dist/plugins/action/errors.mjs.map +1 -1
- package/dist/plugins/action/execute.mjs +3 -4
- package/dist/plugins/action/execute.mjs.map +1 -1
- package/dist/plugins/action/index.d.mts +2 -2
- package/dist/plugins/action/index.mjs +7 -11
- package/dist/plugins/action/index.mjs.map +1 -1
- package/dist/plugins/action/service.d.mts +5 -7
- package/dist/plugins/action/service.mjs +2 -16
- package/dist/plugins/action/service.mjs.map +1 -1
- package/dist/plugins/coin/address-resolution.mjs.map +1 -1
- package/dist/plugins/coin/codegen.mjs +97 -16
- package/dist/plugins/coin/codegen.mjs.map +1 -1
- package/dist/plugins/coin/discovery.mjs.map +1 -1
- package/dist/plugins/coin/errors.mjs +1 -4
- package/dist/plugins/coin/errors.mjs.map +1 -1
- package/dist/plugins/coin/index.d.mts +4 -34
- package/dist/plugins/coin/index.mjs +47 -28
- package/dist/plugins/coin/index.mjs.map +1 -1
- package/dist/plugins/coin/metadata.d.mts +1 -0
- package/dist/plugins/coin/metadata.mjs +8 -9
- package/dist/plugins/coin/metadata.mjs.map +1 -1
- package/dist/plugins/coin/mint.mjs +7 -21
- package/dist/plugins/coin/mint.mjs.map +1 -1
- package/dist/plugins/coin/registry.mjs +33 -20
- package/dist/plugins/coin/registry.mjs.map +1 -1
- package/dist/plugins/coin/service.d.mts +1 -1
- package/dist/plugins/coin/service.mjs +1 -8
- package/dist/plugins/coin/service.mjs.map +1 -1
- package/dist/plugins/coin/snapshot.mjs.map +1 -1
- package/dist/plugins/coin/type-strings.mjs.map +1 -1
- package/dist/plugins/dashboard/domain.mjs +106 -167
- package/dist/plugins/dashboard/domain.mjs.map +1 -1
- package/dist/plugins/dashboard/index.mjs +13 -13
- package/dist/plugins/dashboard/index.mjs.map +1 -1
- package/dist/plugins/dashboard/origin-policy.mjs +3 -3
- package/dist/plugins/dashboard/origin-policy.mjs.map +1 -1
- package/dist/plugins/dashboard/routable.mjs.map +1 -1
- package/dist/plugins/dashboard/schema/builder.mjs.map +1 -1
- package/dist/plugins/dashboard/schema/enums.mjs.map +1 -1
- package/dist/plugins/dashboard/schema/root.mjs +23 -44
- package/dist/plugins/dashboard/schema/root.mjs.map +1 -1
- package/dist/plugins/dashboard/schema/types.mjs +37 -91
- package/dist/plugins/dashboard/schema/types.mjs.map +1 -1
- package/dist/plugins/dashboard/schema.mjs.map +1 -1
- package/dist/plugins/dashboard/server.mjs.map +1 -1
- package/dist/plugins/deepbook/codegen.d.mts +12 -11
- package/dist/plugins/deepbook/codegen.mjs +108 -11
- package/dist/plugins/deepbook/codegen.mjs.map +1 -1
- package/dist/plugins/deepbook/deploy.mjs +7 -14
- package/dist/plugins/deepbook/deploy.mjs.map +1 -1
- package/dist/plugins/deepbook/errors.mjs +4 -2
- package/dist/plugins/deepbook/errors.mjs.map +1 -1
- package/dist/plugins/deepbook/faucet-strategy.mjs +4 -10
- package/dist/plugins/deepbook/faucet-strategy.mjs.map +1 -1
- package/dist/plugins/deepbook/hash.mjs.map +1 -1
- package/dist/plugins/deepbook/index.d.mts +38 -34
- package/dist/plugins/deepbook/index.mjs +133 -64
- package/dist/plugins/deepbook/index.mjs.map +1 -1
- package/dist/plugins/deepbook/plugin-key.mjs.map +1 -1
- package/dist/plugins/deepbook/pyth/index.mjs +4 -8
- package/dist/plugins/deepbook/pyth/index.mjs.map +1 -1
- package/dist/plugins/deepbook/snapshot.mjs +0 -1
- package/dist/plugins/deepbook/snapshot.mjs.map +1 -1
- package/dist/plugins/deepbook/type-strings.mjs.map +1 -1
- package/dist/plugins/deepbook/types.d.mts +2 -1
- package/dist/plugins/deepbook/types.mjs.map +1 -1
- package/dist/plugins/faucet/dispatcher.d.mts +3 -3
- package/dist/plugins/faucet/dispatcher.mjs.map +1 -1
- package/dist/plugins/faucet/errors.mjs.map +1 -1
- package/dist/plugins/faucet/http.mjs +2 -10
- package/dist/plugins/faucet/http.mjs.map +1 -1
- package/dist/plugins/faucet/index.mjs +0 -1
- package/dist/plugins/faucet/index.mjs.map +1 -1
- package/dist/plugins/host-service/errors.d.mts +1 -3
- package/dist/plugins/host-service/errors.mjs +1 -2
- package/dist/plugins/host-service/errors.mjs.map +1 -1
- package/dist/plugins/host-service/index.d.mts +1 -2
- package/dist/plugins/host-service/index.mjs +11 -11
- package/dist/plugins/host-service/index.mjs.map +1 -1
- package/dist/plugins/host-service/routable.mjs.map +1 -1
- package/dist/plugins/host-service/service.mjs +13 -13
- package/dist/plugins/host-service/service.mjs.map +1 -1
- package/dist/plugins/internal/acquire-on-chain-artifact.mjs.map +1 -1
- package/dist/plugins/internal/codegen-helpers.mjs +2 -0
- package/dist/plugins/internal/codegen-helpers.mjs.map +1 -1
- package/dist/plugins/internal/funding-failure-error.mjs.map +1 -1
- package/dist/plugins/{postgres → internal/postgres-sidecar}/connection.mjs +1 -1
- package/dist/plugins/internal/postgres-sidecar/connection.mjs.map +1 -0
- package/dist/plugins/{postgres → internal/postgres-sidecar}/db-ensure.mjs +30 -16
- package/dist/plugins/internal/postgres-sidecar/db-ensure.mjs.map +1 -0
- package/dist/plugins/internal/postgres-sidecar/errors.mjs +21 -0
- package/dist/plugins/internal/postgres-sidecar/errors.mjs.map +1 -0
- package/dist/{substrate/runtime/scoped-multimap → plugins/internal/postgres-sidecar}/index.mjs +1 -0
- package/dist/plugins/internal/postgres-sidecar/service.mjs +121 -0
- package/dist/plugins/internal/postgres-sidecar/service.mjs.map +1 -0
- package/dist/plugins/package/build.mjs +2 -2
- package/dist/plugins/package/build.mjs.map +1 -1
- package/dist/plugins/package/codegen.d.mts +7 -14
- package/dist/plugins/package/codegen.mjs +187 -59
- package/dist/plugins/package/codegen.mjs.map +1 -1
- package/dist/plugins/package/dep-resolution.mjs +51 -3
- package/dist/plugins/package/dep-resolution.mjs.map +1 -1
- package/dist/plugins/package/errors.mjs +1 -4
- package/dist/plugins/package/errors.mjs.map +1 -1
- package/dist/plugins/package/git-source.d.mts +18 -0
- package/dist/plugins/package/git-source.mjs +119 -0
- package/dist/plugins/package/git-source.mjs.map +1 -0
- package/dist/plugins/package/index.d.mts +28 -19
- package/dist/plugins/package/index.mjs +107 -32
- package/dist/plugins/package/index.mjs.map +1 -1
- package/dist/plugins/package/mode-known.mjs +2 -2
- package/dist/plugins/package/mode-known.mjs.map +1 -1
- package/dist/plugins/package/mode-local.mjs +18 -35
- package/dist/plugins/package/mode-local.mjs.map +1 -1
- package/dist/plugins/package/publish-executor.mjs +13 -8
- package/dist/plugins/package/publish-executor.mjs.map +1 -1
- package/dist/plugins/package/publish-output.d.mts +1 -11
- package/dist/plugins/package/publish-output.mjs +1 -9
- package/dist/plugins/package/publish-output.mjs.map +1 -1
- package/dist/plugins/package/registry.d.mts +1 -1
- package/dist/plugins/package/registry.mjs +26 -14
- package/dist/plugins/package/registry.mjs.map +1 -1
- package/dist/plugins/package/service.mjs.map +1 -1
- package/dist/plugins/package/snapshot.mjs.map +1 -1
- package/dist/plugins/router-entrypoints.mjs +1 -3
- package/dist/plugins/router-entrypoints.mjs.map +1 -1
- package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs +1 -2
- package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs.map +1 -1
- package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs +1 -6
- package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs.map +1 -1
- package/dist/plugins/seal/codegen.d.mts +1 -5
- package/dist/plugins/seal/codegen.mjs +83 -12
- package/dist/plugins/seal/codegen.mjs.map +1 -1
- package/dist/plugins/seal/config-render.mjs +2 -6
- package/dist/plugins/seal/config-render.mjs.map +1 -1
- package/dist/plugins/seal/deploy.mjs +18 -29
- package/dist/plugins/seal/deploy.mjs.map +1 -1
- package/dist/plugins/seal/errors.d.mts +4 -5
- package/dist/plugins/seal/errors.mjs +1 -8
- package/dist/plugins/seal/errors.mjs.map +1 -1
- package/dist/plugins/seal/index.d.mts +7 -28
- package/dist/plugins/seal/index.mjs +69 -47
- package/dist/plugins/seal/index.mjs.map +1 -1
- package/dist/plugins/seal/key-manager.mjs.map +1 -1
- package/dist/plugins/seal/key-server.mjs +1 -6
- package/dist/plugins/seal/key-server.mjs.map +1 -1
- package/dist/plugins/seal/keygen.mjs +2 -3
- package/dist/plugins/seal/keygen.mjs.map +1 -1
- package/dist/plugins/seal/mode/fork-known.mjs.map +1 -1
- package/dist/plugins/seal/mode/live.mjs +1 -1
- package/dist/plugins/seal/mode/live.mjs.map +1 -1
- package/dist/plugins/seal/mode/local-keygen.mjs +4 -10
- package/dist/plugins/seal/mode/local-keygen.mjs.map +1 -1
- package/dist/plugins/seal/plugin-key.mjs.map +1 -1
- package/dist/plugins/seal/registry-publish.mjs.map +1 -1
- package/dist/plugins/seal/routable.mjs.map +1 -1
- package/dist/plugins/seal/service.mjs.map +1 -1
- package/dist/plugins/seal/snapshot.mjs +1 -2
- package/dist/plugins/seal/snapshot.mjs.map +1 -1
- package/dist/plugins/sui/auto-tick.mjs +5 -5
- package/dist/plugins/sui/auto-tick.mjs.map +1 -1
- package/dist/plugins/sui/chain-build-container.mjs +2 -2
- package/dist/plugins/sui/chain-build-container.mjs.map +1 -1
- package/dist/plugins/sui/chain-probe.mjs +4 -4
- package/dist/plugins/sui/chain-probe.mjs.map +1 -1
- package/dist/plugins/sui/codegen.d.mts +9 -7
- package/dist/plugins/sui/codegen.mjs +49 -46
- package/dist/plugins/sui/codegen.mjs.map +1 -1
- package/dist/plugins/sui/errors.d.mts +1 -1
- package/dist/plugins/sui/errors.mjs +1 -9
- package/dist/plugins/sui/errors.mjs.map +1 -1
- package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/index.d.mts +1 -1
- package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/index.mjs +3 -7
- package/dist/plugins/sui/exec/index.mjs.map +1 -0
- package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/sign-and-dispatch.mjs +1 -1
- package/dist/plugins/sui/exec/sign-and-dispatch.mjs.map +1 -0
- package/dist/plugins/sui/fork-faucet-strategy.mjs +2 -6
- package/dist/plugins/sui/fork-faucet-strategy.mjs.map +1 -1
- package/dist/plugins/sui/fork-orchestration.mjs +13 -23
- package/dist/plugins/sui/fork-orchestration.mjs.map +1 -1
- package/dist/plugins/sui/fork-transaction.mjs.map +1 -1
- package/dist/plugins/sui/index.d.mts +34 -83
- package/dist/plugins/sui/index.mjs +200 -68
- package/dist/plugins/sui/index.mjs.map +1 -1
- package/dist/{substrate/runtime/sui-ledger → plugins/sui/ledger}/object-ref.mjs +1 -1
- package/dist/plugins/sui/ledger/object-ref.mjs.map +1 -0
- package/dist/plugins/sui/local-faucet-strategy.mjs +1 -5
- package/dist/plugins/sui/local-faucet-strategy.mjs.map +1 -1
- package/dist/plugins/sui/log-attrs.mjs +11 -0
- package/dist/plugins/sui/log-attrs.mjs.map +1 -0
- package/dist/plugins/sui/mode/external.mjs +4 -12
- package/dist/plugins/sui/mode/external.mjs.map +1 -1
- package/dist/plugins/sui/mode/fork.mjs +19 -16
- package/dist/plugins/sui/mode/fork.mjs.map +1 -1
- package/dist/plugins/sui/mode/live.mjs +4 -17
- package/dist/plugins/sui/mode/live.mjs.map +1 -1
- package/dist/plugins/sui/mode/local.d.mts +1 -0
- package/dist/plugins/sui/mode/local.mjs +203 -61
- package/dist/plugins/sui/mode/local.mjs.map +1 -1
- package/dist/plugins/sui/mode/shared-boot.mjs +18 -23
- package/dist/plugins/sui/mode/shared-boot.mjs.map +1 -1
- package/dist/plugins/sui/mode/shared.d.mts +6 -7
- package/dist/plugins/sui/mode/shared.mjs.map +1 -1
- package/dist/plugins/sui/mode/spec.d.mts +23 -6
- package/dist/{substrate/runtime/sui-move-build → plugins/sui/move}/index.mjs +28 -30
- package/dist/plugins/sui/move/index.mjs.map +1 -0
- package/dist/plugins/sui/move-summary-runner.mjs +8 -4
- package/dist/plugins/sui/move-summary-runner.mjs.map +1 -1
- package/dist/{substrate/network.d.mts → plugins/sui/network-config.d.mts} +11 -10
- package/dist/plugins/sui/network-resolver.d.mts +6 -6
- package/dist/plugins/sui/routable.mjs.map +1 -1
- package/dist/plugins/sui/service.mjs +10 -6
- package/dist/plugins/sui/service.mjs.map +1 -1
- package/dist/plugins/sui/snapshot.mjs +10 -5
- package/dist/plugins/sui/snapshot.mjs.map +1 -1
- package/dist/plugins/wallet/codegen.d.mts +8 -6
- package/dist/plugins/wallet/codegen.mjs +4 -10
- package/dist/plugins/wallet/codegen.mjs.map +1 -1
- package/dist/plugins/wallet/errors.mjs +1 -4
- package/dist/plugins/wallet/errors.mjs.map +1 -1
- package/dist/plugins/wallet/index.d.mts +3 -6
- package/dist/plugins/wallet/index.mjs +16 -21
- package/dist/plugins/wallet/index.mjs.map +1 -1
- package/dist/plugins/wallet/origin-policy.mjs +3 -3
- package/dist/plugins/wallet/origin-policy.mjs.map +1 -1
- package/dist/plugins/wallet/pairing.mjs +6 -24
- package/dist/plugins/wallet/pairing.mjs.map +1 -1
- package/dist/plugins/wallet/protocol.mjs.map +1 -1
- package/dist/plugins/wallet/routable.mjs.map +1 -1
- package/dist/plugins/wallet/server.mjs +17 -24
- package/dist/plugins/wallet/server.mjs.map +1 -1
- package/dist/plugins/wallet/service.d.mts +2 -2
- package/dist/plugins/wallet/service.mjs +4 -15
- package/dist/plugins/wallet/service.mjs.map +1 -1
- package/dist/plugins/wallet/snapshot.mjs.map +1 -1
- package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs +1 -5
- package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs.map +1 -1
- package/dist/plugins/walrus/codegen.d.mts +2 -13
- package/dist/plugins/walrus/codegen.mjs +93 -28
- package/dist/plugins/walrus/codegen.mjs.map +1 -1
- package/dist/plugins/walrus/deploy-paths.mjs +2 -3
- package/dist/plugins/walrus/deploy-paths.mjs.map +1 -1
- package/dist/plugins/walrus/deploy.mjs +26 -19
- package/dist/plugins/walrus/deploy.mjs.map +1 -1
- package/dist/plugins/walrus/errors.mjs +1 -8
- package/dist/plugins/walrus/errors.mjs.map +1 -1
- package/dist/plugins/walrus/faucet-strategy.mjs +15 -1
- package/dist/plugins/walrus/faucet-strategy.mjs.map +1 -1
- package/dist/plugins/walrus/index.d.mts +13 -44
- package/dist/plugins/walrus/index.mjs +119 -122
- package/dist/plugins/walrus/index.mjs.map +1 -1
- package/dist/plugins/walrus/mode/known-deploy.mjs +6 -6
- package/dist/plugins/walrus/mode/known-deploy.mjs.map +1 -1
- package/dist/plugins/walrus/mode/local-cluster.d.mts +2 -2
- package/dist/plugins/walrus/mode/local-cluster.mjs +2 -10
- package/dist/plugins/walrus/mode/local-cluster.mjs.map +1 -1
- package/dist/plugins/walrus/plugin-key.mjs.map +1 -1
- package/dist/plugins/walrus/registry-publish.mjs.map +1 -1
- package/dist/plugins/walrus/routable.mjs.map +1 -1
- package/dist/plugins/walrus/service.mjs.map +1 -1
- package/dist/plugins/walrus/snapshot.mjs +3 -3
- package/dist/plugins/walrus/snapshot.mjs.map +1 -1
- package/dist/plugins/walrus/storage-nodes.mjs +53 -14
- package/dist/plugins/walrus/storage-nodes.mjs.map +1 -1
- package/dist/plugins/walrus/wal-swap.mjs +4 -8
- package/dist/plugins/walrus/wal-swap.mjs.map +1 -1
- package/dist/primitives/artifact-publisher.mjs.map +1 -1
- package/dist/primitives/cache.d.mts +1 -1
- package/dist/runtime/docker/client.mjs +47 -3
- package/dist/runtime/docker/client.mjs.map +1 -1
- package/dist/runtime/docker/container.mjs +37 -57
- package/dist/runtime/docker/container.mjs.map +1 -1
- package/dist/runtime/docker/errors.mjs.map +1 -1
- package/dist/runtime/docker/exec.mjs +2 -2
- package/dist/runtime/docker/exec.mjs.map +1 -1
- package/dist/runtime/docker/image.mjs +10 -11
- package/dist/runtime/docker/image.mjs.map +1 -1
- package/dist/runtime/docker/index.mjs +0 -1
- package/dist/runtime/docker/inspect-and-decode.mjs.map +1 -1
- package/dist/runtime/docker/inventory.mjs +9 -9
- package/dist/runtime/docker/inventory.mjs.map +1 -1
- package/dist/runtime/docker/labels.mjs +12 -1
- package/dist/runtime/docker/labels.mjs.map +1 -1
- package/dist/runtime/docker/network.mjs +6 -6
- package/dist/runtime/docker/network.mjs.map +1 -1
- package/dist/runtime/docker/render-run-args.mjs.map +1 -1
- package/dist/runtime/docker/service.mjs +31 -45
- package/dist/runtime/docker/service.mjs.map +1 -1
- package/dist/runtime/docker/sweep.mjs +14 -64
- package/dist/runtime/docker/sweep.mjs.map +1 -1
- package/dist/runtime/docker/volume.mjs +1 -1
- package/dist/runtime/docker/volume.mjs.map +1 -1
- package/dist/runtime/docker/wrap.mjs +14 -2
- package/dist/runtime/docker/wrap.mjs.map +1 -1
- package/dist/substrate/brand.d.mts +2 -5
- package/dist/substrate/brand.mjs +3 -2
- package/dist/substrate/brand.mjs.map +1 -1
- package/dist/substrate/cross-process.mjs +2 -16
- package/dist/substrate/cross-process.mjs.map +1 -1
- package/dist/substrate/event-time.mjs +0 -2
- package/dist/substrate/event-time.mjs.map +1 -1
- package/dist/substrate/events.d.mts +46 -16
- package/dist/substrate/identity.d.mts +11 -5
- package/dist/substrate/manifest.d.mts +33 -26
- package/dist/substrate/manifest.mjs +8 -3
- package/dist/substrate/manifest.mjs.map +1 -1
- package/dist/substrate/options.d.mts +33 -4
- package/dist/substrate/plugin-ctx.d.mts +70 -0
- package/dist/substrate/plugin-ctx.mjs +66 -0
- package/dist/substrate/plugin-ctx.mjs.map +1 -0
- package/dist/substrate/plugin.d.mts +46 -38
- package/dist/substrate/plugin.mjs +13 -9
- package/dist/substrate/plugin.mjs.map +1 -1
- package/dist/substrate/projection.d.mts +1 -1
- package/dist/substrate/runtime/atomic-write.mjs +3 -4
- package/dist/substrate/runtime/atomic-write.mjs.map +1 -1
- package/dist/substrate/runtime/cache/schema.mjs.map +1 -1
- package/dist/substrate/runtime/cache/service.mjs +50 -20
- package/dist/substrate/runtime/cache/service.mjs.map +1 -1
- package/dist/substrate/runtime/config-validation.mjs.map +1 -1
- package/dist/substrate/runtime/control-plane/domain.mjs +34 -12
- package/dist/substrate/runtime/control-plane/domain.mjs.map +1 -1
- package/dist/substrate/runtime/control-plane/service.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/command-channel/channel.mjs +14 -17
- package/dist/substrate/runtime/cross-process/command-channel/channel.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/command-channel/file-channel.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/command-channel/protocol.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/command-channel/runtime-control-lock.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/index.mjs +0 -2
- package/dist/substrate/runtime/cross-process/live-clock.mjs +1 -1
- package/dist/substrate/runtime/cross-process/live-clock.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/liveness.mjs +11 -18
- package/dist/substrate/runtime/cross-process/liveness.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/reclaim-stale-file.mjs +2 -2
- package/dist/substrate/runtime/cross-process/reclaim-stale-file.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/roster.mjs +17 -127
- package/dist/substrate/runtime/cross-process/roster.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/self-pid.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/stack-lock.mjs +29 -28
- package/dist/substrate/runtime/cross-process/stack-lock.mjs.map +1 -1
- package/dist/substrate/runtime/current-plugin.mjs.map +1 -1
- package/dist/substrate/runtime/errors.mjs +1 -13
- package/dist/substrate/runtime/errors.mjs.map +1 -1
- package/dist/substrate/runtime/format-unknown-error.mjs.map +1 -1
- package/dist/substrate/runtime/host-bind-mount-owner.mjs.map +1 -1
- package/dist/substrate/runtime/host-gateway.mjs.map +1 -1
- package/dist/substrate/runtime/host-tree-tar/index.mjs +15 -163
- package/dist/substrate/runtime/host-tree-tar/index.mjs.map +1 -1
- package/dist/substrate/runtime/http-probe.d.mts +1 -3
- package/dist/substrate/runtime/http-probe.mjs.map +1 -1
- package/dist/substrate/runtime/index.mjs +1 -6
- package/dist/substrate/runtime/lease-broker/service.mjs +5 -23
- package/dist/substrate/runtime/lease-broker/service.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/dep-graph.mjs +3 -3
- package/dist/substrate/runtime/lifecycle/dep-graph.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/graph-input-id.d.mts +1 -0
- package/dist/substrate/runtime/lifecycle/graph-input-id.mjs +133 -0
- package/dist/substrate/runtime/lifecycle/graph-input-id.mjs.map +1 -0
- package/dist/substrate/runtime/lifecycle/index.mjs +2 -2
- package/dist/substrate/runtime/lifecycle/plugin-registry.d.mts +1 -1
- package/dist/substrate/runtime/lifecycle/plugin-registry.mjs +22 -1
- package/dist/substrate/runtime/lifecycle/plugin-registry.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/ready-gate.mjs +2 -15
- package/dist/substrate/runtime/lifecycle/ready-gate.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/selective-restart.mjs +29 -25
- package/dist/substrate/runtime/lifecycle/selective-restart.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/signals.mjs +1 -1
- package/dist/substrate/runtime/lifecycle/signals.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/state-machine.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/watch-attribution.d.mts +1 -1
- package/dist/substrate/runtime/lifecycle/watch-attribution.mjs +0 -1
- package/dist/substrate/runtime/lifecycle/watch-attribution.mjs.map +1 -1
- package/dist/substrate/runtime/managed-container.d.mts +5 -1
- package/dist/substrate/runtime/managed-container.mjs +8 -10
- package/dist/substrate/runtime/managed-container.mjs.map +1 -1
- package/dist/substrate/runtime/manifest/manifest.mjs +8 -30
- package/dist/substrate/runtime/manifest/manifest.mjs.map +1 -1
- package/dist/substrate/runtime/mode-errors.d.mts +1 -2
- package/dist/substrate/runtime/mode-errors.mjs.map +1 -1
- package/dist/substrate/runtime/observability/cascade-formatter.mjs +1 -11
- package/dist/substrate/runtime/observability/cascade-formatter.mjs.map +1 -1
- package/dist/substrate/runtime/observability/ignore-with-log.mjs.map +1 -1
- package/dist/substrate/runtime/observability/index.d.mts +1 -1
- package/dist/substrate/runtime/observability/index.mjs +4 -6
- package/dist/substrate/runtime/observability/log-attrs.mjs +46 -0
- package/dist/substrate/runtime/observability/log-attrs.mjs.map +1 -0
- package/dist/substrate/runtime/observability/log-store.mjs.map +1 -1
- package/dist/substrate/runtime/observability/logger.mjs +3 -3
- package/dist/substrate/runtime/observability/logger.mjs.map +1 -1
- package/dist/substrate/runtime/observability/output-truncate.mjs.map +1 -1
- package/dist/substrate/runtime/observability/pretty-error.mjs.map +1 -1
- package/dist/substrate/runtime/observability/process-lines.mjs.map +1 -1
- package/dist/substrate/runtime/observability/redaction.mjs.map +1 -1
- package/dist/substrate/runtime/observability/subprocess-capture.mjs +2 -2
- package/dist/substrate/runtime/observability/subprocess-capture.mjs.map +1 -1
- package/dist/substrate/runtime/passthrough-or-wrap.mjs.map +1 -1
- package/dist/substrate/runtime/paths.mjs +27 -9
- package/dist/substrate/runtime/paths.mjs.map +1 -1
- package/dist/substrate/runtime/phase-preserving-produce.mjs.map +1 -1
- package/dist/substrate/runtime/port-broker/service.mjs +10 -27
- package/dist/substrate/runtime/port-broker/service.mjs.map +1 -1
- package/dist/substrate/runtime/post-acquire-tasks.mjs.map +1 -1
- package/dist/substrate/runtime/probes.d.mts +2 -3
- package/dist/substrate/runtime/probes.mjs.map +1 -1
- package/dist/substrate/runtime/process-supervisor.mjs.map +1 -1
- package/dist/substrate/runtime/projection/operational-endpoints.mjs.map +1 -1
- package/dist/substrate/runtime/projection/state-ref.mjs.map +1 -1
- package/dist/substrate/runtime/projection/update.mjs +87 -11
- package/dist/substrate/runtime/projection/update.mjs.map +1 -1
- package/dist/substrate/runtime/random-suffix.mjs.map +1 -1
- package/dist/substrate/runtime/reconcile/fs-plan.mjs +146 -0
- package/dist/substrate/runtime/reconcile/fs-plan.mjs.map +1 -0
- package/dist/substrate/runtime/reconcile/graph.mjs +19 -0
- package/dist/substrate/runtime/reconcile/graph.mjs.map +1 -0
- package/dist/substrate/runtime/reconcile/index.mjs +5 -0
- package/dist/substrate/runtime/reconcile/label.mjs +41 -0
- package/dist/substrate/runtime/reconcile/label.mjs.map +1 -0
- package/dist/substrate/runtime/reconcile/spec.mjs +15 -0
- package/dist/substrate/runtime/reconcile/spec.mjs.map +1 -0
- package/dist/substrate/runtime/retry-policy.d.mts +2 -3
- package/dist/substrate/runtime/retry-policy.mjs.map +1 -1
- package/dist/substrate/runtime/routed-url.mjs.map +1 -1
- package/dist/substrate/runtime/runtime-decode.mjs.map +1 -1
- package/dist/substrate/runtime/scoped-http-server.mjs.map +1 -1
- package/dist/substrate/runtime/stage-and-swap/index.mjs +49 -12
- package/dist/substrate/runtime/stage-and-swap/index.mjs.map +1 -1
- package/dist/substrate/runtime/strategy-registry/chain-keyed-strategy-for.mjs.map +1 -1
- package/dist/substrate/runtime/strategy-registry/chain-probe-for.mjs.map +1 -1
- package/dist/substrate/runtime/strategy-registry/service.mjs +29 -17
- package/dist/substrate/runtime/strategy-registry/service.mjs.map +1 -1
- package/dist/substrate/runtime/subnet-broker.mjs.map +1 -1
- package/dist/substrate/runtime/supervisor/acquire-node.mjs +188 -56
- package/dist/substrate/runtime/supervisor/acquire-node.mjs.map +1 -1
- package/dist/substrate/runtime/supervisor/background-tasks.mjs +79 -65
- package/dist/substrate/runtime/supervisor/background-tasks.mjs.map +1 -1
- package/dist/substrate/runtime/supervisor/command-loop.mjs +82 -23
- package/dist/substrate/runtime/supervisor/command-loop.mjs.map +1 -1
- package/dist/substrate/runtime/supervisor/contribution-dispatcher.mjs +16 -0
- package/dist/substrate/runtime/supervisor/contribution-dispatcher.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor/errors.mjs +11 -2
- package/dist/substrate/runtime/supervisor/errors.mjs.map +1 -1
- package/dist/substrate/runtime/supervisor/index.mjs +2 -0
- package/dist/substrate/runtime/supervisor/shutdown.mjs +6 -6
- package/dist/substrate/runtime/supervisor/shutdown.mjs.map +1 -1
- package/dist/substrate/runtime/supervisor/start-supervisor.mjs +60 -70
- package/dist/substrate/runtime/supervisor/start-supervisor.mjs.map +1 -1
- package/dist/substrate/runtime/supervisor/state.d.mts +1 -1
- package/dist/substrate/runtime/supervisor/state.mjs +1 -1
- package/dist/substrate/runtime/supervisor/state.mjs.map +1 -1
- package/dist/substrate/runtime/supervisor/teardown.mjs +10 -9
- package/dist/substrate/runtime/supervisor/teardown.mjs.map +1 -1
- package/dist/substrate/runtime/supervisor/wiring.mjs +6 -20
- package/dist/substrate/runtime/supervisor/wiring.mjs.map +1 -1
- package/dist/substrate/runtime/tar/reader.mjs +216 -0
- package/dist/substrate/runtime/tar/reader.mjs.map +1 -0
- package/dist/substrate/runtime/typed-env.mjs.map +1 -1
- package/dist/substrate/versioned-doc-schema.mjs.map +1 -1
- package/dist/substrate/versioned-doc-sync.mjs +5 -5
- package/dist/substrate/versioned-doc-sync.mjs.map +1 -1
- package/dist/surfaces/cli/command-tree.mjs +49 -7
- package/dist/surfaces/cli/command-tree.mjs.map +1 -1
- package/dist/surfaces/cli/commands/config.mjs +1 -1
- package/dist/surfaces/cli/commands/config.mjs.map +1 -1
- package/dist/surfaces/cli/commands/confirm-node.mjs.map +1 -1
- package/dist/surfaces/cli/commands/confirm.mjs.map +1 -1
- package/dist/surfaces/cli/commands/doctor.mjs +1 -1
- package/dist/surfaces/cli/commands/doctor.mjs.map +1 -1
- package/dist/surfaces/cli/commands/prune-picker-entry.mjs.map +1 -1
- package/dist/surfaces/cli/commands/prune-picker.mjs.map +1 -1
- package/dist/surfaces/cli/commands/prune.mjs +1 -1
- package/dist/surfaces/cli/commands/prune.mjs.map +1 -1
- package/dist/surfaces/cli/commands/snapshot.mjs +1 -1
- package/dist/surfaces/cli/commands/snapshot.mjs.map +1 -1
- package/dist/surfaces/cli/commands/status.mjs +1 -1
- package/dist/surfaces/cli/commands/status.mjs.map +1 -1
- package/dist/surfaces/cli/commands/supervisor-presence.mjs.map +1 -1
- package/dist/surfaces/cli/commands/wipe.mjs +3 -4
- package/dist/surfaces/cli/commands/wipe.mjs.map +1 -1
- package/dist/surfaces/cli/envelope.mjs.map +1 -1
- package/dist/surfaces/cli/errors.mjs.map +1 -1
- package/dist/surfaces/cli/flags.mjs.map +1 -1
- package/dist/surfaces/cli/index.mjs +45 -14
- package/dist/surfaces/cli/index.mjs.map +1 -1
- package/dist/surfaces/cli/output.mjs.map +1 -1
- package/dist/surfaces/cli/sysexits.mjs.map +1 -1
- package/dist/surfaces/tui/app.mjs +0 -21
- package/dist/surfaces/tui/app.mjs.map +1 -1
- package/dist/surfaces/tui/dashboard.mjs +0 -48
- package/dist/surfaces/tui/dashboard.mjs.map +1 -1
- package/dist/surfaces/tui/display-derivation.mjs +80 -16
- package/dist/surfaces/tui/display-derivation.mjs.map +1 -1
- package/dist/surfaces/tui/errors.mjs.map +1 -1
- package/dist/surfaces/tui/event-log.mjs +0 -9
- package/dist/surfaces/tui/event-log.mjs.map +1 -1
- package/dist/surfaces/tui/heartbeat.mjs.map +1 -1
- package/dist/surfaces/tui/index.mjs +2 -2
- package/dist/surfaces/tui/index.mjs.map +1 -1
- package/dist/surfaces/tui/input.mjs.map +1 -1
- package/dist/surfaces/tui/mode-detect.mjs.map +1 -1
- package/dist/surfaces/tui/mount-ink.mjs.map +1 -1
- package/dist/surfaces/tui/plain-renderer.mjs +26 -19
- package/dist/surfaces/tui/plain-renderer.mjs.map +1 -1
- package/dist/surfaces/tui/resource-table.mjs +8 -10
- package/dist/surfaces/tui/resource-table.mjs.map +1 -1
- package/images/postgres/Dockerfile +0 -1
- package/images/sui/Dockerfile +27 -54
- package/images/sui/entrypoint.sh +17 -179
- package/package.json +23 -15
- package/dashboard-ui/assets/index-Bmi1UtAg.js +0 -1356
- package/dashboard-ui/assets/index-D5EShVt4.js +0 -3
- package/dashboard-ui/assets/index-Deml9drg.css +0 -1
- package/dist/api/plugin-errors.d.mts +0 -7
- package/dist/api/plugin-errors.mjs +0 -10
- package/dist/api/plugin-errors.mjs.map +0 -1
- package/dist/cli/wirings/build-verb-layers.mjs +0 -42
- package/dist/cli/wirings/build-verb-layers.mjs.map +0 -1
- package/dist/contracts/capability-decl.d.mts +0 -40
- package/dist/orchestrators/built-in-plugin-layers.mjs +0 -54
- package/dist/orchestrators/built-in-plugin-layers.mjs.map +0 -1
- package/dist/orchestrators/run.mjs +0 -91
- package/dist/orchestrators/run.mjs.map +0 -1
- package/dist/orchestrators/runtime-composition.d.mts +0 -10
- package/dist/orchestrators/runtime-composition.mjs +0 -252
- package/dist/orchestrators/runtime-composition.mjs.map +0 -1
- package/dist/orchestrators/snapshot/capture-command.d.mts +0 -1
- package/dist/orchestrators/snapshot/capture-command.mjs +0 -25
- package/dist/orchestrators/snapshot/capture-command.mjs.map +0 -1
- package/dist/orchestrators/snapshot/pending-marker.mjs +0 -99
- package/dist/orchestrators/snapshot/pending-marker.mjs.map +0 -1
- package/dist/orchestrators/snapshot/recover-pending.mjs +0 -223
- package/dist/orchestrators/snapshot/recover-pending.mjs.map +0 -1
- package/dist/orchestrators/snapshot/state-document.d.mts +0 -1
- package/dist/orchestrators/snapshot/state-document.mjs +0 -58
- package/dist/orchestrators/snapshot/state-document.mjs.map +0 -1
- package/dist/plugins/account/spans.mjs +0 -16
- package/dist/plugins/account/spans.mjs.map +0 -1
- package/dist/plugins/account/variants/env.mjs +0 -24
- package/dist/plugins/account/variants/env.mjs.map +0 -1
- package/dist/plugins/account/variants/inline.mjs +0 -13
- package/dist/plugins/account/variants/inline.mjs.map +0 -1
- package/dist/plugins/account/variants/keystore.mjs +0 -91
- package/dist/plugins/account/variants/keystore.mjs.map +0 -1
- package/dist/plugins/action/spans.mjs +0 -11
- package/dist/plugins/action/spans.mjs.map +0 -1
- package/dist/plugins/coin/spans.mjs +0 -20
- package/dist/plugins/coin/spans.mjs.map +0 -1
- package/dist/plugins/deepbook/spans.mjs +0 -18
- package/dist/plugins/deepbook/spans.mjs.map +0 -1
- package/dist/plugins/faucet/spans.mjs +0 -12
- package/dist/plugins/faucet/spans.mjs.map +0 -1
- package/dist/plugins/package/spans.mjs +0 -14
- package/dist/plugins/package/spans.mjs.map +0 -1
- package/dist/plugins/postgres/codegen.mjs +0 -42
- package/dist/plugins/postgres/codegen.mjs.map +0 -1
- package/dist/plugins/postgres/connection.d.mts +0 -33
- package/dist/plugins/postgres/connection.mjs.map +0 -1
- package/dist/plugins/postgres/db-ensure.mjs.map +0 -1
- package/dist/plugins/postgres/errors.d.mts +0 -60
- package/dist/plugins/postgres/errors.mjs +0 -29
- package/dist/plugins/postgres/errors.mjs.map +0 -1
- package/dist/plugins/postgres/index.d.mts +0 -37
- package/dist/plugins/postgres/index.mjs +0 -68
- package/dist/plugins/postgres/index.mjs.map +0 -1
- package/dist/plugins/postgres/routable.mjs +0 -33
- package/dist/plugins/postgres/routable.mjs.map +0 -1
- package/dist/plugins/postgres/service.d.mts +0 -50
- package/dist/plugins/postgres/service.mjs +0 -179
- package/dist/plugins/postgres/service.mjs.map +0 -1
- package/dist/plugins/postgres/snapshot.mjs +0 -32
- package/dist/plugins/postgres/snapshot.mjs.map +0 -1
- package/dist/plugins/postgres/spans.mjs +0 -11
- package/dist/plugins/postgres/spans.mjs.map +0 -1
- package/dist/plugins/seal/spans.mjs +0 -18
- package/dist/plugins/seal/spans.mjs.map +0 -1
- package/dist/plugins/sui/spans.mjs +0 -17
- package/dist/plugins/sui/spans.mjs.map +0 -1
- package/dist/plugins/wallet/spans.mjs +0 -22
- package/dist/plugins/wallet/spans.mjs.map +0 -1
- package/dist/plugins/walrus/registry-publish.d.mts +0 -24
- package/dist/plugins/walrus/spans.mjs +0 -18
- package/dist/plugins/walrus/spans.mjs.map +0 -1
- package/dist/runtime/docker/logs.d.mts +0 -1
- package/dist/runtime/docker/logs.mjs +0 -34
- package/dist/runtime/docker/logs.mjs.map +0 -1
- package/dist/substrate/runtime/artifact-publisher/index.mjs +0 -86
- package/dist/substrate/runtime/artifact-publisher/index.mjs.map +0 -1
- package/dist/substrate/runtime/capability-sinks/index.d.mts +0 -1
- package/dist/substrate/runtime/capability-sinks/index.mjs +0 -3
- package/dist/substrate/runtime/capability-sinks/layer.d.mts +0 -1
- package/dist/substrate/runtime/capability-sinks/layer.mjs +0 -31
- package/dist/substrate/runtime/capability-sinks/layer.mjs.map +0 -1
- package/dist/substrate/runtime/capability-sinks/service.d.mts +0 -95
- package/dist/substrate/runtime/capability-sinks/service.mjs +0 -69
- package/dist/substrate/runtime/capability-sinks/service.mjs.map +0 -1
- package/dist/substrate/runtime/cross-process/lock.d.mts +0 -1
- package/dist/substrate/runtime/cross-process/lock.mjs +0 -23
- package/dist/substrate/runtime/cross-process/lock.mjs.map +0 -1
- package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs +0 -113
- package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs.map +0 -1
- package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs +0 -31
- package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs.map +0 -1
- package/dist/substrate/runtime/observability/formatter-registry.d.mts +0 -1
- package/dist/substrate/runtime/observability/formatter-registry.mjs +0 -48
- package/dist/substrate/runtime/observability/formatter-registry.mjs.map +0 -1
- package/dist/substrate/runtime/observability/span-store.d.mts +0 -1
- package/dist/substrate/runtime/observability/span-store.mjs +0 -110
- package/dist/substrate/runtime/observability/span-store.mjs.map +0 -1
- package/dist/substrate/runtime/observability/spans.d.mts +0 -1
- package/dist/substrate/runtime/observability/spans.mjs +0 -87
- package/dist/substrate/runtime/observability/spans.mjs.map +0 -1
- package/dist/substrate/runtime/projection/index.mjs +0 -4
- package/dist/substrate/runtime/projection/persisted.mjs +0 -213
- package/dist/substrate/runtime/projection/persisted.mjs.map +0 -1
- package/dist/substrate/runtime/scoped-multimap/service.mjs +0 -52
- package/dist/substrate/runtime/scoped-multimap/service.mjs.map +0 -1
- package/dist/substrate/runtime/scoped-ref-map/index.mjs +0 -2
- package/dist/substrate/runtime/scoped-ref-map/service.mjs +0 -83
- package/dist/substrate/runtime/scoped-ref-map/service.mjs.map +0 -1
- package/dist/substrate/runtime/state-store/index.mjs +0 -3
- package/dist/substrate/runtime/state-store/schema.d.mts +0 -1
- package/dist/substrate/runtime/state-store/schema.mjs +0 -41
- package/dist/substrate/runtime/state-store/schema.mjs.map +0 -1
- package/dist/substrate/runtime/state-store/service.d.mts +0 -1
- package/dist/substrate/runtime/state-store/service.mjs +0 -145
- package/dist/substrate/runtime/state-store/service.mjs.map +0 -1
- package/dist/substrate/runtime/sui-execute/index.mjs.map +0 -1
- package/dist/substrate/runtime/sui-execute/sign-and-dispatch.mjs.map +0 -1
- package/dist/substrate/runtime/sui-ledger/object-ref.mjs.map +0 -1
- package/dist/substrate/runtime/sui-move-build/index.mjs.map +0 -1
- package/dist/substrate/runtime/supervisor/dispatch-contributions.mjs +0 -151
- package/dist/substrate/runtime/supervisor/dispatch-contributions.mjs.map +0 -1
- package/dist/substrate/state-store.d.mts +0 -1
- /package/dist/orchestrators/{snapshot/pending-marker.d.mts → codegen/id-config.d.mts} +0 -0
- /package/dist/orchestrators/snapshot/{recover-pending.d.mts → interrupted-restore.d.mts} +0 -0
- /package/dist/{substrate/runtime/sui-execute → plugins/sui/exec}/sign-and-dispatch.d.mts +0 -0
- /package/dist/plugins/{postgres/snapshot.d.mts → sui/ledger/object-ref.d.mts} +0 -0
- /package/dist/{substrate/runtime/sui-move-build → plugins/sui/move}/index.d.mts +0 -0
- /package/dist/substrate/runtime/{state-store/index.d.mts → reconcile/graph.d.mts} +0 -0
- /package/dist/substrate/runtime/{cross-process/snapshot-reservation.d.mts → supervisor/contribution-dispatcher.d.mts} +0 -0
|
@@ -1,90 +1,61 @@
|
|
|
1
1
|
import { PlaywrightStackFixture as PlaywrightStackFixture$1 } from "../runtime/playwright-stack-context-slot.mjs";
|
|
2
2
|
import { ResolveStackContextOptions } from "./stack-context.mjs";
|
|
3
|
-
import * as _$effect_SchemaAST0 from "effect/SchemaAST";
|
|
4
3
|
|
|
5
4
|
//#region src/build-integrations/playwright/global-setup.d.ts
|
|
6
|
-
/** Playwright's `globalSetup` signature
|
|
7
|
-
*
|
|
8
|
-
* without `@playwright/test`. */
|
|
5
|
+
/** Playwright's `globalSetup` signature: a setup function that optionally
|
|
6
|
+
* returns a teardown function. We model it explicitly so the preset
|
|
7
|
+
* compiles without `@playwright/test`. */
|
|
9
8
|
type PlaywrightGlobalSetup = () => Promise<void | (() => Promise<void>)>;
|
|
10
9
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* from a worker process.
|
|
16
|
-
*
|
|
17
|
-
* Re-export of the substrate-owned `runtime/playwright-stack-context-slot`
|
|
18
|
-
* shape so both consumer surfaces agree on one type. The matching
|
|
19
|
-
* typed `declare global` block lives next to the slot key so callers
|
|
20
|
-
* can read/write `globalThis[KEY]` without a cast.
|
|
10
|
+
* Re-export of the substrate-owned fixture shape (the slot global-setup
|
|
11
|
+
* stashes for in-runner helpers). Spec WORKERS don't see this globalThis
|
|
12
|
+
* slot — they read the manifest off disk — but in-runner code and a
|
|
13
|
+
* single-process driver do.
|
|
21
14
|
*/
|
|
22
15
|
type PlaywrightStackFixture = PlaywrightStackFixture$1;
|
|
23
16
|
interface DefineGlobalSetupOptions extends ResolveStackContextOptions {
|
|
24
|
-
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
readonly
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
17
|
+
/** Stack to boot. Default: `DEVSTACK_STACK` if set, else `'test'`.
|
|
18
|
+
* (Browser e2e examples set `DEVSTACK_STACK=e2e` in their `test:e2e`
|
|
19
|
+
* script, isolating them from a developer's dev stack.) */
|
|
20
|
+
readonly stack?: string;
|
|
21
|
+
/** Path to the app's `devstack.config.ts`. Default: walk-up from cwd. */
|
|
22
|
+
readonly configPath?: string;
|
|
23
|
+
/** Runtime root holding `stacks/<stack>/manifest.json`. Default:
|
|
24
|
+
* `DEVSTACK_RUNTIME_ROOT` / `DEVSTACK_STATE_DIR` / `.devstack`. */
|
|
25
|
+
readonly runtimeRoot?: string;
|
|
26
|
+
/** Read-only path: attach to an already-running stack (no boot, no
|
|
27
|
+
* teardown). Default `false`; also enabled by `DEVSTACK_TEST_REUSE=1`
|
|
28
|
+
* or by passing an explicit `manifestPath`. */
|
|
29
|
+
readonly reuse?: boolean;
|
|
30
|
+
/** Hard cap (ms) for the stack to reach ready. Default 300_000 (5 min). */
|
|
31
|
+
readonly bootTimeoutMs?: number;
|
|
32
|
+
/** Fail fast if the resolved manifest exposes zero endpoints. */
|
|
40
33
|
readonly requireNonEmptyEndpoints?: boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Verify the named endpoints exist in the manifest. Used to fail
|
|
43
|
-
* fast when a test suite depends on a specific plugin (wallet,
|
|
44
|
-
* sui-faucet) being present in the resolved stack.
|
|
45
|
-
*/
|
|
34
|
+
/** Fail fast if any of these endpoint names is absent. */
|
|
46
35
|
readonly requireEndpoints?: ReadonlyArray<string>;
|
|
47
|
-
/**
|
|
48
|
-
*
|
|
49
|
-
* the result on `globalThis` so tests don't repeat the disk read.
|
|
50
|
-
* Default: `true`.
|
|
51
|
-
*/
|
|
36
|
+
/** Stash the resolved context on `globalThis` for in-runner helpers.
|
|
37
|
+
* Default `true`. */
|
|
52
38
|
readonly preloadContext?: boolean;
|
|
53
39
|
}
|
|
40
|
+
/** The slot on `globalThis` where the prewarmed stack context lives.
|
|
41
|
+
* In-spec helpers (`wallet-context.ts`) read from here when present. */
|
|
42
|
+
declare const STACK_CONTEXT_SLOT: "__devstackPlaywrightStackContext__";
|
|
43
|
+
/** Read the slot. Returns `null` if global-setup didn't run in this process
|
|
44
|
+
* (e.g. a spec worker, or `globalSetup: null`). Callers MUST fall back to a
|
|
45
|
+
* disk manifest read. */
|
|
46
|
+
declare const readStashedFixture: () => PlaywrightStackFixture | null;
|
|
54
47
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
|
|
59
|
-
declare const decodeWatchedRecord: (input: unknown, options?: _$effect_SchemaAST0.ParseOptions) => {
|
|
60
|
-
readonly kind: "engine";
|
|
61
|
-
readonly event: {
|
|
62
|
-
readonly tag: string;
|
|
63
|
-
readonly endpoint?: {
|
|
64
|
-
readonly name: string;
|
|
65
|
-
} | undefined;
|
|
66
|
-
};
|
|
67
|
-
} | {
|
|
68
|
-
readonly kind: "ack" | "error";
|
|
69
|
-
};
|
|
70
|
-
/**
|
|
71
|
-
* Build a Playwright `globalSetup` function. The returned function
|
|
72
|
-
* matches the signature Playwright expects (a default export of a
|
|
73
|
-
* module path; we return the function so the preset can wire it).
|
|
48
|
+
* Build a Playwright `globalSetup` that boots (or, in reuse/read-only mode,
|
|
49
|
+
* attaches to) a dedicated stack and returns a teardown. Wire it as the
|
|
50
|
+
* config's `globalSetup` module path — `devstackPlaywrightBaseConfig`
|
|
51
|
+
* references this module's default export.
|
|
74
52
|
*/
|
|
75
53
|
declare const buildGlobalSetup: (options?: DefineGlobalSetupOptions) => PlaywrightGlobalSetup;
|
|
76
|
-
/** Default export
|
|
77
|
-
* `
|
|
78
|
-
*
|
|
54
|
+
/** Default export = a ready-to-use Playwright `globalSetup` (boots the stack
|
|
55
|
+
* resolved from `DEVSTACK_STACK`, tears it down on completion). This is what
|
|
56
|
+
* `globalSetup: '@mysten-incubation/devstack/playwright/global-setup'`
|
|
57
|
+
* resolves to. */
|
|
79
58
|
declare const _default: PlaywrightGlobalSetup;
|
|
80
|
-
/** The slot on `globalThis` where the prewarmed stack context lives.
|
|
81
|
-
* In-spec helpers (`wallet-context.ts`) read from here when present
|
|
82
|
-
* to avoid a second disk read. Re-exported from the runtime slot
|
|
83
|
-
* module so consumers can import either side. */
|
|
84
|
-
declare const STACK_CONTEXT_SLOT: "__devstackPlaywrightStackContext__";
|
|
85
|
-
/** Read the slot. Returns `null` if global-setup didn't run (e.g. the
|
|
86
|
-
* user opted out by passing `globalSetup: null`). */
|
|
87
|
-
declare const readStashedFixture: () => PlaywrightStackFixture | null;
|
|
88
59
|
//#endregion
|
|
89
|
-
export { DefineGlobalSetupOptions, PlaywrightGlobalSetup, PlaywrightStackFixture, STACK_CONTEXT_SLOT, buildGlobalSetup,
|
|
60
|
+
export { DefineGlobalSetupOptions, PlaywrightGlobalSetup, PlaywrightStackFixture, STACK_CONTEXT_SLOT, buildGlobalSetup, _default as default, readStashedFixture };
|
|
90
61
|
//# sourceMappingURL=global-setup.d.mts.map
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { WALLET_ENDPOINT_KEY } from "../../contracts/wallet-protocol.mjs";
|
|
2
|
+
import { runStack } from "../../api/run-stack.mjs";
|
|
3
|
+
import { loadDevstackConfig } from "../../api/load-config.mjs";
|
|
2
4
|
import { resolveDiscoveryEnv } from "../runtime/resolve-discovery-env.mjs";
|
|
3
5
|
import { discoverSingleStackManifestPath } from "../runtime/discover.mjs";
|
|
4
6
|
import "../runtime/wallet-paths.mjs";
|
|
@@ -6,20 +8,88 @@ import { BUILT_IN_ENDPOINT_ALIASES } from "../runtime/conventional-routes.mjs";
|
|
|
6
8
|
import { PLAYWRIGHT_STACK_CONTEXT_SLOT_KEY } from "../runtime/playwright-stack-context-slot.mjs";
|
|
7
9
|
import { PlaywrightManifestDiscoveryError } from "./errors.mjs";
|
|
8
10
|
import { PLAYWRIGHT_ENV, readStackContext } from "./stack-context.mjs";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { dirname
|
|
11
|
+
import { Effect } from "effect";
|
|
12
|
+
import { existsSync } from "node:fs";
|
|
13
|
+
import { dirname } from "node:path";
|
|
14
|
+
import { spawn } from "node:child_process";
|
|
15
|
+
import { fileURLToPath } from "node:url";
|
|
12
16
|
//#region src/build-integrations/playwright/global-setup.ts
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
17
|
+
const DEFAULT_BOOT_TIMEOUT_MS = 3e5;
|
|
18
|
+
const DEFAULT_RUNTIME_ROOT = ".devstack";
|
|
19
|
+
/** Default stack when `DEVSTACK_STACK` is unset. Examples override via the
|
|
20
|
+
* `test:e2e` script; this is only the bare fallback. */
|
|
21
|
+
const DEFAULT_TEST_STACK = "test";
|
|
22
|
+
const isTruthyEnv = (value) => value === "1" || value === "true" || value === "yes";
|
|
23
|
+
const resolveStackName = (options, env) => {
|
|
24
|
+
const fromEnv = env[PLAYWRIGHT_ENV.STACK];
|
|
25
|
+
return options.stack ?? (fromEnv && fromEnv !== "" ? fromEnv : DEFAULT_TEST_STACK);
|
|
26
|
+
};
|
|
27
|
+
const resolveRuntimeRoot = (options, env) => options.runtimeRoot ?? (env.DEVSTACK_RUNTIME_ROOT || env.DEVSTACK_STATE_DIR || void 0) ?? DEFAULT_RUNTIME_ROOT;
|
|
28
|
+
const withTimeout = async (promise, ms, label) => {
|
|
29
|
+
let timer;
|
|
30
|
+
const timeout = new Promise((_, reject) => {
|
|
31
|
+
timer = setTimeout(() => reject(/* @__PURE__ */ new Error(`${label} timed out after ${ms}ms`)), ms);
|
|
32
|
+
});
|
|
33
|
+
try {
|
|
34
|
+
return await Promise.race([promise, timeout]);
|
|
35
|
+
} finally {
|
|
36
|
+
if (timer !== void 0) clearTimeout(timer);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const safeStop = async (handle) => {
|
|
40
|
+
try {
|
|
41
|
+
await Effect.runPromise(handle.stop);
|
|
42
|
+
} catch {}
|
|
43
|
+
try {
|
|
44
|
+
await Effect.runPromise(handle.awaitShutdown);
|
|
45
|
+
} catch {}
|
|
46
|
+
};
|
|
47
|
+
/** After the in-process supervisor exits, graceful shutdown only STOPS the
|
|
48
|
+
* stack's containers (devstack keeps them for warm restarts). An ephemeral
|
|
49
|
+
* e2e stack should leave nothing behind, so run the production `devstack
|
|
50
|
+
* wipe` verb (force-removes containers + networks + volumes + per-stack
|
|
51
|
+
* state). Best-effort: failure never fails the test run, and a leftover
|
|
52
|
+
* stopped stack is force-recreated by the next boot. Skip with
|
|
53
|
+
* `DEVSTACK_TEST_KEEP=1` to leave the stack up for debugging. */
|
|
54
|
+
const wipeStack = (stack, runtimeRoot, cwd) => new Promise((resolve) => {
|
|
55
|
+
const cliEntry = fileURLToPath(new URL("../../cli/main.mjs", import.meta.url));
|
|
56
|
+
if (!existsSync(cliEntry)) {
|
|
57
|
+
resolve();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const child = spawn(process.execPath, [
|
|
61
|
+
cliEntry,
|
|
62
|
+
"wipe",
|
|
63
|
+
"--yes"
|
|
64
|
+
], {
|
|
65
|
+
cwd,
|
|
66
|
+
env: {
|
|
67
|
+
...process.env,
|
|
68
|
+
DEVSTACK_STACK: stack,
|
|
69
|
+
DEVSTACK_RUNTIME_ROOT: runtimeRoot
|
|
70
|
+
},
|
|
71
|
+
stdio: "ignore"
|
|
72
|
+
});
|
|
73
|
+
child.unref();
|
|
74
|
+
const done = () => resolve();
|
|
75
|
+
child.on("error", done);
|
|
76
|
+
child.on("exit", done);
|
|
77
|
+
setTimeout(() => {
|
|
78
|
+
child.kill();
|
|
79
|
+
resolve();
|
|
80
|
+
}, 12e4).unref?.();
|
|
81
|
+
});
|
|
82
|
+
const publishHandoff = (stack, manifestPath) => {
|
|
83
|
+
process.env[PLAYWRIGHT_ENV.STACK] = stack;
|
|
84
|
+
process.env[PLAYWRIGHT_ENV.MANIFEST_PATH] = manifestPath;
|
|
85
|
+
};
|
|
16
86
|
const stackOptionWasExplicit = (options) => {
|
|
17
87
|
const env = options.env ?? process.env;
|
|
18
88
|
return options.stack !== void 0 || options.manifestPath !== void 0 || env[PLAYWRIGHT_ENV.STACK] !== void 0 || env[PLAYWRIGHT_ENV.MANIFEST_PATH] !== void 0;
|
|
19
89
|
};
|
|
20
90
|
const findSingleStackManifestPath = (options) => {
|
|
21
91
|
if (stackOptionWasExplicit(options)) return null;
|
|
22
|
-
const { stateDir } = resolveDiscoveryEnv(options.env ?? process.env,
|
|
92
|
+
const { stateDir } = resolveDiscoveryEnv(options.env ?? process.env, options.stateDir !== void 0 ? { stateDir: options.stateDir } : {});
|
|
23
93
|
return discoverSingleStackManifestPath({
|
|
24
94
|
...options.cwd !== void 0 ? { cwd: options.cwd } : {},
|
|
25
95
|
stateDir
|
|
@@ -38,217 +108,16 @@ const readContextForSetup = (options) => {
|
|
|
38
108
|
});
|
|
39
109
|
}
|
|
40
110
|
};
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
latestCodegenLine: -1,
|
|
48
|
-
lastFileSize: 0,
|
|
49
|
-
decodeFailures: 0
|
|
50
|
-
});
|
|
51
|
-
const READ_CHUNK_BYTES = 64 * 1024;
|
|
52
|
-
/**
|
|
53
|
-
* Pinned-shape schema for the ndjson records we tail. The supervisor
|
|
54
|
-
* emits a richer envelope (`protocol`/`seq`/`at` plus the full
|
|
55
|
-
* `EngineEvent` union payload — see
|
|
56
|
-
* `substrate/runtime/cross-process/command-channel/protocol.ts`
|
|
57
|
-
* `EventRecordSchema`), but the watch only needs the discriminators
|
|
58
|
-
* that route a record to `latestAppEndpointLine` / `latestCodegenLine`.
|
|
59
|
-
*
|
|
60
|
-
* The pin's job is to FAIL LOUDLY if one of those discriminators is
|
|
61
|
-
* renamed upstream — a silent miss leaves the matchers permanently
|
|
62
|
-
* unfired and deadlocks global-setup at the 5min `readyTimeout`. An
|
|
63
|
-
* earlier version declared every field as `optional(Unknown)`, which
|
|
64
|
-
* defeats that entirely: a `kind`→`recordKind` rename decoded to
|
|
65
|
-
* `undefined` instead of throwing, so the watch silently stalled. We
|
|
66
|
-
* therefore pin the stable discriminators as REQUIRED while keeping the
|
|
67
|
-
* genuinely-variable axis (the engine `tag` value) permissive:
|
|
68
|
-
*
|
|
69
|
-
* - The engine variant requires `kind: 'engine'` (the literal value
|
|
70
|
-
* the matchers test against, verified at `channel.ts` `publishEvent`)
|
|
71
|
-
* and a required `event.tag` STRING. Renaming `kind`, its `'engine'`
|
|
72
|
-
* value, the `event` key, or the `tag` key all fail decode — these
|
|
73
|
-
* are the deadlock-class discriminators. The `tag` VALUE stays open,
|
|
74
|
-
* so future `EngineEvent` tag additions need no change here.
|
|
75
|
-
* - `event.endpoint` is optional (most engine tags carry no endpoint),
|
|
76
|
-
* but WHERE present its `name` is REQUIRED. Renaming `name` on an
|
|
77
|
-
* `endpoint.registered` record therefore fails decode rather than
|
|
78
|
-
* silently leaving `latestAppEndpointLine` unset.
|
|
79
|
-
* - `ack` / `error` envelopes carry no `event`; a dedicated variant
|
|
80
|
-
* absorbs them so the supervisor's correlation replies don't flood
|
|
81
|
-
* `decodeFailures`. They are never routed.
|
|
82
|
-
*
|
|
83
|
-
* Deliberately NOT permissive about an unknown `kind`: a brand-new
|
|
84
|
-
* envelope kind fails decode. That is a rare, intentional protocol
|
|
85
|
-
* change (and would be made alongside updating consumers), and failing
|
|
86
|
-
* loudly here is the same drift signal the engine-value pin provides.
|
|
87
|
-
*/
|
|
88
|
-
const WatchedEngineRecordSchema = Schema.Struct({
|
|
89
|
-
kind: Schema.Literal("engine"),
|
|
90
|
-
event: Schema.Struct({
|
|
91
|
-
tag: Schema.String,
|
|
92
|
-
endpoint: Schema.optional(Schema.Struct({ name: Schema.String }))
|
|
93
|
-
})
|
|
94
|
-
});
|
|
95
|
-
const WatchedReplyRecordSchema = Schema.Struct({ kind: Schema.Literals(["ack", "error"]) });
|
|
96
|
-
const WatchedRecordSchema = Schema.Union([WatchedEngineRecordSchema, WatchedReplyRecordSchema]);
|
|
97
|
-
/**
|
|
98
|
-
* @internal Exported only so the through-surface test can assert the
|
|
99
|
-
* drift-detection contract directly (a renamed discriminator must
|
|
100
|
-
* THROW, not decode to `undefined`). Not part of the public API.
|
|
101
|
-
*/
|
|
102
|
-
const decodeWatchedRecord = Schema.decodeUnknownSync(WatchedRecordSchema);
|
|
103
|
-
const isEngineRecord = (record) => record.kind === "engine";
|
|
104
|
-
const isAppEndpointRegistration = (record) => isEngineRecord(record) && record.event.tag === "endpoint.registered" && record.event.endpoint?.name === BUILT_IN_ENDPOINT_ALIASES.app;
|
|
105
|
-
const isCodegenEmitted = (record) => isEngineRecord(record) && record.event.tag === "codegen.emitted";
|
|
106
|
-
const DEBUG_ENABLED = () => process.env.DEVSTACK_PLAYWRIGHT_DEBUG === "1";
|
|
107
|
-
const debugLog = (message) => {
|
|
108
|
-
if (!DEBUG_ENABLED()) return;
|
|
109
|
-
try {
|
|
110
|
-
process.stderr.write(`[devstack/playwright] ${message}\n`);
|
|
111
|
-
} catch {}
|
|
112
|
-
};
|
|
113
|
-
const ingestNdjsonLine = (state, line) => {
|
|
114
|
-
if (line.length === 0) return;
|
|
115
|
-
state.lineIndex += 1;
|
|
116
|
-
let parsed;
|
|
117
|
-
try {
|
|
118
|
-
parsed = JSON.parse(line);
|
|
119
|
-
} catch {
|
|
120
|
-
state.decodeFailures += 1;
|
|
121
|
-
if (state.decodeFailures <= 3 || state.decodeFailures % 50 === 0) debugLog(`events.ndjson line ${state.lineIndex} failed JSON.parse (decodeFailures=${state.decodeFailures})`);
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
let record;
|
|
125
|
-
try {
|
|
126
|
-
record = decodeWatchedRecord(parsed);
|
|
127
|
-
} catch (cause) {
|
|
128
|
-
state.decodeFailures += 1;
|
|
129
|
-
if (state.decodeFailures <= 3 || state.decodeFailures % 50 === 0) debugLog(`events.ndjson line ${state.lineIndex} failed Schema.decode (decodeFailures=${state.decodeFailures}): ${cause instanceof Error ? cause.message : String(cause)}`);
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
if (isAppEndpointRegistration(record)) state.latestAppEndpointLine = state.lineIndex;
|
|
133
|
-
if (isCodegenEmitted(record)) state.latestCodegenLine = state.lineIndex;
|
|
111
|
+
const validateContext = (ctx, options) => {
|
|
112
|
+
if (options.requireNonEmptyEndpoints === true && ctx.endpointNames.length === 0) throw new Error(`devstack manifest at ${ctx.manifestPath} has no endpoints. The supervisor likely failed before its eager snapshot write; check the boot logs for plugin acquire errors.`);
|
|
113
|
+
const required = options.requireEndpoints ?? [];
|
|
114
|
+
const missing = [];
|
|
115
|
+
for (const key of required) if (ctx.endpointMaybe(key) === null) missing.push(key);
|
|
116
|
+
if (missing.length > 0) throw new Error(`devstack manifest at ${ctx.manifestPath} is missing required endpoints: ${missing.join(", ")}. available endpoint names: ${ctx.endpointNames.join(", ") || "(none)"}. raw manifest keys: ${ctx.manifestEndpointKeys.join(", ") || "(none)"}.`);
|
|
134
117
|
};
|
|
135
|
-
/**
|
|
136
|
-
* Advance the watch state by reading any bytes appended since the
|
|
137
|
-
* previous poll. The fd is allocated lazily on the first poll (so a
|
|
138
|
-
* file that doesn't yet exist isn't a hard error) and stays open across
|
|
139
|
-
* polls until `closeCodegenWatch`. Returns `true` when the file has a
|
|
140
|
-
* codegen-fresh state ready for caller continuation.
|
|
141
|
-
*
|
|
142
|
-
* Truncation/rotation: when `statSync(...).size < state.lastFileSize`
|
|
143
|
-
* the file rotated. We close the old fd, reopen, and restart the
|
|
144
|
-
* counters so the new tail's events aren't shadowed by stale
|
|
145
|
-
* cross-poll state.
|
|
146
|
-
*/
|
|
147
|
-
const advanceCodegenWatch = (state, eventsPath) => {
|
|
148
|
-
if (state.fd === null) try {
|
|
149
|
-
state.fd = openSync(eventsPath, "r");
|
|
150
|
-
} catch {
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
try {
|
|
154
|
-
const size = statSync(eventsPath).size;
|
|
155
|
-
if (size < state.lastFileSize) {
|
|
156
|
-
try {
|
|
157
|
-
closeSync(state.fd);
|
|
158
|
-
} catch {}
|
|
159
|
-
state.fd = null;
|
|
160
|
-
state.offset = 0;
|
|
161
|
-
state.lineIndex = 0;
|
|
162
|
-
state.carry = "";
|
|
163
|
-
state.latestAppEndpointLine = -1;
|
|
164
|
-
state.latestCodegenLine = -1;
|
|
165
|
-
state.lastFileSize = 0;
|
|
166
|
-
try {
|
|
167
|
-
state.fd = openSync(eventsPath, "r");
|
|
168
|
-
} catch {
|
|
169
|
-
return false;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
state.lastFileSize = size;
|
|
173
|
-
const buf = Buffer.allocUnsafe(READ_CHUNK_BYTES);
|
|
174
|
-
while (state.offset < size) {
|
|
175
|
-
const bytesRead = readSync(state.fd, buf, 0, READ_CHUNK_BYTES, state.offset);
|
|
176
|
-
if (bytesRead <= 0) break;
|
|
177
|
-
state.offset += bytesRead;
|
|
178
|
-
const segments = (state.carry + buf.subarray(0, bytesRead).toString("utf8")).split(/\r?\n/);
|
|
179
|
-
state.carry = segments.pop() ?? "";
|
|
180
|
-
for (const segment of segments) ingestNdjsonLine(state, segment);
|
|
181
|
-
}
|
|
182
|
-
} catch {}
|
|
183
|
-
if (state.latestCodegenLine < 0) return false;
|
|
184
|
-
if (state.latestAppEndpointLine < 0) return true;
|
|
185
|
-
return state.latestCodegenLine > state.latestAppEndpointLine;
|
|
186
|
-
};
|
|
187
|
-
const closeCodegenWatch = (state) => {
|
|
188
|
-
if (state.fd === null) return;
|
|
189
|
-
try {
|
|
190
|
-
closeSync(state.fd);
|
|
191
|
-
} catch {}
|
|
192
|
-
state.fd = null;
|
|
193
|
-
};
|
|
194
|
-
const waitForReadyStackContext = async (options) => {
|
|
195
|
-
const timeoutMs = options.readyTimeoutMs ?? DEFAULT_READY_TIMEOUT_MS;
|
|
196
|
-
const intervalMs = options.readyPollIntervalMs ?? DEFAULT_READY_POLL_INTERVAL_MS;
|
|
197
|
-
const deadline = Date.now() + timeoutMs;
|
|
198
|
-
let lastError = null;
|
|
199
|
-
let ctx = null;
|
|
200
|
-
while (Date.now() <= deadline) try {
|
|
201
|
-
ctx = readContextForSetup(options);
|
|
202
|
-
break;
|
|
203
|
-
} catch (cause) {
|
|
204
|
-
lastError = cause;
|
|
205
|
-
await sleep(intervalMs);
|
|
206
|
-
}
|
|
207
|
-
if (ctx === null) throw new Error(`devstack manifest did not appear within ${timeoutMs}ms` + (lastError instanceof Error ? `: ${lastError.message}` : ""));
|
|
208
|
-
const eventsPath = join(dirname(ctx.manifestPath), "events.ndjson");
|
|
209
|
-
const watchState = createCodegenWatchState();
|
|
210
|
-
try {
|
|
211
|
-
while (Date.now() <= deadline) {
|
|
212
|
-
if (advanceCodegenWatch(watchState, eventsPath)) return ctx;
|
|
213
|
-
lastError = /* @__PURE__ */ new Error(`devstack has not emitted codegen yet; waiting on events next to ${ctx.manifestPath}`);
|
|
214
|
-
await sleep(intervalMs);
|
|
215
|
-
}
|
|
216
|
-
} finally {
|
|
217
|
-
closeCodegenWatch(watchState);
|
|
218
|
-
}
|
|
219
|
-
throw new Error(`devstack did not reach post-acquire codegen within ${timeoutMs}ms` + (lastError instanceof Error ? `: ${lastError.message}` : ""));
|
|
220
|
-
};
|
|
221
|
-
/**
|
|
222
|
-
* Build a Playwright `globalSetup` function. The returned function
|
|
223
|
-
* matches the signature Playwright expects (a default export of a
|
|
224
|
-
* module path; we return the function so the preset can wire it).
|
|
225
|
-
*/
|
|
226
|
-
const buildGlobalSetup = (options = {}) => {
|
|
227
|
-
return async () => {
|
|
228
|
-
const ctx = options.waitForCodegen ?? true ? await waitForReadyStackContext(options) : readContextForSetup(options);
|
|
229
|
-
if (options.requireNonEmptyEndpoints === true) {
|
|
230
|
-
if (ctx.endpointNames.length === 0) throw new Error(`devstack manifest at ${ctx.manifestPath} has no endpoints. The supervisor likely failed before its eager snapshot write; check the dev server logs for plugin acquire errors.`);
|
|
231
|
-
}
|
|
232
|
-
const required = options.requireEndpoints ?? [];
|
|
233
|
-
const missing = [];
|
|
234
|
-
for (const key of required) if (ctx.endpointMaybe(key) === null) missing.push(key);
|
|
235
|
-
if (missing.length > 0) throw new Error(`devstack manifest at ${ctx.manifestPath} is missing required endpoints: ${missing.join(", ")}. available endpoint names: ${ctx.endpointNames.join(", ") || "(none)"}. raw manifest keys: ${ctx.manifestEndpointKeys.join(", ") || "(none)"}.`);
|
|
236
|
-
if (options.preloadContext ?? true) stashStackContext(ctx);
|
|
237
|
-
};
|
|
238
|
-
};
|
|
239
|
-
/** Default export shape that mirrors what Playwright's
|
|
240
|
-
* `defineConfig.globalSetup` resolves: a module whose default export
|
|
241
|
-
* is the setup function. */
|
|
242
|
-
var global_setup_default = buildGlobalSetup();
|
|
243
118
|
/** The slot on `globalThis` where the prewarmed stack context lives.
|
|
244
|
-
* In-spec helpers (`wallet-context.ts`) read from here when present
|
|
245
|
-
* to avoid a second disk read. Re-exported from the runtime slot
|
|
246
|
-
* module so consumers can import either side. */
|
|
119
|
+
* In-spec helpers (`wallet-context.ts`) read from here when present. */
|
|
247
120
|
const STACK_CONTEXT_SLOT = PLAYWRIGHT_STACK_CONTEXT_SLOT_KEY;
|
|
248
|
-
/** Monotonic counter for fixture rotations within a single Node process.
|
|
249
|
-
* Survives across `stashStackContext` calls so a Playwright retry that
|
|
250
|
-
* re-runs global-setup stamps a fresh `generation` even though the
|
|
251
|
-
* module never reloads. */
|
|
252
121
|
let stashGeneration = 0;
|
|
253
122
|
const stashStackContext = (ctx) => {
|
|
254
123
|
const endpoints = Object.fromEntries(ctx.endpointNames.map((name) => [name, ctx.endpoint(name)]));
|
|
@@ -272,10 +141,65 @@ const stashStackContext = (ctx) => {
|
|
|
272
141
|
} catch {}
|
|
273
142
|
globalThis[PLAYWRIGHT_STACK_CONTEXT_SLOT_KEY] = fixture;
|
|
274
143
|
};
|
|
275
|
-
/** Read the slot. Returns `null` if global-setup didn't run
|
|
276
|
-
*
|
|
144
|
+
/** Read the slot. Returns `null` if global-setup didn't run in this process
|
|
145
|
+
* (e.g. a spec worker, or `globalSetup: null`). Callers MUST fall back to a
|
|
146
|
+
* disk manifest read. */
|
|
277
147
|
const readStashedFixture = () => globalThis["__devstackPlaywrightStackContext__"] ?? null;
|
|
148
|
+
/**
|
|
149
|
+
* Build a Playwright `globalSetup` that boots (or, in reuse/read-only mode,
|
|
150
|
+
* attaches to) a dedicated stack and returns a teardown. Wire it as the
|
|
151
|
+
* config's `globalSetup` module path — `devstackPlaywrightBaseConfig`
|
|
152
|
+
* references this module's default export.
|
|
153
|
+
*/
|
|
154
|
+
const buildGlobalSetup = (options = {}) => {
|
|
155
|
+
return async () => {
|
|
156
|
+
const env = options.env ?? process.env;
|
|
157
|
+
if ((options.reuse ?? isTruthyEnv(env.DEVSTACK_TEST_REUSE)) || options.manifestPath !== void 0) {
|
|
158
|
+
const ctx = readContextForSetup(options);
|
|
159
|
+
validateContext(ctx, options);
|
|
160
|
+
if (options.preloadContext ?? true) stashStackContext(ctx);
|
|
161
|
+
return async () => {};
|
|
162
|
+
}
|
|
163
|
+
const stack = resolveStackName(options, env);
|
|
164
|
+
const runtimeRoot = resolveRuntimeRoot(options, env);
|
|
165
|
+
const loaded = await Effect.runPromise(loadDevstackConfig(options.configPath)).catch((cause) => {
|
|
166
|
+
throw new Error(`devstack playwright globalSetup: failed to load devstack config — ${cause instanceof Error ? cause.message : String(cause)}`, { cause });
|
|
167
|
+
});
|
|
168
|
+
const appRoot = dirname(loaded.resolvedConfigPath);
|
|
169
|
+
const handle = runStack(loaded.stack, {
|
|
170
|
+
identity: { stack },
|
|
171
|
+
appRoot,
|
|
172
|
+
runtimeRoot,
|
|
173
|
+
...loaded.engine.options.codegen !== void 0 ? { codegen: loaded.engine.options.codegen } : {}
|
|
174
|
+
});
|
|
175
|
+
try {
|
|
176
|
+
await withTimeout(Effect.runPromise(handle.start), options.bootTimeoutMs ?? DEFAULT_BOOT_TIMEOUT_MS, `devstack playwright globalSetup: '${stack}' stack boot`);
|
|
177
|
+
} catch (cause) {
|
|
178
|
+
await safeStop(handle);
|
|
179
|
+
throw new Error(`devstack playwright globalSetup: failed to boot the '${stack}' stack. If a '${stack}' stack is already running, set DEVSTACK_TEST_REUSE=1 to run against it. Cause: ${cause instanceof Error ? cause.message : String(cause)}`, { cause });
|
|
180
|
+
}
|
|
181
|
+
const ctx = readContextForSetup({
|
|
182
|
+
...options,
|
|
183
|
+
stack,
|
|
184
|
+
stateDir: runtimeRoot,
|
|
185
|
+
cwd: appRoot
|
|
186
|
+
});
|
|
187
|
+
validateContext(ctx, options);
|
|
188
|
+
publishHandoff(stack, ctx.manifestPath);
|
|
189
|
+
if (options.preloadContext ?? true) stashStackContext(ctx);
|
|
190
|
+
const keep = isTruthyEnv(env.DEVSTACK_TEST_KEEP);
|
|
191
|
+
return async () => {
|
|
192
|
+
await safeStop(handle);
|
|
193
|
+
if (!keep) await wipeStack(stack, runtimeRoot, appRoot);
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
/** Default export = a ready-to-use Playwright `globalSetup` (boots the stack
|
|
198
|
+
* resolved from `DEVSTACK_STACK`, tears it down on completion). This is what
|
|
199
|
+
* `globalSetup: '@mysten-incubation/devstack/playwright/global-setup'`
|
|
200
|
+
* resolves to. */
|
|
201
|
+
var global_setup_default = buildGlobalSetup();
|
|
278
202
|
//#endregion
|
|
279
|
-
export { STACK_CONTEXT_SLOT, buildGlobalSetup,
|
|
203
|
+
export { STACK_CONTEXT_SLOT, buildGlobalSetup, global_setup_default as default, readStashedFixture };
|
|
280
204
|
|
|
281
205
|
//# sourceMappingURL=global-setup.mjs.map
|