everything-dev 1.53.1 → 2.0.0-rc.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 +2 -11
- package/dist/_virtual/_rolldown/runtime.cjs +17 -2
- package/dist/_virtual/_rolldown/runtime.mjs +36 -0
- package/dist/api/auth-middleware.cjs +161 -0
- package/dist/api/auth-middleware.cjs.map +1 -0
- package/dist/api/auth-middleware.d.cts +69 -0
- package/dist/api/auth-middleware.d.mts +69 -0
- package/dist/api/auth-middleware.mjs +160 -0
- package/dist/api/auth-middleware.mjs.map +1 -0
- package/dist/api-contract.cjs +250 -62
- package/dist/api-contract.cjs.map +1 -1
- package/dist/api-contract.mjs +246 -65
- package/dist/api-contract.mjs.map +1 -1
- package/dist/app.cjs +99 -26
- package/dist/app.cjs.map +1 -1
- package/dist/app.d.cts +3 -0
- package/dist/app.d.mts +3 -0
- package/dist/app.mjs +100 -27
- package/dist/app.mjs.map +1 -1
- package/dist/auth-login.cjs +163 -0
- package/dist/auth-login.cjs.map +1 -0
- package/dist/auth-login.mjs +162 -0
- package/dist/auth-login.mjs.map +1 -0
- package/dist/auth-session.cjs +64 -0
- package/dist/auth-session.cjs.map +1 -0
- package/dist/auth-session.mjs +58 -0
- package/dist/auth-session.mjs.map +1 -0
- package/dist/auth-types-gen.cjs +0 -1
- package/dist/auth-types-gen.cjs.map +1 -1
- package/dist/build.cjs +37 -173
- package/dist/build.cjs.map +1 -1
- package/dist/build.mjs +37 -171
- package/dist/build.mjs.map +1 -1
- package/dist/bundle-cache.cjs +74 -0
- package/dist/bundle-cache.cjs.map +1 -0
- package/dist/bundle-cache.d.cts +27 -0
- package/dist/bundle-cache.d.mts +27 -0
- package/dist/bundle-cache.mjs +68 -0
- package/dist/bundle-cache.mjs.map +1 -0
- package/dist/bundle-fs-resolve.cjs +209 -0
- package/dist/bundle-fs-resolve.cjs.map +1 -0
- package/dist/bundle-fs-resolve.d.cts +76 -0
- package/dist/bundle-fs-resolve.d.mts +76 -0
- package/dist/bundle-fs-resolve.mjs +202 -0
- package/dist/bundle-fs-resolve.mjs.map +1 -0
- package/dist/cdn-deploy.cjs +126 -0
- package/dist/cdn-deploy.cjs.map +1 -0
- package/dist/cdn-deploy.mjs +124 -0
- package/dist/cdn-deploy.mjs.map +1 -0
- package/dist/cli/db-doctor.cjs +19 -19
- package/dist/cli/db-doctor.cjs.map +1 -1
- package/dist/cli/db-doctor.mjs +18 -18
- package/dist/cli/db-doctor.mjs.map +1 -1
- package/dist/cli/db-repair.cjs +9 -32
- package/dist/cli/db-repair.cjs.map +1 -1
- package/dist/cli/db-repair.mjs +9 -32
- package/dist/cli/db-repair.mjs.map +1 -1
- package/dist/cli/framework-version.cjs +7 -3
- package/dist/cli/framework-version.cjs.map +1 -1
- package/dist/cli/framework-version.mjs +7 -3
- package/dist/cli/framework-version.mjs.map +1 -1
- package/dist/cli/infra.cjs +159 -251
- package/dist/cli/infra.cjs.map +1 -1
- package/dist/cli/infra.mjs +154 -242
- package/dist/cli/infra.mjs.map +1 -1
- package/dist/cli/init.cjs +624 -196
- package/dist/cli/init.cjs.map +1 -1
- package/dist/cli/init.d.cts +61 -8
- package/dist/cli/init.d.mts +61 -8
- package/dist/cli/init.mjs +613 -194
- package/dist/cli/init.mjs.map +1 -1
- package/dist/cli/parse.cjs +8 -7
- package/dist/cli/parse.cjs.map +1 -1
- package/dist/cli/parse.mjs +9 -7
- package/dist/cli/parse.mjs.map +1 -1
- package/dist/cli/prompts.cjs +14 -1
- package/dist/cli/prompts.cjs.map +1 -1
- package/dist/cli/prompts.mjs +14 -1
- package/dist/cli/prompts.mjs.map +1 -1
- package/dist/cli/prune.cjs +220 -0
- package/dist/cli/prune.cjs.map +1 -0
- package/dist/cli/prune.mjs +220 -0
- package/dist/cli/prune.mjs.map +1 -0
- package/dist/cli/snapshot.cjs +2 -1
- package/dist/cli/snapshot.cjs.map +1 -1
- package/dist/cli/snapshot.mjs +2 -1
- package/dist/cli/snapshot.mjs.map +1 -1
- package/dist/cli/status.cjs +5 -4
- package/dist/cli/status.cjs.map +1 -1
- package/dist/cli/status.mjs +6 -5
- package/dist/cli/status.mjs.map +1 -1
- package/dist/cli/sync.cjs +156 -58
- package/dist/cli/sync.cjs.map +1 -1
- package/dist/cli/sync.mjs +158 -63
- package/dist/cli/sync.mjs.map +1 -1
- package/dist/cli/timing.cjs +0 -1
- package/dist/cli/timing.cjs.map +1 -1
- package/dist/cli/upgrade.cjs +95 -69
- package/dist/cli/upgrade.cjs.map +1 -1
- package/dist/cli/upgrade.mjs +97 -72
- package/dist/cli/upgrade.mjs.map +1 -1
- package/dist/cli/utils/helpers.cjs.map +1 -1
- package/dist/cli.cjs +320 -72
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.mjs +316 -68
- package/dist/cli.mjs.map +1 -1
- package/dist/code-artifacts.cjs +76 -8
- package/dist/code-artifacts.cjs.map +1 -1
- package/dist/code-artifacts.mjs +76 -10
- package/dist/code-artifacts.mjs.map +1 -1
- package/dist/commands/build.cjs +65 -0
- package/dist/commands/build.cjs.map +1 -0
- package/dist/commands/build.mjs +65 -0
- package/dist/commands/build.mjs.map +1 -0
- package/dist/commands/config.cjs +77 -0
- package/dist/commands/config.cjs.map +1 -0
- package/dist/commands/config.d.cts +8 -0
- package/dist/commands/config.d.mts +8 -0
- package/dist/commands/config.mjs +74 -0
- package/dist/commands/config.mjs.map +1 -0
- package/dist/commands/db.cjs +107 -0
- package/dist/commands/db.cjs.map +1 -0
- package/dist/commands/db.mjs +107 -0
- package/dist/commands/db.mjs.map +1 -0
- package/dist/commands/deploy.cjs +336 -0
- package/dist/commands/deploy.cjs.map +1 -0
- package/dist/commands/deploy.mjs +334 -0
- package/dist/commands/deploy.mjs.map +1 -0
- package/dist/commands/dev.cjs +75 -0
- package/dist/commands/dev.cjs.map +1 -0
- package/dist/commands/dev.mjs +73 -0
- package/dist/commands/dev.mjs.map +1 -0
- package/dist/commands/init.cjs +234 -0
- package/dist/commands/init.cjs.map +1 -0
- package/dist/commands/init.mjs +231 -0
- package/dist/commands/init.mjs.map +1 -0
- package/dist/commands/keys.cjs +255 -0
- package/dist/commands/keys.cjs.map +1 -0
- package/dist/commands/keys.mjs +253 -0
- package/dist/commands/keys.mjs.map +1 -0
- package/dist/commands/ops.cjs +199 -0
- package/dist/commands/ops.cjs.map +1 -0
- package/dist/commands/ops.mjs +197 -0
- package/dist/commands/ops.mjs.map +1 -0
- package/dist/commands/plugins.cjs +211 -0
- package/dist/commands/plugins.cjs.map +1 -0
- package/dist/commands/plugins.mjs +211 -0
- package/dist/commands/plugins.mjs.map +1 -0
- package/dist/commands/shared.cjs +8 -0
- package/dist/commands/shared.cjs.map +1 -0
- package/dist/commands/shared.d.cts +6 -0
- package/dist/commands/shared.d.mts +6 -0
- package/dist/commands/shared.mjs +8 -0
- package/dist/commands/shared.mjs.map +1 -0
- package/dist/commands/upgrade.cjs +325 -0
- package/dist/commands/upgrade.cjs.map +1 -0
- package/dist/commands/upgrade.mjs +323 -0
- package/dist/commands/upgrade.mjs.map +1 -0
- package/dist/components/dev-render.cjs +340 -0
- package/dist/components/dev-render.cjs.map +1 -0
- package/dist/components/dev-render.mjs +332 -0
- package/dist/components/dev-render.mjs.map +1 -0
- package/dist/config.cjs +460 -221
- package/dist/config.cjs.map +1 -1
- package/dist/config.d.cts +491 -48
- package/dist/config.d.mts +491 -48
- package/dist/config.mjs +439 -212
- package/dist/config.mjs.map +1 -1
- package/dist/contract.cjs +327 -50
- package/dist/contract.cjs.map +1 -1
- package/dist/contract.d.cts +1951 -1062
- package/dist/contract.d.mts +1951 -1062
- package/dist/contract.meta.cjs +107 -12
- package/dist/contract.meta.cjs.map +1 -1
- package/dist/contract.meta.d.cts +166 -8
- package/dist/contract.meta.d.mts +166 -8
- package/dist/contract.meta.mjs +107 -11
- package/dist/contract.meta.mjs.map +1 -1
- package/dist/contract.mjs +580 -327
- package/dist/contract.mjs.map +1 -1
- package/dist/dag.cjs +5 -3
- package/dist/dag.cjs.map +1 -1
- package/dist/dag.mjs +6 -3
- package/dist/dag.mjs.map +1 -1
- package/dist/db/binding.cjs +80 -0
- package/dist/db/binding.cjs.map +1 -0
- package/dist/db/binding.d.cts +39 -0
- package/dist/db/binding.d.mts +39 -0
- package/dist/db/binding.mjs +78 -0
- package/dist/db/binding.mjs.map +1 -0
- package/dist/db/bindings.cjs +78 -0
- package/dist/db/bindings.cjs.map +1 -0
- package/dist/db/bindings.d.cts +34 -0
- package/dist/db/bindings.d.mts +34 -0
- package/dist/db/bindings.mjs +76 -0
- package/dist/db/bindings.mjs.map +1 -0
- package/dist/db/core.cjs +204 -0
- package/dist/db/core.cjs.map +1 -0
- package/dist/db/core.d.cts +69 -0
- package/dist/db/core.d.mts +69 -0
- package/dist/db/core.mjs +192 -0
- package/dist/db/core.mjs.map +1 -0
- package/dist/db/driver.cjs +167 -0
- package/dist/db/driver.cjs.map +1 -0
- package/dist/db/driver.d.cts +50 -0
- package/dist/db/driver.d.mts +50 -0
- package/dist/db/driver.mjs +165 -0
- package/dist/db/driver.mjs.map +1 -0
- package/dist/db/drizzle-kit.cjs +177 -0
- package/dist/db/drizzle-kit.cjs.map +1 -0
- package/dist/db/drizzle-kit.d.cts +25 -0
- package/dist/db/drizzle-kit.d.mts +25 -0
- package/dist/db/drizzle-kit.mjs +175 -0
- package/dist/db/drizzle-kit.mjs.map +1 -0
- package/dist/db/errors.cjs +27 -0
- package/dist/db/errors.cjs.map +1 -0
- package/dist/db/errors.d.cts +16 -0
- package/dist/db/errors.d.mts +16 -0
- package/dist/db/errors.mjs +26 -0
- package/dist/db/errors.mjs.map +1 -0
- package/dist/db/identity.cjs +55 -0
- package/dist/db/identity.cjs.map +1 -0
- package/dist/db/identity.d.cts +40 -0
- package/dist/db/identity.d.mts +40 -0
- package/dist/db/identity.mjs +53 -0
- package/dist/db/identity.mjs.map +1 -0
- package/dist/db/index.cjs +43 -0
- package/dist/db/index.d.cts +9 -0
- package/dist/db/index.d.mts +9 -0
- package/dist/db/index.mjs +10 -0
- package/dist/db/run-migrations.cjs +343 -0
- package/dist/db/run-migrations.cjs.map +1 -0
- package/dist/db/run-migrations.d.cts +87 -0
- package/dist/db/run-migrations.d.mts +87 -0
- package/dist/db/run-migrations.mjs +341 -0
- package/dist/db/run-migrations.mjs.map +1 -0
- package/dist/delegate-signer.cjs +85 -0
- package/dist/delegate-signer.cjs.map +1 -0
- package/dist/delegate-signer.mjs +84 -0
- package/dist/delegate-signer.mjs.map +1 -0
- package/dist/deploy-diff.cjs +119 -0
- package/dist/deploy-diff.cjs.map +1 -0
- package/dist/deploy-diff.mjs +109 -0
- package/dist/deploy-diff.mjs.map +1 -0
- package/dist/descriptor/constructors.cjs +49 -0
- package/dist/descriptor/constructors.cjs.map +1 -0
- package/dist/descriptor/constructors.d.cts +27 -0
- package/dist/descriptor/constructors.d.mts +27 -0
- package/dist/descriptor/constructors.mjs +45 -0
- package/dist/descriptor/constructors.mjs.map +1 -0
- package/dist/descriptor/index.cjs +24 -0
- package/dist/descriptor/index.d.cts +5 -0
- package/dist/descriptor/index.d.mts +5 -0
- package/dist/descriptor/index.mjs +6 -0
- package/dist/descriptor/resolve.cjs +258 -0
- package/dist/descriptor/resolve.cjs.map +1 -0
- package/dist/descriptor/resolve.d.cts +50 -0
- package/dist/descriptor/resolve.d.mts +50 -0
- package/dist/descriptor/resolve.mjs +252 -0
- package/dist/descriptor/resolve.mjs.map +1 -0
- package/dist/descriptor/schema.cjs +109 -0
- package/dist/descriptor/schema.cjs.map +1 -0
- package/dist/descriptor/schema.d.cts +217 -0
- package/dist/descriptor/schema.d.mts +217 -0
- package/dist/descriptor/schema.mjs +102 -0
- package/dist/descriptor/schema.mjs.map +1 -0
- package/dist/descriptor/serialize.cjs +45 -0
- package/dist/descriptor/serialize.cjs.map +1 -0
- package/dist/descriptor/serialize.d.cts +7 -0
- package/dist/descriptor/serialize.d.mts +7 -0
- package/dist/descriptor/serialize.mjs +45 -0
- package/dist/descriptor/serialize.mjs.map +1 -0
- package/dist/dev-log-pipeline.cjs +273 -0
- package/dist/dev-log-pipeline.cjs.map +1 -0
- package/dist/dev-log-pipeline.mjs +267 -0
- package/dist/dev-log-pipeline.mjs.map +1 -0
- package/dist/dev-logs.cjs +39 -8
- package/dist/dev-logs.cjs.map +1 -1
- package/dist/dev-logs.mjs +37 -9
- package/dist/dev-logs.mjs.map +1 -1
- package/dist/dev-program.cjs +405 -0
- package/dist/dev-program.cjs.map +1 -0
- package/dist/dev-program.d.cts +10 -0
- package/dist/dev-program.d.mts +10 -0
- package/dist/dev-program.mjs +395 -0
- package/dist/dev-program.mjs.map +1 -0
- package/dist/dev-session-data.d.cts +27 -0
- package/dist/dev-session-data.d.mts +27 -0
- package/dist/dev-session.cjs +178 -105
- package/dist/dev-session.cjs.map +1 -1
- package/dist/dev-session.mjs +180 -105
- package/dist/dev-session.mjs.map +1 -1
- package/dist/env/process-env.cjs +16 -0
- package/dist/env/process-env.cjs.map +1 -0
- package/dist/env/process-env.mjs +13 -0
- package/dist/env/process-env.mjs.map +1 -0
- package/dist/env/project-env.cjs +144 -0
- package/dist/env/project-env.cjs.map +1 -0
- package/dist/env/project-env.d.cts +1 -0
- package/dist/env/project-env.d.mts +1 -0
- package/dist/env/project-env.mjs +132 -0
- package/dist/env/project-env.mjs.map +1 -0
- package/dist/fastkv.cjs +59 -12
- package/dist/fastkv.cjs.map +1 -1
- package/dist/fastkv.d.cts +42 -6
- package/dist/fastkv.d.mts +42 -6
- package/dist/fastkv.mjs +58 -13
- package/dist/fastkv.mjs.map +1 -1
- package/dist/fingerprint.cjs +57 -0
- package/dist/fingerprint.cjs.map +1 -0
- package/dist/fingerprint.d.cts +14 -0
- package/dist/fingerprint.d.mts +14 -0
- package/dist/fingerprint.mjs +55 -0
- package/dist/fingerprint.mjs.map +1 -0
- package/dist/http-client.cjs +17 -17
- package/dist/http-client.cjs.map +1 -1
- package/dist/http-client.mjs +17 -17
- package/dist/http-client.mjs.map +1 -1
- package/dist/image-deploy.cjs +186 -0
- package/dist/image-deploy.cjs.map +1 -0
- package/dist/image-deploy.mjs +182 -0
- package/dist/image-deploy.mjs.map +1 -0
- package/dist/index.cjs +66 -18
- package/dist/index.d.cts +8 -7
- package/dist/index.d.mts +8 -7
- package/dist/index.mjs +6 -5
- package/dist/infra/docker.cjs +77 -0
- package/dist/infra/docker.cjs.map +1 -0
- package/dist/infra/docker.d.cts +10 -0
- package/dist/infra/docker.d.mts +10 -0
- package/dist/infra/docker.mjs +69 -0
- package/dist/infra/docker.mjs.map +1 -0
- package/dist/infra/materializer.cjs +74 -0
- package/dist/infra/materializer.cjs.map +1 -0
- package/dist/infra/materializer.mjs +70 -0
- package/dist/infra/materializer.mjs.map +1 -0
- package/dist/infra/planner.cjs +135 -103
- package/dist/infra/planner.cjs.map +1 -1
- package/dist/infra/planner.mjs +137 -104
- package/dist/infra/planner.mjs.map +1 -1
- package/dist/infra/port-ownership.cjs +57 -0
- package/dist/infra/port-ownership.cjs.map +1 -0
- package/dist/infra/port-ownership.mjs +57 -0
- package/dist/infra/port-ownership.mjs.map +1 -0
- package/dist/infra/preflight.cjs +45 -33
- package/dist/infra/preflight.cjs.map +1 -1
- package/dist/infra/preflight.d.cts +1 -0
- package/dist/infra/preflight.d.mts +1 -0
- package/dist/infra/preflight.mjs +46 -34
- package/dist/infra/preflight.mjs.map +1 -1
- package/dist/infra/types.cjs.map +1 -1
- package/dist/infra/types.d.cts +2 -0
- package/dist/infra/types.d.mts +2 -0
- package/dist/infra/types.mjs.map +1 -1
- package/dist/integrity.cjs +50 -61
- package/dist/integrity.cjs.map +1 -1
- package/dist/integrity.d.cts +16 -10
- package/dist/integrity.d.mts +16 -10
- package/dist/integrity.mjs +50 -59
- package/dist/integrity.mjs.map +1 -1
- package/dist/internal/manifest-normalizer.cjs +8 -2
- package/dist/internal/manifest-normalizer.cjs.map +1 -1
- package/dist/internal/manifest-normalizer.mjs +9 -3
- package/dist/internal/manifest-normalizer.mjs.map +1 -1
- package/dist/merge.cjs +19 -1
- package/dist/merge.cjs.map +1 -1
- package/dist/merge.d.cts +1 -1
- package/dist/merge.d.mts +1 -1
- package/dist/merge.mjs +19 -2
- package/dist/merge.mjs.map +1 -1
- package/dist/mf.cjs +190 -3
- package/dist/mf.cjs.map +1 -1
- package/dist/mf.d.cts +24 -2
- package/dist/mf.d.mts +24 -2
- package/dist/mf.mjs +189 -4
- package/dist/mf.mjs.map +1 -1
- package/dist/near-cli.cjs +59 -91
- package/dist/near-cli.cjs.map +1 -1
- package/dist/near-cli.mjs +58 -90
- package/dist/near-cli.mjs.map +1 -1
- package/dist/near-signer.cjs +73 -0
- package/dist/near-signer.cjs.map +1 -0
- package/dist/near-signer.mjs +70 -0
- package/dist/near-signer.mjs.map +1 -0
- package/dist/network.cjs +0 -1
- package/dist/network.cjs.map +1 -1
- package/dist/orchestrator.cjs +256 -87
- package/dist/orchestrator.cjs.map +1 -1
- package/dist/orchestrator.mjs +248 -87
- package/dist/orchestrator.mjs.map +1 -1
- package/dist/platform-deploy.cjs +81 -0
- package/dist/platform-deploy.cjs.map +1 -0
- package/dist/platform-deploy.mjs +80 -0
- package/dist/platform-deploy.mjs.map +1 -0
- package/dist/plugin.cjs +54 -1389
- package/dist/plugin.cjs.map +1 -1
- package/dist/plugin.d.cts +6 -896
- package/dist/plugin.d.mts +6 -896
- package/dist/plugin.mjs +53 -1387
- package/dist/plugin.mjs.map +1 -1
- package/dist/process-kill.cjs +44 -0
- package/dist/process-kill.cjs.map +1 -0
- package/dist/process-kill.mjs +43 -0
- package/dist/process-kill.mjs.map +1 -0
- package/dist/process-registry.cjs +64 -9
- package/dist/process-registry.cjs.map +1 -1
- package/dist/process-registry.mjs +61 -10
- package/dist/process-registry.mjs.map +1 -1
- package/dist/progress.cjs +45 -0
- package/dist/progress.cjs.map +1 -0
- package/dist/progress.d.cts +13 -0
- package/dist/progress.d.mts +13 -0
- package/dist/progress.mjs +42 -0
- package/dist/progress.mjs.map +1 -0
- package/dist/publish.cjs +513 -79
- package/dist/publish.cjs.map +1 -1
- package/dist/publish.mjs +515 -82
- package/dist/publish.mjs.map +1 -1
- package/dist/registry-use.cjs +41 -0
- package/dist/registry-use.cjs.map +1 -0
- package/dist/registry-use.mjs +40 -0
- package/dist/registry-use.mjs.map +1 -0
- package/dist/resolution/session.cjs +335 -0
- package/dist/resolution/session.cjs.map +1 -0
- package/dist/resolution/session.d.cts +105 -0
- package/dist/resolution/session.d.mts +105 -0
- package/dist/resolution/session.mjs +331 -0
- package/dist/resolution/session.mjs.map +1 -0
- package/dist/rollback.cjs +131 -0
- package/dist/rollback.cjs.map +1 -0
- package/dist/rollback.mjs +128 -0
- package/dist/rollback.mjs.map +1 -0
- package/dist/sdk.cjs +7 -7
- package/dist/sdk.d.cts +3 -3
- package/dist/sdk.d.mts +3 -3
- package/dist/sdk.mjs +2 -2
- package/dist/service-descriptor.cjs +67 -34
- package/dist/service-descriptor.cjs.map +1 -1
- package/dist/service-descriptor.d.cts +4 -1
- package/dist/service-descriptor.d.mts +3 -0
- package/dist/service-descriptor.mjs +63 -35
- package/dist/service-descriptor.mjs.map +1 -1
- package/dist/shared-deps.cjs +17 -16
- package/dist/shared-deps.cjs.map +1 -1
- package/dist/shared-deps.mjs +17 -16
- package/dist/shared-deps.mjs.map +1 -1
- package/dist/start-config-source.cjs +24 -0
- package/dist/start-config-source.cjs.map +1 -0
- package/dist/start-config-source.d.cts +29 -0
- package/dist/start-config-source.d.mts +29 -0
- package/dist/start-config-source.mjs +22 -0
- package/dist/start-config-source.mjs.map +1 -0
- package/dist/storage-upload.cjs +145 -0
- package/dist/storage-upload.cjs.map +1 -0
- package/dist/storage-upload.mjs +143 -0
- package/dist/storage-upload.mjs.map +1 -0
- package/dist/types.cjs +126 -20
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +867 -585
- package/dist/types.d.mts +867 -585
- package/dist/types.mjs +307 -208
- package/dist/types.mjs.map +1 -1
- package/dist/ui/api.cjs +105 -0
- package/dist/ui/api.cjs.map +1 -0
- package/dist/ui/api.d.cts +31 -0
- package/dist/ui/api.d.mts +31 -0
- package/dist/ui/api.mjs +99 -0
- package/dist/ui/api.mjs.map +1 -0
- package/dist/ui/auth-guards.cjs +50 -0
- package/dist/ui/auth-guards.cjs.map +1 -0
- package/dist/ui/auth-guards.d.cts +39 -0
- package/dist/ui/auth-guards.d.mts +39 -0
- package/dist/ui/auth-guards.mjs +48 -0
- package/dist/ui/auth-guards.mjs.map +1 -0
- package/dist/ui/auth.cjs +197 -0
- package/dist/ui/auth.cjs.map +1 -0
- package/dist/ui/auth.d.cts +56 -0
- package/dist/ui/auth.d.mts +56 -0
- package/dist/ui/auth.mjs +179 -0
- package/dist/ui/auth.mjs.map +1 -0
- package/dist/ui/entry.cjs +16 -0
- package/dist/ui/entry.cjs.map +1 -0
- package/dist/ui/entry.d.cts +12 -0
- package/dist/ui/entry.d.mts +12 -0
- package/dist/ui/entry.mjs +15 -0
- package/dist/ui/entry.mjs.map +1 -0
- package/dist/ui/head.cjs +14 -7
- package/dist/ui/head.cjs.map +1 -1
- package/dist/ui/head.mjs +15 -7
- package/dist/ui/head.mjs.map +1 -1
- package/dist/ui/hydrate.cjs +265 -0
- package/dist/ui/hydrate.cjs.map +1 -0
- package/dist/ui/hydrate.d.cts +48 -0
- package/dist/ui/hydrate.d.mts +48 -0
- package/dist/ui/hydrate.mjs +263 -0
- package/dist/ui/hydrate.mjs.map +1 -0
- package/dist/ui/i18n.cjs +153 -0
- package/dist/ui/i18n.cjs.map +1 -0
- package/dist/ui/i18n.d.cts +29 -0
- package/dist/ui/i18n.d.mts +29 -0
- package/dist/ui/i18n.mjs +140 -0
- package/dist/ui/i18n.mjs.map +1 -0
- package/dist/ui/index.cjs +19 -1
- package/dist/ui/index.d.cts +6 -3
- package/dist/ui/index.d.mts +6 -3
- package/dist/ui/index.mjs +5 -2
- package/dist/ui/locale.cjs +53 -0
- package/dist/ui/locale.cjs.map +1 -0
- package/dist/ui/locale.d.cts +18 -0
- package/dist/ui/locale.d.mts +18 -0
- package/dist/ui/locale.mjs +49 -0
- package/dist/ui/locale.mjs.map +1 -0
- package/dist/ui/manifest/index.cjs +25 -0
- package/dist/ui/manifest/index.cjs.map +1 -0
- package/dist/ui/manifest/index.d.cts +9 -0
- package/dist/ui/manifest/index.d.mts +9 -0
- package/dist/ui/manifest/index.mjs +13 -0
- package/dist/ui/manifest/index.mjs.map +1 -0
- package/dist/ui/manifest-generator.cjs +8 -0
- package/dist/ui/manifest-generator.d.cts +1 -0
- package/dist/ui/manifest-generator.d.mts +1 -0
- package/dist/ui/manifest-generator.mjs +3 -0
- package/dist/ui/message-catalogs.cjs +8 -0
- package/dist/ui/message-catalogs.cjs.map +1 -0
- package/dist/ui/message-catalogs.d.cts +5 -0
- package/dist/ui/message-catalogs.d.mts +5 -0
- package/dist/ui/message-catalogs.mjs +8 -0
- package/dist/ui/message-catalogs.mjs.map +1 -0
- package/dist/ui/metadata.cjs +0 -1
- package/dist/ui/metadata.cjs.map +1 -1
- package/dist/ui/metadata.d.cts +1 -1
- package/dist/ui/metadata.d.mts +1 -1
- package/dist/ui/plugin-path.cjs +37 -0
- package/dist/ui/plugin-path.cjs.map +1 -0
- package/dist/ui/plugin-path.d.cts +25 -0
- package/dist/ui/plugin-path.d.mts +25 -0
- package/dist/ui/plugin-path.mjs +35 -0
- package/dist/ui/plugin-path.mjs.map +1 -0
- package/dist/ui/router-client.cjs +61 -0
- package/dist/ui/router-client.cjs.map +1 -0
- package/dist/ui/router-client.d.cts +20 -0
- package/dist/ui/router-client.d.mts +20 -0
- package/dist/ui/router-client.mjs +60 -0
- package/dist/ui/router-client.mjs.map +1 -0
- package/dist/ui/router-defaults.cjs +48 -0
- package/dist/ui/router-defaults.cjs.map +1 -0
- package/dist/ui/router-defaults.d.cts +8 -0
- package/dist/ui/router-defaults.d.mts +8 -0
- package/dist/ui/router-defaults.mjs +45 -0
- package/dist/ui/router-defaults.mjs.map +1 -0
- package/dist/ui/router-error.cjs +70 -0
- package/dist/ui/router-error.cjs.map +1 -0
- package/dist/ui/router-error.d.cts +19 -0
- package/dist/ui/router-error.d.mts +19 -0
- package/dist/ui/router-error.mjs +69 -0
- package/dist/ui/router-error.mjs.map +1 -0
- package/dist/ui/router-server.cjs +153 -0
- package/dist/ui/router-server.cjs.map +1 -0
- package/dist/ui/router-server.d.cts +38 -0
- package/dist/ui/router-server.d.mts +38 -0
- package/dist/ui/router-server.mjs +152 -0
- package/dist/ui/router-server.mjs.map +1 -0
- package/dist/ui/router.cjs +4 -16
- package/dist/ui/router.cjs.map +1 -1
- package/dist/ui/router.mjs +4 -15
- package/dist/ui/router.mjs.map +1 -1
- package/dist/ui/runtime.cjs +5 -1
- package/dist/ui/runtime.cjs.map +1 -1
- package/dist/ui/runtime.d.cts +2 -1
- package/dist/ui/runtime.d.mts +2 -1
- package/dist/ui/runtime.mjs +5 -1
- package/dist/ui/runtime.mjs.map +1 -1
- package/dist/ui/slot.cjs +34 -0
- package/dist/ui/slot.cjs.map +1 -0
- package/dist/ui/slot.d.cts +43 -0
- package/dist/ui/slot.d.mts +43 -0
- package/dist/ui/slot.mjs +34 -0
- package/dist/ui/slot.mjs.map +1 -0
- package/dist/ui/tenant.cjs +300 -0
- package/dist/ui/tenant.cjs.map +1 -0
- package/dist/ui/tenant.d.cts +122 -0
- package/dist/ui/tenant.d.mts +122 -0
- package/dist/ui/tenant.mjs +279 -0
- package/dist/ui/tenant.mjs.map +1 -0
- package/dist/ui/types.d.cts +32 -2
- package/dist/ui/types.d.mts +32 -2
- package/dist/ui/version-check.cjs +47 -0
- package/dist/ui/version-check.cjs.map +1 -0
- package/dist/ui/version-check.d.cts +23 -0
- package/dist/ui/version-check.d.mts +23 -0
- package/dist/ui/version-check.mjs +46 -0
- package/dist/ui/version-check.mjs.map +1 -0
- package/dist/utils/banner.cjs +2 -2
- package/dist/utils/banner.cjs.map +1 -1
- package/dist/utils/banner.mjs +2 -2
- package/dist/utils/banner.mjs.map +1 -1
- package/dist/utils/linkify.cjs +1 -1
- package/dist/utils/linkify.cjs.map +1 -1
- package/dist/utils/linkify.mjs +1 -0
- package/dist/utils/linkify.mjs.map +1 -1
- package/dist/utils/run.cjs +6 -6
- package/dist/utils/run.cjs.map +1 -1
- package/dist/utils/run.mjs +6 -6
- package/dist/utils/run.mjs.map +1 -1
- package/dist/utils/save-config.cjs +12 -0
- package/dist/utils/save-config.cjs.map +1 -1
- package/dist/utils/save-config.mjs +12 -0
- package/dist/utils/save-config.mjs.map +1 -1
- package/dist/utils/snapshot-hash.cjs +10 -0
- package/dist/utils/snapshot-hash.cjs.map +1 -0
- package/dist/utils/snapshot-hash.mjs +10 -0
- package/dist/utils/snapshot-hash.mjs.map +1 -0
- package/dist/utils/string.cjs +0 -1
- package/dist/utils/string.cjs.map +1 -1
- package/dist/utils/theme.cjs +30 -12
- package/dist/utils/theme.cjs.map +1 -1
- package/dist/utils/theme.mjs +30 -11
- package/dist/utils/theme.mjs.map +1 -1
- package/dist/version-manifest-deploy.cjs +50 -0
- package/dist/version-manifest-deploy.cjs.map +1 -0
- package/dist/version-manifest-deploy.mjs +49 -0
- package/dist/version-manifest-deploy.mjs.map +1 -0
- package/dist/version-manifest-resolve.cjs +42 -0
- package/dist/version-manifest-resolve.cjs.map +1 -0
- package/dist/version-manifest-resolve.d.cts +38 -0
- package/dist/version-manifest-resolve.d.mts +38 -0
- package/dist/version-manifest-resolve.mjs +40 -0
- package/dist/version-manifest-resolve.mjs.map +1 -0
- package/dist/version-status.cjs +18 -0
- package/dist/version-status.cjs.map +1 -0
- package/dist/version-status.d.cts +22 -0
- package/dist/version-status.d.mts +22 -0
- package/dist/version-status.mjs +17 -0
- package/dist/version-status.mjs.map +1 -0
- package/dist/workspace-catalog.cjs +53 -0
- package/dist/workspace-catalog.cjs.map +1 -0
- package/dist/workspace-catalog.mjs +51 -0
- package/dist/workspace-catalog.mjs.map +1 -0
- package/dist/workspace.cjs +237 -0
- package/dist/workspace.cjs.map +1 -0
- package/dist/workspace.mjs +233 -0
- package/dist/workspace.mjs.map +1 -0
- package/package.json +179 -27
- package/skills/add-a-route/SKILL.md +132 -0
- package/skills/api-and-auth/SKILL.md +87 -21
- package/skills/api-and-auth/references/middleware.md +1 -1
- package/skills/cli-reference/SKILL.md +48 -21
- package/skills/code-style/SKILL.md +8 -0
- package/skills/dev-workflow/SKILL.md +50 -26
- package/skills/extends-config/SKILL.md +31 -19
- package/skills/init-upgrade/SKILL.md +29 -16
- package/skills/plugin-development/SKILL.md +46 -112
- package/skills/plugin-development/references/database.md +82 -0
- package/skills/plugin-development/references/request-context.md +67 -0
- package/skills/publish-sync/SKILL.md +99 -22
- package/skills/registry/SKILL.md +82 -0
- package/skills/super-app/SKILL.md +25 -15
- package/skills/talk-to-the-app/SKILL.md +138 -0
- package/skills/ui-integration/SKILL.md +93 -11
- package/dist/cli/db-studio.cjs +0 -131
- package/dist/cli/db-studio.cjs.map +0 -1
- package/dist/cli/db-studio.mjs +0 -127
- package/dist/cli/db-studio.mjs.map +0 -1
- package/dist/cli/init.d.cts.map +0 -1
- package/dist/cli/init.d.mts.map +0 -1
- package/dist/components/dev-view.cjs +0 -309
- package/dist/components/dev-view.cjs.map +0 -1
- package/dist/components/dev-view.mjs +0 -309
- package/dist/components/dev-view.mjs.map +0 -1
- package/dist/components/streaming-view.cjs +0 -134
- package/dist/components/streaming-view.cjs.map +0 -1
- package/dist/components/streaming-view.mjs +0 -132
- package/dist/components/streaming-view.mjs.map +0 -1
- package/dist/config.d.cts.map +0 -1
- package/dist/config.d.mts.map +0 -1
- package/dist/contract.d.cts.map +0 -1
- package/dist/contract.d.mts.map +0 -1
- package/dist/contract.meta.d.cts.map +0 -1
- package/dist/contract.meta.d.mts.map +0 -1
- package/dist/dag.d.cts.map +0 -1
- package/dist/dag.d.mts.map +0 -1
- package/dist/db.cjs +0 -81
- package/dist/db.cjs.map +0 -1
- package/dist/db.d.cts +0 -30
- package/dist/db.d.cts.map +0 -1
- package/dist/db.d.mts +0 -30
- package/dist/db.d.mts.map +0 -1
- package/dist/db.mjs +0 -75
- package/dist/db.mjs.map +0 -1
- package/dist/fastkv.d.cts.map +0 -1
- package/dist/fastkv.d.mts.map +0 -1
- package/dist/integrity.d.cts.map +0 -1
- package/dist/integrity.d.mts.map +0 -1
- package/dist/merge.d.cts.map +0 -1
- package/dist/merge.d.mts.map +0 -1
- package/dist/mf.d.cts.map +0 -1
- package/dist/mf.d.mts.map +0 -1
- package/dist/plugin.d.cts.map +0 -1
- package/dist/plugin.d.mts.map +0 -1
- package/dist/service-descriptor.d.cts.map +0 -1
- package/dist/service-descriptor.d.mts.map +0 -1
- package/dist/types.d.cts.map +0 -1
- package/dist/types.d.mts.map +0 -1
- package/dist/ui/head.d.cts.map +0 -1
- package/dist/ui/head.d.mts.map +0 -1
- package/dist/ui/metadata.d.cts.map +0 -1
- package/dist/ui/metadata.d.mts.map +0 -1
- package/dist/ui/router.d.cts.map +0 -1
- package/dist/ui/router.d.mts.map +0 -1
- package/dist/ui/runtime.d.cts.map +0 -1
- package/dist/ui/runtime.d.mts.map +0 -1
- package/dist/ui/types.d.cts.map +0 -1
- package/dist/ui/types.d.mts.map +0 -1
package/dist/publish.cjs
CHANGED
|
@@ -1,28 +1,114 @@
|
|
|
1
1
|
const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_merge = require('./merge.cjs');
|
|
2
3
|
const require_fastkv = require('./fastkv.cjs');
|
|
3
4
|
const require_network = require('./network.cjs');
|
|
5
|
+
const require_version_manifest_resolve = require('./version-manifest-resolve.cjs');
|
|
4
6
|
const require_config = require('./config.cjs');
|
|
7
|
+
const require_resolution_session = require('./resolution/session.cjs');
|
|
8
|
+
const require_fingerprint = require('./fingerprint.cjs');
|
|
9
|
+
const require_integrity = require('./integrity.cjs');
|
|
10
|
+
const require_timing = require('./cli/timing.cjs');
|
|
5
11
|
const require_string = require('./utils/string.cjs');
|
|
6
12
|
const require_theme = require('./utils/theme.cjs');
|
|
7
13
|
const require_build = require('./build.cjs');
|
|
8
14
|
const require_code_artifacts = require('./code-artifacts.cjs');
|
|
9
|
-
const
|
|
15
|
+
const require_auth_session = require('./auth-session.cjs');
|
|
16
|
+
const require_cdn_deploy = require('./cdn-deploy.cjs');
|
|
17
|
+
const require_delegate_signer = require('./delegate-signer.cjs');
|
|
18
|
+
const require_rollback = require('./rollback.cjs');
|
|
19
|
+
const require_deploy_diff = require('./deploy-diff.cjs');
|
|
20
|
+
const require_near_signer = require('./near-signer.cjs');
|
|
21
|
+
const require_platform_deploy = require('./platform-deploy.cjs');
|
|
22
|
+
const require_storage_upload = require('./storage-upload.cjs');
|
|
23
|
+
const require_version_manifest_deploy = require('./version-manifest-deploy.cjs');
|
|
10
24
|
let node_fs = require("node:fs");
|
|
11
25
|
let node_path = require("node:path");
|
|
12
|
-
let effect = require("effect");
|
|
13
26
|
let node_process = require("node:process");
|
|
14
27
|
node_process = require_runtime.__toESM(node_process, 1);
|
|
28
|
+
let every_plugin_build_ui = require("every-plugin/build/ui");
|
|
15
29
|
|
|
16
30
|
//#region src/publish.ts
|
|
17
31
|
function sleep(ms) {
|
|
18
32
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
19
33
|
}
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
async function pinWorkspaceVersionManifest(input) {
|
|
35
|
+
if (!input.report) return void 0;
|
|
36
|
+
const versionManifest = require_version_manifest_deploy.composeWorkspaceVersionManifest({
|
|
37
|
+
report: input.report,
|
|
38
|
+
ssrReport: input.ssrReport,
|
|
39
|
+
integrityMap: input.integrityMap,
|
|
40
|
+
...input.files ? { files: input.files } : {}
|
|
41
|
+
});
|
|
42
|
+
if (!versionManifest) return void 0;
|
|
43
|
+
const manifestFile = `versions/${versionManifest.version}.json`;
|
|
44
|
+
const manifestUpload = await require_storage_upload.uploadBundle({
|
|
45
|
+
origin: input.origin,
|
|
46
|
+
apiKey: input.apiKey,
|
|
47
|
+
account: input.account,
|
|
48
|
+
gateway: input.gateway,
|
|
49
|
+
workspace: input.workspace,
|
|
50
|
+
files: [{
|
|
51
|
+
path: manifestFile,
|
|
52
|
+
bytes: new TextEncoder().encode(`${JSON.stringify(versionManifest, null, 2)}\n`)
|
|
53
|
+
}]
|
|
54
|
+
});
|
|
55
|
+
const manifestIntegrity = manifestUpload.integrity[manifestFile];
|
|
56
|
+
if (!manifestIntegrity) return void 0;
|
|
57
|
+
console.log(` ${require_theme.colors.dim(`${require_string.padRight("", 28)} version manifest ${manifestFile} (SRI pinned)`)}`);
|
|
58
|
+
return {
|
|
59
|
+
file: manifestFile,
|
|
60
|
+
integrity: manifestIntegrity,
|
|
61
|
+
storage: manifestUpload.storage
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* One workspace's upload leg with skip-unchanged diffing: resolve the previous
|
|
66
|
+
* manifest's `files` map, hash the local dist, upload only new/changed files,
|
|
67
|
+
* and return the merged per-file SRI map for the version manifest. Any failure
|
|
68
|
+
* to resolve the previous map degrades to a full upload.
|
|
69
|
+
*/
|
|
70
|
+
async function diffUploadWorkspace(input) {
|
|
71
|
+
const localSri = require_deploy_diff.localSriMap(input.files);
|
|
72
|
+
let uploadFiles = input.files;
|
|
73
|
+
let prevFiles;
|
|
74
|
+
if (input.previousPin) try {
|
|
75
|
+
const resolved = await require_version_manifest_resolve.resolveSlotVersion({
|
|
76
|
+
base: input.base,
|
|
77
|
+
pin: input.previousPin
|
|
78
|
+
});
|
|
79
|
+
if (resolved.files) {
|
|
80
|
+
const diff = require_deploy_diff.diffWorkspaceFiles(input.files, localSri, resolved.files);
|
|
81
|
+
prevFiles = resolved.files;
|
|
82
|
+
uploadFiles = diff.upload;
|
|
83
|
+
if (diff.skipped > 0) console.log(` ${require_theme.colors.dim(`${require_string.padRight(input.workspace, 28)} ${diff.skipped} unchanged file(s) — skipping (manifest diff)`)}`);
|
|
84
|
+
}
|
|
85
|
+
} catch {
|
|
86
|
+
console.log(` ${require_theme.colors.dim(`${require_string.padRight(input.workspace, 28)} previous manifest unusable — uploading everything`)}`);
|
|
87
|
+
}
|
|
88
|
+
console.log(` ${require_string.padRight(input.workspace, 28)} uploading ${uploadFiles.length} of ${input.files.length} files (${formatBundleMb(uploadFiles)}) → ${input.base}`);
|
|
89
|
+
const result = uploadFiles.length > 0 ? await require_storage_upload.uploadWorkspaceDist({
|
|
90
|
+
origin: input.origin,
|
|
91
|
+
apiKey: input.apiKey,
|
|
92
|
+
account: input.account,
|
|
93
|
+
gateway: input.gateway,
|
|
94
|
+
workspace: input.workspace,
|
|
95
|
+
files: uploadFiles
|
|
96
|
+
}) : {
|
|
97
|
+
stored: 0,
|
|
98
|
+
totalBytes: 0,
|
|
99
|
+
integrity: {},
|
|
100
|
+
storage: void 0
|
|
101
|
+
};
|
|
102
|
+
return {
|
|
103
|
+
result,
|
|
104
|
+
fileIntegrity: require_deploy_diff.mergedFileIntegrity(input.files, result.integrity, prevFiles),
|
|
105
|
+
uploaded: result.stored,
|
|
106
|
+
skipped: input.files.length - uploadFiles.length,
|
|
107
|
+
total: input.files.length
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function formatBundleMb(files) {
|
|
111
|
+
return `${(files.reduce((sum, file) => sum + file.bytes.byteLength, 0) / 1024 / 1024).toFixed(1)} MB`;
|
|
26
112
|
}
|
|
27
113
|
async function waitForPublishedConfig(opts) {
|
|
28
114
|
const envTimeoutMs = Number(node_process.default.env.BOS_PUBLISH_CONFIRMATION_TIMEOUT_MS);
|
|
@@ -33,7 +119,7 @@ async function waitForPublishedConfig(opts) {
|
|
|
33
119
|
let lastError;
|
|
34
120
|
while (Date.now() - startedAt < timeoutMs) {
|
|
35
121
|
try {
|
|
36
|
-
const verifiedConfig = await require_fastkv.fetchBosConfigFromFastKv(`bos://${opts.account}/${opts.gateway}
|
|
122
|
+
const verifiedConfig = await require_fastkv.fetchBosConfigFromFastKv(`bos://${opts.account}/${opts.gateway}`, opts.registry);
|
|
37
123
|
if (JSON.stringify(verifiedConfig) === JSON.stringify(opts.publishConfig)) return;
|
|
38
124
|
} catch (error) {
|
|
39
125
|
lastError = error;
|
|
@@ -43,45 +129,142 @@ async function waitForPublishedConfig(opts) {
|
|
|
43
129
|
const reason = lastError instanceof Error ? ` Last error: ${lastError.message}` : "";
|
|
44
130
|
throw new Error(`Timed out waiting for publish confirmation at bos://${opts.account}/${opts.gateway}.${reason}`);
|
|
45
131
|
}
|
|
46
|
-
async function
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
132
|
+
async function isConfigAlreadyPublished(opts) {
|
|
133
|
+
try {
|
|
134
|
+
const current = await require_fastkv.fetchBosConfigFromFastKv(`bos://${opts.account}/${opts.gateway}`, opts.registry);
|
|
135
|
+
return JSON.stringify(current) === JSON.stringify(opts.publishConfig);
|
|
136
|
+
} catch {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
async function preflightPublish(input) {
|
|
141
|
+
const { configDir } = input;
|
|
142
|
+
const bosConfig = input.bosConfig;
|
|
143
|
+
const isStaging = input.env === "staging";
|
|
144
|
+
const account = isStaging ? bosConfig.staging?.account ?? bosConfig.account : bosConfig.account;
|
|
52
145
|
const gateway = isStaging ? bosConfig.staging?.domain ?? bosConfig.domain : bosConfig.domain;
|
|
53
146
|
if (!gateway) return {
|
|
54
|
-
|
|
147
|
+
kind: "error",
|
|
55
148
|
registryUrl: "",
|
|
56
|
-
error: "
|
|
149
|
+
error: "authored config must define domain to publish"
|
|
57
150
|
};
|
|
58
151
|
const network = input.network ?? require_network.getNetworkIdForAccount(account);
|
|
59
|
-
const registryUrl = require_fastkv.buildRegistryConfigUrlForNetwork(network, account, gateway);
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
let skipped;
|
|
63
|
-
let deployResults;
|
|
64
|
-
if (dryRun) return {
|
|
65
|
-
status: "dry-run",
|
|
152
|
+
const registryUrl = require_fastkv.buildRegistryConfigUrlForNetwork(network, account, gateway, input.registry);
|
|
153
|
+
const fail = (error) => ({
|
|
154
|
+
kind: "error",
|
|
66
155
|
registryUrl,
|
|
67
|
-
|
|
68
|
-
|
|
156
|
+
error
|
|
157
|
+
});
|
|
158
|
+
const publishAuth = bosConfig.publish?.auth;
|
|
159
|
+
if ((publishAuth === "session" || input.wallet) && !input.privateKey) {
|
|
160
|
+
const session = require_auth_session.readSessionHandle(configDir);
|
|
161
|
+
if (!session?.credential) return fail((input.wallet ? "--wallet requires" : "the authored config sets publish.auth = \"session\", but") + " no CLI session is stored in .bos/ for this project. Run bos login to create one.");
|
|
162
|
+
if (session.credential.accountId && session.credential.accountId !== account) return fail(`The CLI session was created for ${session.credential.accountId}, but the configured account is ${account}. Gasless wallet publish relays the FastKV write under the session's NEAR account. Run bos login again under the matching account.`);
|
|
163
|
+
}
|
|
164
|
+
if (publishAuth && !input.privateKey) {
|
|
165
|
+
if (publishAuth === "custody") return fail("the authored config sets publish.auth = \"custody\", but custody publish is not implemented yet (see NEARBuilders/everything-dev#291).");
|
|
166
|
+
}
|
|
167
|
+
if (input.dryRun) return {
|
|
168
|
+
kind: "dry-run",
|
|
169
|
+
registryUrl
|
|
170
|
+
};
|
|
171
|
+
const useWallet = input.wallet === true;
|
|
172
|
+
let strategy;
|
|
173
|
+
if (useWallet) console.log(` Signing via ${require_theme.colors.cyan("gasless NEP-366 delegate action (relayed by the platform relayer)")}`);
|
|
174
|
+
else try {
|
|
175
|
+
strategy = await require_near_signer.resolveSigningStrategy({
|
|
176
|
+
privateKey: input.privateKey,
|
|
177
|
+
account,
|
|
178
|
+
network
|
|
179
|
+
});
|
|
180
|
+
console.log(` Signing via ${require_theme.colors.cyan(require_near_signer.describeSigningStrategy(strategy))}`);
|
|
181
|
+
} catch (error) {
|
|
182
|
+
return fail(error instanceof Error ? error.message : "Unknown error");
|
|
183
|
+
}
|
|
184
|
+
const session = require_auth_session.readSessionHandle(configDir);
|
|
185
|
+
let cdnDeploy = {
|
|
186
|
+
cdnOrigin: void 0,
|
|
187
|
+
storageOrigin: "",
|
|
188
|
+
apiKey: void 0
|
|
69
189
|
};
|
|
70
|
-
|
|
71
|
-
|
|
190
|
+
if (input.build) {
|
|
191
|
+
cdnDeploy = require_cdn_deploy.resolveCdnDeployInputs({
|
|
192
|
+
env: node_process.default.env,
|
|
193
|
+
bosConfig,
|
|
194
|
+
session: session?.credential ?? null,
|
|
195
|
+
account,
|
|
196
|
+
gateway,
|
|
197
|
+
uploadsPlanned: input.build
|
|
198
|
+
});
|
|
199
|
+
if (cdnDeploy.error) return fail(cdnDeploy.error);
|
|
200
|
+
if (cdnDeploy.warning) console.log(require_theme.colors.yellow(` ! ${cdnDeploy.warning}`));
|
|
201
|
+
if (!cdnDeploy.cdnOrigin) return fail("CDN deploy resolved no bundle origin");
|
|
202
|
+
const probeError = await require_cdn_deploy.probeStorageOrigin(cdnDeploy.storageOrigin);
|
|
203
|
+
if (probeError) return fail(`The bundle upload origin ${cdnDeploy.storageOrigin} is not running the platform API — ${probeError}. Check BOS_STORAGE_ORIGIN / the bos login session, then re-run.`);
|
|
204
|
+
}
|
|
205
|
+
let publishedConfig = null;
|
|
206
|
+
let publishedConfigState = "missing";
|
|
72
207
|
try {
|
|
73
|
-
|
|
208
|
+
publishedConfig = await require_fastkv.fetchBosConfigFromFastKv(registryUrl, input.registry);
|
|
209
|
+
publishedConfigState = "fetched";
|
|
74
210
|
} catch (error) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
211
|
+
if ((error instanceof Error ? error.message : String(error)).startsWith("No config found")) console.log(require_theme.colors.dim(" Note: no published config found yet (first publish) — continuing"));
|
|
212
|
+
else {
|
|
213
|
+
publishedConfigState = "unreachable";
|
|
214
|
+
console.log(require_theme.colors.dim(" Note: registry read failed — continuing"));
|
|
215
|
+
}
|
|
80
216
|
}
|
|
217
|
+
return {
|
|
218
|
+
kind: "ready",
|
|
219
|
+
plan: {
|
|
220
|
+
isStaging,
|
|
221
|
+
account,
|
|
222
|
+
gateway,
|
|
223
|
+
network,
|
|
224
|
+
registryUrl,
|
|
225
|
+
registryNamespace: require_fastkv.getRegistryNamespaceForNetwork(network, input.registry),
|
|
226
|
+
targets: require_build.selectWorkspaceTargets(input.packages, bosConfig),
|
|
227
|
+
useWallet,
|
|
228
|
+
strategy,
|
|
229
|
+
cdnOrigin: cdnDeploy.cdnOrigin,
|
|
230
|
+
storageOrigin: cdnDeploy.storageOrigin,
|
|
231
|
+
storageApiKey: cdnDeploy.apiKey,
|
|
232
|
+
publishedConfig,
|
|
233
|
+
publishedConfigState
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* The deploy-train publish core (ADR 0020, as amended): preflight
|
|
239
|
+
* (storage/CDN creds + signing) fails fast before the build, then build →
|
|
240
|
+
* upload → version-manifest pin → config write-back → FastKV publish +
|
|
241
|
+
* read-back. Scoped to one plugin via `packages`, a single-plugin redeploy
|
|
242
|
+
* ships real bytes to the storage origin — same as the full train, nothing
|
|
243
|
+
* image-native left.
|
|
244
|
+
*/
|
|
245
|
+
async function publishToFastKv(input) {
|
|
246
|
+
const preflight = await preflightPublish(input);
|
|
247
|
+
if (preflight.kind === "error") return {
|
|
248
|
+
status: "error",
|
|
249
|
+
registryUrl: preflight.registryUrl,
|
|
250
|
+
error: preflight.error
|
|
251
|
+
};
|
|
252
|
+
if (preflight.kind === "dry-run") return {
|
|
253
|
+
status: "dry-run",
|
|
254
|
+
registryUrl: preflight.registryUrl
|
|
255
|
+
};
|
|
256
|
+
const plan = preflight.plan;
|
|
257
|
+
const { isStaging, account, gateway, network, registryUrl, registryNamespace, targets, useWallet, strategy } = plan;
|
|
258
|
+
const storageOrigin = plan.storageOrigin;
|
|
259
|
+
const storageApiKey = plan.storageApiKey;
|
|
260
|
+
const { configDir } = input;
|
|
261
|
+
let bosConfig = input.bosConfig;
|
|
262
|
+
const runtimeConfig = input.runtimeConfig;
|
|
263
|
+
let built;
|
|
264
|
+
let skipped;
|
|
265
|
+
let deployResults;
|
|
266
|
+
let refreshedRawConfig = null;
|
|
81
267
|
if (input.build) {
|
|
82
|
-
console.log(" Ensuring NEAR CLI...");
|
|
83
|
-
await effect.Effect.runPromise(require_near_cli.ensureNearCli);
|
|
84
|
-
console.log(" NEAR CLI ready");
|
|
85
268
|
await require_code_artifacts.generateCodeArtifacts(configDir, bosConfig, {
|
|
86
269
|
env: "production",
|
|
87
270
|
runtimeConfig: runtimeConfig ?? void 0
|
|
@@ -123,71 +306,324 @@ async function publishToFastKv(input) {
|
|
|
123
306
|
};
|
|
124
307
|
}
|
|
125
308
|
}
|
|
126
|
-
const refreshed = await
|
|
309
|
+
const refreshed = await require_resolution_session.openResolution({ cwd: configDir });
|
|
127
310
|
if (!refreshed?.config) return {
|
|
128
311
|
status: "error",
|
|
129
312
|
registryUrl,
|
|
130
313
|
built,
|
|
131
314
|
skipped,
|
|
132
315
|
deployResults,
|
|
133
|
-
error: "Failed to reload
|
|
316
|
+
error: "Failed to reload the config after build"
|
|
134
317
|
};
|
|
135
318
|
bosConfig = refreshed.config;
|
|
319
|
+
refreshedRawConfig = refreshed.rawConfig;
|
|
136
320
|
}
|
|
137
|
-
const
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
321
|
+
const authoredPath = require_config.findConfigPath(configDir);
|
|
322
|
+
const tsForm = authoredPath !== null && require_config.isAppDescriptorPath(authoredPath);
|
|
323
|
+
let rawConfig;
|
|
324
|
+
if (refreshedRawConfig) rawConfig = refreshedRawConfig;
|
|
325
|
+
else {
|
|
326
|
+
const opened = await require_resolution_session.openResolution({ cwd: configDir });
|
|
327
|
+
if (!opened?.rawConfig) return {
|
|
328
|
+
status: "error",
|
|
329
|
+
registryUrl,
|
|
330
|
+
built,
|
|
331
|
+
skipped,
|
|
332
|
+
deployResults,
|
|
333
|
+
error: "Failed to load the authored config for publish"
|
|
334
|
+
};
|
|
335
|
+
rawConfig = opened.rawConfig;
|
|
336
|
+
}
|
|
337
|
+
if (tsForm && !input.build && plan.publishedConfigState === "unreachable") return {
|
|
338
|
+
status: "error",
|
|
339
|
+
registryUrl,
|
|
340
|
+
built,
|
|
341
|
+
skipped,
|
|
342
|
+
deployResults,
|
|
343
|
+
error: "Cannot read the currently published config from the registry — a config-only publish would overwrite live bundle URLs. Retry when the registry is reachable, or run a full deploy."
|
|
344
|
+
};
|
|
345
|
+
let publishPayload = tsForm && !input.build ? require_merge.mergeAuthoredOverPublished(plan.publishedConfig ?? {}, rawConfig) : rawConfig;
|
|
346
|
+
const urlOrigin = plan.cdnOrigin ?? `https://${gateway}`;
|
|
347
|
+
const deployTargets = (built ?? []).filter((key) => targets.includes(key));
|
|
348
|
+
const platformEntries = [];
|
|
349
|
+
const prevPins = input.fullUpload === true || node_process.default.env.BOS_FULL_UPLOAD === "1" ? {} : {
|
|
350
|
+
...require_deploy_diff.pinsFromPublishedConfig(plan.publishedConfig ?? {}, account, gateway),
|
|
351
|
+
...require_deploy_diff.pinsFromDeployState(configDir, account, gateway)
|
|
352
|
+
};
|
|
353
|
+
console.log();
|
|
354
|
+
console.log(` CDN deploy — uploading workspace dists to ${storageOrigin}...`);
|
|
355
|
+
for (const key of deployTargets) {
|
|
356
|
+
const ws = require_build.resolveWorkspaceTarget(key, bosConfig, runtimeConfig, configDir);
|
|
357
|
+
if (!ws) continue;
|
|
358
|
+
const distFiles = await require_storage_upload.collectDistFiles((0, node_path.join)(ws.path, "dist"));
|
|
359
|
+
const workspaceBase = `${urlOrigin}/bundles/${account}/${gateway}/${key}/`;
|
|
360
|
+
const startedAt = Date.now();
|
|
361
|
+
let outcome;
|
|
362
|
+
try {
|
|
363
|
+
outcome = await diffUploadWorkspace({
|
|
364
|
+
origin: storageOrigin,
|
|
365
|
+
apiKey: storageApiKey,
|
|
366
|
+
account,
|
|
367
|
+
gateway,
|
|
368
|
+
workspace: key,
|
|
369
|
+
files: distFiles,
|
|
370
|
+
base: workspaceBase,
|
|
371
|
+
previousPin: prevPins[key]
|
|
372
|
+
});
|
|
373
|
+
} catch (error) {
|
|
374
|
+
return {
|
|
375
|
+
status: "error",
|
|
376
|
+
registryUrl,
|
|
377
|
+
built,
|
|
378
|
+
skipped,
|
|
379
|
+
deployResults,
|
|
380
|
+
error: error instanceof Error ? error.message : `[publish] bundle upload for ${key} failed`
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
const report = require_version_manifest_deploy.readBuildReport((0, node_path.join)(ws.path, "dist"));
|
|
384
|
+
const ssrReport = require_version_manifest_deploy.readBuildReport((0, node_path.join)(ws.path, "dist", "ssr"));
|
|
385
|
+
const integrity = report ? outcome.fileIntegrity[report.entry] : void 0;
|
|
386
|
+
const ssrIntegrity = ssrReport?.entry ? outcome.fileIntegrity[`ssr/${ssrReport.entry}`] : void 0;
|
|
387
|
+
const manifestPointer = await pinWorkspaceVersionManifest({
|
|
388
|
+
origin: storageOrigin,
|
|
389
|
+
apiKey: storageApiKey,
|
|
390
|
+
account,
|
|
391
|
+
gateway,
|
|
392
|
+
workspace: key,
|
|
393
|
+
report,
|
|
394
|
+
ssrReport,
|
|
395
|
+
integrityMap: outcome.fileIntegrity,
|
|
396
|
+
files: outcome.fileIntegrity
|
|
397
|
+
});
|
|
398
|
+
if (!manifestPointer) return {
|
|
399
|
+
status: "error",
|
|
400
|
+
registryUrl,
|
|
401
|
+
built,
|
|
402
|
+
skipped,
|
|
403
|
+
deployResults,
|
|
404
|
+
error: `bundle upload for ${key}: version manifest missing — the dist predates hashed entry names (rebuild required; atomic-deploys hard break)`
|
|
405
|
+
};
|
|
406
|
+
if (outcome.result.storage === "memory" || manifestPointer.storage === "memory") return {
|
|
407
|
+
status: "error",
|
|
408
|
+
registryUrl,
|
|
409
|
+
built,
|
|
410
|
+
skipped,
|
|
411
|
+
deployResults,
|
|
412
|
+
error: "The receiving instance is serving bundle storage from memory (BOS_STORAGE_* R2 credentials are not configured there) — uploaded bytes would be lost on restart. Aborting before publish."
|
|
413
|
+
};
|
|
414
|
+
console.log(` ${require_theme.colors.green(require_theme.icons.ok)} ${require_string.padRight(key, 28)} → ${urlOrigin}/bundles/${account}/${gateway}/${key}/ (${outcome.uploaded} uploaded, ${outcome.skipped} skipped, ${require_timing.formatDuration(Date.now() - startedAt)})`);
|
|
415
|
+
platformEntries.push(...require_platform_deploy.platformUrlDeployEntries({
|
|
416
|
+
origin: urlOrigin,
|
|
417
|
+
account,
|
|
418
|
+
gateway,
|
|
419
|
+
key,
|
|
420
|
+
kind: ws.kind,
|
|
421
|
+
integrity,
|
|
422
|
+
ssrIntegrity,
|
|
423
|
+
pin: manifestPointer
|
|
424
|
+
}));
|
|
425
|
+
if ((0, every_plugin_build_ui.hasFolderFormUi)(ws.path)) {
|
|
426
|
+
const uiDistDir = (0, node_path.join)(ws.path, "ui", "dist");
|
|
427
|
+
const rawUi = ((ws.kind === "app" ? "app" : "plugins") === "app" ? rawConfig.app : rawConfig.plugins)?.[key]?.ui;
|
|
428
|
+
const uiName = require_config.resolveUiRuntimeName(rawUi, (0, node_path.join)(ws.path, "ui"), key);
|
|
429
|
+
let uiIntegrity;
|
|
430
|
+
let uiSsrIntegrity;
|
|
431
|
+
let uiManifestPointer;
|
|
432
|
+
if ((0, node_fs.existsSync)(uiDistDir)) {
|
|
433
|
+
const uiDistFiles = await require_storage_upload.collectDistFiles(uiDistDir);
|
|
434
|
+
const uiStartedAt = Date.now();
|
|
435
|
+
const uiOutcome = await diffUploadWorkspace({
|
|
436
|
+
origin: storageOrigin,
|
|
437
|
+
apiKey: storageApiKey,
|
|
438
|
+
account,
|
|
439
|
+
gateway,
|
|
440
|
+
workspace: `${key}-ui`,
|
|
441
|
+
files: uiDistFiles,
|
|
442
|
+
base: `${urlOrigin}/bundles/${account}/${gateway}/${key}-ui/`,
|
|
443
|
+
previousPin: prevPins[`${key}-ui`]
|
|
444
|
+
});
|
|
445
|
+
const uiReport = require_version_manifest_deploy.readBuildReport(uiDistDir);
|
|
446
|
+
const uiSsrReport = require_version_manifest_deploy.readBuildReport((0, node_path.join)(uiDistDir, "ssr"));
|
|
447
|
+
uiIntegrity = uiReport ? uiOutcome.fileIntegrity[uiReport.entry] : void 0;
|
|
448
|
+
uiSsrIntegrity = uiSsrReport?.entry ? uiOutcome.fileIntegrity[`ssr/${uiSsrReport.entry}`] : void 0;
|
|
449
|
+
uiManifestPointer = await pinWorkspaceVersionManifest({
|
|
450
|
+
origin: storageOrigin,
|
|
451
|
+
apiKey: storageApiKey,
|
|
452
|
+
account,
|
|
453
|
+
gateway,
|
|
454
|
+
workspace: `${key}-ui`,
|
|
455
|
+
report: uiReport,
|
|
456
|
+
ssrReport: uiSsrReport,
|
|
457
|
+
integrityMap: uiOutcome.fileIntegrity,
|
|
458
|
+
files: uiOutcome.fileIntegrity
|
|
459
|
+
});
|
|
460
|
+
if (!uiManifestPointer) return {
|
|
461
|
+
status: "error",
|
|
462
|
+
registryUrl,
|
|
463
|
+
built,
|
|
464
|
+
skipped,
|
|
465
|
+
deployResults,
|
|
466
|
+
error: `bundle upload for ${key}-ui: version manifest missing — the dist predates hashed entry names (rebuild required; atomic-deploys hard break)`
|
|
467
|
+
};
|
|
468
|
+
if (uiOutcome.result.storage === "memory" || uiManifestPointer.storage === "memory") return {
|
|
469
|
+
status: "error",
|
|
470
|
+
registryUrl,
|
|
471
|
+
built,
|
|
472
|
+
skipped,
|
|
473
|
+
deployResults,
|
|
474
|
+
error: "The receiving instance is serving bundle storage from memory (BOS_STORAGE_* R2 credentials are not configured there) — uploaded bytes would be lost on restart. Aborting before publish."
|
|
475
|
+
};
|
|
476
|
+
console.log(` ${require_theme.colors.green(require_theme.icons.ok)} ${require_string.padRight(`${key}-ui`, 28)} → ${urlOrigin}/bundles/${account}/${gateway}/${key}-ui/ (${uiOutcome.uploaded} uploaded, ${uiOutcome.skipped} skipped, ${require_timing.formatDuration(Date.now() - uiStartedAt)})`);
|
|
477
|
+
} else console.log(` ${require_theme.colors.green(require_theme.icons.ok)} ${require_string.padRight(`${key}-ui`, 28)} → ${urlOrigin}/bundles/${account}/${gateway}/${key}-ui/`);
|
|
478
|
+
platformEntries.push(...require_platform_deploy.pluginUiUrlDeployEntries({
|
|
479
|
+
origin: urlOrigin,
|
|
480
|
+
account,
|
|
481
|
+
gateway,
|
|
482
|
+
key,
|
|
483
|
+
kind: ws.kind,
|
|
484
|
+
integrity: uiIntegrity,
|
|
485
|
+
ssrIntegrity: uiSsrIntegrity,
|
|
486
|
+
name: uiName,
|
|
487
|
+
pin: uiManifestPointer
|
|
488
|
+
}));
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
if (platformEntries.length > 0) {
|
|
492
|
+
const merged = require_integrity.applyDeployResults(rawConfig, platformEntries);
|
|
493
|
+
if (!tsForm) try {
|
|
494
|
+
(0, node_fs.writeFileSync)((0, node_path.join)(configDir, "bos.config.json"), `${JSON.stringify(merged, null, 2)}\n`);
|
|
495
|
+
} catch (error) {
|
|
496
|
+
return {
|
|
497
|
+
status: "error",
|
|
498
|
+
registryUrl,
|
|
499
|
+
built,
|
|
500
|
+
skipped,
|
|
501
|
+
deployResults,
|
|
502
|
+
error: `Failed to write bundle URLs to bos.config.json: ${error instanceof Error ? error.message : error}`
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
publishPayload = merged;
|
|
506
|
+
}
|
|
507
|
+
if (isStaging) publishPayload = {
|
|
508
|
+
...publishPayload,
|
|
141
509
|
domain: gateway
|
|
142
|
-
}
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
510
|
+
};
|
|
511
|
+
const pinVerification = await require_rollback.verifyRollbackSnapshot(publishPayload);
|
|
512
|
+
if (pinVerification.verifiable && !pinVerification.ok) {
|
|
513
|
+
const failures = pinVerification.slots.filter((check) => !check.ok).map((check) => ` ${check.slot}: ${check.reason}`).join("\n");
|
|
514
|
+
console.error(` ${require_theme.colors.error(require_theme.icons.err)} Publish blocked — a pinned slot's bytes do not serve at its production URL:\n${failures}`);
|
|
515
|
+
return {
|
|
516
|
+
status: "error",
|
|
517
|
+
registryUrl,
|
|
518
|
+
built,
|
|
519
|
+
skipped,
|
|
520
|
+
deployResults,
|
|
521
|
+
error: `Publish blocked — pinned slot bytes missing or SRI mismatched:\n${failures}`
|
|
522
|
+
};
|
|
523
|
+
}
|
|
524
|
+
const registryKey = `apps/${account}/${gateway}/bos.config.json`;
|
|
525
|
+
const publishedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
526
|
+
const fingerprint = require_fingerprint.pointerFingerprint(publishPayload);
|
|
527
|
+
const publishSlotPins = require_fingerprint.slotPins(publishPayload);
|
|
528
|
+
const registryEntries = { [registryKey]: JSON.stringify(publishPayload) };
|
|
529
|
+
const manifestKey = `apps/${account}/${gateway}/manifests/${publishedAt.replace(/[:.]/g, "-")}.json`;
|
|
530
|
+
registryEntries[manifestKey] = JSON.stringify({
|
|
531
|
+
account,
|
|
532
|
+
gateway,
|
|
533
|
+
network,
|
|
534
|
+
publishedAt,
|
|
535
|
+
registryUrl
|
|
536
|
+
});
|
|
146
537
|
console.log();
|
|
147
538
|
console.log(" Publishing to:");
|
|
148
539
|
console.log(` ${require_theme.colors.cyan(registryUrl)}`);
|
|
540
|
+
console.log(` ${require_theme.colors.dim("Fingerprint:")} ${fingerprint}`);
|
|
541
|
+
for (const [slot, pin] of Object.entries(publishSlotPins)) {
|
|
542
|
+
console.log(` ${require_theme.colors.dim(`${slot}:`)}`);
|
|
543
|
+
console.log(` ${pin}`);
|
|
544
|
+
}
|
|
545
|
+
console.log(` ${require_theme.colors.dim(`+ per-deploy manifest ${manifestKey.split("/").pop()} (audit trail)`)}`);
|
|
546
|
+
const persistDeployState = () => {
|
|
547
|
+
try {
|
|
548
|
+
const pins = require_deploy_diff.pinsFromPublishedConfig(publishPayload, account, gateway);
|
|
549
|
+
if (Object.keys(pins).length > 0) require_deploy_diff.upsertDeployStatePins(configDir, account, gateway, pins);
|
|
550
|
+
} catch (error) {
|
|
551
|
+
console.log(require_theme.colors.dim(` Note: could not update .bos/deploy-state.json — ${error instanceof Error ? error.message : String(error)}`));
|
|
552
|
+
}
|
|
553
|
+
};
|
|
149
554
|
try {
|
|
150
|
-
|
|
555
|
+
if (await isConfigAlreadyPublished({
|
|
556
|
+
account,
|
|
557
|
+
gateway,
|
|
558
|
+
publishConfig: publishPayload,
|
|
559
|
+
registry: input.registry
|
|
560
|
+
})) {
|
|
561
|
+
console.log(" Already up to date — skipping transaction");
|
|
562
|
+
persistDeployState();
|
|
563
|
+
return {
|
|
564
|
+
status: "published",
|
|
565
|
+
registryUrl,
|
|
566
|
+
built,
|
|
567
|
+
skipped,
|
|
568
|
+
deployResults,
|
|
569
|
+
publishConfig: publishPayload
|
|
570
|
+
};
|
|
571
|
+
}
|
|
151
572
|
console.log(` Submitting transaction on ${network}...`);
|
|
152
|
-
|
|
153
|
-
|
|
573
|
+
let result;
|
|
574
|
+
if (useWallet) {
|
|
575
|
+
const credential = require_auth_session.readSessionHandle(configDir)?.credential;
|
|
576
|
+
if (!credential || credential.accountId !== account) return {
|
|
577
|
+
status: "error",
|
|
578
|
+
registryUrl,
|
|
579
|
+
error: `--wallet requires a CLI session under ${account}. Run bos login first.`
|
|
580
|
+
};
|
|
581
|
+
const record = await require_delegate_signer.ensureDelegateKey({
|
|
582
|
+
configDir,
|
|
583
|
+
account,
|
|
584
|
+
contract: registryNamespace,
|
|
585
|
+
network,
|
|
586
|
+
siteUrl: credential.siteUrl
|
|
587
|
+
});
|
|
588
|
+
result = await require_delegate_signer.submitRegistryWriteDelegated({
|
|
154
589
|
account,
|
|
155
|
-
contract:
|
|
590
|
+
contract: registryNamespace,
|
|
591
|
+
network,
|
|
592
|
+
args: registryEntries,
|
|
593
|
+
delegatePrivateKey: record.privateKey,
|
|
594
|
+
relayEndpoint: `${credential.siteUrl}/api/auth/near/relay`,
|
|
595
|
+
apiKey: credential.apiKey
|
|
596
|
+
});
|
|
597
|
+
} else {
|
|
598
|
+
if (!strategy) return {
|
|
599
|
+
status: "error",
|
|
600
|
+
registryUrl,
|
|
601
|
+
error: "non-wallet publish requires a resolved signing strategy"
|
|
602
|
+
};
|
|
603
|
+
result = await require_near_signer.submitRegistryWrite({
|
|
604
|
+
account,
|
|
605
|
+
contract: registryNamespace,
|
|
156
606
|
method: "__fastdata_kv",
|
|
157
|
-
|
|
607
|
+
args: registryEntries,
|
|
158
608
|
network,
|
|
159
|
-
privateKey:
|
|
160
|
-
|
|
161
|
-
deposit: "0NEAR",
|
|
162
|
-
verbose: input.verbose
|
|
163
|
-
}, signingMode));
|
|
164
|
-
txHash = tx.txHash;
|
|
165
|
-
if (txHash && !tx.output?.includes("CodeDoesNotExist")) console.log(` Transaction submitted: ${require_theme.colors.dim(txHash)}`);
|
|
166
|
-
} catch (error) {
|
|
167
|
-
console.log(require_theme.colors.dim(" Transaction reported an error — verifying publish..."));
|
|
168
|
-
try {
|
|
169
|
-
await waitForPublishedConfig({
|
|
170
|
-
account,
|
|
171
|
-
gateway,
|
|
172
|
-
publishConfig: publishPayload,
|
|
173
|
-
timeoutMs: 3e4,
|
|
174
|
-
intervalMs: 2e3
|
|
175
|
-
});
|
|
176
|
-
txHash = extractTransactionHash(error);
|
|
177
|
-
} catch {
|
|
178
|
-
throw error;
|
|
179
|
-
}
|
|
609
|
+
privateKey: input.privateKey
|
|
610
|
+
}, strategy);
|
|
180
611
|
}
|
|
612
|
+
if (result.txHash) console.log(` Transaction submitted: ${require_theme.colors.dim(result.txHash)}`);
|
|
181
613
|
console.log(" Waiting for publish confirmation...");
|
|
182
614
|
await waitForPublishedConfig({
|
|
183
615
|
account,
|
|
184
616
|
gateway,
|
|
185
|
-
publishConfig: publishPayload
|
|
617
|
+
publishConfig: publishPayload,
|
|
618
|
+
registry: input.registry
|
|
186
619
|
});
|
|
620
|
+
persistDeployState();
|
|
187
621
|
return {
|
|
188
622
|
status: "published",
|
|
189
623
|
registryUrl,
|
|
190
|
-
txHash,
|
|
624
|
+
txHash: result.txHash,
|
|
625
|
+
fingerprint,
|
|
626
|
+
slotPins: publishSlotPins,
|
|
191
627
|
built,
|
|
192
628
|
skipped,
|
|
193
629
|
deployResults,
|
|
@@ -214,12 +650,10 @@ function formatNearError(error) {
|
|
|
214
650
|
if (message.includes("timeout") || message.includes("Timeout")) return `Transaction timed out. Check NEAR network status.\n Original: ${message}`;
|
|
215
651
|
return message;
|
|
216
652
|
}
|
|
217
|
-
function extractTransactionHash(error) {
|
|
218
|
-
return (error instanceof Error ? error.message : String(error)).match(/Transaction ID:\s*([A-Za-z0-9]+)/i)?.[1];
|
|
219
|
-
}
|
|
220
653
|
|
|
221
654
|
//#endregion
|
|
222
|
-
exports.
|
|
655
|
+
exports.isConfigAlreadyPublished = isConfigAlreadyPublished;
|
|
656
|
+
exports.preflightPublish = preflightPublish;
|
|
223
657
|
exports.publishToFastKv = publishToFastKv;
|
|
224
658
|
exports.waitForPublishedConfig = waitForPublishedConfig;
|
|
225
659
|
//# sourceMappingURL=publish.cjs.map
|