@vendure/cloud 0.3.2 → 0.5.0-dev.20261014172655.g652e750
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 +50 -11
- package/dist/cli/arguments.d.ts.map +1 -1
- package/dist/cli/arguments.js +9 -31
- package/dist/cli/arguments.js.map +1 -1
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js +13 -30
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/deployment/arguments.d.ts.map +1 -1
- package/dist/cli/commands/deployment/arguments.js +1 -8
- package/dist/cli/commands/deployment/arguments.js.map +1 -1
- package/dist/cli/commands/deployment/build-logs.d.ts.map +1 -1
- package/dist/cli/commands/deployment/build-logs.js +14 -25
- package/dist/cli/commands/deployment/build-logs.js.map +1 -1
- package/dist/cli/commands/deployment/deploy.d.ts.map +1 -1
- package/dist/cli/commands/deployment/deploy.js +108 -95
- package/dist/cli/commands/deployment/deploy.js.map +1 -1
- package/dist/cli/commands/deployment/index.d.ts.map +1 -1
- package/dist/cli/commands/deployment/index.js +66 -53
- package/dist/cli/commands/deployment/index.js.map +1 -1
- package/dist/cli/commands/deployment/list.d.ts.map +1 -1
- package/dist/cli/commands/deployment/list.js +5 -5
- package/dist/cli/commands/deployment/list.js.map +1 -1
- package/dist/cli/commands/deployment/log-export.d.ts +13 -0
- package/dist/cli/commands/deployment/log-export.d.ts.map +1 -0
- package/dist/cli/commands/deployment/log-export.js +120 -0
- package/dist/cli/commands/deployment/log-export.js.map +1 -0
- package/dist/cli/commands/deployment/log-query-output.d.ts +13 -0
- package/dist/cli/commands/deployment/log-query-output.d.ts.map +1 -0
- package/dist/cli/commands/deployment/log-query-output.js +92 -0
- package/dist/cli/commands/deployment/log-query-output.js.map +1 -0
- package/dist/cli/commands/deployment/logs.d.ts +1 -0
- package/dist/cli/commands/deployment/logs.d.ts.map +1 -1
- package/dist/cli/commands/deployment/logs.js +331 -73
- package/dist/cli/commands/deployment/logs.js.map +1 -1
- package/dist/cli/commands/deployment/options.d.ts +2 -6
- package/dist/cli/commands/deployment/options.d.ts.map +1 -1
- package/dist/cli/commands/deployment/options.js +18 -15
- package/dist/cli/commands/deployment/options.js.map +1 -1
- package/dist/cli/commands/deployment/plan-format.d.ts.map +1 -1
- package/dist/cli/commands/deployment/plan-format.js +2 -2
- package/dist/cli/commands/deployment/plan-format.js.map +1 -1
- package/dist/cli/commands/deployment/plan.d.ts +1 -1
- package/dist/cli/commands/deployment/plan.d.ts.map +1 -1
- package/dist/cli/commands/deployment/plan.js +11 -14
- package/dist/cli/commands/deployment/plan.js.map +1 -1
- package/dist/cli/commands/deployment/recovery.d.ts +9 -0
- package/dist/cli/commands/deployment/recovery.d.ts.map +1 -0
- package/dist/cli/commands/deployment/recovery.js +76 -0
- package/dist/cli/commands/deployment/recovery.js.map +1 -0
- package/dist/cli/commands/deployment/rollback.d.ts.map +1 -1
- package/dist/cli/commands/deployment/rollback.js +61 -10
- package/dist/cli/commands/deployment/rollback.js.map +1 -1
- package/dist/cli/commands/deployment/shared.d.ts.map +1 -1
- package/dist/cli/commands/deployment/shared.js +4 -7
- package/dist/cli/commands/deployment/shared.js.map +1 -1
- package/dist/cli/commands/deployment/show.d.ts.map +1 -1
- package/dist/cli/commands/deployment/show.js +19 -9
- package/dist/cli/commands/deployment/show.js.map +1 -1
- package/dist/cli/commands/deployment/source.d.ts +1 -12
- package/dist/cli/commands/deployment/source.d.ts.map +1 -1
- package/dist/cli/commands/deployment/source.js +6 -14
- package/dist/cli/commands/deployment/source.js.map +1 -1
- package/dist/cli/commands/deployment/status.d.ts.map +1 -1
- package/dist/cli/commands/deployment/status.js +30 -29
- package/dist/cli/commands/deployment/status.js.map +1 -1
- package/dist/cli/commands/deployment/teardown.d.ts.map +1 -1
- package/dist/cli/commands/deployment/teardown.js +28 -26
- package/dist/cli/commands/deployment/teardown.js.map +1 -1
- package/dist/cli/commands/identity-context/context.d.ts.map +1 -1
- package/dist/cli/commands/identity-context/context.js +3 -4
- package/dist/cli/commands/identity-context/context.js.map +1 -1
- package/dist/cli/commands/identity-context/index.d.ts.map +1 -1
- package/dist/cli/commands/identity-context/index.js +16 -50
- package/dist/cli/commands/identity-context/index.js.map +1 -1
- package/dist/cli/commands/identity-context/keys.d.ts.map +1 -1
- package/dist/cli/commands/identity-context/keys.js +19 -20
- package/dist/cli/commands/identity-context/keys.js.map +1 -1
- package/dist/cli/commands/identity-context/use.d.ts.map +1 -1
- package/dist/cli/commands/identity-context/use.js +3 -4
- package/dist/cli/commands/identity-context/use.js.map +1 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +9 -21
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/project-config/config/build-fields.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/build-fields.js +2 -3
- package/dist/cli/commands/project-config/config/build-fields.js.map +1 -1
- package/dist/cli/commands/project-config/config/build.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/build.js +8 -9
- package/dist/cli/commands/project-config/config/build.js.map +1 -1
- package/dist/cli/commands/project-config/config/desired-state.d.ts +1 -1
- package/dist/cli/commands/project-config/config/desired-state.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/desired-state.js +12 -13
- package/dist/cli/commands/project-config/config/desired-state.js.map +1 -1
- package/dist/cli/commands/project-config/config/email/domain.d.ts +5 -0
- package/dist/cli/commands/project-config/config/email/domain.d.ts.map +1 -0
- package/dist/cli/commands/project-config/config/email/domain.js +83 -0
- package/dist/cli/commands/project-config/config/email/domain.js.map +1 -0
- package/dist/cli/commands/project-config/config/email/events.d.ts +4 -0
- package/dist/cli/commands/project-config/config/email/events.d.ts.map +1 -0
- package/dist/cli/commands/project-config/config/email/events.js +55 -0
- package/dist/cli/commands/project-config/config/email/events.js.map +1 -0
- package/dist/cli/commands/project-config/config/email/index.d.ts +2 -0
- package/dist/cli/commands/project-config/config/email/index.d.ts.map +1 -0
- package/dist/cli/commands/project-config/config/email/index.js +107 -0
- package/dist/cli/commands/project-config/config/email/index.js.map +1 -0
- package/dist/cli/commands/project-config/config/email/test-sending.d.ts +4 -0
- package/dist/cli/commands/project-config/config/email/test-sending.d.ts.map +1 -0
- package/dist/cli/commands/project-config/config/email/test-sending.js +69 -0
- package/dist/cli/commands/project-config/config/email/test-sending.js.map +1 -0
- package/dist/cli/commands/project-config/config/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/index.js +16 -13
- package/dist/cli/commands/project-config/config/index.js.map +1 -1
- package/dist/cli/commands/project-config/config/runtime.d.ts +2 -1
- package/dist/cli/commands/project-config/config/runtime.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/runtime.js +33 -30
- package/dist/cli/commands/project-config/config/runtime.js.map +1 -1
- package/dist/cli/commands/project-config/config/set.js +3 -3
- package/dist/cli/commands/project-config/config/set.js.map +1 -1
- package/dist/cli/commands/project-config/config/show.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/show.js +7 -7
- package/dist/cli/commands/project-config/config/show.js.map +1 -1
- package/dist/cli/commands/project-config/env/add.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/add.js +4 -3
- package/dist/cli/commands/project-config/env/add.js.map +1 -1
- package/dist/cli/commands/project-config/env/get.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/get.js +7 -2
- package/dist/cli/commands/project-config/env/get.js.map +1 -1
- package/dist/cli/commands/project-config/env/import.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/import.js +15 -8
- package/dist/cli/commands/project-config/env/import.js.map +1 -1
- package/dist/cli/commands/project-config/env/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/index.js +13 -8
- package/dist/cli/commands/project-config/env/index.js.map +1 -1
- package/dist/cli/commands/project-config/env/list.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/list.js +29 -8
- package/dist/cli/commands/project-config/env/list.js.map +1 -1
- package/dist/cli/commands/project-config/env/metadata-options.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/metadata-options.js +0 -1
- package/dist/cli/commands/project-config/env/metadata-options.js.map +1 -1
- package/dist/cli/commands/project-config/env/pull.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/pull.js +22 -8
- package/dist/cli/commands/project-config/env/pull.js.map +1 -1
- package/dist/cli/commands/project-config/env/read-value.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/read-value.js +8 -4
- package/dist/cli/commands/project-config/env/read-value.js.map +1 -1
- package/dist/cli/commands/project-config/env/rm.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/rm.js +4 -3
- package/dist/cli/commands/project-config/env/rm.js.map +1 -1
- package/dist/cli/commands/project-config/env/run.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/run.js +9 -8
- package/dist/cli/commands/project-config/env/run.js.map +1 -1
- package/dist/cli/commands/project-config/env/update.d.ts.map +1 -1
- package/dist/cli/commands/project-config/env/update.js +4 -3
- package/dist/cli/commands/project-config/env/update.js.map +1 -1
- package/dist/cli/commands/project-config/environment/create.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/create.js +5 -6
- package/dist/cli/commands/project-config/environment/create.js.map +1 -1
- package/dist/cli/commands/project-config/environment/delete.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/delete.js +6 -6
- package/dist/cli/commands/project-config/environment/delete.js.map +1 -1
- package/dist/cli/commands/project-config/environment/find.js +3 -3
- package/dist/cli/commands/project-config/environment/find.js.map +1 -1
- package/dist/cli/commands/project-config/environment/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/index.js +18 -6
- package/dist/cli/commands/project-config/environment/index.js.map +1 -1
- package/dist/cli/commands/project-config/environment/initial-superadmin.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/initial-superadmin.js +4 -5
- package/dist/cli/commands/project-config/environment/initial-superadmin.js.map +1 -1
- package/dist/cli/commands/project-config/environment/list.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/list.js +5 -5
- package/dist/cli/commands/project-config/environment/list.js.map +1 -1
- package/dist/cli/commands/project-config/environment/regions.d.ts +6 -0
- package/dist/cli/commands/project-config/environment/regions.d.ts.map +1 -0
- package/dist/cli/commands/project-config/environment/regions.js +22 -0
- package/dist/cli/commands/project-config/environment/regions.js.map +1 -0
- package/dist/cli/commands/project-config/environment/show.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/show.js +3 -4
- package/dist/cli/commands/project-config/environment/show.js.map +1 -1
- package/dist/cli/commands/project-config/environment/update.d.ts.map +1 -1
- package/dist/cli/commands/project-config/environment/update.js +3 -4
- package/dist/cli/commands/project-config/environment/update.js.map +1 -1
- package/dist/cli/commands/project-config/index.js +5 -5
- package/dist/cli/commands/project-config/index.js.map +1 -1
- package/dist/cli/commands/project-config/init/build-detection.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/build-detection.js +4 -4
- package/dist/cli/commands/project-config/init/build-detection.js.map +1 -1
- package/dist/cli/commands/project-config/init/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/index.js +4 -5
- package/dist/cli/commands/project-config/init/index.js.map +1 -1
- package/dist/cli/commands/project-config/init/init.d.ts.map +1 -1
- package/dist/cli/commands/project-config/init/init.js +39 -20
- package/dist/cli/commands/project-config/init/init.js.map +1 -1
- package/dist/cli/commands/project-config/options.d.ts.map +1 -1
- package/dist/cli/commands/project-config/options.js +9 -14
- package/dist/cli/commands/project-config/options.js.map +1 -1
- package/dist/cli/commands/project-config/project/create.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/create.js +3 -3
- package/dist/cli/commands/project-config/project/create.js.map +1 -1
- package/dist/cli/commands/project-config/project/delete.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/delete.js +4 -5
- package/dist/cli/commands/project-config/project/delete.js.map +1 -1
- package/dist/cli/commands/project-config/project/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/index.js +4 -5
- package/dist/cli/commands/project-config/project/index.js.map +1 -1
- package/dist/cli/commands/project-config/project/link.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/link.js +4 -4
- package/dist/cli/commands/project-config/project/link.js.map +1 -1
- package/dist/cli/commands/project-config/project/list.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/list.js +12 -5
- package/dist/cli/commands/project-config/project/list.js.map +1 -1
- package/dist/cli/commands/project-config/project/show.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/show.js +16 -7
- package/dist/cli/commands/project-config/project/show.js.map +1 -1
- package/dist/cli/commands/project-config/project/subscription-state.d.ts +5 -0
- package/dist/cli/commands/project-config/project/subscription-state.d.ts.map +1 -0
- package/dist/cli/commands/project-config/project/subscription-state.js +54 -0
- package/dist/cli/commands/project-config/project/subscription-state.js.map +1 -0
- package/dist/cli/commands/project-config/project/unlink.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/unlink.js +2 -3
- package/dist/cli/commands/project-config/project/unlink.js.map +1 -1
- package/dist/cli/commands/project-config/project/update.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/update.js +3 -4
- package/dist/cli/commands/project-config/project/update.js.map +1 -1
- package/dist/cli/commands/project-config/source/connect.d.ts.map +1 -1
- package/dist/cli/commands/project-config/source/connect.js +27 -29
- package/dist/cli/commands/project-config/source/connect.js.map +1 -1
- package/dist/cli/commands/project-config/source/disconnect.d.ts.map +1 -1
- package/dist/cli/commands/project-config/source/disconnect.js +4 -4
- package/dist/cli/commands/project-config/source/disconnect.js.map +1 -1
- package/dist/cli/commands/project-config/source/index.js +7 -7
- package/dist/cli/commands/project-config/source/index.js.map +1 -1
- package/dist/cli/commands/project-config/source/map.d.ts.map +1 -1
- package/dist/cli/commands/project-config/source/map.js +14 -18
- package/dist/cli/commands/project-config/source/map.js.map +1 -1
- package/dist/cli/commands/project-config/source/repos.d.ts.map +1 -1
- package/dist/cli/commands/project-config/source/repos.js +5 -5
- package/dist/cli/commands/project-config/source/repos.js.map +1 -1
- package/dist/cli/commands/project-config/source/status.d.ts.map +1 -1
- package/dist/cli/commands/project-config/source/status.js +66 -21
- package/dist/cli/commands/project-config/source/status.js.map +1 -1
- package/dist/cli/commands/runtime-data/backup.d.ts +1 -0
- package/dist/cli/commands/runtime-data/backup.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/backup.js +56 -22
- package/dist/cli/commands/runtime-data/backup.js.map +1 -1
- package/dist/cli/commands/runtime-data/index.d.ts +1 -0
- package/dist/cli/commands/runtime-data/index.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/index.js +54 -33
- package/dist/cli/commands/runtime-data/index.js.map +1 -1
- package/dist/cli/commands/runtime-data/resource.d.ts +1 -0
- package/dist/cli/commands/runtime-data/resource.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/resource.js +52 -32
- package/dist/cli/commands/runtime-data/resource.js.map +1 -1
- package/dist/cli/commands/runtime-data/restore.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/restore.js +52 -37
- package/dist/cli/commands/runtime-data/restore.js.map +1 -1
- package/dist/cli/commands/runtime-data/seeds.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/seeds.js +24 -26
- package/dist/cli/commands/runtime-data/seeds.js.map +1 -1
- package/dist/cli/commands/runtime-data/tunnel.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/tunnel.js +33 -43
- package/dist/cli/commands/runtime-data/tunnel.js.map +1 -1
- package/dist/cli/host-arguments.d.ts.map +1 -1
- package/dist/cli/host-arguments.js +10 -18
- package/dist/cli/host-arguments.js.map +1 -1
- package/dist/cli/host-nodes.js +1 -1
- package/dist/cli/host-nodes.js.map +1 -1
- package/dist/cli/index.d.ts +17 -10
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +27 -28
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/api-client.d.ts +10 -5
- package/dist/cli/lib/api-client.d.ts.map +1 -1
- package/dist/cli/lib/api-client.js +23 -42
- package/dist/cli/lib/api-client.js.map +1 -1
- package/dist/cli/lib/auth.d.ts +4 -126
- package/dist/cli/lib/auth.d.ts.map +1 -1
- package/dist/cli/lib/auth.js +8 -495
- package/dist/cli/lib/auth.js.map +1 -1
- package/dist/cli/lib/cli-login.d.ts +12 -0
- package/dist/cli/lib/cli-login.d.ts.map +1 -0
- package/dist/cli/lib/cli-login.js +155 -0
- package/dist/cli/lib/cli-login.js.map +1 -0
- package/dist/cli/lib/cloud-api-url.d.ts +2 -0
- package/dist/cli/lib/cloud-api-url.d.ts.map +1 -0
- package/dist/cli/lib/cloud-api-url.js +3 -0
- package/dist/cli/lib/cloud-api-url.js.map +1 -0
- package/dist/cli/lib/commit.d.ts +4 -0
- package/dist/cli/lib/commit.d.ts.map +1 -0
- package/dist/cli/lib/commit.js +21 -0
- package/dist/cli/lib/commit.js.map +1 -0
- package/dist/cli/lib/config-revisions.d.ts +9 -0
- package/dist/cli/lib/config-revisions.d.ts.map +1 -0
- package/dist/cli/lib/config-revisions.js +52 -0
- package/dist/cli/lib/config-revisions.js.map +1 -0
- package/dist/cli/lib/config.d.ts +0 -4
- package/dist/cli/lib/config.d.ts.map +1 -1
- package/dist/cli/lib/config.js +3 -5
- package/dist/cli/lib/config.js.map +1 -1
- package/dist/cli/lib/console-pairing.d.ts +2 -0
- package/dist/cli/lib/console-pairing.d.ts.map +1 -0
- package/dist/cli/lib/console-pairing.js +58 -0
- package/dist/cli/lib/console-pairing.js.map +1 -0
- package/dist/cli/lib/contract/backup-schedule-reasons.d.ts +4 -0
- package/dist/cli/lib/contract/backup-schedule-reasons.d.ts.map +1 -0
- package/dist/cli/lib/contract/backup-schedule-reasons.js +13 -0
- package/dist/cli/lib/contract/backup-schedule-reasons.js.map +1 -0
- package/dist/cli/lib/contract/build-settings.d.ts +1 -1
- package/dist/cli/lib/contract/build-settings.d.ts.map +1 -1
- package/dist/cli/lib/contract/build-settings.js +12 -18
- package/dist/cli/lib/contract/build-settings.js.map +1 -1
- package/dist/cli/lib/contract/database.d.ts +19 -0
- package/dist/cli/lib/contract/database.d.ts.map +1 -1
- package/dist/cli/lib/contract/database.js +7 -13
- package/dist/cli/lib/contract/database.js.map +1 -1
- package/dist/cli/lib/contract/deployment-resource-labels.d.ts.map +1 -1
- package/dist/cli/lib/contract/deployment-resource-labels.js +2 -6
- package/dist/cli/lib/contract/deployment-resource-labels.js.map +1 -1
- package/dist/cli/lib/contract/deployments.d.ts +14 -0
- package/dist/cli/lib/contract/deployments.d.ts.map +1 -1
- package/dist/cli/lib/contract/deployments.js +54 -24
- package/dist/cli/lib/contract/deployments.js.map +1 -1
- package/dist/cli/lib/contract/desired-state.d.ts +6 -6
- package/dist/cli/lib/contract/desired-state.d.ts.map +1 -1
- package/dist/cli/lib/contract/desired-state.js +52 -55
- package/dist/cli/lib/contract/desired-state.js.map +1 -1
- package/dist/cli/lib/contract/env-vars.d.ts +37 -0
- package/dist/cli/lib/contract/env-vars.d.ts.map +1 -0
- package/dist/cli/lib/contract/env-vars.js +6 -0
- package/dist/cli/lib/contract/env-vars.js.map +1 -0
- package/dist/cli/lib/contract/foreign-credentials.d.ts +14 -25
- package/dist/cli/lib/contract/foreign-credentials.d.ts.map +1 -1
- package/dist/cli/lib/contract/foreign-credentials.js +19 -30
- package/dist/cli/lib/contract/foreign-credentials.js.map +1 -1
- package/dist/cli/lib/contract/logs.d.ts +120 -0
- package/dist/cli/lib/contract/logs.d.ts.map +1 -1
- package/dist/cli/lib/contract/logs.js +113 -16
- package/dist/cli/lib/contract/logs.js.map +1 -1
- package/dist/cli/lib/contract/managed-email.d.ts +57 -0
- package/dist/cli/lib/contract/managed-email.d.ts.map +1 -0
- package/dist/cli/lib/contract/managed-email.js +20 -0
- package/dist/cli/lib/contract/managed-email.js.map +1 -0
- package/dist/cli/lib/contract/permission-denied.d.ts +16 -0
- package/dist/cli/lib/contract/permission-denied.d.ts.map +1 -0
- package/dist/cli/lib/contract/permission-denied.js +20 -0
- package/dist/cli/lib/contract/permission-denied.js.map +1 -0
- package/dist/cli/lib/contract/projects.d.ts +6 -0
- package/dist/cli/lib/contract/projects.d.ts.map +1 -1
- package/dist/cli/lib/contract/projects.js +2 -3
- package/dist/cli/lib/contract/projects.js.map +1 -1
- package/dist/cli/lib/contract/public-error-details.d.ts.map +1 -1
- package/dist/cli/lib/contract/public-error-details.js +28 -43
- package/dist/cli/lib/contract/public-error-details.js.map +1 -1
- package/dist/cli/lib/contract/regions.d.ts +11 -0
- package/dist/cli/lib/contract/regions.d.ts.map +1 -0
- package/dist/cli/lib/contract/regions.js +7 -0
- package/dist/cli/lib/contract/regions.js.map +1 -0
- package/dist/cli/lib/contract/runtime-operations.d.ts +0 -1
- package/dist/cli/lib/contract/runtime-operations.d.ts.map +1 -1
- package/dist/cli/lib/contract/runtime-operations.js +11 -21
- package/dist/cli/lib/contract/runtime-operations.js.map +1 -1
- package/dist/cli/lib/contract/seeds.d.ts.map +1 -1
- package/dist/cli/lib/contract/seeds.js +12 -21
- package/dist/cli/lib/contract/seeds.js.map +1 -1
- package/dist/cli/lib/contract/source-disconnect-reasons.d.ts +4 -0
- package/dist/cli/lib/contract/source-disconnect-reasons.d.ts.map +1 -0
- package/dist/cli/lib/contract/source-disconnect-reasons.js +23 -0
- package/dist/cli/lib/contract/source-disconnect-reasons.js.map +1 -0
- package/dist/cli/lib/contract/source-repository.d.ts +1 -1
- package/dist/cli/lib/contract/source-repository.d.ts.map +1 -1
- package/dist/cli/lib/contract/source-repository.js +6 -9
- package/dist/cli/lib/contract/source-repository.js.map +1 -1
- package/dist/cli/lib/contract/wire-types.d.ts.map +1 -1
- package/dist/cli/lib/contract/wire-types.js +3 -8
- package/dist/cli/lib/contract/wire-types.js.map +1 -1
- package/dist/cli/lib/contract/wire-values.d.ts.map +1 -1
- package/dist/cli/lib/contract/wire-values.js +2 -3
- package/dist/cli/lib/contract/wire-values.js.map +1 -1
- package/dist/cli/lib/dotenv.d.ts +6 -0
- package/dist/cli/lib/dotenv.d.ts.map +1 -1
- package/dist/cli/lib/dotenv.js +62 -20
- package/dist/cli/lib/dotenv.js.map +1 -1
- package/dist/cli/lib/env-file.d.ts.map +1 -1
- package/dist/cli/lib/env-file.js +5 -11
- package/dist/cli/lib/env-file.js.map +1 -1
- package/dist/cli/lib/env-preflight.d.ts +6 -1
- package/dist/cli/lib/env-preflight.d.ts.map +1 -1
- package/dist/cli/lib/env-preflight.js +91 -63
- package/dist/cli/lib/env-preflight.js.map +1 -1
- package/dist/cli/lib/errors.d.ts +17 -19
- package/dist/cli/lib/errors.d.ts.map +1 -1
- package/dist/cli/lib/errors.js +47 -60
- package/dist/cli/lib/errors.js.map +1 -1
- package/dist/cli/lib/format.d.ts.map +1 -1
- package/dist/cli/lib/format.js +3 -5
- package/dist/cli/lib/format.js.map +1 -1
- package/dist/cli/lib/invocation.d.ts +4 -5
- package/dist/cli/lib/invocation.d.ts.map +1 -1
- package/dist/cli/lib/invocation.js +5 -33
- package/dist/cli/lib/invocation.js.map +1 -1
- package/dist/cli/lib/log-stream.d.ts.map +1 -1
- package/dist/cli/lib/log-stream.js +15 -23
- package/dist/cli/lib/log-stream.js.map +1 -1
- package/dist/cli/lib/logger.d.ts.map +1 -1
- package/dist/cli/lib/logger.js +7 -12
- package/dist/cli/lib/logger.js.map +1 -1
- package/dist/cli/lib/organization.d.ts.map +1 -1
- package/dist/cli/lib/organization.js +5 -13
- package/dist/cli/lib/organization.js.map +1 -1
- package/dist/cli/lib/platform-address.d.ts +3 -0
- package/dist/cli/lib/platform-address.d.ts.map +1 -0
- package/dist/cli/lib/platform-address.js +7 -0
- package/dist/cli/lib/platform-address.js.map +1 -0
- package/dist/cli/lib/project-link.d.ts.map +1 -1
- package/dist/cli/lib/project-link.js +2 -4
- package/dist/cli/lib/project-link.js.map +1 -1
- package/dist/cli/lib/resolve.d.ts +2 -6
- package/dist/cli/lib/resolve.d.ts.map +1 -1
- package/dist/cli/lib/resolve.js +35 -34
- package/dist/cli/lib/resolve.js.map +1 -1
- package/dist/cli/lib/source-repository-link.d.ts.map +1 -1
- package/dist/cli/lib/source-repository-link.js +6 -9
- package/dist/cli/lib/source-repository-link.js.map +1 -1
- package/dist/cli/lib/terminal-output.d.ts +12 -0
- package/dist/cli/lib/terminal-output.d.ts.map +1 -0
- package/dist/cli/lib/terminal-output.js +69 -0
- package/dist/cli/lib/terminal-output.js.map +1 -0
- package/dist/cli/lib/types.d.ts +3 -7
- package/dist/cli/lib/types.d.ts.map +1 -1
- package/dist/cli/lib/types.js.map +1 -1
- package/dist/cli/lib/utf8.d.ts +2 -0
- package/dist/cli/lib/utf8.d.ts.map +1 -0
- package/dist/cli/lib/utf8.js +12 -0
- package/dist/cli/lib/utf8.js.map +1 -0
- package/dist/cli/root-options.d.ts.map +1 -1
- package/dist/cli/root-options.js +11 -14
- package/dist/cli/root-options.js.map +1 -1
- package/dist/cli-plugin.d.ts.map +1 -1
- package/dist/cli-plugin.js +2 -6
- package/dist/cli-plugin.js.map +1 -1
- package/dist/cloud-config-module.js +2 -2
- package/dist/cloud-config-module.js.map +1 -1
- package/dist/dev/cli-host.d.ts.map +1 -1
- package/dist/dev/cli-host.js +16 -19
- package/dist/dev/cli-host.js.map +1 -1
- package/dist/dev/dashboard-vite-config.d.ts +1 -0
- package/dist/dev/dashboard-vite-config.d.ts.map +1 -1
- package/dist/dev/dashboard-vite-config.js +26 -6
- package/dist/dev/dashboard-vite-config.js.map +1 -1
- package/dist/dev/dev-command.d.ts.map +1 -1
- package/dist/dev/dev-command.js +76 -39
- package/dist/dev/dev-command.js.map +1 -1
- package/dist/dev/dev-config.d.ts +3 -0
- package/dist/dev/dev-config.d.ts.map +1 -1
- package/dist/dev/dev-config.js +43 -13
- package/dist/dev/dev-config.js.map +1 -1
- package/dist/dev/dev-migrate.js +7 -9
- package/dist/dev/dev-migrate.js.map +1 -1
- package/dist/dev/dev-process.d.ts.map +1 -1
- package/dist/dev/dev-process.js +6 -10
- package/dist/dev/dev-process.js.map +1 -1
- package/dist/dev/dev-server.js +7 -6
- package/dist/dev/dev-server.js.map +1 -1
- package/dist/dev/dev-worker.js +5 -2
- package/dist/dev/dev-worker.js.map +1 -1
- package/dist/dev/local-services.d.ts.map +1 -1
- package/dist/dev/local-services.js +152 -106
- package/dist/dev/local-services.js.map +1 -1
- package/dist/dev/project-layout.d.ts.map +1 -1
- package/dist/dev/project-layout.js +12 -17
- package/dist/dev/project-layout.js.map +1 -1
- package/dist/dev/project-plugin-scope.d.ts +2 -0
- package/dist/dev/project-plugin-scope.d.ts.map +1 -0
- package/dist/dev/project-plugin-scope.js +38 -0
- package/dist/dev/project-plugin-scope.js.map +1 -0
- package/dist/entrypoint.js +2 -0
- package/dist/entrypoint.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -6
- package/dist/index.js.map +1 -1
- package/dist/local-asset-server.d.ts.map +1 -1
- package/dist/local-asset-server.js +7 -13
- package/dist/local-asset-server.js.map +1 -1
- package/dist/local-cache-plugin.d.ts.map +1 -1
- package/dist/local-cache-plugin.js +20 -28
- package/dist/local-cache-plugin.js.map +1 -1
- package/dist/local-cache.d.ts.map +1 -1
- package/dist/local-cache.js +40 -55
- package/dist/local-cache.js.map +1 -1
- package/dist/local-core.d.ts +2 -0
- package/dist/local-core.d.ts.map +1 -0
- package/dist/local-core.js +13 -0
- package/dist/local-core.js.map +1 -0
- package/dist/local-dashboard-plugin.d.ts.map +1 -1
- package/dist/local-dashboard-plugin.js +6 -11
- package/dist/local-dashboard-plugin.js.map +1 -1
- package/dist/local-database.d.ts.map +1 -1
- package/dist/local-database.js +20 -23
- package/dist/local-database.js.map +1 -1
- package/dist/local-durable-execution-plugin.d.ts +15 -0
- package/dist/local-durable-execution-plugin.d.ts.map +1 -0
- package/dist/local-durable-execution-plugin.js +305 -0
- package/dist/local-durable-execution-plugin.js.map +1 -0
- package/dist/local-runtime-guard.d.ts +2 -0
- package/dist/local-runtime-guard.d.ts.map +1 -1
- package/dist/local-runtime-guard.js +40 -3
- package/dist/local-runtime-guard.js.map +1 -1
- package/dist/local-runtime.d.ts.map +1 -1
- package/dist/local-runtime.js +53 -43
- package/dist/local-runtime.js.map +1 -1
- package/package.json +20 -14
- package/dist/cli/commands/identity-context/login.d.ts +0 -2
- package/dist/cli/commands/identity-context/login.d.ts.map +0 -1
- package/dist/cli/commands/identity-context/login.js +0 -158
- package/dist/cli/commands/identity-context/login.js.map +0 -1
- package/dist/cli/commands/identity-context/logout.d.ts +0 -2
- package/dist/cli/commands/identity-context/logout.d.ts.map +0 -1
- package/dist/cli/commands/identity-context/logout.js +0 -12
- package/dist/cli/commands/identity-context/logout.js.map +0 -1
- package/dist/cli/commands/identity-context/org-switch.d.ts +0 -3
- package/dist/cli/commands/identity-context/org-switch.d.ts.map +0 -1
- package/dist/cli/commands/identity-context/org-switch.js +0 -71
- package/dist/cli/commands/identity-context/org-switch.js.map +0 -1
- package/dist/cli/commands/identity-context/whoami.d.ts +0 -3
- package/dist/cli/commands/identity-context/whoami.d.ts.map +0 -1
- package/dist/cli/commands/identity-context/whoami.js +0 -80
- package/dist/cli/commands/identity-context/whoami.js.map +0 -1
- package/dist/cli/lib/file-lock.d.ts +0 -23
- package/dist/cli/lib/file-lock.d.ts.map +0 -1
- package/dist/cli/lib/file-lock.js +0 -121
- package/dist/cli/lib/file-lock.js.map +0 -1
|
@@ -1,88 +1,346 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
import { createAuthenticatedClient, output, resolveEnvironment, sleep, writeJson, } from "../../index.js";
|
|
2
|
+
import { LOG_SERVICES, LOG_SEVERITIES, classifyLogSeverity, } from "../../lib/contract/logs.js";
|
|
3
|
+
import { consumeLogStream } from "../../lib/log-stream.js";
|
|
4
|
+
import { exportLogQuery } from "./log-export.js";
|
|
5
|
+
import { logQueryExitCode, pageCarriesEvents, printQueryEvent, reportRetention, reportScanIncomplete, reportServedWindow, reportUnreadableState, } from "./log-query-output.js";
|
|
6
|
+
import { MAX_REPLAY_LINES, readBooleanOption, readLineCount, readStringOption } from "./options.js";
|
|
7
|
+
import { resolveDeploymentIdInEnvironment } from "./shared.js";
|
|
8
|
+
// `logs` reads a VC Environment's runtime output two ways: the Project-scoped log query for a
|
|
9
|
+
// window of past output, and the SSE stream for `--follow`. Every bound the query applies comes
|
|
10
|
+
// from the capability resource the control plane publishes for the Project.
|
|
11
|
+
//
|
|
12
|
+
// A query is answered oldest line first. The provider pages only forward, so reading the newest
|
|
13
|
+
// lines of a wide window means walking all of it, which spends the read budget a Cell shares
|
|
14
|
+
// between its environments (ADR-0029). A customer wanting recent output narrows the window with
|
|
15
|
+
// `--since` or tails it.
|
|
16
|
+
//
|
|
17
|
+
// A refusal is thrown so `reportCommandError` chooses between prose and the `--json` error envelope
|
|
18
|
+
// in one place. An answer is rendered as lines and bounds, or as one JSON document.
|
|
19
|
+
// The migration job writes to the same endpoint but runs once and finishes, so `contract/logs.ts`
|
|
20
|
+
// names only the two services that can be tailed. Derived from that list so a new service is
|
|
21
|
+
// accepted here without a second edit.
|
|
22
|
+
export const BATCH_ONLY_SERVICE = "migration";
|
|
23
|
+
const TAILABLE_SERVICE_NAMES = [...LOG_SERVICES];
|
|
24
|
+
const FOLLOW_SERVICE_NAMES = [...LOG_SERVICES, BATCH_ONLY_SERVICE];
|
|
25
|
+
// How long the CLI waits for a query the control plane answers outside the request. The poll keys
|
|
26
|
+
// on the answer's state, not on a published bound, so a backend that starts answering `RUNNING`
|
|
27
|
+
// needs no client release.
|
|
28
|
+
const QUERY_POLL_INTERVAL_MS = 2_000;
|
|
29
|
+
const QUERY_POLL_ATTEMPTS = 30;
|
|
30
|
+
// How many pages one command may read. A page is about one provider read from the Cell's shared
|
|
31
|
+
// budget (ADR-0029), and the server also cuts a page on a byte bound, so a window of very long
|
|
32
|
+
// lines pages more often than `--lines` divided by the page size suggests. Twenty pages of the
|
|
33
|
+
// published maximum is the twenty thousand events one window is scanned for; a customer wanting
|
|
34
|
+
// more takes the window as a file.
|
|
35
|
+
const MAX_QUERY_PAGES = 20;
|
|
21
36
|
const SINCE_UNIT_MS = {
|
|
22
37
|
s: 1_000,
|
|
23
38
|
m: 60_000,
|
|
24
39
|
h: 3_600_000,
|
|
25
40
|
d: 86_400_000,
|
|
26
41
|
};
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
// A calendar instant, not a duration. `Date.parse` reads a bare "6" as a year, so a value that is
|
|
43
|
+
// neither a duration nor a dated timestamp is refused instead of becoming 1 January 2006.
|
|
44
|
+
const TIMESTAMP_PATTERN = /^\d{4}-\d{2}-\d{2}([T\s].*)?$/;
|
|
45
|
+
export async function logs({ options, globals }) {
|
|
46
|
+
const requested = readLogOptions(options);
|
|
47
|
+
return requested.follow ? followLogs(requested, globals) : queryLogs(requested, globals);
|
|
48
|
+
}
|
|
49
|
+
function readLogOptions(options) {
|
|
50
|
+
return {
|
|
51
|
+
service: readStringOption(options.service, "--service") ?? "",
|
|
52
|
+
lines: options.lines,
|
|
53
|
+
follow: readBooleanOption(options.follow),
|
|
54
|
+
since: readInstantOption(options.since, "--since"),
|
|
55
|
+
until: readInstantOption(options.until, "--until"),
|
|
56
|
+
include: readStringOption(options.include, "--include"),
|
|
57
|
+
exclude: readStringOption(options.exclude, "--exclude"),
|
|
58
|
+
minimumSeverity: readStringOption(options.minSeverity, "--min-severity"),
|
|
59
|
+
deployment: readStringOption(options.deployment, "--deployment"),
|
|
60
|
+
exportRequested: readBooleanOption(options.export),
|
|
61
|
+
format: readStringOption(options.format, "--format"),
|
|
62
|
+
outputPath: readStringOption(options.output, "--output"),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
// --- Follow: the SSE stream ---
|
|
66
|
+
async function followLogs(requested, globals) {
|
|
67
|
+
const unsupported = queryOnlyFlagsGiven(requested);
|
|
68
|
+
if (unsupported.length > 0) {
|
|
69
|
+
throw new Error(`${andList(unsupported)} ${unsupported.length === 1 ? "searches" : "search"} a window of past output, which --follow does not do. Drop --follow to search, or drop ${unsupported.length === 1 ? "that option" : "those options"} to tail the live stream.`);
|
|
70
|
+
}
|
|
71
|
+
if (globals.json === true) {
|
|
72
|
+
throw new Error("Followed log output is text and does not support --json.");
|
|
73
|
+
}
|
|
74
|
+
if (!FOLLOW_SERVICE_NAMES.includes(requested.service)) {
|
|
75
|
+
throw new Error(`Invalid service "${requested.service}". Must be ${orList(FOLLOW_SERVICE_NAMES.map(quoted))}.`);
|
|
76
|
+
}
|
|
77
|
+
if (!TAILABLE_SERVICE_NAMES.includes(requested.service)) {
|
|
78
|
+
throw new Error("The migration job runs once, so its logs can't be streamed. Omit --follow to fetch them.");
|
|
79
|
+
}
|
|
80
|
+
const { environment } = await resolveEnvironment(globals);
|
|
81
|
+
const client = await createAuthenticatedClient(globals);
|
|
82
|
+
const query = new URLSearchParams({
|
|
83
|
+
service: requested.service,
|
|
84
|
+
lines: String(readLineCount(requested.lines, "--lines", MAX_REPLAY_LINES)),
|
|
46
85
|
});
|
|
47
|
-
if (since)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
if (
|
|
55
|
-
|
|
56
|
-
|
|
86
|
+
if (requested.since)
|
|
87
|
+
query.set("since", requested.since);
|
|
88
|
+
await consumeLogStream(client, `/environments/${environment.id}/logs/stream?${query}`);
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
function queryOnlyFlagsGiven(requested) {
|
|
92
|
+
const given = [];
|
|
93
|
+
if (requested.until !== undefined)
|
|
94
|
+
given.push("--until");
|
|
95
|
+
if (requested.include !== undefined)
|
|
96
|
+
given.push("--include");
|
|
97
|
+
if (requested.exclude !== undefined)
|
|
98
|
+
given.push("--exclude");
|
|
99
|
+
if (requested.minimumSeverity !== undefined)
|
|
100
|
+
given.push("--min-severity");
|
|
101
|
+
if (requested.deployment !== undefined)
|
|
102
|
+
given.push("--deployment");
|
|
103
|
+
if (requested.exportRequested)
|
|
104
|
+
given.push("--export");
|
|
105
|
+
if (requested.format !== undefined)
|
|
106
|
+
given.push("--format");
|
|
107
|
+
if (requested.outputPath !== undefined)
|
|
108
|
+
given.push("--output");
|
|
109
|
+
return given;
|
|
110
|
+
}
|
|
111
|
+
// --- Query: the Project-scoped log query and its export ---
|
|
112
|
+
async function queryLogs(requested, globals) {
|
|
113
|
+
if (!requested.exportRequested &&
|
|
114
|
+
(requested.format !== undefined || requested.outputPath !== undefined)) {
|
|
115
|
+
throw new Error("--format and --output describe an exported file. Add --export to write one.");
|
|
116
|
+
}
|
|
117
|
+
const { project, environment } = await resolveEnvironment(globals);
|
|
118
|
+
const client = await createAuthenticatedClient(globals);
|
|
119
|
+
const capabilities = await client.get(`/projects/${project.id}/log-capabilities`);
|
|
120
|
+
const capability = capabilities.sources.find((published) => published.source === requested.service);
|
|
121
|
+
if (!capability) {
|
|
122
|
+
throw new Error(`Invalid service "${requested.service}". Must be ${orList(capabilities.sources.map((published) => quoted(published.source)))}.`);
|
|
123
|
+
}
|
|
124
|
+
// A search walks at most `MAX_QUERY_PAGES` pages, so the largest budget it honours is that many
|
|
125
|
+
// pages of the published maximum. A larger request is refused, not served short.
|
|
126
|
+
const lines = readLineCount(requested.lines, "--lines", MAX_QUERY_PAGES * capability.maxPageSizeLines);
|
|
127
|
+
const unavailable = unavailableFilters(requested, capability);
|
|
128
|
+
if (unavailable.length > 0) {
|
|
129
|
+
throw new Error(`${andList(unavailable)} cannot be used on "${capability.source}" logs. Vendure Cloud publishes ${orList(capability.filters.map(quoted))} for this source.`);
|
|
130
|
+
}
|
|
131
|
+
const format = readExportFormat(requested, capability);
|
|
132
|
+
const minimumSeverity = readMinimumSeverity(requested);
|
|
133
|
+
const deploymentId = requested.deployment === undefined
|
|
134
|
+
? undefined
|
|
135
|
+
: await resolveDeploymentIdInEnvironment(client, environment.id, requested.deployment);
|
|
136
|
+
const request = {
|
|
137
|
+
environmentIds: [environment.id],
|
|
138
|
+
sources: [capability.source],
|
|
139
|
+
from: requested.since,
|
|
140
|
+
to: requested.until,
|
|
141
|
+
deploymentId,
|
|
142
|
+
include: requested.include,
|
|
143
|
+
exclude: requested.exclude,
|
|
144
|
+
minimumSeverity,
|
|
145
|
+
// An export discards the page the query answers with, so it asks for the smallest page the
|
|
146
|
+
// platform composes. The control plane walks the file at the published maximum.
|
|
147
|
+
pageSize: requested.exportRequested
|
|
148
|
+
? capability.minPageSizeLines
|
|
149
|
+
: clampPageSize(lines, capability),
|
|
150
|
+
};
|
|
151
|
+
const created = await client.post(`/projects/${project.id}/log-queries`, request);
|
|
152
|
+
const query = await settleRunningQuery(client, project.id, created);
|
|
153
|
+
// The control plane decides which answers are a file: a window that matched nothing is exported
|
|
154
|
+
// as an empty file, and a query the published bounds refuse is settled as a failed export
|
|
155
|
+
// carrying the refusal's sentence. An export is therefore requested whatever the first page said.
|
|
156
|
+
if (requested.exportRequested) {
|
|
157
|
+
reportQueryBounds(query, capability, globals);
|
|
158
|
+
return exportLogQuery({
|
|
159
|
+
client,
|
|
160
|
+
projectId: project.id,
|
|
161
|
+
queryId: query.id,
|
|
162
|
+
capability,
|
|
163
|
+
format,
|
|
164
|
+
outputPath: requested.outputPath,
|
|
165
|
+
json: globals.json === true,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
if (!pageCarriesEvents(query.results.state)) {
|
|
169
|
+
if (globals.json === true) {
|
|
170
|
+
writeQueryDocument(query, query.results, [], false);
|
|
171
|
+
return logQueryExitCode(query.results.state);
|
|
172
|
+
}
|
|
173
|
+
reportUnreadableState(query.results, { source: capability.source, capability });
|
|
174
|
+
reportQueryBounds(query, capability, globals);
|
|
175
|
+
return logQueryExitCode(query.results.state);
|
|
176
|
+
}
|
|
177
|
+
return renderQuery({ client, query, capability, lines, globals });
|
|
178
|
+
}
|
|
179
|
+
// Walks the query's pages until the line budget is spent or the window ends, which bounds the
|
|
180
|
+
// command.
|
|
181
|
+
async function renderQuery({ client, query, capability, lines, globals, }) {
|
|
182
|
+
const json = globals.json === true;
|
|
183
|
+
const collected = [];
|
|
184
|
+
const context = { source: capability.source, capability };
|
|
185
|
+
let page = query.results;
|
|
186
|
+
// The page whose state describes the answer is the last one that carried lines. A walk ending on
|
|
187
|
+
// an empty page reached the end of its window, and that page's `NO_MATCHES` would contradict the
|
|
188
|
+
// lines returned.
|
|
189
|
+
let answered = query.results;
|
|
190
|
+
let rendered = 0;
|
|
191
|
+
let leftOnPage = false;
|
|
192
|
+
let scanIncomplete = false;
|
|
193
|
+
for (let read = 1;; read++) {
|
|
194
|
+
if (!pageCarriesEvents(page.state)) {
|
|
195
|
+
// Part way through a walk, an empty answer is the end of the window. Anything else stopped
|
|
196
|
+
// the read, and a cut-short walk must not be presented as complete.
|
|
197
|
+
if (page.state === "NO_LOGS" || page.state === "NO_MATCHES")
|
|
198
|
+
break;
|
|
199
|
+
if (json)
|
|
200
|
+
writeQueryDocument(query, page, collected, false);
|
|
201
|
+
else
|
|
202
|
+
reportUnreadableState(page, context);
|
|
203
|
+
return logQueryExitCode(page.state);
|
|
204
|
+
}
|
|
205
|
+
answered = page;
|
|
206
|
+
if (page.state === "PARTIAL")
|
|
207
|
+
scanIncomplete = true;
|
|
208
|
+
for (const event of page.events) {
|
|
209
|
+
if (rendered >= lines) {
|
|
210
|
+
// A page is floored at the published minimum, so a small `--lines` leaves lines behind on a
|
|
211
|
+
// page the server gave no cursor with.
|
|
212
|
+
leftOnPage = true;
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
if (json)
|
|
216
|
+
collected.push(event);
|
|
217
|
+
else
|
|
218
|
+
printQueryEvent(event, capability);
|
|
219
|
+
rendered += 1;
|
|
220
|
+
}
|
|
221
|
+
// A page with a cursor always carries at least one event, so an empty page made no progress and
|
|
222
|
+
// following its cursor would repeat this read for ever.
|
|
223
|
+
if (rendered >= lines || page.nextCursor === null || page.events.length === 0)
|
|
224
|
+
break;
|
|
225
|
+
if (read >= MAX_QUERY_PAGES)
|
|
226
|
+
break;
|
|
227
|
+
page = await client.get(`/projects/${query.projectId}/log-queries/${encodeURIComponent(query.id)}/results?cursor=${encodeURIComponent(page.nextCursor)}`);
|
|
57
228
|
}
|
|
58
|
-
|
|
59
|
-
|
|
229
|
+
const hasMore = page.nextCursor !== null || leftOnPage;
|
|
230
|
+
if (json) {
|
|
231
|
+
writeQueryDocument(query, answered, collected, hasMore);
|
|
232
|
+
return undefined;
|
|
60
233
|
}
|
|
234
|
+
if (scanIncomplete)
|
|
235
|
+
reportScanIncomplete();
|
|
236
|
+
if (hasMore) {
|
|
237
|
+
output.warn(`Stopped after ${rendered} lines, and this window holds more. Raise --lines, or narrow the window with --since and --until.`);
|
|
238
|
+
}
|
|
239
|
+
reportQueryBounds(query, capability, globals);
|
|
240
|
+
return undefined;
|
|
61
241
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
242
|
+
// One document per run under `--json`. An empty or refused answer writes the same shape with no
|
|
243
|
+
// events, so a caller never needs the exit code to know whether anything was written.
|
|
244
|
+
function writeQueryDocument(query, answered, events, hasMore) {
|
|
245
|
+
writeJson({
|
|
246
|
+
queryId: query.id,
|
|
247
|
+
capabilityVersion: query.capabilityVersion,
|
|
248
|
+
query: query.query,
|
|
249
|
+
state: answered.state,
|
|
250
|
+
truncationReason: answered.truncationReason,
|
|
251
|
+
retention: query.results.retention,
|
|
252
|
+
hasMore,
|
|
253
|
+
events,
|
|
254
|
+
});
|
|
65
255
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const lines = readIntegerOption(options.lines, "--lines");
|
|
71
|
-
const follow = readBooleanOption(options.follow);
|
|
72
|
-
const sinceOption = readStringOption(options.since, "--since");
|
|
73
|
-
const since = sinceOption ? parseSince(sinceOption) : undefined;
|
|
74
|
-
if (!LOG_SERVICE_NAMES.includes(service)) {
|
|
75
|
-
prompts.log.error(`Invalid service "${service}". Must be ${nameList(LOG_SERVICE_NAMES)}.`);
|
|
76
|
-
return 1;
|
|
77
|
-
}
|
|
78
|
-
if (follow && service === BATCH_ONLY_SERVICE) {
|
|
79
|
-
prompts.log.error("The migration job runs once, so its logs can't be streamed. Omit --follow to fetch them.");
|
|
80
|
-
return 1;
|
|
81
|
-
}
|
|
82
|
-
if (follow) {
|
|
83
|
-
await streamLogs(client, environment.id, service, lines, since);
|
|
256
|
+
// Both come from the answer, not the request: the server narrows a window to the searchable floor,
|
|
257
|
+
// and a customer reading an empty page needs to know which window was read.
|
|
258
|
+
function reportQueryBounds(query, capability, globals) {
|
|
259
|
+
if (globals.json === true)
|
|
84
260
|
return;
|
|
261
|
+
reportServedWindow(query.query.from, query.query.to, query.query.windowClamped, capability);
|
|
262
|
+
reportRetention(query.results.retention);
|
|
263
|
+
}
|
|
264
|
+
async function settleRunningQuery(client, projectId, created) {
|
|
265
|
+
let current = created;
|
|
266
|
+
for (let attempt = 1; current.results.state === "RUNNING" && attempt <= QUERY_POLL_ATTEMPTS; attempt++) {
|
|
267
|
+
await sleep(QUERY_POLL_INTERVAL_MS);
|
|
268
|
+
current = await client.get(`/projects/${projectId}/log-queries/${encodeURIComponent(current.id)}`);
|
|
269
|
+
}
|
|
270
|
+
return current;
|
|
271
|
+
}
|
|
272
|
+
// Read from the capability, so a source that gains or loses a filter needs no CLI release.
|
|
273
|
+
function unavailableFilters(requested, capability) {
|
|
274
|
+
const asked = [
|
|
275
|
+
["--since", requested.since !== undefined, "TIME"],
|
|
276
|
+
["--until", requested.until !== undefined, "TIME"],
|
|
277
|
+
["--include", requested.include !== undefined, "INCLUDE_TEXT"],
|
|
278
|
+
["--exclude", requested.exclude !== undefined, "EXCLUDE_TEXT"],
|
|
279
|
+
["--min-severity", requested.minimumSeverity !== undefined, "MINIMUM_SEVERITY"],
|
|
280
|
+
["--deployment", requested.deployment !== undefined, "DEPLOYMENT"],
|
|
281
|
+
];
|
|
282
|
+
return asked
|
|
283
|
+
.filter(([, given, filter]) => given && !capability.filters.includes(filter))
|
|
284
|
+
.map(([flag]) => flag);
|
|
285
|
+
}
|
|
286
|
+
function readExportFormat(requested, capability) {
|
|
287
|
+
if (requested.format === undefined)
|
|
288
|
+
return undefined;
|
|
289
|
+
const asked = requested.format.trim().toUpperCase();
|
|
290
|
+
const published = capability.exportFormats.find((format) => format === asked);
|
|
291
|
+
if (published === undefined) {
|
|
292
|
+
throw new Error(`Invalid --format "${requested.format}". This source exports ${orList(capability.exportFormats.map((format) => quoted(format.toLowerCase())))}.`);
|
|
293
|
+
}
|
|
294
|
+
return published;
|
|
295
|
+
}
|
|
296
|
+
function readMinimumSeverity(requested) {
|
|
297
|
+
if (requested.minimumSeverity === undefined)
|
|
298
|
+
return undefined;
|
|
299
|
+
const severity = classifyLogSeverity(requested.minimumSeverity);
|
|
300
|
+
if (severity === null) {
|
|
301
|
+
throw new Error(`Invalid --min-severity "${requested.minimumSeverity}". Must be ${orList(LOG_SEVERITIES.map(quoted))}.`);
|
|
302
|
+
}
|
|
303
|
+
return severity;
|
|
304
|
+
}
|
|
305
|
+
// A page below the published floor costs the same provider read as one at it, so a customer asking
|
|
306
|
+
// for fewer lines is served a page and shown the part they asked for.
|
|
307
|
+
function clampPageSize(lines, capability) {
|
|
308
|
+
return Math.min(Math.max(lines, capability.minPageSizeLines), capability.maxPageSizeLines);
|
|
309
|
+
}
|
|
310
|
+
// A `--since` or `--until` value as the ISO-8601 instant the control plane understands. A value
|
|
311
|
+
// nothing can parse is refused before any request.
|
|
312
|
+
function readInstantOption(value, flag) {
|
|
313
|
+
const given = readStringOption(value, flag);
|
|
314
|
+
return given === undefined ? undefined : parseInstant(given, flag);
|
|
315
|
+
}
|
|
316
|
+
// A duration such as "30m", "6h" or "2d" is that long before now; anything else must be a dated
|
|
317
|
+
// timestamp.
|
|
318
|
+
function parseInstant(value, flag) {
|
|
319
|
+
const trimmed = value.trim();
|
|
320
|
+
const duration = trimmed.match(/^(\d+)\s*([smhd])$/i);
|
|
321
|
+
const unitMs = duration ? SINCE_UNIT_MS[duration[2].toLowerCase()] : undefined;
|
|
322
|
+
if (duration && unitMs !== undefined) {
|
|
323
|
+
return new Date(Date.now() - Number(duration[1]) * unitMs).toISOString();
|
|
85
324
|
}
|
|
86
|
-
|
|
325
|
+
const parsed = TIMESTAMP_PATTERN.test(trimmed) ? Date.parse(trimmed) : Number.NaN;
|
|
326
|
+
if (Number.isFinite(parsed))
|
|
327
|
+
return new Date(parsed).toISOString();
|
|
328
|
+
throw new Error(`Invalid ${flag} value "${value}". Use a number followed by s, m, h, or d (e.g. 30m, 6h, 2d), or an ISO-8601 timestamp.`);
|
|
329
|
+
}
|
|
330
|
+
// The refusal names the list it checked, so the message cannot drift from the contract. Two joins:
|
|
331
|
+
// a choice the caller picks one of reads "a, b, or c", and supplied options read "a, b, and c".
|
|
332
|
+
function orList(names) {
|
|
333
|
+
return joinList(names, "or");
|
|
334
|
+
}
|
|
335
|
+
function andList(names) {
|
|
336
|
+
return joinList(names, "and");
|
|
337
|
+
}
|
|
338
|
+
function joinList(names, conjunction) {
|
|
339
|
+
if (names.length < 2)
|
|
340
|
+
return names.join("");
|
|
341
|
+
return `${names.slice(0, -1).join(", ")}, ${conjunction} ${names[names.length - 1]}`;
|
|
342
|
+
}
|
|
343
|
+
function quoted(name) {
|
|
344
|
+
return `"${name}"`;
|
|
87
345
|
}
|
|
88
346
|
//# sourceMappingURL=logs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/logs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/logs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
export interface DeploymentImageOptions {
|
|
2
|
-
serverImage?: string;
|
|
3
|
-
workerImage?: string;
|
|
4
|
-
migrationImage?: string;
|
|
5
|
-
}
|
|
6
1
|
export declare function readStringOption(value: unknown, flag: string): string | undefined;
|
|
7
2
|
export declare function readBooleanOption(value: unknown): boolean;
|
|
8
3
|
export declare function readNegatableOption(value: unknown): boolean;
|
|
9
4
|
export declare function readIntegerOption(value: unknown, flag: string): number;
|
|
10
|
-
export declare function
|
|
5
|
+
export declare function readLineCount(value: unknown, flag: string, max: number): number;
|
|
6
|
+
export declare const MAX_REPLAY_LINES = 1000;
|
|
11
7
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/options.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEjF;AAID,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEzD;AAGD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE3D;AAOD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMtE;AAKD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/E;AAGD,eAAO,MAAM,gBAAgB,OAAQ,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { readSingleValue } from "../../arguments.js";
|
|
2
|
+
// The host hands a command its options as `Record<string, unknown>`. Each reader narrows one entry
|
|
3
|
+
// and refuses a shape the command did not declare.
|
|
2
4
|
export function readStringOption(value, flag) {
|
|
3
5
|
return readSingleValue(value, flag);
|
|
4
6
|
}
|
|
5
|
-
// Commander gives a boolean flag `true` when
|
|
6
|
-
//
|
|
7
|
-
// exactly true", so an absent flag and a flag the host handed over in some other shape both answer
|
|
8
|
-
// the same as not supplying it.
|
|
7
|
+
// Commander gives a boolean flag `true` when supplied and leaves it absent otherwise, and gives a
|
|
8
|
+
// `--no-` flag `true` by default and `false` when supplied. Any other shape reads as not supplied.
|
|
9
9
|
export function readBooleanOption(value) {
|
|
10
10
|
return value === true;
|
|
11
11
|
}
|
|
@@ -13,13 +13,11 @@ export function readBooleanOption(value) {
|
|
|
13
13
|
export function readNegatableOption(value) {
|
|
14
14
|
return value !== false;
|
|
15
15
|
}
|
|
16
|
-
// A count declared with a string default,
|
|
16
|
+
// A count declared with a string default, as `--limit` and `--lines` are.
|
|
17
17
|
// Commander does not coerce, so the value is the customer's text or the declared default.
|
|
18
18
|
//
|
|
19
|
-
// The parse is not range-checked
|
|
20
|
-
//
|
|
21
|
-
// `deployment logs --lines`, because it decides how much history a stream replays; `build-logs.ts`
|
|
22
|
-
// holds that check.
|
|
19
|
+
// The parse is not range-checked: text that is not a number reaches the control plane as
|
|
20
|
+
// `limit=NaN` and is refused there.
|
|
23
21
|
export function readIntegerOption(value, flag) {
|
|
24
22
|
const text = readStringOption(value, flag);
|
|
25
23
|
if (text === undefined) {
|
|
@@ -27,11 +25,16 @@ export function readIntegerOption(value, flag) {
|
|
|
27
25
|
}
|
|
28
26
|
return Number.parseInt(text, 10);
|
|
29
27
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
// A line count the CLI holds to a range itself. Every `--lines` bounds how much this process reads
|
|
29
|
+
// or holds, so an unbounded one spends a budget the customer cannot see. The ceiling is the
|
|
30
|
+
// caller's because the commands bound different things; the parse and the refusal are shared.
|
|
31
|
+
export function readLineCount(value, flag, max) {
|
|
32
|
+
const lines = readIntegerOption(value, flag);
|
|
33
|
+
if (!Number.isInteger(lines) || lines < 1 || lines > max) {
|
|
34
|
+
throw new Error(`${flag} must be a whole number between 1 and ${max}.`);
|
|
35
|
+
}
|
|
36
|
+
return lines;
|
|
36
37
|
}
|
|
38
|
+
// How much past output a stream replays before it follows. Shared by the two commands that tail.
|
|
39
|
+
export const MAX_REPLAY_LINES = 1_000;
|
|
37
40
|
//# sourceMappingURL=options.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,mGAAmG;AACnG,mDAAmD;AAEnD,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,IAAY;IAC3D,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,kGAAkG;AAClG,mGAAmG;AACnG,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,KAAK,KAAK,KAAK,CAAC;AACzB,CAAC;AAED,0EAA0E;AAC1E,0FAA0F;AAC1F,EAAE;AACF,yFAAyF;AACzF,oCAAoC;AACpC,MAAM,UAAU,iBAAiB,CAAC,KAAc,EAAE,IAAY;IAC5D,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,mGAAmG;AACnG,4FAA4F;AAC5F,8FAA8F;AAC9F,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,IAAY,EAAE,GAAW;IACrE,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yCAAyC,GAAG,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iGAAiG;AACjG,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-format.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/plan-format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"plan-format.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/plan-format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAI3C,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAEhD,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE5D;AASD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAE/D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAEnE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,WAAW,CAOvE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CLOUD_INVOCATION } from "../../index.js";
|
|
2
2
|
export function isKeptAction(action) {
|
|
3
3
|
return action.action === "keep";
|
|
4
4
|
}
|
|
@@ -12,7 +12,7 @@ export function formatActionLine(action) {
|
|
|
12
12
|
return `${ACTION_SYMBOLS[action.action]} ${action.label}`;
|
|
13
13
|
}
|
|
14
14
|
export function formatKeptActionLine(action) {
|
|
15
|
-
return `! ${action.label} (kept — data-bearing; \`${
|
|
15
|
+
return `! ${action.label} (kept — data-bearing; \`${CLOUD_INVOCATION} deploy teardown\` deletes it)`;
|
|
16
16
|
}
|
|
17
17
|
export function summarizeActions(actions) {
|
|
18
18
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-format.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/plan-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"plan-format.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/plan-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAYlD,MAAM,UAAU,YAAY,CAAC,MAAsB;IACjD,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;AAClC,CAAC;AAED,MAAM,cAAc,GAA6C;IAC/D,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;CACV,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,OAAO,KAAK,MAAM,CAAC,KAAK,4BAA4B,gBAAgB,gCAAgC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAyB;IACxD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;QACrE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;QACrE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;QACrE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;KAClE,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/plan.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/plan.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,iBAAiB,EAIvB,MAAM,gBAAgB,CAAC;AAkBxB,wBAAsB,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiD9E"}
|