@credibledata/cred-cli 0.0.103 → 0.0.105
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 +106 -1
- package/dist/agent-contract.spec.js +548 -0
- package/dist/agent-contract.spec.js.map +1 -0
- package/dist/browser.js +72 -0
- package/dist/browser.js.map +1 -0
- package/dist/browser.spec.js +125 -0
- package/dist/browser.spec.js.map +1 -0
- package/dist/client/api.js +4137 -1159
- package/dist/client/api.js.map +1 -1
- package/dist/client-codeassist/api.js +476 -0
- package/dist/client-codeassist/api.js.map +1 -0
- package/dist/client-codeassist/base.js +69 -0
- package/dist/client-codeassist/base.js.map +1 -0
- package/dist/client-codeassist/common.js +162 -0
- package/dist/client-codeassist/common.js.map +1 -0
- package/dist/client-codeassist/configuration.js +44 -0
- package/dist/client-codeassist/configuration.js.map +1 -0
- package/dist/client-codeassist/index.js +32 -0
- package/dist/client-codeassist/index.js.map +1 -0
- package/dist/clientconfiguration.js +17 -289
- package/dist/clientconfiguration.js.map +1 -1
- package/dist/clientconfiguration.spec.js +35 -96
- package/dist/clientconfiguration.spec.js.map +1 -1
- package/dist/commands/add.js +103 -3
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/add.spec.js +113 -0
- package/dist/commands/add.spec.js.map +1 -0
- package/dist/commands/connection/createconnections.js +104 -7
- package/dist/commands/connection/createconnections.js.map +1 -1
- package/dist/commands/connection/createconnections.spec.js +35 -1
- package/dist/commands/connection/createconnections.spec.js.map +1 -1
- package/dist/commands/connection/deleteconnection.js +4 -2
- package/dist/commands/connection/deleteconnection.js.map +1 -1
- package/dist/commands/connection/deleteconnection.spec.js +6 -1
- package/dist/commands/connection/deleteconnection.spec.js.map +1 -1
- package/dist/commands/connection/listconnections.js +2 -0
- package/dist/commands/connection/listconnections.js.map +1 -1
- package/dist/commands/connection/updateconnection.js +365 -0
- package/dist/commands/connection/updateconnection.js.map +1 -0
- package/dist/commands/connection/updateconnection.spec.js +625 -0
- package/dist/commands/connection/updateconnection.spec.js.map +1 -0
- package/dist/commands/database/createdatabase.js +52 -0
- package/dist/commands/database/createdatabase.js.map +1 -0
- package/dist/commands/database/database.spec.js +267 -0
- package/dist/commands/database/database.spec.js.map +1 -0
- package/dist/commands/database/deletedatabase.js +91 -0
- package/dist/commands/database/deletedatabase.js.map +1 -0
- package/dist/commands/database/getdatabase.js +97 -0
- package/dist/commands/database/getdatabase.js.map +1 -0
- package/dist/commands/database/listdatabases.js +36 -0
- package/dist/commands/database/listdatabases.js.map +1 -0
- package/dist/commands/database/shared.js +125 -0
- package/dist/commands/database/shared.js.map +1 -0
- package/dist/commands/database/shared.spec.js +109 -0
- package/dist/commands/database/shared.spec.js.map +1 -0
- package/dist/commands/database/updatedatabase.js +39 -0
- package/dist/commands/database/updatedatabase.js.map +1 -0
- package/dist/commands/environment/createenvironment.js +59 -28
- package/dist/commands/environment/createenvironment.js.map +1 -1
- package/dist/commands/environment/createenvironment.spec.js +29 -0
- package/dist/commands/environment/createenvironment.spec.js.map +1 -1
- package/dist/commands/environment/deleteenvironment.js +3 -2
- package/dist/commands/environment/deleteenvironment.js.map +1 -1
- package/dist/commands/environment/deleteenvironment.spec.js +5 -1
- package/dist/commands/environment/deleteenvironment.spec.js.map +1 -1
- package/dist/commands/environment/getenvironment.js +1 -0
- package/dist/commands/environment/getenvironment.js.map +1 -1
- package/dist/commands/environment/listenvironments.js +40 -8
- package/dist/commands/environment/listenvironments.js.map +1 -1
- package/dist/commands/environment/listenvironments.spec.js +41 -2
- package/dist/commands/environment/listenvironments.spec.js.map +1 -1
- package/dist/commands/environment/setenvironment.js +145 -6
- package/dist/commands/environment/setenvironment.js.map +1 -1
- package/dist/commands/environment/setenvironment.spec.js +256 -8
- package/dist/commands/environment/setenvironment.spec.js.map +1 -1
- package/dist/commands/environment/updateenvironment.js +12 -8
- package/dist/commands/environment/updateenvironment.js.map +1 -1
- package/dist/commands/environment/updateenvironment.spec.js +36 -2
- package/dist/commands/environment/updateenvironment.spec.js.map +1 -1
- package/dist/commands/get.js +64 -1
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/group/addmember.js +3 -1
- package/dist/commands/group/addmember.js.map +1 -1
- package/dist/commands/group/addmember.spec.js +7 -2
- package/dist/commands/group/addmember.spec.js.map +1 -1
- package/dist/commands/group/creategroup.js +2 -0
- package/dist/commands/group/creategroup.js.map +1 -1
- package/dist/commands/group/deletegroup.js +3 -1
- package/dist/commands/group/deletegroup.js.map +1 -1
- package/dist/commands/group/deletegroup.spec.js +7 -1
- package/dist/commands/group/deletegroup.spec.js.map +1 -1
- package/dist/commands/group/getgroup.js +2 -0
- package/dist/commands/group/getgroup.js.map +1 -1
- package/dist/commands/group/listgroups.js +2 -0
- package/dist/commands/group/listgroups.js.map +1 -1
- package/dist/commands/group/removemember.js +3 -1
- package/dist/commands/group/removemember.js.map +1 -1
- package/dist/commands/group/removemember.spec.js +7 -2
- package/dist/commands/group/removemember.spec.js.map +1 -1
- package/dist/commands/groupaccesstoken/deleteToken.js +2 -1
- package/dist/commands/groupaccesstoken/deleteToken.js.map +1 -1
- package/dist/commands/groupaccesstoken/groupContainer.js +2 -0
- package/dist/commands/groupaccesstoken/groupContainer.js.map +1 -1
- package/dist/commands/list.js +24 -4
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/materialization/cancelrun.js +3 -1
- package/dist/commands/materialization/cancelrun.js.map +1 -1
- package/dist/commands/materialization/getindex.js +2 -0
- package/dist/commands/materialization/getindex.js.map +1 -1
- package/dist/commands/materialization/getmaterialization.js +2 -0
- package/dist/commands/materialization/getmaterialization.js.map +1 -1
- package/dist/commands/materialization/getpreaggregate.js +2 -0
- package/dist/commands/materialization/getpreaggregate.js.map +1 -1
- package/dist/commands/materialization/getrun.js +2 -0
- package/dist/commands/materialization/getrun.js.map +1 -1
- package/dist/commands/materialization/listindexes.js +2 -0
- package/dist/commands/materialization/listindexes.js.map +1 -1
- package/dist/commands/materialization/listmaterializations.js +2 -0
- package/dist/commands/materialization/listmaterializations.js.map +1 -1
- package/dist/commands/materialization/listpreaggregates.js +2 -0
- package/dist/commands/materialization/listpreaggregates.js.map +1 -1
- package/dist/commands/materialization/listruns.js +3 -1
- package/dist/commands/materialization/listruns.js.map +1 -1
- package/dist/commands/materialization/rerun.js +3 -1
- package/dist/commands/materialization/rerun.js.map +1 -1
- package/dist/commands/misc/inquirerHost.js +87 -0
- package/dist/commands/misc/inquirerHost.js.map +1 -0
- package/dist/commands/misc/inquirerHost.spec.js +91 -0
- package/dist/commands/misc/inquirerHost.spec.js.map +1 -0
- package/dist/commands/misc/login.js +348 -58
- package/dist/commands/misc/login.js.map +1 -1
- package/dist/commands/misc/login.spec.js +525 -7
- package/dist/commands/misc/login.spec.js.map +1 -1
- package/dist/commands/misc/logout.js +26 -3
- package/dist/commands/misc/logout.js.map +1 -1
- package/dist/commands/misc/logout.spec.js +52 -12
- package/dist/commands/misc/logout.spec.js.map +1 -1
- package/dist/commands/misc/resolveLoginTarget.spec.js +90 -0
- package/dist/commands/misc/resolveLoginTarget.spec.js.map +1 -0
- package/dist/commands/misc/scope.spec.js +108 -0
- package/dist/commands/misc/scope.spec.js.map +1 -0
- package/dist/commands/misc/set-access-token.js +1 -1
- package/dist/commands/misc/set-access-token.js.map +1 -1
- package/dist/commands/misc/set-access-token.spec.js +13 -2
- package/dist/commands/misc/set-access-token.spec.js.map +1 -1
- package/dist/commands/misc/setup.js +819 -0
- package/dist/commands/misc/setup.js.map +1 -0
- package/dist/commands/misc/setup.spec.js +783 -0
- package/dist/commands/misc/setup.spec.js.map +1 -0
- package/dist/commands/misc/status.js +168 -0
- package/dist/commands/misc/status.js.map +1 -0
- package/dist/commands/misc/status.spec.js +301 -0
- package/dist/commands/misc/status.spec.js.map +1 -0
- package/dist/commands/misc/token.js +57 -0
- package/dist/commands/misc/token.js.map +1 -0
- package/dist/commands/misc/token.spec.js +92 -0
- package/dist/commands/misc/token.spec.js.map +1 -0
- package/dist/commands/package/deletepackage.js +4 -2
- package/dist/commands/package/deletepackage.js.map +1 -1
- package/dist/commands/package/deletepackage.spec.js +7 -1
- package/dist/commands/package/deletepackage.spec.js.map +1 -1
- package/dist/commands/package/getpackage.js +142 -0
- package/dist/commands/package/getpackage.js.map +1 -0
- package/dist/commands/package/getpackage.spec.js +246 -0
- package/dist/commands/package/getpackage.spec.js.map +1 -0
- package/dist/commands/package/listpackages.js +2 -0
- package/dist/commands/package/listpackages.js.map +1 -1
- package/dist/commands/package/publish.archive.spec.js +570 -0
- package/dist/commands/package/publish.archive.spec.js.map +1 -0
- package/dist/commands/package/publish.js +780 -49
- package/dist/commands/package/publish.js.map +1 -1
- package/dist/commands/package/publish.spec.js +451 -8
- package/dist/commands/package/publish.spec.js.map +1 -1
- package/dist/commands/package/updatepackage.js +22 -19
- package/dist/commands/package/updatepackage.js.map +1 -1
- package/dist/commands/package/updatepackage.spec.js +36 -1
- package/dist/commands/package/updatepackage.spec.js.map +1 -1
- package/dist/commands/permission/createpermission.js +3 -1
- package/dist/commands/permission/createpermission.js.map +1 -1
- package/dist/commands/permission/deletepermission.js +6 -3
- package/dist/commands/permission/deletepermission.js.map +1 -1
- package/dist/commands/permission/getpermission.js +2 -0
- package/dist/commands/permission/getpermission.js.map +1 -1
- package/dist/commands/permission/listpermissions.js +2 -0
- package/dist/commands/permission/listpermissions.js.map +1 -1
- package/dist/commands/rm.js +21 -0
- package/dist/commands/rm.js.map +1 -1
- package/dist/commands/set.js +40 -6
- package/dist/commands/set.js.map +1 -1
- package/dist/commands/set.spec.js +123 -0
- package/dist/commands/set.spec.js.map +1 -0
- package/dist/commands/table/addtable.js +155 -0
- package/dist/commands/table/addtable.js.map +1 -0
- package/dist/commands/table/deletetable.js +45 -0
- package/dist/commands/table/deletetable.js.map +1 -0
- package/dist/commands/table/gettable.js +32 -0
- package/dist/commands/table/gettable.js.map +1 -0
- package/dist/commands/table/listtables.js +36 -0
- package/dist/commands/table/listtables.js.map +1 -0
- package/dist/commands/table/table.spec.js +304 -0
- package/dist/commands/table/table.spec.js.map +1 -0
- package/dist/commands/table/tablefile.js +195 -0
- package/dist/commands/table/tablefile.js.map +1 -0
- package/dist/commands/table/tablefile.spec.js +158 -0
- package/dist/commands/table/tablefile.spec.js.map +1 -0
- package/dist/commands/update.js +21 -0
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/version/archive-unarchive-version.js +4 -2
- package/dist/commands/version/archive-unarchive-version.js.map +1 -1
- package/dist/commands/version/archive-unarchive-version.spec.js +6 -1
- package/dist/commands/version/archive-unarchive-version.spec.js.map +1 -1
- package/dist/commands/version/listversions.js +2 -0
- package/dist/commands/version/listversions.js.map +1 -1
- package/dist/common/UserGroupId.js +9 -4
- package/dist/common/UserGroupId.js.map +1 -1
- package/dist/common/UserGroupId.spec.js +5 -0
- package/dist/common/UserGroupId.spec.js.map +1 -1
- package/dist/constants.js +37 -143
- package/dist/constants.js.map +1 -1
- package/dist/index.js +487 -90
- package/dist/index.js.map +1 -1
- package/dist/logger.js +42 -9
- package/dist/logger.js.map +1 -1
- package/dist/session.js +56 -0
- package/dist/session.js.map +1 -0
- package/dist/session.spec.js +103 -0
- package/dist/session.spec.js.map +1 -0
- package/dist/setup-core/briefing.js +176 -0
- package/dist/setup-core/briefing.js.map +1 -0
- package/dist/setup-core/credstore.js +415 -0
- package/dist/setup-core/credstore.js.map +1 -0
- package/dist/setup-core/credstore.spec.js +238 -0
- package/dist/setup-core/credstore.spec.js.map +1 -0
- package/dist/setup-core/environments.js +267 -0
- package/dist/setup-core/environments.js.map +1 -0
- package/dist/setup-core/flow.e2e.js +165 -0
- package/dist/setup-core/flow.e2e.js.map +1 -0
- package/dist/setup-core/flow.js +765 -0
- package/dist/setup-core/flow.js.map +1 -0
- package/dist/setup-core/flow.spec.js +1348 -0
- package/dist/setup-core/flow.spec.js.map +1 -0
- package/dist/setup-core/folderconfig.js +283 -0
- package/dist/setup-core/folderconfig.js.map +1 -0
- package/dist/setup-core/git.js +97 -0
- package/dist/setup-core/git.js.map +1 -0
- package/dist/setup-core/host.js +77 -0
- package/dist/setup-core/host.js.map +1 -0
- package/dist/setup-core/importconnections.js +470 -0
- package/dist/setup-core/importconnections.js.map +1 -0
- package/dist/setup-core/importconnections.spec.js +594 -0
- package/dist/setup-core/importconnections.spec.js.map +1 -0
- package/dist/setup-core/liveness.js +94 -0
- package/dist/setup-core/liveness.js.map +1 -0
- package/dist/setup-core/liveness.spec.js +59 -0
- package/dist/setup-core/liveness.spec.js.map +1 -0
- package/dist/setup-core/localpublisherconfig.js +26 -0
- package/dist/setup-core/localpublisherconfig.js.map +1 -0
- package/dist/setup-core/localpublisherconfig.spec.js +29 -0
- package/dist/setup-core/localpublisherconfig.spec.js.map +1 -0
- package/dist/setup-core/mcpconfig.js +198 -0
- package/dist/setup-core/mcpconfig.js.map +1 -0
- package/dist/setup-core/mcpconfig.spec.js +205 -0
- package/dist/setup-core/mcpconfig.spec.js.map +1 -0
- package/dist/setup-core/packagemanifest.js +55 -0
- package/dist/setup-core/packagemanifest.js.map +1 -0
- package/dist/setup-core/ports.js +182 -0
- package/dist/setup-core/ports.js.map +1 -0
- package/dist/setup-core/ports.spec.js +173 -0
- package/dist/setup-core/ports.spec.js.map +1 -0
- package/dist/setup-core/publisherconfig.js +268 -0
- package/dist/setup-core/publisherconfig.js.map +1 -0
- package/dist/setup-core/publisherconfig.oracle.js +166 -0
- package/dist/setup-core/publisherconfig.oracle.js.map +1 -0
- package/dist/setup-core/publisherconfig.spec.js +277 -0
- package/dist/setup-core/publisherconfig.spec.js.map +1 -0
- package/dist/setup-core/publisherversion.js +26 -0
- package/dist/setup-core/publisherversion.js.map +1 -0
- package/dist/setup-core/readiness.spec.js +161 -0
- package/dist/setup-core/readiness.spec.js.map +1 -0
- package/dist/setup-core/readylines.js +169 -0
- package/dist/setup-core/readylines.js.map +1 -0
- package/dist/setup-core/readylines.spec.js +70 -0
- package/dist/setup-core/readylines.spec.js.map +1 -0
- package/dist/setup-core/refresh.js +348 -0
- package/dist/setup-core/refresh.js.map +1 -0
- package/dist/setup-core/refresh.spec.js +501 -0
- package/dist/setup-core/refresh.spec.js.map +1 -0
- package/dist/setup-core/skills.js +279 -0
- package/dist/setup-core/skills.js.map +1 -0
- package/dist/setup-core/skills.spec.js +334 -0
- package/dist/setup-core/skills.spec.js.map +1 -0
- package/dist/setup-core/supervisor.js +879 -0
- package/dist/setup-core/supervisor.js.map +1 -0
- package/dist/setup-core/supervisor.spec.js +833 -0
- package/dist/setup-core/supervisor.spec.js.map +1 -0
- package/dist/setup-core/writefile.js +61 -0
- package/dist/setup-core/writefile.js.map +1 -0
- package/dist/setup-core/writefile.spec.js +68 -0
- package/dist/setup-core/writefile.spec.js.map +1 -0
- package/dist/utils.js +409 -3
- package/dist/utils.js.map +1 -1
- package/dist/utils.spec.js +373 -2
- package/dist/utils.spec.js.map +1 -1
- package/dist/versioncheck-refresh.js +18 -0
- package/dist/versioncheck-refresh.js.map +1 -0
- package/dist/versioncheck.js +324 -0
- package/dist/versioncheck.js.map +1 -0
- package/dist/versioncheck.spec.js +587 -0
- package/dist/versioncheck.spec.js.map +1 -0
- package/node_modules/@credibledata/cli-auth/dist/index.d.ts +86 -0
- package/node_modules/@credibledata/cli-auth/dist/index.js +102 -0
- package/node_modules/@credibledata/cli-auth/package.json +19 -0
- package/package.json +18 -6
- package/.github/workflows/build.yml +0 -23
- package/.mocharc.json +0 -10
- package/.prettierignore +0 -2
- package/.prettierrc +0 -4
- package/README-DEV.md +0 -40
- package/coverage/coverage-summary.json +0 -40
- package/coverage/tmp/coverage-2152-1789496974457-0.json +0 -1
- package/coverage/tmp/coverage-2153-1789496954404-0.json +0 -1
- package/docker/Dockerfile.ci +0 -18
- package/docker-compose.yml +0 -18
- package/eslint.config.mjs +0 -45
- package/generate-client.sh +0 -27
- package/mocha.setup.ts +0 -4
- package/openapitools.json +0 -10
- package/src/client/.openapi-generator/FILES +0 -9
- package/src/client/.openapi-generator/VERSION +0 -1
- package/src/client/.openapi-generator-ignore +0 -23
- package/src/client/api.ts +0 -15999
- package/src/client/base.ts +0 -86
- package/src/client/common.ts +0 -150
- package/src/client/configuration.ts +0 -110
- package/src/client/git_push.sh +0 -57
- package/src/client/index.ts +0 -18
- package/src/clientconfiguration.spec.ts +0 -615
- package/src/clientconfiguration.ts +0 -364
- package/src/commands/add.ts +0 -191
- package/src/commands/connection/createconnections.spec.ts +0 -413
- package/src/commands/connection/createconnections.ts +0 -109
- package/src/commands/connection/deleteconnection.spec.ts +0 -189
- package/src/commands/connection/deleteconnection.ts +0 -57
- package/src/commands/connection/listconnections.spec.ts +0 -132
- package/src/commands/connection/listconnections.ts +0 -58
- package/src/commands/environment/createenvironment.spec.ts +0 -249
- package/src/commands/environment/createenvironment.ts +0 -73
- package/src/commands/environment/deleteenvironment.spec.ts +0 -152
- package/src/commands/environment/deleteenvironment.ts +0 -48
- package/src/commands/environment/getenvironment.spec.ts +0 -110
- package/src/commands/environment/getenvironment.ts +0 -43
- package/src/commands/environment/listenvironments.spec.ts +0 -123
- package/src/commands/environment/listenvironments.ts +0 -67
- package/src/commands/environment/setenvironment.spec.ts +0 -63
- package/src/commands/environment/setenvironment.ts +0 -14
- package/src/commands/environment/updateenvironment.spec.ts +0 -386
- package/src/commands/environment/updateenvironment.ts +0 -168
- package/src/commands/get.ts +0 -153
- package/src/commands/group/addmember.spec.ts +0 -257
- package/src/commands/group/addmember.ts +0 -85
- package/src/commands/group/creategroup.spec.ts +0 -146
- package/src/commands/group/creategroup.ts +0 -54
- package/src/commands/group/deletegroup.spec.ts +0 -120
- package/src/commands/group/deletegroup.ts +0 -45
- package/src/commands/group/getgroup.spec.ts +0 -129
- package/src/commands/group/getgroup.ts +0 -47
- package/src/commands/group/listgroups.spec.ts +0 -137
- package/src/commands/group/listgroups.ts +0 -45
- package/src/commands/group/removemember.spec.ts +0 -224
- package/src/commands/group/removemember.ts +0 -75
- package/src/commands/groupaccesstoken/createToken.spec.ts +0 -211
- package/src/commands/groupaccesstoken/createToken.ts +0 -72
- package/src/commands/groupaccesstoken/deleteToken.spec.ts +0 -147
- package/src/commands/groupaccesstoken/deleteToken.ts +0 -29
- package/src/commands/groupaccesstoken/groupContainer.ts +0 -83
- package/src/commands/groupaccesstoken/listTokens.spec.ts +0 -147
- package/src/commands/groupaccesstoken/listTokens.ts +0 -29
- package/src/commands/legacy.ts +0 -5
- package/src/commands/list.ts +0 -326
- package/src/commands/materialization/cancelrun.ts +0 -70
- package/src/commands/materialization/getindex.ts +0 -55
- package/src/commands/materialization/getmaterialization.ts +0 -57
- package/src/commands/materialization/getpreaggregate.ts +0 -58
- package/src/commands/materialization/getrun.ts +0 -55
- package/src/commands/materialization/listindexes.ts +0 -69
- package/src/commands/materialization/listmaterializations.ts +0 -53
- package/src/commands/materialization/listpreaggregates.ts +0 -74
- package/src/commands/materialization/listruns.ts +0 -77
- package/src/commands/materialization/rerun.ts +0 -123
- package/src/commands/misc/login.spec.ts +0 -371
- package/src/commands/misc/login.ts +0 -343
- package/src/commands/misc/logout.spec.ts +0 -32
- package/src/commands/misc/logout.ts +0 -9
- package/src/commands/misc/loopbackOAuth.ts +0 -127
- package/src/commands/misc/set-access-token.spec.ts +0 -95
- package/src/commands/misc/set-access-token.ts +0 -32
- package/src/commands/package/deletepackage.spec.ts +0 -164
- package/src/commands/package/deletepackage.ts +0 -58
- package/src/commands/package/listpackages.spec.ts +0 -163
- package/src/commands/package/listpackages.ts +0 -74
- package/src/commands/package/publish.spec.ts +0 -642
- package/src/commands/package/publish.ts +0 -236
- package/src/commands/package/updatepackage.spec.ts +0 -319
- package/src/commands/package/updatepackage.ts +0 -95
- package/src/commands/permission/createpermission.spec.ts +0 -507
- package/src/commands/permission/createpermission.ts +0 -181
- package/src/commands/permission/deletepermission.ts +0 -117
- package/src/commands/permission/getpermission.ts +0 -115
- package/src/commands/permission/listpermissions.ts +0 -101
- package/src/commands/permission/scope.ts +0 -180
- package/src/commands/rm.ts +0 -146
- package/src/commands/set.ts +0 -25
- package/src/commands/update.ts +0 -107
- package/src/commands/version/archive-unarchive-version.spec.ts +0 -456
- package/src/commands/version/archive-unarchive-version.ts +0 -108
- package/src/commands/version/listversions.spec.ts +0 -138
- package/src/commands/version/listversions.ts +0 -45
- package/src/common/UserGroupId.spec.ts +0 -115
- package/src/common/UserGroupId.ts +0 -137
- package/src/constants.spec.ts +0 -111
- package/src/constants.ts +0 -228
- package/src/index.ts +0 -378
- package/src/logger.spec.ts +0 -158
- package/src/logger.ts +0 -90
- package/src/polyfills/file.polyfill.ts +0 -6
- package/src/utils.spec.ts +0 -135
- package/src/utils.ts +0 -115
- package/src/validator.spec.ts +0 -51
- package/src/validator.ts +0 -44
- package/tsconfig.json +0 -17
|
@@ -43,7 +43,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
43
43
|
};
|
|
44
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
45
|
exports.isLoginInvocation = isLoginInvocation;
|
|
46
|
+
exports.resolveLoginTarget = resolveLoginTarget;
|
|
47
|
+
exports.bareCellWarning = bareCellWarning;
|
|
46
48
|
exports.login = login;
|
|
49
|
+
exports.resolveOrganization = resolveOrganization;
|
|
47
50
|
const axios_1 = __importStar(require("axios"));
|
|
48
51
|
const jwt_decode_1 = require("jwt-decode");
|
|
49
52
|
const url_1 = require("url");
|
|
@@ -51,9 +54,15 @@ const api_1 = require("../../client/api");
|
|
|
51
54
|
const configuration_1 = require("../../client/configuration");
|
|
52
55
|
const clientconfiguration_1 = require("../../clientconfiguration");
|
|
53
56
|
const constants_1 = require("../../constants");
|
|
57
|
+
// Imported from setup-core directly rather than through `constants`'s
|
|
58
|
+
// re-export: `export { x } from` compiles to a non-writable getter, which
|
|
59
|
+
// sinon cannot replace, so stubbing these in a test silently binds nothing.
|
|
60
|
+
const environments_1 = require("../../setup-core/environments");
|
|
54
61
|
const logger_1 = require("../../logger");
|
|
62
|
+
const refresh_1 = require("../../setup-core/refresh");
|
|
55
63
|
const utils_1 = require("../../utils");
|
|
56
64
|
const loopbackOAuth = __importStar(require("./loopbackOAuth"));
|
|
65
|
+
const browser = __importStar(require("../../browser"));
|
|
57
66
|
const organizationsApi = new api_1.OrganizationsApi(new configuration_1.Configuration());
|
|
58
67
|
/**
|
|
59
68
|
* True when argv is a `cred login ...` invocation (argv = [node, script,
|
|
@@ -66,65 +75,305 @@ const organizationsApi = new api_1.OrganizationsApi(new configuration_1.Configur
|
|
|
66
75
|
* silently resets a user's tokens.
|
|
67
76
|
*/
|
|
68
77
|
function isLoginInvocation(argv) {
|
|
69
|
-
return argv
|
|
78
|
+
return (0, utils_1.invokedCommand)(argv) === "login";
|
|
70
79
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
80
|
+
/**
|
|
81
|
+
* Work out which cluster a login should target, and which deployment env that
|
|
82
|
+
* implies.
|
|
83
|
+
*
|
|
84
|
+
* Extracted from index.ts because it is a decision, not CLI wiring, and because
|
|
85
|
+
* the org-less path has to make the same decision without knowing the org.
|
|
86
|
+
*
|
|
87
|
+
* Precedence: explicit `--cluster`, then the cluster of the `--cell` or the
|
|
88
|
+
* deployment the directory is pinned to, then the org's declared default (only knowable when
|
|
89
|
+
* an org was named), then the cluster the user is already on — so
|
|
90
|
+
* `ms2ad set-env staging && cred login demo` stays on staging.
|
|
91
|
+
*
|
|
92
|
+
* `pinned` (a directory pin or `--cell`) is there because an org's default can
|
|
93
|
+
* be another deployment's: videoamp and demo default to gcp, so a bare `cred
|
|
94
|
+
* login videoamp` in a directory pinned to videoamp resolved to production.
|
|
95
|
+
*/
|
|
96
|
+
function resolveLoginTarget(currentEnv, organizationName, requestedCluster, options = {}) {
|
|
97
|
+
var _a;
|
|
98
|
+
const orgConfig = organizationName
|
|
99
|
+
? (0, environments_1.getCliOrgConfig)(organizationName)
|
|
100
|
+
: undefined;
|
|
101
|
+
let cluster;
|
|
102
|
+
if (requestedCluster !== undefined) {
|
|
103
|
+
const requested = requestedCluster.toLowerCase();
|
|
104
|
+
if (requested !== "gcp" && requested !== "aws") {
|
|
105
|
+
throw new Error(`Invalid --cluster value '${requestedCluster}'. Must be 'gcp' or 'aws'.`);
|
|
106
|
+
}
|
|
107
|
+
cluster = requested;
|
|
108
|
+
}
|
|
109
|
+
else if (options.pinned) {
|
|
110
|
+
cluster = environments_1.CLUSTER_BY_ENVIRONMENT[currentEnv];
|
|
111
|
+
}
|
|
112
|
+
else if (orgConfig) {
|
|
113
|
+
cluster = orgConfig.defaultCluster;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
cluster = environments_1.CLUSTER_BY_ENVIRONMENT[currentEnv];
|
|
117
|
+
}
|
|
118
|
+
// Unregistered orgs implicitly support only gcp; registered orgs declare
|
|
119
|
+
// their cluster list.
|
|
120
|
+
if (organizationName) {
|
|
121
|
+
const supportedClusters = (_a = orgConfig === null || orgConfig === void 0 ? void 0 : orgConfig.supportedClusters) !== null && _a !== void 0 ? _a : [
|
|
122
|
+
"gcp",
|
|
123
|
+
];
|
|
124
|
+
if (!supportedClusters.includes(cluster)) {
|
|
125
|
+
throw new Error(`Organization '${organizationName}' is not available on the ${cluster} cluster.`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else if (cluster === "aws") {
|
|
129
|
+
// An Auth0-Organizations cluster cannot authenticate without knowing the
|
|
130
|
+
// organization first — `organization` is a required `/authorize`
|
|
131
|
+
// parameter there, and the device-code endpoint does not accept it at
|
|
132
|
+
// all. So there is no org-less path to discover orgs on such a cluster;
|
|
133
|
+
// say so instead of failing inside Auth0.
|
|
134
|
+
//
|
|
135
|
+
// Refused here rather than in `login()` because the caller acts on the
|
|
136
|
+
// returned target before calling it: `index.ts` writes
|
|
137
|
+
// `activeEnvironment` as soon as the target names a different deployment.
|
|
138
|
+
// Rejecting after that had already flipped the user's global deployment
|
|
139
|
+
// to videoamp, leaving every later command pointed at another cluster
|
|
140
|
+
// after a login that failed and told them to try again.
|
|
141
|
+
throw new Error("Logging in to the aws cluster needs an organization up front, because its Auth0 tenant requires it to authenticate. Run `cred login <organization> -c aws`.");
|
|
142
|
+
}
|
|
143
|
+
// Respect a previously-set activeEnvironment if it's already on the chosen
|
|
144
|
+
// cluster. Only flip envs when the current one is on a different cluster.
|
|
145
|
+
const targetEnv = environments_1.CLUSTER_BY_ENVIRONMENT[currentEnv] === cluster
|
|
146
|
+
? currentEnv
|
|
147
|
+
: environments_1.DEFAULT_ENVIRONMENT_BY_CLUSTER[cluster];
|
|
148
|
+
return { cluster, targetEnv };
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* What to say after `--cell <cell>` signed in to a cell other than the one the
|
|
152
|
+
* next bare command resolves to (`without` is that resolution, flag ignored).
|
|
153
|
+
* Undefined when there is nothing to warn about.
|
|
154
|
+
*/
|
|
155
|
+
function bareCellWarning(cell, without) {
|
|
156
|
+
if (cell === without.deployment)
|
|
157
|
+
return undefined;
|
|
158
|
+
return without.from === "folder"
|
|
159
|
+
? `This directory is pinned to ${without.deployment}; pass --cell ${cell} on every command here, or re-pin with \`cred --cell ${cell} init\`.`
|
|
160
|
+
: `Your global cell is still ${without.deployment}; pass --cell ${cell} on every command or run \`cred set cell ${cell}\`.`;
|
|
161
|
+
}
|
|
162
|
+
function login(organizationName_1, controlPlaneBaseURL_1, configPath_1, cluster_1, deployment_1) {
|
|
163
|
+
return __awaiter(this, arguments, void 0, function* (organizationName, controlPlaneBaseURL, configPath, cluster,
|
|
164
|
+
// Which deployment's slot in `~/.cred` this login writes to, when the caller
|
|
165
|
+
// has already resolved one. Without it the tokens and organization land
|
|
166
|
+
// under the file's *global* `activeEnvironment`, so `cred init` in a
|
|
167
|
+
// directory pinned elsewhere logged in successfully and then failed its own
|
|
168
|
+
// `credStore.getOrganization()` check with "Setup needs an organization",
|
|
169
|
+
// because it was reading the slot login had not written.
|
|
170
|
+
deployment, options = {}) {
|
|
171
|
+
const config = new clientconfiguration_1.ClientConfiguration(configPath, deployment);
|
|
74
172
|
const environment = config.getEnvironment();
|
|
75
173
|
if (environment === "e2e-test") {
|
|
174
|
+
if (!organizationName) {
|
|
175
|
+
logger_1.logger.error("`cred login` needs an organization on the e2e-test deployment: the machine-to-machine flow has no user to look organizations up for. Pass the organization name.");
|
|
176
|
+
process.exit(1);
|
|
177
|
+
}
|
|
76
178
|
return loginM2M(organizationName, config);
|
|
77
179
|
}
|
|
78
|
-
const auth0OrganizationId =
|
|
180
|
+
const auth0OrganizationId = organizationName
|
|
181
|
+
? (0, environments_1.getAuth0OrganizationIdForCliLogin)(organizationName, cluster)
|
|
182
|
+
: undefined;
|
|
79
183
|
if (auth0OrganizationId) {
|
|
80
184
|
return loginWithAuthCodePkceOrganization(environment, organizationName, controlPlaneBaseURL, config, auth0OrganizationId);
|
|
81
185
|
}
|
|
186
|
+
// Already signed in to this deployment as a user: the token is not tied to
|
|
187
|
+
// an organization (only the Auth0-organization flow above is), so naming
|
|
188
|
+
// one is a switch, not a new sign-in. Signing in again asked for a second
|
|
189
|
+
// device code seconds after the first.
|
|
190
|
+
//
|
|
191
|
+
// The switch renews the token only when it needs renewing, as every other
|
|
192
|
+
// command does: a valid token is kept, and an expired one is renewed rather
|
|
193
|
+
// than signed in from scratch. When Auth0 refuses the refresh token, the
|
|
194
|
+
// renewal clears the tokens (and only the tokens, so the organization and
|
|
195
|
+
// environment survive) and this falls through to a real sign-in.
|
|
196
|
+
//
|
|
197
|
+
// When Auth0 cannot be reached (or another `cred` process holds the refresh
|
|
198
|
+
// lock), the switch goes ahead on the token on disk while it is still valid.
|
|
199
|
+
// A device-code sign-in needs the same Auth0 and would fail the same way.
|
|
200
|
+
// Once that token has expired, a held lock or an unwritable `~/.cred` stops
|
|
201
|
+
// here with what to do instead of signing in.
|
|
202
|
+
if (!options.force &&
|
|
203
|
+
organizationName &&
|
|
204
|
+
controlPlaneBaseURL &&
|
|
205
|
+
!config.isServiceAccountToken() &&
|
|
206
|
+
config.getRefreshToken()) {
|
|
207
|
+
const renewal = yield (0, refresh_1.ensureFreshTokens)(config);
|
|
208
|
+
const fresh = renewal.status === "fresh";
|
|
209
|
+
const keptToken = renewal.status === "offline" && config.isTokenValid().valid;
|
|
210
|
+
if (keptToken) {
|
|
211
|
+
logger_1.logger.warn(`${renewal.reason} Continuing with the token on disk, which is still valid.`);
|
|
212
|
+
}
|
|
213
|
+
if (fresh || keptToken) {
|
|
214
|
+
try {
|
|
215
|
+
const switched = yield selectOrganization(organizationName, controlPlaneBaseURL, config, {
|
|
216
|
+
announce: false,
|
|
217
|
+
});
|
|
218
|
+
const cell = config.getEnvironment();
|
|
219
|
+
console.log(`${switched
|
|
220
|
+
? `Already signed in to ${cell}, so this switched to ${organizationName} without signing in again.`
|
|
221
|
+
: `Already signed in to ${cell} with ${organizationName} selected; nothing changed.`} To sign in as someone else, pass --force.`);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
// The token was refused (a revoked session, a key rotation,
|
|
226
|
+
// a 5xx). A 403 or 404 on the organization has already exited.
|
|
227
|
+
// Anything else falls through to a real sign-in, or `cred login
|
|
228
|
+
// <org>` would fail the same way forever.
|
|
229
|
+
logger_1.logger.warn(`Could not use your saved sign-in (${error instanceof Error ? error.message : String(error)}), so signing in again.`);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
else if (renewal.status === "offline" && renewal.retry) {
|
|
233
|
+
// `retry` names a cause a sign-in cannot fix: another `cred` process
|
|
234
|
+
// holds the refresh lock, or `~/.cred` cannot be written. A device-code
|
|
235
|
+
// sign-in would race that process for the same file, or fail to save.
|
|
236
|
+
// `keptToken` above already re-read the file, so a renewal the other
|
|
237
|
+
// process finished in the meantime has been used.
|
|
238
|
+
logger_1.logger.error(`${renewal.reason} ${renewal.retry}`);
|
|
239
|
+
process.exit(1);
|
|
240
|
+
}
|
|
241
|
+
else if (renewal.status === "logged-out") {
|
|
242
|
+
// Its `reason` ends in "Run `cred login`", which is what the user is
|
|
243
|
+
// already doing.
|
|
244
|
+
logger_1.logger.warn("Your saved session can no longer be renewed, so signing in again.");
|
|
245
|
+
}
|
|
246
|
+
else if ("reason" in renewal) {
|
|
247
|
+
logger_1.logger.warn(`${renewal.reason} Signing in again.`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// No org-less-on-aws check here: it lives in `resolveLoginTarget`, which
|
|
251
|
+
// every caller runs to obtain `cluster`, and which has to reject before the
|
|
252
|
+
// caller acts on the target it hands back.
|
|
82
253
|
return loginWithDeviceCode(environment, organizationName, controlPlaneBaseURL, config);
|
|
83
254
|
});
|
|
84
255
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
256
|
+
/**
|
|
257
|
+
* Persist the tokens Auth0 issued.
|
|
258
|
+
*
|
|
259
|
+
* Both fields the extension reads keep their meaning, and the id token gets its
|
|
260
|
+
* own field so nothing has to guess which is which later. See
|
|
261
|
+
* `setup-core/credstore.ts` for why guessing was ever necessary.
|
|
262
|
+
*/
|
|
263
|
+
function persistTokens(tokenPayload, config) {
|
|
264
|
+
if (tokenPayload.id_token) {
|
|
265
|
+
const decoded = (0, jwt_decode_1.jwtDecode)(tokenPayload.id_token);
|
|
266
|
+
if (typeof decoded === "object" &&
|
|
267
|
+
decoded !== null &&
|
|
268
|
+
"email" in decoded &&
|
|
269
|
+
"name" in decoded) {
|
|
270
|
+
const user = decoded;
|
|
271
|
+
config.setVSCodeUser(user.name, user.email);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
config.setTokenPair({
|
|
275
|
+
accessToken: tokenPayload.access_token,
|
|
276
|
+
idToken: tokenPayload.id_token,
|
|
277
|
+
refreshToken: tokenPayload.refresh_token,
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Pick the organization to work in, once we have a token.
|
|
282
|
+
*
|
|
283
|
+
* This is the flow the VS Code extension already proves: authenticate first,
|
|
284
|
+
* then ask the control plane which organizations this user can see. Exactly one
|
|
285
|
+
* auto-selects; several raise a picker. Naming an org up front stays supported
|
|
286
|
+
* and is what scripts should do.
|
|
287
|
+
*/
|
|
288
|
+
function resolveOrganization(organizationName_1, controlPlaneBaseURL_1, config_1) {
|
|
289
|
+
return __awaiter(this, arguments, void 0, function* (organizationName, controlPlaneBaseURL, config,
|
|
290
|
+
/** What answers the picker at this front door. Defaults to `cred login`'s. */
|
|
291
|
+
// Said after the sign-in has succeeded, so the re-run must not look like a
|
|
292
|
+
// second sign-in: with a session in place it no longer is one.
|
|
293
|
+
flag = "the organization as an argument: `cred login <organization>` (you are signed in; it will not ask you to sign in again)") {
|
|
294
|
+
var _a;
|
|
295
|
+
if (organizationName) {
|
|
296
|
+
return organizationName;
|
|
297
|
+
}
|
|
298
|
+
const response = yield organizationsApi.listOrganizations(undefined, undefined, undefined, {
|
|
299
|
+
baseURL: controlPlaneBaseURL,
|
|
300
|
+
headers: config.getHeaders(),
|
|
301
|
+
});
|
|
302
|
+
// `name` is optional in the generated model but is the organization's
|
|
303
|
+
// identity everywhere it is used, so an entry without one is not selectable.
|
|
304
|
+
const named = [];
|
|
305
|
+
for (const org of (_a = response.data) !== null && _a !== void 0 ? _a : []) {
|
|
306
|
+
if (org.name) {
|
|
307
|
+
named.push({ name: org.name, displayName: org.displayName });
|
|
96
308
|
}
|
|
97
309
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
config.setRefreshToken(tokenPayload.refresh_token);
|
|
310
|
+
if (named.length === 0) {
|
|
311
|
+
logger_1.logger.error("Your account is not a member of any Credible organization yet. Ask an administrator to invite you, then run `cred login` again.");
|
|
312
|
+
process.exit(1);
|
|
102
313
|
}
|
|
314
|
+
return (0, utils_1.selectFromList)("Which organization?", named.map((org) => ({
|
|
315
|
+
name: org.displayName ? `${org.name} (${org.displayName})` : org.name,
|
|
316
|
+
value: org.name,
|
|
317
|
+
})),
|
|
318
|
+
// The hint is not decoration: without it this picker refuses a piped
|
|
319
|
+
// stdin with the generic "pass the flag that names your choice", and the
|
|
320
|
+
// organization is a positional argument rather than a flag, so there is
|
|
321
|
+
// nothing for the caller to guess at. This is the one prompt site in the
|
|
322
|
+
// CLI that an agent reaches before `cred init` has wired anything.
|
|
323
|
+
{
|
|
324
|
+
flag,
|
|
325
|
+
options: named.map((org) => org.name),
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
function persistTokensAndVerifyOrganization(tokenPayload, organizationName, controlPlaneBaseURL, config) {
|
|
330
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
331
|
+
persistTokens(tokenPayload, config);
|
|
332
|
+
const resolvedOrganization = yield resolveOrganization(organizationName, controlPlaneBaseURL, config);
|
|
333
|
+
yield selectOrganization(resolvedOrganization, controlPlaneBaseURL, config);
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Check the user can see `resolvedOrganization`, then make it current.
|
|
338
|
+
* Resolves to whether that changed the organization.
|
|
339
|
+
*/
|
|
340
|
+
function selectOrganization(resolvedOrganization_1, controlPlaneBaseURL_1, config_1) {
|
|
341
|
+
return __awaiter(this, arguments, void 0, function* (resolvedOrganization, controlPlaneBaseURL, config,
|
|
342
|
+
/** `false` when the caller prints its own success line. */
|
|
343
|
+
options = {}) {
|
|
344
|
+
var _a, _b;
|
|
345
|
+
const previous = config.getOrganization();
|
|
103
346
|
try {
|
|
104
|
-
const response = yield organizationsApi.getOrganization(
|
|
347
|
+
const response = yield organizationsApi.getOrganization(resolvedOrganization, {
|
|
105
348
|
baseURL: controlPlaneBaseURL,
|
|
106
349
|
headers: config.getHeaders(),
|
|
107
350
|
});
|
|
108
351
|
if (response.status === 200) {
|
|
109
|
-
if (
|
|
110
|
-
config.setOrganization(
|
|
352
|
+
if (resolvedOrganization !== previous) {
|
|
353
|
+
config.setOrganization(resolvedOrganization);
|
|
111
354
|
config.setProject(undefined);
|
|
112
355
|
}
|
|
113
|
-
|
|
356
|
+
if (options.announce !== false) {
|
|
357
|
+
console.log(`Login successful. Signed in to ${resolvedOrganization} on ${config.getEnvironment()}.`);
|
|
358
|
+
}
|
|
114
359
|
}
|
|
360
|
+
return resolvedOrganization !== previous;
|
|
115
361
|
}
|
|
116
362
|
catch (error) {
|
|
117
363
|
if (!controlPlaneBaseURL.startsWith("https://")) {
|
|
118
364
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
119
365
|
logger_1.logger.warn("Error with organziation check- might be bootstrapping. Ignoring: " +
|
|
120
366
|
errorMsg);
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
367
|
+
const changed = resolvedOrganization !== previous;
|
|
368
|
+
if (changed) {
|
|
369
|
+
config.setOrganization(resolvedOrganization);
|
|
370
|
+
config.setProject(undefined);
|
|
371
|
+
}
|
|
372
|
+
return changed;
|
|
124
373
|
}
|
|
125
374
|
if ((0, axios_1.isAxiosError)(error)) {
|
|
126
375
|
if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 403 || ((_b = error.response) === null || _b === void 0 ? void 0 : _b.status) === 404) {
|
|
127
|
-
logger_1.logger.error(`The organization "${
|
|
376
|
+
logger_1.logger.error(`The organization "${resolvedOrganization}" does not exist, or you do not have permission to access it.`);
|
|
128
377
|
process.exit(1);
|
|
129
378
|
}
|
|
130
379
|
}
|
|
@@ -135,9 +384,9 @@ function persistTokensAndVerifyOrganization(tokenPayload, organizationName, cont
|
|
|
135
384
|
function loginWithAuthCodePkceOrganization(environment, organizationName, controlPlaneBaseURL, config, auth0OrganizationId) {
|
|
136
385
|
return __awaiter(this, void 0, void 0, function* () {
|
|
137
386
|
var _a;
|
|
138
|
-
const auth0Domain =
|
|
139
|
-
const auth0ClientId =
|
|
140
|
-
const audience =
|
|
387
|
+
const auth0Domain = environments_1.auth0ConfigsByEnv[environment].domain;
|
|
388
|
+
const auth0ClientId = environments_1.auth0ConfigsByEnv[environment].clientId;
|
|
389
|
+
const audience = environments_1.auth0ConfigsByEnv[environment].audience;
|
|
141
390
|
const { codeVerifier, codeChallenge } = loopbackOAuth.generatePkcePair();
|
|
142
391
|
const state = loopbackOAuth.generateOAuthState();
|
|
143
392
|
const authorizeParams = new url_1.URLSearchParams({
|
|
@@ -160,6 +409,7 @@ function loginWithAuthCodePkceOrganization(environment, organizationName, contro
|
|
|
160
409
|
timeoutMs: constants_1.LOGIN_TIMEOUT_MS,
|
|
161
410
|
onListening: () => {
|
|
162
411
|
logger_1.logger.info(`Please visit the following URL to login ${authorizeUrl}`);
|
|
412
|
+
void offerBrowser(authorizeUrl);
|
|
163
413
|
logger_1.logger.info("Waiting for login...");
|
|
164
414
|
},
|
|
165
415
|
});
|
|
@@ -196,11 +446,38 @@ function loginWithAuthCodePkceOrganization(environment, organizationName, contro
|
|
|
196
446
|
}
|
|
197
447
|
});
|
|
198
448
|
}
|
|
449
|
+
/**
|
|
450
|
+
* Open the sign-in page for a person at a terminal, after the URL is printed.
|
|
451
|
+
* The printed line stays either way: it is how someone signs in when the
|
|
452
|
+
* browser opens on the wrong profile, or not at all.
|
|
453
|
+
*/
|
|
454
|
+
function offerBrowser(url) {
|
|
455
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
456
|
+
if (!browser.shouldOpenBrowser())
|
|
457
|
+
return;
|
|
458
|
+
if (yield browser.openInBrowser(url)) {
|
|
459
|
+
logger_1.logger.info("Opened your browser to sign in.");
|
|
460
|
+
}
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* OAuth error codes after which a device code can never be redeemed (RFC 8628
|
|
465
|
+
* §3.5 plus the token endpoint's own, RFC 6749 §5.2).
|
|
466
|
+
*/
|
|
467
|
+
const FINAL_DEVICE_CODE_ERRORS = new Set([
|
|
468
|
+
"expired_token",
|
|
469
|
+
"access_denied",
|
|
470
|
+
"invalid_grant",
|
|
471
|
+
"invalid_request",
|
|
472
|
+
"invalid_client",
|
|
473
|
+
"unauthorized_client",
|
|
474
|
+
"unsupported_grant_type",
|
|
475
|
+
]);
|
|
199
476
|
function loginWithDeviceCode(environment, organizationName, controlPlaneBaseURL, config) {
|
|
200
477
|
return __awaiter(this, void 0, void 0, function* () {
|
|
201
478
|
var _a, _b, _c;
|
|
202
|
-
const auth0Domain =
|
|
203
|
-
const auth0ClientId =
|
|
479
|
+
const auth0Domain = environments_1.auth0ConfigsByEnv[environment].domain;
|
|
480
|
+
const auth0ClientId = environments_1.auth0ConfigsByEnv[environment].clientId;
|
|
204
481
|
let deviceCodeData = null;
|
|
205
482
|
try {
|
|
206
483
|
const deviceCode = yield axios_1.default.request({
|
|
@@ -209,12 +486,13 @@ function loginWithDeviceCode(environment, organizationName, controlPlaneBaseURL,
|
|
|
209
486
|
headers: { "content-type": "application/x-www-form-urlencoded" },
|
|
210
487
|
data: {
|
|
211
488
|
client_id: auth0ClientId,
|
|
212
|
-
audience:
|
|
489
|
+
audience: environments_1.auth0ConfigsByEnv[environment].audience,
|
|
213
490
|
scope: "openid profile email offline_access",
|
|
214
491
|
},
|
|
215
492
|
});
|
|
216
493
|
deviceCodeData = deviceCode.data;
|
|
217
494
|
logger_1.logger.info(`Please visit the following URL to login ${deviceCode.data.verification_uri_complete} and verify user code ${deviceCode.data.user_code}.`);
|
|
495
|
+
yield offerBrowser(deviceCode.data.verification_uri_complete);
|
|
218
496
|
logger_1.logger.info("Waiting for login...");
|
|
219
497
|
}
|
|
220
498
|
catch (e) {
|
|
@@ -222,6 +500,15 @@ function loginWithDeviceCode(environment, organizationName, controlPlaneBaseURL,
|
|
|
222
500
|
process.exit(1);
|
|
223
501
|
}
|
|
224
502
|
const startTime = Date.now();
|
|
503
|
+
// Only the poll is retried. A device code is single-use, so once one
|
|
504
|
+
// redemption has succeeded, re-POSTing it can never do anything but fail —
|
|
505
|
+
// and everything after that point (persisting, listing organizations,
|
|
506
|
+
// verifying the chosen one) is a one-shot. Retrying those was how a
|
|
507
|
+
// transient failure in the org-less path's `listOrganizations` call ended in
|
|
508
|
+
// "Login timed out after 5 minutes" and exit 1, five minutes after the
|
|
509
|
+
// tokens had already been written to disk and the user was, in fact,
|
|
510
|
+
// logged in.
|
|
511
|
+
let tokenPayload;
|
|
225
512
|
while (true) {
|
|
226
513
|
try {
|
|
227
514
|
const accessToken = yield axios_1.default.request({
|
|
@@ -234,31 +521,33 @@ function loginWithDeviceCode(environment, organizationName, controlPlaneBaseURL,
|
|
|
234
521
|
client_id: auth0ClientId,
|
|
235
522
|
}),
|
|
236
523
|
});
|
|
237
|
-
|
|
524
|
+
tokenPayload = accessToken.data;
|
|
238
525
|
break;
|
|
239
526
|
}
|
|
240
527
|
catch (error) {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
528
|
+
// Only Auth0's final answers for this device code stop the loop:
|
|
529
|
+
// re-POSTing after one of those can only fail again. Anything else —
|
|
530
|
+
// `authorization_pending`, `slow_down`, a network blip, or a 5xx/429
|
|
531
|
+
// page from a proxy in front of Auth0 that carries no OAuth error
|
|
532
|
+
// code — says nothing about the device code, so it retries until the
|
|
533
|
+
// five-minute clock runs out.
|
|
534
|
+
const code = (0, axios_1.isAxiosError)(error)
|
|
535
|
+
? (_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error
|
|
536
|
+
: undefined;
|
|
537
|
+
if (code === "authorization_pending" || code === "slow_down") {
|
|
538
|
+
// keep polling
|
|
539
|
+
}
|
|
540
|
+
else if ((0, axios_1.isAxiosError)(error) &&
|
|
541
|
+
error.response &&
|
|
542
|
+
FINAL_DEVICE_CODE_ERRORS.has(code)) {
|
|
543
|
+
const errorData = error.response.data;
|
|
544
|
+
logger_1.logger.error((_c = errorData.error_description) !== null && _c !== void 0 ? _c : errorData.error);
|
|
545
|
+
logger_1.logger.error("Login failed. Run `cred login` again.");
|
|
546
|
+
process.exit(1);
|
|
547
|
+
}
|
|
548
|
+
else {
|
|
549
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
550
|
+
logger_1.logger.error(errorMsg || "Unknown error occurred");
|
|
262
551
|
}
|
|
263
552
|
if (Date.now() - startTime > constants_1.LOGIN_TIMEOUT_MS) {
|
|
264
553
|
logger_1.logger.info("Login timed out after 5 minutes");
|
|
@@ -267,11 +556,12 @@ function loginWithDeviceCode(environment, organizationName, controlPlaneBaseURL,
|
|
|
267
556
|
yield (0, utils_1.sleep)(deviceCodeData.interval * 1000);
|
|
268
557
|
}
|
|
269
558
|
}
|
|
559
|
+
yield persistTokensAndVerifyOrganization(tokenPayload, organizationName, controlPlaneBaseURL, config);
|
|
270
560
|
});
|
|
271
561
|
}
|
|
272
562
|
function loginM2M(organizationName, config) {
|
|
273
563
|
return __awaiter(this, void 0, void 0, function* () {
|
|
274
|
-
const auth0Config =
|
|
564
|
+
const auth0Config = environments_1.auth0ConfigsByEnv["e2e-test"];
|
|
275
565
|
if (!auth0Config) {
|
|
276
566
|
throw new Error("No environment variables present for e2e");
|
|
277
567
|
}
|
|
@@ -283,7 +573,7 @@ function loginM2M(organizationName, config) {
|
|
|
283
573
|
data: {
|
|
284
574
|
grant_type: "client_credentials",
|
|
285
575
|
client_id: auth0Config.clientId,
|
|
286
|
-
client_secret:
|
|
576
|
+
client_secret: constants_1.E2E_M2M_CLIENT_SECRET,
|
|
287
577
|
audience: auth0Config.audience,
|
|
288
578
|
},
|
|
289
579
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/misc/login.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/misc/login.ts"],"names":[],"mappings":"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"}
|