everything-dev 1.53.2 → 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-artifacts.mjs","names":[],"sources":["../src/code-artifacts.ts"],"sourcesContent":["import { join } from \"node:path\";\nimport { type ContractBridgeStatus, syncApiContractBridge } from \"./api-contract\";\nimport {
|
|
1
|
+
{"version":3,"file":"code-artifacts.mjs","names":[],"sources":["../src/code-artifacts.ts"],"sourcesContent":["import { existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { Effect, Schema } from \"effect\";\nimport { emitCoreUiStubs } from \"every-plugin/build/ui\";\nimport { CORE_UI_PLUGIN_KEY } from \"every-plugin/ui/manifest\";\nimport { generateUiManifest } from \"every-plugin/ui/manifest-generator\";\nimport { type ContractBridgeStatus, syncApiContractBridge } from \"./api-contract\";\nimport { writeResolvedConfig } from \"./config\";\nimport type { BosEnv } from \"./merge\";\nimport { openResolution } from \"./resolution/session\";\nimport type { BosConfig, RuntimeConfig } from \"./types\";\n\nexport class ArtifactGenError extends Schema.TaggedError<ArtifactGenError>()(\"ArtifactGenError\", {\n phase: Schema.String,\n cause: Schema.optional(Schema.Unknown),\n}) {}\n\ninterface GeneratedArtifacts {\n resolvedConfigPath?: string;\n contractBridgePath: string;\n}\n\ninterface UiManifestTarget {\n workspaceRoot: string;\n pluginName: string;\n emitRouteTree: boolean;\n}\n\nfunction uiManifestTargets(runtimeConfig: RuntimeConfig): UiManifestTarget[] {\n const targets: UiManifestTarget[] = [];\n const ui = runtimeConfig.ui;\n // The core ui is always a manifest target when local — with no authored\n // rsbuild.config.ts the every-plugin build synthesizes one, so the\n // config's existence no longer gates manifest generation.\n if (ui?.source === \"local\" && ui.localPath) {\n targets.push({\n workspaceRoot: ui.localPath,\n pluginName: CORE_UI_PLUGIN_KEY,\n emitRouteTree: !existsSync(join(ui.localPath, \"src/routeTree.gen.ts\")),\n });\n }\n for (const [key, plugin] of Object.entries(runtimeConfig.plugins ?? {})) {\n const uiPath = plugin.ui?.localPath;\n if (plugin.ui?.source === \"local\" && uiPath && existsSync(join(uiPath, \"rsbuild.config.ts\"))) {\n targets.push({ workspaceRoot: uiPath, pluginName: key, emitRouteTree: false });\n }\n }\n return targets;\n}\n\nexport const generateCodeArtifactsEffect = Effect.fn(\"generateCodeArtifacts\")(function* (\n configDir: string,\n config: BosConfig,\n opts?: {\n env?: BosEnv;\n extendsChain?: string[];\n runtimeConfig?: RuntimeConfig;\n },\n): Effect.fn.Return<\n (GeneratedArtifacts & { contractStatus: ContractBridgeStatus[] }) | null,\n ArtifactGenError\n> {\n const env = opts?.env;\n if (env) {\n yield* Effect.try({\n try: () => writeResolvedConfig(configDir, config, env, opts?.extendsChain),\n catch: (cause) => new ArtifactGenError({ phase: \"write resolved config\", cause }),\n });\n }\n\n const runtimeConfig =\n opts?.runtimeConfig ??\n (yield* Effect.tryPromise({\n try: () => openResolution({ cwd: configDir }),\n catch: (cause) => new ArtifactGenError({ phase: \"load resolved config\", cause }),\n }))?.runtime;\n if (!runtimeConfig) return null;\n\n const bridge = yield* Effect.tryPromise({\n try: () =>\n syncApiContractBridge({\n configDir,\n runtimeConfig,\n apiBaseUrl: runtimeConfig.api.url,\n }),\n catch: (cause) => new ArtifactGenError({ phase: \"sync api contract bridge\", cause }),\n });\n\n for (const target of uiManifestTargets(runtimeConfig)) {\n if (target.pluginName === CORE_UI_PLUGIN_KEY) {\n yield* Effect.try({\n try: () => emitCoreUiStubs(target.workspaceRoot),\n catch: (cause) =>\n new ArtifactGenError({ phase: `emit ui stubs (${target.pluginName})`, cause }),\n });\n }\n yield* Effect.tryPromise({\n try: () => generateUiManifest(target),\n catch: (cause) =>\n new ArtifactGenError({ phase: `generate ui manifest (${target.pluginName})`, cause }),\n });\n }\n\n return {\n resolvedConfigPath: env ? join(configDir, \".bos/bos.resolved-config.json\") : undefined,\n contractBridgePath: bridge.bridgePath,\n contractStatus: bridge.status,\n };\n});\n\nexport async function generateCodeArtifacts(\n configDir: string,\n config: BosConfig,\n opts?: {\n env?: BosEnv;\n extendsChain?: string[];\n runtimeConfig?: RuntimeConfig;\n },\n): Promise<(GeneratedArtifacts & { contractStatus: ContractBridgeStatus[] }) | null> {\n return Effect.runPromise(generateCodeArtifactsEffect(configDir, config, opts));\n}\n"],"mappings":";;;;;;;;;;;AAYA,IAAa,mBAAb,cAAsC,OAAO,YAA8B,CAAC,CAAC,oBAAoB;CAC/F,OAAO,OAAO;CACd,OAAO,OAAO,SAAS,OAAO,OAAO;AACvC,CAAC,CAAC,CAAC,CAAC;AAaJ,SAAS,kBAAkB,eAAkD;CAC3E,MAAM,UAA8B,CAAC;CACrC,MAAM,KAAK,cAAc;CAIzB,IAAI,IAAI,WAAW,WAAW,GAAG,WAC/B,QAAQ,KAAK;EACX,eAAe,GAAG;EAClB,YAAY;EACZ,eAAe,CAAC,WAAW,KAAK,GAAG,WAAW,sBAAsB,CAAC;CACvE,CAAC;CAEH,KAAK,MAAM,CAAC,KAAK,WAAW,OAAO,QAAQ,cAAc,WAAW,CAAC,CAAC,GAAG;EACvE,MAAM,SAAS,OAAO,IAAI;EAC1B,IAAI,OAAO,IAAI,WAAW,WAAW,UAAU,WAAW,KAAK,QAAQ,mBAAmB,CAAC,GACzF,QAAQ,KAAK;GAAE,eAAe;GAAQ,YAAY;GAAK,eAAe;EAAM,CAAC;CAEjF;CACA,OAAO;AACT;AAEA,MAAa,8BAA8B,OAAO,GAAG,uBAAuB,CAAC,CAAC,WAC5E,WACA,QACA,MAQA;CACA,MAAM,MAAM,MAAM;CAClB,IAAI,KACF,OAAO,OAAO,IAAI;EAChB,WAAW,oBAAoB,WAAW,QAAQ,KAAK,MAAM,YAAY;EACzE,QAAQ,UAAU,IAAI,iBAAiB;GAAE,OAAO;GAAyB;EAAM,CAAC;CAClF,CAAC;CAGH,MAAM,gBACJ,MAAM,kBACL,OAAO,OAAO,WAAW;EACxB,WAAW,eAAe,EAAE,KAAK,UAAU,CAAC;EAC5C,QAAQ,UAAU,IAAI,iBAAiB;GAAE,OAAO;GAAwB;EAAM,CAAC;CACjF,CAAC,EAAC,EAAG;CACP,IAAI,CAAC,eAAe,OAAO;CAE3B,MAAM,SAAS,OAAO,OAAO,WAAW;EACtC,WACE,sBAAsB;GACpB;GACA;GACA,YAAY,cAAc,IAAI;EAChC,CAAC;EACH,QAAQ,UAAU,IAAI,iBAAiB;GAAE,OAAO;GAA4B;EAAM,CAAC;CACrF,CAAC;CAED,KAAK,MAAM,UAAU,kBAAkB,aAAa,GAAG;EACrD,IAAI,OAAO,eAAe,oBACxB,OAAO,OAAO,IAAI;GAChB,WAAW,gBAAgB,OAAO,aAAa;GAC/C,QAAQ,UACN,IAAI,iBAAiB;IAAE,OAAO,kBAAkB,OAAO,WAAW;IAAI;GAAM,CAAC;EACjF,CAAC;EAEH,OAAO,OAAO,WAAW;GACvB,WAAW,mBAAmB,MAAM;GACpC,QAAQ,UACN,IAAI,iBAAiB;IAAE,OAAO,yBAAyB,OAAO,WAAW;IAAI;GAAM,CAAC;EACxF,CAAC;CACH;CAEA,OAAO;EACL,oBAAoB,MAAM,KAAK,WAAW,+BAA+B,IAAI;EAC7E,oBAAoB,OAAO;EAC3B,gBAAgB,OAAO;CACzB;AACF,CAAC;AAED,eAAsB,sBACpB,WACA,QACA,MAKmF;CACnF,OAAO,OAAO,WAAW,4BAA4B,WAAW,QAAQ,IAAI,CAAC;AAC/E"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
const require_config = require('../config.cjs');
|
|
2
|
+
const require_build = require('../build.cjs');
|
|
3
|
+
const require_code_artifacts = require('../code-artifacts.cjs');
|
|
4
|
+
const require_shared = require('./shared.cjs');
|
|
5
|
+
let effect = require("effect");
|
|
6
|
+
|
|
7
|
+
//#region src/commands/build.ts
|
|
8
|
+
function registerBuild(builder) {
|
|
9
|
+
return { build: builder.build.handler(async ({ input, context }) => {
|
|
10
|
+
const session = effect.Context.get(context["effect/context"], require_shared.BosDepsTag).session;
|
|
11
|
+
if (!session?.config) return {
|
|
12
|
+
status: "error",
|
|
13
|
+
error: require_config.MISSING_CONFIG_MESSAGE,
|
|
14
|
+
built: [],
|
|
15
|
+
skipped: []
|
|
16
|
+
};
|
|
17
|
+
const bosConfig = session.config;
|
|
18
|
+
const buildEnv = "development";
|
|
19
|
+
const targets = require_build.selectWorkspaceTargets(input.packages, bosConfig);
|
|
20
|
+
if (targets.length === 0) {
|
|
21
|
+
const allPackages = [...Object.keys(bosConfig.app ?? {}), ...Object.keys(bosConfig.plugins ?? {})];
|
|
22
|
+
return {
|
|
23
|
+
status: "error",
|
|
24
|
+
error: `Unknown build target(s): ${input.packages} — valid targets: ${allPackages.join(", ") || "none"} (framework packages build via the prerequisite train: pnpm run build <target>)`,
|
|
25
|
+
built: [],
|
|
26
|
+
skipped: []
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const runtimeConfig = await session.buildRuntime({
|
|
30
|
+
uiSource: bosConfig.app.ui?.development ? "local" : "remote",
|
|
31
|
+
apiSource: bosConfig.app.api?.development ? "local" : "remote",
|
|
32
|
+
authSource: bosConfig.app.auth?.development ? "local" : "remote",
|
|
33
|
+
hostSource: bosConfig.app.host?.development ? "local" : "remote",
|
|
34
|
+
env: buildEnv,
|
|
35
|
+
plugins: session.runtime?.plugins
|
|
36
|
+
});
|
|
37
|
+
for (const message of session.warnings) console.warn(message);
|
|
38
|
+
await require_code_artifacts.generateCodeArtifacts(session.root, bosConfig, {
|
|
39
|
+
env: buildEnv,
|
|
40
|
+
runtimeConfig
|
|
41
|
+
});
|
|
42
|
+
const { built, skipped } = await require_build.buildWorkspaceTargets({
|
|
43
|
+
configDir: session.root,
|
|
44
|
+
bosConfig,
|
|
45
|
+
runtimeConfig,
|
|
46
|
+
targets,
|
|
47
|
+
deploy: false
|
|
48
|
+
});
|
|
49
|
+
if (built.length === 0) return {
|
|
50
|
+
status: "error",
|
|
51
|
+
error: `Nothing to build — no local targets matched${skipped.length > 0 ? `: ${skipped.join(", ")}` : ""}`,
|
|
52
|
+
built: [],
|
|
53
|
+
skipped
|
|
54
|
+
};
|
|
55
|
+
return {
|
|
56
|
+
status: "success",
|
|
57
|
+
built,
|
|
58
|
+
skipped
|
|
59
|
+
};
|
|
60
|
+
}) };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
//#endregion
|
|
64
|
+
exports.registerBuild = registerBuild;
|
|
65
|
+
//# sourceMappingURL=build.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.cjs","names":["Context","BosDepsTag","MISSING_CONFIG_MESSAGE","selectWorkspaceTargets","generateCodeArtifacts","buildWorkspaceTargets"],"sources":["../../src/commands/build.ts"],"sourcesContent":["import { Context } from \"effect\";\nimport { buildWorkspaceTargets, selectWorkspaceTargets } from \"../build\";\nimport { generateCodeArtifacts } from \"../code-artifacts\";\nimport { MISSING_CONFIG_MESSAGE } from \"../config\";\nimport type { BosEnv } from \"../merge\";\nimport { type BosBuilder, BosDepsTag } from \"./shared\";\n\nexport function registerBuild(builder: BosBuilder) {\n return {\n build: builder.build.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n const session = deps.session;\n if (!session?.config) {\n return {\n status: \"error\" as const,\n error: MISSING_CONFIG_MESSAGE,\n built: [],\n skipped: [],\n };\n }\n const bosConfig = session.config;\n\n const buildEnv: BosEnv = \"development\";\n\n const targets = selectWorkspaceTargets(input.packages, bosConfig);\n if (targets.length === 0) {\n const allPackages = [\n ...Object.keys(bosConfig.app ?? {}),\n ...Object.keys(bosConfig.plugins ?? {}),\n ];\n return {\n status: \"error\" as const,\n error: `Unknown build target(s): ${input.packages} — valid targets: ${allPackages.join(\", \") || \"none\"} (framework packages build via the prerequisite train: pnpm run build <target>)`,\n built: [],\n skipped: [],\n };\n }\n\n const runtimeConfig = await session.buildRuntime({\n uiSource: bosConfig.app.ui?.development ? \"local\" : \"remote\",\n apiSource: bosConfig.app.api?.development ? \"local\" : \"remote\",\n authSource: bosConfig.app.auth?.development ? \"local\" : \"remote\",\n hostSource: bosConfig.app.host?.development ? \"local\" : \"remote\",\n env: buildEnv,\n plugins: session.runtime?.plugins,\n });\n for (const message of session.warnings) {\n console.warn(message);\n }\n\n await generateCodeArtifacts(session.root, bosConfig, {\n env: buildEnv,\n runtimeConfig,\n });\n\n const { built, skipped } = await buildWorkspaceTargets({\n configDir: session.root,\n bosConfig,\n runtimeConfig: runtimeConfig,\n targets,\n deploy: false,\n });\n\n if (built.length === 0) {\n return {\n status: \"error\" as const,\n error: `Nothing to build — no local targets matched${skipped.length > 0 ? `: ${skipped.join(\", \")}` : \"\"}`,\n built: [],\n skipped,\n };\n }\n\n return {\n status: \"success\" as const,\n built,\n skipped,\n };\n }),\n };\n}\n"],"mappings":";;;;;;;AAOA,SAAgB,cAAc,SAAqB;CACjD,OAAO,EACL,OAAO,QAAQ,MAAM,QAAQ,OAAO,EAAE,OAAO,cAAc;EAEzD,MAAM,UADOA,eAAQ,IAAI,QAAQ,mBAAmBC,yBACjC,CAAC,CAAC;EACrB,IAAI,CAAC,SAAS,QACZ,OAAO;GACL,QAAQ;GACR,OAAOC;GACP,OAAO,CAAC;GACR,SAAS,CAAC;EACZ;EAEF,MAAM,YAAY,QAAQ;EAE1B,MAAM,WAAmB;EAEzB,MAAM,UAAUC,qCAAuB,MAAM,UAAU,SAAS;EAChE,IAAI,QAAQ,WAAW,GAAG;GACxB,MAAM,cAAc,CAClB,GAAG,OAAO,KAAK,UAAU,OAAO,CAAC,CAAC,GAClC,GAAG,OAAO,KAAK,UAAU,WAAW,CAAC,CAAC,CACxC;GACA,OAAO;IACL,QAAQ;IACR,OAAO,4BAA4B,MAAM,SAAS,oBAAoB,YAAY,KAAK,IAAI,KAAK,OAAO;IACvG,OAAO,CAAC;IACR,SAAS,CAAC;GACZ;EACF;EAEA,MAAM,gBAAgB,MAAM,QAAQ,aAAa;GAC/C,UAAU,UAAU,IAAI,IAAI,cAAc,UAAU;GACpD,WAAW,UAAU,IAAI,KAAK,cAAc,UAAU;GACtD,YAAY,UAAU,IAAI,MAAM,cAAc,UAAU;GACxD,YAAY,UAAU,IAAI,MAAM,cAAc,UAAU;GACxD,KAAK;GACL,SAAS,QAAQ,SAAS;EAC5B,CAAC;EACD,KAAK,MAAM,WAAW,QAAQ,UAC5B,QAAQ,KAAK,OAAO;EAGtB,MAAMC,6CAAsB,QAAQ,MAAM,WAAW;GACnD,KAAK;GACL;EACF,CAAC;EAED,MAAM,EAAE,OAAO,YAAY,MAAMC,oCAAsB;GACrD,WAAW,QAAQ;GACnB;GACe;GACf;GACA,QAAQ;EACV,CAAC;EAED,IAAI,MAAM,WAAW,GACnB,OAAO;GACL,QAAQ;GACR,OAAO,8CAA8C,QAAQ,SAAS,IAAI,KAAK,QAAQ,KAAK,IAAI,MAAM;GACtG,OAAO,CAAC;GACR;EACF;EAGF,OAAO;GACL,QAAQ;GACR;GACA;EACF;CACF,CAAC,EACH;AACF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { MISSING_CONFIG_MESSAGE } from "../config.mjs";
|
|
2
|
+
import { buildWorkspaceTargets, selectWorkspaceTargets } from "../build.mjs";
|
|
3
|
+
import { generateCodeArtifacts } from "../code-artifacts.mjs";
|
|
4
|
+
import { BosDepsTag } from "./shared.mjs";
|
|
5
|
+
import { Context } from "effect";
|
|
6
|
+
|
|
7
|
+
//#region src/commands/build.ts
|
|
8
|
+
function registerBuild(builder) {
|
|
9
|
+
return { build: builder.build.handler(async ({ input, context }) => {
|
|
10
|
+
const session = Context.get(context["effect/context"], BosDepsTag).session;
|
|
11
|
+
if (!session?.config) return {
|
|
12
|
+
status: "error",
|
|
13
|
+
error: MISSING_CONFIG_MESSAGE,
|
|
14
|
+
built: [],
|
|
15
|
+
skipped: []
|
|
16
|
+
};
|
|
17
|
+
const bosConfig = session.config;
|
|
18
|
+
const buildEnv = "development";
|
|
19
|
+
const targets = selectWorkspaceTargets(input.packages, bosConfig);
|
|
20
|
+
if (targets.length === 0) {
|
|
21
|
+
const allPackages = [...Object.keys(bosConfig.app ?? {}), ...Object.keys(bosConfig.plugins ?? {})];
|
|
22
|
+
return {
|
|
23
|
+
status: "error",
|
|
24
|
+
error: `Unknown build target(s): ${input.packages} — valid targets: ${allPackages.join(", ") || "none"} (framework packages build via the prerequisite train: pnpm run build <target>)`,
|
|
25
|
+
built: [],
|
|
26
|
+
skipped: []
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const runtimeConfig = await session.buildRuntime({
|
|
30
|
+
uiSource: bosConfig.app.ui?.development ? "local" : "remote",
|
|
31
|
+
apiSource: bosConfig.app.api?.development ? "local" : "remote",
|
|
32
|
+
authSource: bosConfig.app.auth?.development ? "local" : "remote",
|
|
33
|
+
hostSource: bosConfig.app.host?.development ? "local" : "remote",
|
|
34
|
+
env: buildEnv,
|
|
35
|
+
plugins: session.runtime?.plugins
|
|
36
|
+
});
|
|
37
|
+
for (const message of session.warnings) console.warn(message);
|
|
38
|
+
await generateCodeArtifacts(session.root, bosConfig, {
|
|
39
|
+
env: buildEnv,
|
|
40
|
+
runtimeConfig
|
|
41
|
+
});
|
|
42
|
+
const { built, skipped } = await buildWorkspaceTargets({
|
|
43
|
+
configDir: session.root,
|
|
44
|
+
bosConfig,
|
|
45
|
+
runtimeConfig,
|
|
46
|
+
targets,
|
|
47
|
+
deploy: false
|
|
48
|
+
});
|
|
49
|
+
if (built.length === 0) return {
|
|
50
|
+
status: "error",
|
|
51
|
+
error: `Nothing to build — no local targets matched${skipped.length > 0 ? `: ${skipped.join(", ")}` : ""}`,
|
|
52
|
+
built: [],
|
|
53
|
+
skipped
|
|
54
|
+
};
|
|
55
|
+
return {
|
|
56
|
+
status: "success",
|
|
57
|
+
built,
|
|
58
|
+
skipped
|
|
59
|
+
};
|
|
60
|
+
}) };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
//#endregion
|
|
64
|
+
export { registerBuild };
|
|
65
|
+
//# sourceMappingURL=build.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.mjs","names":[],"sources":["../../src/commands/build.ts"],"sourcesContent":["import { Context } from \"effect\";\nimport { buildWorkspaceTargets, selectWorkspaceTargets } from \"../build\";\nimport { generateCodeArtifacts } from \"../code-artifacts\";\nimport { MISSING_CONFIG_MESSAGE } from \"../config\";\nimport type { BosEnv } from \"../merge\";\nimport { type BosBuilder, BosDepsTag } from \"./shared\";\n\nexport function registerBuild(builder: BosBuilder) {\n return {\n build: builder.build.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n const session = deps.session;\n if (!session?.config) {\n return {\n status: \"error\" as const,\n error: MISSING_CONFIG_MESSAGE,\n built: [],\n skipped: [],\n };\n }\n const bosConfig = session.config;\n\n const buildEnv: BosEnv = \"development\";\n\n const targets = selectWorkspaceTargets(input.packages, bosConfig);\n if (targets.length === 0) {\n const allPackages = [\n ...Object.keys(bosConfig.app ?? {}),\n ...Object.keys(bosConfig.plugins ?? {}),\n ];\n return {\n status: \"error\" as const,\n error: `Unknown build target(s): ${input.packages} — valid targets: ${allPackages.join(\", \") || \"none\"} (framework packages build via the prerequisite train: pnpm run build <target>)`,\n built: [],\n skipped: [],\n };\n }\n\n const runtimeConfig = await session.buildRuntime({\n uiSource: bosConfig.app.ui?.development ? \"local\" : \"remote\",\n apiSource: bosConfig.app.api?.development ? \"local\" : \"remote\",\n authSource: bosConfig.app.auth?.development ? \"local\" : \"remote\",\n hostSource: bosConfig.app.host?.development ? \"local\" : \"remote\",\n env: buildEnv,\n plugins: session.runtime?.plugins,\n });\n for (const message of session.warnings) {\n console.warn(message);\n }\n\n await generateCodeArtifacts(session.root, bosConfig, {\n env: buildEnv,\n runtimeConfig,\n });\n\n const { built, skipped } = await buildWorkspaceTargets({\n configDir: session.root,\n bosConfig,\n runtimeConfig: runtimeConfig,\n targets,\n deploy: false,\n });\n\n if (built.length === 0) {\n return {\n status: \"error\" as const,\n error: `Nothing to build — no local targets matched${skipped.length > 0 ? `: ${skipped.join(\", \")}` : \"\"}`,\n built: [],\n skipped,\n };\n }\n\n return {\n status: \"success\" as const,\n built,\n skipped,\n };\n }),\n };\n}\n"],"mappings":";;;;;;;AAOA,SAAgB,cAAc,SAAqB;CACjD,OAAO,EACL,OAAO,QAAQ,MAAM,QAAQ,OAAO,EAAE,OAAO,cAAc;EAEzD,MAAM,UADO,QAAQ,IAAI,QAAQ,mBAAmB,UACjC,CAAC,CAAC;EACrB,IAAI,CAAC,SAAS,QACZ,OAAO;GACL,QAAQ;GACR,OAAO;GACP,OAAO,CAAC;GACR,SAAS,CAAC;EACZ;EAEF,MAAM,YAAY,QAAQ;EAE1B,MAAM,WAAmB;EAEzB,MAAM,UAAU,uBAAuB,MAAM,UAAU,SAAS;EAChE,IAAI,QAAQ,WAAW,GAAG;GACxB,MAAM,cAAc,CAClB,GAAG,OAAO,KAAK,UAAU,OAAO,CAAC,CAAC,GAClC,GAAG,OAAO,KAAK,UAAU,WAAW,CAAC,CAAC,CACxC;GACA,OAAO;IACL,QAAQ;IACR,OAAO,4BAA4B,MAAM,SAAS,oBAAoB,YAAY,KAAK,IAAI,KAAK,OAAO;IACvG,OAAO,CAAC;IACR,SAAS,CAAC;GACZ;EACF;EAEA,MAAM,gBAAgB,MAAM,QAAQ,aAAa;GAC/C,UAAU,UAAU,IAAI,IAAI,cAAc,UAAU;GACpD,WAAW,UAAU,IAAI,KAAK,cAAc,UAAU;GACtD,YAAY,UAAU,IAAI,MAAM,cAAc,UAAU;GACxD,YAAY,UAAU,IAAI,MAAM,cAAc,UAAU;GACxD,KAAK;GACL,SAAS,QAAQ,SAAS;EAC5B,CAAC;EACD,KAAK,MAAM,WAAW,QAAQ,UAC5B,QAAQ,KAAK,OAAO;EAGtB,MAAM,sBAAsB,QAAQ,MAAM,WAAW;GACnD,KAAK;GACL;EACF,CAAC;EAED,MAAM,EAAE,OAAO,YAAY,MAAM,sBAAsB;GACrD,WAAW,QAAQ;GACnB;GACe;GACf;GACA,QAAQ;EACV,CAAC;EAED,IAAI,MAAM,WAAW,GACnB,OAAO;GACL,QAAQ;GACR,OAAO,8CAA8C,QAAQ,SAAS,IAAI,KAAK,QAAQ,KAAK,IAAI,MAAM;GACtG,OAAO,CAAC;GACR;EACF;EAGF,OAAO;GACL,QAAQ;GACR;GACA;EACF;CACF,CAAC,EACH;AACF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_types = require('../types.cjs');
|
|
3
|
+
const require_fastkv = require('../fastkv.cjs');
|
|
4
|
+
const require_config = require('../config.cjs');
|
|
5
|
+
const require_save_config = require('../utils/save-config.cjs');
|
|
6
|
+
const require_resolution_session = require('../resolution/session.cjs');
|
|
7
|
+
const require_shared = require('./shared.cjs');
|
|
8
|
+
const require_registry_use = require('../registry-use.cjs');
|
|
9
|
+
let node_fs = require("node:fs");
|
|
10
|
+
let node_path = require("node:path");
|
|
11
|
+
let effect = require("effect");
|
|
12
|
+
let node_process = require("node:process");
|
|
13
|
+
node_process = require_runtime.__toESM(node_process, 1);
|
|
14
|
+
|
|
15
|
+
//#region src/commands/config.ts
|
|
16
|
+
function registerConfig(builder) {
|
|
17
|
+
return {
|
|
18
|
+
config: builder.config.handler(async ({ input, context }) => {
|
|
19
|
+
const deps = effect.Context.get(context["effect/context"], require_shared.BosDepsTag);
|
|
20
|
+
if (input.full) return buildConfigResult(deps.session?.config ?? null, true);
|
|
21
|
+
return buildConfigResult(await require_config.readAuthoredConfigInput(deps.session?.root), false);
|
|
22
|
+
}),
|
|
23
|
+
registryUse: builder.registryUse.handler(async ({ input, context }) => {
|
|
24
|
+
const root = effect.Context.get(context["effect/context"], require_shared.BosDepsTag).session?.root ?? node_process.default.cwd();
|
|
25
|
+
const configPath = require_config.localConfigEntryPath(root) ?? (0, node_path.join)(root, "bos.config.json");
|
|
26
|
+
const normalizedFrom = input.from.startsWith("bos://") ? input.from : `bos://${input.from}`;
|
|
27
|
+
try {
|
|
28
|
+
const remote = await require_fastkv.fetchBosConfigFromFastKv(normalizedFrom);
|
|
29
|
+
const local = await require_config.readLocalAuthoredConfigInput(root) ?? (configPath.endsWith(".json") ? JSON.parse((0, node_fs.readFileSync)(configPath, "utf-8")) : await require_config.loadAppDescriptorConfig(configPath));
|
|
30
|
+
const { config: merged, applied } = require_registry_use.applyRegistrySections(local, remote, input.sections);
|
|
31
|
+
if (input.dryRun) return {
|
|
32
|
+
status: "dry-run",
|
|
33
|
+
from: normalizedFrom,
|
|
34
|
+
applied,
|
|
35
|
+
configPath
|
|
36
|
+
};
|
|
37
|
+
await require_save_config.saveBosConfig(root, merged);
|
|
38
|
+
return {
|
|
39
|
+
status: "updated",
|
|
40
|
+
from: normalizedFrom,
|
|
41
|
+
applied,
|
|
42
|
+
configPath
|
|
43
|
+
};
|
|
44
|
+
} catch (error) {
|
|
45
|
+
return {
|
|
46
|
+
status: "error",
|
|
47
|
+
from: normalizedFrom,
|
|
48
|
+
applied: [],
|
|
49
|
+
error: error instanceof Error ? error.message : String(error)
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function buildConfigResult(bosConfig, full = false) {
|
|
56
|
+
const packages = bosConfig?.app && typeof bosConfig.app === "object" ? Object.keys(bosConfig.app) : [];
|
|
57
|
+
const remotes = packages.filter((name) => name !== "host");
|
|
58
|
+
return {
|
|
59
|
+
config: bosConfig ?? null,
|
|
60
|
+
packages,
|
|
61
|
+
remotes,
|
|
62
|
+
full
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
async function resolveRemoteConfigChain(accountId, gatewayId, registry) {
|
|
66
|
+
const { config: merged } = await require_resolution_session.walkExtendsChain(`bos://${accountId}/${gatewayId}`, {
|
|
67
|
+
env: "production",
|
|
68
|
+
registry,
|
|
69
|
+
visit: async () => {}
|
|
70
|
+
});
|
|
71
|
+
return require_config.resolveConfigComposableEntries(require_types.BosConfigSchema.parse(merged), node_process.default.cwd(), "production");
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
exports.registerConfig = registerConfig;
|
|
76
|
+
exports.resolveRemoteConfigChain = resolveRemoteConfigChain;
|
|
77
|
+
//# sourceMappingURL=config.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.cjs","names":["Context","BosDepsTag","readAuthoredConfigInput","process","localConfigEntryPath","join","fetchBosConfigFromFastKv","readLocalAuthoredConfigInput","readFileSync","loadAppDescriptorConfig","applyRegistrySections","saveBosConfig","walkExtendsChain","resolveConfigComposableEntries","BosConfigSchema"],"sources":["../../src/commands/config.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport process from \"node:process\";\nimport { Context } from \"effect\";\nimport {\n loadAppDescriptorConfig,\n localConfigEntryPath,\n readAuthoredConfigInput,\n readLocalAuthoredConfigInput,\n resolveConfigComposableEntries,\n} from \"../config\";\nimport type { BosConfigResult } from \"../contract\";\nimport { fetchBosConfigFromFastKv } from \"../fastkv\";\nimport { applyRegistrySections } from \"../registry-use\";\nimport { walkExtendsChain } from \"../resolution/session\";\nimport type { BosConfig, BosConfigInput } from \"../types\";\nimport { BosConfigSchema } from \"../types\";\nimport { saveBosConfig } from \"../utils/save-config\";\nimport { type BosBuilder, BosDepsTag } from \"./shared\";\n\nexport function registerConfig(builder: BosBuilder) {\n return {\n config: builder.config.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n if (input.full) {\n return buildConfigResult(deps.session?.config ?? null, true);\n }\n\n const localConfig = await readAuthoredConfigInput(deps.session?.root);\n return buildConfigResult(localConfig, false);\n }),\n\n registryUse: builder.registryUse.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n const root = deps.session?.root ?? process.cwd();\n const configPath = localConfigEntryPath(root) ?? join(root, \"bos.config.json\");\n const normalizedFrom = input.from.startsWith(\"bos://\") ? input.from : `bos://${input.from}`;\n\n try {\n const remote = await fetchBosConfigFromFastKv<Record<string, unknown>>(normalizedFrom);\n const localRaw = await readLocalAuthoredConfigInput(root);\n const local = (localRaw ??\n (configPath.endsWith(\".json\")\n ? (JSON.parse(readFileSync(configPath, \"utf-8\")) as Record<string, unknown>)\n : ((await loadAppDescriptorConfig(configPath)) as unknown as Record<\n string,\n unknown\n >))) as Record<string, unknown>;\n const { config: merged, applied } = applyRegistrySections(\n local as never,\n remote as never,\n input.sections,\n );\n\n if (input.dryRun) {\n return {\n status: \"dry-run\" as const,\n from: normalizedFrom,\n applied,\n configPath,\n };\n }\n\n await saveBosConfig(root, merged);\n\n return {\n status: \"updated\" as const,\n from: normalizedFrom,\n applied,\n configPath,\n };\n } catch (error) {\n return {\n status: \"error\" as const,\n from: normalizedFrom,\n applied: [],\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }),\n };\n}\n\nfunction buildConfigResult(\n bosConfig: BosConfigInput | BosConfig | null,\n full = false,\n): BosConfigResult {\n const packages =\n bosConfig?.app && typeof bosConfig.app === \"object\" ? Object.keys(bosConfig.app) : [];\n const remotes = packages.filter((name) => name !== \"host\");\n\n return {\n config: bosConfig ?? null,\n packages,\n remotes,\n full,\n };\n}\n\nexport async function resolveRemoteConfigChain(\n accountId: string,\n gatewayId: string,\n registry?: string,\n): Promise<BosConfig> {\n const { config: merged } = await walkExtendsChain(`bos://${accountId}/${gatewayId}`, {\n env: \"production\",\n registry,\n visit: async () => {},\n });\n\n return resolveConfigComposableEntries(BosConfigSchema.parse(merged), process.cwd(), \"production\");\n}\n"],"mappings":";;;;;;;;;;;;;;;AAoBA,SAAgB,eAAe,SAAqB;CAClD,OAAO;EACL,QAAQ,QAAQ,OAAO,QAAQ,OAAO,EAAE,OAAO,cAAc;GAC3D,MAAM,OAAOA,eAAQ,IAAI,QAAQ,mBAAmBC,yBAAU;GAC9D,IAAI,MAAM,MACR,OAAO,kBAAkB,KAAK,SAAS,UAAU,MAAM,IAAI;GAI7D,OAAO,kBAAkB,MADCC,uCAAwB,KAAK,SAAS,IAAI,GAC9B,KAAK;EAC7C,CAAC;EAED,aAAa,QAAQ,YAAY,QAAQ,OAAO,EAAE,OAAO,cAAc;GAErE,MAAM,OADOF,eAAQ,IAAI,QAAQ,mBAAmBC,yBACpC,CAAC,CAAC,SAAS,QAAQE,qBAAQ,IAAI;GAC/C,MAAM,aAAaC,oCAAqB,IAAI,SAAKC,gBAAK,MAAM,iBAAiB;GAC7E,MAAM,iBAAiB,MAAM,KAAK,WAAW,QAAQ,IAAI,MAAM,OAAO,SAAS,MAAM;GAErF,IAAI;IACF,MAAM,SAAS,MAAMC,wCAAkD,cAAc;IAErF,MAAM,QAAS,MADQC,4CAA6B,IAAI,MAErD,WAAW,SAAS,OAAO,IACvB,KAAK,UAAMC,sBAAa,YAAY,OAAO,CAAC,IAC3C,MAAMC,uCAAwB,UAAU;IAIhD,MAAM,EAAE,QAAQ,QAAQ,YAAYC,2CAClC,OACA,QACA,MAAM,QACR;IAEA,IAAI,MAAM,QACR,OAAO;KACL,QAAQ;KACR,MAAM;KACN;KACA;IACF;IAGF,MAAMC,kCAAc,MAAM,MAAM;IAEhC,OAAO;KACL,QAAQ;KACR,MAAM;KACN;KACA;IACF;GACF,SAAS,OAAO;IACd,OAAO;KACL,QAAQ;KACR,MAAM;KACN,SAAS,CAAC;KACV,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;IAC9D;GACF;EACF,CAAC;CACH;AACF;AAEA,SAAS,kBACP,WACA,OAAO,OACU;CACjB,MAAM,WACJ,WAAW,OAAO,OAAO,UAAU,QAAQ,WAAW,OAAO,KAAK,UAAU,GAAG,IAAI,CAAC;CACtF,MAAM,UAAU,SAAS,QAAQ,SAAS,SAAS,MAAM;CAEzD,OAAO;EACL,QAAQ,aAAa;EACrB;EACA;EACA;CACF;AACF;AAEA,eAAsB,yBACpB,WACA,WACA,UACoB;CACpB,MAAM,EAAE,QAAQ,WAAW,MAAMC,4CAAiB,SAAS,UAAU,GAAG,aAAa;EACnF,KAAK;EACL;EACA,OAAO,YAAY,CAAC;CACtB,CAAC;CAED,OAAOC,8CAA+BC,8BAAgB,MAAM,MAAM,GAAGX,qBAAQ,IAAI,GAAG,YAAY;AAClG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BosConfig } from "../types.cjs";
|
|
2
|
+
import "../index.cjs";
|
|
3
|
+
import "./shared.cjs";
|
|
4
|
+
//#region src/commands/config.d.ts
|
|
5
|
+
declare function resolveRemoteConfigChain(accountId: string, gatewayId: string, registry?: string): Promise<BosConfig>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { resolveRemoteConfigChain };
|
|
8
|
+
//# sourceMappingURL=config.d.cts.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BosConfig } from "../types.mjs";
|
|
2
|
+
import "../index.mjs";
|
|
3
|
+
import "./shared.mjs";
|
|
4
|
+
//#region src/commands/config.d.ts
|
|
5
|
+
declare function resolveRemoteConfigChain(accountId: string, gatewayId: string, registry?: string): Promise<BosConfig>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { resolveRemoteConfigChain };
|
|
8
|
+
//# sourceMappingURL=config.d.mts.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { BosConfigSchema } from "../types.mjs";
|
|
2
|
+
import { fetchBosConfigFromFastKv } from "../fastkv.mjs";
|
|
3
|
+
import { loadAppDescriptorConfig, localConfigEntryPath, readAuthoredConfigInput, readLocalAuthoredConfigInput, resolveConfigComposableEntries } from "../config.mjs";
|
|
4
|
+
import { saveBosConfig } from "../utils/save-config.mjs";
|
|
5
|
+
import { walkExtendsChain } from "../resolution/session.mjs";
|
|
6
|
+
import { BosDepsTag } from "./shared.mjs";
|
|
7
|
+
import { applyRegistrySections } from "../registry-use.mjs";
|
|
8
|
+
import { readFileSync } from "node:fs";
|
|
9
|
+
import { join } from "node:path";
|
|
10
|
+
import { Context } from "effect";
|
|
11
|
+
import process from "node:process";
|
|
12
|
+
|
|
13
|
+
//#region src/commands/config.ts
|
|
14
|
+
function registerConfig(builder) {
|
|
15
|
+
return {
|
|
16
|
+
config: builder.config.handler(async ({ input, context }) => {
|
|
17
|
+
const deps = Context.get(context["effect/context"], BosDepsTag);
|
|
18
|
+
if (input.full) return buildConfigResult(deps.session?.config ?? null, true);
|
|
19
|
+
return buildConfigResult(await readAuthoredConfigInput(deps.session?.root), false);
|
|
20
|
+
}),
|
|
21
|
+
registryUse: builder.registryUse.handler(async ({ input, context }) => {
|
|
22
|
+
const root = Context.get(context["effect/context"], BosDepsTag).session?.root ?? process.cwd();
|
|
23
|
+
const configPath = localConfigEntryPath(root) ?? join(root, "bos.config.json");
|
|
24
|
+
const normalizedFrom = input.from.startsWith("bos://") ? input.from : `bos://${input.from}`;
|
|
25
|
+
try {
|
|
26
|
+
const remote = await fetchBosConfigFromFastKv(normalizedFrom);
|
|
27
|
+
const local = await readLocalAuthoredConfigInput(root) ?? (configPath.endsWith(".json") ? JSON.parse(readFileSync(configPath, "utf-8")) : await loadAppDescriptorConfig(configPath));
|
|
28
|
+
const { config: merged, applied } = applyRegistrySections(local, remote, input.sections);
|
|
29
|
+
if (input.dryRun) return {
|
|
30
|
+
status: "dry-run",
|
|
31
|
+
from: normalizedFrom,
|
|
32
|
+
applied,
|
|
33
|
+
configPath
|
|
34
|
+
};
|
|
35
|
+
await saveBosConfig(root, merged);
|
|
36
|
+
return {
|
|
37
|
+
status: "updated",
|
|
38
|
+
from: normalizedFrom,
|
|
39
|
+
applied,
|
|
40
|
+
configPath
|
|
41
|
+
};
|
|
42
|
+
} catch (error) {
|
|
43
|
+
return {
|
|
44
|
+
status: "error",
|
|
45
|
+
from: normalizedFrom,
|
|
46
|
+
applied: [],
|
|
47
|
+
error: error instanceof Error ? error.message : String(error)
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
})
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function buildConfigResult(bosConfig, full = false) {
|
|
54
|
+
const packages = bosConfig?.app && typeof bosConfig.app === "object" ? Object.keys(bosConfig.app) : [];
|
|
55
|
+
const remotes = packages.filter((name) => name !== "host");
|
|
56
|
+
return {
|
|
57
|
+
config: bosConfig ?? null,
|
|
58
|
+
packages,
|
|
59
|
+
remotes,
|
|
60
|
+
full
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
async function resolveRemoteConfigChain(accountId, gatewayId, registry) {
|
|
64
|
+
const { config: merged } = await walkExtendsChain(`bos://${accountId}/${gatewayId}`, {
|
|
65
|
+
env: "production",
|
|
66
|
+
registry,
|
|
67
|
+
visit: async () => {}
|
|
68
|
+
});
|
|
69
|
+
return resolveConfigComposableEntries(BosConfigSchema.parse(merged), process.cwd(), "production");
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
//#endregion
|
|
73
|
+
export { registerConfig, resolveRemoteConfigChain };
|
|
74
|
+
//# sourceMappingURL=config.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.mjs","names":[],"sources":["../../src/commands/config.ts"],"sourcesContent":["import { readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport process from \"node:process\";\nimport { Context } from \"effect\";\nimport {\n loadAppDescriptorConfig,\n localConfigEntryPath,\n readAuthoredConfigInput,\n readLocalAuthoredConfigInput,\n resolveConfigComposableEntries,\n} from \"../config\";\nimport type { BosConfigResult } from \"../contract\";\nimport { fetchBosConfigFromFastKv } from \"../fastkv\";\nimport { applyRegistrySections } from \"../registry-use\";\nimport { walkExtendsChain } from \"../resolution/session\";\nimport type { BosConfig, BosConfigInput } from \"../types\";\nimport { BosConfigSchema } from \"../types\";\nimport { saveBosConfig } from \"../utils/save-config\";\nimport { type BosBuilder, BosDepsTag } from \"./shared\";\n\nexport function registerConfig(builder: BosBuilder) {\n return {\n config: builder.config.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n if (input.full) {\n return buildConfigResult(deps.session?.config ?? null, true);\n }\n\n const localConfig = await readAuthoredConfigInput(deps.session?.root);\n return buildConfigResult(localConfig, false);\n }),\n\n registryUse: builder.registryUse.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n const root = deps.session?.root ?? process.cwd();\n const configPath = localConfigEntryPath(root) ?? join(root, \"bos.config.json\");\n const normalizedFrom = input.from.startsWith(\"bos://\") ? input.from : `bos://${input.from}`;\n\n try {\n const remote = await fetchBosConfigFromFastKv<Record<string, unknown>>(normalizedFrom);\n const localRaw = await readLocalAuthoredConfigInput(root);\n const local = (localRaw ??\n (configPath.endsWith(\".json\")\n ? (JSON.parse(readFileSync(configPath, \"utf-8\")) as Record<string, unknown>)\n : ((await loadAppDescriptorConfig(configPath)) as unknown as Record<\n string,\n unknown\n >))) as Record<string, unknown>;\n const { config: merged, applied } = applyRegistrySections(\n local as never,\n remote as never,\n input.sections,\n );\n\n if (input.dryRun) {\n return {\n status: \"dry-run\" as const,\n from: normalizedFrom,\n applied,\n configPath,\n };\n }\n\n await saveBosConfig(root, merged);\n\n return {\n status: \"updated\" as const,\n from: normalizedFrom,\n applied,\n configPath,\n };\n } catch (error) {\n return {\n status: \"error\" as const,\n from: normalizedFrom,\n applied: [],\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }),\n };\n}\n\nfunction buildConfigResult(\n bosConfig: BosConfigInput | BosConfig | null,\n full = false,\n): BosConfigResult {\n const packages =\n bosConfig?.app && typeof bosConfig.app === \"object\" ? Object.keys(bosConfig.app) : [];\n const remotes = packages.filter((name) => name !== \"host\");\n\n return {\n config: bosConfig ?? null,\n packages,\n remotes,\n full,\n };\n}\n\nexport async function resolveRemoteConfigChain(\n accountId: string,\n gatewayId: string,\n registry?: string,\n): Promise<BosConfig> {\n const { config: merged } = await walkExtendsChain(`bos://${accountId}/${gatewayId}`, {\n env: \"production\",\n registry,\n visit: async () => {},\n });\n\n return resolveConfigComposableEntries(BosConfigSchema.parse(merged), process.cwd(), \"production\");\n}\n"],"mappings":";;;;;;;;;;;;;AAoBA,SAAgB,eAAe,SAAqB;CAClD,OAAO;EACL,QAAQ,QAAQ,OAAO,QAAQ,OAAO,EAAE,OAAO,cAAc;GAC3D,MAAM,OAAO,QAAQ,IAAI,QAAQ,mBAAmB,UAAU;GAC9D,IAAI,MAAM,MACR,OAAO,kBAAkB,KAAK,SAAS,UAAU,MAAM,IAAI;GAI7D,OAAO,kBAAkB,MADC,wBAAwB,KAAK,SAAS,IAAI,GAC9B,KAAK;EAC7C,CAAC;EAED,aAAa,QAAQ,YAAY,QAAQ,OAAO,EAAE,OAAO,cAAc;GAErE,MAAM,OADO,QAAQ,IAAI,QAAQ,mBAAmB,UACpC,CAAC,CAAC,SAAS,QAAQ,QAAQ,IAAI;GAC/C,MAAM,aAAa,qBAAqB,IAAI,KAAK,KAAK,MAAM,iBAAiB;GAC7E,MAAM,iBAAiB,MAAM,KAAK,WAAW,QAAQ,IAAI,MAAM,OAAO,SAAS,MAAM;GAErF,IAAI;IACF,MAAM,SAAS,MAAM,yBAAkD,cAAc;IAErF,MAAM,QAAS,MADQ,6BAA6B,IAAI,MAErD,WAAW,SAAS,OAAO,IACvB,KAAK,MAAM,aAAa,YAAY,OAAO,CAAC,IAC3C,MAAM,wBAAwB,UAAU;IAIhD,MAAM,EAAE,QAAQ,QAAQ,YAAY,sBAClC,OACA,QACA,MAAM,QACR;IAEA,IAAI,MAAM,QACR,OAAO;KACL,QAAQ;KACR,MAAM;KACN;KACA;IACF;IAGF,MAAM,cAAc,MAAM,MAAM;IAEhC,OAAO;KACL,QAAQ;KACR,MAAM;KACN;KACA;IACF;GACF,SAAS,OAAO;IACd,OAAO;KACL,QAAQ;KACR,MAAM;KACN,SAAS,CAAC;KACV,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;IAC9D;GACF;EACF,CAAC;CACH;AACF;AAEA,SAAS,kBACP,WACA,OAAO,OACU;CACjB,MAAM,WACJ,WAAW,OAAO,OAAO,UAAU,QAAQ,WAAW,OAAO,KAAK,UAAU,GAAG,IAAI,CAAC;CACtF,MAAM,UAAU,SAAS,QAAQ,SAAS,SAAS,MAAM;CAEzD,OAAO;EACL,QAAQ,aAAa;EACrB;EACA;EACA;CACF;AACF;AAEA,eAAsB,yBACpB,WACA,WACA,UACoB;CACpB,MAAM,EAAE,QAAQ,WAAW,MAAM,iBAAiB,SAAS,UAAU,GAAG,aAAa;EACnF,KAAK;EACL;EACA,OAAO,YAAY,CAAC;CACtB,CAAC;CAED,OAAO,+BAA+B,gBAAgB,MAAM,MAAM,GAAG,QAAQ,IAAI,GAAG,YAAY;AAClG"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
const require_config = require('../config.cjs');
|
|
2
|
+
const require_shared = require('./shared.cjs');
|
|
3
|
+
let effect = require("effect");
|
|
4
|
+
|
|
5
|
+
//#region src/commands/db.ts
|
|
6
|
+
function registerDb(builder) {
|
|
7
|
+
return {
|
|
8
|
+
dbStudio: builder.dbStudio.handler(async ({ input, context }) => {
|
|
9
|
+
const deps = effect.Context.get(context["effect/context"], require_shared.BosDepsTag);
|
|
10
|
+
if (!require_config.findConfigPath()) return {
|
|
11
|
+
status: "error",
|
|
12
|
+
plugin: input.plugin,
|
|
13
|
+
source: "remote",
|
|
14
|
+
section: "",
|
|
15
|
+
error: `${require_config.MISSING_CONFIG_MESSAGE} in current directory`
|
|
16
|
+
};
|
|
17
|
+
try {
|
|
18
|
+
const binding = await effect.Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));
|
|
19
|
+
await effect.Effect.runPromise(deps.drizzleKit.studio(binding));
|
|
20
|
+
return {
|
|
21
|
+
status: "success",
|
|
22
|
+
plugin: binding.key,
|
|
23
|
+
source: binding.source,
|
|
24
|
+
section: binding.section,
|
|
25
|
+
databaseSecret: binding.identity.secretName,
|
|
26
|
+
databaseUrl: binding.url,
|
|
27
|
+
workspaceDir: binding.identity.workspaceDir
|
|
28
|
+
};
|
|
29
|
+
} catch (error) {
|
|
30
|
+
return {
|
|
31
|
+
status: "error",
|
|
32
|
+
plugin: input.plugin,
|
|
33
|
+
source: "remote",
|
|
34
|
+
section: "",
|
|
35
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}),
|
|
39
|
+
dbDoctor: builder.dbDoctor.handler(async ({ input, context }) => {
|
|
40
|
+
const deps = effect.Context.get(context["effect/context"], require_shared.BosDepsTag);
|
|
41
|
+
try {
|
|
42
|
+
if (!require_config.findConfigPath()) return {
|
|
43
|
+
status: "error",
|
|
44
|
+
plugin: input.plugin,
|
|
45
|
+
slug: "",
|
|
46
|
+
journalTable: "",
|
|
47
|
+
journalSchema: "",
|
|
48
|
+
diagnosis: "error",
|
|
49
|
+
localMigrationCount: 0,
|
|
50
|
+
appliedHashCount: 0,
|
|
51
|
+
expectedTables: [],
|
|
52
|
+
missingTables: [],
|
|
53
|
+
error: `${require_config.MISSING_CONFIG_MESSAGE} in current directory`
|
|
54
|
+
};
|
|
55
|
+
const binding = await effect.Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));
|
|
56
|
+
const { diagnosePlugin } = await Promise.resolve().then(() => require("../cli/db-doctor.cjs"));
|
|
57
|
+
return {
|
|
58
|
+
status: "success",
|
|
59
|
+
...await diagnosePlugin(binding)
|
|
60
|
+
};
|
|
61
|
+
} catch (error) {
|
|
62
|
+
return {
|
|
63
|
+
status: "error",
|
|
64
|
+
plugin: input.plugin,
|
|
65
|
+
slug: "",
|
|
66
|
+
journalTable: "",
|
|
67
|
+
journalSchema: "",
|
|
68
|
+
diagnosis: "error",
|
|
69
|
+
localMigrationCount: 0,
|
|
70
|
+
appliedHashCount: 0,
|
|
71
|
+
expectedTables: [],
|
|
72
|
+
missingTables: [],
|
|
73
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}),
|
|
77
|
+
dbRepair: builder.dbRepair.handler(async ({ input, context }) => {
|
|
78
|
+
const deps = effect.Context.get(context["effect/context"], require_shared.BosDepsTag);
|
|
79
|
+
try {
|
|
80
|
+
if (!require_config.findConfigPath()) return {
|
|
81
|
+
status: "error",
|
|
82
|
+
message: require_config.MISSING_CONFIG_MESSAGE,
|
|
83
|
+
diagnosis: null,
|
|
84
|
+
error: "No config"
|
|
85
|
+
};
|
|
86
|
+
const binding = await effect.Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));
|
|
87
|
+
const { repairPlugin } = await Promise.resolve().then(() => require("../cli/db-repair.cjs"));
|
|
88
|
+
const result = await repairPlugin(binding, input.mode ?? "history-reset", deps.drizzleKit);
|
|
89
|
+
return {
|
|
90
|
+
...result,
|
|
91
|
+
error: result.status === "error" ? result.message : void 0
|
|
92
|
+
};
|
|
93
|
+
} catch (error) {
|
|
94
|
+
return {
|
|
95
|
+
status: "error",
|
|
96
|
+
message: error instanceof Error ? error.message : "Unknown error",
|
|
97
|
+
diagnosis: null,
|
|
98
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
})
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
//#endregion
|
|
106
|
+
exports.registerDb = registerDb;
|
|
107
|
+
//# sourceMappingURL=db.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.cjs","names":["Context","BosDepsTag","findConfigPath","MISSING_CONFIG_MESSAGE","Effect"],"sources":["../../src/commands/db.ts"],"sourcesContent":["import { Context, Effect } from \"effect\";\nimport { findConfigPath, MISSING_CONFIG_MESSAGE } from \"../config\";\nimport { type BosBuilder, BosDepsTag } from \"./shared\";\n\nexport function registerDb(builder: BosBuilder) {\n return {\n dbStudio: builder.dbStudio.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n const configPath = findConfigPath();\n if (!configPath) {\n return {\n status: \"error\" as const,\n plugin: input.plugin,\n source: \"remote\" as const,\n section: \"\",\n error: `${MISSING_CONFIG_MESSAGE} in current directory`,\n };\n }\n\n try {\n const binding = await Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));\n await Effect.runPromise(deps.drizzleKit.studio(binding));\n\n return {\n status: \"success\" as const,\n plugin: binding.key,\n source: binding.source,\n section: binding.section,\n databaseSecret: binding.identity.secretName,\n databaseUrl: binding.url,\n workspaceDir: binding.identity.workspaceDir,\n };\n } catch (error) {\n return {\n status: \"error\" as const,\n plugin: input.plugin,\n source: \"remote\" as const,\n section: \"\",\n error: error instanceof Error ? error.message : \"Unknown error\",\n };\n }\n }),\n\n dbDoctor: builder.dbDoctor.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n try {\n const configPath = findConfigPath();\n if (!configPath) {\n return {\n status: \"error\" as const,\n plugin: input.plugin,\n slug: \"\",\n journalTable: \"\",\n journalSchema: \"\",\n diagnosis: \"error\",\n localMigrationCount: 0,\n appliedHashCount: 0,\n expectedTables: [],\n missingTables: [],\n error: `${MISSING_CONFIG_MESSAGE} in current directory`,\n };\n }\n\n const binding = await Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));\n\n const { diagnosePlugin } = await import(\"../cli/db-doctor\");\n const report = await diagnosePlugin(binding);\n\n return {\n status: \"success\" as const,\n ...report,\n };\n } catch (error) {\n return {\n status: \"error\" as const,\n plugin: input.plugin,\n slug: \"\",\n journalTable: \"\",\n journalSchema: \"\",\n diagnosis: \"error\",\n localMigrationCount: 0,\n appliedHashCount: 0,\n expectedTables: [],\n missingTables: [],\n error: error instanceof Error ? error.message : \"Unknown error\",\n };\n }\n }),\n\n dbRepair: builder.dbRepair.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n try {\n const configPath = findConfigPath();\n if (!configPath) {\n return {\n status: \"error\" as const,\n message: MISSING_CONFIG_MESSAGE,\n diagnosis: null,\n error: \"No config\",\n };\n }\n\n const binding = await Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));\n\n const { repairPlugin } = await import(\"../cli/db-repair\");\n const result = await repairPlugin(binding, input.mode ?? \"history-reset\", deps.drizzleKit);\n\n return {\n ...result,\n error: result.status === \"error\" ? result.message : undefined,\n };\n } catch (error) {\n return {\n status: \"error\" as const,\n message: error instanceof Error ? error.message : \"Unknown error\",\n diagnosis: null,\n error: error instanceof Error ? error.message : \"Unknown error\",\n };\n }\n }),\n };\n}\n"],"mappings":";;;;;AAIA,SAAgB,WAAW,SAAqB;CAC9C,OAAO;EACL,UAAU,QAAQ,SAAS,QAAQ,OAAO,EAAE,OAAO,cAAc;GAC/D,MAAM,OAAOA,eAAQ,IAAI,QAAQ,mBAAmBC,yBAAU;GAE9D,IAAI,CADeC,8BACL,GACZ,OAAO;IACL,QAAQ;IACR,QAAQ,MAAM;IACd,QAAQ;IACR,SAAS;IACT,OAAO,GAAGC,sCAAuB;GACnC;GAGF,IAAI;IACF,MAAM,UAAU,MAAMC,cAAO,WAAW,KAAK,iBAAiB,aAAa,MAAM,MAAM,CAAC;IACxF,MAAMA,cAAO,WAAW,KAAK,WAAW,OAAO,OAAO,CAAC;IAEvD,OAAO;KACL,QAAQ;KACR,QAAQ,QAAQ;KAChB,QAAQ,QAAQ;KAChB,SAAS,QAAQ;KACjB,gBAAgB,QAAQ,SAAS;KACjC,aAAa,QAAQ;KACrB,cAAc,QAAQ,SAAS;IACjC;GACF,SAAS,OAAO;IACd,OAAO;KACL,QAAQ;KACR,QAAQ,MAAM;KACd,QAAQ;KACR,SAAS;KACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;IAClD;GACF;EACF,CAAC;EAED,UAAU,QAAQ,SAAS,QAAQ,OAAO,EAAE,OAAO,cAAc;GAC/D,MAAM,OAAOJ,eAAQ,IAAI,QAAQ,mBAAmBC,yBAAU;GAC9D,IAAI;IAEF,IAAI,CADeC,8BACL,GACZ,OAAO;KACL,QAAQ;KACR,QAAQ,MAAM;KACd,MAAM;KACN,cAAc;KACd,eAAe;KACf,WAAW;KACX,qBAAqB;KACrB,kBAAkB;KAClB,gBAAgB,CAAC;KACjB,eAAe,CAAC;KAChB,OAAO,GAAGC,sCAAuB;IACnC;IAGF,MAAM,UAAU,MAAMC,cAAO,WAAW,KAAK,iBAAiB,aAAa,MAAM,MAAM,CAAC;IAExF,MAAM,EAAE,mBAAmB,2CAAM;IAGjC,OAAO;KACL,QAAQ;KACR,GAAG,MAJgB,eAAe,OAAO;IAK3C;GACF,SAAS,OAAO;IACd,OAAO;KACL,QAAQ;KACR,QAAQ,MAAM;KACd,MAAM;KACN,cAAc;KACd,eAAe;KACf,WAAW;KACX,qBAAqB;KACrB,kBAAkB;KAClB,gBAAgB,CAAC;KACjB,eAAe,CAAC;KAChB,OAAO,iBAAiB,QAAQ,MAAM,UAAU;IAClD;GACF;EACF,CAAC;EAED,UAAU,QAAQ,SAAS,QAAQ,OAAO,EAAE,OAAO,cAAc;GAC/D,MAAM,OAAOJ,eAAQ,IAAI,QAAQ,mBAAmBC,yBAAU;GAC9D,IAAI;IAEF,IAAI,CADeC,8BACL,GACZ,OAAO;KACL,QAAQ;KACR,SAASC;KACT,WAAW;KACX,OAAO;IACT;IAGF,MAAM,UAAU,MAAMC,cAAO,WAAW,KAAK,iBAAiB,aAAa,MAAM,MAAM,CAAC;IAExF,MAAM,EAAE,iBAAiB,2CAAM;IAC/B,MAAM,SAAS,MAAM,aAAa,SAAS,MAAM,QAAQ,iBAAiB,KAAK,UAAU;IAEzF,OAAO;KACL,GAAG;KACH,OAAO,OAAO,WAAW,UAAU,OAAO,UAAU;IACtD;GACF,SAAS,OAAO;IACd,OAAO;KACL,QAAQ;KACR,SAAS,iBAAiB,QAAQ,MAAM,UAAU;KAClD,WAAW;KACX,OAAO,iBAAiB,QAAQ,MAAM,UAAU;IAClD;GACF;EACF,CAAC;CACH;AACF"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { MISSING_CONFIG_MESSAGE, findConfigPath } from "../config.mjs";
|
|
2
|
+
import { BosDepsTag } from "./shared.mjs";
|
|
3
|
+
import { Context, Effect } from "effect";
|
|
4
|
+
|
|
5
|
+
//#region src/commands/db.ts
|
|
6
|
+
function registerDb(builder) {
|
|
7
|
+
return {
|
|
8
|
+
dbStudio: builder.dbStudio.handler(async ({ input, context }) => {
|
|
9
|
+
const deps = Context.get(context["effect/context"], BosDepsTag);
|
|
10
|
+
if (!findConfigPath()) return {
|
|
11
|
+
status: "error",
|
|
12
|
+
plugin: input.plugin,
|
|
13
|
+
source: "remote",
|
|
14
|
+
section: "",
|
|
15
|
+
error: `${MISSING_CONFIG_MESSAGE} in current directory`
|
|
16
|
+
};
|
|
17
|
+
try {
|
|
18
|
+
const binding = await Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));
|
|
19
|
+
await Effect.runPromise(deps.drizzleKit.studio(binding));
|
|
20
|
+
return {
|
|
21
|
+
status: "success",
|
|
22
|
+
plugin: binding.key,
|
|
23
|
+
source: binding.source,
|
|
24
|
+
section: binding.section,
|
|
25
|
+
databaseSecret: binding.identity.secretName,
|
|
26
|
+
databaseUrl: binding.url,
|
|
27
|
+
workspaceDir: binding.identity.workspaceDir
|
|
28
|
+
};
|
|
29
|
+
} catch (error) {
|
|
30
|
+
return {
|
|
31
|
+
status: "error",
|
|
32
|
+
plugin: input.plugin,
|
|
33
|
+
source: "remote",
|
|
34
|
+
section: "",
|
|
35
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}),
|
|
39
|
+
dbDoctor: builder.dbDoctor.handler(async ({ input, context }) => {
|
|
40
|
+
const deps = Context.get(context["effect/context"], BosDepsTag);
|
|
41
|
+
try {
|
|
42
|
+
if (!findConfigPath()) return {
|
|
43
|
+
status: "error",
|
|
44
|
+
plugin: input.plugin,
|
|
45
|
+
slug: "",
|
|
46
|
+
journalTable: "",
|
|
47
|
+
journalSchema: "",
|
|
48
|
+
diagnosis: "error",
|
|
49
|
+
localMigrationCount: 0,
|
|
50
|
+
appliedHashCount: 0,
|
|
51
|
+
expectedTables: [],
|
|
52
|
+
missingTables: [],
|
|
53
|
+
error: `${MISSING_CONFIG_MESSAGE} in current directory`
|
|
54
|
+
};
|
|
55
|
+
const binding = await Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));
|
|
56
|
+
const { diagnosePlugin } = await import("../cli/db-doctor.mjs");
|
|
57
|
+
return {
|
|
58
|
+
status: "success",
|
|
59
|
+
...await diagnosePlugin(binding)
|
|
60
|
+
};
|
|
61
|
+
} catch (error) {
|
|
62
|
+
return {
|
|
63
|
+
status: "error",
|
|
64
|
+
plugin: input.plugin,
|
|
65
|
+
slug: "",
|
|
66
|
+
journalTable: "",
|
|
67
|
+
journalSchema: "",
|
|
68
|
+
diagnosis: "error",
|
|
69
|
+
localMigrationCount: 0,
|
|
70
|
+
appliedHashCount: 0,
|
|
71
|
+
expectedTables: [],
|
|
72
|
+
missingTables: [],
|
|
73
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}),
|
|
77
|
+
dbRepair: builder.dbRepair.handler(async ({ input, context }) => {
|
|
78
|
+
const deps = Context.get(context["effect/context"], BosDepsTag);
|
|
79
|
+
try {
|
|
80
|
+
if (!findConfigPath()) return {
|
|
81
|
+
status: "error",
|
|
82
|
+
message: MISSING_CONFIG_MESSAGE,
|
|
83
|
+
diagnosis: null,
|
|
84
|
+
error: "No config"
|
|
85
|
+
};
|
|
86
|
+
const binding = await Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));
|
|
87
|
+
const { repairPlugin } = await import("../cli/db-repair.mjs");
|
|
88
|
+
const result = await repairPlugin(binding, input.mode ?? "history-reset", deps.drizzleKit);
|
|
89
|
+
return {
|
|
90
|
+
...result,
|
|
91
|
+
error: result.status === "error" ? result.message : void 0
|
|
92
|
+
};
|
|
93
|
+
} catch (error) {
|
|
94
|
+
return {
|
|
95
|
+
status: "error",
|
|
96
|
+
message: error instanceof Error ? error.message : "Unknown error",
|
|
97
|
+
diagnosis: null,
|
|
98
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
})
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
//#endregion
|
|
106
|
+
export { registerDb };
|
|
107
|
+
//# sourceMappingURL=db.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.mjs","names":[],"sources":["../../src/commands/db.ts"],"sourcesContent":["import { Context, Effect } from \"effect\";\nimport { findConfigPath, MISSING_CONFIG_MESSAGE } from \"../config\";\nimport { type BosBuilder, BosDepsTag } from \"./shared\";\n\nexport function registerDb(builder: BosBuilder) {\n return {\n dbStudio: builder.dbStudio.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n const configPath = findConfigPath();\n if (!configPath) {\n return {\n status: \"error\" as const,\n plugin: input.plugin,\n source: \"remote\" as const,\n section: \"\",\n error: `${MISSING_CONFIG_MESSAGE} in current directory`,\n };\n }\n\n try {\n const binding = await Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));\n await Effect.runPromise(deps.drizzleKit.studio(binding));\n\n return {\n status: \"success\" as const,\n plugin: binding.key,\n source: binding.source,\n section: binding.section,\n databaseSecret: binding.identity.secretName,\n databaseUrl: binding.url,\n workspaceDir: binding.identity.workspaceDir,\n };\n } catch (error) {\n return {\n status: \"error\" as const,\n plugin: input.plugin,\n source: \"remote\" as const,\n section: \"\",\n error: error instanceof Error ? error.message : \"Unknown error\",\n };\n }\n }),\n\n dbDoctor: builder.dbDoctor.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n try {\n const configPath = findConfigPath();\n if (!configPath) {\n return {\n status: \"error\" as const,\n plugin: input.plugin,\n slug: \"\",\n journalTable: \"\",\n journalSchema: \"\",\n diagnosis: \"error\",\n localMigrationCount: 0,\n appliedHashCount: 0,\n expectedTables: [],\n missingTables: [],\n error: `${MISSING_CONFIG_MESSAGE} in current directory`,\n };\n }\n\n const binding = await Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));\n\n const { diagnosePlugin } = await import(\"../cli/db-doctor\");\n const report = await diagnosePlugin(binding);\n\n return {\n status: \"success\" as const,\n ...report,\n };\n } catch (error) {\n return {\n status: \"error\" as const,\n plugin: input.plugin,\n slug: \"\",\n journalTable: \"\",\n journalSchema: \"\",\n diagnosis: \"error\",\n localMigrationCount: 0,\n appliedHashCount: 0,\n expectedTables: [],\n missingTables: [],\n error: error instanceof Error ? error.message : \"Unknown error\",\n };\n }\n }),\n\n dbRepair: builder.dbRepair.handler(async ({ input, context }) => {\n const deps = Context.get(context[\"effect/context\"], BosDepsTag);\n try {\n const configPath = findConfigPath();\n if (!configPath) {\n return {\n status: \"error\" as const,\n message: MISSING_CONFIG_MESSAGE,\n diagnosis: null,\n error: \"No config\",\n };\n }\n\n const binding = await Effect.runPromise(deps.databaseBindings.forPluginKey(input.plugin));\n\n const { repairPlugin } = await import(\"../cli/db-repair\");\n const result = await repairPlugin(binding, input.mode ?? \"history-reset\", deps.drizzleKit);\n\n return {\n ...result,\n error: result.status === \"error\" ? result.message : undefined,\n };\n } catch (error) {\n return {\n status: \"error\" as const,\n message: error instanceof Error ? error.message : \"Unknown error\",\n diagnosis: null,\n error: error instanceof Error ? error.message : \"Unknown error\",\n };\n }\n }),\n };\n}\n"],"mappings":";;;;;AAIA,SAAgB,WAAW,SAAqB;CAC9C,OAAO;EACL,UAAU,QAAQ,SAAS,QAAQ,OAAO,EAAE,OAAO,cAAc;GAC/D,MAAM,OAAO,QAAQ,IAAI,QAAQ,mBAAmB,UAAU;GAE9D,IAAI,CADe,eACL,GACZ,OAAO;IACL,QAAQ;IACR,QAAQ,MAAM;IACd,QAAQ;IACR,SAAS;IACT,OAAO,GAAG,uBAAuB;GACnC;GAGF,IAAI;IACF,MAAM,UAAU,MAAM,OAAO,WAAW,KAAK,iBAAiB,aAAa,MAAM,MAAM,CAAC;IACxF,MAAM,OAAO,WAAW,KAAK,WAAW,OAAO,OAAO,CAAC;IAEvD,OAAO;KACL,QAAQ;KACR,QAAQ,QAAQ;KAChB,QAAQ,QAAQ;KAChB,SAAS,QAAQ;KACjB,gBAAgB,QAAQ,SAAS;KACjC,aAAa,QAAQ;KACrB,cAAc,QAAQ,SAAS;IACjC;GACF,SAAS,OAAO;IACd,OAAO;KACL,QAAQ;KACR,QAAQ,MAAM;KACd,QAAQ;KACR,SAAS;KACT,OAAO,iBAAiB,QAAQ,MAAM,UAAU;IAClD;GACF;EACF,CAAC;EAED,UAAU,QAAQ,SAAS,QAAQ,OAAO,EAAE,OAAO,cAAc;GAC/D,MAAM,OAAO,QAAQ,IAAI,QAAQ,mBAAmB,UAAU;GAC9D,IAAI;IAEF,IAAI,CADe,eACL,GACZ,OAAO;KACL,QAAQ;KACR,QAAQ,MAAM;KACd,MAAM;KACN,cAAc;KACd,eAAe;KACf,WAAW;KACX,qBAAqB;KACrB,kBAAkB;KAClB,gBAAgB,CAAC;KACjB,eAAe,CAAC;KAChB,OAAO,GAAG,uBAAuB;IACnC;IAGF,MAAM,UAAU,MAAM,OAAO,WAAW,KAAK,iBAAiB,aAAa,MAAM,MAAM,CAAC;IAExF,MAAM,EAAE,mBAAmB,MAAM,OAAO;IAGxC,OAAO;KACL,QAAQ;KACR,GAAG,MAJgB,eAAe,OAAO;IAK3C;GACF,SAAS,OAAO;IACd,OAAO;KACL,QAAQ;KACR,QAAQ,MAAM;KACd,MAAM;KACN,cAAc;KACd,eAAe;KACf,WAAW;KACX,qBAAqB;KACrB,kBAAkB;KAClB,gBAAgB,CAAC;KACjB,eAAe,CAAC;KAChB,OAAO,iBAAiB,QAAQ,MAAM,UAAU;IAClD;GACF;EACF,CAAC;EAED,UAAU,QAAQ,SAAS,QAAQ,OAAO,EAAE,OAAO,cAAc;GAC/D,MAAM,OAAO,QAAQ,IAAI,QAAQ,mBAAmB,UAAU;GAC9D,IAAI;IAEF,IAAI,CADe,eACL,GACZ,OAAO;KACL,QAAQ;KACR,SAAS;KACT,WAAW;KACX,OAAO;IACT;IAGF,MAAM,UAAU,MAAM,OAAO,WAAW,KAAK,iBAAiB,aAAa,MAAM,MAAM,CAAC;IAExF,MAAM,EAAE,iBAAiB,MAAM,OAAO;IACtC,MAAM,SAAS,MAAM,aAAa,SAAS,MAAM,QAAQ,iBAAiB,KAAK,UAAU;IAEzF,OAAO;KACL,GAAG;KACH,OAAO,OAAO,WAAW,UAAU,OAAO,UAAU;IACtD;GACF,SAAS,OAAO;IACd,OAAO;KACL,QAAQ;KACR,SAAS,iBAAiB,QAAQ,MAAM,UAAU;KAClD,WAAW;KACX,OAAO,iBAAiB,QAAQ,MAAM,UAAU;IAClD;GACF;EACF,CAAC;CACH;AACF"}
|