@mysten-incubation/devstack 0.0.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/LICENSE +189 -0
- package/README.md +94 -0
- package/dist/_virtual/_rolldown/runtime.mjs +13 -0
- package/dist/api/define-capabilities.d.mts +25 -0
- package/dist/api/define-capabilities.mjs +19 -0
- package/dist/api/define-capabilities.mjs.map +1 -0
- package/dist/api/define-devstack-with.d.mts +41 -0
- package/dist/api/define-devstack-with.mjs +24 -0
- package/dist/api/define-devstack-with.mjs.map +1 -0
- package/dist/api/define-devstack.d.mts +62 -0
- package/dist/api/define-devstack.mjs +108 -0
- package/dist/api/define-devstack.mjs.map +1 -0
- package/dist/api/define-plugin.d.mts +1 -0
- package/dist/api/inference-network.mjs +122 -0
- package/dist/api/inference-network.mjs.map +1 -0
- package/dist/api/mode-narrowed-factory.d.mts +26 -0
- package/dist/api/mode-narrowed-factory.mjs +8 -0
- package/dist/api/mode-narrowed-factory.mjs.map +1 -0
- package/dist/api/plugin-errors.mjs +10 -0
- package/dist/api/plugin-errors.mjs.map +1 -0
- package/dist/api/run-stack.d.mts +82 -0
- package/dist/api/run-stack.mjs +127 -0
- package/dist/api/run-stack.mjs.map +1 -0
- package/dist/build-integrations/playwright/config.d.mts +92 -0
- package/dist/build-integrations/playwright/config.mjs +71 -0
- package/dist/build-integrations/playwright/config.mjs.map +1 -0
- package/dist/build-integrations/playwright/errors.d.mts +82 -0
- package/dist/build-integrations/playwright/errors.mjs +43 -0
- package/dist/build-integrations/playwright/errors.mjs.map +1 -0
- package/dist/build-integrations/playwright/global-setup.d.mts +64 -0
- package/dist/build-integrations/playwright/global-setup.mjs +44 -0
- package/dist/build-integrations/playwright/global-setup.mjs.map +1 -0
- package/dist/build-integrations/playwright/index.d.mts +6 -0
- package/dist/build-integrations/playwright/index.mjs +6 -0
- package/dist/build-integrations/playwright/stack-context.d.mts +95 -0
- package/dist/build-integrations/playwright/stack-context.mjs +277 -0
- package/dist/build-integrations/playwright/stack-context.mjs.map +1 -0
- package/dist/build-integrations/playwright/wallet-context.d.mts +87 -0
- package/dist/build-integrations/playwright/wallet-context.mjs +148 -0
- package/dist/build-integrations/playwright/wallet-context.mjs.map +1 -0
- package/dist/build-integrations/runtime/cold-start-url.d.mts +67 -0
- package/dist/build-integrations/runtime/cold-start-url.mjs +56 -0
- package/dist/build-integrations/runtime/cold-start-url.mjs.map +1 -0
- package/dist/build-integrations/runtime/dapp-kit-slot.mjs +10 -0
- package/dist/build-integrations/runtime/dapp-kit-slot.mjs.map +1 -0
- package/dist/build-integrations/runtime/discover.d.mts +78 -0
- package/dist/build-integrations/runtime/discover.mjs +124 -0
- package/dist/build-integrations/runtime/discover.mjs.map +1 -0
- package/dist/build-integrations/runtime/endpoint-registry.d.mts +26 -0
- package/dist/build-integrations/runtime/endpoint-registry.mjs +41 -0
- package/dist/build-integrations/runtime/endpoint-registry.mjs.map +1 -0
- package/dist/build-integrations/runtime/errors.d.mts +64 -0
- package/dist/build-integrations/runtime/errors.mjs +51 -0
- package/dist/build-integrations/runtime/errors.mjs.map +1 -0
- package/dist/build-integrations/runtime/index.d.mts +7 -0
- package/dist/build-integrations/runtime/index.mjs +6 -0
- package/dist/build-integrations/runtime/read-stack-context.d.mts +38 -0
- package/dist/build-integrations/runtime/read-stack-context.mjs +130 -0
- package/dist/build-integrations/runtime/read-stack-context.mjs.map +1 -0
- package/dist/build-integrations/runtime/stack-context.d.mts +53 -0
- package/dist/build-integrations/vitest/config.d.mts +62 -0
- package/dist/build-integrations/vitest/config.mjs +80 -0
- package/dist/build-integrations/vitest/config.mjs.map +1 -0
- package/dist/build-integrations/vitest/env.d.mts +48 -0
- package/dist/build-integrations/vitest/env.mjs +50 -0
- package/dist/build-integrations/vitest/env.mjs.map +1 -0
- package/dist/build-integrations/vitest/errors.d.mts +44 -0
- package/dist/build-integrations/vitest/errors.mjs +18 -0
- package/dist/build-integrations/vitest/errors.mjs.map +1 -0
- package/dist/build-integrations/vitest/index.d.mts +6 -0
- package/dist/build-integrations/vitest/index.mjs +6 -0
- package/dist/build-integrations/vitest/setup.d.mts +53 -0
- package/dist/build-integrations/vitest/setup.mjs +56 -0
- package/dist/build-integrations/vitest/setup.mjs.map +1 -0
- package/dist/build-integrations/vitest/stack-context.d.mts +58 -0
- package/dist/build-integrations/vitest/stack-context.mjs +67 -0
- package/dist/build-integrations/vitest/stack-context.mjs.map +1 -0
- package/dist/cli/main.d.mts +5 -0
- package/dist/cli/main.mjs +586 -0
- package/dist/cli/main.mjs.map +1 -0
- package/dist/cli/prune-direct.mjs +216 -0
- package/dist/cli/prune-direct.mjs.map +1 -0
- package/dist/cli/snapshot-reader.mjs +73 -0
- package/dist/cli/snapshot-reader.mjs.map +1 -0
- package/dist/cli/up-lifecycle.mjs +28 -0
- package/dist/cli/up-lifecycle.mjs.map +1 -0
- package/dist/contracts/capability-decl.d.mts +42 -0
- package/dist/contracts/chain-probe.d.mts +26 -0
- package/dist/contracts/chain-probe.mjs +8 -0
- package/dist/contracts/chain-probe.mjs.map +1 -0
- package/dist/contracts/codegenable.d.mts +43 -0
- package/dist/contracts/container-runtime.d.mts +245 -0
- package/dist/contracts/liveness-classifier.d.mts +19 -0
- package/dist/contracts/network-resolver.d.mts +15 -0
- package/dist/contracts/network-resolver.mjs +7 -0
- package/dist/contracts/network-resolver.mjs.map +1 -0
- package/dist/contracts/projection.d.mts +15 -0
- package/dist/contracts/routable.d.mts +53 -0
- package/dist/contracts/snapshotable.d.mts +39 -0
- package/dist/contracts/strategy-contributor.d.mts +26 -0
- package/dist/index.d.mts +89 -0
- package/dist/index.mjs +37 -0
- package/dist/orchestrators/codegen/bindings.d.mts +2 -0
- package/dist/orchestrators/codegen/bindings.mjs +340 -0
- package/dist/orchestrators/codegen/bindings.mjs.map +1 -0
- package/dist/orchestrators/codegen/emit.mjs +56 -0
- package/dist/orchestrators/codegen/emit.mjs.map +1 -0
- package/dist/orchestrators/codegen/errors.d.mts +1 -0
- package/dist/orchestrators/codegen/errors.mjs +66 -0
- package/dist/orchestrators/codegen/errors.mjs.map +1 -0
- package/dist/orchestrators/codegen/extras.mjs +16 -0
- package/dist/orchestrators/codegen/extras.mjs.map +1 -0
- package/dist/orchestrators/codegen/format.mjs +109 -0
- package/dist/orchestrators/codegen/format.mjs.map +1 -0
- package/dist/orchestrators/codegen/gitignore.mjs +67 -0
- package/dist/orchestrators/codegen/gitignore.mjs.map +1 -0
- package/dist/orchestrators/codegen/paths.d.mts +1 -0
- package/dist/orchestrators/codegen/paths.mjs +33 -0
- package/dist/orchestrators/codegen/paths.mjs.map +1 -0
- package/dist/orchestrators/codegen/permissions.mjs +6 -0
- package/dist/orchestrators/codegen/permissions.mjs.map +1 -0
- package/dist/orchestrators/codegen/service.d.mts +1 -0
- package/dist/orchestrators/codegen/service.mjs +276 -0
- package/dist/orchestrators/codegen/service.mjs.map +1 -0
- package/dist/orchestrators/router/cleanup.mjs +58 -0
- package/dist/orchestrators/router/cleanup.mjs.map +1 -0
- package/dist/orchestrators/router/cors.mjs +31 -0
- package/dist/orchestrators/router/cors.mjs.map +1 -0
- package/dist/orchestrators/router/entrypoints.d.mts +1 -0
- package/dist/orchestrators/router/entrypoints.mjs +80 -0
- package/dist/orchestrators/router/entrypoints.mjs.map +1 -0
- package/dist/orchestrators/router/errors.d.mts +1 -0
- package/dist/orchestrators/router/errors.mjs +103 -0
- package/dist/orchestrators/router/errors.mjs.map +1 -0
- package/dist/orchestrators/router/file-provider.d.mts +1 -0
- package/dist/orchestrators/router/file-provider.mjs +320 -0
- package/dist/orchestrators/router/file-provider.mjs.map +1 -0
- package/dist/orchestrators/router/hostname.d.mts +1 -0
- package/dist/orchestrators/router/hostname.mjs +107 -0
- package/dist/orchestrators/router/hostname.mjs.map +1 -0
- package/dist/orchestrators/router/index.d.mts +1 -0
- package/dist/orchestrators/router/profile.d.mts +1 -0
- package/dist/orchestrators/router/profile.mjs +109 -0
- package/dist/orchestrators/router/profile.mjs.map +1 -0
- package/dist/orchestrators/router/service.d.mts +3 -0
- package/dist/orchestrators/router/service.mjs +421 -0
- package/dist/orchestrators/router/service.mjs.map +1 -0
- package/dist/orchestrators/router/traefik-container.d.mts +1 -0
- package/dist/orchestrators/router/traefik-container.mjs +229 -0
- package/dist/orchestrators/router/traefik-container.mjs.map +1 -0
- package/dist/orchestrators/runtime-composition.d.mts +10 -0
- package/dist/orchestrators/runtime-composition.mjs +168 -0
- package/dist/orchestrators/runtime-composition.mjs.map +1 -0
- package/dist/orchestrators/snapshot/capture.d.mts +1 -0
- package/dist/orchestrators/snapshot/capture.mjs +350 -0
- package/dist/orchestrators/snapshot/capture.mjs.map +1 -0
- package/dist/orchestrators/snapshot/descriptor.d.mts +1 -0
- package/dist/orchestrators/snapshot/descriptor.mjs +109 -0
- package/dist/orchestrators/snapshot/descriptor.mjs.map +1 -0
- package/dist/orchestrators/snapshot/identity-guard.d.mts +1 -0
- package/dist/orchestrators/snapshot/identity-guard.mjs +132 -0
- package/dist/orchestrators/snapshot/identity-guard.mjs.map +1 -0
- package/dist/orchestrators/snapshot/image-bundle-tags.mjs +207 -0
- package/dist/orchestrators/snapshot/image-bundle-tags.mjs.map +1 -0
- package/dist/orchestrators/snapshot/index.d.mts +1 -0
- package/dist/orchestrators/snapshot/integrity.d.mts +1 -0
- package/dist/orchestrators/snapshot/integrity.mjs +74 -0
- package/dist/orchestrators/snapshot/integrity.mjs.map +1 -0
- package/dist/orchestrators/snapshot/prune.d.mts +1 -0
- package/dist/orchestrators/snapshot/prune.mjs +110 -0
- package/dist/orchestrators/snapshot/prune.mjs.map +1 -0
- package/dist/orchestrators/snapshot/restore.d.mts +1 -0
- package/dist/orchestrators/snapshot/restore.mjs +404 -0
- package/dist/orchestrators/snapshot/restore.mjs.map +1 -0
- package/dist/orchestrators/snapshot/service.d.mts +1 -0
- package/dist/orchestrators/snapshot/service.mjs +296 -0
- package/dist/orchestrators/snapshot/service.mjs.map +1 -0
- package/dist/orchestrators/snapshot/state-document.mjs +18 -0
- package/dist/orchestrators/snapshot/state-document.mjs.map +1 -0
- package/dist/orchestrators/snapshot/wipe.d.mts +1 -0
- package/dist/orchestrators/snapshot/wipe.mjs +59 -0
- package/dist/orchestrators/snapshot/wipe.mjs.map +1 -0
- package/dist/plugins/account/codegen.d.mts +12 -0
- package/dist/plugins/account/codegen.mjs +22 -0
- package/dist/plugins/account/codegen.mjs.map +1 -0
- package/dist/plugins/account/errors.d.mts +44 -0
- package/dist/plugins/account/errors.mjs +16 -0
- package/dist/plugins/account/errors.mjs.map +1 -0
- package/dist/plugins/account/funding.d.mts +94 -0
- package/dist/plugins/account/funding.mjs +199 -0
- package/dist/plugins/account/funding.mjs.map +1 -0
- package/dist/plugins/account/index.d.mts +54 -0
- package/dist/plugins/account/index.mjs +151 -0
- package/dist/plugins/account/index.mjs.map +1 -0
- package/dist/plugins/account/keypair.d.mts +32 -0
- package/dist/plugins/account/keypair.mjs +99 -0
- package/dist/plugins/account/keypair.mjs.map +1 -0
- package/dist/plugins/account/lease.mjs +21 -0
- package/dist/plugins/account/lease.mjs.map +1 -0
- package/dist/plugins/account/registry.d.mts +33 -0
- package/dist/plugins/account/registry.mjs +36 -0
- package/dist/plugins/account/registry.mjs.map +1 -0
- package/dist/plugins/account/service.d.mts +104 -0
- package/dist/plugins/account/service.mjs +405 -0
- package/dist/plugins/account/service.mjs.map +1 -0
- package/dist/plugins/account/snapshot.mjs +33 -0
- package/dist/plugins/account/snapshot.mjs.map +1 -0
- package/dist/plugins/account/variants/env.mjs +24 -0
- package/dist/plugins/account/variants/env.mjs.map +1 -0
- package/dist/plugins/account/variants/ephemeral.mjs +72 -0
- package/dist/plugins/account/variants/ephemeral.mjs.map +1 -0
- package/dist/plugins/account/variants/impersonate.d.mts +16 -0
- package/dist/plugins/account/variants/impersonate.mjs +48 -0
- package/dist/plugins/account/variants/impersonate.mjs.map +1 -0
- package/dist/plugins/account/variants/inline.mjs +13 -0
- package/dist/plugins/account/variants/inline.mjs.map +1 -0
- package/dist/plugins/account/variants/keystore.mjs +93 -0
- package/dist/plugins/account/variants/keystore.mjs.map +1 -0
- package/dist/plugins/account/variants/signer.mjs +31 -0
- package/dist/plugins/account/variants/signer.mjs.map +1 -0
- package/dist/plugins/action/build-context.d.mts +41 -0
- package/dist/plugins/action/discriminator.d.mts +20 -0
- package/dist/plugins/action/discriminator.mjs +13 -0
- package/dist/plugins/action/discriminator.mjs.map +1 -0
- package/dist/plugins/action/errors.d.mts +31 -0
- package/dist/plugins/action/errors.mjs +13 -0
- package/dist/plugins/action/errors.mjs.map +1 -0
- package/dist/plugins/action/execute.d.mts +2 -0
- package/dist/plugins/action/execute.mjs +145 -0
- package/dist/plugins/action/execute.mjs.map +1 -0
- package/dist/plugins/action/index.d.mts +56 -0
- package/dist/plugins/action/index.mjs +82 -0
- package/dist/plugins/action/index.mjs.map +1 -0
- package/dist/plugins/action/service.d.mts +26 -0
- package/dist/plugins/action/service.mjs +84 -0
- package/dist/plugins/action/service.mjs.map +1 -0
- package/dist/plugins/coin/address-resolution.d.mts +34 -0
- package/dist/plugins/coin/address-resolution.mjs +80 -0
- package/dist/plugins/coin/address-resolution.mjs.map +1 -0
- package/dist/plugins/coin/codegen.d.mts +16 -0
- package/dist/plugins/coin/codegen.mjs +21 -0
- package/dist/plugins/coin/codegen.mjs.map +1 -0
- package/dist/plugins/coin/discovery.d.mts +26 -0
- package/dist/plugins/coin/discovery.mjs +112 -0
- package/dist/plugins/coin/discovery.mjs.map +1 -0
- package/dist/plugins/coin/errors.d.mts +48 -0
- package/dist/plugins/coin/errors.mjs +13 -0
- package/dist/plugins/coin/errors.mjs.map +1 -0
- package/dist/plugins/coin/index.d.mts +95 -0
- package/dist/plugins/coin/index.mjs +172 -0
- package/dist/plugins/coin/index.mjs.map +1 -0
- package/dist/plugins/coin/metadata.d.mts +15 -0
- package/dist/plugins/coin/metadata.mjs +99 -0
- package/dist/plugins/coin/metadata.mjs.map +1 -0
- package/dist/plugins/coin/mint.d.mts +34 -0
- package/dist/plugins/coin/mint.mjs +164 -0
- package/dist/plugins/coin/mint.mjs.map +1 -0
- package/dist/plugins/coin/registry.d.mts +1 -0
- package/dist/plugins/coin/registry.mjs +37 -0
- package/dist/plugins/coin/registry.mjs.map +1 -0
- package/dist/plugins/coin/service.d.mts +47 -0
- package/dist/plugins/coin/service.mjs +51 -0
- package/dist/plugins/coin/service.mjs.map +1 -0
- package/dist/plugins/coin/snapshot.mjs +19 -0
- package/dist/plugins/coin/snapshot.mjs.map +1 -0
- package/dist/plugins/coin/type-strings.mjs +49 -0
- package/dist/plugins/coin/type-strings.mjs.map +1 -0
- package/dist/plugins/deepbook/codegen.d.mts +39 -0
- package/dist/plugins/deepbook/codegen.mjs +15 -0
- package/dist/plugins/deepbook/codegen.mjs.map +1 -0
- package/dist/plugins/deepbook/deploy.mjs +437 -0
- package/dist/plugins/deepbook/deploy.mjs.map +1 -0
- package/dist/plugins/deepbook/errors.d.mts +29 -0
- package/dist/plugins/deepbook/errors.mjs +26 -0
- package/dist/plugins/deepbook/errors.mjs.map +1 -0
- package/dist/plugins/deepbook/faucet-strategy.d.mts +8 -0
- package/dist/plugins/deepbook/faucet-strategy.mjs +81 -0
- package/dist/plugins/deepbook/faucet-strategy.mjs.map +1 -0
- package/dist/plugins/deepbook/index.d.mts +171 -0
- package/dist/plugins/deepbook/index.mjs +359 -0
- package/dist/plugins/deepbook/index.mjs.map +1 -0
- package/dist/plugins/deepbook/plugin-key.mjs +7 -0
- package/dist/plugins/deepbook/plugin-key.mjs.map +1 -0
- package/dist/plugins/deepbook/pyth/index.mjs +226 -0
- package/dist/plugins/deepbook/pyth/index.mjs.map +1 -0
- package/dist/plugins/deepbook/routable.mjs +21 -0
- package/dist/plugins/deepbook/routable.mjs.map +1 -0
- package/dist/plugins/deepbook/snapshot.mjs +49 -0
- package/dist/plugins/deepbook/snapshot.mjs.map +1 -0
- package/dist/plugins/deepbook/types.d.mts +125 -0
- package/dist/plugins/deepbook/types.mjs +12 -0
- package/dist/plugins/deepbook/types.mjs.map +1 -0
- package/dist/plugins/faucet/dispatcher.d.mts +9 -0
- package/dist/plugins/faucet/dispatcher.mjs +13 -0
- package/dist/plugins/faucet/dispatcher.mjs.map +1 -0
- package/dist/plugins/faucet/errors.d.mts +86 -0
- package/dist/plugins/faucet/errors.mjs +19 -0
- package/dist/plugins/faucet/errors.mjs.map +1 -0
- package/dist/plugins/faucet/http.mjs +127 -0
- package/dist/plugins/faucet/http.mjs.map +1 -0
- package/dist/plugins/faucet/index.d.mts +43 -0
- package/dist/plugins/faucet/index.mjs +42 -0
- package/dist/plugins/faucet/index.mjs.map +1 -0
- package/dist/plugins/faucet/service.d.mts +20 -0
- package/dist/plugins/faucet/strategies/sui-local.d.mts +23 -0
- package/dist/plugins/faucet/strategies/sui-local.mjs +29 -0
- package/dist/plugins/faucet/strategies/sui-local.mjs.map +1 -0
- package/dist/plugins/host-service/errors.d.mts +27 -0
- package/dist/plugins/host-service/errors.mjs +14 -0
- package/dist/plugins/host-service/errors.mjs.map +1 -0
- package/dist/plugins/host-service/index.d.mts +10 -0
- package/dist/plugins/host-service/index.mjs +48 -0
- package/dist/plugins/host-service/index.mjs.map +1 -0
- package/dist/plugins/host-service/routable.mjs +24 -0
- package/dist/plugins/host-service/routable.mjs.map +1 -0
- package/dist/plugins/host-service/service.d.mts +49 -0
- package/dist/plugins/host-service/service.mjs +375 -0
- package/dist/plugins/host-service/service.mjs.map +1 -0
- package/dist/plugins/package/build.d.mts +1 -0
- package/dist/plugins/package/build.mjs +24 -0
- package/dist/plugins/package/build.mjs.map +1 -0
- package/dist/plugins/package/codegen.d.mts +19 -0
- package/dist/plugins/package/codegen.mjs +41 -0
- package/dist/plugins/package/codegen.mjs.map +1 -0
- package/dist/plugins/package/dep-resolution.mjs +10 -0
- package/dist/plugins/package/dep-resolution.mjs.map +1 -0
- package/dist/plugins/package/errors.d.mts +34 -0
- package/dist/plugins/package/errors.mjs +13 -0
- package/dist/plugins/package/errors.mjs.map +1 -0
- package/dist/plugins/package/index.d.mts +109 -0
- package/dist/plugins/package/index.mjs +207 -0
- package/dist/plugins/package/index.mjs.map +1 -0
- package/dist/plugins/package/mode-known.mjs +41 -0
- package/dist/plugins/package/mode-known.mjs.map +1 -0
- package/dist/plugins/package/mode-local.d.mts +1 -0
- package/dist/plugins/package/mode-local.mjs +183 -0
- package/dist/plugins/package/mode-local.mjs.map +1 -0
- package/dist/plugins/package/publish-executor.mjs +202 -0
- package/dist/plugins/package/publish-executor.mjs.map +1 -0
- package/dist/plugins/package/publish-output.d.mts +28 -0
- package/dist/plugins/package/publish-output.mjs +45 -0
- package/dist/plugins/package/publish-output.mjs.map +1 -0
- package/dist/plugins/package/registry.d.mts +25 -0
- package/dist/plugins/package/registry.mjs +30 -0
- package/dist/plugins/package/registry.mjs.map +1 -0
- package/dist/plugins/package/service.mjs +20 -0
- package/dist/plugins/package/service.mjs.map +1 -0
- package/dist/plugins/package/snapshot.mjs +25 -0
- package/dist/plugins/package/snapshot.mjs.map +1 -0
- package/dist/plugins/postgres/codegen.mjs +42 -0
- package/dist/plugins/postgres/codegen.mjs.map +1 -0
- package/dist/plugins/postgres/connection.d.mts +33 -0
- package/dist/plugins/postgres/connection.mjs +19 -0
- package/dist/plugins/postgres/connection.mjs.map +1 -0
- package/dist/plugins/postgres/db-ensure.mjs +100 -0
- package/dist/plugins/postgres/db-ensure.mjs.map +1 -0
- package/dist/plugins/postgres/errors.d.mts +55 -0
- package/dist/plugins/postgres/errors.mjs +29 -0
- package/dist/plugins/postgres/errors.mjs.map +1 -0
- package/dist/plugins/postgres/index.d.mts +37 -0
- package/dist/plugins/postgres/index.mjs +75 -0
- package/dist/plugins/postgres/index.mjs.map +1 -0
- package/dist/plugins/postgres/routable.mjs +33 -0
- package/dist/plugins/postgres/routable.mjs.map +1 -0
- package/dist/plugins/postgres/service.d.mts +50 -0
- package/dist/plugins/postgres/service.mjs +145 -0
- package/dist/plugins/postgres/service.mjs.map +1 -0
- package/dist/plugins/postgres/snapshot.d.mts +1 -0
- package/dist/plugins/postgres/snapshot.mjs +32 -0
- package/dist/plugins/postgres/snapshot.mjs.map +1 -0
- package/dist/plugins/router-entrypoints.mjs +21 -0
- package/dist/plugins/router-entrypoints.mjs.map +1 -0
- package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs +59 -0
- package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs.map +1 -0
- package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs +132 -0
- package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs.map +1 -0
- package/dist/plugins/seal/codegen.d.mts +19 -0
- package/dist/plugins/seal/codegen.mjs +16 -0
- package/dist/plugins/seal/codegen.mjs.map +1 -0
- package/dist/plugins/seal/config-render.mjs +82 -0
- package/dist/plugins/seal/config-render.mjs.map +1 -0
- package/dist/plugins/seal/deploy.mjs +198 -0
- package/dist/plugins/seal/deploy.mjs.map +1 -0
- package/dist/plugins/seal/errors.d.mts +52 -0
- package/dist/plugins/seal/errors.mjs +19 -0
- package/dist/plugins/seal/errors.mjs.map +1 -0
- package/dist/plugins/seal/index.d.mts +161 -0
- package/dist/plugins/seal/index.mjs +235 -0
- package/dist/plugins/seal/index.mjs.map +1 -0
- package/dist/plugins/seal/key-manager.d.mts +22 -0
- package/dist/plugins/seal/key-manager.mjs +22 -0
- package/dist/plugins/seal/key-manager.mjs.map +1 -0
- package/dist/plugins/seal/key-server.mjs +175 -0
- package/dist/plugins/seal/key-server.mjs.map +1 -0
- package/dist/plugins/seal/keygen.mjs +96 -0
- package/dist/plugins/seal/keygen.mjs.map +1 -0
- package/dist/plugins/seal/mode/fork-known.d.mts +8 -0
- package/dist/plugins/seal/mode/fork-known.mjs +23 -0
- package/dist/plugins/seal/mode/fork-known.mjs.map +1 -0
- package/dist/plugins/seal/mode/live.d.mts +18 -0
- package/dist/plugins/seal/mode/live.mjs +64 -0
- package/dist/plugins/seal/mode/live.mjs.map +1 -0
- package/dist/plugins/seal/mode/local-keygen.mjs +180 -0
- package/dist/plugins/seal/mode/local-keygen.mjs.map +1 -0
- package/dist/plugins/seal/plugin-key.mjs +7 -0
- package/dist/plugins/seal/plugin-key.mjs.map +1 -0
- package/dist/plugins/seal/registry-publish.d.mts +43 -0
- package/dist/plugins/seal/registry-publish.mjs +9 -0
- package/dist/plugins/seal/registry-publish.mjs.map +1 -0
- package/dist/plugins/seal/routable.mjs +57 -0
- package/dist/plugins/seal/routable.mjs.map +1 -0
- package/dist/plugins/seal/service.mjs +17 -0
- package/dist/plugins/seal/service.mjs.map +1 -0
- package/dist/plugins/seal/snapshot.mjs +51 -0
- package/dist/plugins/seal/snapshot.mjs.map +1 -0
- package/dist/plugins/sui/auto-tick.mjs +45 -0
- package/dist/plugins/sui/auto-tick.mjs.map +1 -0
- package/dist/plugins/sui/chain-build-container.d.mts +1 -0
- package/dist/plugins/sui/chain-probe.d.mts +85 -0
- package/dist/plugins/sui/chain-probe.mjs +104 -0
- package/dist/plugins/sui/chain-probe.mjs.map +1 -0
- package/dist/plugins/sui/codegen.d.mts +14 -0
- package/dist/plugins/sui/codegen.mjs +26 -0
- package/dist/plugins/sui/codegen.mjs.map +1 -0
- package/dist/plugins/sui/errors.d.mts +74 -0
- package/dist/plugins/sui/errors.mjs +28 -0
- package/dist/plugins/sui/errors.mjs.map +1 -0
- package/dist/plugins/sui/fork-orchestration.mjs +24 -0
- package/dist/plugins/sui/fork-orchestration.mjs.map +1 -0
- package/dist/plugins/sui/fork-transaction.mjs +96 -0
- package/dist/plugins/sui/fork-transaction.mjs.map +1 -0
- package/dist/plugins/sui/index.d.mts +318 -0
- package/dist/plugins/sui/index.mjs +182 -0
- package/dist/plugins/sui/index.mjs.map +1 -0
- package/dist/plugins/sui/mode/external.mjs +60 -0
- package/dist/plugins/sui/mode/external.mjs.map +1 -0
- package/dist/plugins/sui/mode/fork.mjs +283 -0
- package/dist/plugins/sui/mode/fork.mjs.map +1 -0
- package/dist/plugins/sui/mode/live.mjs +103 -0
- package/dist/plugins/sui/mode/live.mjs.map +1 -0
- package/dist/plugins/sui/mode/local.mjs +293 -0
- package/dist/plugins/sui/mode/local.mjs.map +1 -0
- package/dist/plugins/sui/mode/shared-boot.mjs +254 -0
- package/dist/plugins/sui/mode/shared-boot.mjs.map +1 -0
- package/dist/plugins/sui/mode/shared.d.mts +103 -0
- package/dist/plugins/sui/mode/shared.mjs +12 -0
- package/dist/plugins/sui/mode/shared.mjs.map +1 -0
- package/dist/plugins/sui/mode/spec.d.mts +94 -0
- package/dist/plugins/sui/network-resolver.d.mts +23 -0
- package/dist/plugins/sui/routable.mjs +88 -0
- package/dist/plugins/sui/routable.mjs.map +1 -0
- package/dist/plugins/sui/seed-objects.d.mts +18 -0
- package/dist/plugins/sui/seed-objects.mjs +25 -0
- package/dist/plugins/sui/seed-objects.mjs.map +1 -0
- package/dist/plugins/sui/service.mjs +38 -0
- package/dist/plugins/sui/service.mjs.map +1 -0
- package/dist/plugins/sui/snapshot.mjs +53 -0
- package/dist/plugins/sui/snapshot.mjs.map +1 -0
- package/dist/plugins/wallet/codegen.d.mts +33 -0
- package/dist/plugins/wallet/codegen.mjs +34 -0
- package/dist/plugins/wallet/codegen.mjs.map +1 -0
- package/dist/plugins/wallet/errors.d.mts +66 -0
- package/dist/plugins/wallet/errors.mjs +16 -0
- package/dist/plugins/wallet/errors.mjs.map +1 -0
- package/dist/plugins/wallet/index.d.mts +63 -0
- package/dist/plugins/wallet/index.mjs +126 -0
- package/dist/plugins/wallet/index.mjs.map +1 -0
- package/dist/plugins/wallet/origin-policy.d.mts +1 -0
- package/dist/plugins/wallet/origin-policy.mjs +65 -0
- package/dist/plugins/wallet/origin-policy.mjs.map +1 -0
- package/dist/plugins/wallet/pairing.d.mts +11 -0
- package/dist/plugins/wallet/pairing.mjs +125 -0
- package/dist/plugins/wallet/pairing.mjs.map +1 -0
- package/dist/plugins/wallet/protocol.d.mts +1 -0
- package/dist/plugins/wallet/protocol.mjs +96 -0
- package/dist/plugins/wallet/protocol.mjs.map +1 -0
- package/dist/plugins/wallet/routable.mjs +32 -0
- package/dist/plugins/wallet/routable.mjs.map +1 -0
- package/dist/plugins/wallet/server.d.mts +12 -0
- package/dist/plugins/wallet/server.mjs +317 -0
- package/dist/plugins/wallet/server.mjs.map +1 -0
- package/dist/plugins/wallet/service.d.mts +68 -0
- package/dist/plugins/wallet/service.mjs +97 -0
- package/dist/plugins/wallet/service.mjs.map +1 -0
- package/dist/plugins/wallet/snapshot.d.mts +1 -0
- package/dist/plugins/wallet/snapshot.mjs +14 -0
- package/dist/plugins/wallet/snapshot.mjs.map +1 -0
- package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs +42 -0
- package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs.map +1 -0
- package/dist/plugins/walrus/codegen.d.mts +38 -0
- package/dist/plugins/walrus/codegen.mjs +34 -0
- package/dist/plugins/walrus/codegen.mjs.map +1 -0
- package/dist/plugins/walrus/deploy-paths.mjs +14 -0
- package/dist/plugins/walrus/deploy-paths.mjs.map +1 -0
- package/dist/plugins/walrus/deploy.d.mts +1 -0
- package/dist/plugins/walrus/deploy.mjs +224 -0
- package/dist/plugins/walrus/deploy.mjs.map +1 -0
- package/dist/plugins/walrus/errors.d.mts +38 -0
- package/dist/plugins/walrus/errors.mjs +26 -0
- package/dist/plugins/walrus/errors.mjs.map +1 -0
- package/dist/plugins/walrus/faucet-strategy.d.mts +12 -0
- package/dist/plugins/walrus/faucet-strategy.mjs +62 -0
- package/dist/plugins/walrus/faucet-strategy.mjs.map +1 -0
- package/dist/plugins/walrus/index.d.mts +177 -0
- package/dist/plugins/walrus/index.mjs +284 -0
- package/dist/plugins/walrus/index.mjs.map +1 -0
- package/dist/plugins/walrus/mode/known-deploy.d.mts +25 -0
- package/dist/plugins/walrus/mode/known-deploy.mjs +71 -0
- package/dist/plugins/walrus/mode/known-deploy.mjs.map +1 -0
- package/dist/plugins/walrus/mode/local-cluster.d.mts +34 -0
- package/dist/plugins/walrus/mode/local-cluster.mjs +153 -0
- package/dist/plugins/walrus/mode/local-cluster.mjs.map +1 -0
- package/dist/plugins/walrus/plugin-key.mjs +7 -0
- package/dist/plugins/walrus/plugin-key.mjs.map +1 -0
- package/dist/plugins/walrus/registry-publish.d.mts +24 -0
- package/dist/plugins/walrus/registry-publish.mjs +7 -0
- package/dist/plugins/walrus/registry-publish.mjs.map +1 -0
- package/dist/plugins/walrus/routable.mjs +99 -0
- package/dist/plugins/walrus/routable.mjs.map +1 -0
- package/dist/plugins/walrus/service.mjs +20 -0
- package/dist/plugins/walrus/service.mjs.map +1 -0
- package/dist/plugins/walrus/snapshot.mjs +53 -0
- package/dist/plugins/walrus/snapshot.mjs.map +1 -0
- package/dist/plugins/walrus/storage-nodes.d.mts +15 -0
- package/dist/plugins/walrus/storage-nodes.mjs +154 -0
- package/dist/plugins/walrus/storage-nodes.mjs.map +1 -0
- package/dist/plugins/walrus/wal-swap.d.mts +2 -0
- package/dist/plugins/walrus/wal-swap.mjs +58 -0
- package/dist/plugins/walrus/wal-swap.mjs.map +1 -0
- package/dist/primitives/artifact-publisher.d.mts +12 -0
- package/dist/primitives/cache.d.mts +1 -0
- package/dist/runtime/built-in-plugin-layers.mjs +49 -0
- package/dist/runtime/built-in-plugin-layers.mjs.map +1 -0
- package/dist/runtime/docker/client.d.mts +2 -0
- package/dist/runtime/docker/client.mjs +54 -0
- package/dist/runtime/docker/client.mjs.map +1 -0
- package/dist/runtime/docker/container.d.mts +1 -0
- package/dist/runtime/docker/container.mjs +562 -0
- package/dist/runtime/docker/container.mjs.map +1 -0
- package/dist/runtime/docker/errors.d.mts +1 -0
- package/dist/runtime/docker/errors.mjs +187 -0
- package/dist/runtime/docker/errors.mjs.map +1 -0
- package/dist/runtime/docker/exec.d.mts +1 -0
- package/dist/runtime/docker/exec.mjs +63 -0
- package/dist/runtime/docker/exec.mjs.map +1 -0
- package/dist/runtime/docker/image.d.mts +1 -0
- package/dist/runtime/docker/image.mjs +278 -0
- package/dist/runtime/docker/image.mjs.map +1 -0
- package/dist/runtime/docker/index.d.mts +1 -0
- package/dist/runtime/docker/inventory.d.mts +1 -0
- package/dist/runtime/docker/inventory.mjs +167 -0
- package/dist/runtime/docker/inventory.mjs.map +1 -0
- package/dist/runtime/docker/labels.d.mts +1 -0
- package/dist/runtime/docker/labels.mjs +97 -0
- package/dist/runtime/docker/labels.mjs.map +1 -0
- package/dist/runtime/docker/logs.d.mts +1 -0
- package/dist/runtime/docker/logs.mjs +34 -0
- package/dist/runtime/docker/logs.mjs.map +1 -0
- package/dist/runtime/docker/network.d.mts +1 -0
- package/dist/runtime/docker/network.mjs +168 -0
- package/dist/runtime/docker/network.mjs.map +1 -0
- package/dist/runtime/docker/service.d.mts +9 -0
- package/dist/runtime/docker/service.mjs +266 -0
- package/dist/runtime/docker/service.mjs.map +1 -0
- package/dist/runtime/docker/sweep.d.mts +1 -0
- package/dist/runtime/docker/sweep.mjs +220 -0
- package/dist/runtime/docker/sweep.mjs.map +1 -0
- package/dist/runtime/docker/volume.d.mts +1 -0
- package/dist/runtime/docker/volume.mjs +24 -0
- package/dist/runtime/docker/volume.mjs.map +1 -0
- package/dist/runtime/docker/wrap.d.mts +1 -0
- package/dist/runtime/docker/wrap.mjs +131 -0
- package/dist/runtime/docker/wrap.mjs.map +1 -0
- package/dist/substrate/brand.d.mts +24 -0
- package/dist/substrate/brand.mjs +14 -0
- package/dist/substrate/brand.mjs.map +1 -0
- package/dist/substrate/cross-process.d.mts +1 -0
- package/dist/substrate/cross-process.mjs +28 -0
- package/dist/substrate/cross-process.mjs.map +1 -0
- package/dist/substrate/events.d.mts +117 -0
- package/dist/substrate/identity.d.mts +13 -0
- package/dist/substrate/lifecycle.d.mts +12 -0
- package/dist/substrate/manifest.d.mts +39 -0
- package/dist/substrate/manifest.mjs +33 -0
- package/dist/substrate/manifest.mjs.map +1 -0
- package/dist/substrate/network.d.mts +34 -0
- package/dist/substrate/options.d.mts +23 -0
- package/dist/substrate/plugin.d.mts +101 -0
- package/dist/substrate/plugin.mjs +61 -0
- package/dist/substrate/plugin.mjs.map +1 -0
- package/dist/substrate/projection.d.mts +100 -0
- package/dist/substrate/runtime/artifact-publisher/index.mjs +76 -0
- package/dist/substrate/runtime/artifact-publisher/index.mjs.map +1 -0
- package/dist/substrate/runtime/atomic-write.mjs +106 -0
- package/dist/substrate/runtime/atomic-write.mjs.map +1 -0
- package/dist/substrate/runtime/cache/index.d.mts +1 -0
- package/dist/substrate/runtime/cache/schema.d.mts +1 -0
- package/dist/substrate/runtime/cache/schema.mjs +22 -0
- package/dist/substrate/runtime/cache/schema.mjs.map +1 -0
- package/dist/substrate/runtime/cache/service.d.mts +1 -0
- package/dist/substrate/runtime/cache/service.mjs +89 -0
- package/dist/substrate/runtime/cache/service.mjs.map +1 -0
- package/dist/substrate/runtime/capability-sinks/index.d.mts +1 -0
- package/dist/substrate/runtime/capability-sinks/layer.d.mts +1 -0
- package/dist/substrate/runtime/capability-sinks/layer.mjs +31 -0
- package/dist/substrate/runtime/capability-sinks/layer.mjs.map +1 -0
- package/dist/substrate/runtime/capability-sinks/service.d.mts +36 -0
- package/dist/substrate/runtime/capability-sinks/service.mjs +74 -0
- package/dist/substrate/runtime/capability-sinks/service.mjs.map +1 -0
- package/dist/substrate/runtime/config-validation.d.mts +38 -0
- package/dist/substrate/runtime/config-validation.mjs +137 -0
- package/dist/substrate/runtime/config-validation.mjs.map +1 -0
- package/dist/substrate/runtime/context-helpers.mjs +32 -0
- package/dist/substrate/runtime/context-helpers.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/command-channel/channel.mjs +128 -0
- package/dist/substrate/runtime/cross-process/command-channel/channel.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/command-channel/file-channel.mjs +136 -0
- package/dist/substrate/runtime/cross-process/command-channel/file-channel.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/command-channel/protocol.mjs +49 -0
- package/dist/substrate/runtime/cross-process/command-channel/protocol.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/command-channel/runtime-control-lock.mjs +9 -0
- package/dist/substrate/runtime/cross-process/command-channel/runtime-control-lock.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/liveness.mjs +119 -0
- package/dist/substrate/runtime/cross-process/liveness.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/roster.mjs +275 -0
- package/dist/substrate/runtime/cross-process/roster.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/snapshot-reservation.d.mts +1 -0
- package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs +117 -0
- package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/stack-lock.d.mts +1 -0
- package/dist/substrate/runtime/cross-process/stack-lock.mjs +142 -0
- package/dist/substrate/runtime/cross-process/stack-lock.mjs.map +1 -0
- package/dist/substrate/runtime/current-plugin.mjs +15 -0
- package/dist/substrate/runtime/current-plugin.mjs.map +1 -0
- package/dist/substrate/runtime/errors.d.mts +1 -0
- package/dist/substrate/runtime/errors.mjs +76 -0
- package/dist/substrate/runtime/errors.mjs.map +1 -0
- package/dist/substrate/runtime/host-tree-tar/index.mjs +364 -0
- package/dist/substrate/runtime/host-tree-tar/index.mjs.map +1 -0
- package/dist/substrate/runtime/http-probe.d.mts +35 -0
- package/dist/substrate/runtime/http-probe.mjs +65 -0
- package/dist/substrate/runtime/http-probe.mjs.map +1 -0
- package/dist/substrate/runtime/lease-broker/index.d.mts +1 -0
- package/dist/substrate/runtime/lease-broker/service.d.mts +64 -0
- package/dist/substrate/runtime/lease-broker/service.mjs +155 -0
- package/dist/substrate/runtime/lease-broker/service.mjs.map +1 -0
- package/dist/substrate/runtime/lifecycle/dep-graph.d.mts +1 -0
- package/dist/substrate/runtime/lifecycle/dep-graph.mjs +138 -0
- package/dist/substrate/runtime/lifecycle/dep-graph.mjs.map +1 -0
- package/dist/substrate/runtime/lifecycle/index.d.mts +1 -0
- package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs +31 -0
- package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs.map +1 -0
- package/dist/substrate/runtime/lifecycle/plugin-registry.d.mts +1 -0
- package/dist/substrate/runtime/lifecycle/plugin-registry.mjs +133 -0
- package/dist/substrate/runtime/lifecycle/plugin-registry.mjs.map +1 -0
- package/dist/substrate/runtime/lifecycle/ready-gate.d.mts +1 -0
- package/dist/substrate/runtime/lifecycle/ready-gate.mjs +34 -0
- package/dist/substrate/runtime/lifecycle/ready-gate.mjs.map +1 -0
- package/dist/substrate/runtime/lifecycle/selective-restart.d.mts +1 -0
- package/dist/substrate/runtime/lifecycle/selective-restart.mjs +43 -0
- package/dist/substrate/runtime/lifecycle/selective-restart.mjs.map +1 -0
- package/dist/substrate/runtime/lifecycle/signals.d.mts +1 -0
- package/dist/substrate/runtime/lifecycle/signals.mjs +64 -0
- package/dist/substrate/runtime/lifecycle/signals.mjs.map +1 -0
- package/dist/substrate/runtime/lifecycle/state-machine.d.mts +1 -0
- package/dist/substrate/runtime/lifecycle/state-machine.mjs +38 -0
- package/dist/substrate/runtime/lifecycle/state-machine.mjs.map +1 -0
- package/dist/substrate/runtime/lifecycle/watch-attribution.d.mts +1 -0
- package/dist/substrate/runtime/lifecycle/watch-attribution.mjs +27 -0
- package/dist/substrate/runtime/lifecycle/watch-attribution.mjs.map +1 -0
- package/dist/substrate/runtime/managed-container.d.mts +30 -0
- package/dist/substrate/runtime/managed-container.mjs +32 -0
- package/dist/substrate/runtime/managed-container.mjs.map +1 -0
- package/dist/substrate/runtime/manifest/manifest.mjs +73 -0
- package/dist/substrate/runtime/manifest/manifest.mjs.map +1 -0
- package/dist/substrate/runtime/mode-errors.d.mts +36 -0
- package/dist/substrate/runtime/observability/cascade-formatter.d.mts +1 -0
- package/dist/substrate/runtime/observability/cascade-formatter.mjs +135 -0
- package/dist/substrate/runtime/observability/cascade-formatter.mjs.map +1 -0
- package/dist/substrate/runtime/observability/formatter-registry.d.mts +1 -0
- package/dist/substrate/runtime/observability/formatter-registry.mjs +65 -0
- package/dist/substrate/runtime/observability/formatter-registry.mjs.map +1 -0
- package/dist/substrate/runtime/observability/index.d.mts +3 -0
- package/dist/substrate/runtime/observability/logger.d.mts +58 -0
- package/dist/substrate/runtime/observability/logger.mjs +89 -0
- package/dist/substrate/runtime/observability/logger.mjs.map +1 -0
- package/dist/substrate/runtime/observability/pretty-error.d.mts +1 -0
- package/dist/substrate/runtime/observability/pretty-error.mjs +119 -0
- package/dist/substrate/runtime/observability/pretty-error.mjs.map +1 -0
- package/dist/substrate/runtime/observability/process-lines.d.mts +31 -0
- package/dist/substrate/runtime/observability/process-lines.mjs +40 -0
- package/dist/substrate/runtime/observability/process-lines.mjs.map +1 -0
- package/dist/substrate/runtime/observability/redaction.d.mts +28 -0
- package/dist/substrate/runtime/observability/redaction.mjs +45 -0
- package/dist/substrate/runtime/observability/redaction.mjs.map +1 -0
- package/dist/substrate/runtime/observability/spans.d.mts +1 -0
- package/dist/substrate/runtime/observability/spans.mjs +87 -0
- package/dist/substrate/runtime/observability/spans.mjs.map +1 -0
- package/dist/substrate/runtime/observability/subprocess-capture.d.mts +2 -0
- package/dist/substrate/runtime/observability/subprocess-capture.mjs +82 -0
- package/dist/substrate/runtime/observability/subprocess-capture.mjs.map +1 -0
- package/dist/substrate/runtime/paths.d.mts +17 -0
- package/dist/substrate/runtime/paths.mjs +61 -0
- package/dist/substrate/runtime/paths.mjs.map +1 -0
- package/dist/substrate/runtime/port-broker/index.d.mts +1 -0
- package/dist/substrate/runtime/port-broker/service.d.mts +1 -0
- package/dist/substrate/runtime/port-broker/service.mjs +319 -0
- package/dist/substrate/runtime/port-broker/service.mjs.map +1 -0
- package/dist/substrate/runtime/post-acquire-tasks.d.mts +1 -0
- package/dist/substrate/runtime/post-acquire-tasks.mjs +34 -0
- package/dist/substrate/runtime/post-acquire-tasks.mjs.map +1 -0
- package/dist/substrate/runtime/probes.d.mts +51 -0
- package/dist/substrate/runtime/probes.mjs +84 -0
- package/dist/substrate/runtime/probes.mjs.map +1 -0
- package/dist/substrate/runtime/process-supervisor.d.mts +57 -0
- package/dist/substrate/runtime/process-supervisor.mjs +73 -0
- package/dist/substrate/runtime/process-supervisor.mjs.map +1 -0
- package/dist/substrate/runtime/projection/operational-endpoints.mjs +44 -0
- package/dist/substrate/runtime/projection/operational-endpoints.mjs.map +1 -0
- package/dist/substrate/runtime/projection/persisted.mjs +195 -0
- package/dist/substrate/runtime/projection/persisted.mjs.map +1 -0
- package/dist/substrate/runtime/projection/state-ref.mjs +48 -0
- package/dist/substrate/runtime/projection/state-ref.mjs.map +1 -0
- package/dist/substrate/runtime/projection/update.mjs +200 -0
- package/dist/substrate/runtime/projection/update.mjs.map +1 -0
- package/dist/substrate/runtime/retry-policy.d.mts +18 -0
- package/dist/substrate/runtime/retry-policy.mjs +16 -0
- package/dist/substrate/runtime/retry-policy.mjs.map +1 -0
- package/dist/substrate/runtime/run.mjs +86 -0
- package/dist/substrate/runtime/run.mjs.map +1 -0
- package/dist/substrate/runtime/runtime-decode.d.mts +32 -0
- package/dist/substrate/runtime/runtime-decode.mjs +53 -0
- package/dist/substrate/runtime/runtime-decode.mjs.map +1 -0
- package/dist/substrate/runtime/scoped-http-server.mjs +36 -0
- package/dist/substrate/runtime/scoped-http-server.mjs.map +1 -0
- package/dist/substrate/runtime/scoped-ref-map/service.mjs +83 -0
- package/dist/substrate/runtime/scoped-ref-map/service.mjs.map +1 -0
- package/dist/substrate/runtime/stage-and-swap/index.d.mts +1 -0
- package/dist/substrate/runtime/stage-and-swap/index.mjs +131 -0
- package/dist/substrate/runtime/stage-and-swap/index.mjs.map +1 -0
- package/dist/substrate/runtime/state-store/schema.mjs +36 -0
- package/dist/substrate/runtime/state-store/schema.mjs.map +1 -0
- package/dist/substrate/runtime/strategy-registry/chain-probe-for.d.mts +1 -0
- package/dist/substrate/runtime/strategy-registry/chain-probe-for.mjs +22 -0
- package/dist/substrate/runtime/strategy-registry/chain-probe-for.mjs.map +1 -0
- package/dist/substrate/runtime/strategy-registry/faucet-capability-for.d.mts +1 -0
- package/dist/substrate/runtime/strategy-registry/faucet-capability-for.mjs +30 -0
- package/dist/substrate/runtime/strategy-registry/faucet-capability-for.mjs.map +1 -0
- package/dist/substrate/runtime/strategy-registry/index.d.mts +1 -0
- package/dist/substrate/runtime/strategy-registry/service.d.mts +1 -0
- package/dist/substrate/runtime/strategy-registry/service.mjs +67 -0
- package/dist/substrate/runtime/strategy-registry/service.mjs.map +1 -0
- package/dist/substrate/runtime/sui-execute/index.d.mts +11 -0
- package/dist/substrate/runtime/sui-execute/index.mjs +144 -0
- package/dist/substrate/runtime/sui-execute/index.mjs.map +1 -0
- package/dist/substrate/runtime/sui-move-build/index.d.mts +1 -0
- package/dist/substrate/runtime/sui-move-build/index.mjs +283 -0
- package/dist/substrate/runtime/sui-move-build/index.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor.d.mts +1 -0
- package/dist/substrate/runtime/supervisor.mjs +831 -0
- package/dist/substrate/runtime/supervisor.mjs.map +1 -0
- package/dist/surfaces/cli/command-tree.mjs +276 -0
- package/dist/surfaces/cli/command-tree.mjs.map +1 -0
- package/dist/surfaces/cli/commands/config.mjs +31 -0
- package/dist/surfaces/cli/commands/config.mjs.map +1 -0
- package/dist/surfaces/cli/commands/confirm-node.mjs +26 -0
- package/dist/surfaces/cli/commands/confirm-node.mjs.map +1 -0
- package/dist/surfaces/cli/commands/confirm.mjs +26 -0
- package/dist/surfaces/cli/commands/confirm.mjs.map +1 -0
- package/dist/surfaces/cli/commands/doctor-probes.mjs +452 -0
- package/dist/surfaces/cli/commands/doctor-probes.mjs.map +1 -0
- package/dist/surfaces/cli/commands/doctor.mjs +38 -0
- package/dist/surfaces/cli/commands/doctor.mjs.map +1 -0
- package/dist/surfaces/cli/commands/prune-picker.mjs +347 -0
- package/dist/surfaces/cli/commands/prune-picker.mjs.map +1 -0
- package/dist/surfaces/cli/commands/prune.mjs +178 -0
- package/dist/surfaces/cli/commands/prune.mjs.map +1 -0
- package/dist/surfaces/cli/commands/snapshot.mjs +141 -0
- package/dist/surfaces/cli/commands/snapshot.mjs.map +1 -0
- package/dist/surfaces/cli/commands/status.mjs +95 -0
- package/dist/surfaces/cli/commands/status.mjs.map +1 -0
- package/dist/surfaces/cli/commands/supervisor-presence.mjs +33 -0
- package/dist/surfaces/cli/commands/supervisor-presence.mjs.map +1 -0
- package/dist/surfaces/cli/commands/wipe.mjs +28 -0
- package/dist/surfaces/cli/commands/wipe.mjs.map +1 -0
- package/dist/surfaces/cli/envelope.mjs +43 -0
- package/dist/surfaces/cli/envelope.mjs.map +1 -0
- package/dist/surfaces/cli/errors.mjs +110 -0
- package/dist/surfaces/cli/errors.mjs.map +1 -0
- package/dist/surfaces/cli/flags.mjs +56 -0
- package/dist/surfaces/cli/flags.mjs.map +1 -0
- package/dist/surfaces/cli/index.mjs +418 -0
- package/dist/surfaces/cli/index.mjs.map +1 -0
- package/dist/surfaces/cli/output.mjs +115 -0
- package/dist/surfaces/cli/output.mjs.map +1 -0
- package/dist/surfaces/cli/sysexits.mjs +139 -0
- package/dist/surfaces/cli/sysexits.mjs.map +1 -0
- package/dist/surfaces/tui/app.mjs +104 -0
- package/dist/surfaces/tui/app.mjs.map +1 -0
- package/dist/surfaces/tui/dashboard.mjs +261 -0
- package/dist/surfaces/tui/dashboard.mjs.map +1 -0
- package/dist/surfaces/tui/display-derivation.mjs +395 -0
- package/dist/surfaces/tui/display-derivation.mjs.map +1 -0
- package/dist/surfaces/tui/errors.mjs +11 -0
- package/dist/surfaces/tui/errors.mjs.map +1 -0
- package/dist/surfaces/tui/event-log.mjs +155 -0
- package/dist/surfaces/tui/event-log.mjs.map +1 -0
- package/dist/surfaces/tui/heartbeat.mjs +33 -0
- package/dist/surfaces/tui/heartbeat.mjs.map +1 -0
- package/dist/surfaces/tui/index.mjs +50 -0
- package/dist/surfaces/tui/index.mjs.map +1 -0
- package/dist/surfaces/tui/input.mjs +104 -0
- package/dist/surfaces/tui/input.mjs.map +1 -0
- package/dist/surfaces/tui/mode-detect.mjs +32 -0
- package/dist/surfaces/tui/mode-detect.mjs.map +1 -0
- package/dist/surfaces/tui/mount-ink.mjs +31 -0
- package/dist/surfaces/tui/mount-ink.mjs.map +1 -0
- package/dist/surfaces/tui/plain-renderer.mjs +170 -0
- package/dist/surfaces/tui/plain-renderer.mjs.map +1 -0
- package/dist/surfaces/tui/resource-table.mjs +507 -0
- package/dist/surfaces/tui/resource-table.mjs.map +1 -0
- package/images/_shared/signal-forward.sh +77 -0
- package/images/postgres/Dockerfile +32 -0
- package/images/seal/Dockerfile +68 -0
- package/images/seal/entrypoint.sh +65 -0
- package/images/sui/Dockerfile +73 -0
- package/images/sui/entrypoint.sh +244 -0
- package/images/sui-fork/Dockerfile +53 -0
- package/images/sui-fork/entrypoint.sh +51 -0
- package/images/walrus/Dockerfile +122 -0
- package/images/walrus/deploy-walrus.sh +305 -0
- package/images/walrus/run-walrus.sh +53 -0
- package/package.json +94 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
//#region src/plugins/package/codegen.ts
|
|
3
|
+
/** Build the Codegenable contribution for a local package. */
|
|
4
|
+
const makeLocalCodegenable = (resolved, options) => ({
|
|
5
|
+
kind: "codegenable",
|
|
6
|
+
emitterName: "package",
|
|
7
|
+
outputPath: `package/${resolved.mvrPlaceholder}.ts`,
|
|
8
|
+
emit: (ctx) => Effect.sync(() => {
|
|
9
|
+
ctx.exportConst("packageBindings", {
|
|
10
|
+
name: resolved.name,
|
|
11
|
+
packageId: resolved.packageId,
|
|
12
|
+
mvrPlaceholder: resolved.mvrPlaceholder,
|
|
13
|
+
sourcePath: resolved.sourcePath,
|
|
14
|
+
excluded: options.excluded
|
|
15
|
+
});
|
|
16
|
+
return ctx.done();
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
/** Build the Codegenable contribution for a known package. The
|
|
20
|
+
* shape is identical except `sourcePath: null`. The codegen
|
|
21
|
+
* orchestrator filters these out before invoking the bindings
|
|
22
|
+
* emitter. */
|
|
23
|
+
const makeKnownCodegenable = (resolved) => ({
|
|
24
|
+
kind: "codegenable",
|
|
25
|
+
emitterName: "package",
|
|
26
|
+
outputPath: `package/${resolved.mvrPlaceholder}.ts`,
|
|
27
|
+
emit: (ctx) => Effect.sync(() => {
|
|
28
|
+
ctx.exportConst("packageBindings", {
|
|
29
|
+
name: resolved.name,
|
|
30
|
+
packageId: resolved.packageId,
|
|
31
|
+
mvrPlaceholder: resolved.mvrPlaceholder,
|
|
32
|
+
sourcePath: null,
|
|
33
|
+
excluded: true
|
|
34
|
+
});
|
|
35
|
+
return ctx.done();
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
//#endregion
|
|
39
|
+
export { makeKnownCodegenable, makeLocalCodegenable };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=codegen.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codegen.mjs","names":[],"sources":["../../../src/plugins/package/codegen.ts"],"sourcesContent":["// Package plugin — Codegenable contribution.\n//\n// Distilled doc §Outputs: \"Bindings input — the source path of every\n// local Package is read by the bindings emitter (KnownPackages\n// filtered out).\"\n//\n// The contribution emitted here is the LIGHTWEIGHT one: package id +\n// MVR placeholder + (for local packages) the source path the\n// bindings emitter consumes. The HEAVY codegen — `@mysten/codegen`\n// emitting typed function shims — happens in the codegen\n// ORCHESTRATOR (plugin/codegen layer, NOT this plugin). The\n// orchestrator walks every member's caps tuple, finds the\n// Package-emitted contributions, and dispatches `@mysten/codegen`\n// once across all of them so a single TS program references every\n// emitted package binding.\n//\n// This file therefore declares the SEAM, not the binding bytes.\n// Distilled doc §Cross-component references §codegen: package\n// \"consumes local Package source paths to emit bindings; respects\n// the per-package codegen-exclude flag; uses MVR placeholders so\n// emitted code stays portable.\"\n\nimport { Effect } from 'effect';\n\nimport type { CodegenableDecl } from '../../contracts/codegenable.ts';\nimport type { ResolvedLocalPackage, ResolvedKnownPackage } from './registry.ts';\n\n/** Codegenable shape — what each Package contributes to the codegen\n * orchestrator. Two variants mirror the local/known split. */\nexport interface PackageBindings {\n\treadonly name: string;\n\treadonly packageId: string;\n\treadonly mvrPlaceholder: string;\n\t/** Present for local packages only — the bindings emitter reads\n\t * this; KnownPackages omit it and the orchestrator skips them\n\t * for bindings emission (compile-time enforcement at the\n\t * factory layer per distilled doc Invariant 9). */\n\treadonly sourcePath: string | null;\n\t/** Per-package opt-out (distilled doc §Inputs — \"Codegen\n\t * exclusion flag\"). */\n\treadonly excluded: boolean;\n}\n\n/** Build the Codegenable contribution for a local package. */\nexport const makeLocalCodegenable = (\n\tresolved: ResolvedLocalPackage,\n\toptions: { readonly excluded: boolean },\n): CodegenableDecl<'package'> => ({\n\tkind: 'codegenable',\n\temitterName: 'package',\n\toutputPath: `package/${resolved.mvrPlaceholder}.ts`,\n\temit: (ctx) =>\n\t\tEffect.sync(() => {\n\t\t\t// The orchestrator picks up these fields and threads them\n\t\t\t// into `@mysten/codegen` along with the source-path read.\n\t\t\t// The literal binding-file bytes are written by the\n\t\t\t// orchestrator, NOT this plugin.\n\t\t\tctx.exportConst('packageBindings', {\n\t\t\t\tname: resolved.name,\n\t\t\t\tpackageId: resolved.packageId,\n\t\t\t\tmvrPlaceholder: resolved.mvrPlaceholder,\n\t\t\t\tsourcePath: resolved.sourcePath,\n\t\t\t\texcluded: options.excluded,\n\t\t\t} satisfies PackageBindings);\n\t\t\treturn ctx.done();\n\t\t}),\n});\n\n/** Build the Codegenable contribution for a known package. The\n * shape is identical except `sourcePath: null`. The codegen\n * orchestrator filters these out before invoking the bindings\n * emitter. */\nexport const makeKnownCodegenable = (\n\tresolved: ResolvedKnownPackage,\n): CodegenableDecl<'package'> => ({\n\tkind: 'codegenable',\n\temitterName: 'package',\n\toutputPath: `package/${resolved.mvrPlaceholder}.ts`,\n\temit: (ctx) =>\n\t\tEffect.sync(() => {\n\t\t\tctx.exportConst('packageBindings', {\n\t\t\t\tname: resolved.name,\n\t\t\t\tpackageId: resolved.packageId,\n\t\t\t\tmvrPlaceholder: resolved.mvrPlaceholder,\n\t\t\t\tsourcePath: null,\n\t\t\t\texcluded: true, // implicit — KnownPackages never emit bindings.\n\t\t\t} satisfies PackageBindings);\n\t\t\treturn ctx.done();\n\t\t}),\n});\n"],"mappings":";;;AA4CA,MAAa,wBACZ,UACA,aACiC;CACjC,MAAM;CACN,aAAa;CACb,YAAY,WAAW,SAAS,eAAe;CAC/C,OAAO,QACN,OAAO,WAAW;AAKjB,MAAI,YAAY,mBAAmB;GAClC,MAAM,SAAS;GACf,WAAW,SAAS;GACpB,gBAAgB,SAAS;GACzB,YAAY,SAAS;GACrB,UAAU,QAAQ;GAClB,CAA2B;AAC5B,SAAO,IAAI,MAAM;GAChB;CACH;;;;;AAMD,MAAa,wBACZ,cACiC;CACjC,MAAM;CACN,aAAa;CACb,YAAY,WAAW,SAAS,eAAe;CAC/C,OAAO,QACN,OAAO,WAAW;AACjB,MAAI,YAAY,mBAAmB;GAClC,MAAM,SAAS;GACf,WAAW,SAAS;GACpB,gBAAgB,SAAS;GACzB,YAAY;GACZ,UAAU;GACV,CAA2B;AAC5B,SAAO,IAAI,MAAM;GAChB;CACH"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/plugins/package/dep-resolution.ts
|
|
2
|
+
/**
|
|
3
|
+
* Slugify a package name into the MVR placeholder shape required by
|
|
4
|
+
* codegen emitters.
|
|
5
|
+
*/
|
|
6
|
+
const mvrSlugify = (name) => name.toLowerCase().replace(/[^a-z0-9-]+/g, "-").replace(/^-+|-+$/g, "").replace(/-{2,}/g, "-");
|
|
7
|
+
//#endregion
|
|
8
|
+
export { mvrSlugify };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=dep-resolution.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dep-resolution.mjs","names":[],"sources":["../../../src/plugins/package/dep-resolution.ts"],"sourcesContent":["// Move-dep helpers.\n//\n// `mvrSlugify` normalises a package name into the slug shape that\n// codegen emitters write into Move source as MVR placeholders.\n// Distilled doc Invariant 13: the result MUST satisfy `[a-z0-9-]+`\n// (downstream validators reject underscores).\n\n/**\n * Slugify a package name into the MVR placeholder shape required by\n * codegen emitters.\n */\nexport const mvrSlugify = (name: string): string =>\n\tname\n\t\t.toLowerCase()\n\t\t.replace(/[^a-z0-9-]+/g, '-')\n\t\t.replace(/^-+|-+$/g, '')\n\t\t.replace(/-{2,}/g, '-');\n"],"mappings":";;;;;AAWA,MAAa,cAAc,SAC1B,KACE,aAAa,CACb,QAAQ,gBAAgB,IAAI,CAC5B,QAAQ,YAAY,GAAG,CACvB,QAAQ,UAAU,IAAI"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/plugins/package/errors.d.ts
|
|
2
|
+
/** Closed step set for `PublishError`.
|
|
3
|
+
*
|
|
4
|
+
* - `hash` — source-tree walk / digest failed (FS read perms,
|
|
5
|
+
* symlink loop, disk error).
|
|
6
|
+
* - `scrub` — vendored Move.lock scrub failed.
|
|
7
|
+
* - `build` — `sui move build` exit / parse failure / container
|
|
8
|
+
* unreachable. Cause-chain carries verbatim
|
|
9
|
+
* stdout/stderr.
|
|
10
|
+
* - `publish-tx` — sign-and-execute failed (gas, bytecode
|
|
11
|
+
* verification, RPC).
|
|
12
|
+
* - `parse` — no `published` change in receipt OR the
|
|
13
|
+
* post-publish ready-probe timed out.
|
|
14
|
+
* - `verify` — KnownPackage verify probe authoritatively says
|
|
15
|
+
* "object not present" (transient is masked by
|
|
16
|
+
* lenient probe — does NOT raise this).
|
|
17
|
+
*/
|
|
18
|
+
type PublishPhase = 'hash' | 'scrub' | 'build' | 'publish-tx' | 'parse' | 'verify';
|
|
19
|
+
/** Single tagged publish error. */
|
|
20
|
+
interface PublishError {
|
|
21
|
+
readonly _tag: 'PublishError';
|
|
22
|
+
readonly phase: PublishPhase;
|
|
23
|
+
/** Source path of the package being published. ALWAYS populated
|
|
24
|
+
* — `KnownPackage` paths set this to the symbolic id (distilled
|
|
25
|
+
* doc §Opportunities — "every throw site passes sourcePath"). */
|
|
26
|
+
readonly sourcePath: string;
|
|
27
|
+
/** Symbolic package name (the user-declared `pkg.name`). */
|
|
28
|
+
readonly packageName: string;
|
|
29
|
+
readonly message: string;
|
|
30
|
+
readonly cause?: unknown;
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { PublishError };
|
|
34
|
+
//# sourceMappingURL=errors.d.mts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/plugins/package/errors.ts
|
|
2
|
+
const publishError = (phase, parts) => ({
|
|
3
|
+
_tag: "PublishError",
|
|
4
|
+
phase,
|
|
5
|
+
...parts
|
|
6
|
+
});
|
|
7
|
+
/** Error tags this plugin contributes — surfaced to the cause walker
|
|
8
|
+
* via `PluginErrorContribution`. */
|
|
9
|
+
const PACKAGE_ERROR_TAGS = ["PublishError"];
|
|
10
|
+
//#endregion
|
|
11
|
+
export { PACKAGE_ERROR_TAGS, publishError };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=errors.mjs.map
|
|
@@ -0,0 +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. ALWAYS populated\n\t * — `KnownPackage` paths set this to the symbolic id (distilled\n\t * doc §Opportunities — \"every throw site passes sourcePath\"). */\n\treadonly sourcePath: string;\n\t/** Symbolic package name (the user-declared `pkg.name`). */\n\treadonly packageName: string;\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/** Error tags this plugin contributes — surfaced to the cause walker\n * via `PluginErrorContribution`. */\nexport const PACKAGE_ERROR_TAGS = ['PublishError'] as const;\n\nexport type PackageError = PublishError;\n"],"mappings":";AAuCA,MAAa,gBACZ,OACA,WACmB;CAAE,MAAM;CAAgB;CAAO,GAAG;CAAO;;;AAI7D,MAAa,qBAAqB,CAAC,eAAe"}
|
|
@@ -0,0 +1,109 @@
|
|
|
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
|
+
import { AnyResourceRef, Plugin, ResourceRef } from "../../substrate/plugin.mjs";
|
|
6
|
+
import { SeedObjectsAccumulator } from "../sui/seed-objects.mjs";
|
|
7
|
+
import { SuiClient } from "../sui/mode/shared.mjs";
|
|
8
|
+
import { SuiOptions } from "../sui/mode/spec.mjs";
|
|
9
|
+
import { AccountValue } from "../account/service.mjs";
|
|
10
|
+
import { AccountResourceId } from "../account/index.mjs";
|
|
11
|
+
import { LocalPackagePublishOutput, LocalPackagePublishedDecl, PackagePublishObjectChange } from "./publish-output.mjs";
|
|
12
|
+
import { ResolvedKnownPackage, ResolvedLocalPackage } from "./registry.mjs";
|
|
13
|
+
import { PublishError } from "./errors.mjs";
|
|
14
|
+
import { PackageBindings } from "./codegen.mjs";
|
|
15
|
+
//#region src/plugins/package/index.d.ts
|
|
16
|
+
/** A user-supplied publisher account ref. The user passes the result
|
|
17
|
+
* of `account('alice')` — NOT a bare string. Generic over the
|
|
18
|
+
* literal account name so the package dependency preserves the
|
|
19
|
+
* per-account resource id. */
|
|
20
|
+
type PublisherAccountMember<Name extends string = string> = ResourceRef<AccountResourceId<Name>, AccountValue>;
|
|
21
|
+
/** Resolved value carried by the package resource. Local packages also
|
|
22
|
+
* expose the publish output so manifest emitters and capture-spec
|
|
23
|
+
* callers can read it. Sibling plugin folds consume the package-owned
|
|
24
|
+
* extension contribution instead of importing package internals. */
|
|
25
|
+
type PackageCaptureMap = Readonly<Record<string, string>>;
|
|
26
|
+
type PackageCaptureCallback = (output: LocalPackagePublishOutput) => Readonly<Record<string, string>>;
|
|
27
|
+
type PackageCapture = PackageCaptureMap;
|
|
28
|
+
type CapturedPackageValues<Capture> = Capture extends PackageCaptureCallback ? Readonly<Record<string, string>> : Capture extends PackageCaptureMap ? { readonly [K in keyof Capture]: string } : Readonly<Record<string, string>>;
|
|
29
|
+
interface LocalPackageResolved<Capture = undefined> extends Omit<ResolvedLocalPackage, 'captured'> {
|
|
30
|
+
/** Captured object ids keyed by the user's `capture` option. */
|
|
31
|
+
readonly captured: CapturedPackageValues<Capture>;
|
|
32
|
+
/** Publisher account that signed this package. Kept on the live
|
|
33
|
+
* resource value so downstream local coin plugins can mint from
|
|
34
|
+
* publisher-owned TreasuryCaps through the centralized funding
|
|
35
|
+
* strategy path. It is intentionally not written to generated
|
|
36
|
+
* bindings or the package registry. */
|
|
37
|
+
readonly publisher: AccountValue;
|
|
38
|
+
/** Publish output — present after a fresh publish, null on
|
|
39
|
+
* cache hit (verify-only path). Consumers that need the
|
|
40
|
+
* output MUST tolerate null and fall back to chain reads via
|
|
41
|
+
* the ChainProbe. */
|
|
42
|
+
readonly publishResult: LocalPackagePublishOutput | null;
|
|
43
|
+
}
|
|
44
|
+
type KnownPackageResolved = ResolvedKnownPackage;
|
|
45
|
+
type PackageResolved = LocalPackageResolved | KnownPackageResolved;
|
|
46
|
+
interface LocalPackageOptions<Publisher extends PublisherAccountMember = PublisherAccountMember, Capture extends PackageCapture | undefined = undefined> {
|
|
47
|
+
readonly sourcePath: string;
|
|
48
|
+
readonly mvrPlaceholder?: string;
|
|
49
|
+
readonly excludeFromCodegen?: boolean;
|
|
50
|
+
/** Capture created objects from the publish output. The record
|
|
51
|
+
* form maps output keys to object-type suffixes, e.g.
|
|
52
|
+
* `{ boardId: '::board::Board' }`. */
|
|
53
|
+
readonly capture?: Capture;
|
|
54
|
+
/** Publisher account — the signer for the publish tx. Pass the
|
|
55
|
+
* result of `account('alice')` (the same plugin/resource ref used
|
|
56
|
+
* in the rest of the stack — NOT a duplicate factory call).
|
|
57
|
+
*
|
|
58
|
+
* Required for local packages: a publish tx must be signed by
|
|
59
|
+
* SOMEONE; we make the choice explicit so two packages in the
|
|
60
|
+
* same stack can publish under different accounts (no implicit
|
|
61
|
+
* "first account" convention to memorise). Distilled doc Invariant
|
|
62
|
+
* 4 — "Signer MUST be an explicit upstream". */
|
|
63
|
+
readonly publisher: Publisher;
|
|
64
|
+
}
|
|
65
|
+
interface KnownPackageOptions {
|
|
66
|
+
readonly packageId: string;
|
|
67
|
+
readonly upgradeCapId?: string;
|
|
68
|
+
readonly mvrPlaceholder?: string;
|
|
69
|
+
}
|
|
70
|
+
interface PackageRegistryProjectionContribution {
|
|
71
|
+
readonly kind: 'local' | 'known';
|
|
72
|
+
readonly name: string;
|
|
73
|
+
readonly packageId: string;
|
|
74
|
+
readonly upgradeCapId: string | null;
|
|
75
|
+
readonly mvrPlaceholder: string;
|
|
76
|
+
readonly sourcePath: string | null;
|
|
77
|
+
}
|
|
78
|
+
/** Build + publish a local Move package. The resolved value is
|
|
79
|
+
* `LocalPackageResolved` so consumers that need bindings / source
|
|
80
|
+
* path are typed correctly.
|
|
81
|
+
*
|
|
82
|
+
* Required `opts.publisher`: the account that signs the publish tx.
|
|
83
|
+
* Pass the same `account('alice')` reference used elsewhere in the
|
|
84
|
+
* stack — the package.s `dependsOn` includes `account/<publisher>`
|
|
85
|
+
* so the substrate orders the publisher's keypair + funding strictly
|
|
86
|
+
* before publish. */
|
|
87
|
+
declare const localPackage: <Name extends string, const Publisher extends PublisherAccountMember, const Capture extends PackageCapture | undefined = undefined>(name: Name, opts: LocalPackageOptions<Publisher, Capture>) => Plugin<`package:${Name}`, LocalPackageResolved<Capture>, {
|
|
88
|
+
readonly sui: ResourceRef<"sui", SuiClient & {
|
|
89
|
+
readonly mode: SuiOptions["mode"];
|
|
90
|
+
readonly seedObjects: SeedObjectsAccumulator;
|
|
91
|
+
}>;
|
|
92
|
+
readonly publisher: Publisher;
|
|
93
|
+
} extends infer T ? T extends {
|
|
94
|
+
readonly sui: ResourceRef<"sui", SuiClient & {
|
|
95
|
+
readonly mode: SuiOptions["mode"];
|
|
96
|
+
readonly seedObjects: SeedObjectsAccumulator;
|
|
97
|
+
}>;
|
|
98
|
+
readonly publisher: Publisher;
|
|
99
|
+
} ? T extends Readonly<Record<string, AnyResourceRef>> ? readonly T[keyof T][] : readonly [] : never : never, readonly [SnapshotableDecl, CodegenableDecl<"package">, StrategyContributorDecl<"package-registry", PackageRegistryProjectionContribution>, ProjectionDecl, ...LocalPackagePublishedDecl[]]>;
|
|
100
|
+
/** Verify-only against a fixed on-chain package id. The resolved
|
|
101
|
+
* value is `KnownPackageResolved` — narrower than local, so the
|
|
102
|
+
* bindings emitter rejects this at compose time. */
|
|
103
|
+
declare const knownPackage: <Name extends string>(name: Name, opts: KnownPackageOptions) => Plugin<`package:${Name}`, ResolvedKnownPackage, readonly ResourceRef<"sui", SuiClient & {
|
|
104
|
+
readonly mode: SuiOptions["mode"];
|
|
105
|
+
readonly seedObjects: SeedObjectsAccumulator;
|
|
106
|
+
}>[], readonly [SnapshotableDecl, CodegenableDecl<"package">, StrategyContributorDecl<"package-registry", PackageRegistryProjectionContribution>, ProjectionDecl]>;
|
|
107
|
+
//#endregion
|
|
108
|
+
export { KnownPackageOptions, KnownPackageResolved, LocalPackageOptions, LocalPackageResolved, PackageCapture, PackageResolved, PublisherAccountMember, knownPackage, localPackage };
|
|
109
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { definePlugin, resource } from "../../substrate/plugin.mjs";
|
|
2
|
+
import { pluginErrorContributions } from "../../api/plugin-errors.mjs";
|
|
3
|
+
import { ContainerRuntimeService } from "../../runtime/docker/service.mjs";
|
|
4
|
+
import { suiResource } from "../sui/index.mjs";
|
|
5
|
+
import { ArtifactPublisherService } from "../../substrate/runtime/artifact-publisher/index.mjs";
|
|
6
|
+
import { chainProbeFor } from "../../substrate/runtime/strategy-registry/chain-probe-for.mjs";
|
|
7
|
+
import { makeLocalPackagePublishedDecl, pickCreatedByType } from "./publish-output.mjs";
|
|
8
|
+
import { PACKAGE_REGISTRY_CAPABILITY_KEY, PackageRegistryService } from "./registry.mjs";
|
|
9
|
+
import { makeKnownCodegenable, makeLocalCodegenable } from "./codegen.mjs";
|
|
10
|
+
import { PACKAGE_ERROR_TAGS } from "./errors.mjs";
|
|
11
|
+
import { makePublishExecutor } from "./publish-executor.mjs";
|
|
12
|
+
import { bootPackageService } from "./service.mjs";
|
|
13
|
+
import { makeSnapshotable } from "./snapshot.mjs";
|
|
14
|
+
import { Effect } from "effect";
|
|
15
|
+
//#region src/plugins/package/index.ts
|
|
16
|
+
const packageErrorContributions = pluginErrorContributions(PACKAGE_ERROR_TAGS);
|
|
17
|
+
/** Resource id constructor. The symbolic package name is part of the tag
|
|
18
|
+
* identity so the substrate's compose-time dedup detects collisions
|
|
19
|
+
* cleanly (two `localPackage('foo', ...)` calls in one stack → typed
|
|
20
|
+
* error at compose time). */
|
|
21
|
+
const packageResourceId = (name) => `package:${name}`;
|
|
22
|
+
const makePackageProjectionContribution = (projection) => {
|
|
23
|
+
const updatedAt = Date.now();
|
|
24
|
+
return {
|
|
25
|
+
kind: "projection",
|
|
26
|
+
event: {
|
|
27
|
+
tag: "package.updated",
|
|
28
|
+
package: {
|
|
29
|
+
key: `package/${projection.name}`,
|
|
30
|
+
rowKey: null,
|
|
31
|
+
name: projection.name,
|
|
32
|
+
kind: projection.kind,
|
|
33
|
+
packageId: projection.packageId,
|
|
34
|
+
upgradeCapId: projection.upgradeCapId,
|
|
35
|
+
mvrPlaceholder: projection.mvrPlaceholder,
|
|
36
|
+
sourcePath: projection.sourcePath,
|
|
37
|
+
updatedAt
|
|
38
|
+
},
|
|
39
|
+
at: updatedAt
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
const normalizeCapture = (packageName, capture) => {
|
|
44
|
+
if (capture === void 0) return void 0;
|
|
45
|
+
return (output) => {
|
|
46
|
+
const captured = {};
|
|
47
|
+
for (const [key, suffix] of Object.entries(capture)) {
|
|
48
|
+
const objectId = pickCreatedByType(output.objectChanges, { suffix });
|
|
49
|
+
if (objectId === void 0) throw new Error(`localPackage('${packageName}') capture '${key}' matched no created object with suffix '${suffix}'.`);
|
|
50
|
+
captured[key] = objectId;
|
|
51
|
+
}
|
|
52
|
+
return captured;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
const buildLocalPlugin = (name, opts) => {
|
|
56
|
+
const packageRef = resource(packageResourceId(name));
|
|
57
|
+
const capture = normalizeCapture(name, opts.capture);
|
|
58
|
+
return definePlugin({
|
|
59
|
+
id: packageRef.id,
|
|
60
|
+
dependsOn: {
|
|
61
|
+
sui: suiResource,
|
|
62
|
+
publisher: opts.publisher
|
|
63
|
+
},
|
|
64
|
+
role: "task",
|
|
65
|
+
watch: {
|
|
66
|
+
paths: [
|
|
67
|
+
`${opts.sourcePath}/**/*.move`,
|
|
68
|
+
`${opts.sourcePath}/Move.toml`,
|
|
69
|
+
`${opts.sourcePath}/Move.lock`
|
|
70
|
+
],
|
|
71
|
+
cascade: true
|
|
72
|
+
},
|
|
73
|
+
start: ({ sui, publisher: publisherAccount }) => Effect.gen(function* () {
|
|
74
|
+
const publisher = yield* ArtifactPublisherService;
|
|
75
|
+
const probe = yield* chainProbeFor(sui.chain);
|
|
76
|
+
const registry = yield* PackageRegistryService;
|
|
77
|
+
const containerRuntime = yield* ContainerRuntimeService;
|
|
78
|
+
const executor = makePublishExecutor({
|
|
79
|
+
sdk: sui.sdk,
|
|
80
|
+
account: publisherAccount,
|
|
81
|
+
runtime: containerRuntime,
|
|
82
|
+
...sui.buildImage !== null ? { buildImage: sui.buildImage } : {}
|
|
83
|
+
});
|
|
84
|
+
const { resolved, output } = yield* bootPackageService(publisher, probe, registry, {
|
|
85
|
+
mode: "local",
|
|
86
|
+
packageName: name,
|
|
87
|
+
sourcePath: opts.sourcePath,
|
|
88
|
+
chainId: sui.chain,
|
|
89
|
+
publisherAddress: publisherAccount.address,
|
|
90
|
+
mvrOverride: opts.mvrPlaceholder,
|
|
91
|
+
...capture !== void 0 ? { capture } : {},
|
|
92
|
+
executor
|
|
93
|
+
});
|
|
94
|
+
return {
|
|
95
|
+
...resolved,
|
|
96
|
+
captured: resolved.captured,
|
|
97
|
+
publisher: publisherAccount,
|
|
98
|
+
publishResult: output
|
|
99
|
+
};
|
|
100
|
+
}),
|
|
101
|
+
errorContributions: packageErrorContributions,
|
|
102
|
+
capabilities: ({ value, runtime }) => makeLocalCapabilities(name, opts, value, runtime.chain)
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
const buildKnownPlugin = (name, opts) => {
|
|
106
|
+
return definePlugin({
|
|
107
|
+
id: resource(packageResourceId(name)).id,
|
|
108
|
+
dependsOn: { sui: suiResource },
|
|
109
|
+
role: "task",
|
|
110
|
+
start: ({ sui }) => Effect.gen(function* () {
|
|
111
|
+
const { resolved } = yield* bootPackageService(yield* ArtifactPublisherService, yield* chainProbeFor(sui.chain), yield* PackageRegistryService, {
|
|
112
|
+
mode: "known",
|
|
113
|
+
packageName: name,
|
|
114
|
+
packageId: opts.packageId,
|
|
115
|
+
upgradeCapId: opts.upgradeCapId,
|
|
116
|
+
mvrOverride: opts.mvrPlaceholder
|
|
117
|
+
});
|
|
118
|
+
return resolved;
|
|
119
|
+
}),
|
|
120
|
+
errorContributions: packageErrorContributions,
|
|
121
|
+
capabilities: ({ value }) => makeKnownCapabilities(name, opts, value)
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
const makeLocalCapabilities = (name, opts, resolved, chain) => {
|
|
125
|
+
const snap = makeSnapshotable(name, resolved.publishResult?.packageId ?? resolved.packageId);
|
|
126
|
+
const codegen = makeLocalCodegenable({
|
|
127
|
+
kind: "local",
|
|
128
|
+
name,
|
|
129
|
+
packageId: resolved.packageId,
|
|
130
|
+
upgradeCapId: resolved.upgradeCapId,
|
|
131
|
+
sourcePath: resolved.sourcePath,
|
|
132
|
+
mvrPlaceholder: resolved.mvrPlaceholder,
|
|
133
|
+
captured: resolved.captured
|
|
134
|
+
}, { excluded: opts.excludeFromCodegen ?? false });
|
|
135
|
+
const projection = {
|
|
136
|
+
kind: "local",
|
|
137
|
+
name,
|
|
138
|
+
packageId: resolved.packageId,
|
|
139
|
+
upgradeCapId: resolved.upgradeCapId ?? null,
|
|
140
|
+
mvrPlaceholder: resolved.mvrPlaceholder,
|
|
141
|
+
sourcePath: resolved.sourcePath
|
|
142
|
+
};
|
|
143
|
+
return [
|
|
144
|
+
snap,
|
|
145
|
+
codegen,
|
|
146
|
+
{
|
|
147
|
+
kind: "strategy-contributor",
|
|
148
|
+
capabilityKey: PACKAGE_REGISTRY_CAPABILITY_KEY,
|
|
149
|
+
strategy: projection,
|
|
150
|
+
autoMounted: true
|
|
151
|
+
},
|
|
152
|
+
makePackageProjectionContribution(projection),
|
|
153
|
+
...resolved.publishResult === null ? [] : [makeLocalPackagePublishedDecl({
|
|
154
|
+
packageName: name,
|
|
155
|
+
packageId: resolved.packageId,
|
|
156
|
+
chain,
|
|
157
|
+
output: resolved.publishResult
|
|
158
|
+
})]
|
|
159
|
+
];
|
|
160
|
+
};
|
|
161
|
+
const makeKnownCapabilities = (name, opts, resolved) => {
|
|
162
|
+
const snap = makeSnapshotable(name, `known:${resolved.packageId}`);
|
|
163
|
+
const codegen = makeKnownCodegenable({
|
|
164
|
+
kind: "known",
|
|
165
|
+
name,
|
|
166
|
+
packageId: resolved.packageId,
|
|
167
|
+
upgradeCapId: resolved.upgradeCapId ?? opts.upgradeCapId,
|
|
168
|
+
mvrPlaceholder: resolved.mvrPlaceholder
|
|
169
|
+
});
|
|
170
|
+
const projection = {
|
|
171
|
+
kind: "known",
|
|
172
|
+
name,
|
|
173
|
+
packageId: resolved.packageId,
|
|
174
|
+
upgradeCapId: resolved.upgradeCapId ?? opts.upgradeCapId ?? null,
|
|
175
|
+
mvrPlaceholder: resolved.mvrPlaceholder,
|
|
176
|
+
sourcePath: null
|
|
177
|
+
};
|
|
178
|
+
return [
|
|
179
|
+
snap,
|
|
180
|
+
codegen,
|
|
181
|
+
{
|
|
182
|
+
kind: "strategy-contributor",
|
|
183
|
+
capabilityKey: PACKAGE_REGISTRY_CAPABILITY_KEY,
|
|
184
|
+
strategy: projection,
|
|
185
|
+
autoMounted: true
|
|
186
|
+
},
|
|
187
|
+
makePackageProjectionContribution(projection)
|
|
188
|
+
];
|
|
189
|
+
};
|
|
190
|
+
/** Build + publish a local Move package. The resolved value is
|
|
191
|
+
* `LocalPackageResolved` so consumers that need bindings / source
|
|
192
|
+
* path are typed correctly.
|
|
193
|
+
*
|
|
194
|
+
* Required `opts.publisher`: the account that signs the publish tx.
|
|
195
|
+
* Pass the same `account('alice')` reference used elsewhere in the
|
|
196
|
+
* stack — the package.s `dependsOn` includes `account/<publisher>`
|
|
197
|
+
* so the substrate orders the publisher's keypair + funding strictly
|
|
198
|
+
* before publish. */
|
|
199
|
+
const localPackage = (name, opts) => buildLocalPlugin(name, opts);
|
|
200
|
+
/** Verify-only against a fixed on-chain package id. The resolved
|
|
201
|
+
* value is `KnownPackageResolved` — narrower than local, so the
|
|
202
|
+
* bindings emitter rejects this at compose time. */
|
|
203
|
+
const knownPackage = (name, opts) => buildKnownPlugin(name, opts);
|
|
204
|
+
//#endregion
|
|
205
|
+
export { knownPackage, localPackage };
|
|
206
|
+
|
|
207
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../src/plugins/package/index.ts"],"sourcesContent":["// Package plugin — barrel + factories.\n//\n// Architecture: Package is the canonical implementation of the\n// `ArtifactPublisher` substrate primitive. Many service\n// plugins depend on its publish output (Coin types, Walrus/Seal/\n// Deepbook contracts, Action outputs).\n//\n// Public surface:\n//\n// - `localPackage(name, opts)` — build + publish a Move source tree.\n// - `knownPackage(name, opts)` — verify-only against a fixed id.\n//\n// Type split (distilled doc Invariant 9): `localPackage` resolves to\n// `LocalPackage`; `knownPackage` resolves to `KnownPackage`. The\n// bindings emitter (in the codegen orchestrator) types-out KnownPackage\n// at compose time, so misuse fails at compile time rather than at\n// emit time.\n//\n// Resource id: `'package:<name>'` — one tag per user-declared package\n// (the symbolic name is part of the identity so two `localPackage`\n// calls in the same stack don't collide on the substrate's tag\n// registry). Substrate-side plugin key is the same string.\n\nimport { Effect } from 'effect';\n\nimport { definePlugin, resource, type ResourceRef } from '../../api/define-plugin.ts';\nimport { pluginErrorContributions } from '../../api/plugin-errors.ts';\nimport type { CodegenableDecl } from '../../contracts/codegenable.ts';\nimport type { ProjectionDecl } from '../../contracts/projection.ts';\nimport {\n\tmakeLocalPackagePublishedDecl,\n\tpickCreatedByType,\n\ttype LocalPackagePublishOutput,\n} from './publish-output.ts';\nimport type { SnapshotableDecl } from '../../contracts/snapshotable.ts';\nimport type { StrategyContributorDecl } from '../../contracts/strategy-contributor.ts';\nimport { ContainerRuntimeService } from '../../runtime/docker/service.ts';\nimport type { ChainId } from '../../substrate/brand.ts';\nimport { ArtifactPublisherService } from '../../substrate/runtime/artifact-publisher/index.ts';\nimport { chainProbeFor } from '../../substrate/runtime/strategy-registry/index.ts';\nimport { suiResource } from '../sui/index.ts';\nimport type { SuiProbeKey } from '../sui/chain-probe.ts';\nimport type { AccountResourceId } from '../account/index.ts';\nimport type { AccountValue } from '../account/service.ts';\nimport { makeKnownCodegenable, makeLocalCodegenable } from './codegen.ts';\nimport { makePublishExecutor } from './publish-executor.ts';\nimport { bootPackageService, type PackageMode } from './service.ts';\nimport {\n\tPACKAGE_REGISTRY_CAPABILITY_KEY,\n\tPackageRegistryService,\n\ttype ResolvedKnownPackage,\n\ttype ResolvedLocalPackage,\n} from './registry.ts';\nimport { makeSnapshotable } from './snapshot.ts';\nimport { PACKAGE_ERROR_TAGS } from './errors.ts';\n\nconst packageErrorContributions = pluginErrorContributions(PACKAGE_ERROR_TAGS);\n\n// ---------------------------------------------------------------------------\n// Publisher account ref — explicit upstream\n// ---------------------------------------------------------------------------\n\n/** A user-supplied publisher account ref. The user passes the result\n * of `account('alice')` — NOT a bare string. Generic over the\n * literal account name so the package dependency preserves the\n * per-account resource id. */\nexport type PublisherAccountMember<Name extends string = string> = ResourceRef<\n\tAccountResourceId<Name>,\n\tAccountValue\n>;\n\n// ---------------------------------------------------------------------------\n// Resource — one per declared package, keyed by symbolic name\n// ---------------------------------------------------------------------------\n\n/** Resource id constructor. The symbolic package name is part of the tag\n * identity so the substrate's compose-time dedup detects collisions\n * cleanly (two `localPackage('foo', ...)` calls in one stack → typed\n * error at compose time). */\nexport const packageResourceId = <Name extends string>(name: Name): `package:${Name}` =>\n\t`package:${name}`;\n\n/** The literal-template resource id for a package by symbolic name. */\nexport type PackageResourceId<Name extends string> = `package:${Name}`;\n\n/** Public resolved value shapes — re-exported from `registry.ts` to\n * give consumers one stable import path. */\nexport type { ResolvedLocalPackage, ResolvedKnownPackage, ResolvedPackage } from './registry.ts';\nexport type {\n\tPickCreatedByTypeOptions,\n\tLocalPackagePublishOutput,\n\tPackagePublishObjectChange,\n} from './publish-output.ts';\nexport { pickCreatedByType } from './publish-output.ts';\nexport type { PublishError } from './errors.ts';\nexport { PACKAGE_ERROR_TAGS } from './errors.ts';\nexport type { PackageBindings } from './codegen.ts';\nexport type { PublishExecutor } from './mode-local.ts';\n\n/** Resolved value carried by the package resource. Local packages also\n * expose the publish output so manifest emitters and capture-spec\n * callers can read it. Sibling plugin folds consume the package-owned\n * extension contribution instead of importing package internals. */\nexport type PackageCaptureMap = Readonly<Record<string, string>>;\n\ntype PackageCaptureCallback = (\n\toutput: LocalPackagePublishOutput,\n) => Readonly<Record<string, string>>;\n\nexport type PackageCapture = PackageCaptureMap;\n\nexport type CapturedPackageValues<Capture> = Capture extends PackageCaptureCallback\n\t? Readonly<Record<string, string>>\n\t: Capture extends PackageCaptureMap\n\t\t? { readonly [K in keyof Capture]: string }\n\t\t: Readonly<Record<string, string>>;\n\nexport interface LocalPackageResolved<Capture = undefined> extends Omit<\n\tResolvedLocalPackage,\n\t'captured'\n> {\n\t/** Captured object ids keyed by the user's `capture` option. */\n\treadonly captured: CapturedPackageValues<Capture>;\n\t/** Publisher account that signed this package. Kept on the live\n\t * resource value so downstream local coin plugins can mint from\n\t * publisher-owned TreasuryCaps through the centralized funding\n\t * strategy path. It is intentionally not written to generated\n\t * bindings or the package registry. */\n\treadonly publisher: AccountValue;\n\t/** Publish output — present after a fresh publish, null on\n\t * cache hit (verify-only path). Consumers that need the\n\t * output MUST tolerate null and fall back to chain reads via\n\t * the ChainProbe. */\n\treadonly publishResult: LocalPackagePublishOutput | null;\n}\n\nexport type KnownPackageResolved = ResolvedKnownPackage;\n\nexport type PackageResolved = LocalPackageResolved | KnownPackageResolved;\n\n// ---------------------------------------------------------------------------\n// Factory options\n// ---------------------------------------------------------------------------\n\nexport interface LocalPackageOptions<\n\tPublisher extends PublisherAccountMember = PublisherAccountMember,\n\tCapture extends PackageCapture | undefined = undefined,\n> {\n\treadonly sourcePath: string;\n\treadonly mvrPlaceholder?: string;\n\treadonly excludeFromCodegen?: boolean;\n\t/** Capture created objects from the publish output. The record\n\t * form maps output keys to object-type suffixes, e.g.\n\t * `{ boardId: '::board::Board' }`. */\n\treadonly capture?: Capture;\n\t/** Publisher account — the signer for the publish tx. Pass the\n\t * result of `account('alice')` (the same plugin/resource ref used\n\t * in the rest of the stack — NOT a duplicate factory call).\n\t *\n\t * Required for local packages: a publish tx must be signed by\n\t * SOMEONE; we make the choice explicit so two packages in the\n\t * same stack can publish under different accounts (no implicit\n\t * \"first account\" convention to memorise). Distilled doc Invariant\n\t * 4 — \"Signer MUST be an explicit upstream\". */\n\treadonly publisher: Publisher;\n}\n\nexport interface KnownPackageOptions {\n\treadonly packageId: string;\n\treadonly upgradeCapId?: string;\n\treadonly mvrPlaceholder?: string;\n}\n\ninterface PackageRegistryProjectionContribution {\n\treadonly kind: 'local' | 'known';\n\treadonly name: string;\n\treadonly packageId: string;\n\treadonly upgradeCapId: string | null;\n\treadonly mvrPlaceholder: string;\n\treadonly sourcePath: string | null;\n}\n\nconst makePackageProjectionContribution = (\n\tprojection: PackageRegistryProjectionContribution,\n): ProjectionDecl => {\n\tconst updatedAt = Date.now();\n\treturn {\n\t\tkind: 'projection',\n\t\tevent: {\n\t\t\ttag: 'package.updated',\n\t\t\tpackage: {\n\t\t\t\tkey: `package/${projection.name}` as `package/${string}`,\n\t\t\t\trowKey: null,\n\t\t\t\tname: projection.name,\n\t\t\t\tkind: projection.kind,\n\t\t\t\tpackageId: projection.packageId,\n\t\t\t\tupgradeCapId: projection.upgradeCapId,\n\t\t\t\tmvrPlaceholder: projection.mvrPlaceholder,\n\t\t\t\tsourcePath: projection.sourcePath,\n\t\t\t\tupdatedAt,\n\t\t\t},\n\t\t\tat: updatedAt,\n\t\t},\n\t};\n};\n\n// ---------------------------------------------------------------------------\n// Internal builders\n// ---------------------------------------------------------------------------\n\nconst normalizeCapture = <Capture extends PackageCapture | undefined>(\n\tpackageName: string,\n\tcapture: Capture,\n): PackageCaptureCallback | undefined => {\n\tif (capture === undefined) return undefined;\n\treturn (output) => {\n\t\tconst captured: Record<string, string> = {};\n\t\tfor (const [key, suffix] of Object.entries(capture)) {\n\t\t\tconst objectId = pickCreatedByType(output.objectChanges, { suffix });\n\t\t\tif (objectId === undefined) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`localPackage('${packageName}') capture '${key}' matched no created object with suffix '${suffix}'.`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tcaptured[key] = objectId;\n\t\t}\n\t\treturn captured;\n\t};\n};\n\nconst buildLocalPlugin = <\n\tName extends string,\n\tconst Publisher extends PublisherAccountMember,\n\tCapture extends PackageCapture | undefined,\n>(\n\tname: Name,\n\topts: LocalPackageOptions<Publisher, Capture>,\n) => {\n\tconst packageRef = resource<PackageResourceId<Name>, LocalPackageResolved<Capture>>(\n\t\tpackageResourceId(name),\n\t);\n\tconst capture = normalizeCapture(name, opts.capture);\n\n\treturn definePlugin({\n\t\tid: packageRef.id,\n\t\tdependsOn: { sui: suiResource, publisher: opts.publisher },\n\t\trole: 'task',\n\t\twatch: {\n\t\t\t// File-watcher contribution — restart on Move source edits.\n\t\t\t// Distilled doc §Outputs: literal-path Packages contribute\n\t\t\t// watch roots. Effect-resolved paths do NOT auto-attach.\n\t\t\tpaths: [\n\t\t\t\t`${opts.sourcePath}/**/*.move`,\n\t\t\t\t`${opts.sourcePath}/Move.toml`,\n\t\t\t\t`${opts.sourcePath}/Move.lock`,\n\t\t\t],\n\t\t\tcascade: true,\n\t\t},\n\t\tstart: ({ sui, publisher: publisherAccount }) =>\n\t\t\tEffect.gen(function* () {\n\t\t\t\t// Substrate-context primitives: ArtifactPublisher\n\t\t\t\t// is provided by the supervisor's pluginContext;\n\t\t\t\t// ChainProbe is looked up via the StrategyRegistry\n\t\t\t\t// (Sui registered itself there at acquire). The\n\t\t\t\t// PackageRegistry is a per-stack plugin-owned service\n\t\t\t\t// (instantiated from the substrate's generic\n\t\t\t\t// ScopedRefMap primitive — see `registry.ts`) — every\n\t\t\t\t// package plugin in the stack yields the SAME instance\n\t\t\t\t// via `PackageRegistryService`, so cross-plugin lookups\n\t\t\t\t// stay consistent and warm-restart verify can use the\n\t\t\t\t// previous packageId as a hint.\n\t\t\t\tconst publisher = yield* ArtifactPublisherService;\n\t\t\t\tconst probe = yield* chainProbeFor<SuiProbeKey>(sui.chain);\n\t\t\t\tconst registry = yield* PackageRegistryService;\n\t\t\t\t// ContainerRuntime + the Sui plugin's resolved image feed\n\t\t\t\t// `runMoveBuild`'s path-(b) (`docker run --rm`) build path.\n\t\t\t\t// Sui surfaces `buildImage` on its resolved client; modes\n\t\t\t\t// without an in-stack image (external, live) surface null\n\t\t\t\t// — runMoveBuild then surfaces a typed error from path (c)\n\t\t\t\t// (host CLI not routed).\n\t\t\t\tconst containerRuntime = yield* ContainerRuntimeService;\n\n\t\t\t\t// Build the concrete `PublishExecutor` once per acquire.\n\t\t\t\t// Hands the resolved SuiSdkShim (for `Transaction.build`,\n\t\t\t\t// `executeTransaction`, `waitForTransaction`) and the\n\t\t\t\t// publisher account (for `signAndExecute`) to the executor\n\t\t\t\t// methods; mode-local's produce body drives them.\n\t\t\t\tconst executor = makePublishExecutor({\n\t\t\t\t\tsdk: sui.sdk,\n\t\t\t\t\taccount: publisherAccount,\n\t\t\t\t\truntime: containerRuntime,\n\t\t\t\t\t...(sui.buildImage !== null ? { buildImage: sui.buildImage } : {}),\n\t\t\t\t});\n\n\t\t\t\tconst mode = {\n\t\t\t\t\tmode: 'local',\n\t\t\t\t\tpackageName: name,\n\t\t\t\t\tsourcePath: opts.sourcePath,\n\t\t\t\t\tchainId: sui.chain,\n\t\t\t\t\tpublisherAddress: publisherAccount.address,\n\t\t\t\t\tmvrOverride: opts.mvrPlaceholder,\n\t\t\t\t\t...(capture !== undefined ? { capture } : {}),\n\t\t\t\t\texecutor,\n\t\t\t\t} satisfies PackageMode;\n\n\t\t\t\tconst { resolved, output } = yield* bootPackageService(publisher, probe, registry, mode);\n\n\t\t\t\tconst projected: LocalPackageResolved<Capture> = {\n\t\t\t\t\t...resolved,\n\t\t\t\t\tcaptured: resolved.captured as CapturedPackageValues<Capture>,\n\t\t\t\t\tpublisher: publisherAccount,\n\t\t\t\t\tpublishResult: output,\n\t\t\t\t};\n\t\t\t\treturn projected;\n\t\t\t}),\n\t\terrorContributions: packageErrorContributions,\n\t\tcapabilities: ({ value, runtime }) => makeLocalCapabilities(name, opts, value, runtime.chain),\n\t});\n};\n\nconst buildKnownPlugin = <Name extends string>(name: Name, opts: KnownPackageOptions) => {\n\tconst packageRef = resource<PackageResourceId<Name>, KnownPackageResolved>(\n\t\tpackageResourceId(name),\n\t);\n\treturn definePlugin({\n\t\tid: packageRef.id,\n\t\tdependsOn: { sui: suiResource },\n\t\trole: 'task',\n\t\tstart: ({ sui }) =>\n\t\t\tEffect.gen(function* () {\n\t\t\t\tconst publisher = yield* ArtifactPublisherService;\n\t\t\t\tconst probe = yield* chainProbeFor<SuiProbeKey>(sui.chain);\n\t\t\t\tconst registry = yield* PackageRegistryService;\n\t\t\t\tconst mode = {\n\t\t\t\t\tmode: 'known',\n\t\t\t\t\tpackageName: name,\n\t\t\t\t\tpackageId: opts.packageId,\n\t\t\t\t\tupgradeCapId: opts.upgradeCapId,\n\t\t\t\t\tmvrOverride: opts.mvrPlaceholder,\n\t\t\t\t} satisfies PackageMode;\n\t\t\t\tconst { resolved } = yield* bootPackageService(publisher, probe, registry, mode);\n\t\t\t\t// Known mode never publishes — no output to walk, so\n\t\t\t\t// the coin-discovery hook is skipped here. Users who\n\t\t\t\t// want coin records for a knownPackage point a\n\t\t\t\t// `coin.known('0xPKG::module::Witness')` at the\n\t\t\t\t// fully-qualified type directly; the bare-type path\n\t\t\t\t// hits the live RPC for metadata rather than the\n\t\t\t\t// output-walker.\n\t\t\t\treturn resolved;\n\t\t\t}),\n\t\terrorContributions: packageErrorContributions,\n\t\tcapabilities: ({ value }) => makeKnownCapabilities(name, opts, value),\n\t});\n};\n\nconst makeLocalCapabilities = (\n\tname: string,\n\topts: { readonly excludeFromCodegen?: boolean },\n\tresolved: LocalPackageResolved,\n\tchain: ChainId,\n) => {\n\t// Snapshot + codegen lift their typed fields off the resolved\n\t// publish (real packageId + captured object ids). The static-form\n\t// placeholders are gone.\n\tconst snap: SnapshotableDecl = makeSnapshotable(\n\t\tname,\n\t\tresolved.publishResult?.packageId ?? resolved.packageId,\n\t);\n\tconst codegen: CodegenableDecl<'package'> = makeLocalCodegenable(\n\t\t{\n\t\t\tkind: 'local',\n\t\t\tname,\n\t\t\tpackageId: resolved.packageId,\n\t\t\tupgradeCapId: resolved.upgradeCapId,\n\t\t\tsourcePath: resolved.sourcePath,\n\t\t\tmvrPlaceholder: resolved.mvrPlaceholder,\n\t\t\tcaptured: resolved.captured,\n\t\t},\n\t\t{ excluded: opts.excludeFromCodegen ?? false },\n\t);\n\t// The plugin contributes to the package-registry strategy under a\n\t// fixed key — the substrate orchestrator wires all packages'\n\t// contributions into the same per-stack registry.\n\tconst projection: PackageRegistryProjectionContribution = {\n\t\tkind: 'local',\n\t\tname,\n\t\tpackageId: resolved.packageId,\n\t\tupgradeCapId: resolved.upgradeCapId ?? null,\n\t\tmvrPlaceholder: resolved.mvrPlaceholder,\n\t\tsourcePath: resolved.sourcePath,\n\t};\n\tconst registryContribution: StrategyContributorDecl<\n\t\ttypeof PACKAGE_REGISTRY_CAPABILITY_KEY,\n\t\tPackageRegistryProjectionContribution\n\t> = {\n\t\tkind: 'strategy-contributor',\n\t\tcapabilityKey: PACKAGE_REGISTRY_CAPABILITY_KEY,\n\t\tstrategy: projection,\n\t\tautoMounted: true,\n\t};\n\treturn [\n\t\tsnap,\n\t\tcodegen,\n\t\tregistryContribution,\n\t\tmakePackageProjectionContribution(projection),\n\t\t...(resolved.publishResult === null\n\t\t\t? []\n\t\t\t: [\n\t\t\t\t\tmakeLocalPackagePublishedDecl({\n\t\t\t\t\t\tpackageName: name,\n\t\t\t\t\t\tpackageId: resolved.packageId,\n\t\t\t\t\t\tchain,\n\t\t\t\t\t\toutput: resolved.publishResult,\n\t\t\t\t\t}),\n\t\t\t\t]),\n\t] as const;\n};\n\nconst makeKnownCapabilities = (\n\tname: string,\n\topts: KnownPackageOptions,\n\tresolved: KnownPackageResolved,\n) => {\n\tconst snap: SnapshotableDecl = makeSnapshotable(name, `known:${resolved.packageId}`);\n\tconst codegen: CodegenableDecl<'package'> = makeKnownCodegenable({\n\t\tkind: 'known',\n\t\tname,\n\t\tpackageId: resolved.packageId,\n\t\tupgradeCapId: resolved.upgradeCapId ?? opts.upgradeCapId,\n\t\tmvrPlaceholder: resolved.mvrPlaceholder,\n\t});\n\tconst projection: PackageRegistryProjectionContribution = {\n\t\tkind: 'known',\n\t\tname,\n\t\tpackageId: resolved.packageId,\n\t\tupgradeCapId: resolved.upgradeCapId ?? opts.upgradeCapId ?? null,\n\t\tmvrPlaceholder: resolved.mvrPlaceholder,\n\t\tsourcePath: null,\n\t};\n\tconst registryContribution: StrategyContributorDecl<\n\t\ttypeof PACKAGE_REGISTRY_CAPABILITY_KEY,\n\t\tPackageRegistryProjectionContribution\n\t> = {\n\t\tkind: 'strategy-contributor',\n\t\tcapabilityKey: PACKAGE_REGISTRY_CAPABILITY_KEY,\n\t\tstrategy: projection,\n\t\tautoMounted: true,\n\t};\n\treturn [\n\t\tsnap,\n\t\tcodegen,\n\t\tregistryContribution,\n\t\tmakePackageProjectionContribution(projection),\n\t] as const;\n};\n\n// ---------------------------------------------------------------------------\n// Public factories\n// ---------------------------------------------------------------------------\n\n/** Build + publish a local Move package. The resolved value is\n * `LocalPackageResolved` so consumers that need bindings / source\n * path are typed correctly.\n *\n * Required `opts.publisher`: the account that signs the publish tx.\n * Pass the same `account('alice')` reference used elsewhere in the\n * stack — the package.s `dependsOn` includes `account/<publisher>`\n * so the substrate orders the publisher's keypair + funding strictly\n * before publish. */\nexport const localPackage = <\n\tName extends string,\n\tconst Publisher extends PublisherAccountMember,\n\tconst Capture extends PackageCapture | undefined = undefined,\n>(\n\tname: Name,\n\topts: LocalPackageOptions<Publisher, Capture>,\n) => buildLocalPlugin(name, opts);\n\n/** Verify-only against a fixed on-chain package id. The resolved\n * value is `KnownPackageResolved` — narrower than local, so the\n * bindings emitter rejects this at compose time. */\nexport const knownPackage = <Name extends string>(name: Name, opts: KnownPackageOptions) =>\n\tbuildKnownPlugin(name, opts);\n"],"mappings":";;;;;;;;;;;;;;;AAwDA,MAAM,4BAA4B,yBAAyB,mBAAmB;;;;;AAuB9E,MAAa,qBAA0C,SACtD,WAAW;AAsGZ,MAAM,qCACL,eACoB;CACpB,MAAM,YAAY,KAAK,KAAK;AAC5B,QAAO;EACN,MAAM;EACN,OAAO;GACN,KAAK;GACL,SAAS;IACR,KAAK,WAAW,WAAW;IAC3B,QAAQ;IACR,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,WAAW,WAAW;IACtB,cAAc,WAAW;IACzB,gBAAgB,WAAW;IAC3B,YAAY,WAAW;IACvB;IACA;GACD,IAAI;GACJ;EACD;;AAOF,MAAM,oBACL,aACA,YACwC;AACxC,KAAI,YAAY,KAAA,EAAW,QAAO,KAAA;AAClC,SAAQ,WAAW;EAClB,MAAM,WAAmC,EAAE;AAC3C,OAAK,MAAM,CAAC,KAAK,WAAW,OAAO,QAAQ,QAAQ,EAAE;GACpD,MAAM,WAAW,kBAAkB,OAAO,eAAe,EAAE,QAAQ,CAAC;AACpE,OAAI,aAAa,KAAA,EAChB,OAAM,IAAI,MACT,iBAAiB,YAAY,cAAc,IAAI,2CAA2C,OAAO,IACjG;AAEF,YAAS,OAAO;;AAEjB,SAAO;;;AAIT,MAAM,oBAKL,MACA,SACI;CACJ,MAAM,aAAa,SAClB,kBAAkB,KAAK,CACvB;CACD,MAAM,UAAU,iBAAiB,MAAM,KAAK,QAAQ;AAEpD,QAAO,aAAa;EACnB,IAAI,WAAW;EACf,WAAW;GAAE,KAAK;GAAa,WAAW,KAAK;GAAW;EAC1D,MAAM;EACN,OAAO;GAIN,OAAO;IACN,GAAG,KAAK,WAAW;IACnB,GAAG,KAAK,WAAW;IACnB,GAAG,KAAK,WAAW;IACnB;GACD,SAAS;GACT;EACD,QAAQ,EAAE,KAAK,WAAW,uBACzB,OAAO,IAAI,aAAa;GAYvB,MAAM,YAAY,OAAO;GACzB,MAAM,QAAQ,OAAO,cAA2B,IAAI,MAAM;GAC1D,MAAM,WAAW,OAAO;GAOxB,MAAM,mBAAmB,OAAO;GAOhC,MAAM,WAAW,oBAAoB;IACpC,KAAK,IAAI;IACT,SAAS;IACT,SAAS;IACT,GAAI,IAAI,eAAe,OAAO,EAAE,YAAY,IAAI,YAAY,GAAG,EAAE;IACjE,CAAC;GAaF,MAAM,EAAE,UAAU,WAAW,OAAO,mBAAmB,WAAW,OAAO,UAAU;IAVlF,MAAM;IACN,aAAa;IACb,YAAY,KAAK;IACjB,SAAS,IAAI;IACb,kBAAkB,iBAAiB;IACnC,aAAa,KAAK;IAClB,GAAI,YAAY,KAAA,IAAY,EAAE,SAAS,GAAG,EAAE;IAC5C;IAGsF,CAAC;AAQxF,UAAO;IALN,GAAG;IACH,UAAU,SAAS;IACnB,WAAW;IACX,eAAe;IAEA;IACf;EACH,oBAAoB;EACpB,eAAe,EAAE,OAAO,cAAc,sBAAsB,MAAM,MAAM,OAAO,QAAQ,MAAM;EAC7F,CAAC;;AAGH,MAAM,oBAAyC,MAAY,SAA8B;AAIxF,QAAO,aAAa;EACnB,IAJkB,SAClB,kBAAkB,KAAK,CAGT,CAAC;EACf,WAAW,EAAE,KAAK,aAAa;EAC/B,MAAM;EACN,QAAQ,EAAE,UACT,OAAO,IAAI,aAAa;GAWvB,MAAM,EAAE,aAAa,OAAO,mBAAmB,OAVtB,0BAUiC,OATrC,cAA2B,IAAI,MAAM,EASO,OARzC,wBAQmD;IAN1E,MAAM;IACN,aAAa;IACb,WAAW,KAAK;IAChB,cAAc,KAAK;IACnB,aAAa,KAAK;IAE4D,CAAC;AAQhF,UAAO;IACN;EACH,oBAAoB;EACpB,eAAe,EAAE,YAAY,sBAAsB,MAAM,MAAM,MAAM;EACrE,CAAC;;AAGH,MAAM,yBACL,MACA,MACA,UACA,UACI;CAIJ,MAAM,OAAyB,iBAC9B,MACA,SAAS,eAAe,aAAa,SAAS,UAC9C;CACD,MAAM,UAAsC,qBAC3C;EACC,MAAM;EACN;EACA,WAAW,SAAS;EACpB,cAAc,SAAS;EACvB,YAAY,SAAS;EACrB,gBAAgB,SAAS;EACzB,UAAU,SAAS;EACnB,EACD,EAAE,UAAU,KAAK,sBAAsB,OAAO,CAC9C;CAID,MAAM,aAAoD;EACzD,MAAM;EACN;EACA,WAAW,SAAS;EACpB,cAAc,SAAS,gBAAgB;EACvC,gBAAgB,SAAS;EACzB,YAAY,SAAS;EACrB;AAUD,QAAO;EACN;EACA;EACA;GARA,MAAM;GACN,eAAe;GACf,UAAU;GACV,aAAa;GAKO;EACpB,kCAAkC,WAAW;EAC7C,GAAI,SAAS,kBAAkB,OAC5B,EAAE,GACF,CACA,8BAA8B;GAC7B,aAAa;GACb,WAAW,SAAS;GACpB;GACA,QAAQ,SAAS;GACjB,CAAC,CACF;EACH;;AAGF,MAAM,yBACL,MACA,MACA,aACI;CACJ,MAAM,OAAyB,iBAAiB,MAAM,SAAS,SAAS,YAAY;CACpF,MAAM,UAAsC,qBAAqB;EAChE,MAAM;EACN;EACA,WAAW,SAAS;EACpB,cAAc,SAAS,gBAAgB,KAAK;EAC5C,gBAAgB,SAAS;EACzB,CAAC;CACF,MAAM,aAAoD;EACzD,MAAM;EACN;EACA,WAAW,SAAS;EACpB,cAAc,SAAS,gBAAgB,KAAK,gBAAgB;EAC5D,gBAAgB,SAAS;EACzB,YAAY;EACZ;AAUD,QAAO;EACN;EACA;EACA;GARA,MAAM;GACN,eAAe;GACf,UAAU;GACV,aAAa;GAKO;EACpB,kCAAkC,WAAW;EAC7C;;;;;;;;;;;AAgBF,MAAa,gBAKZ,MACA,SACI,iBAAiB,MAAM,KAAK;;;;AAKjC,MAAa,gBAAqC,MAAY,SAC7D,iBAAiB,MAAM,KAAK"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { publishError } from "./errors.mjs";
|
|
2
|
+
import { mvrSlugify } from "./dep-resolution.mjs";
|
|
3
|
+
import { Effect, Schema } from "effect";
|
|
4
|
+
//#region src/plugins/package/mode-known.ts
|
|
5
|
+
/** Verify-schema for known mode — minimum signal: object exists at
|
|
6
|
+
* the given id. */
|
|
7
|
+
const KnownObjectShape = Schema.Struct({ objectId: Schema.String });
|
|
8
|
+
/**
|
|
9
|
+
* Acquire body for known mode.
|
|
10
|
+
*
|
|
11
|
+
* Runs the lenient ChainProbe verify and registers the resolved value.
|
|
12
|
+
* Lenient mode masks transient RPC failure — the user-visible failure
|
|
13
|
+
* here is "object truly missing on this chain". A `null` probe result
|
|
14
|
+
* does not surface yet: distinguishing transient-vs-missing requires a
|
|
15
|
+
* second strict probe layer that the ChainProbe primitive does not
|
|
16
|
+
* expose.
|
|
17
|
+
*/
|
|
18
|
+
const acquireKnown = (probe, registry, inputs) => Effect.gen(function* () {
|
|
19
|
+
const mvrPlaceholder = mvrSlugify(inputs.mvrOverride ?? inputs.packageName);
|
|
20
|
+
yield* probe.get({
|
|
21
|
+
kind: "object",
|
|
22
|
+
objectId: inputs.packageId
|
|
23
|
+
}, KnownObjectShape, "lenient").pipe(Effect.mapError(() => publishError("verify", {
|
|
24
|
+
sourcePath: `known:${inputs.packageId}`,
|
|
25
|
+
packageName: inputs.packageName,
|
|
26
|
+
message: "verify probe failed"
|
|
27
|
+
})));
|
|
28
|
+
const resolved = {
|
|
29
|
+
kind: "known",
|
|
30
|
+
name: inputs.packageName,
|
|
31
|
+
packageId: inputs.packageId,
|
|
32
|
+
upgradeCapId: inputs.upgradeCapId,
|
|
33
|
+
mvrPlaceholder
|
|
34
|
+
};
|
|
35
|
+
yield* registry.set(resolved.name, resolved);
|
|
36
|
+
return { resolved };
|
|
37
|
+
});
|
|
38
|
+
//#endregion
|
|
39
|
+
export { acquireKnown };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=mode-known.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode-known.mjs","names":[],"sources":["../../../src/plugins/package/mode-known.ts"],"sourcesContent":["// Known mode — skip publish; load existing package id from on-chain.\n//\n// Distilled doc §Responsibilities + §Inputs/dependencies §KnownPackage-\n// only: a `KnownPackage` declares a fixed `packageId` (optionally\n// `upgradeCapId`, `mvrPlaceholder`) and threads through the same\n// registries as a freshly published one. No build, no publish-tx, no\n// cache key folding by content-hash — the id IS the identity.\n//\n// What we still do:\n//\n// 1. Lenient verify probe (chain reachable + object exists). On\n// transient RPC failure, lenient mode masks → no abort. On\n// authoritative not-found we surface a PublishError(phase='verify')\n// so the user catches the typo / wrong-network mistake at boot.\n// 2. Register the resolved value on EVERY cycle.\n//\n// Bindings: KnownPackage cannot be bound by `@mysten/codegen` (no\n// source tree). The codegen contribution emitted for known packages\n// has `sourcePath: null`; the codegen orchestrator filters those\n// out before invoking the bindings emitter. The user-facing type\n// split (`localPackage` vs `knownPackage` factories) enforces this\n// at compose time per distilled doc Invariant 9.\n\nimport { Effect, Schema, type Scope } from 'effect';\n\nimport type { ChainProbe } from '../../contracts/chain-probe.ts';\nimport type { SuiProbeKey } from '../sui/chain-probe.ts';\nimport { mvrSlugify } from './dep-resolution.ts';\nimport { type PackageRegistry, type ResolvedKnownPackage } from './registry.ts';\nimport { publishError, type PublishError } from './errors.ts';\n\n/** Verify-schema for known mode — minimum signal: object exists at\n * the given id. */\nconst KnownObjectShape = Schema.Struct({\n\tobjectId: Schema.String,\n});\n\nexport interface KnownModeInputs {\n\treadonly packageName: string;\n\treadonly packageId: string;\n\treadonly upgradeCapId?: string;\n\treadonly mvrOverride?: string;\n}\n\nexport interface KnownModeOutputs {\n\treadonly resolved: ResolvedKnownPackage;\n}\n\n/**\n * Acquire body for known mode.\n *\n * Runs the lenient ChainProbe verify and registers the resolved value.\n * Lenient mode masks transient RPC failure — the user-visible failure\n * here is \"object truly missing on this chain\". A `null` probe result\n * does not surface yet: distinguishing transient-vs-missing requires a\n * second strict probe layer that the ChainProbe primitive does not\n * expose.\n */\nexport const acquireKnown = (\n\tprobe: ChainProbe<SuiProbeKey>,\n\tregistry: PackageRegistry,\n\tinputs: KnownModeInputs,\n): Effect.Effect<KnownModeOutputs, PublishError, Scope.Scope> =>\n\tEffect.gen(function* () {\n\t\tconst mvrPlaceholder = mvrSlugify(inputs.mvrOverride ?? inputs.packageName);\n\n\t\tyield* probe\n\t\t\t.get({ kind: 'object', objectId: inputs.packageId }, KnownObjectShape, 'lenient')\n\t\t\t.pipe(\n\t\t\t\tEffect.mapError(\n\t\t\t\t\t(): PublishError =>\n\t\t\t\t\t\tpublishError('verify', {\n\t\t\t\t\t\t\tsourcePath: `known:${inputs.packageId}`,\n\t\t\t\t\t\t\tpackageName: inputs.packageName,\n\t\t\t\t\t\t\tmessage: 'verify probe failed',\n\t\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\n\t\tconst resolved: ResolvedKnownPackage = {\n\t\t\tkind: 'known',\n\t\t\tname: inputs.packageName,\n\t\t\tpackageId: inputs.packageId,\n\t\t\tupgradeCapId: inputs.upgradeCapId,\n\t\t\tmvrPlaceholder,\n\t\t};\n\n\t\t// Distilled doc Invariant 6: register on EVERY cycle (here\n\t\t// always — known mode has no \"miss\" branch).\n\t\tyield* registry.set(resolved.name, resolved);\n\n\t\treturn { resolved };\n\t});\n"],"mappings":";;;;;;AAiCA,MAAM,mBAAmB,OAAO,OAAO,EACtC,UAAU,OAAO,QACjB,CAAC;;;;;;;;;;;AAuBF,MAAa,gBACZ,OACA,UACA,WAEA,OAAO,IAAI,aAAa;CACvB,MAAM,iBAAiB,WAAW,OAAO,eAAe,OAAO,YAAY;AAE3E,QAAO,MACL,IAAI;EAAE,MAAM;EAAU,UAAU,OAAO;EAAW,EAAE,kBAAkB,UAAU,CAChF,KACA,OAAO,eAEL,aAAa,UAAU;EACtB,YAAY,SAAS,OAAO;EAC5B,aAAa,OAAO;EACpB,SAAS;EACT,CAAC,CACH,CACD;CAEF,MAAM,WAAiC;EACtC,MAAM;EACN,MAAM,OAAO;EACb,WAAW,OAAO;EAClB,cAAc,OAAO;EACrB;EACA;AAID,QAAO,SAAS,IAAI,SAAS,MAAM,SAAS;AAE5C,QAAO,EAAE,UAAU;EAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { Effect, Schema, Scope } from "effect";
|