@mysten-incubation/devstack 0.1.0 → 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 +7 -4
- 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 -31
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.mjs","names":[],"sources":["../../../src/plugins/package/errors.ts"],"sourcesContent":["// Package plugin — typed errors.\n//\n// Distilled doc §\"Edge cases and known failure modes\": the publish\n// error is a SINGLE tagged error with a CLOSED step set. Per\n// architecture §Effect, errors are plain interfaces with a `_tag`\n// discriminator; `Effect.catchTag` / `catchTags` match on the literal.\n\n/** Closed step set for `PublishError`.\n *\n * - `hash` — source-tree walk / digest failed (FS read perms,\n * symlink loop, disk error).\n * - `scrub` — vendored Move.lock scrub failed.\n * - `build` — `sui move build` exit / parse failure / container\n * unreachable. Cause-chain carries verbatim\n * stdout/stderr.\n * - `publish-tx` — sign-and-execute failed (gas, bytecode\n * verification, RPC).\n * - `parse` — no `published` change in receipt OR the\n * post-publish ready-probe timed out.\n * - `verify` — KnownPackage verify probe authoritatively says\n * \"object not present\" (transient is masked by\n * lenient probe — does NOT raise this).\n */\nexport type PublishPhase = 'hash' | 'scrub' | 'build' | 'publish-tx' | 'parse' | 'verify';\n\n/** Single tagged publish error. */\nexport interface PublishError {\n\treadonly _tag: 'PublishError';\n\treadonly phase: PublishPhase;\n\t/** Source path of the package being published. Populated at every\n\t * throw site that has it in scope — `KnownPackage` paths set this\n\t * to the symbolic id; post-publish probe phases (e.g. the\n\t * `postPublishReadyHint` step that only sees the on-chain `packageId`)\n\t * pass `undefined`. The `mode-local` re-stamp pass back-fills\n\t * from the outer `inputs.sourcePath` whenever it can. */\n\treadonly sourcePath?: string | undefined;\n\t/** Symbolic package name (the user-declared `pkg.name`). Optional\n\t * because some throw sites (e.g. `postPublishReadyHint` in\n\t * `publish-executor.ts`) only have the resolved on-chain\n\t * `packageId` in scope; the `mode-local` re-stamp pass back-fills\n\t * the symbolic name from `inputs.packageName` whenever it can.\n\t * Throw sites MUST NOT overload this slot with the on-chain\n\t * `packageId` — the symbolic name is what user-facing error\n\t * displays expect. */\n\treadonly packageName?: string | undefined;\n\treadonly message: string;\n\treadonly cause?: unknown;\n}\n\nexport const publishError = (\n\tphase: PublishPhase,\n\tparts: Omit<PublishError, '_tag' | 'phase'>,\n): PublishError => ({ _tag: 'PublishError', phase, ...parts });\n\n/**
|
|
1
|
+
{"version":3,"file":"errors.mjs","names":[],"sources":["../../../src/plugins/package/errors.ts"],"sourcesContent":["// Package plugin — typed errors.\n//\n// Distilled doc §\"Edge cases and known failure modes\": the publish\n// error is a SINGLE tagged error with a CLOSED step set. Per\n// architecture §Effect, errors are plain interfaces with a `_tag`\n// discriminator; `Effect.catchTag` / `catchTags` match on the literal.\n\n/** Closed step set for `PublishError`.\n *\n * - `hash` — source-tree walk / digest failed (FS read perms,\n * symlink loop, disk error).\n * - `scrub` — vendored Move.lock scrub failed.\n * - `build` — `sui move build` exit / parse failure / container\n * unreachable. Cause-chain carries verbatim\n * stdout/stderr.\n * - `publish-tx` — sign-and-execute failed (gas, bytecode\n * verification, RPC).\n * - `parse` — no `published` change in receipt OR the\n * post-publish ready-probe timed out.\n * - `verify` — KnownPackage verify probe authoritatively says\n * \"object not present\" (transient is masked by\n * lenient probe — does NOT raise this).\n */\nexport type PublishPhase = 'hash' | 'scrub' | 'build' | 'publish-tx' | 'parse' | 'verify';\n\n/** Single tagged publish error. */\nexport interface PublishError {\n\treadonly _tag: 'PublishError';\n\treadonly phase: PublishPhase;\n\t/** Source path of the package being published. Populated at every\n\t * throw site that has it in scope — `KnownPackage` paths set this\n\t * to the symbolic id; post-publish probe phases (e.g. the\n\t * `postPublishReadyHint` step that only sees the on-chain `packageId`)\n\t * pass `undefined`. The `mode-local` re-stamp pass back-fills\n\t * from the outer `inputs.sourcePath` whenever it can. */\n\treadonly sourcePath?: string | undefined;\n\t/** Symbolic package name (the user-declared `pkg.name`). Optional\n\t * because some throw sites (e.g. `postPublishReadyHint` in\n\t * `publish-executor.ts`) only have the resolved on-chain\n\t * `packageId` in scope; the `mode-local` re-stamp pass back-fills\n\t * the symbolic name from `inputs.packageName` whenever it can.\n\t * Throw sites MUST NOT overload this slot with the on-chain\n\t * `packageId` — the symbolic name is what user-facing error\n\t * displays expect. */\n\treadonly packageName?: string | undefined;\n\treadonly message: string;\n\treadonly cause?: unknown;\n}\n\nexport const publishError = (\n\tphase: PublishPhase,\n\tparts: Omit<PublishError, '_tag' | 'phase'>,\n): PublishError => ({ _tag: 'PublishError', phase, ...parts });\n\n/** The catchable error tags this plugin exposes. Pinned against the\n * user-facing error catalog by the error-catalog-parity test. */\nexport const PACKAGE_ERROR_TAGS = ['PublishError'] as const;\n\nexport type PackageError = PublishError;\n"],"mappings":";AAiDA,MAAa,gBACZ,OACA,WACmB;CAAE,MAAM;CAAgB;CAAO,GAAG;AAAM"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
|
|
3
|
+
//#region src/plugins/package/git-source.d.ts
|
|
4
|
+
/** Remote git Move source coordinates. Prefer an IMMUTABLE `rev` (a commit
|
|
5
|
+
* SHA or a tag): a branch like `main` is cached at first sight and won't
|
|
6
|
+
* auto-refresh until the cache entry is removed. */
|
|
7
|
+
interface GitSource {
|
|
8
|
+
readonly url: string;
|
|
9
|
+
/** Sub-path within the repo to build from (e.g. `packages/deepbook`).
|
|
10
|
+
* Omit to build the repo root. */
|
|
11
|
+
readonly subdir?: string;
|
|
12
|
+
/** Branch, tag, or commit SHA. Defaults to `HEAD` (the remote default
|
|
13
|
+
* branch). */
|
|
14
|
+
readonly rev?: string;
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { GitSource };
|
|
18
|
+
//# sourceMappingURL=git-source.d.mts.map
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { publishError } from "./errors.mjs";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { createHash } from "node:crypto";
|
|
5
|
+
import { execFile } from "node:child_process";
|
|
6
|
+
import { homedir, tmpdir } from "node:os";
|
|
7
|
+
import { access, mkdir, mkdtemp, rename, rm, writeFile } from "node:fs/promises";
|
|
8
|
+
import { promisify } from "node:util";
|
|
9
|
+
//#region src/plugins/package/git-source.ts
|
|
10
|
+
const execFileAsync = promisify(execFile);
|
|
11
|
+
const gitCacheRoot = () => join(homedir(), ".devstack", "git-src");
|
|
12
|
+
const cacheDirFor = (url, rev) => {
|
|
13
|
+
const urlHash = createHash("sha1").update(url).digest("hex").slice(0, 16);
|
|
14
|
+
const safeRev = rev.replace(/[^a-zA-Z0-9._-]/g, "_").slice(0, 64);
|
|
15
|
+
return join(gitCacheRoot(), `${urlHash}-${safeRev}`);
|
|
16
|
+
};
|
|
17
|
+
const CLONE_TIMEOUT_MS = 5 * 6e4;
|
|
18
|
+
/**
|
|
19
|
+
* Clone `git` into the host cache (or reuse an existing clone) and return the
|
|
20
|
+
* local path to build from — `<cache>/<subdir>` when `subdir` is set, else the
|
|
21
|
+
* repo root.
|
|
22
|
+
*
|
|
23
|
+
* Idempotent + safe to call from both `inputIdentity` and `start`: a completed
|
|
24
|
+
* clone is marked with a `.devstack-ok` sentinel, so the second call is a cheap
|
|
25
|
+
* `access` hit. Concurrent first-clones of the SAME (url, rev) are reconciled
|
|
26
|
+
* by the atomic directory rename — the loser discards its temp clone and reuses
|
|
27
|
+
* the winner's, so no lock is needed. (Different (url, rev) clone independently;
|
|
28
|
+
* the build itself is serialized separately by `withMoveBuildLock`.)
|
|
29
|
+
*/
|
|
30
|
+
const materializeGitSource = (git, packageName) => Effect.tryPromise({
|
|
31
|
+
try: async () => {
|
|
32
|
+
const rev = git.rev ?? "HEAD";
|
|
33
|
+
const cacheDir = cacheDirFor(git.url, rev);
|
|
34
|
+
const finalPath = git.subdir ? join(cacheDir, git.subdir) : cacheDir;
|
|
35
|
+
const okMarker = join(cacheDir, ".devstack-ok");
|
|
36
|
+
try {
|
|
37
|
+
await access(okMarker);
|
|
38
|
+
return finalPath;
|
|
39
|
+
} catch {}
|
|
40
|
+
await mkdir(gitCacheRoot(), { recursive: true });
|
|
41
|
+
const staging = await mkdtemp(join(tmpdir(), "devstack-git-"));
|
|
42
|
+
try {
|
|
43
|
+
try {
|
|
44
|
+
await execFileAsync("git", [
|
|
45
|
+
"clone",
|
|
46
|
+
"--depth",
|
|
47
|
+
"1",
|
|
48
|
+
"--branch",
|
|
49
|
+
rev,
|
|
50
|
+
"--",
|
|
51
|
+
git.url,
|
|
52
|
+
staging
|
|
53
|
+
], { timeout: CLONE_TIMEOUT_MS });
|
|
54
|
+
} catch {
|
|
55
|
+
await rm(staging, {
|
|
56
|
+
recursive: true,
|
|
57
|
+
force: true
|
|
58
|
+
});
|
|
59
|
+
await mkdir(staging, { recursive: true });
|
|
60
|
+
await execFileAsync("git", [
|
|
61
|
+
"init",
|
|
62
|
+
"-q",
|
|
63
|
+
staging
|
|
64
|
+
], { timeout: CLONE_TIMEOUT_MS });
|
|
65
|
+
await execFileAsync("git", [
|
|
66
|
+
"-C",
|
|
67
|
+
staging,
|
|
68
|
+
"remote",
|
|
69
|
+
"add",
|
|
70
|
+
"origin",
|
|
71
|
+
git.url
|
|
72
|
+
], { timeout: CLONE_TIMEOUT_MS });
|
|
73
|
+
await execFileAsync("git", [
|
|
74
|
+
"-C",
|
|
75
|
+
staging,
|
|
76
|
+
"fetch",
|
|
77
|
+
"--depth",
|
|
78
|
+
"1",
|
|
79
|
+
"origin",
|
|
80
|
+
"--",
|
|
81
|
+
rev
|
|
82
|
+
], { timeout: CLONE_TIMEOUT_MS });
|
|
83
|
+
await execFileAsync("git", [
|
|
84
|
+
"-C",
|
|
85
|
+
staging,
|
|
86
|
+
"checkout",
|
|
87
|
+
"-q",
|
|
88
|
+
"FETCH_HEAD"
|
|
89
|
+
], { timeout: CLONE_TIMEOUT_MS });
|
|
90
|
+
}
|
|
91
|
+
await writeFile(join(staging, ".devstack-ok"), "");
|
|
92
|
+
try {
|
|
93
|
+
await rename(staging, cacheDir);
|
|
94
|
+
} catch {
|
|
95
|
+
await rm(staging, {
|
|
96
|
+
recursive: true,
|
|
97
|
+
force: true
|
|
98
|
+
}).catch(() => {});
|
|
99
|
+
}
|
|
100
|
+
} catch (cause) {
|
|
101
|
+
await rm(staging, {
|
|
102
|
+
recursive: true,
|
|
103
|
+
force: true
|
|
104
|
+
}).catch(() => {});
|
|
105
|
+
throw cause;
|
|
106
|
+
}
|
|
107
|
+
return finalPath;
|
|
108
|
+
},
|
|
109
|
+
catch: (cause) => publishError("hash", {
|
|
110
|
+
sourcePath: git.subdir ? `${git.url}#${git.subdir}` : git.url,
|
|
111
|
+
packageName,
|
|
112
|
+
message: `failed to materialize git source ${git.url} (rev=${git.rev ?? "HEAD"}${git.subdir ? `, subdir=${git.subdir}` : ""}): ${String(cause?.message ?? cause)}`,
|
|
113
|
+
cause
|
|
114
|
+
})
|
|
115
|
+
});
|
|
116
|
+
//#endregion
|
|
117
|
+
export { materializeGitSource };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=git-source.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-source.mjs","names":[],"sources":["../../../src/plugins/package/git-source.ts"],"sourcesContent":["// Materialize a remote git Move source into a persistent local cache.\n//\n// `localPackage(name, { git: { url, subdir?, rev? } })` points the build at a\n// repository instead of a vendored local tree. This helper clones the repo\n// host-side (cached by url+rev), then hands the existing local-build flow a\n// plain on-disk path — every downstream step (`hashMoveSources`,\n// `scrubLocksHost`, `executor.build`, codegen) is unchanged because it only\n// ever sees a directory.\n//\n// The package's OWN transitive deps (e.g. deepbook → token, or the Sui\n// framework) still resolve in-container during `sui move build`; cloning the\n// whole repo also means sibling `{ local = \"../x\" }` deps resolve naturally.\n\nimport { execFile } from 'node:child_process';\nimport { createHash } from 'node:crypto';\nimport { access, mkdir, mkdtemp, rename, rm, writeFile } from 'node:fs/promises';\nimport { homedir, tmpdir } from 'node:os';\nimport { join } from 'node:path';\nimport { promisify } from 'node:util';\n\nimport { Effect } from 'effect';\n\nimport { publishError, type PublishError } from './errors.ts';\n\nconst execFileAsync = promisify(execFile);\n\n/** Remote git Move source coordinates. Prefer an IMMUTABLE `rev` (a commit\n * SHA or a tag): a branch like `main` is cached at first sight and won't\n * auto-refresh until the cache entry is removed. */\nexport interface GitSource {\n\treadonly url: string;\n\t/** Sub-path within the repo to build from (e.g. `packages/deepbook`).\n\t * Omit to build the repo root. */\n\treadonly subdir?: string;\n\t/** Branch, tag, or commit SHA. Defaults to `HEAD` (the remote default\n\t * branch). */\n\treadonly rev?: string;\n}\n\n// Host-global cache, shared across stacks/apps/runs and keyed by (url, rev) so\n// a committed pin re-uses the same clone forever. Kept OUTSIDE the stack root\n// (like `~/.move`): it is content-pinned dep input, not per-stack state, so it\n// must survive `wipe` and snapshot bounces.\nconst gitCacheRoot = (): string => join(homedir(), '.devstack', 'git-src');\n\nconst cacheDirFor = (url: string, rev: string): string => {\n\tconst urlHash = createHash('sha1').update(url).digest('hex').slice(0, 16);\n\t// A readable rev slug aids debugging; the url hash keeps it unambiguous.\n\tconst safeRev = rev.replace(/[^a-zA-Z0-9._-]/g, '_').slice(0, 64);\n\treturn join(gitCacheRoot(), `${urlHash}-${safeRev}`);\n};\n\nconst CLONE_TIMEOUT_MS = 5 * 60_000;\n\n/**\n * Clone `git` into the host cache (or reuse an existing clone) and return the\n * local path to build from — `<cache>/<subdir>` when `subdir` is set, else the\n * repo root.\n *\n * Idempotent + safe to call from both `inputIdentity` and `start`: a completed\n * clone is marked with a `.devstack-ok` sentinel, so the second call is a cheap\n * `access` hit. Concurrent first-clones of the SAME (url, rev) are reconciled\n * by the atomic directory rename — the loser discards its temp clone and reuses\n * the winner's, so no lock is needed. (Different (url, rev) clone independently;\n * the build itself is serialized separately by `withMoveBuildLock`.)\n */\nexport const materializeGitSource = (\n\tgit: GitSource,\n\tpackageName: string,\n): Effect.Effect<string, PublishError> =>\n\tEffect.tryPromise({\n\t\ttry: async () => {\n\t\t\tconst rev = git.rev ?? 'HEAD';\n\t\t\tconst cacheDir = cacheDirFor(git.url, rev);\n\t\t\tconst finalPath = git.subdir ? join(cacheDir, git.subdir) : cacheDir;\n\t\t\tconst okMarker = join(cacheDir, '.devstack-ok');\n\n\t\t\t// Cache hit — a prior apply already materialized this (url, rev).\n\t\t\ttry {\n\t\t\t\tawait access(okMarker);\n\t\t\t\treturn finalPath;\n\t\t\t} catch {\n\t\t\t\t// miss — clone below.\n\t\t\t}\n\n\t\t\tawait mkdir(gitCacheRoot(), { recursive: true });\n\t\t\tconst staging = await mkdtemp(join(tmpdir(), 'devstack-git-'));\n\t\t\ttry {\n\t\t\t\ttry {\n\t\t\t\t\t// Fast path: branch/tag name — a shallow single-branch clone.\n\t\t\t\t\tawait execFileAsync(\n\t\t\t\t\t\t'git',\n\t\t\t\t\t\t['clone', '--depth', '1', '--branch', rev, '--', git.url, staging],\n\t\t\t\t\t\t{ timeout: CLONE_TIMEOUT_MS },\n\t\t\t\t\t);\n\t\t\t\t} catch {\n\t\t\t\t\t// `--branch` rejects bare commit SHAs (and some servers won't\n\t\t\t\t\t// resolve a SHA that way). Fall back to init + shallow fetch of\n\t\t\t\t\t// the exact rev + checkout, which works for a SHA, tag, or\n\t\t\t\t\t// branch on any server that allows fetching the ref.\n\t\t\t\t\tawait rm(staging, { recursive: true, force: true });\n\t\t\t\t\tawait mkdir(staging, { recursive: true });\n\t\t\t\t\tawait execFileAsync('git', ['init', '-q', staging], { timeout: CLONE_TIMEOUT_MS });\n\t\t\t\t\tawait execFileAsync('git', ['-C', staging, 'remote', 'add', 'origin', git.url], {\n\t\t\t\t\t\ttimeout: CLONE_TIMEOUT_MS,\n\t\t\t\t\t});\n\t\t\t\t\tawait execFileAsync(\n\t\t\t\t\t\t'git',\n\t\t\t\t\t\t['-C', staging, 'fetch', '--depth', '1', 'origin', '--', rev],\n\t\t\t\t\t\t{ timeout: CLONE_TIMEOUT_MS },\n\t\t\t\t\t);\n\t\t\t\t\tawait execFileAsync('git', ['-C', staging, 'checkout', '-q', 'FETCH_HEAD'], {\n\t\t\t\t\t\ttimeout: CLONE_TIMEOUT_MS,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tawait writeFile(join(staging, '.devstack-ok'), '');\n\t\t\t\t// Publish atomically. If a concurrent apply already won the race,\n\t\t\t\t// the rename fails (target exists) — discard ours and reuse theirs.\n\t\t\t\ttry {\n\t\t\t\t\tawait rename(staging, cacheDir);\n\t\t\t\t} catch {\n\t\t\t\t\tawait rm(staging, { recursive: true, force: true }).catch(() => {});\n\t\t\t\t}\n\t\t\t} catch (cause) {\n\t\t\t\tawait rm(staging, { recursive: true, force: true }).catch(() => {});\n\t\t\t\tthrow cause;\n\t\t\t}\n\t\t\treturn finalPath;\n\t\t},\n\t\tcatch: (cause): PublishError =>\n\t\t\tpublishError('hash', {\n\t\t\t\tsourcePath: git.subdir ? `${git.url}#${git.subdir}` : git.url,\n\t\t\t\tpackageName,\n\t\t\t\tmessage:\n\t\t\t\t\t`failed to materialize git source ${git.url} (rev=${git.rev ?? 'HEAD'}` +\n\t\t\t\t\t`${git.subdir ? `, subdir=${git.subdir}` : ''}): ` +\n\t\t\t\t\t`${String((cause as Error)?.message ?? cause)}`,\n\t\t\t\tcause,\n\t\t\t}),\n\t});\n"],"mappings":";;;;;;;;;AAwBA,MAAM,gBAAgB,UAAU,QAAQ;AAmBxC,MAAM,qBAA6B,KAAK,QAAQ,GAAG,aAAa,SAAS;AAEzE,MAAM,eAAe,KAAa,QAAwB;CACzD,MAAM,UAAU,WAAW,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,GAAG,EAAE;CAExE,MAAM,UAAU,IAAI,QAAQ,oBAAoB,GAAG,CAAC,CAAC,MAAM,GAAG,EAAE;CAChE,OAAO,KAAK,aAAa,GAAG,GAAG,QAAQ,GAAG,SAAS;AACpD;AAEA,MAAM,mBAAmB,IAAI;;;;;;;;;;;;;AAc7B,MAAa,wBACZ,KACA,gBAEA,OAAO,WAAW;CACjB,KAAK,YAAY;EAChB,MAAM,MAAM,IAAI,OAAO;EACvB,MAAM,WAAW,YAAY,IAAI,KAAK,GAAG;EACzC,MAAM,YAAY,IAAI,SAAS,KAAK,UAAU,IAAI,MAAM,IAAI;EAC5D,MAAM,WAAW,KAAK,UAAU,cAAc;EAG9C,IAAI;GACH,MAAM,OAAO,QAAQ;GACrB,OAAO;EACR,QAAQ,CAER;EAEA,MAAM,MAAM,aAAa,GAAG,EAAE,WAAW,KAAK,CAAC;EAC/C,MAAM,UAAU,MAAM,QAAQ,KAAK,OAAO,GAAG,eAAe,CAAC;EAC7D,IAAI;GACH,IAAI;IAEH,MAAM,cACL,OACA;KAAC;KAAS;KAAW;KAAK;KAAY;KAAK;KAAM,IAAI;KAAK;IAAO,GACjE,EAAE,SAAS,iBAAiB,CAC7B;GACD,QAAQ;IAKP,MAAM,GAAG,SAAS;KAAE,WAAW;KAAM,OAAO;IAAK,CAAC;IAClD,MAAM,MAAM,SAAS,EAAE,WAAW,KAAK,CAAC;IACxC,MAAM,cAAc,OAAO;KAAC;KAAQ;KAAM;IAAO,GAAG,EAAE,SAAS,iBAAiB,CAAC;IACjF,MAAM,cAAc,OAAO;KAAC;KAAM;KAAS;KAAU;KAAO;KAAU,IAAI;IAAG,GAAG,EAC/E,SAAS,iBACV,CAAC;IACD,MAAM,cACL,OACA;KAAC;KAAM;KAAS;KAAS;KAAW;KAAK;KAAU;KAAM;IAAG,GAC5D,EAAE,SAAS,iBAAiB,CAC7B;IACA,MAAM,cAAc,OAAO;KAAC;KAAM;KAAS;KAAY;KAAM;IAAY,GAAG,EAC3E,SAAS,iBACV,CAAC;GACF;GACA,MAAM,UAAU,KAAK,SAAS,cAAc,GAAG,EAAE;GAGjD,IAAI;IACH,MAAM,OAAO,SAAS,QAAQ;GAC/B,QAAQ;IACP,MAAM,GAAG,SAAS;KAAE,WAAW;KAAM,OAAO;IAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;GACnE;EACD,SAAS,OAAO;GACf,MAAM,GAAG,SAAS;IAAE,WAAW;IAAM,OAAO;GAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;GAClE,MAAM;EACP;EACA,OAAO;CACR;CACA,QAAQ,UACP,aAAa,QAAQ;EACpB,YAAY,IAAI,SAAS,GAAG,IAAI,IAAI,GAAG,IAAI,WAAW,IAAI;EAC1D;EACA,SACC,oCAAoC,IAAI,IAAI,QAAQ,IAAI,OAAO,SAC5D,IAAI,SAAS,YAAY,IAAI,WAAW,GAAG,KAC3C,OAAQ,OAAiB,WAAW,KAAK;EAC7C;CACD,CAAC;AACH,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { CodegenableDecl } from "../../contracts/codegenable.mjs";
|
|
2
|
-
import { ProjectionDecl } from "../../contracts/projection.mjs";
|
|
3
|
-
import { SnapshotableDecl } from "../../contracts/snapshotable.mjs";
|
|
4
|
-
import { StrategyContributorDecl } from "../../contracts/strategy-contributor.mjs";
|
|
5
1
|
import { AnyResourceRef, Plugin, ResourceRef } from "../../substrate/plugin.mjs";
|
|
6
|
-
import {
|
|
2
|
+
import { PackageBindings } from "../../orchestrators/codegen/bindings.mjs";
|
|
3
|
+
import { ResolvedKnownPackage, ResolvedLocalPackage } from "./registry.mjs";
|
|
7
4
|
import { SuiOptions } from "../sui/mode/spec.mjs";
|
|
5
|
+
import { SuiClient } from "../sui/mode/shared.mjs";
|
|
8
6
|
import { AccountValue } from "../account/service.mjs";
|
|
9
7
|
import { AccountResourceId } from "../account/index.mjs";
|
|
10
|
-
import { LocalPackagePublishOutput,
|
|
11
|
-
import {
|
|
8
|
+
import { LocalPackagePublishOutput, PackagePublishObjectChange } from "./publish-output.mjs";
|
|
9
|
+
import { PackageNetworkEntry, PackageNetworks } from "./codegen.mjs";
|
|
12
10
|
import { PublishError } from "./errors.mjs";
|
|
13
|
-
import {
|
|
11
|
+
import { GitSource } from "./git-source.mjs";
|
|
12
|
+
import { Effect } from "effect";
|
|
13
|
+
|
|
14
14
|
//#region src/plugins/package/index.d.ts
|
|
15
15
|
/** A user-supplied publisher account ref. The user passes the result
|
|
16
16
|
* of `account('alice')` — NOT a bare string. Generic over the
|
|
@@ -43,13 +43,26 @@ interface LocalPackageResolved<Capture = undefined> extends Omit<ResolvedLocalPa
|
|
|
43
43
|
type KnownPackageResolved = ResolvedKnownPackage;
|
|
44
44
|
type PackageResolved = LocalPackageResolved | KnownPackageResolved;
|
|
45
45
|
interface LocalPackageOptions<Publisher extends PublisherAccountMember = PublisherAccountMember, Capture extends PackageCapture | undefined = undefined> {
|
|
46
|
-
|
|
46
|
+
/** Local on-disk path to the Move package. Provide EXACTLY ONE of
|
|
47
|
+
* `sourcePath` or `git`. */
|
|
48
|
+
readonly sourcePath?: string;
|
|
49
|
+
/** Remote git source — clone a repo and build a sub-path of it instead of
|
|
50
|
+
* vendoring the Move tree. Cloned once into a host cache keyed by
|
|
51
|
+
* `url + rev` (see `git-source.ts`); pin `rev` to a commit SHA or tag for
|
|
52
|
+
* reproducibility. Mutually exclusive with `sourcePath`. */
|
|
53
|
+
readonly git?: GitSource;
|
|
47
54
|
readonly mvrPlaceholder?: string;
|
|
48
55
|
readonly excludeFromCodegen?: boolean;
|
|
49
56
|
/** Capture created objects from the publish output. The record
|
|
50
57
|
* form maps output keys to object-type suffixes, e.g.
|
|
51
58
|
* `{ boardId: '::board::Board' }`. */
|
|
52
59
|
readonly capture?: Capture;
|
|
60
|
+
/** Per-network declared package ids (+ optional object ids) for
|
|
61
|
+
* prod-targeting. Pure literals, no resolution: codegen merges the
|
|
62
|
+
* resolved-local id into `config.packages.<name>.byNetwork.localnet`
|
|
63
|
+
* and these literals into `byNetwork.testnet` / `byNetwork.mainnet`.
|
|
64
|
+
* A consumer flips `config.network` (env) to select active ids. */
|
|
65
|
+
readonly networks?: PackageNetworks;
|
|
53
66
|
/** Publisher account — the signer for the publish tx. Pass the
|
|
54
67
|
* result of `account('alice')` (the same plugin/resource ref used
|
|
55
68
|
* in the rest of the stack — NOT a duplicate factory call).
|
|
@@ -65,14 +78,10 @@ interface KnownPackageOptions {
|
|
|
65
78
|
readonly packageId: string;
|
|
66
79
|
readonly upgradeCapId?: string;
|
|
67
80
|
readonly mvrPlaceholder?: string;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
readonly
|
|
72
|
-
readonly packageId: string;
|
|
73
|
-
readonly upgradeCapId: string | null;
|
|
74
|
-
readonly mvrPlaceholder: string;
|
|
75
|
-
readonly sourcePath: string | null;
|
|
81
|
+
/** Per-network declared package ids (+ optional object ids) for
|
|
82
|
+
* prod-targeting — same as `LocalPackageOptions.networks`. Pure
|
|
83
|
+
* literals; codegen fills `config.packages.<name>.byNetwork`. */
|
|
84
|
+
readonly networks?: PackageNetworks;
|
|
76
85
|
}
|
|
77
86
|
/** Build + publish a local Move package. The resolved value is
|
|
78
87
|
* `LocalPackageResolved` so consumers that need bindings / source
|
|
@@ -93,13 +102,13 @@ declare const localPackage: <Name extends string, const Publisher extends Publis
|
|
|
93
102
|
readonly mode: SuiOptions["mode"];
|
|
94
103
|
}>;
|
|
95
104
|
readonly publisher: Publisher;
|
|
96
|
-
} ? T extends Readonly<Record<string, AnyResourceRef>> ? readonly T[keyof T][] : readonly [] : never : never
|
|
105
|
+
} ? T extends Readonly<Record<string, AnyResourceRef>> ? readonly T[keyof T][] : readonly [] : never : never>;
|
|
97
106
|
/** Verify-only against a fixed on-chain package id. The resolved
|
|
98
107
|
* value is `KnownPackageResolved` — narrower than local, so the
|
|
99
108
|
* bindings emitter rejects this at compose time. */
|
|
100
109
|
declare const knownPackage: <Name extends string>(name: Name, opts: KnownPackageOptions) => Plugin<`package:${Name}`, ResolvedKnownPackage, readonly ResourceRef<"sui", SuiClient & {
|
|
101
110
|
readonly mode: SuiOptions["mode"];
|
|
102
|
-
}>[]
|
|
111
|
+
}>[]>;
|
|
103
112
|
//#endregion
|
|
104
113
|
export { KnownPackageOptions, KnownPackageResolved, LocalPackageOptions, LocalPackageResolved, PackageCapture, PackageResolved, PublisherAccountMember, knownPackage, localPackage };
|
|
105
114
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1,23 +1,26 @@
|
|
|
1
|
-
import { definePlugin, resource } from "../../substrate/plugin.mjs";
|
|
1
|
+
import { computedInputIdentity, definePlugin, resource, staticInputIdentity } from "../../substrate/plugin.mjs";
|
|
2
2
|
import "../../api/define-plugin.mjs";
|
|
3
|
+
import { CacheService } from "../../substrate/runtime/cache/service.mjs";
|
|
4
|
+
import "../../substrate/runtime/cache/index.mjs";
|
|
3
5
|
import { ContainerRuntimeService } from "../../runtime/docker/service.mjs";
|
|
4
|
-
import {
|
|
6
|
+
import { PluginContext, emitContributions } from "../../substrate/plugin-ctx.mjs";
|
|
5
7
|
import { chainProbeFor } from "../../substrate/runtime/strategy-registry/chain-probe-for.mjs";
|
|
6
8
|
import "../../substrate/runtime/strategy-registry/index.mjs";
|
|
7
|
-
import {
|
|
9
|
+
import { CoinRegistryService } from "../coin/registry.mjs";
|
|
8
10
|
import { PACKAGE_REGISTRY_CAPABILITY_KEY, PackageRegistryService } from "./registry.mjs";
|
|
9
11
|
import { projection } from "../../api/define-capabilities.mjs";
|
|
10
|
-
import { pluginErrorContributions } from "../../api/plugin-errors.mjs";
|
|
11
12
|
import { suiResource } from "../sui/index.mjs";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import "
|
|
13
|
+
import { pickCreatedByType } from "./publish-output.mjs";
|
|
14
|
+
import { discoverCoinsFromPublish } from "../coin/discovery.mjs";
|
|
15
|
+
import "../coin/index.mjs";
|
|
16
|
+
import { makeKnownCodegenable, makeKnownStaticCodegen, makeLocalCodegenable, makeLocalStaticCodegen } from "./codegen.mjs";
|
|
17
|
+
import { hashMoveSources } from "./build.mjs";
|
|
18
|
+
import { materializeGitSource } from "./git-source.mjs";
|
|
15
19
|
import { makePublishExecutor } from "./publish-executor.mjs";
|
|
16
20
|
import { bootPackageService } from "./service.mjs";
|
|
17
21
|
import { makeSnapshotable } from "./snapshot.mjs";
|
|
18
22
|
import { Effect } from "effect";
|
|
19
23
|
//#region src/plugins/package/index.ts
|
|
20
|
-
const packageErrorContributions = pluginErrorContributions(PACKAGE_ERROR_TAGS);
|
|
21
24
|
/** Resource id constructor. The symbolic package name is part of the tag
|
|
22
25
|
* identity so the substrate's compose-time dedup detects collisions
|
|
23
26
|
* cleanly (two `localPackage('foo', ...)` calls in one stack → typed
|
|
@@ -58,6 +61,9 @@ const normalizeCapture = (packageName, capture) => {
|
|
|
58
61
|
const buildLocalPlugin = (name, opts) => {
|
|
59
62
|
const packageRef = resource(packageResourceId(name));
|
|
60
63
|
const capture = normalizeCapture(name, opts.capture);
|
|
64
|
+
if (opts.sourcePath === void 0 && opts.git === void 0) throw new Error(`localPackage('${name}'): provide either 'sourcePath' or 'git'.`);
|
|
65
|
+
if (opts.sourcePath !== void 0 && opts.git !== void 0) throw new Error(`localPackage('${name}'): 'sourcePath' and 'git' are mutually exclusive.`);
|
|
66
|
+
const resolveSourcePath = () => opts.git !== void 0 ? materializeGitSource(opts.git, name) : Effect.succeed(opts.sourcePath);
|
|
61
67
|
return definePlugin({
|
|
62
68
|
id: packageRef.id,
|
|
63
69
|
dependsOn: {
|
|
@@ -66,18 +72,42 @@ const buildLocalPlugin = (name, opts) => {
|
|
|
66
72
|
},
|
|
67
73
|
role: "task",
|
|
68
74
|
section: "package",
|
|
75
|
+
inputIdentity: computedInputIdentity(() => resolveSourcePath().pipe(Effect.flatMap((sourcePath) => hashMoveSources(sourcePath).pipe(Effect.map((sourceHash) => ({
|
|
76
|
+
plugin: "package",
|
|
77
|
+
kind: "local",
|
|
78
|
+
name,
|
|
79
|
+
sourcePath,
|
|
80
|
+
sourceHash,
|
|
81
|
+
publisher: opts.publisher.id,
|
|
82
|
+
mvrPlaceholder: opts.mvrPlaceholder ?? null,
|
|
83
|
+
excludeFromCodegen: opts.excludeFromCodegen === true,
|
|
84
|
+
capture: opts.capture ?? null,
|
|
85
|
+
networks: opts.networks ?? null,
|
|
86
|
+
git: opts.git ?? null
|
|
87
|
+
})))), Effect.orDie)),
|
|
69
88
|
watch: {
|
|
70
|
-
paths: [
|
|
89
|
+
paths: opts.sourcePath !== void 0 ? [
|
|
71
90
|
`${opts.sourcePath}/**/*.move`,
|
|
72
91
|
`${opts.sourcePath}/Move.toml`,
|
|
73
92
|
`${opts.sourcePath}/Move.lock`
|
|
74
|
-
],
|
|
93
|
+
] : [],
|
|
75
94
|
cascade: true
|
|
76
95
|
},
|
|
96
|
+
staticCodegen: makeLocalStaticCodegen({
|
|
97
|
+
name,
|
|
98
|
+
sourcePath: opts.sourcePath ?? null,
|
|
99
|
+
mvrPlaceholder: opts.mvrPlaceholder,
|
|
100
|
+
excluded: opts.excludeFromCodegen ?? false,
|
|
101
|
+
networks: opts.networks,
|
|
102
|
+
...opts.capture !== void 0 ? { objectKeys: Object.keys(opts.capture) } : {}
|
|
103
|
+
}),
|
|
77
104
|
start: ({ sui, publisher: publisherAccount }) => Effect.gen(function* () {
|
|
78
|
-
const
|
|
79
|
-
const
|
|
105
|
+
const sourcePath = yield* resolveSourcePath();
|
|
106
|
+
const ctx = yield* PluginContext;
|
|
107
|
+
const publisher = yield* CacheService;
|
|
108
|
+
const probe = yield* chainProbeFor(sui.chainId);
|
|
80
109
|
const registry = yield* PackageRegistryService;
|
|
110
|
+
const coinRegistry = yield* CoinRegistryService;
|
|
81
111
|
const containerRuntime = yield* ContainerRuntimeService;
|
|
82
112
|
const executor = makePublishExecutor({
|
|
83
113
|
sdk: sui.sdk,
|
|
@@ -89,22 +119,23 @@ const buildLocalPlugin = (name, opts) => {
|
|
|
89
119
|
const { resolved, output } = yield* bootPackageService(publisher, probe, registry, {
|
|
90
120
|
mode: "local",
|
|
91
121
|
packageName: name,
|
|
92
|
-
sourcePath
|
|
93
|
-
chainId: sui.
|
|
122
|
+
sourcePath,
|
|
123
|
+
chainId: sui.chainId,
|
|
94
124
|
publisherAddress: publisherAccount.address,
|
|
95
125
|
mvrOverride: opts.mvrPlaceholder,
|
|
96
126
|
...capture !== void 0 ? { capture } : {},
|
|
97
127
|
executor
|
|
98
128
|
});
|
|
99
|
-
|
|
129
|
+
const projected = {
|
|
100
130
|
...resolved,
|
|
101
131
|
captured: resolved.captured,
|
|
102
132
|
publisher: publisherAccount,
|
|
103
133
|
publishResult: output
|
|
104
134
|
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
135
|
+
emitContributions(ctx, makeLocalCapabilities(name, opts, projected));
|
|
136
|
+
if (output !== null) yield* discoverPublishedCoins(coinRegistry, name, projected.packageId, output);
|
|
137
|
+
return projected;
|
|
138
|
+
})
|
|
108
139
|
});
|
|
109
140
|
};
|
|
110
141
|
const buildKnownPlugin = (name, opts) => {
|
|
@@ -113,21 +144,37 @@ const buildKnownPlugin = (name, opts) => {
|
|
|
113
144
|
dependsOn: { sui: suiResource },
|
|
114
145
|
role: "task",
|
|
115
146
|
section: "package",
|
|
147
|
+
inputIdentity: staticInputIdentity({
|
|
148
|
+
plugin: "package",
|
|
149
|
+
kind: "known",
|
|
150
|
+
name,
|
|
151
|
+
packageId: opts.packageId,
|
|
152
|
+
upgradeCapId: opts.upgradeCapId ?? null,
|
|
153
|
+
mvrPlaceholder: opts.mvrPlaceholder ?? null,
|
|
154
|
+
networks: opts.networks ?? null
|
|
155
|
+
}),
|
|
156
|
+
staticCodegen: makeKnownStaticCodegen({
|
|
157
|
+
name,
|
|
158
|
+
packageId: opts.packageId,
|
|
159
|
+
mvrPlaceholder: opts.mvrPlaceholder,
|
|
160
|
+
...opts.upgradeCapId !== void 0 ? { upgradeCapId: opts.upgradeCapId } : {},
|
|
161
|
+
networks: opts.networks
|
|
162
|
+
}),
|
|
116
163
|
start: ({ sui }) => Effect.gen(function* () {
|
|
117
|
-
const
|
|
164
|
+
const ctx = yield* PluginContext;
|
|
165
|
+
const { resolved } = yield* bootPackageService(yield* CacheService, yield* chainProbeFor(sui.chainId), yield* PackageRegistryService, {
|
|
118
166
|
mode: "known",
|
|
119
167
|
packageName: name,
|
|
120
168
|
packageId: opts.packageId,
|
|
121
169
|
upgradeCapId: opts.upgradeCapId,
|
|
122
170
|
mvrOverride: opts.mvrPlaceholder
|
|
123
171
|
});
|
|
172
|
+
emitContributions(ctx, makeKnownCapabilities(name, opts, resolved));
|
|
124
173
|
return resolved;
|
|
125
|
-
})
|
|
126
|
-
errorContributions: packageErrorContributions,
|
|
127
|
-
capabilities: ({ value }) => makeKnownCapabilities(name, opts, value)
|
|
174
|
+
})
|
|
128
175
|
});
|
|
129
176
|
};
|
|
130
|
-
const makeLocalCapabilities = (name, opts, resolved
|
|
177
|
+
const makeLocalCapabilities = (name, opts, resolved) => {
|
|
131
178
|
const snap = makeSnapshotable(name, resolved.publishResult?.packageId ?? resolved.packageId);
|
|
132
179
|
const codegen = makeLocalCodegenable({
|
|
133
180
|
kind: "local",
|
|
@@ -137,7 +184,10 @@ const makeLocalCapabilities = (name, opts, resolved, chain) => {
|
|
|
137
184
|
sourcePath: resolved.sourcePath,
|
|
138
185
|
mvrPlaceholder: resolved.mvrPlaceholder,
|
|
139
186
|
captured: resolved.captured
|
|
140
|
-
}, {
|
|
187
|
+
}, {
|
|
188
|
+
excluded: opts.excludeFromCodegen ?? false,
|
|
189
|
+
...opts.networks !== void 0 ? { networks: opts.networks } : {}
|
|
190
|
+
});
|
|
141
191
|
const projection = {
|
|
142
192
|
kind: "local",
|
|
143
193
|
name,
|
|
@@ -155,13 +205,7 @@ const makeLocalCapabilities = (name, opts, resolved, chain) => {
|
|
|
155
205
|
strategy: projection,
|
|
156
206
|
autoMounted: true
|
|
157
207
|
},
|
|
158
|
-
makePackageProjectionContribution(projection)
|
|
159
|
-
...resolved.publishResult === null ? [] : [makeLocalPackagePublishedDecl({
|
|
160
|
-
packageName: name,
|
|
161
|
-
packageId: resolved.packageId,
|
|
162
|
-
chain,
|
|
163
|
-
output: resolved.publishResult
|
|
164
|
-
})]
|
|
208
|
+
makePackageProjectionContribution(projection)
|
|
165
209
|
];
|
|
166
210
|
};
|
|
167
211
|
const makeKnownCapabilities = (name, opts, resolved) => {
|
|
@@ -172,7 +216,7 @@ const makeKnownCapabilities = (name, opts, resolved) => {
|
|
|
172
216
|
packageId: resolved.packageId,
|
|
173
217
|
upgradeCapId: resolved.upgradeCapId ?? opts.upgradeCapId,
|
|
174
218
|
mvrPlaceholder: resolved.mvrPlaceholder
|
|
175
|
-
});
|
|
219
|
+
}, opts.networks !== void 0 ? { networks: opts.networks } : {});
|
|
176
220
|
const projection = {
|
|
177
221
|
kind: "known",
|
|
178
222
|
name,
|
|
@@ -193,6 +237,37 @@ const makeKnownCapabilities = (name, opts, resolved) => {
|
|
|
193
237
|
makePackageProjectionContribution(projection)
|
|
194
238
|
];
|
|
195
239
|
};
|
|
240
|
+
/** Fold a fresh local-package publish output into the per-stack
|
|
241
|
+
* `CoinRegistry`. Lifted VERBATIM from the orchestrator's former
|
|
242
|
+
* `publishResultSink` (orchestrators/boot.ts): the same
|
|
243
|
+
* `discoverCoinsFromPublish` walk + the same `CoinRecord` projection
|
|
244
|
+
* (including the publisher-owns-cap gate on `treasuryCapId`).
|
|
245
|
+
*
|
|
246
|
+
* Re-homing this into the local `start` body — AFTER the publish output
|
|
247
|
+
* is known, BEFORE `start` returns — preserves discovery timing: the
|
|
248
|
+
* coin plugin `dependsOn` package, so it acquires only after package
|
|
249
|
+
* readies, by which point the registry is already populated. The
|
|
250
|
+
* previous decl-driven sink ran at the same point in the lifecycle
|
|
251
|
+
* (post-`start` dispatch), so consumers see no ordering change. */
|
|
252
|
+
const discoverPublishedCoins = (coinRegistry, packageName, packageId, output) => Effect.gen(function* () {
|
|
253
|
+
for (const discovered of discoverCoinsFromPublish(output)) {
|
|
254
|
+
const record = {
|
|
255
|
+
key: (discovered.symbol ?? discovered.witness).toLowerCase(),
|
|
256
|
+
type: discovered.fullCoinType,
|
|
257
|
+
witness: discovered.witness,
|
|
258
|
+
moduleName: discovered.moduleName,
|
|
259
|
+
decimals: discovered.decimals ?? 0,
|
|
260
|
+
...discovered.symbol === void 0 ? {} : { symbol: discovered.symbol },
|
|
261
|
+
...discovered.displayName === void 0 ? {} : { displayName: discovered.displayName },
|
|
262
|
+
...discovered.iconUrl === void 0 ? {} : { iconUrl: discovered.iconUrl },
|
|
263
|
+
...!discovered.publisherOwnsCap || discovered.treasuryCapId === void 0 ? {} : { treasuryCapId: discovered.treasuryCapId },
|
|
264
|
+
...discovered.metadataId === void 0 ? {} : { metadataId: discovered.metadataId },
|
|
265
|
+
packageId,
|
|
266
|
+
publishingPackageName: packageName
|
|
267
|
+
};
|
|
268
|
+
yield* coinRegistry.register(record);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
196
271
|
/** Build + publish a local Move package. The resolved value is
|
|
197
272
|
* `LocalPackageResolved` so consumers that need bindings / source
|
|
198
273
|
* path are typed correctly.
|