@vendure/cloud 0.4.0 → 0.5.0-dev.20261016123507.ge07a06e
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 +43 -10
- 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/access/access.d.ts +5 -0
- package/dist/cli/commands/access/access.d.ts.map +1 -0
- package/dist/cli/commands/access/access.js +73 -0
- package/dist/cli/commands/access/access.js.map +1 -0
- package/dist/cli/commands/access/index.d.ts +2 -0
- package/dist/cli/commands/access/index.d.ts.map +1 -0
- package/dist/cli/commands/access/index.js +46 -0
- package/dist/cli/commands/access/index.js.map +1 -0
- 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 +12 -16
- 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 +88 -45
- 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 +18 -30
- 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.map +1 -1
- package/dist/cli/commands/deployment/log-export.js +14 -27
- package/dist/cli/commands/deployment/log-export.js.map +1 -1
- package/dist/cli/commands/deployment/log-query-output.d.ts.map +1 -1
- package/dist/cli/commands/deployment/log-query-output.js +18 -32
- package/dist/cli/commands/deployment/log-query-output.js.map +1 -1
- package/dist/cli/commands/deployment/logs.d.ts.map +1 -1
- package/dist/cli/commands/deployment/logs.js +52 -72
- package/dist/cli/commands/deployment/logs.js.map +1 -1
- package/dist/cli/commands/deployment/options.d.ts.map +1 -1
- package/dist/cli/commands/deployment/options.js +11 -20
- 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.map +1 -1
- package/dist/cli/commands/deployment/plan.js +7 -8
- package/dist/cli/commands/deployment/plan.js.map +1 -1
- package/dist/cli/commands/deployment/recovery.d.ts.map +1 -1
- package/dist/cli/commands/deployment/recovery.js +25 -35
- package/dist/cli/commands/deployment/recovery.js.map +1 -1
- package/dist/cli/commands/deployment/rollback.d.ts.map +1 -1
- package/dist/cli/commands/deployment/rollback.js +58 -12
- 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 +8 -9
- package/dist/cli/commands/deployment/show.js.map +1 -1
- package/dist/cli/commands/deployment/source.d.ts.map +1 -1
- package/dist/cli/commands/deployment/source.js +2 -2
- 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 +10 -11
- package/dist/cli/commands/deployment/status.js.map +1 -1
- package/dist/cli/commands/deployment/teardown.js +22 -31
- 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 +13 -15
- package/dist/cli/commands/identity-context/keys.js.map +1 -1
- package/dist/cli/commands/identity-context/use.js +1 -1
- 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 +13 -20
- 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.map +1 -1
- package/dist/cli/commands/project-config/config/desired-state.js +10 -12
- package/dist/cli/commands/project-config/config/desired-state.js.map +1 -1
- package/dist/cli/commands/project-config/config/email/domain.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/email/domain.js +12 -9
- package/dist/cli/commands/project-config/config/email/domain.js.map +1 -1
- package/dist/cli/commands/project-config/config/email/events.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/email/events.js +9 -9
- package/dist/cli/commands/project-config/config/email/events.js.map +1 -1
- package/dist/cli/commands/project-config/config/email/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/email/index.js +5 -6
- package/dist/cli/commands/project-config/config/email/index.js.map +1 -1
- package/dist/cli/commands/project-config/config/email/test-sending.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/email/test-sending.js +6 -5
- package/dist/cli/commands/project-config/config/email/test-sending.js.map +1 -1
- package/dist/cli/commands/project-config/config/index.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/index.js +8 -10
- package/dist/cli/commands/project-config/config/index.js.map +1 -1
- package/dist/cli/commands/project-config/config/runtime.d.ts.map +1 -1
- package/dist/cli/commands/project-config/config/runtime.js +10 -21
- 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.js +7 -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 +8 -10
- 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.map +1 -1
- package/dist/cli/commands/project-config/environment/regions.js +3 -3
- package/dist/cli/commands/project-config/environment/regions.js.map +1 -1
- 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 +18 -22
- 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 +5 -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 +11 -14
- package/dist/cli/commands/project-config/project/show.js.map +1 -1
- package/dist/cli/commands/project-config/project/subscription-state.d.ts.map +1 -1
- package/dist/cli/commands/project-config/project/subscription-state.js +17 -20
- package/dist/cli/commands/project-config/project/subscription-state.js.map +1 -1
- 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 +24 -26
- 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 +12 -16
- 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 +16 -25
- package/dist/cli/commands/project-config/source/status.js.map +1 -1
- package/dist/cli/commands/runtime-data/backup.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/backup.js +34 -36
- package/dist/cli/commands/runtime-data/backup.js.map +1 -1
- package/dist/cli/commands/runtime-data/index.d.ts.map +1 -1
- package/dist/cli/commands/runtime-data/index.js +38 -39
- 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 +92 -33
- 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 +32 -45
- 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 +10 -13
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +22 -33
- 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 -145
- package/dist/cli/lib/auth.d.ts.map +1 -1
- package/dist/cli/lib/auth.js +8 -515
- 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.map +1 -1
- package/dist/cli/lib/commit.js +2 -3
- package/dist/cli/lib/commit.js.map +1 -1
- 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 +1 -14
- package/dist/cli/lib/console-pairing.d.ts.map +1 -1
- package/dist/cli/lib/console-pairing.js +48 -60
- package/dist/cli/lib/console-pairing.js.map +1 -1
- package/dist/cli/lib/contract/backup-schedule-reasons.d.ts.map +1 -1
- package/dist/cli/lib/contract/backup-schedule-reasons.js +3 -7
- package/dist/cli/lib/contract/backup-schedule-reasons.js.map +1 -1
- 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.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 +1 -0
- package/dist/cli/lib/contract/deployments.d.ts.map +1 -1
- package/dist/cli/lib/contract/deployments.js +32 -40
- package/dist/cli/lib/contract/deployments.js.map +1 -1
- package/dist/cli/lib/contract/desired-state.d.ts +3 -1
- package/dist/cli/lib/contract/desired-state.d.ts.map +1 -1
- package/dist/cli/lib/contract/desired-state.js +33 -50
- 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 -27
- package/dist/cli/lib/contract/foreign-credentials.d.ts.map +1 -1
- package/dist/cli/lib/contract/foreign-credentials.js +19 -32
- package/dist/cli/lib/contract/foreign-credentials.js.map +1 -1
- package/dist/cli/lib/contract/logs.d.ts.map +1 -1
- package/dist/cli/lib/contract/logs.js +26 -34
- package/dist/cli/lib/contract/logs.js.map +1 -1
- package/dist/cli/lib/contract/managed-email.d.ts.map +1 -1
- package/dist/cli/lib/contract/managed-email.js +2 -3
- package/dist/cli/lib/contract/managed-email.js.map +1 -1
- 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/project-grants.d.ts +16 -0
- package/dist/cli/lib/contract/project-grants.d.ts.map +1 -0
- package/dist/cli/lib/contract/project-grants.js +58 -0
- package/dist/cli/lib/contract/project-grants.js.map +1 -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.js +2 -2
- package/dist/cli/lib/contract/regions.js.map +1 -1
- package/dist/cli/lib/contract/runtime-operations.d.ts +16 -0
- package/dist/cli/lib/contract/runtime-operations.d.ts.map +1 -1
- package/dist/cli/lib/contract/runtime-operations.js +16 -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.map +1 -1
- package/dist/cli/lib/contract/source-disconnect-reasons.js +9 -17
- package/dist/cli/lib/contract/source-disconnect-reasons.js.map +1 -1
- package/dist/cli/lib/contract/source-repository.d.ts.map +1 -1
- package/dist/cli/lib/contract/source-repository.js +5 -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 -49
- package/dist/cli/lib/errors.d.ts.map +1 -1
- package/dist/cli/lib/errors.js +47 -106
- 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/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 +1 -6
- package/dist/cli/lib/resolve.d.ts.map +1 -1
- package/dist/cli/lib/resolve.js +26 -48
- 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 +4 -0
- package/dist/cli/lib/terminal-output.d.ts.map +1 -1
- package/dist/cli/lib/terminal-output.js +35 -18
- package/dist/cli/lib/terminal-output.js.map +1 -1
- 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.map +1 -1
- package/dist/dev/dashboard-vite-config.js +17 -20
- 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 +72 -55
- 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 -11
- 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 -9
- package/dist/dev/dev-server.js.map +1 -1
- package/dist/dev/dev-worker.js +5 -3
- 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 +163 -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.map +1 -1
- package/dist/local-core.js +3 -5
- package/dist/local-core.js.map +1 -1
- 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 +12 -0
- package/dist/local-durable-execution-plugin.d.ts.map +1 -1
- package/dist/local-durable-execution-plugin.js +296 -24
- package/dist/local-durable-execution-plugin.js.map +1 -1
- 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 +51 -48
- package/dist/local-runtime.js.map +1 -1
- package/package.json +16 -9
- 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 -11
- 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 -83
- 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 -101
- package/dist/cli/commands/identity-context/whoami.js.map +0 -1
- package/dist/cli/lib/console-credential.d.ts +0 -55
- package/dist/cli/lib/console-credential.d.ts.map +0 -1
- package/dist/cli/lib/console-credential.js +0 -164
- package/dist/cli/lib/console-credential.js.map +0 -1
- package/dist/cli/lib/console-origins.d.ts +0 -30
- package/dist/cli/lib/console-origins.d.ts.map +0 -1
- package/dist/cli/lib/console-origins.js +0 -87
- package/dist/cli/lib/console-origins.js.map +0 -1
- package/dist/cli/lib/console-session-lock.d.ts +0 -39
- package/dist/cli/lib/console-session-lock.d.ts.map +0 -1
- package/dist/cli/lib/console-session-lock.js +0 -235
- package/dist/cli/lib/console-session-lock.js.map +0 -1
- package/dist/cli/lib/console-session.d.ts +0 -47
- package/dist/cli/lib/console-session.d.ts.map +0 -1
- package/dist/cli/lib/console-session.js +0 -235
- package/dist/cli/lib/console-session.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
package/dist/cli/lib/auth.js
CHANGED
|
@@ -1,525 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { basename, join } from "node:path";
|
|
3
|
-
import { AUTH_FILE, CONFIG_DIR, REFRESH_LOCK_FILE, WORKOS_AUTHENTICATE_URL, getApiUrl, } from "./config.js";
|
|
4
|
-
import { isSharedConsoleSessionEnabled, resolveConsoleSession } from "./console-session.js";
|
|
1
|
+
import { getUserAccessToken } from "./cli-login.js";
|
|
5
2
|
import { classifyForeignCredential } from "./contract/foreign-credentials.js";
|
|
6
|
-
import { ForeignCredentialError
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
export const WORKOS_AUTH_REQUEST_TIMEOUT_MS = 60_000;
|
|
12
|
-
/**
|
|
13
|
-
* Precedence: the explicit `--token`, then `VENDURE_CLOUD_TOKEN`, then the
|
|
14
|
-
* shared Console session, then the stored Cloud login. Returns null when the
|
|
15
|
-
* machine has no credential at all, so each caller can word its own "not logged
|
|
16
|
-
* in" response.
|
|
17
|
-
*
|
|
18
|
-
* The shared session comes before the stored Cloud login because it is the one
|
|
19
|
-
* a developer just approved, and reusing it is the point of CLO-641. It comes
|
|
20
|
-
* after an explicit token for the same reason the stored login does: a
|
|
21
|
-
* credential someone named on the command line is the one they meant.
|
|
22
|
-
*
|
|
23
|
-
* `~/.vendure-cloud/auth.json` keeps working underneath it. A machine that has
|
|
24
|
-
* only that file resolves exactly as it did before, and so does every machine
|
|
25
|
-
* while the shared path stays switched off.
|
|
26
|
-
*
|
|
27
|
-
* An explicitly supplied credential is never mixed with the stored session:
|
|
28
|
-
* spending the session's single-use refresh token on a credential that does
|
|
29
|
-
* not own it strands the login (CLO-164), and sending the locally selected
|
|
30
|
-
* organization alongside a key that resolves its own would contradict it.
|
|
31
|
-
*
|
|
32
|
-
* Throws rather than returns null for a credential another Vendure product
|
|
33
|
-
* issued. Someone who set `--token` to their project's environment credential
|
|
34
|
-
* has made a specific mistake, and falling back to the stored session would
|
|
35
|
-
* answer it with whatever that session happens to be — or with "not logged in",
|
|
36
|
-
* which is not what went wrong. Refusing here is also what keeps the value on
|
|
37
|
-
* the machine; the control plane refuses it again for callers that are not
|
|
38
|
-
* this CLI.
|
|
39
|
-
*/
|
|
40
|
-
export function resolveCredential(options) {
|
|
3
|
+
import { ForeignCredentialError } from "./errors.js";
|
|
4
|
+
// Precedence: `--token`, `VENDURE_CLOUD_TOKEN`, then the Vendure CLI login. An explicit API key
|
|
5
|
+
// never reads or renews the login. A credential another Vendure product issued is rejected here, so
|
|
6
|
+
// it never leaves the machine and never falls back to whichever account the login holds.
|
|
7
|
+
export async function resolveCredential(options) {
|
|
41
8
|
const explicitToken = options.token ?? process.env.VENDURE_CLOUD_TOKEN;
|
|
42
9
|
if (explicitToken) {
|
|
43
10
|
const foreign = classifyForeignCredential(explicitToken);
|
|
44
11
|
if (foreign) {
|
|
45
12
|
throw new ForeignCredentialError(foreign);
|
|
46
13
|
}
|
|
47
|
-
return { kind: "apiKey",
|
|
14
|
+
return { kind: "apiKey", key: explicitToken };
|
|
48
15
|
}
|
|
49
|
-
|
|
50
|
-
const shared = resolveConsoleSession();
|
|
51
|
-
// A session that has expired and cannot be renewed without a browser is not one to run on. It
|
|
52
|
-
// would fail every command with "sign in again" while a working Cloud login sat unused in
|
|
53
|
-
// `~/.vendure-cloud/auth.json`, so it is passed over as if it were not there.
|
|
54
|
-
if (shared && (shared.refreshable || !shared.expired)) {
|
|
55
|
-
return { kind: "consoleSession", token: shared.accessToken };
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
const config = readAuthConfig();
|
|
59
|
-
if (!config?.accessToken) {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
return {
|
|
63
|
-
kind: "session",
|
|
64
|
-
token: config.accessToken,
|
|
65
|
-
organizationId: config.activeOrganizationId,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
export function readAuthConfig() {
|
|
69
|
-
if (!existsSync(AUTH_FILE)) {
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
try {
|
|
73
|
-
const raw = readFileSync(AUTH_FILE, "utf-8");
|
|
74
|
-
return JSON.parse(raw);
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Write via a temp file + rename so the config is replaced atomically.
|
|
82
|
-
* A plain `writeFileSync` truncates in place: a crash mid-write leaves
|
|
83
|
-
* unparseable JSON, which reads back as "not logged in" while the rotated
|
|
84
|
-
* refresh token — already consumed at the authentication service — is gone
|
|
85
|
-
* for good. Rename is atomic within a directory, so a reader sees either the
|
|
86
|
-
* whole old config or the whole new one.
|
|
87
|
-
*/
|
|
88
|
-
export function writeAuthConfig(config) {
|
|
89
|
-
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
90
|
-
const tempFile = `${AUTH_FILE}.${process.pid}.tmp`;
|
|
91
|
-
try {
|
|
92
|
-
writeFileSync(tempFile, serializeAuthConfig(config), { mode: 0o600 });
|
|
93
|
-
renameSync(tempFile, AUTH_FILE);
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
try {
|
|
97
|
-
unlinkSync(tempFile);
|
|
98
|
-
}
|
|
99
|
-
catch {
|
|
100
|
-
// The write may have failed before the temp file existed at all.
|
|
101
|
-
}
|
|
102
|
-
throw error;
|
|
103
|
-
}
|
|
104
|
-
sweepStaleTempFiles();
|
|
105
|
-
}
|
|
106
|
-
function serializeAuthConfig(config) {
|
|
107
|
-
return JSON.stringify(config, null, 2);
|
|
108
|
-
}
|
|
109
|
-
// Long enough that no in-flight write can still be inside it: a temp file this
|
|
110
|
-
// old belongs to a process that was killed between the write and the rename,
|
|
111
|
-
// and it holds live tokens at 0600 until something removes it.
|
|
112
|
-
const STALE_TEMP_FILE_MS = 60 * 60 * 1000;
|
|
113
|
-
function sweepStaleTempFiles() {
|
|
114
|
-
const prefix = `${basename(AUTH_FILE)}.`;
|
|
115
|
-
const cutoff = Date.now() - STALE_TEMP_FILE_MS;
|
|
116
|
-
let entries;
|
|
117
|
-
try {
|
|
118
|
-
entries = readdirSync(CONFIG_DIR);
|
|
119
|
-
}
|
|
120
|
-
catch (error) {
|
|
121
|
-
// Opportunistic: a session that cannot list the directory is not a failed
|
|
122
|
-
// write, so the caller never hears about it.
|
|
123
|
-
logger.debug({ error }, "Could not scan for stale auth temp files");
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
for (const entry of entries) {
|
|
127
|
-
if (!entry.startsWith(prefix) || !entry.endsWith(".tmp")) {
|
|
128
|
-
continue;
|
|
129
|
-
}
|
|
130
|
-
const path = join(CONFIG_DIR, entry);
|
|
131
|
-
try {
|
|
132
|
-
if (statSync(path).mtimeMs > cutoff) {
|
|
133
|
-
continue;
|
|
134
|
-
}
|
|
135
|
-
unlinkSync(path);
|
|
136
|
-
}
|
|
137
|
-
catch (error) {
|
|
138
|
-
// Raced with its owner, or not ours to remove.
|
|
139
|
-
logger.debug({ path, error }, "Could not remove stale auth temp file");
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
// A refresh token is single-use, so a write that fails after the exchange
|
|
144
|
-
// leaves the consumed token as the machine's only credential (CLO-703). An
|
|
145
|
-
// exchange cannot be undone, so each one proves storability first.
|
|
146
|
-
//
|
|
147
|
-
// The probe creates and renames beside `auth.json`, then removes itself. Never
|
|
148
|
-
// `auth.json` itself, so no stored credential is read or replaced.
|
|
149
|
-
// Mode bits are not consulted: root writes a 0500 directory, and a read-only
|
|
150
|
-
// mount refuses a 0700 one.
|
|
151
|
-
//
|
|
152
|
-
// Limits. The filler is sized from the config being replaced, not from the
|
|
153
|
-
// unknown-length pair. The probe's own unlink can refuse where the write would
|
|
154
|
-
// not have needed one. Write access can still disappear after this returns.
|
|
155
|
-
function assertReplacementIsStorable(configToReplace) {
|
|
156
|
-
const probeFile = `${AUTH_FILE}.${process.pid}.probe.tmp`;
|
|
157
|
-
const probeTarget = `${AUTH_FILE}.${process.pid}.probed.tmp`;
|
|
158
|
-
try {
|
|
159
|
-
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
160
|
-
// Bytes, not code units: a non-ASCII name would undersize the filler and
|
|
161
|
-
// let a nearly full directory through.
|
|
162
|
-
const filler = "0".repeat(Buffer.byteLength(serializeAuthConfig(configToReplace)));
|
|
163
|
-
writeFileSync(probeFile, filler, { mode: 0o600 });
|
|
164
|
-
renameSync(probeFile, probeTarget);
|
|
165
|
-
unlinkSync(probeTarget);
|
|
166
|
-
}
|
|
167
|
-
catch (error) {
|
|
168
|
-
removeProbeFiles(probeFile, probeTarget);
|
|
169
|
-
logger.debug({ error }, "Cannot store a renewed session; not spending the refresh token");
|
|
170
|
-
throw new SessionUnstorableError(CONFIG_DIR, { cause: error });
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
// Whichever name the failure left behind. A directory too broken to remove them
|
|
174
|
-
// is the failure being reported, and both names match `sweepStaleTempFiles`.
|
|
175
|
-
function removeProbeFiles(...paths) {
|
|
176
|
-
for (const path of paths) {
|
|
177
|
-
try {
|
|
178
|
-
unlinkSync(path);
|
|
179
|
-
}
|
|
180
|
-
catch {
|
|
181
|
-
// Never existed, or the directory that just refused a write refuses this.
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
export function clearAuthConfig() {
|
|
186
|
-
if (existsSync(AUTH_FILE)) {
|
|
187
|
-
unlinkSync(AUTH_FILE);
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Exchange a refresh token for a fresh access/refresh token pair via WorkOS.
|
|
192
|
-
*
|
|
193
|
-
* Pass `workosOrgId` to scope the new token to a specific organization:
|
|
194
|
-
* WorkOS bakes the user's role + permissions for that org into the access
|
|
195
|
-
* token's claims at issue time. Without it, WorkOS returns a token for the
|
|
196
|
-
* user's current/default org. This is the mechanism that keeps the JWT's
|
|
197
|
-
* `org_id` + `permissions` in step with the CLI's active org — see
|
|
198
|
-
* `org switch` and the multi-org branch of `login`.
|
|
199
|
-
*
|
|
200
|
-
* Note: `workosOrgId` is the WorkOS organization id (`org_…`), NOT the
|
|
201
|
-
* internal DB UUID stored in `AuthConfig.activeOrganizationId`.
|
|
202
|
-
*/
|
|
203
|
-
export async function exchangeRefreshToken(refreshToken, workosOrgId) {
|
|
204
|
-
const cliConfigResponse = await fetchOrUnavailable(`${getApiUrl()}/auth/cli-config`, {
|
|
205
|
-
signal: AbortSignal.timeout(API_AUTH_CONFIG_TIMEOUT_MS),
|
|
206
|
-
});
|
|
207
|
-
if (!cliConfigResponse.ok) {
|
|
208
|
-
// The control plane, not the token — never a reason to discard credentials.
|
|
209
|
-
logger.debug({ status: cliConfigResponse.status }, "CLI config fetch failed during refresh");
|
|
210
|
-
throw new RefreshUnavailableError();
|
|
211
|
-
}
|
|
212
|
-
const { workosClientId } = (await cliConfigResponse.json());
|
|
213
|
-
const response = await fetchOrUnavailable(WORKOS_AUTHENTICATE_URL, {
|
|
214
|
-
method: "POST",
|
|
215
|
-
headers: { "content-type": "application/json" },
|
|
216
|
-
signal: AbortSignal.timeout(WORKOS_AUTH_REQUEST_TIMEOUT_MS),
|
|
217
|
-
body: JSON.stringify({
|
|
218
|
-
grant_type: "refresh_token",
|
|
219
|
-
client_id: workosClientId,
|
|
220
|
-
refresh_token: refreshToken,
|
|
221
|
-
...(workosOrgId ? { organization_id: workosOrgId } : {}),
|
|
222
|
-
}),
|
|
223
|
-
});
|
|
224
|
-
if (!response.ok) {
|
|
225
|
-
throw await classifyRefreshFailure(response);
|
|
226
|
-
}
|
|
227
|
-
const result = (await response.json());
|
|
228
|
-
return { accessToken: result.access_token, refreshToken: result.refresh_token };
|
|
229
|
-
}
|
|
230
|
-
async function fetchOrUnavailable(url, init) {
|
|
231
|
-
try {
|
|
232
|
-
return await fetch(url, init);
|
|
233
|
-
}
|
|
234
|
-
catch (error) {
|
|
235
|
-
// DNS failure, connection reset, timeout abort — all transient.
|
|
236
|
-
throw new RefreshUnavailableError({ cause: error });
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
// The OAuth 2.0 (RFC 6749 §5.2) error code that means this grant will never
|
|
240
|
-
// work again: the refresh token was revoked, has expired, or was already
|
|
241
|
-
// consumed.
|
|
242
|
-
const REJECTED_GRANT_ERROR_CODE = "invalid_grant";
|
|
243
|
-
/**
|
|
244
|
-
* Fail safe: only a recognised "this token is dead" code counts as definitive.
|
|
245
|
-
* Rate limits, 5xx, and unrecognised codes stay transient so a bad guess costs
|
|
246
|
-
* the user a retry rather than their whole session. The authentication service
|
|
247
|
-
* does not document its refresh-grant error codes, so what we recognise is
|
|
248
|
-
* deliberately narrow.
|
|
249
|
-
*/
|
|
250
|
-
async function classifyRefreshFailure(response) {
|
|
251
|
-
const body = await response.json().catch(() => null);
|
|
252
|
-
const errorCode = extractErrorCode(body);
|
|
253
|
-
logger.debug({ status: response.status, errorCode }, "Token refresh rejected");
|
|
254
|
-
if (errorCode === REJECTED_GRANT_ERROR_CODE) {
|
|
255
|
-
return new RefreshTokenRejectedError();
|
|
256
|
-
}
|
|
257
|
-
return new RefreshUnavailableError();
|
|
258
|
-
}
|
|
259
|
-
function extractErrorCode(body) {
|
|
260
|
-
if (body && typeof body === "object" && "error" in body && typeof body.error === "string") {
|
|
261
|
-
return body.error;
|
|
262
|
-
}
|
|
263
|
-
return undefined;
|
|
264
|
-
}
|
|
265
|
-
// Skew margin so a token that expires while the retried request is in flight
|
|
266
|
-
// counts as unusable.
|
|
267
|
-
const ACCESS_TOKEN_REUSE_SKEW_MS = 30_000;
|
|
268
|
-
/**
|
|
269
|
-
* Whether an access token another process stored is worth handing back instead
|
|
270
|
-
* of running an exchange. "Different from the token that just 401'd" is not the
|
|
271
|
-
* same as "valid": access tokens live minutes, so a long-running command can
|
|
272
|
-
* find a pair that rotated — and then expired — while it worked. The API client
|
|
273
|
-
* retries exactly once, so reusing a dead token spends that retry and surfaces
|
|
274
|
-
* as a logged-out command (CLO-164).
|
|
275
|
-
*
|
|
276
|
-
* Fails toward the exchange: no `exp`, a non-numeric one, or a token we cannot
|
|
277
|
-
* decode is not provably valid, and an unnecessary exchange only costs the
|
|
278
|
-
* round trip.
|
|
279
|
-
*/
|
|
280
|
-
function hasUsableLifetime(accessToken) {
|
|
281
|
-
const expiresAtMs = readJwtExpiryMs(accessToken);
|
|
282
|
-
if (expiresAtMs === null) {
|
|
283
|
-
return false;
|
|
284
|
-
}
|
|
285
|
-
return expiresAtMs - Date.now() > ACCESS_TOKEN_REUSE_SKEW_MS;
|
|
286
|
-
}
|
|
287
|
-
// No signature verification: the issuer validates that, we only need `exp`.
|
|
288
|
-
function readJwtExpiryMs(token) {
|
|
289
|
-
const payloadSegment = token.split(".")[1];
|
|
290
|
-
if (!payloadSegment) {
|
|
291
|
-
return null;
|
|
292
|
-
}
|
|
293
|
-
try {
|
|
294
|
-
const payload = JSON.parse(Buffer.from(payloadSegment, "base64url").toString("utf-8"));
|
|
295
|
-
if (!payload || typeof payload !== "object" || !("exp" in payload)) {
|
|
296
|
-
return null;
|
|
297
|
-
}
|
|
298
|
-
const { exp } = payload;
|
|
299
|
-
if (typeof exp !== "number" || !Number.isFinite(exp)) {
|
|
300
|
-
return null;
|
|
301
|
-
}
|
|
302
|
-
return exp * 1000;
|
|
303
|
-
}
|
|
304
|
-
catch {
|
|
305
|
-
return null;
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
let activeRefresh = null;
|
|
309
|
-
/**
|
|
310
|
-
* Exported so the `waitMs >= staleMs` invariant below can be asserted — it is
|
|
311
|
-
* the load-bearing relationship in this whole mechanism and nothing else
|
|
312
|
-
* enforces it.
|
|
313
|
-
*
|
|
314
|
-
* `staleMs` covers the worst case of both refresh requests timing out, so a
|
|
315
|
-
* waiter never breaks a lock that is still doing useful work.
|
|
316
|
-
*
|
|
317
|
-
* `waitMs` must not be shorter. A waiter that gives up early goes down the
|
|
318
|
-
* unlocked path *before* the holder has written its rotated pair, so the
|
|
319
|
-
* already-rotated checks below still see the old token and spend it a second
|
|
320
|
-
* time — the single-use double-spend this lock exists to prevent (CLO-164).
|
|
321
|
-
* Equality is what makes "gave up" and "the holder is dead" the same condition.
|
|
322
|
-
*/
|
|
323
|
-
export const SESSION_LOCK_OPTIONS = {
|
|
324
|
-
staleMs: API_AUTH_CONFIG_TIMEOUT_MS + WORKOS_AUTH_REQUEST_TIMEOUT_MS + 15_000,
|
|
325
|
-
waitMs: API_AUTH_CONFIG_TIMEOUT_MS + WORKOS_AUTH_REQUEST_TIMEOUT_MS + 15_000,
|
|
326
|
-
// That wait budget is 90s, so silence is not an option. Straight to stderr:
|
|
327
|
-
// `logger` writes to a file nobody is watching, and clack would assume an
|
|
328
|
-
// interactive command context that `lib/` does not have — while stderr keeps
|
|
329
|
-
// `--json` stdout parseable.
|
|
330
|
-
onWait: () => {
|
|
331
|
-
process.stderr.write(`Waiting for another ${cloudInvocation()} command to finish refreshing the session...\n`);
|
|
332
|
-
},
|
|
333
|
-
};
|
|
334
|
-
/**
|
|
335
|
-
* Serializes everything that spends the single-use refresh token or rewrites
|
|
336
|
-
* `auth.json`, across processes. Every such call site must go through this —
|
|
337
|
-
* guarding one of them leaves the double-spend fully reachable via the others.
|
|
338
|
-
*
|
|
339
|
-
* The callback receives whether the lock was actually held; see `withFileLock`.
|
|
340
|
-
*/
|
|
341
|
-
export function withSessionLock(fn) {
|
|
342
|
-
return withFileLock(REFRESH_LOCK_FILE, SESSION_LOCK_OPTIONS, fn);
|
|
343
|
-
}
|
|
344
|
-
/**
|
|
345
|
-
* Pass the access token that got the 401. If the stored config has moved on
|
|
346
|
-
* from it, another process (or an earlier command) already rotated the pair and
|
|
347
|
-
* its access token is reused — refresh tokens are single-use, so spending ours
|
|
348
|
-
* on a redundant exchange is what strands sessions. Reuse requires provable
|
|
349
|
-
* lifetime left; see `hasUsableLifetime`.
|
|
350
|
-
*/
|
|
351
|
-
export async function refreshAccessToken(failedAccessToken) {
|
|
352
|
-
if (activeRefresh) {
|
|
353
|
-
return activeRefresh;
|
|
354
|
-
}
|
|
355
|
-
activeRefresh = withSessionLock((held) => doRefresh(failedAccessToken, held)).finally(() => {
|
|
356
|
-
activeRefresh = null;
|
|
357
|
-
});
|
|
358
|
-
return activeRefresh;
|
|
359
|
-
}
|
|
360
|
-
/**
|
|
361
|
-
* Re-mint the stored session scoped to a different organization, then persist
|
|
362
|
-
* it. The read-exchange-write runs as one locked unit and re-reads inside the
|
|
363
|
-
* lock: a concurrent refresh may have rotated the pair since the caller last
|
|
364
|
-
* looked, and spreading a stale snapshot over it would write back a refresh
|
|
365
|
-
* token the authentication service has already retired. Atomic rename stops
|
|
366
|
-
* torn files; it does nothing about lost updates.
|
|
367
|
-
*/
|
|
368
|
-
export function rotateActiveOrganization(target) {
|
|
369
|
-
return withSessionLock(async (held) => {
|
|
370
|
-
const config = readAuthConfig();
|
|
371
|
-
if (!config?.refreshToken) {
|
|
372
|
-
throw new SessionRefreshError(`No refresh token available. Run \`${cloudInvocation()} login\` to authenticate.`);
|
|
373
|
-
}
|
|
374
|
-
assertReplacementIsStorable(withActiveOrganization(config, target));
|
|
375
|
-
let pair;
|
|
376
|
-
try {
|
|
377
|
-
pair = await exchangeRefreshToken(config.refreshToken, target.workosOrgId);
|
|
378
|
-
}
|
|
379
|
-
catch (error) {
|
|
380
|
-
if (!(error instanceof RefreshTokenRejectedError)) {
|
|
381
|
-
throw error;
|
|
382
|
-
}
|
|
383
|
-
// Ran unlocked and lost the race: another process spent our refresh
|
|
384
|
-
// token. Its replacement is on disk, so the switch can still succeed.
|
|
385
|
-
const rotated = readRotatedConfig(config.refreshToken);
|
|
386
|
-
if (!rotated) {
|
|
387
|
-
discardIfRevoked(config.refreshToken, held);
|
|
388
|
-
throw error;
|
|
389
|
-
}
|
|
390
|
-
// A second single-use token needs its own proof.
|
|
391
|
-
assertReplacementIsStorable(withActiveOrganization(rotated, target));
|
|
392
|
-
logger.debug("Refresh token was consumed by another process; retrying org switch");
|
|
393
|
-
pair = await exchangeRefreshToken(rotated.refreshToken, target.workosOrgId);
|
|
394
|
-
}
|
|
395
|
-
const next = {
|
|
396
|
-
// Re-read once more: the exchange is the slow part, and a retry above
|
|
397
|
-
// means another process wrote in the meantime.
|
|
398
|
-
...withActiveOrganization(readAuthConfig() ?? config, target),
|
|
399
|
-
accessToken: pair.accessToken,
|
|
400
|
-
refreshToken: pair.refreshToken,
|
|
401
|
-
};
|
|
402
|
-
writeAuthConfig(next);
|
|
403
|
-
return next;
|
|
404
|
-
});
|
|
405
|
-
}
|
|
406
|
-
// One shape, so the probe measures what the write stores.
|
|
407
|
-
// `target.organizations` can be longer than the list on disk.
|
|
408
|
-
function withActiveOrganization(base, target) {
|
|
409
|
-
return {
|
|
410
|
-
...base,
|
|
411
|
-
activeOrganizationId: target.organizationId,
|
|
412
|
-
organizations: target.organizations,
|
|
413
|
-
};
|
|
414
|
-
}
|
|
415
|
-
async function doRefresh(failedAccessToken, held) {
|
|
416
|
-
const config = readAuthConfig();
|
|
417
|
-
if (!config?.refreshToken) {
|
|
418
|
-
// A SessionRefreshError so the specific message survives the API client's
|
|
419
|
-
// wrapping instead of being flattened to the generic one.
|
|
420
|
-
throw new SessionRefreshError(`No refresh token available. Run \`${cloudInvocation()} login\` to authenticate.`);
|
|
421
|
-
}
|
|
422
|
-
// When the lock was held this sees whatever the process ahead of us in the
|
|
423
|
-
// queue wrote. Unlocked it is only an optimisation, and the rejection path
|
|
424
|
-
// below carries the recovery.
|
|
425
|
-
//
|
|
426
|
-
// Falling through when the stored token has no life left is safe: `config`
|
|
427
|
-
// was just re-read, so `config.refreshToken` is the rotated one, not the
|
|
428
|
-
// caller's stale snapshot.
|
|
429
|
-
if (failedAccessToken &&
|
|
430
|
-
config.accessToken &&
|
|
431
|
-
config.accessToken !== failedAccessToken &&
|
|
432
|
-
hasUsableLifetime(config.accessToken)) {
|
|
433
|
-
logger.debug("Another process already refreshed the session; reusing its access token");
|
|
434
|
-
return config.accessToken;
|
|
435
|
-
}
|
|
436
|
-
// Preserve the active org across a routine refresh: re-mint for the same
|
|
437
|
-
// WorkOS org so the token's permissions stay scoped to it. An unscoped
|
|
438
|
-
// refresh would fall back to the user's WorkOS default org — the exact
|
|
439
|
-
// split-state this whole mechanism exists to prevent — so when an active
|
|
440
|
-
// org is set we require its workosOrgId. A config that predates the
|
|
441
|
-
// workosOrgId field (and so can't be scoped) is treated as stale: better
|
|
442
|
-
// a clear "re-login" error than a silently mis-scoped token that 403s on
|
|
443
|
-
// every permissioned call.
|
|
444
|
-
let activeWorkosOrgId;
|
|
445
|
-
if (config.activeOrganizationId) {
|
|
446
|
-
const activeOrg = config.organizations.find((o) => o.id === config.activeOrganizationId);
|
|
447
|
-
if (!activeOrg?.workosOrgId) {
|
|
448
|
-
throw new SessionRefreshError(`Your CLI session predates organization scoping. Run \`${cloudInvocation()} login\` to re-authenticate.`);
|
|
449
|
-
}
|
|
450
|
-
activeWorkosOrgId = activeOrg.workosOrgId;
|
|
451
|
-
}
|
|
452
|
-
// After the reuse check above, which writes nothing and so must not be
|
|
453
|
-
// refused for an unwritable directory.
|
|
454
|
-
assertReplacementIsStorable(config);
|
|
455
|
-
// The config the fresh pair is spread over. Replaced on the recovery path
|
|
456
|
-
// below, where another process wrote after we read.
|
|
457
|
-
let baseConfig = config;
|
|
458
|
-
let pair;
|
|
459
|
-
try {
|
|
460
|
-
pair = await exchangeRefreshToken(config.refreshToken, activeWorkosOrgId);
|
|
461
|
-
}
|
|
462
|
-
catch (error) {
|
|
463
|
-
if (!(error instanceof RefreshTokenRejectedError)) {
|
|
464
|
-
throw error;
|
|
465
|
-
}
|
|
466
|
-
// Consumed, not revoked: a process that raced past the lock spent our
|
|
467
|
-
// refresh token and stored a working pair, so the session lives on.
|
|
468
|
-
const rotated = readRotatedConfig(config.refreshToken);
|
|
469
|
-
if (!rotated) {
|
|
470
|
-
discardIfRevoked(config.refreshToken, held);
|
|
471
|
-
throw error;
|
|
472
|
-
}
|
|
473
|
-
if (hasUsableLifetime(rotated.accessToken)) {
|
|
474
|
-
logger.debug("Refresh token was consumed by another process; reusing its access token");
|
|
475
|
-
return rotated.accessToken;
|
|
476
|
-
}
|
|
477
|
-
// Its access token has aged out, so returning it would only burn the
|
|
478
|
-
// command's single retry. Spend its refresh token instead — the session
|
|
479
|
-
// lock is what keeps that second spend serialized.
|
|
480
|
-
// A second single-use token needs its own proof.
|
|
481
|
-
assertReplacementIsStorable(rotated);
|
|
482
|
-
logger.debug("Refresh token was consumed by another process; retrying with its rotated token");
|
|
483
|
-
pair = await exchangeRefreshToken(rotated.refreshToken, activeWorkosOrgId);
|
|
484
|
-
baseConfig = readAuthConfig() ?? rotated;
|
|
485
|
-
}
|
|
486
|
-
writeAuthConfig({
|
|
487
|
-
...baseConfig,
|
|
488
|
-
accessToken: pair.accessToken,
|
|
489
|
-
refreshToken: pair.refreshToken,
|
|
490
|
-
});
|
|
491
|
-
return pair.accessToken;
|
|
492
|
-
}
|
|
493
|
-
function readRotatedConfig(usedRefreshToken) {
|
|
494
|
-
const latest = readAuthConfig();
|
|
495
|
-
if (!latest?.accessToken || latest.refreshToken === usedRefreshToken) {
|
|
496
|
-
return null;
|
|
497
|
-
}
|
|
498
|
-
return latest;
|
|
499
|
-
}
|
|
500
|
-
/**
|
|
501
|
-
* The only path that discards credentials, so both guards matter.
|
|
502
|
-
*
|
|
503
|
-
* `held` — without the lock we may have raced past a process that legitimately
|
|
504
|
-
* spent the token, and an `invalid_grant` becomes unattributable: it means
|
|
505
|
-
* "dead token" and "someone beat me to it" equally. Deleting on a guess is how
|
|
506
|
-
* a recoverable race turns into a forced browser login.
|
|
507
|
-
*
|
|
508
|
-
* The re-read — compare-and-clear immediately before unlinking, so a pair the
|
|
509
|
-
* winner wrote between the rejection and here survives. Not airtight (there is
|
|
510
|
-
* no atomic compare-and-unlink), but the window shrinks to microseconds and the
|
|
511
|
-
* `held` gate covers the case that actually produced CLO-164.
|
|
512
|
-
*/
|
|
513
|
-
function discardIfRevoked(spentRefreshToken, held) {
|
|
514
|
-
if (!held) {
|
|
515
|
-
logger.debug("Refresh rejected while unlocked; keeping credentials for the next attempt");
|
|
516
|
-
return;
|
|
517
|
-
}
|
|
518
|
-
const latest = readAuthConfig();
|
|
519
|
-
if (!latest || latest.refreshToken !== spentRefreshToken) {
|
|
520
|
-
logger.debug("Stored refresh token already moved on; keeping credentials");
|
|
521
|
-
return;
|
|
522
|
-
}
|
|
523
|
-
clearAuthConfig();
|
|
16
|
+
return { kind: "userLogin", accessToken: await getUserAccessToken() };
|
|
524
17
|
}
|
|
525
18
|
//# sourceMappingURL=auth.js.map
|
package/dist/cli/lib/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/lib/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/cli/lib/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAQrD,gGAAgG;AAChG,oGAAoG;AACpG,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA0B;IAChE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACvE,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,EAAE,EAAE,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CliLoginFailure } from "./errors.js";
|
|
2
|
+
export interface CliLogin {
|
|
3
|
+
getAccessToken(): Promise<string | undefined>;
|
|
4
|
+
refreshAccessToken(failedAccessToken: string): Promise<string>;
|
|
5
|
+
consoleApiUrl(): string;
|
|
6
|
+
classify(error: unknown): CliLoginFailure;
|
|
7
|
+
}
|
|
8
|
+
export declare const CORE_ERROR_FAILURES: readonly [readonly ["NotLoggedInError", "notLoggedIn"], readonly ["SessionRejectedError", "sessionRejected"], readonly ["ReauthenticationRequiredError", "reauthenticationRequired"], readonly ["SessionLockUnavailableError", "lockUnavailable"], readonly ["SessionUnstorableError", "unstorable"], readonly ["SessionRefreshUnavailableError", "refreshUnavailable"]];
|
|
9
|
+
export declare function loadCliLogin(): CliLogin;
|
|
10
|
+
export declare function getUserAccessToken(): Promise<string>;
|
|
11
|
+
export declare function refreshUserAccessToken(failedAccessToken: string): Promise<string>;
|
|
12
|
+
//# sourceMappingURL=cli-login.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-login.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/cli-login.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,eAAe,EAAE,MAAM,aAAa,CAAC;AAS7D,MAAM,WAAW,QAAQ;IACvB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,aAAa,IAAI,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;CAC3C;AAWD,eAAO,MAAM,mBAAmB,0WAOtB,CAAC;AAIX,wBAAgB,YAAY,IAAI,QAAQ,CAKvC;AAGD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAc1D;AAID,wBAAsB,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOvF"}
|