@mysten-incubation/devstack 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/dashboard-ui/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/dashboard-ui/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/dashboard-ui/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/dashboard-ui/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/dashboard-ui/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 +0 -0
- package/dashboard-ui/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 +0 -0
- package/dashboard-ui/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 +0 -0
- package/dashboard-ui/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 +0 -0
- package/dashboard-ui/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 +0 -0
- package/dashboard-ui/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 +0 -0
- package/dashboard-ui/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/dashboard-ui/assets/index-Bmi1UtAg.js +1356 -0
- package/dashboard-ui/assets/index-D5EShVt4.js +3 -0
- package/dashboard-ui/assets/index-Deml9drg.css +1 -0
- package/dashboard-ui/index.html +13 -0
- package/dist/api/define-capabilities.d.mts +14 -3
- package/dist/api/define-capabilities.mjs +18 -1
- package/dist/api/define-capabilities.mjs.map +1 -1
- package/dist/api/define-devstack.d.mts +1 -1
- package/dist/api/define-devstack.mjs +6 -26
- package/dist/api/define-devstack.mjs.map +1 -1
- package/dist/api/define-plugin.d.mts +1 -0
- package/dist/api/define-plugin.mjs +2 -0
- package/dist/api/inference-network.d.mts +132 -0
- package/dist/api/inference-network.mjs +105 -16
- package/dist/api/inference-network.mjs.map +1 -1
- package/dist/api/plugin-errors.d.mts +7 -0
- package/dist/api/run-stack.d.mts +20 -9
- package/dist/api/run-stack.mjs +56 -29
- package/dist/api/run-stack.mjs.map +1 -1
- package/dist/build-integrations/playwright/config.d.mts +6 -4
- package/dist/build-integrations/playwright/config.mjs +5 -3
- package/dist/build-integrations/playwright/config.mjs.map +1 -1
- package/dist/build-integrations/playwright/errors.d.mts +1 -1
- package/dist/build-integrations/playwright/global-setup.d.mts +43 -17
- package/dist/build-integrations/playwright/global-setup.mjs +250 -13
- package/dist/build-integrations/playwright/global-setup.mjs.map +1 -1
- package/dist/build-integrations/playwright/index.d.mts +5 -3
- package/dist/build-integrations/playwright/index.mjs +4 -2
- package/dist/build-integrations/playwright/stack-context.d.mts +0 -1
- package/dist/build-integrations/playwright/stack-context.mjs +24 -63
- package/dist/build-integrations/playwright/stack-context.mjs.map +1 -1
- package/dist/build-integrations/playwright/wallet-context.d.mts +7 -10
- package/dist/build-integrations/playwright/wallet-context.mjs +8 -13
- package/dist/build-integrations/playwright/wallet-context.mjs.map +1 -1
- package/dist/build-integrations/runtime/cold-start-url.d.mts +5 -0
- package/dist/build-integrations/runtime/cold-start-url.mjs +4 -3
- package/dist/build-integrations/runtime/cold-start-url.mjs.map +1 -1
- package/dist/build-integrations/runtime/conventional-routes.d.mts +51 -0
- package/dist/build-integrations/runtime/conventional-routes.mjs +92 -0
- package/dist/build-integrations/runtime/conventional-routes.mjs.map +1 -0
- package/dist/build-integrations/runtime/discover.d.mts +38 -30
- package/dist/build-integrations/runtime/discover.mjs +73 -70
- package/dist/build-integrations/runtime/discover.mjs.map +1 -1
- package/dist/build-integrations/runtime/endpoint-registry.d.mts +3 -1
- package/dist/build-integrations/runtime/endpoint-registry.mjs +3 -1
- package/dist/build-integrations/runtime/endpoint-registry.mjs.map +1 -1
- package/dist/build-integrations/runtime/index.d.mts +7 -2
- package/dist/build-integrations/runtime/index.mjs +9 -2
- package/dist/build-integrations/runtime/manifest-types.d.mts +2 -0
- package/dist/build-integrations/runtime/manifest-types.mjs +3 -0
- package/dist/build-integrations/runtime/playwright-stack-context-slot.d.mts +29 -0
- package/dist/build-integrations/runtime/playwright-stack-context-slot.mjs +10 -0
- package/dist/build-integrations/runtime/playwright-stack-context-slot.mjs.map +1 -0
- package/dist/build-integrations/runtime/read-stack-context.d.mts +1 -1
- package/dist/build-integrations/runtime/read-stack-context.mjs +10 -4
- package/dist/build-integrations/runtime/read-stack-context.mjs.map +1 -1
- package/dist/build-integrations/runtime/resolve-discovery-env.d.mts +48 -0
- package/dist/build-integrations/runtime/resolve-discovery-env.mjs +42 -0
- package/dist/build-integrations/runtime/resolve-discovery-env.mjs.map +1 -0
- package/dist/build-integrations/runtime/stack-context.d.mts +1 -1
- package/dist/build-integrations/runtime/wallet-paths.mjs +2 -0
- package/dist/build-integrations/vite/index.d.mts +51 -0
- package/dist/build-integrations/vite/index.mjs +73 -0
- package/dist/build-integrations/vite/index.mjs.map +1 -0
- package/dist/build-integrations/vitest/env.d.mts +4 -3
- package/dist/build-integrations/vitest/env.mjs +6 -4
- package/dist/build-integrations/vitest/env.mjs.map +1 -1
- package/dist/build-integrations/vitest/errors.d.mts +25 -4
- package/dist/build-integrations/vitest/errors.mjs +15 -2
- package/dist/build-integrations/vitest/errors.mjs.map +1 -1
- package/dist/build-integrations/vitest/index.d.mts +2 -2
- package/dist/build-integrations/vitest/index.mjs +3 -3
- package/dist/build-integrations/vitest/setup.d.mts +4 -2
- package/dist/build-integrations/vitest/setup.mjs +2 -2
- package/dist/build-integrations/vitest/setup.mjs.map +1 -1
- package/dist/build-integrations/vitest/stack-context.d.mts +0 -1
- package/dist/build-integrations/vitest/stack-context.mjs +33 -13
- package/dist/build-integrations/vitest/stack-context.mjs.map +1 -1
- package/dist/cli/bail.mjs +23 -0
- package/dist/cli/bail.mjs.map +1 -0
- package/dist/{surfaces/cli/commands → cli}/doctor-probes.mjs +26 -16
- package/dist/cli/doctor-probes.mjs.map +1 -0
- package/dist/cli/main.d.mts +15 -1
- package/dist/cli/main.mjs +166 -482
- package/dist/cli/main.mjs.map +1 -1
- package/dist/cli/prune-direct.mjs +31 -201
- package/dist/cli/prune-direct.mjs.map +1 -1
- package/dist/cli/snapshot-reader.mjs +14 -11
- package/dist/cli/snapshot-reader.mjs.map +1 -1
- package/dist/cli/up-lifecycle.mjs +4 -1
- package/dist/cli/up-lifecycle.mjs.map +1 -1
- package/dist/cli/wirings/apply.mjs +95 -0
- package/dist/cli/wirings/apply.mjs.map +1 -0
- package/dist/cli/wirings/build-verb-layers.mjs +42 -0
- package/dist/cli/wirings/build-verb-layers.mjs.map +1 -0
- package/dist/cli/wirings/config-loader.mjs +69 -0
- package/dist/cli/wirings/config-loader.mjs.map +1 -0
- package/dist/cli/wirings/engine-command.mjs +30 -0
- package/dist/cli/wirings/engine-command.mjs.map +1 -0
- package/dist/cli/wirings/identity.mjs +72 -0
- package/dist/cli/wirings/identity.mjs.map +1 -0
- package/dist/cli/wirings/provide-file-system.mjs +7 -0
- package/dist/cli/wirings/provide-file-system.mjs.map +1 -0
- package/dist/cli/wirings/snapshot.mjs +177 -0
- package/dist/cli/wirings/snapshot.mjs.map +1 -0
- package/dist/cli/wirings/up.mjs +287 -0
- package/dist/cli/wirings/up.mjs.map +1 -0
- package/dist/cli/wirings/wipe.mjs +40 -0
- package/dist/cli/wirings/wipe.mjs.map +1 -0
- package/dist/contracts/capability-decl.d.mts +0 -2
- package/dist/contracts/codegenable.d.mts +43 -0
- package/dist/contracts/container-runtime.d.mts +26 -1
- package/dist/contracts/faucet-strategy.d.mts +25 -0
- package/dist/contracts/funding-strategy.d.mts +42 -0
- package/dist/contracts/plugin-expander.mjs +60 -0
- package/dist/contracts/plugin-expander.mjs.map +1 -0
- package/dist/contracts/projection.d.mts +5 -3
- package/dist/contracts/renderer.d.mts +23 -0
- package/dist/contracts/routable.d.mts +14 -1
- package/dist/contracts/snapshotable.d.mts +25 -3
- package/dist/contracts/wallet-protocol.d.mts +52 -0
- package/dist/contracts/wallet-protocol.mjs +52 -0
- package/dist/contracts/wallet-protocol.mjs.map +1 -0
- package/dist/index.d.mts +26 -25
- package/dist/index.mjs +20 -13
- package/dist/{runtime → orchestrators}/built-in-plugin-layers.mjs +10 -5
- package/dist/orchestrators/built-in-plugin-layers.mjs.map +1 -0
- package/dist/orchestrators/codegen/bindings.d.mts +1 -2
- package/dist/orchestrators/codegen/bindings.mjs +52 -186
- package/dist/orchestrators/codegen/bindings.mjs.map +1 -1
- package/dist/orchestrators/codegen/emit.mjs +19 -1
- package/dist/orchestrators/codegen/emit.mjs.map +1 -1
- package/dist/orchestrators/codegen/errors.mjs +8 -3
- package/dist/orchestrators/codegen/errors.mjs.map +1 -1
- package/dist/orchestrators/codegen/format.mjs +47 -39
- package/dist/orchestrators/codegen/format.mjs.map +1 -1
- package/dist/orchestrators/codegen/gitignore.mjs +3 -1
- package/dist/orchestrators/codegen/gitignore.mjs.map +1 -1
- package/dist/orchestrators/codegen/output-location.mjs +40 -0
- package/dist/orchestrators/codegen/output-location.mjs.map +1 -0
- package/dist/orchestrators/codegen/paths.d.mts +1 -1
- package/dist/orchestrators/codegen/paths.mjs +40 -14
- package/dist/orchestrators/codegen/paths.mjs.map +1 -1
- package/dist/orchestrators/codegen/permissions.mjs +3 -1
- package/dist/orchestrators/codegen/permissions.mjs.map +1 -1
- package/dist/orchestrators/codegen/service.mjs +157 -105
- package/dist/orchestrators/codegen/service.mjs.map +1 -1
- package/dist/orchestrators/lifecycle-prune/errors.mjs +31 -0
- package/dist/orchestrators/lifecycle-prune/errors.mjs.map +1 -0
- package/dist/orchestrators/lifecycle-prune/index.mjs +350 -0
- package/dist/orchestrators/lifecycle-prune/index.mjs.map +1 -0
- package/dist/orchestrators/router/cleanup.mjs +26 -27
- package/dist/orchestrators/router/cleanup.mjs.map +1 -1
- package/dist/orchestrators/router/entrypoints.mjs +2 -2
- package/dist/orchestrators/router/entrypoints.mjs.map +1 -1
- package/dist/orchestrators/router/file-provider.mjs +14 -5
- package/dist/orchestrators/router/file-provider.mjs.map +1 -1
- package/dist/orchestrators/router/hostname.mjs +19 -55
- package/dist/orchestrators/router/hostname.mjs.map +1 -1
- package/dist/orchestrators/router/index.mjs +11 -0
- package/dist/orchestrators/router/profile.mjs +2 -2
- package/dist/orchestrators/router/sentinels.mjs +26 -0
- package/dist/orchestrators/router/sentinels.mjs.map +1 -0
- package/dist/orchestrators/router/service.mjs +40 -37
- package/dist/orchestrators/router/service.mjs.map +1 -1
- package/dist/orchestrators/router/traefik-container.mjs +27 -16
- package/dist/orchestrators/router/traefik-container.mjs.map +1 -1
- package/dist/{substrate/runtime → orchestrators}/run.mjs +26 -21
- package/dist/orchestrators/run.mjs.map +1 -0
- package/dist/orchestrators/runtime-composition.d.mts +1 -1
- package/dist/orchestrators/runtime-composition.mjs +123 -39
- package/dist/orchestrators/runtime-composition.mjs.map +1 -1
- package/dist/orchestrators/snapshot/capture-command.d.mts +1 -0
- package/dist/orchestrators/snapshot/capture-command.mjs +25 -0
- package/dist/orchestrators/snapshot/capture-command.mjs.map +1 -0
- package/dist/orchestrators/snapshot/capture.mjs +42 -28
- package/dist/orchestrators/snapshot/capture.mjs.map +1 -1
- package/dist/orchestrators/snapshot/descriptor.mjs +35 -10
- package/dist/orchestrators/snapshot/descriptor.mjs.map +1 -1
- package/dist/orchestrators/snapshot/identity-guard.mjs +1 -1
- package/dist/orchestrators/snapshot/index.mjs +13 -0
- package/dist/orchestrators/snapshot/integrity.d.mts +1 -1
- package/dist/orchestrators/snapshot/integrity.mjs +73 -17
- package/dist/orchestrators/snapshot/integrity.mjs.map +1 -1
- package/dist/orchestrators/snapshot/pending-marker.d.mts +1 -0
- package/dist/orchestrators/snapshot/pending-marker.mjs +99 -0
- package/dist/orchestrators/snapshot/pending-marker.mjs.map +1 -0
- package/dist/orchestrators/snapshot/phase-error.mjs +23 -0
- package/dist/orchestrators/snapshot/phase-error.mjs.map +1 -0
- package/dist/orchestrators/snapshot/prune.mjs +20 -55
- package/dist/orchestrators/snapshot/prune.mjs.map +1 -1
- package/dist/orchestrators/snapshot/recover-pending.d.mts +1 -0
- package/dist/orchestrators/snapshot/recover-pending.mjs +223 -0
- package/dist/orchestrators/snapshot/recover-pending.mjs.map +1 -0
- package/dist/orchestrators/snapshot/restore.mjs +118 -84
- package/dist/orchestrators/snapshot/restore.mjs.map +1 -1
- package/dist/orchestrators/snapshot/service.mjs +53 -56
- package/dist/orchestrators/snapshot/service.mjs.map +1 -1
- package/dist/orchestrators/snapshot/state-document.d.mts +1 -0
- package/dist/orchestrators/snapshot/state-document.mjs +47 -7
- package/dist/orchestrators/snapshot/state-document.mjs.map +1 -1
- package/dist/orchestrators/snapshot/wipe.mjs +67 -10
- package/dist/orchestrators/snapshot/wipe.mjs.map +1 -1
- package/dist/plugins/account/codegen.mjs +9 -8
- package/dist/plugins/account/codegen.mjs.map +1 -1
- package/dist/plugins/account/errors.d.mts +33 -6
- package/dist/plugins/account/errors.mjs.map +1 -1
- package/dist/plugins/account/funding.d.mts +29 -19
- package/dist/plugins/account/funding.mjs +84 -66
- package/dist/plugins/account/funding.mjs.map +1 -1
- package/dist/plugins/account/index.d.mts +2 -4
- package/dist/plugins/account/index.mjs +64 -31
- package/dist/plugins/account/index.mjs.map +1 -1
- package/dist/plugins/account/keypair.mjs +6 -9
- package/dist/plugins/account/keypair.mjs.map +1 -1
- package/dist/plugins/account/lease.mjs +1 -0
- package/dist/plugins/account/lease.mjs.map +1 -1
- package/dist/plugins/account/registry.d.mts +14 -1
- package/dist/plugins/account/registry.mjs +18 -18
- package/dist/plugins/account/registry.mjs.map +1 -1
- package/dist/plugins/account/service.d.mts +23 -4
- package/dist/plugins/account/service.mjs +83 -45
- package/dist/plugins/account/service.mjs.map +1 -1
- package/dist/plugins/account/snapshot.mjs +2 -5
- package/dist/plugins/account/snapshot.mjs.map +1 -1
- package/dist/plugins/account/spans.mjs +16 -0
- package/dist/plugins/account/spans.mjs.map +1 -0
- package/dist/plugins/account/variants/keystore.mjs +6 -8
- package/dist/plugins/account/variants/keystore.mjs.map +1 -1
- package/dist/plugins/action/build-context.d.mts +3 -2
- package/dist/plugins/action/errors.d.mts +16 -12
- package/dist/plugins/action/errors.mjs.map +1 -1
- package/dist/plugins/action/execute.mjs +65 -103
- package/dist/plugins/action/execute.mjs.map +1 -1
- package/dist/plugins/action/index.d.mts +0 -2
- package/dist/plugins/action/index.mjs +17 -13
- package/dist/plugins/action/index.mjs.map +1 -1
- package/dist/plugins/action/service.mjs +38 -35
- package/dist/plugins/action/service.mjs.map +1 -1
- package/dist/plugins/action/spans.mjs +11 -0
- package/dist/plugins/action/spans.mjs.map +1 -0
- package/dist/plugins/coin/codegen.mjs +9 -8
- package/dist/plugins/coin/codegen.mjs.map +1 -1
- package/dist/plugins/coin/discovery.mjs +8 -4
- package/dist/plugins/coin/discovery.mjs.map +1 -1
- package/dist/plugins/coin/index.d.mts +11 -29
- package/dist/plugins/coin/index.mjs +56 -27
- package/dist/plugins/coin/index.mjs.map +1 -1
- package/dist/plugins/coin/metadata.mjs +8 -15
- package/dist/plugins/coin/metadata.mjs.map +1 -1
- package/dist/plugins/coin/mint.d.mts +30 -11
- package/dist/plugins/coin/mint.mjs +78 -74
- package/dist/plugins/coin/mint.mjs.map +1 -1
- package/dist/plugins/coin/registry.mjs +4 -7
- package/dist/plugins/coin/registry.mjs.map +1 -1
- package/dist/plugins/coin/service.d.mts +39 -1
- package/dist/plugins/coin/service.mjs +11 -4
- package/dist/plugins/coin/service.mjs.map +1 -1
- package/dist/plugins/coin/spans.mjs +20 -0
- package/dist/plugins/coin/spans.mjs.map +1 -0
- package/dist/plugins/dashboard/domain.mjs +402 -0
- package/dist/plugins/dashboard/domain.mjs.map +1 -0
- package/dist/plugins/dashboard/index.d.mts +29 -0
- package/dist/plugins/dashboard/index.mjs +91 -0
- package/dist/plugins/dashboard/index.mjs.map +1 -0
- package/dist/plugins/dashboard/origin-policy.mjs +36 -0
- package/dist/plugins/dashboard/origin-policy.mjs.map +1 -0
- package/dist/plugins/dashboard/routable.mjs +27 -0
- package/dist/plugins/dashboard/routable.mjs.map +1 -0
- package/dist/plugins/dashboard/schema/builder.mjs +21 -0
- package/dist/plugins/dashboard/schema/builder.mjs.map +1 -0
- package/dist/plugins/dashboard/schema/enums.mjs +72 -0
- package/dist/plugins/dashboard/schema/enums.mjs.map +1 -0
- package/dist/plugins/dashboard/schema/root.mjs +351 -0
- package/dist/plugins/dashboard/schema/root.mjs.map +1 -0
- package/dist/plugins/dashboard/schema/types.mjs +508 -0
- package/dist/plugins/dashboard/schema/types.mjs.map +1 -0
- package/dist/plugins/dashboard/schema.mjs +11 -0
- package/dist/plugins/dashboard/schema.mjs.map +1 -0
- package/dist/plugins/dashboard/server.mjs +166 -0
- package/dist/plugins/dashboard/server.mjs.map +1 -0
- package/dist/plugins/deepbook/deploy.mjs +53 -115
- package/dist/plugins/deepbook/deploy.mjs.map +1 -1
- package/dist/plugins/deepbook/errors.mjs +1 -0
- package/dist/plugins/deepbook/errors.mjs.map +1 -1
- package/dist/plugins/deepbook/faucet-strategy.mjs +47 -34
- package/dist/plugins/deepbook/faucet-strategy.mjs.map +1 -1
- package/dist/plugins/deepbook/hash.mjs +9 -0
- package/dist/plugins/deepbook/hash.mjs.map +1 -0
- package/dist/plugins/deepbook/index.d.mts +1 -10
- package/dist/plugins/deepbook/index.mjs +25 -22
- package/dist/plugins/deepbook/index.mjs.map +1 -1
- package/dist/plugins/deepbook/pyth/index.mjs +26 -55
- package/dist/plugins/deepbook/pyth/index.mjs.map +1 -1
- package/dist/plugins/deepbook/snapshot.mjs +17 -29
- package/dist/plugins/deepbook/snapshot.mjs.map +1 -1
- package/dist/plugins/deepbook/spans.mjs +18 -0
- package/dist/plugins/deepbook/spans.mjs.map +1 -0
- package/dist/plugins/deepbook/type-strings.mjs +65 -0
- package/dist/plugins/deepbook/type-strings.mjs.map +1 -0
- package/dist/plugins/deepbook/types.d.mts +2 -3
- package/dist/plugins/deepbook/types.mjs.map +1 -1
- package/dist/plugins/faucet/dispatcher.d.mts +21 -2
- package/dist/plugins/faucet/dispatcher.mjs +1 -2
- package/dist/plugins/faucet/dispatcher.mjs.map +1 -1
- package/dist/plugins/faucet/errors.d.mts +11 -24
- package/dist/plugins/faucet/errors.mjs.map +1 -1
- package/dist/plugins/faucet/http.mjs +33 -14
- package/dist/plugins/faucet/http.mjs.map +1 -1
- package/dist/plugins/faucet/index.d.mts +15 -5
- package/dist/plugins/faucet/index.mjs +3 -0
- package/dist/plugins/faucet/index.mjs.map +1 -1
- package/dist/plugins/faucet/spans.mjs +12 -0
- package/dist/plugins/faucet/spans.mjs.map +1 -0
- package/dist/plugins/host-service/errors.d.mts +1 -1
- package/dist/plugins/host-service/index.mjs +34 -8
- package/dist/plugins/host-service/index.mjs.map +1 -1
- package/dist/plugins/host-service/routable.mjs +2 -1
- package/dist/plugins/host-service/routable.mjs.map +1 -1
- package/dist/plugins/host-service/service.d.mts +21 -0
- package/dist/plugins/host-service/service.mjs +136 -81
- package/dist/plugins/host-service/service.mjs.map +1 -1
- package/dist/plugins/internal/acquire-on-chain-artifact.mjs +23 -0
- package/dist/plugins/internal/acquire-on-chain-artifact.mjs.map +1 -0
- package/dist/plugins/internal/codegen-helpers.mjs +18 -0
- package/dist/plugins/internal/codegen-helpers.mjs.map +1 -0
- package/dist/plugins/internal/funding-failure-error.mjs +32 -0
- package/dist/plugins/internal/funding-failure-error.mjs.map +1 -0
- package/dist/plugins/package/build.mjs +1 -1
- package/dist/plugins/package/build.mjs.map +1 -1
- package/dist/plugins/package/codegen.mjs +26 -0
- package/dist/plugins/package/codegen.mjs.map +1 -1
- package/dist/plugins/package/errors.d.mts +16 -6
- package/dist/plugins/package/errors.mjs.map +1 -1
- package/dist/plugins/package/index.d.mts +0 -4
- package/dist/plugins/package/index.mjs +27 -21
- package/dist/plugins/package/index.mjs.map +1 -1
- package/dist/plugins/package/mode-known.mjs +26 -12
- package/dist/plugins/package/mode-known.mjs.map +1 -1
- package/dist/plugins/package/mode-local.mjs +47 -41
- package/dist/plugins/package/mode-local.mjs.map +1 -1
- package/dist/plugins/package/publish-executor.mjs +55 -114
- package/dist/plugins/package/publish-executor.mjs.map +1 -1
- package/dist/plugins/package/registry.mjs +2 -1
- package/dist/plugins/package/registry.mjs.map +1 -1
- package/dist/plugins/package/service.mjs.map +1 -1
- package/dist/plugins/package/spans.mjs +14 -0
- package/dist/plugins/package/spans.mjs.map +1 -0
- package/dist/plugins/postgres/db-ensure.mjs +19 -12
- package/dist/plugins/postgres/db-ensure.mjs.map +1 -1
- package/dist/plugins/postgres/errors.d.mts +5 -0
- package/dist/plugins/postgres/errors.mjs.map +1 -1
- package/dist/plugins/postgres/index.mjs +10 -17
- package/dist/plugins/postgres/index.mjs.map +1 -1
- package/dist/plugins/postgres/service.mjs +58 -24
- package/dist/plugins/postgres/service.mjs.map +1 -1
- package/dist/plugins/postgres/snapshot.mjs.map +1 -1
- package/dist/plugins/postgres/spans.mjs +11 -0
- package/dist/plugins/postgres/spans.mjs.map +1 -0
- package/dist/plugins/router-entrypoints.mjs +4 -4
- package/dist/plugins/router-entrypoints.mjs.map +1 -1
- package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs +15 -13
- package/dist/plugins/seal/bootstrap-assets/cargo-image.mjs.map +1 -1
- package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs +15 -19
- package/dist/plugins/seal/bootstrap-assets/source-fetch.mjs.map +1 -1
- package/dist/plugins/seal/codegen.d.mts +2 -3
- package/dist/plugins/seal/codegen.mjs.map +1 -1
- package/dist/plugins/seal/config-render.mjs +35 -8
- package/dist/plugins/seal/config-render.mjs.map +1 -1
- package/dist/plugins/seal/deploy.mjs +31 -39
- package/dist/plugins/seal/deploy.mjs.map +1 -1
- package/dist/plugins/seal/errors.d.mts +1 -3
- package/dist/plugins/seal/errors.mjs +7 -1
- package/dist/plugins/seal/errors.mjs.map +1 -1
- package/dist/plugins/seal/index.d.mts +1 -6
- package/dist/plugins/seal/index.mjs +40 -14
- package/dist/plugins/seal/index.mjs.map +1 -1
- package/dist/plugins/seal/key-manager.d.mts +1 -9
- package/dist/plugins/seal/key-manager.mjs +2 -18
- package/dist/plugins/seal/key-manager.mjs.map +1 -1
- package/dist/plugins/seal/key-server.mjs +37 -36
- package/dist/plugins/seal/key-server.mjs.map +1 -1
- package/dist/plugins/seal/keygen.mjs +16 -17
- package/dist/plugins/seal/keygen.mjs.map +1 -1
- package/dist/plugins/seal/mode/fork-known.mjs +36 -14
- package/dist/plugins/seal/mode/fork-known.mjs.map +1 -1
- package/dist/plugins/seal/mode/live.d.mts +6 -4
- package/dist/plugins/seal/mode/live.mjs +14 -21
- package/dist/plugins/seal/mode/live.mjs.map +1 -1
- package/dist/plugins/seal/mode/local-keygen.mjs +57 -21
- package/dist/plugins/seal/mode/local-keygen.mjs.map +1 -1
- package/dist/plugins/seal/registry-publish.mjs +1 -0
- package/dist/plugins/seal/registry-publish.mjs.map +1 -1
- package/dist/plugins/seal/routable.mjs.map +1 -1
- package/dist/plugins/seal/service.mjs.map +1 -1
- package/dist/plugins/seal/spans.mjs +18 -0
- package/dist/plugins/seal/spans.mjs.map +1 -0
- package/dist/plugins/sui/auto-tick.mjs +17 -23
- package/dist/plugins/sui/auto-tick.mjs.map +1 -1
- package/dist/plugins/sui/chain-build-container.mjs +18 -0
- package/dist/plugins/sui/chain-build-container.mjs.map +1 -0
- package/dist/plugins/sui/chain-probe.d.mts +5 -5
- package/dist/plugins/sui/chain-probe.mjs +28 -58
- package/dist/plugins/sui/chain-probe.mjs.map +1 -1
- package/dist/plugins/sui/codegen.mjs +26 -0
- package/dist/plugins/sui/codegen.mjs.map +1 -1
- package/dist/plugins/sui/errors.d.mts +2 -29
- package/dist/plugins/sui/errors.mjs +1 -3
- package/dist/plugins/sui/errors.mjs.map +1 -1
- package/dist/plugins/sui/fork-faucet-strategy.d.mts +1 -0
- package/dist/plugins/sui/fork-faucet-strategy.mjs +55 -0
- package/dist/plugins/sui/fork-faucet-strategy.mjs.map +1 -0
- package/dist/plugins/sui/fork-orchestration.d.mts +1 -0
- package/dist/plugins/sui/fork-orchestration.mjs +170 -2
- package/dist/plugins/sui/fork-orchestration.mjs.map +1 -1
- package/dist/plugins/sui/fork-transaction.d.mts +2 -0
- package/dist/plugins/sui/fork-transaction.mjs +92 -28
- package/dist/plugins/sui/fork-transaction.mjs.map +1 -1
- package/dist/plugins/sui/index.d.mts +33 -70
- package/dist/plugins/sui/index.mjs +58 -35
- package/dist/plugins/sui/index.mjs.map +1 -1
- package/dist/plugins/{faucet/strategies/sui-local.mjs → sui/local-faucet-strategy.mjs} +10 -7
- package/dist/plugins/sui/local-faucet-strategy.mjs.map +1 -0
- package/dist/plugins/sui/mode/external.mjs +7 -13
- package/dist/plugins/sui/mode/external.mjs.map +1 -1
- package/dist/plugins/sui/mode/fork.mjs +136 -59
- package/dist/plugins/sui/mode/fork.mjs.map +1 -1
- package/dist/plugins/sui/mode/live.mjs +10 -16
- package/dist/plugins/sui/mode/live.mjs.map +1 -1
- package/dist/plugins/sui/mode/local.mjs +37 -36
- package/dist/plugins/sui/mode/local.mjs.map +1 -1
- package/dist/plugins/sui/mode/shared-boot.mjs +38 -115
- package/dist/plugins/sui/mode/shared-boot.mjs.map +1 -1
- package/dist/plugins/sui/mode/shared.d.mts +1 -5
- package/dist/plugins/sui/mode/shared.mjs.map +1 -1
- package/dist/plugins/sui/mode/spec.d.mts +18 -0
- package/dist/plugins/sui/move-summary-runner.mjs +207 -0
- package/dist/plugins/sui/move-summary-runner.mjs.map +1 -0
- package/dist/plugins/sui/network-resolver.d.mts +4 -3
- package/dist/plugins/sui/service.mjs.map +1 -1
- package/dist/plugins/sui/snapshot.mjs +3 -0
- package/dist/plugins/sui/snapshot.mjs.map +1 -1
- package/dist/plugins/sui/spans.mjs +17 -0
- package/dist/plugins/sui/spans.mjs.map +1 -0
- package/dist/plugins/wallet/codegen.d.mts +0 -1
- package/dist/plugins/wallet/codegen.mjs +8 -9
- package/dist/plugins/wallet/codegen.mjs.map +1 -1
- package/dist/plugins/wallet/index.d.mts +6 -8
- package/dist/plugins/wallet/index.mjs +46 -35
- package/dist/plugins/wallet/index.mjs.map +1 -1
- package/dist/plugins/wallet/origin-policy.mjs +12 -28
- package/dist/plugins/wallet/origin-policy.mjs.map +1 -1
- package/dist/plugins/wallet/pairing.mjs +6 -4
- package/dist/plugins/wallet/pairing.mjs.map +1 -1
- package/dist/plugins/wallet/protocol.d.mts +1 -0
- package/dist/plugins/wallet/protocol.mjs +5 -44
- package/dist/plugins/wallet/protocol.mjs.map +1 -1
- package/dist/plugins/wallet/routable.mjs +2 -8
- package/dist/plugins/wallet/routable.mjs.map +1 -1
- package/dist/plugins/wallet/server.mjs +36 -44
- package/dist/plugins/wallet/server.mjs.map +1 -1
- package/dist/plugins/wallet/service.d.mts +1 -5
- package/dist/plugins/wallet/service.mjs +22 -18
- package/dist/plugins/wallet/service.mjs.map +1 -1
- package/dist/plugins/wallet/spans.mjs +22 -0
- package/dist/plugins/wallet/spans.mjs.map +1 -0
- package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs +33 -8
- package/dist/plugins/walrus/bootstrap-assets/cargo-image.mjs.map +1 -1
- package/dist/plugins/walrus/codegen.d.mts +3 -3
- package/dist/plugins/walrus/codegen.mjs.map +1 -1
- package/dist/plugins/walrus/deploy-paths.mjs +21 -5
- package/dist/plugins/walrus/deploy-paths.mjs.map +1 -1
- package/dist/plugins/walrus/deploy.mjs +67 -69
- package/dist/plugins/walrus/deploy.mjs.map +1 -1
- package/dist/plugins/walrus/errors.mjs +1 -0
- package/dist/plugins/walrus/errors.mjs.map +1 -1
- package/dist/plugins/walrus/faucet-strategy.mjs +12 -7
- package/dist/plugins/walrus/faucet-strategy.mjs.map +1 -1
- package/dist/plugins/walrus/index.d.mts +2 -13
- package/dist/plugins/walrus/index.mjs +18 -23
- package/dist/plugins/walrus/index.mjs.map +1 -1
- package/dist/plugins/walrus/mode/known-deploy.mjs +7 -5
- package/dist/plugins/walrus/mode/known-deploy.mjs.map +1 -1
- package/dist/plugins/walrus/mode/local-cluster.mjs +26 -7
- package/dist/plugins/walrus/mode/local-cluster.mjs.map +1 -1
- package/dist/plugins/walrus/registry-publish.mjs.map +1 -1
- package/dist/plugins/walrus/routable.mjs +7 -23
- package/dist/plugins/walrus/routable.mjs.map +1 -1
- package/dist/plugins/walrus/service.mjs.map +1 -1
- package/dist/plugins/walrus/spans.mjs +18 -0
- package/dist/plugins/walrus/spans.mjs.map +1 -0
- package/dist/plugins/walrus/storage-nodes.d.mts +6 -2
- package/dist/plugins/walrus/storage-nodes.mjs +15 -8
- package/dist/plugins/walrus/storage-nodes.mjs.map +1 -1
- package/dist/plugins/walrus/wal-swap.mjs +58 -15
- package/dist/plugins/walrus/wal-swap.mjs.map +1 -1
- package/dist/primitives/artifact-publisher.d.mts +1 -1
- package/dist/primitives/artifact-publisher.mjs +15 -0
- package/dist/primitives/artifact-publisher.mjs.map +1 -0
- package/dist/runtime/docker/client.mjs +17 -4
- package/dist/runtime/docker/client.mjs.map +1 -1
- package/dist/runtime/docker/container.mjs +219 -132
- package/dist/runtime/docker/container.mjs.map +1 -1
- package/dist/runtime/docker/errors.mjs +0 -6
- package/dist/runtime/docker/errors.mjs.map +1 -1
- package/dist/runtime/docker/exec.mjs +21 -18
- package/dist/runtime/docker/exec.mjs.map +1 -1
- package/dist/runtime/docker/image.mjs +36 -13
- package/dist/runtime/docker/image.mjs.map +1 -1
- package/dist/runtime/docker/index.mjs +14 -0
- package/dist/runtime/docker/inspect-and-decode.mjs +51 -0
- package/dist/runtime/docker/inspect-and-decode.mjs.map +1 -0
- package/dist/runtime/docker/inventory.mjs +14 -11
- package/dist/runtime/docker/inventory.mjs.map +1 -1
- package/dist/runtime/docker/labels.mjs +38 -5
- package/dist/runtime/docker/labels.mjs.map +1 -1
- package/dist/runtime/docker/logs.d.mts +1 -1
- package/dist/runtime/docker/logs.mjs.map +1 -1
- package/dist/runtime/docker/network.mjs +83 -47
- package/dist/runtime/docker/network.mjs.map +1 -1
- package/dist/runtime/docker/render-run-args.mjs +82 -0
- package/dist/runtime/docker/render-run-args.mjs.map +1 -0
- package/dist/runtime/docker/service.d.mts +1 -1
- package/dist/runtime/docker/service.mjs +12 -7
- package/dist/runtime/docker/service.mjs.map +1 -1
- package/dist/runtime/docker/sweep.mjs +118 -43
- package/dist/runtime/docker/sweep.mjs.map +1 -1
- package/dist/runtime/docker/volume.mjs +2 -0
- package/dist/runtime/docker/volume.mjs.map +1 -1
- package/dist/runtime/docker/wrap.mjs +30 -1
- package/dist/runtime/docker/wrap.mjs.map +1 -1
- package/dist/substrate/cross-process.mjs +14 -8
- package/dist/substrate/cross-process.mjs.map +1 -1
- package/dist/substrate/event-time.mjs +33 -0
- package/dist/substrate/event-time.mjs.map +1 -0
- package/dist/substrate/events.d.mts +28 -8
- package/dist/substrate/identity.d.mts +2 -1
- package/dist/substrate/manifest.d.mts +68 -5
- package/dist/substrate/manifest.mjs +34 -5
- package/dist/substrate/manifest.mjs.map +1 -1
- package/dist/substrate/network.d.mts +3 -5
- package/dist/substrate/options.d.mts +0 -2
- package/dist/substrate/plugin.d.mts +13 -0
- package/dist/substrate/plugin.mjs +4 -2
- package/dist/substrate/plugin.mjs.map +1 -1
- package/dist/substrate/projection.d.mts +35 -3
- package/dist/substrate/runtime/artifact-publisher/index.mjs +19 -9
- package/dist/substrate/runtime/artifact-publisher/index.mjs.map +1 -1
- package/dist/substrate/runtime/atomic-write.mjs +97 -32
- package/dist/substrate/runtime/atomic-write.mjs.map +1 -1
- package/dist/substrate/runtime/cache/index.mjs +3 -0
- package/dist/substrate/runtime/cache/schema.mjs +2 -2
- package/dist/substrate/runtime/cache/schema.mjs.map +1 -1
- package/dist/substrate/runtime/cache/service.mjs +9 -7
- package/dist/substrate/runtime/cache/service.mjs.map +1 -1
- package/dist/substrate/runtime/capability-sinks/index.d.mts +1 -1
- package/dist/substrate/runtime/capability-sinks/index.mjs +3 -0
- package/dist/substrate/runtime/capability-sinks/layer.mjs +1 -1
- package/dist/substrate/runtime/capability-sinks/service.d.mts +61 -2
- package/dist/substrate/runtime/capability-sinks/service.mjs +21 -26
- package/dist/substrate/runtime/capability-sinks/service.mjs.map +1 -1
- package/dist/substrate/runtime/config-validation.d.mts +1 -13
- package/dist/substrate/runtime/config-validation.mjs +2 -91
- package/dist/substrate/runtime/config-validation.mjs.map +1 -1
- package/dist/substrate/runtime/container-runtime.d.mts +1 -0
- package/dist/substrate/runtime/container-runtime.mjs +2 -0
- package/dist/substrate/runtime/control-plane/domain.mjs +101 -0
- package/dist/substrate/runtime/control-plane/domain.mjs.map +1 -0
- package/dist/substrate/runtime/control-plane/service.mjs +7 -0
- package/dist/substrate/runtime/control-plane/service.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/command-channel/channel.mjs +46 -19
- package/dist/substrate/runtime/cross-process/command-channel/channel.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/command-channel/file-channel.mjs +30 -12
- package/dist/substrate/runtime/cross-process/command-channel/file-channel.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/command-channel/index.mjs +5 -0
- package/dist/substrate/runtime/cross-process/command-channel/protocol.mjs +11 -2
- package/dist/substrate/runtime/cross-process/command-channel/protocol.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/command-channel/runtime-control-lock.mjs +1 -1
- package/dist/substrate/runtime/cross-process/index.mjs +11 -0
- package/dist/substrate/runtime/cross-process/live-clock.mjs +34 -0
- package/dist/substrate/runtime/cross-process/live-clock.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/liveness.mjs +52 -10
- package/dist/substrate/runtime/cross-process/liveness.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/lock.d.mts +1 -0
- package/dist/substrate/runtime/cross-process/lock.mjs +23 -0
- package/dist/substrate/runtime/cross-process/lock.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/reclaim-stale-file.mjs +64 -0
- package/dist/substrate/runtime/cross-process/reclaim-stale-file.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/roster.mjs +97 -83
- package/dist/substrate/runtime/cross-process/roster.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/self-pid.mjs +8 -0
- package/dist/substrate/runtime/cross-process/self-pid.mjs.map +1 -0
- package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs +24 -28
- package/dist/substrate/runtime/cross-process/snapshot-reservation.mjs.map +1 -1
- package/dist/substrate/runtime/cross-process/stack-lock.mjs +41 -20
- package/dist/substrate/runtime/cross-process/stack-lock.mjs.map +1 -1
- package/dist/substrate/runtime/current-plugin.mjs +2 -2
- package/dist/substrate/runtime/current-plugin.mjs.map +1 -1
- package/dist/substrate/runtime/errors.mjs +12 -6
- package/dist/substrate/runtime/errors.mjs.map +1 -1
- package/dist/substrate/runtime/format-unknown-error.mjs +30 -0
- package/dist/substrate/runtime/format-unknown-error.mjs.map +1 -0
- package/dist/substrate/runtime/host-bind-mount-owner.mjs +10 -0
- package/dist/substrate/runtime/host-bind-mount-owner.mjs.map +1 -0
- package/dist/substrate/runtime/host-gateway.mjs +20 -0
- package/dist/substrate/runtime/host-gateway.mjs.map +1 -0
- package/dist/substrate/runtime/host-tree-tar/index.mjs +61 -50
- package/dist/substrate/runtime/host-tree-tar/index.mjs.map +1 -1
- package/dist/substrate/runtime/http-probe.d.mts +1 -1
- package/dist/substrate/runtime/index.mjs +14 -0
- package/dist/substrate/runtime/lease-broker/index.d.mts +1 -1
- package/dist/substrate/runtime/lease-broker/index.mjs +2 -0
- package/dist/substrate/runtime/lease-broker/service.d.mts +1 -64
- package/dist/substrate/runtime/lease-broker/service.mjs +1 -1
- package/dist/substrate/runtime/lease-broker/service.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/dep-graph.mjs +22 -3
- package/dist/substrate/runtime/lifecycle/dep-graph.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/index.mjs +9 -0
- package/dist/substrate/runtime/lifecycle/lifecycle-fact.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/plugin-registry.mjs +20 -3
- package/dist/substrate/runtime/lifecycle/plugin-registry.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/selective-restart.mjs +1 -1
- package/dist/substrate/runtime/lifecycle/signals.mjs +5 -5
- package/dist/substrate/runtime/lifecycle/signals.mjs.map +1 -1
- package/dist/substrate/runtime/lifecycle/state-machine.mjs +1 -1
- package/dist/substrate/runtime/managed-container.d.mts +19 -1
- package/dist/substrate/runtime/managed-container.mjs +20 -1
- package/dist/substrate/runtime/managed-container.mjs.map +1 -1
- package/dist/substrate/runtime/manifest/index.mjs +3 -0
- package/dist/substrate/runtime/manifest/manifest.mjs +15 -11
- package/dist/substrate/runtime/manifest/manifest.mjs.map +1 -1
- package/dist/substrate/runtime/mode-errors.mjs +20 -0
- package/dist/substrate/runtime/mode-errors.mjs.map +1 -0
- package/dist/substrate/runtime/observability/cascade-formatter.mjs +9 -13
- package/dist/substrate/runtime/observability/cascade-formatter.mjs.map +1 -1
- package/dist/substrate/runtime/observability/formatter-registry.mjs +19 -36
- package/dist/substrate/runtime/observability/formatter-registry.mjs.map +1 -1
- package/dist/substrate/runtime/observability/ignore-with-log.d.mts +1 -0
- package/dist/substrate/runtime/observability/ignore-with-log.mjs +17 -0
- package/dist/substrate/runtime/observability/ignore-with-log.mjs.map +1 -0
- package/dist/substrate/runtime/observability/index.d.mts +1 -1
- package/dist/substrate/runtime/observability/index.mjs +13 -0
- package/dist/substrate/runtime/observability/log-store.d.mts +1 -0
- package/dist/substrate/runtime/observability/log-store.mjs +175 -0
- package/dist/substrate/runtime/observability/log-store.mjs.map +1 -0
- package/dist/substrate/runtime/observability/logger.d.mts +2 -1
- package/dist/substrate/runtime/observability/logger.mjs +5 -9
- package/dist/substrate/runtime/observability/logger.mjs.map +1 -1
- package/dist/substrate/runtime/observability/output-truncate.mjs +35 -0
- package/dist/substrate/runtime/observability/output-truncate.mjs.map +1 -0
- package/dist/substrate/runtime/observability/pretty-error.mjs +9 -12
- package/dist/substrate/runtime/observability/pretty-error.mjs.map +1 -1
- package/dist/substrate/runtime/observability/redaction.d.mts +2 -13
- package/dist/substrate/runtime/observability/redaction.mjs +8 -14
- package/dist/substrate/runtime/observability/redaction.mjs.map +1 -1
- package/dist/substrate/runtime/observability/span-store.d.mts +1 -0
- package/dist/substrate/runtime/observability/span-store.mjs +110 -0
- package/dist/substrate/runtime/observability/span-store.mjs.map +1 -0
- package/dist/substrate/runtime/observability/spans.mjs +14 -14
- package/dist/substrate/runtime/observability/spans.mjs.map +1 -1
- package/dist/substrate/runtime/observability/subprocess-capture.mjs +1 -1
- package/dist/substrate/runtime/passthrough-or-wrap.mjs +33 -0
- package/dist/substrate/runtime/passthrough-or-wrap.mjs.map +1 -0
- package/dist/substrate/runtime/paths.d.mts +1 -1
- package/dist/substrate/runtime/paths.mjs +4 -3
- package/dist/substrate/runtime/paths.mjs.map +1 -1
- package/dist/substrate/runtime/phase-preserving-produce.mjs +40 -0
- package/dist/substrate/runtime/phase-preserving-produce.mjs.map +1 -0
- package/dist/substrate/runtime/port-broker/index.mjs +3 -0
- package/dist/substrate/runtime/port-broker/service.mjs +170 -126
- package/dist/substrate/runtime/port-broker/service.mjs.map +1 -1
- package/dist/substrate/runtime/post-acquire-tasks.mjs +1 -1
- package/dist/substrate/runtime/post-acquire-tasks.mjs.map +1 -1
- package/dist/substrate/runtime/probes.d.mts +7 -5
- package/dist/substrate/runtime/probes.mjs +3 -1
- package/dist/substrate/runtime/probes.mjs.map +1 -1
- package/dist/substrate/runtime/projection/index.mjs +4 -0
- package/dist/substrate/runtime/projection/operational-endpoints.mjs +1 -2
- package/dist/substrate/runtime/projection/operational-endpoints.mjs.map +1 -1
- package/dist/substrate/runtime/projection/persisted.mjs +33 -15
- package/dist/substrate/runtime/projection/persisted.mjs.map +1 -1
- package/dist/substrate/runtime/projection/state-ref.mjs +26 -2
- package/dist/substrate/runtime/projection/state-ref.mjs.map +1 -1
- package/dist/substrate/runtime/projection/update.mjs +88 -24
- package/dist/substrate/runtime/projection/update.mjs.map +1 -1
- package/dist/substrate/runtime/random-suffix.mjs +11 -0
- package/dist/substrate/runtime/random-suffix.mjs.map +1 -0
- package/dist/substrate/runtime/retry-policy.d.mts +59 -1
- package/dist/substrate/runtime/retry-policy.mjs +66 -1
- package/dist/substrate/runtime/retry-policy.mjs.map +1 -1
- package/dist/substrate/runtime/routed-url.d.mts +1 -0
- package/dist/substrate/runtime/routed-url.mjs +79 -0
- package/dist/substrate/runtime/routed-url.mjs.map +1 -0
- package/dist/substrate/runtime/runtime-decode.d.mts +1 -1
- package/dist/substrate/runtime/runtime-decode.mjs.map +1 -1
- package/dist/substrate/runtime/scoped-http-server.mjs +2 -3
- package/dist/substrate/runtime/scoped-http-server.mjs.map +1 -1
- package/dist/substrate/runtime/scoped-multimap/index.mjs +2 -0
- package/dist/substrate/runtime/scoped-multimap/service.mjs +52 -0
- package/dist/substrate/runtime/scoped-multimap/service.mjs.map +1 -0
- package/dist/substrate/runtime/scoped-ref-map/index.mjs +2 -0
- package/dist/substrate/runtime/scoped-ref-map/service.mjs +2 -2
- package/dist/substrate/runtime/scoped-ref-map/service.mjs.map +1 -1
- package/dist/substrate/runtime/stage-and-swap/index.mjs +72 -4
- package/dist/substrate/runtime/stage-and-swap/index.mjs.map +1 -1
- package/dist/substrate/runtime/state-store/index.d.mts +1 -0
- package/dist/substrate/runtime/state-store/index.mjs +3 -0
- package/dist/substrate/runtime/state-store/schema.d.mts +1 -0
- package/dist/substrate/runtime/state-store/schema.mjs +19 -14
- package/dist/substrate/runtime/state-store/schema.mjs.map +1 -1
- package/dist/substrate/runtime/state-store/service.d.mts +1 -0
- package/dist/substrate/runtime/state-store/service.mjs +145 -0
- package/dist/substrate/runtime/state-store/service.mjs.map +1 -0
- package/dist/substrate/runtime/strategy-registry/chain-keyed-strategy-for.d.mts +1 -0
- package/dist/substrate/runtime/strategy-registry/chain-keyed-strategy-for.mjs +33 -0
- package/dist/substrate/runtime/strategy-registry/chain-keyed-strategy-for.mjs.map +1 -0
- package/dist/substrate/runtime/strategy-registry/chain-probe-for.mjs +1 -1
- package/dist/substrate/runtime/strategy-registry/chain-probe-for.mjs.map +1 -1
- package/dist/substrate/runtime/strategy-registry/index.mjs +4 -0
- package/dist/substrate/runtime/strategy-registry/service.mjs +19 -33
- package/dist/substrate/runtime/strategy-registry/service.mjs.map +1 -1
- package/dist/substrate/runtime/subnet-broker.mjs +60 -0
- package/dist/substrate/runtime/subnet-broker.mjs.map +1 -0
- package/dist/substrate/runtime/sui-execute/index.d.mts +21 -1
- package/dist/substrate/runtime/sui-execute/index.mjs +84 -20
- package/dist/substrate/runtime/sui-execute/index.mjs.map +1 -1
- package/dist/substrate/runtime/sui-execute/sign-and-dispatch.d.mts +1 -0
- package/dist/substrate/runtime/sui-execute/sign-and-dispatch.mjs +32 -0
- package/dist/substrate/runtime/sui-execute/sign-and-dispatch.mjs.map +1 -0
- package/dist/substrate/runtime/sui-ledger/object-ref.mjs +32 -0
- package/dist/substrate/runtime/sui-ledger/object-ref.mjs.map +1 -0
- package/dist/substrate/runtime/sui-move-build/index.mjs +93 -19
- package/dist/substrate/runtime/sui-move-build/index.mjs.map +1 -1
- package/dist/substrate/runtime/supervisor/acquire-node.mjs +181 -0
- package/dist/substrate/runtime/supervisor/acquire-node.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor/background-tasks.mjs +144 -0
- package/dist/substrate/runtime/supervisor/background-tasks.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor/command-loop.mjs +68 -0
- package/dist/substrate/runtime/supervisor/command-loop.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor/dispatch-contributions.mjs +151 -0
- package/dist/substrate/runtime/supervisor/dispatch-contributions.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor/errors.d.mts +1 -0
- package/dist/substrate/runtime/supervisor/errors.mjs +9 -0
- package/dist/substrate/runtime/supervisor/errors.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor/index.d.mts +1 -0
- package/dist/substrate/runtime/supervisor/index.mjs +3 -0
- package/dist/substrate/runtime/supervisor/shutdown.mjs +51 -0
- package/dist/substrate/runtime/supervisor/shutdown.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor/start-supervisor.d.mts +1 -0
- package/dist/substrate/runtime/supervisor/start-supervisor.mjs +250 -0
- package/dist/substrate/runtime/supervisor/start-supervisor.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor/state.d.mts +1 -0
- package/dist/substrate/runtime/supervisor/state.mjs +22 -0
- package/dist/substrate/runtime/supervisor/state.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor/teardown.mjs +57 -0
- package/dist/substrate/runtime/supervisor/teardown.mjs.map +1 -0
- package/dist/substrate/runtime/supervisor/types.d.mts +1 -0
- package/dist/substrate/runtime/supervisor/wiring.mjs +133 -0
- package/dist/substrate/runtime/supervisor/wiring.mjs.map +1 -0
- package/dist/substrate/runtime/typed-env.mjs +8 -0
- package/dist/substrate/runtime/typed-env.mjs.map +1 -0
- package/dist/substrate/state-store.d.mts +1 -0
- package/dist/substrate/versioned-doc-schema.mjs +17 -0
- package/dist/substrate/versioned-doc-schema.mjs.map +1 -0
- package/dist/substrate/versioned-doc-sync.mjs +94 -0
- package/dist/substrate/versioned-doc-sync.mjs.map +1 -0
- package/dist/surfaces/cli/command-tree.mjs.map +1 -1
- package/dist/surfaces/cli/commands/index.mjs +9 -0
- package/dist/surfaces/cli/commands/prune-picker-entry.mjs +13 -0
- package/dist/surfaces/cli/commands/prune-picker-entry.mjs.map +1 -0
- package/dist/surfaces/cli/commands/prune-picker.mjs +3 -2
- package/dist/surfaces/cli/commands/prune-picker.mjs.map +1 -1
- package/dist/surfaces/cli/commands/prune.mjs +34 -17
- package/dist/surfaces/cli/commands/prune.mjs.map +1 -1
- package/dist/surfaces/cli/commands/status.mjs +2 -2
- package/dist/surfaces/cli/commands/status.mjs.map +1 -1
- package/dist/surfaces/cli/commands/supervisor-presence.mjs +5 -3
- package/dist/surfaces/cli/commands/supervisor-presence.mjs.map +1 -1
- package/dist/surfaces/cli/commands/wipe.mjs +38 -4
- package/dist/surfaces/cli/commands/wipe.mjs.map +1 -1
- package/dist/surfaces/cli/errors.mjs +1 -1
- package/dist/surfaces/cli/errors.mjs.map +1 -1
- package/dist/surfaces/cli/flags.mjs +0 -1
- package/dist/surfaces/cli/flags.mjs.map +1 -1
- package/dist/surfaces/cli/index.mjs +98 -18
- package/dist/surfaces/cli/index.mjs.map +1 -1
- package/dist/surfaces/cli/output.mjs +1 -0
- package/dist/surfaces/cli/output.mjs.map +1 -1
- package/dist/surfaces/cli/sysexits.mjs +2 -1
- package/dist/surfaces/cli/sysexits.mjs.map +1 -1
- package/dist/surfaces/tui/app.mjs +25 -3
- package/dist/surfaces/tui/app.mjs.map +1 -1
- package/dist/surfaces/tui/display-derivation.mjs +23 -74
- package/dist/surfaces/tui/display-derivation.mjs.map +1 -1
- package/dist/surfaces/tui/event-log.mjs +35 -23
- package/dist/surfaces/tui/event-log.mjs.map +1 -1
- package/dist/surfaces/tui/input.mjs +5 -1
- package/dist/surfaces/tui/input.mjs.map +1 -1
- package/dist/surfaces/tui/plain-renderer.mjs +70 -34
- package/dist/surfaces/tui/plain-renderer.mjs.map +1 -1
- package/package.json +24 -4
- package/dist/contracts/liveness-classifier.d.mts +0 -19
- package/dist/contracts/network-resolver.d.mts +0 -15
- package/dist/contracts/network-resolver.mjs +0 -7
- package/dist/contracts/network-resolver.mjs.map +0 -1
- package/dist/orchestrators/codegen/extras.mjs +0 -16
- package/dist/orchestrators/codegen/extras.mjs.map +0 -1
- package/dist/plugins/deepbook/routable.mjs +0 -21
- package/dist/plugins/deepbook/routable.mjs.map +0 -1
- package/dist/plugins/faucet/service.d.mts +0 -20
- package/dist/plugins/faucet/strategies/sui-local.d.mts +0 -23
- package/dist/plugins/faucet/strategies/sui-local.mjs.map +0 -1
- package/dist/plugins/sui/seed-objects.d.mts +0 -18
- package/dist/plugins/sui/seed-objects.mjs +0 -25
- package/dist/plugins/sui/seed-objects.mjs.map +0 -1
- package/dist/runtime/built-in-plugin-layers.mjs.map +0 -1
- package/dist/substrate/runtime/context-helpers.mjs +0 -32
- package/dist/substrate/runtime/context-helpers.mjs.map +0 -1
- package/dist/substrate/runtime/run.mjs.map +0 -1
- package/dist/substrate/runtime/strategy-registry/faucet-capability-for.mjs +0 -30
- package/dist/substrate/runtime/strategy-registry/faucet-capability-for.mjs.map +0 -1
- package/dist/substrate/runtime/supervisor.d.mts +0 -1
- package/dist/substrate/runtime/supervisor.mjs +0 -831
- package/dist/substrate/runtime/supervisor.mjs.map +0 -1
- package/dist/surfaces/cli/commands/doctor-probes.mjs.map +0 -1
- /package/dist/{substrate/runtime/strategy-registry/faucet-capability-for.d.mts → plugins/faucet/http.d.mts} +0 -0
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
import { builder } from "./builder.mjs";
|
|
2
|
+
import { AccountScheme, AccountSource, DeepbookMode, ErrorSeverity, FundingStatus, Health, LifecycleStatus, LogLevel, PackageKind, PluginRole, RowSection, WireProtocol } from "./enums.mjs";
|
|
3
|
+
import { Effect, SubscriptionRef } from "effect";
|
|
4
|
+
//#region src/plugins/dashboard/schema/types.ts
|
|
5
|
+
/** Compute the stack health summary from the projection rows. `active`
|
|
6
|
+
* counts rows mid-flight (acquiring/stopping); `waiting` counts rows that
|
|
7
|
+
* have not started (pending). Overall `health` is `failed`→blocked,
|
|
8
|
+
* any-active→active, all-ready (with ≥1 row)→ready, otherwise empty. */
|
|
9
|
+
const computeHealthSummary = (rows) => {
|
|
10
|
+
let ready = 0;
|
|
11
|
+
let active = 0;
|
|
12
|
+
let failed = 0;
|
|
13
|
+
let waiting = 0;
|
|
14
|
+
for (const row of rows) switch (row.status) {
|
|
15
|
+
case "ready":
|
|
16
|
+
case "done":
|
|
17
|
+
case "stopped":
|
|
18
|
+
ready += 1;
|
|
19
|
+
break;
|
|
20
|
+
case "acquiring":
|
|
21
|
+
case "stopping":
|
|
22
|
+
active += 1;
|
|
23
|
+
break;
|
|
24
|
+
case "failed":
|
|
25
|
+
failed += 1;
|
|
26
|
+
break;
|
|
27
|
+
case "pending":
|
|
28
|
+
waiting += 1;
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
const total = rows.length;
|
|
32
|
+
return {
|
|
33
|
+
total,
|
|
34
|
+
ready,
|
|
35
|
+
active,
|
|
36
|
+
failed,
|
|
37
|
+
waiting,
|
|
38
|
+
health: failed > 0 ? "blocked" : active > 0 ? "active" : total > 0 && ready === total ? "ready" : "empty"
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
const readSnapshot = (ref) => Effect.runPromise(SubscriptionRef.get(ref));
|
|
42
|
+
const Identity = builder.objectRef("Identity").implement({
|
|
43
|
+
description: "Stack identity triple (app/stack/network).",
|
|
44
|
+
fields: (t) => ({
|
|
45
|
+
app: t.exposeString("app"),
|
|
46
|
+
stack: t.exposeString("stack"),
|
|
47
|
+
network: t.exposeString("network")
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
const Cycle = builder.objectRef("Cycle").implement({
|
|
51
|
+
description: "The current boot/restart cycle.",
|
|
52
|
+
fields: (t) => ({
|
|
53
|
+
id: t.exposeInt("id"),
|
|
54
|
+
startedAt: t.exposeFloat("startedAt"),
|
|
55
|
+
phase: t.field({
|
|
56
|
+
type: "String",
|
|
57
|
+
resolve: (c) => c.phase
|
|
58
|
+
})
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
const Endpoint = builder.objectRef("Endpoint");
|
|
62
|
+
builder.node(Endpoint, {
|
|
63
|
+
description: "A routed endpoint contributed by a plugin.",
|
|
64
|
+
id: { resolve: (e) => e.endpointKey },
|
|
65
|
+
loadOne: async (id, ctx) => {
|
|
66
|
+
return (await readSnapshot(ctx.state)).endpoints.find((e) => e.endpointKey === id) ?? null;
|
|
67
|
+
},
|
|
68
|
+
fields: (t) => ({
|
|
69
|
+
endpointKey: t.exposeString("endpointKey"),
|
|
70
|
+
pluginKey: t.exposeString("pluginKey"),
|
|
71
|
+
name: t.exposeString("name"),
|
|
72
|
+
url: t.exposeString("url"),
|
|
73
|
+
displayUrl: t.exposeString("displayUrl", { nullable: true }),
|
|
74
|
+
wireProtocol: t.field({
|
|
75
|
+
type: WireProtocol,
|
|
76
|
+
resolve: (e) => e.wireProtocol
|
|
77
|
+
}),
|
|
78
|
+
registeredAt: t.exposeFloat("registeredAt")
|
|
79
|
+
})
|
|
80
|
+
});
|
|
81
|
+
const LogTail = builder.objectRef("LogTail").implement({
|
|
82
|
+
description: "The tail of a plugin log stream.",
|
|
83
|
+
fields: (t) => ({
|
|
84
|
+
lines: t.exposeStringList("lines"),
|
|
85
|
+
level: t.field({
|
|
86
|
+
type: LogLevel,
|
|
87
|
+
resolve: (l) => l.level
|
|
88
|
+
}),
|
|
89
|
+
truncated: t.exposeBoolean("truncated")
|
|
90
|
+
})
|
|
91
|
+
});
|
|
92
|
+
const StackError = builder.objectRef("StackError").implement({
|
|
93
|
+
description: "A structured error reported by a plugin or the engine.",
|
|
94
|
+
fields: (t) => ({
|
|
95
|
+
at: t.exposeFloat("at"),
|
|
96
|
+
pluginKey: t.exposeString("pluginKey", { nullable: true }),
|
|
97
|
+
tag: t.exposeString("tag"),
|
|
98
|
+
summary: t.exposeString("summary"),
|
|
99
|
+
chain: t.exposeStringList("chain"),
|
|
100
|
+
severity: t.field({
|
|
101
|
+
type: ErrorSeverity,
|
|
102
|
+
resolve: (e) => e.severity
|
|
103
|
+
})
|
|
104
|
+
})
|
|
105
|
+
});
|
|
106
|
+
const Service = builder.objectRef("Service");
|
|
107
|
+
builder.node(Service, {
|
|
108
|
+
description: "A visible plugin instance (one projection row).",
|
|
109
|
+
id: { resolve: (s) => s.row.key },
|
|
110
|
+
loadOne: async (id, ctx) => {
|
|
111
|
+
const snapshot = await readSnapshot(ctx.state);
|
|
112
|
+
const row = snapshot.rows.find((r) => r.key === id);
|
|
113
|
+
return row ? {
|
|
114
|
+
row,
|
|
115
|
+
snapshot
|
|
116
|
+
} : null;
|
|
117
|
+
},
|
|
118
|
+
fields: (t) => ({
|
|
119
|
+
key: t.string({ resolve: (s) => s.row.key }),
|
|
120
|
+
role: t.field({
|
|
121
|
+
type: PluginRole,
|
|
122
|
+
resolve: (s) => s.row.role
|
|
123
|
+
}),
|
|
124
|
+
status: t.field({
|
|
125
|
+
type: LifecycleStatus,
|
|
126
|
+
resolve: (s) => s.row.status
|
|
127
|
+
}),
|
|
128
|
+
section: t.field({
|
|
129
|
+
type: RowSection,
|
|
130
|
+
resolve: (s) => s.row.section
|
|
131
|
+
}),
|
|
132
|
+
endpointSection: t.field({
|
|
133
|
+
type: RowSection,
|
|
134
|
+
resolve: (s) => s.row.endpointSection
|
|
135
|
+
}),
|
|
136
|
+
phase: t.string({
|
|
137
|
+
nullable: true,
|
|
138
|
+
resolve: (s) => s.row.phase
|
|
139
|
+
}),
|
|
140
|
+
selectiveRestartHighlight: t.boolean({ resolve: (s) => s.row.selectiveRestartHighlight }),
|
|
141
|
+
lastError: t.field({
|
|
142
|
+
type: StackError,
|
|
143
|
+
nullable: true,
|
|
144
|
+
resolve: (s) => s.row.lastError
|
|
145
|
+
}),
|
|
146
|
+
logTail: t.field({
|
|
147
|
+
type: LogTail,
|
|
148
|
+
resolve: (s) => s.row.logTail
|
|
149
|
+
}),
|
|
150
|
+
endpoints: t.field({
|
|
151
|
+
type: [Endpoint],
|
|
152
|
+
description: "The row's endpoints, joined from the snapshot by key + pluginKey.",
|
|
153
|
+
resolve: (s) => {
|
|
154
|
+
const keys = new Set(s.row.endpoints);
|
|
155
|
+
return s.snapshot.endpoints.filter((e) => keys.has(e.endpointKey) && e.pluginKey === s.row.key);
|
|
156
|
+
}
|
|
157
|
+
})
|
|
158
|
+
})
|
|
159
|
+
});
|
|
160
|
+
const FundingEntry = builder.objectRef("FundingEntry").implement({
|
|
161
|
+
description: "One coin-type funding outcome for an account.",
|
|
162
|
+
fields: (t) => ({
|
|
163
|
+
coin: t.exposeString("coin"),
|
|
164
|
+
fullCoinType: t.exposeString("fullCoinType"),
|
|
165
|
+
amount: t.exposeString("amount"),
|
|
166
|
+
status: t.field({
|
|
167
|
+
type: "String",
|
|
168
|
+
resolve: (e) => e.status
|
|
169
|
+
})
|
|
170
|
+
})
|
|
171
|
+
});
|
|
172
|
+
const AccountFunding = builder.objectRef("AccountFunding").implement({
|
|
173
|
+
description: "Funding state for an account.",
|
|
174
|
+
fields: (t) => ({
|
|
175
|
+
status: t.field({
|
|
176
|
+
type: FundingStatus,
|
|
177
|
+
resolve: (f) => f.status
|
|
178
|
+
}),
|
|
179
|
+
balanceMist: t.exposeString("balanceMist", { nullable: true }),
|
|
180
|
+
requestedMist: t.exposeString("requestedMist", { nullable: true }),
|
|
181
|
+
entries: t.field({
|
|
182
|
+
type: [FundingEntry],
|
|
183
|
+
resolve: (f) => f.entries ?? []
|
|
184
|
+
})
|
|
185
|
+
})
|
|
186
|
+
});
|
|
187
|
+
const Account = builder.objectRef("Account");
|
|
188
|
+
builder.node(Account, {
|
|
189
|
+
description: "A managed or impersonated account.",
|
|
190
|
+
id: { resolve: (a) => a.key },
|
|
191
|
+
loadOne: async (id, ctx) => {
|
|
192
|
+
return (await readSnapshot(ctx.state)).accounts.find((a) => a.key === id) ?? null;
|
|
193
|
+
},
|
|
194
|
+
fields: (t) => ({
|
|
195
|
+
key: t.exposeString("key"),
|
|
196
|
+
rowKey: t.exposeString("rowKey", { nullable: true }),
|
|
197
|
+
name: t.exposeString("name"),
|
|
198
|
+
address: t.exposeString("address", { nullable: true }),
|
|
199
|
+
scheme: t.field({
|
|
200
|
+
type: AccountScheme,
|
|
201
|
+
nullable: true,
|
|
202
|
+
resolve: (a) => a.scheme
|
|
203
|
+
}),
|
|
204
|
+
source: t.field({
|
|
205
|
+
type: AccountSource,
|
|
206
|
+
nullable: true,
|
|
207
|
+
resolve: (a) => a.source
|
|
208
|
+
}),
|
|
209
|
+
walletVisible: t.exposeBoolean("walletVisible"),
|
|
210
|
+
updatedAt: t.exposeFloat("updatedAt"),
|
|
211
|
+
funding: t.field({
|
|
212
|
+
type: AccountFunding,
|
|
213
|
+
resolve: (a) => a.funding
|
|
214
|
+
})
|
|
215
|
+
})
|
|
216
|
+
});
|
|
217
|
+
const Package = builder.objectRef("Package");
|
|
218
|
+
builder.node(Package, {
|
|
219
|
+
description: "A local or known on-chain package.",
|
|
220
|
+
id: { resolve: (p) => p.key },
|
|
221
|
+
loadOne: async (id, ctx) => {
|
|
222
|
+
return (await readSnapshot(ctx.state)).packages.find((p) => p.key === id) ?? null;
|
|
223
|
+
},
|
|
224
|
+
fields: (t) => ({
|
|
225
|
+
key: t.exposeString("key"),
|
|
226
|
+
rowKey: t.exposeString("rowKey", { nullable: true }),
|
|
227
|
+
name: t.exposeString("name"),
|
|
228
|
+
kind: t.field({
|
|
229
|
+
type: PackageKind,
|
|
230
|
+
resolve: (p) => p.kind
|
|
231
|
+
}),
|
|
232
|
+
packageId: t.exposeString("packageId"),
|
|
233
|
+
upgradeCapId: t.exposeString("upgradeCapId", { nullable: true }),
|
|
234
|
+
mvrPlaceholder: t.exposeString("mvrPlaceholder"),
|
|
235
|
+
sourcePath: t.exposeString("sourcePath", { nullable: true }),
|
|
236
|
+
updatedAt: t.exposeFloat("updatedAt")
|
|
237
|
+
})
|
|
238
|
+
});
|
|
239
|
+
const BuildEntry = builder.objectRef("BuildEntry").implement({
|
|
240
|
+
description: "A stack build progress entry.",
|
|
241
|
+
fields: (t) => ({
|
|
242
|
+
pluginKey: t.exposeString("pluginKey", { nullable: true }),
|
|
243
|
+
phase: t.exposeString("phase"),
|
|
244
|
+
progress: t.exposeString("progress"),
|
|
245
|
+
startedAt: t.exposeFloat("startedAt")
|
|
246
|
+
})
|
|
247
|
+
});
|
|
248
|
+
const LastEvent = builder.objectRef("LastEvent").implement({
|
|
249
|
+
description: "The most recent event seq/timestamp the engine emitted.",
|
|
250
|
+
fields: (t) => ({
|
|
251
|
+
seq: t.exposeInt("seq"),
|
|
252
|
+
at: t.exposeFloat("at")
|
|
253
|
+
})
|
|
254
|
+
});
|
|
255
|
+
const HealthSummary = builder.objectRef("HealthSummary").implement({
|
|
256
|
+
description: "Derived stack health counts.",
|
|
257
|
+
fields: (t) => ({
|
|
258
|
+
total: t.exposeInt("total"),
|
|
259
|
+
ready: t.exposeInt("ready"),
|
|
260
|
+
active: t.exposeInt("active"),
|
|
261
|
+
failed: t.exposeInt("failed"),
|
|
262
|
+
waiting: t.exposeInt("waiting"),
|
|
263
|
+
health: t.field({
|
|
264
|
+
type: Health,
|
|
265
|
+
resolve: (h) => h.health
|
|
266
|
+
})
|
|
267
|
+
})
|
|
268
|
+
});
|
|
269
|
+
const SnapshotEntry = builder.objectRef("SnapshotEntry").implement({
|
|
270
|
+
description: "A snapshot catalog entry (orchestrator `list`).",
|
|
271
|
+
fields: (t) => ({
|
|
272
|
+
id: t.exposeString("id"),
|
|
273
|
+
label: t.exposeString("label", { nullable: true }),
|
|
274
|
+
createdAt: t.exposeFloat("createdAt", { nullable: true }),
|
|
275
|
+
app: t.exposeString("app", { nullable: true }),
|
|
276
|
+
stack: t.exposeString("stack", { nullable: true }),
|
|
277
|
+
network: t.exposeString("network", { nullable: true }),
|
|
278
|
+
participants: t.exposeStringList("participants"),
|
|
279
|
+
containerCount: t.exposeInt("containerCount"),
|
|
280
|
+
subtreeCount: t.exposeInt("subtreeCount"),
|
|
281
|
+
corrupt: t.exposeBoolean("corrupt")
|
|
282
|
+
})
|
|
283
|
+
});
|
|
284
|
+
const DeepbookPool = builder.objectRef("DeepbookPool").implement({
|
|
285
|
+
description: "A DeepBook pool object id + coin types (prices are chain-direct).",
|
|
286
|
+
fields: (t) => ({
|
|
287
|
+
name: t.exposeString("name"),
|
|
288
|
+
poolId: t.exposeString("poolId"),
|
|
289
|
+
baseCoinType: t.exposeString("baseCoinType"),
|
|
290
|
+
quoteCoinType: t.exposeString("quoteCoinType")
|
|
291
|
+
})
|
|
292
|
+
});
|
|
293
|
+
const DeepbookInfo = builder.objectRef("DeepbookInfo").implement({
|
|
294
|
+
description: "A DeepBook deployment: registry/admin/pool ids + market-maker state.",
|
|
295
|
+
fields: (t) => ({
|
|
296
|
+
pluginKey: t.exposeString("pluginKey"),
|
|
297
|
+
name: t.exposeString("name"),
|
|
298
|
+
mode: t.field({
|
|
299
|
+
type: DeepbookMode,
|
|
300
|
+
resolve: (d) => d.mode
|
|
301
|
+
}),
|
|
302
|
+
chain: t.exposeString("chain"),
|
|
303
|
+
packageId: t.exposeString("packageId"),
|
|
304
|
+
registryId: t.exposeString("registryId"),
|
|
305
|
+
adminCapId: t.exposeString("adminCapId", { nullable: true }),
|
|
306
|
+
deepTreasuryId: t.exposeString("deepTreasuryId", { nullable: true }),
|
|
307
|
+
pools: t.field({
|
|
308
|
+
type: [DeepbookPool],
|
|
309
|
+
resolve: (d) => d.pools
|
|
310
|
+
}),
|
|
311
|
+
marketMakerRunning: t.exposeBoolean("marketMakerRunning"),
|
|
312
|
+
serverUrl: t.exposeString("serverUrl", { nullable: true }),
|
|
313
|
+
indexerUrl: t.exposeString("indexerUrl", { nullable: true })
|
|
314
|
+
})
|
|
315
|
+
});
|
|
316
|
+
const SealKeyServer = builder.objectRef("SealKeyServer").implement({
|
|
317
|
+
description: "One Seal key-server config (objectId + weight).",
|
|
318
|
+
fields: (t) => ({
|
|
319
|
+
objectId: t.exposeString("objectId"),
|
|
320
|
+
weight: t.exposeInt("weight")
|
|
321
|
+
})
|
|
322
|
+
});
|
|
323
|
+
const SealInfo = builder.objectRef("SealInfo").implement({
|
|
324
|
+
description: "A Seal key-server deployment (objectId/threshold/mode/keyServers).",
|
|
325
|
+
fields: (t) => ({
|
|
326
|
+
pluginKey: t.exposeString("pluginKey"),
|
|
327
|
+
mode: t.field({
|
|
328
|
+
type: "String",
|
|
329
|
+
resolve: (s) => s.mode
|
|
330
|
+
}),
|
|
331
|
+
objectId: t.exposeString("objectId"),
|
|
332
|
+
keyServerUrl: t.exposeString("keyServerUrl"),
|
|
333
|
+
keyServers: t.field({
|
|
334
|
+
type: [SealKeyServer],
|
|
335
|
+
resolve: (s) => s.keyServers
|
|
336
|
+
}),
|
|
337
|
+
threshold: t.exposeInt("threshold")
|
|
338
|
+
})
|
|
339
|
+
});
|
|
340
|
+
const CoinCap = builder.objectRef("CoinCap").implement({
|
|
341
|
+
description: "A coin's treasury-cap id (drives Mint) + addressing facts.",
|
|
342
|
+
fields: (t) => ({
|
|
343
|
+
pluginKey: t.exposeString("pluginKey"),
|
|
344
|
+
symbol: t.exposeString("symbol", { nullable: true }),
|
|
345
|
+
fullCoinType: t.exposeString("fullCoinType"),
|
|
346
|
+
decimals: t.exposeInt("decimals"),
|
|
347
|
+
source: t.field({
|
|
348
|
+
type: "String",
|
|
349
|
+
resolve: (c) => c.source
|
|
350
|
+
}),
|
|
351
|
+
treasuryCapId: t.exposeString("treasuryCapId", { nullable: true }),
|
|
352
|
+
packageId: t.exposeString("packageId", { nullable: true })
|
|
353
|
+
})
|
|
354
|
+
});
|
|
355
|
+
const FundableCoin = builder.objectRef("FundableCoin").implement({
|
|
356
|
+
description: "A coin the dashboard faucet can fund right now. SUI is fixed-amount; WAL/DEEP honor an amount and require the recipient to be a resolved account.",
|
|
357
|
+
fields: (t) => ({
|
|
358
|
+
symbol: t.exposeString("symbol"),
|
|
359
|
+
coinType: t.exposeString("coinType"),
|
|
360
|
+
/** True when the underlying strategy honors a caller-supplied amount
|
|
361
|
+
* (WAL/DEEP swaps). SUI is fixed-amount (false). */
|
|
362
|
+
honorsAmount: t.exposeBoolean("honorsAmount"),
|
|
363
|
+
/** True when funding requires the recipient to BE a resolved account
|
|
364
|
+
* (the swap spends that account's own SUI). SUI is false. */
|
|
365
|
+
requiresAccountSigner: t.exposeBoolean("requiresAccountSigner")
|
|
366
|
+
})
|
|
367
|
+
});
|
|
368
|
+
const PostgresTable = builder.objectRef("PostgresTable").implement({
|
|
369
|
+
description: "Per-table row estimate + total size (bytes).",
|
|
370
|
+
fields: (t) => ({
|
|
371
|
+
schema: t.exposeString("schema"),
|
|
372
|
+
name: t.exposeString("name"),
|
|
373
|
+
rowEstimate: t.exposeFloat("rowEstimate"),
|
|
374
|
+
totalBytes: t.exposeFloat("totalBytes")
|
|
375
|
+
})
|
|
376
|
+
});
|
|
377
|
+
const PostgresStats = builder.objectRef("PostgresStats").implement({
|
|
378
|
+
description: "Postgres wire-protocol stats (db size, connections, per-table). Gathered by exec; the browser cannot speak the PG protocol.",
|
|
379
|
+
fields: (t) => ({
|
|
380
|
+
pluginKey: t.exposeString("pluginKey"),
|
|
381
|
+
database: t.exposeString("database"),
|
|
382
|
+
plainUrl: t.exposeString("plainUrl"),
|
|
383
|
+
databaseBytes: t.exposeFloat("databaseBytes"),
|
|
384
|
+
connectionCount: t.exposeInt("connectionCount"),
|
|
385
|
+
tables: t.field({
|
|
386
|
+
type: [PostgresTable],
|
|
387
|
+
resolve: (p) => p.tables
|
|
388
|
+
}),
|
|
389
|
+
available: t.exposeBoolean("available"),
|
|
390
|
+
detail: t.exposeString("detail", { nullable: true })
|
|
391
|
+
})
|
|
392
|
+
});
|
|
393
|
+
const fieldsJson = (fields) => {
|
|
394
|
+
try {
|
|
395
|
+
return JSON.stringify(fields);
|
|
396
|
+
} catch {
|
|
397
|
+
return "{}";
|
|
398
|
+
}
|
|
399
|
+
};
|
|
400
|
+
const LogRecordType = builder.objectRef("LogRecord").implement({
|
|
401
|
+
description: "One cross-service log record (queryable Console \"Logs\" tab). Fed off the same logger path as the per-row projection tail.",
|
|
402
|
+
fields: (t) => ({
|
|
403
|
+
seq: t.exposeFloat("seq"),
|
|
404
|
+
timestampMillis: t.exposeFloat("timestampMillis"),
|
|
405
|
+
level: t.field({
|
|
406
|
+
type: "String",
|
|
407
|
+
resolve: (r) => r.level
|
|
408
|
+
}),
|
|
409
|
+
service: t.exposeString("service"),
|
|
410
|
+
message: t.exposeString("message"),
|
|
411
|
+
/** Structured fields as a JSON string (no JSON scalar in this schema). */
|
|
412
|
+
fieldsJson: t.field({
|
|
413
|
+
type: "String",
|
|
414
|
+
resolve: (r) => fieldsJson(r.fields)
|
|
415
|
+
})
|
|
416
|
+
})
|
|
417
|
+
});
|
|
418
|
+
const SpanRecordType = builder.objectRef("SpanRecord").implement({
|
|
419
|
+
description: "One completed span (queryable Console \"Traces\" tab). Recorded by the supervisor's recording Tracer.",
|
|
420
|
+
fields: (t) => ({
|
|
421
|
+
traceId: t.exposeString("traceId"),
|
|
422
|
+
spanId: t.exposeString("spanId"),
|
|
423
|
+
parentId: t.exposeString("parentId", { nullable: true }),
|
|
424
|
+
name: t.exposeString("name"),
|
|
425
|
+
service: t.exposeString("service", { nullable: true }),
|
|
426
|
+
startMillis: t.exposeFloat("startMillis"),
|
|
427
|
+
durationMillis: t.exposeFloat("durationMillis"),
|
|
428
|
+
status: t.field({
|
|
429
|
+
type: "String",
|
|
430
|
+
resolve: (r) => r.status
|
|
431
|
+
}),
|
|
432
|
+
/** Flattened span attributes as a JSON string. */
|
|
433
|
+
attributesJson: t.field({
|
|
434
|
+
type: "String",
|
|
435
|
+
resolve: (r) => fieldsJson(r.attributes)
|
|
436
|
+
})
|
|
437
|
+
})
|
|
438
|
+
});
|
|
439
|
+
const LogFilterInput = builder.inputType("LogFilter", { fields: (t) => ({
|
|
440
|
+
services: t.stringList({ required: false }),
|
|
441
|
+
/** Levels (trace/debug/info/warn/error/fatal). Strings, not an enum
|
|
442
|
+
* (the level vocabulary is wider than the row-tail LogLevel enum). */
|
|
443
|
+
levels: t.stringList({ required: false }),
|
|
444
|
+
search: t.string({ required: false }),
|
|
445
|
+
sinceMillis: t.float({ required: false }),
|
|
446
|
+
limit: t.int({ required: false })
|
|
447
|
+
}) });
|
|
448
|
+
const SpanFilterInput = builder.inputType("SpanFilter", { fields: (t) => ({
|
|
449
|
+
services: t.stringList({ required: false }),
|
|
450
|
+
/** Statuses ('ok' / 'error'). Strings, not an enum. */
|
|
451
|
+
statuses: t.stringList({ required: false }),
|
|
452
|
+
search: t.string({ required: false }),
|
|
453
|
+
sinceMillis: t.float({ required: false }),
|
|
454
|
+
limit: t.int({ required: false })
|
|
455
|
+
}) });
|
|
456
|
+
const StackState = builder.objectRef("StackState").implement({
|
|
457
|
+
description: "A full live projection snapshot.",
|
|
458
|
+
fields: (t) => ({
|
|
459
|
+
identity: t.field({
|
|
460
|
+
type: Identity,
|
|
461
|
+
resolve: (s) => s.identity
|
|
462
|
+
}),
|
|
463
|
+
cycle: t.field({
|
|
464
|
+
type: Cycle,
|
|
465
|
+
resolve: (s) => s.cycle
|
|
466
|
+
}),
|
|
467
|
+
summary: t.field({
|
|
468
|
+
type: HealthSummary,
|
|
469
|
+
resolve: (s) => computeHealthSummary(s.rows)
|
|
470
|
+
}),
|
|
471
|
+
services: t.field({
|
|
472
|
+
type: [Service],
|
|
473
|
+
resolve: (s) => s.rows.map((row) => ({
|
|
474
|
+
row,
|
|
475
|
+
snapshot: s
|
|
476
|
+
}))
|
|
477
|
+
}),
|
|
478
|
+
endpoints: t.field({
|
|
479
|
+
type: [Endpoint],
|
|
480
|
+
resolve: (s) => s.endpoints
|
|
481
|
+
}),
|
|
482
|
+
accounts: t.field({
|
|
483
|
+
type: [Account],
|
|
484
|
+
resolve: (s) => s.accounts
|
|
485
|
+
}),
|
|
486
|
+
packages: t.field({
|
|
487
|
+
type: [Package],
|
|
488
|
+
resolve: (s) => s.packages
|
|
489
|
+
}),
|
|
490
|
+
errors: t.field({
|
|
491
|
+
type: [StackError],
|
|
492
|
+
resolve: (s) => s.errors
|
|
493
|
+
}),
|
|
494
|
+
stackBuild: t.field({
|
|
495
|
+
type: [BuildEntry],
|
|
496
|
+
resolve: (s) => s.stackBuild
|
|
497
|
+
}),
|
|
498
|
+
lastEvent: t.field({
|
|
499
|
+
type: LastEvent,
|
|
500
|
+
nullable: true,
|
|
501
|
+
resolve: (s) => s.lastEvent
|
|
502
|
+
})
|
|
503
|
+
})
|
|
504
|
+
});
|
|
505
|
+
//#endregion
|
|
506
|
+
export { Account, CoinCap, DeepbookInfo, FundableCoin, LogFilterInput, LogRecordType, Package, PostgresStats, SealInfo, Service, SnapshotEntry, SpanFilterInput, SpanRecordType, StackState };
|
|
507
|
+
|
|
508
|
+
//# sourceMappingURL=types.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","names":["HealthEnum"],"sources":["../../../../src/plugins/dashboard/schema/types.ts"],"sourcesContent":["// Dashboard object types — real Pothos object refs over the projection.\n//\n// Sources are the substrate projection shapes (Row, Endpoint,\n// AccountProjection, …). Service/Endpoint/Account/Package are registered\n// as relay Nodes via `builder.node`, with an opaque global id derived from\n// their natural key and a `loadOne` that re-finds them in the current\n// snapshot (read from the request's `ctx.state`) so the auto-generated\n// `node`/`nodes` queries resolve.\n//\n// `StackState` and `HealthSummary` are computed views over a snapshot —\n// `StackState` carries the snapshot itself as its source so nested\n// resolvers (e.g. Service.endpoints) can join against sibling arrays.\n\nimport { Effect, SubscriptionRef } from 'effect';\nimport { builder } from './builder.ts';\nimport {\n\tAccountScheme,\n\tAccountSource,\n\tDeepbookMode,\n\tErrorSeverity,\n\tFundingStatus,\n\tHealth as HealthEnum,\n\tLifecycleStatus,\n\tLogLevel,\n\tPackageKind,\n\tPluginRole,\n\tRowSection,\n\tWireProtocol,\n} from './enums.ts';\nimport type { Health } from './enums.ts';\nimport type { ControlPlaneSnapshotEntry } from '../../../substrate/runtime/control-plane/service.ts';\nimport type {\n\tDashboardCoinCap,\n\tDashboardDeepbookInfo,\n\tDashboardDeepbookPool,\n\tDashboardFundableCoin,\n\tDashboardPostgresStats,\n\tDashboardPostgresTable,\n\tDashboardSealInfo,\n\tDashboardSealKeyServer,\n} from '../domain.ts';\nimport type { LogRecord, SpanRecord } from '../../../substrate/runtime/observability/index.ts';\nimport type {\n\tAccountProjection,\n\tBuildEntry as BuildEntryShape,\n\tEndpoint as EndpointShape,\n\tLogTail as LogTailShape,\n\tPackageProjection,\n\tRow,\n\tStructuredError,\n\tSubscribableState,\n} from '../../../substrate/projection.ts';\n\n/** A snapshot-carrying service row. The snapshot lets `endpoints` join the\n * row's endpoint keys against the projection's endpoint array. */\nexport interface ServiceSource {\n\treadonly row: Row;\n\treadonly snapshot: SubscribableState;\n}\n\ntype FundingEntrySource = NonNullable<AccountProjection['funding']['entries']>[number];\n\nexport interface HealthSummarySource {\n\treadonly total: number;\n\treadonly ready: number;\n\treadonly active: number;\n\treadonly failed: number;\n\treadonly waiting: number;\n\treadonly health: Health;\n}\n\n/** Compute the stack health summary from the projection rows. `active`\n * counts rows mid-flight (acquiring/stopping); `waiting` counts rows that\n * have not started (pending). Overall `health` is `failed`→blocked,\n * any-active→active, all-ready (with ≥1 row)→ready, otherwise empty. */\nexport const computeHealthSummary = (rows: ReadonlyArray<Row>): HealthSummarySource => {\n\tlet ready = 0;\n\tlet active = 0;\n\tlet failed = 0;\n\tlet waiting = 0;\n\tfor (const row of rows) {\n\t\tswitch (row.status) {\n\t\t\tcase 'ready':\n\t\t\tcase 'done':\n\t\t\tcase 'stopped':\n\t\t\t\tready += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'acquiring':\n\t\t\tcase 'stopping':\n\t\t\t\tactive += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'failed':\n\t\t\t\tfailed += 1;\n\t\t\t\tbreak;\n\t\t\tcase 'pending':\n\t\t\t\twaiting += 1;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tconst total = rows.length;\n\tconst health: Health =\n\t\tfailed > 0\n\t\t\t? 'blocked'\n\t\t\t: active > 0\n\t\t\t\t? 'active'\n\t\t\t\t: total > 0 && ready === total\n\t\t\t\t\t? 'ready'\n\t\t\t\t\t: 'empty';\n\treturn { total, ready, active, failed, waiting, health };\n};\n\nconst readSnapshot = (\n\tref: SubscriptionRef.SubscriptionRef<SubscribableState>,\n): Promise<SubscribableState> => Effect.runPromise(SubscriptionRef.get(ref));\n\n// --- Identity / Cycle ---------------------------------------------------\nexport const Identity = builder.objectRef<SubscribableState['identity']>('Identity').implement({\n\tdescription: 'Stack identity triple (app/stack/network).',\n\tfields: (t) => ({\n\t\tapp: t.exposeString('app'),\n\t\tstack: t.exposeString('stack'),\n\t\tnetwork: t.exposeString('network'),\n\t}),\n});\n\nexport const Cycle = builder.objectRef<SubscribableState['cycle']>('Cycle').implement({\n\tdescription: 'The current boot/restart cycle.',\n\tfields: (t) => ({\n\t\tid: t.exposeInt('id'),\n\t\tstartedAt: t.exposeFloat('startedAt'),\n\t\t// Carried as String: the raw union ('booting'|…|'shutting-down') is the\n\t\t// wire contract, and 'shutting-down' is not a valid GraphQL enum name.\n\t\tphase: t.field({ type: 'String', resolve: (c) => c.phase }),\n\t}),\n});\n\n// --- Endpoint (Node) ----------------------------------------------------\nexport const Endpoint = builder.objectRef<EndpointShape>('Endpoint');\nbuilder.node(Endpoint, {\n\tdescription: 'A routed endpoint contributed by a plugin.',\n\tid: { resolve: (e) => e.endpointKey },\n\tloadOne: async (id, ctx) => {\n\t\tconst snapshot = await readSnapshot(ctx.state);\n\t\treturn snapshot.endpoints.find((e) => e.endpointKey === id) ?? null;\n\t},\n\tfields: (t) => ({\n\t\tendpointKey: t.exposeString('endpointKey'),\n\t\tpluginKey: t.exposeString('pluginKey'),\n\t\tname: t.exposeString('name'),\n\t\turl: t.exposeString('url'),\n\t\tdisplayUrl: t.exposeString('displayUrl', { nullable: true }),\n\t\twireProtocol: t.field({ type: WireProtocol, resolve: (e) => e.wireProtocol }),\n\t\tregisteredAt: t.exposeFloat('registeredAt'),\n\t}),\n});\n\n// --- LogTail / StackError ----------------------------------------------\nexport const LogTail = builder.objectRef<LogTailShape>('LogTail').implement({\n\tdescription: 'The tail of a plugin log stream.',\n\tfields: (t) => ({\n\t\tlines: t.exposeStringList('lines'),\n\t\tlevel: t.field({ type: LogLevel, resolve: (l) => l.level }),\n\t\ttruncated: t.exposeBoolean('truncated'),\n\t}),\n});\n\nexport const StackError = builder.objectRef<StructuredError>('StackError').implement({\n\tdescription: 'A structured error reported by a plugin or the engine.',\n\tfields: (t) => ({\n\t\tat: t.exposeFloat('at'),\n\t\tpluginKey: t.exposeString('pluginKey', { nullable: true }),\n\t\ttag: t.exposeString('tag'),\n\t\tsummary: t.exposeString('summary'),\n\t\tchain: t.exposeStringList('chain'),\n\t\tseverity: t.field({ type: ErrorSeverity, resolve: (e) => e.severity }),\n\t}),\n});\n\n// --- Service (Node, wraps a Row) ---------------------------------------\nexport const Service = builder.objectRef<ServiceSource>('Service');\nbuilder.node(Service, {\n\tdescription: 'A visible plugin instance (one projection row).',\n\tid: { resolve: (s) => s.row.key },\n\tloadOne: async (id, ctx) => {\n\t\tconst snapshot = await readSnapshot(ctx.state);\n\t\tconst row = snapshot.rows.find((r) => r.key === id);\n\t\treturn row ? { row, snapshot } : null;\n\t},\n\tfields: (t) => ({\n\t\tkey: t.string({ resolve: (s) => s.row.key }),\n\t\trole: t.field({ type: PluginRole, resolve: (s) => s.row.role }),\n\t\tstatus: t.field({ type: LifecycleStatus, resolve: (s) => s.row.status }),\n\t\tsection: t.field({ type: RowSection, resolve: (s) => s.row.section }),\n\t\tendpointSection: t.field({ type: RowSection, resolve: (s) => s.row.endpointSection }),\n\t\tphase: t.string({ nullable: true, resolve: (s) => s.row.phase }),\n\t\tselectiveRestartHighlight: t.boolean({\n\t\t\tresolve: (s) => s.row.selectiveRestartHighlight,\n\t\t}),\n\t\tlastError: t.field({\n\t\t\ttype: StackError,\n\t\t\tnullable: true,\n\t\t\tresolve: (s) => s.row.lastError,\n\t\t}),\n\t\tlogTail: t.field({ type: LogTail, resolve: (s) => s.row.logTail }),\n\t\tendpoints: t.field({\n\t\t\ttype: [Endpoint],\n\t\t\tdescription: \"The row's endpoints, joined from the snapshot by key + pluginKey.\",\n\t\t\tresolve: (s) => {\n\t\t\t\tconst keys = new Set<string>(s.row.endpoints);\n\t\t\t\treturn s.snapshot.endpoints.filter(\n\t\t\t\t\t(e) => keys.has(e.endpointKey) && e.pluginKey === s.row.key,\n\t\t\t\t);\n\t\t\t},\n\t\t}),\n\t}),\n});\n\n// --- Funding ------------------------------------------------------------\nexport const FundingEntry = builder.objectRef<FundingEntrySource>('FundingEntry').implement({\n\tdescription: 'One coin-type funding outcome for an account.',\n\tfields: (t) => ({\n\t\tcoin: t.exposeString('coin'),\n\t\tfullCoinType: t.exposeString('fullCoinType'),\n\t\tamount: t.exposeString('amount'),\n\t\t// String for the same reason as Cycle.phase: 'already-satisfied' is not\n\t\t// a valid GraphQL enum name; the raw union string is the wire contract.\n\t\tstatus: t.field({ type: 'String', resolve: (e) => e.status }),\n\t}),\n});\n\nexport const AccountFunding = builder\n\t.objectRef<AccountProjection['funding']>('AccountFunding')\n\t.implement({\n\t\tdescription: 'Funding state for an account.',\n\t\tfields: (t) => ({\n\t\t\tstatus: t.field({ type: FundingStatus, resolve: (f) => f.status }),\n\t\t\tbalanceMist: t.exposeString('balanceMist', { nullable: true }),\n\t\t\trequestedMist: t.exposeString('requestedMist', { nullable: true }),\n\t\t\tentries: t.field({\n\t\t\t\ttype: [FundingEntry],\n\t\t\t\tresolve: (f) => f.entries ?? [],\n\t\t\t}),\n\t\t}),\n\t});\n\n// --- Account (Node) -----------------------------------------------------\nexport const Account = builder.objectRef<AccountProjection>('Account');\nbuilder.node(Account, {\n\tdescription: 'A managed or impersonated account.',\n\tid: { resolve: (a) => a.key },\n\tloadOne: async (id, ctx) => {\n\t\tconst snapshot = await readSnapshot(ctx.state);\n\t\treturn snapshot.accounts.find((a) => a.key === id) ?? null;\n\t},\n\tfields: (t) => ({\n\t\tkey: t.exposeString('key'),\n\t\trowKey: t.exposeString('rowKey', { nullable: true }),\n\t\tname: t.exposeString('name'),\n\t\taddress: t.exposeString('address', { nullable: true }),\n\t\tscheme: t.field({ type: AccountScheme, nullable: true, resolve: (a) => a.scheme }),\n\t\tsource: t.field({ type: AccountSource, nullable: true, resolve: (a) => a.source }),\n\t\twalletVisible: t.exposeBoolean('walletVisible'),\n\t\tupdatedAt: t.exposeFloat('updatedAt'),\n\t\tfunding: t.field({ type: AccountFunding, resolve: (a) => a.funding }),\n\t}),\n});\n\n// --- Package (Node) -----------------------------------------------------\nexport const Package = builder.objectRef<PackageProjection>('Package');\nbuilder.node(Package, {\n\tdescription: 'A local or known on-chain package.',\n\tid: { resolve: (p) => p.key },\n\tloadOne: async (id, ctx) => {\n\t\tconst snapshot = await readSnapshot(ctx.state);\n\t\treturn snapshot.packages.find((p) => p.key === id) ?? null;\n\t},\n\tfields: (t) => ({\n\t\tkey: t.exposeString('key'),\n\t\trowKey: t.exposeString('rowKey', { nullable: true }),\n\t\tname: t.exposeString('name'),\n\t\tkind: t.field({ type: PackageKind, resolve: (p) => p.kind }),\n\t\tpackageId: t.exposeString('packageId'),\n\t\tupgradeCapId: t.exposeString('upgradeCapId', { nullable: true }),\n\t\tmvrPlaceholder: t.exposeString('mvrPlaceholder'),\n\t\tsourcePath: t.exposeString('sourcePath', { nullable: true }),\n\t\tupdatedAt: t.exposeFloat('updatedAt'),\n\t}),\n});\n\n// --- BuildEntry / LastEvent --------------------------------------------\nexport const BuildEntry = builder.objectRef<BuildEntryShape>('BuildEntry').implement({\n\tdescription: 'A stack build progress entry.',\n\tfields: (t) => ({\n\t\tpluginKey: t.exposeString('pluginKey', { nullable: true }),\n\t\tphase: t.exposeString('phase'),\n\t\tprogress: t.exposeString('progress'),\n\t\tstartedAt: t.exposeFloat('startedAt'),\n\t}),\n});\n\nexport const LastEvent = builder.objectRef<SubscribableState['lastEvent']>('LastEvent').implement({\n\tdescription: 'The most recent event seq/timestamp the engine emitted.',\n\tfields: (t) => ({\n\t\tseq: t.exposeInt('seq'),\n\t\tat: t.exposeFloat('at'),\n\t}),\n});\n\n// --- HealthSummary ------------------------------------------------------\nexport const HealthSummary = builder.objectRef<HealthSummarySource>('HealthSummary').implement({\n\tdescription: 'Derived stack health counts.',\n\tfields: (t) => ({\n\t\ttotal: t.exposeInt('total'),\n\t\tready: t.exposeInt('ready'),\n\t\tactive: t.exposeInt('active'),\n\t\tfailed: t.exposeInt('failed'),\n\t\twaiting: t.exposeInt('waiting'),\n\t\thealth: t.field({ type: HealthEnum, resolve: (h) => h.health }),\n\t}),\n});\n\n// --- Plugin-domain object types ----------------------------------------\n//\n// Sources are the app-agnostic `ControlPlane*` shapes the supervisor\n// populates from resolved plugin values. These cover only what the browser\n// cannot reach directly: codegen capability ids, in-process plugin state,\n// the snapshot catalog, and PG wire-protocol stats. Numeric counts/sizes\n// are carried as Float (GraphQL Int caps at 2^31; pg sizes can exceed it).\n\nexport const SnapshotEntry = builder\n\t.objectRef<ControlPlaneSnapshotEntry>('SnapshotEntry')\n\t.implement({\n\t\tdescription: 'A snapshot catalog entry (orchestrator `list`).',\n\t\tfields: (t) => ({\n\t\t\tid: t.exposeString('id'),\n\t\t\tlabel: t.exposeString('label', { nullable: true }),\n\t\t\tcreatedAt: t.exposeFloat('createdAt', { nullable: true }),\n\t\t\tapp: t.exposeString('app', { nullable: true }),\n\t\t\tstack: t.exposeString('stack', { nullable: true }),\n\t\t\tnetwork: t.exposeString('network', { nullable: true }),\n\t\t\tparticipants: t.exposeStringList('participants'),\n\t\t\tcontainerCount: t.exposeInt('containerCount'),\n\t\t\tsubtreeCount: t.exposeInt('subtreeCount'),\n\t\t\tcorrupt: t.exposeBoolean('corrupt'),\n\t\t}),\n\t});\n\nexport const DeepbookPool = builder.objectRef<DashboardDeepbookPool>('DeepbookPool').implement({\n\tdescription: 'A DeepBook pool object id + coin types (prices are chain-direct).',\n\tfields: (t) => ({\n\t\tname: t.exposeString('name'),\n\t\tpoolId: t.exposeString('poolId'),\n\t\tbaseCoinType: t.exposeString('baseCoinType'),\n\t\tquoteCoinType: t.exposeString('quoteCoinType'),\n\t}),\n});\n\nexport const DeepbookInfo = builder.objectRef<DashboardDeepbookInfo>('DeepbookInfo').implement({\n\tdescription: 'A DeepBook deployment: registry/admin/pool ids + market-maker state.',\n\tfields: (t) => ({\n\t\tpluginKey: t.exposeString('pluginKey'),\n\t\tname: t.exposeString('name'),\n\t\tmode: t.field({ type: DeepbookMode, resolve: (d) => d.mode }),\n\t\tchain: t.exposeString('chain'),\n\t\tpackageId: t.exposeString('packageId'),\n\t\tregistryId: t.exposeString('registryId'),\n\t\tadminCapId: t.exposeString('adminCapId', { nullable: true }),\n\t\tdeepTreasuryId: t.exposeString('deepTreasuryId', { nullable: true }),\n\t\tpools: t.field({ type: [DeepbookPool], resolve: (d) => d.pools }),\n\t\tmarketMakerRunning: t.exposeBoolean('marketMakerRunning'),\n\t\tserverUrl: t.exposeString('serverUrl', { nullable: true }),\n\t\tindexerUrl: t.exposeString('indexerUrl', { nullable: true }),\n\t}),\n});\n\nexport const SealKeyServer = builder.objectRef<DashboardSealKeyServer>('SealKeyServer').implement({\n\tdescription: 'One Seal key-server config (objectId + weight).',\n\tfields: (t) => ({\n\t\tobjectId: t.exposeString('objectId'),\n\t\tweight: t.exposeInt('weight'),\n\t}),\n});\n\nexport const SealInfo = builder.objectRef<DashboardSealInfo>('SealInfo').implement({\n\tdescription: 'A Seal key-server deployment (objectId/threshold/mode/keyServers).',\n\tfields: (t) => ({\n\t\tpluginKey: t.exposeString('pluginKey'),\n\t\t// String, not enum: 'local-keygen'/'fork-known' are illegal GraphQL\n\t\t// enum value names (hyphens). The raw union string is the wire contract.\n\t\tmode: t.field({ type: 'String', resolve: (s) => s.mode }),\n\t\tobjectId: t.exposeString('objectId'),\n\t\tkeyServerUrl: t.exposeString('keyServerUrl'),\n\t\tkeyServers: t.field({ type: [SealKeyServer], resolve: (s) => s.keyServers }),\n\t\tthreshold: t.exposeInt('threshold'),\n\t}),\n});\n\nexport const CoinCap = builder.objectRef<DashboardCoinCap>('CoinCap').implement({\n\tdescription: \"A coin's treasury-cap id (drives Mint) + addressing facts.\",\n\tfields: (t) => ({\n\t\tpluginKey: t.exposeString('pluginKey'),\n\t\tsymbol: t.exposeString('symbol', { nullable: true }),\n\t\tfullCoinType: t.exposeString('fullCoinType'),\n\t\tdecimals: t.exposeInt('decimals'),\n\t\t// String, not enum: 'on-chain' is an illegal GraphQL enum value name.\n\t\tsource: t.field({ type: 'String', resolve: (c) => c.source }),\n\t\ttreasuryCapId: t.exposeString('treasuryCapId', { nullable: true }),\n\t\tpackageId: t.exposeString('packageId', { nullable: true }),\n\t}),\n});\n\nexport const FundableCoin = builder.objectRef<DashboardFundableCoin>('FundableCoin').implement({\n\tdescription:\n\t\t'A coin the dashboard faucet can fund right now. SUI is fixed-amount; ' +\n\t\t'WAL/DEEP honor an amount and require the recipient to be a resolved account.',\n\tfields: (t) => ({\n\t\tsymbol: t.exposeString('symbol'),\n\t\tcoinType: t.exposeString('coinType'),\n\t\t/** True when the underlying strategy honors a caller-supplied amount\n\t\t * (WAL/DEEP swaps). SUI is fixed-amount (false). */\n\t\thonorsAmount: t.exposeBoolean('honorsAmount'),\n\t\t/** True when funding requires the recipient to BE a resolved account\n\t\t * (the swap spends that account's own SUI). SUI is false. */\n\t\trequiresAccountSigner: t.exposeBoolean('requiresAccountSigner'),\n\t}),\n});\n\nexport const PostgresTable = builder.objectRef<DashboardPostgresTable>('PostgresTable').implement({\n\tdescription: 'Per-table row estimate + total size (bytes).',\n\tfields: (t) => ({\n\t\tschema: t.exposeString('schema'),\n\t\tname: t.exposeString('name'),\n\t\trowEstimate: t.exposeFloat('rowEstimate'),\n\t\ttotalBytes: t.exposeFloat('totalBytes'),\n\t}),\n});\n\nexport const PostgresStats = builder.objectRef<DashboardPostgresStats>('PostgresStats').implement({\n\tdescription:\n\t\t'Postgres wire-protocol stats (db size, connections, per-table). Gathered by exec; the browser cannot speak the PG protocol.',\n\tfields: (t) => ({\n\t\tpluginKey: t.exposeString('pluginKey'),\n\t\tdatabase: t.exposeString('database'),\n\t\t// Plain (password-less) DSN only — the credentialed form never leaves\n\t\t// the backend.\n\t\tplainUrl: t.exposeString('plainUrl'),\n\t\tdatabaseBytes: t.exposeFloat('databaseBytes'),\n\t\tconnectionCount: t.exposeInt('connectionCount'),\n\t\ttables: t.field({ type: [PostgresTable], resolve: (p) => p.tables }),\n\t\tavailable: t.exposeBoolean('available'),\n\t\tdetail: t.exposeString('detail', { nullable: true }),\n\t}),\n});\n\n// --- Observability: LogRecord / SpanRecord -----------------------------\n//\n// Sources are the substrate observability ring records. `level` (logs) and\n// `status` (spans) are carried as String, not GraphQL enums: the log level\n// vocabulary (trace/debug/info/warn/error/fatal) is wider than the\n// projection's row-tail LogLevel enum, and keeping it String decouples the\n// queryable surface from the row-tail enum (same hyphen/illegal-enum-safe\n// String pattern used by SealMode/CoinSource above). Structured `fields` /\n// `attributes` are serialized to a JSON string — the schema has no JSON\n// scalar and the console renders them as a detail blob.\n\nconst fieldsJson = (fields: Readonly<Record<string, unknown>>): string => {\n\ttry {\n\t\treturn JSON.stringify(fields);\n\t} catch {\n\t\treturn '{}';\n\t}\n};\n\nexport const LogRecordType = builder.objectRef<LogRecord>('LogRecord').implement({\n\tdescription:\n\t\t'One cross-service log record (queryable Console \"Logs\" tab). Fed off the same logger path as the per-row projection tail.',\n\tfields: (t) => ({\n\t\tseq: t.exposeFloat('seq'),\n\t\ttimestampMillis: t.exposeFloat('timestampMillis'),\n\t\t// String: wider than the row-tail LogLevel enum (trace/debug/fatal).\n\t\tlevel: t.field({ type: 'String', resolve: (r) => r.level }),\n\t\tservice: t.exposeString('service'),\n\t\tmessage: t.exposeString('message'),\n\t\t/** Structured fields as a JSON string (no JSON scalar in this schema). */\n\t\tfieldsJson: t.field({ type: 'String', resolve: (r) => fieldsJson(r.fields) }),\n\t}),\n});\n\nexport const SpanRecordType = builder.objectRef<SpanRecord>('SpanRecord').implement({\n\tdescription:\n\t\t'One completed span (queryable Console \"Traces\" tab). Recorded by the supervisor\\'s recording Tracer.',\n\tfields: (t) => ({\n\t\ttraceId: t.exposeString('traceId'),\n\t\tspanId: t.exposeString('spanId'),\n\t\tparentId: t.exposeString('parentId', { nullable: true }),\n\t\tname: t.exposeString('name'),\n\t\tservice: t.exposeString('service', { nullable: true }),\n\t\tstartMillis: t.exposeFloat('startMillis'),\n\t\tdurationMillis: t.exposeFloat('durationMillis'),\n\t\t// String: 'ok'/'error' kept as the raw wire contract.\n\t\tstatus: t.field({ type: 'String', resolve: (r) => r.status }),\n\t\t/** Flattened span attributes as a JSON string. */\n\t\tattributesJson: t.field({ type: 'String', resolve: (r) => fieldsJson(r.attributes) }),\n\t}),\n});\n\n// --- Observability filter inputs ---------------------------------------\n\nexport const LogFilterInput = builder.inputType('LogFilter', {\n\tfields: (t) => ({\n\t\tservices: t.stringList({ required: false }),\n\t\t/** Levels (trace/debug/info/warn/error/fatal). Strings, not an enum\n\t\t * (the level vocabulary is wider than the row-tail LogLevel enum). */\n\t\tlevels: t.stringList({ required: false }),\n\t\tsearch: t.string({ required: false }),\n\t\tsinceMillis: t.float({ required: false }),\n\t\tlimit: t.int({ required: false }),\n\t}),\n});\n\nexport const SpanFilterInput = builder.inputType('SpanFilter', {\n\tfields: (t) => ({\n\t\tservices: t.stringList({ required: false }),\n\t\t/** Statuses ('ok' / 'error'). Strings, not an enum. */\n\t\tstatuses: t.stringList({ required: false }),\n\t\tsearch: t.string({ required: false }),\n\t\tsinceMillis: t.float({ required: false }),\n\t\tlimit: t.int({ required: false }),\n\t}),\n});\n\n// --- StackState (source = the snapshot itself) -------------------------\nexport const StackState = builder.objectRef<SubscribableState>('StackState').implement({\n\tdescription: 'A full live projection snapshot.',\n\tfields: (t) => ({\n\t\tidentity: t.field({ type: Identity, resolve: (s) => s.identity }),\n\t\tcycle: t.field({ type: Cycle, resolve: (s) => s.cycle }),\n\t\tsummary: t.field({ type: HealthSummary, resolve: (s) => computeHealthSummary(s.rows) }),\n\t\tservices: t.field({\n\t\t\ttype: [Service],\n\t\t\tresolve: (s) => s.rows.map((row) => ({ row, snapshot: s })),\n\t\t}),\n\t\tendpoints: t.field({ type: [Endpoint], resolve: (s) => s.endpoints }),\n\t\taccounts: t.field({ type: [Account], resolve: (s) => s.accounts }),\n\t\tpackages: t.field({ type: [Package], resolve: (s) => s.packages }),\n\t\terrors: t.field({ type: [StackError], resolve: (s) => s.errors }),\n\t\tstackBuild: t.field({ type: [BuildEntry], resolve: (s) => s.stackBuild }),\n\t\tlastEvent: t.field({ type: LastEvent, nullable: true, resolve: (s) => s.lastEvent }),\n\t}),\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { builder } from "./schema/builder.mjs";
|
|
2
|
+
import "./schema/enums.mjs";
|
|
3
|
+
import "./schema/types.mjs";
|
|
4
|
+
import "./schema/root.mjs";
|
|
5
|
+
//#region src/plugins/dashboard/schema.ts
|
|
6
|
+
/** The dashboard control-plane GraphQL schema. */
|
|
7
|
+
const dashboardSchema = builder.toSchema();
|
|
8
|
+
//#endregion
|
|
9
|
+
export { dashboardSchema };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=schema.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.mjs","names":[],"sources":["../../../src/plugins/dashboard/schema.ts"],"sourcesContent":["// Dashboard GraphQL schema (Pothos, code-first) — assembly entry.\n//\n// One typed schema covers the control plane:\n// - queries: `state` (full projection snapshot, real object types),\n// relay node/connection access, and a `ping` probe.\n// - mutations: map to `EngineCommand`s (restart, snapshot, apply, …),\n// each returning a typed `CommandResult`.\n// - subscriptions: `state` streams projection changes over SSE (yoga).\n//\n// The schema is defined at module level across `./schema/{builder,enums,\n// types,root}.ts`; importing those modules registers their enums/types/root\n// fields on the shared `builder`. The package is marked `sideEffects: true`, so\n// these registration imports are preserved through the bundler. Per-request\n// dependencies (the `state` ref + `publishCommand`) flow through the GraphQL\n// context (`DashboardContext`).\n\nimport { builder } from './schema/builder.ts';\nimport './schema/enums.ts';\nimport './schema/types.ts';\nimport './schema/root.ts';\n\nexport type { DashboardContext } from './schema/builder.ts';\n\n/** The dashboard control-plane GraphQL schema. */\nexport const dashboardSchema = builder.toSchema();\n"],"mappings":";;;;;;AAwBA,MAAa,kBAAkB,QAAQ,UAAU"}
|