@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
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const chai_1 = require("chai");
|
|
16
|
+
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
const os_1 = __importDefault(require("os"));
|
|
18
|
+
const path_1 = __importDefault(require("path"));
|
|
19
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
20
|
+
const environments_1 = require("../../setup-core/environments");
|
|
21
|
+
const token_1 = require("./token");
|
|
22
|
+
function accessTokenExpiringIn(seconds) {
|
|
23
|
+
const part = (value) => Buffer.from(JSON.stringify(value)).toString("base64url");
|
|
24
|
+
return `${part({ alg: "HS256" })}.${part({
|
|
25
|
+
aud: environments_1.auth0ConfigsByEnv.production.audience,
|
|
26
|
+
exp: Math.floor(Date.now() / 1000) + seconds,
|
|
27
|
+
})}.sig`;
|
|
28
|
+
}
|
|
29
|
+
describe("cred token", () => {
|
|
30
|
+
let workDir;
|
|
31
|
+
let credPath;
|
|
32
|
+
beforeEach(() => {
|
|
33
|
+
workDir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), "token-"));
|
|
34
|
+
credPath = path_1.default.join(workDir, ".cred");
|
|
35
|
+
// Auth0 unreachable: the refresh cannot happen.
|
|
36
|
+
sinon_1.default.stub(globalThis, "fetch").rejects(Object.assign(new Error("getaddrinfo ENOTFOUND"), {
|
|
37
|
+
cause: { code: "ENOTFOUND" },
|
|
38
|
+
}));
|
|
39
|
+
});
|
|
40
|
+
afterEach(() => {
|
|
41
|
+
sinon_1.default.restore();
|
|
42
|
+
process.exitCode = undefined;
|
|
43
|
+
fs_1.default.rmSync(workDir, { recursive: true, force: true });
|
|
44
|
+
});
|
|
45
|
+
function storeToken(jwtAccessToken) {
|
|
46
|
+
fs_1.default.writeFileSync(credPath, JSON.stringify({
|
|
47
|
+
configPerEnvironment: {
|
|
48
|
+
production: { jwtAccessToken, refreshToken: "r" },
|
|
49
|
+
},
|
|
50
|
+
activeEnvironment: "production",
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
/** Run `printToken` with both streams captured, restored before asserting. */
|
|
54
|
+
function run() {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
const captured = { stdout: "", stderr: "" };
|
|
57
|
+
const capture = (stream) => sinon_1.default
|
|
58
|
+
.stub(process[stream], "write")
|
|
59
|
+
.callsFake((chunk) => {
|
|
60
|
+
captured[stream] += String(chunk);
|
|
61
|
+
return true;
|
|
62
|
+
});
|
|
63
|
+
const stdout = capture("stdout");
|
|
64
|
+
const stderr = capture("stderr");
|
|
65
|
+
try {
|
|
66
|
+
yield (0, token_1.printToken)(credPath);
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
stdout.restore();
|
|
70
|
+
stderr.restore();
|
|
71
|
+
}
|
|
72
|
+
return captured;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
it("refuses an already-expired token it could not refresh", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
76
|
+
storeToken(accessTokenExpiringIn(-3 * 3600));
|
|
77
|
+
const { stdout, stderr } = yield run();
|
|
78
|
+
(0, chai_1.expect)(stdout).to.equal("");
|
|
79
|
+
(0, chai_1.expect)(stderr).to.contain("Could not reach");
|
|
80
|
+
(0, chai_1.expect)(stderr).to.contain("Token expired");
|
|
81
|
+
(0, chai_1.expect)(process.exitCode).to.equal(1);
|
|
82
|
+
}));
|
|
83
|
+
it("still prints a token that has not expired yet when offline", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
84
|
+
const token = accessTokenExpiringIn(60);
|
|
85
|
+
storeToken(token);
|
|
86
|
+
const { stdout, stderr } = yield run();
|
|
87
|
+
(0, chai_1.expect)(stdout).to.equal(`${token}\n`);
|
|
88
|
+
(0, chai_1.expect)(stderr).to.contain("Could not reach");
|
|
89
|
+
(0, chai_1.expect)(process.exitCode).to.equal(undefined);
|
|
90
|
+
}));
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=token.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.spec.js","sourceRoot":"","sources":["../../../src/commands/misc/token.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,14 +24,16 @@ function deletePackage(packageServer, packagePath, debug, autoConfirm) {
|
|
|
24
24
|
const packageName = packagePath.replace("/", "");
|
|
25
25
|
if (!clientConfig.doesConfigExists()) {
|
|
26
26
|
logger_1.logger.error("Please, make sure that you are logged in");
|
|
27
|
+
process.exitCode = 1;
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
30
|
if (!environmentName) {
|
|
30
31
|
logger_1.logger.error("Please, make sure to set an environment");
|
|
32
|
+
process.exitCode = 1;
|
|
31
33
|
return;
|
|
32
34
|
}
|
|
33
35
|
if (!autoConfirm) {
|
|
34
|
-
const confirmation = yield (0, utils_1.getConfirmation)(`Are you sure you
|
|
36
|
+
const confirmation = yield (0, utils_1.getConfirmation)(`Are you sure you want to delete the ${packagePath} package? This action cannot be undone.`, clientConfig);
|
|
35
37
|
if (!confirmation) {
|
|
36
38
|
logger_1.logger.info("Operation cancelled.");
|
|
37
39
|
return;
|
|
@@ -43,7 +45,7 @@ function deletePackage(packageServer, packagePath, debug, autoConfirm) {
|
|
|
43
45
|
baseURL: packageServer,
|
|
44
46
|
headers: clientConfig.getHeaders(),
|
|
45
47
|
});
|
|
46
|
-
|
|
48
|
+
console.log((0, utils_1.withTarget)("Package deleted successfully"));
|
|
47
49
|
}
|
|
48
50
|
catch (e) {
|
|
49
51
|
logger_1.logger.error("Failed to delete package");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deletepackage.js","sourceRoot":"","sources":["../../../src/commands/package/deletepackage.ts"],"names":[],"mappings":";;;;;;;;;;;AAQA,
|
|
1
|
+
{"version":3,"file":"deletepackage.js","sourceRoot":"","sources":["../../../src/commands/package/deletepackage.ts"],"names":[],"mappings":";;;;;;;;;;;AAQA,sCAoDC;AA5DD,0CAA+C;AAC/C,8DAA2D;AAC3D,mEAAgE;AAChE,yCAAsC;AACtC,uCAAyE;AAEzE,MAAM,WAAW,GAAG,IAAI,iBAAW,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;AAEzD,SAAsB,aAAa,CAChC,aAAqB,EACrB,WAAmB,EACnB,KAAc,EACd,WAAoB;;QAEpB,MAAM,YAAY,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;QACxD,MAAM,eAAe,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;QAClD,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACpC,eAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACV,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACV,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,MAAM,IAAA,uBAAe,EACvC,uCAAuC,WAAW,yCAAyC,EAC3F,YAAY,CACd,CAAC;YACF,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjB,eAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACpC,OAAO;YACV,CAAC;QACJ,CAAC;QAED,eAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,CAAC;QAE/C,IAAI,CAAC;YACF,MAAM,WAAW,CAAC,aAAa,CAC5B,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX;gBACG,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,YAAY,CAAC,UAAU,EAAE;aACpC,CACH,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,IAAA,kBAAU,EAAC,8BAA8B,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACV,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACzC,IAAA,qBAAa,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;IACJ,CAAC;CAAA"}
|
|
@@ -18,6 +18,8 @@ const api_1 = require("../../client/api");
|
|
|
18
18
|
const clientconfiguration_1 = require("../../clientconfiguration");
|
|
19
19
|
const logger_1 = require("../../logger");
|
|
20
20
|
const deletepackage_1 = require("./deletepackage");
|
|
21
|
+
// A command's closing line is its result, printed on stdout.
|
|
22
|
+
let stdoutStub;
|
|
21
23
|
describe("delete-package", () => {
|
|
22
24
|
let sandbox;
|
|
23
25
|
let deletePackageStub;
|
|
@@ -27,6 +29,7 @@ describe("delete-package", () => {
|
|
|
27
29
|
sandbox = sinon_1.default.createSandbox();
|
|
28
30
|
deletePackageStub = sandbox.stub();
|
|
29
31
|
loggerStub = sandbox.stub(logger_1.logger);
|
|
32
|
+
stdoutStub = sandbox.stub(console, "log");
|
|
30
33
|
getConfirmationStub = sandbox.stub();
|
|
31
34
|
sandbox
|
|
32
35
|
.stub(clientconfiguration_1.ClientConfiguration.prototype, "getOrganization")
|
|
@@ -62,7 +65,8 @@ describe("delete-package", () => {
|
|
|
62
65
|
baseURL: "http://test-server",
|
|
63
66
|
headers: { Authorization: "Bearer test-token" },
|
|
64
67
|
});
|
|
65
|
-
(0, chai_1.expect)(
|
|
68
|
+
(0, chai_1.expect)(stdoutStub.calledWith(sinon_1.default.match("Package deleted successfully")))
|
|
69
|
+
.to.be.true;
|
|
66
70
|
}));
|
|
67
71
|
it("should handle package path without leading slash", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
72
|
deletePackageStub.resolves({ status: 200 });
|
|
@@ -75,6 +79,7 @@ describe("delete-package", () => {
|
|
|
75
79
|
sandbox = sinon_1.default.createSandbox();
|
|
76
80
|
deletePackageStub = sandbox.stub();
|
|
77
81
|
loggerStub = sandbox.stub(logger_1.logger);
|
|
82
|
+
stdoutStub = sandbox.stub(console, "log");
|
|
78
83
|
getConfirmationStub = sandbox.stub();
|
|
79
84
|
sandbox
|
|
80
85
|
.stub(clientconfiguration_1.ClientConfiguration.prototype, "doesConfigExists")
|
|
@@ -94,6 +99,7 @@ describe("delete-package", () => {
|
|
|
94
99
|
sandbox = sinon_1.default.createSandbox();
|
|
95
100
|
deletePackageStub = sandbox.stub();
|
|
96
101
|
loggerStub = sandbox.stub(logger_1.logger);
|
|
102
|
+
stdoutStub = sandbox.stub(console, "log");
|
|
97
103
|
getConfirmationStub = sandbox.stub();
|
|
98
104
|
sandbox
|
|
99
105
|
.stub(clientconfiguration_1.ClientConfiguration.prototype, "doesConfigExists")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deletepackage.spec.js","sourceRoot":"","sources":["../../../src/commands/package/deletepackage.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+BAA8B;AAC9B,kDAA0B;AAC1B,0CAA+C;AAC/C,mEAAgE;AAChE,yCAAsC;AAEtC,mDAAgD;AAEhD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC7B,IAAI,OAA2B,CAAC;IAChC,IAAI,iBAAkC,CAAC;IACvC,IAAI,UAAqD,CAAC;IAC1D,IAAI,mBAAoC,CAAC;IAEzC,UAAU,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,eAAK,CAAC,aAAa,EAAE,CAAC;QAChC,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,eAAM,CAAC,CAAC;QAClC,mBAAmB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAErC,OAAO;aACH,IAAI,CAAC,yCAAmB,CAAC,SAAS,EAAE,iBAAiB,CAAC;aACtD,OAAO,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO;aACH,IAAI,CAAC,yCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC;aACjD,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO;aACH,IAAI,CAAC,yCAAmB,CAAC,SAAS,EAAE,kBAAkB,CAAC;aACvD,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO;aACH,IAAI,CAAC,yCAAmB,CAAC,SAAS,EAAE,YAAY,CAAC;aACjD,OAAO,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAEpD,OAAO;aACH,IAAI,CAAC,iBAAW,CAAC,SAAS,EAAE,eAAe,CAAC;aAC5C,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACjC,OAAO;aACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;aAC/C,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QACjD,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,IAAA,6BAAa,EAAC,oBAAoB,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAExE,IAAA,aAAM,EAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAChD,IAAA,aAAM,EAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACjE,IAAA,aAAM,EAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACrE,IAAA,aAAM,EAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACrE,IAAA,aAAM,EAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YACzD,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,EAAE,aAAa,EAAE,mBAAmB,EAAE;SACjD,CAAC,CAAC;QACH,IAAA,aAAM,
|
|
1
|
+
{"version":3,"file":"deletepackage.spec.js","sourceRoot":"","sources":["../../../src/commands/package/deletepackage.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.BUILD_END_STATES = void 0;
|
|
13
|
+
exports.readTarget = readTarget;
|
|
14
|
+
exports.getPackage = getPackage;
|
|
15
|
+
exports.getVersion = getVersion;
|
|
16
|
+
const api_1 = require("../../client/api");
|
|
17
|
+
const configuration_1 = require("../../client/configuration");
|
|
18
|
+
const clientconfiguration_1 = require("../../clientconfiguration");
|
|
19
|
+
const logger_1 = require("../../logger");
|
|
20
|
+
const refresh_1 = require("../../setup-core/refresh");
|
|
21
|
+
const utils_1 = require("../../utils");
|
|
22
|
+
const packagesApi = new api_1.PackagesApi(new configuration_1.Configuration());
|
|
23
|
+
const versionsApi = new api_1.VersionsApi(new configuration_1.Configuration());
|
|
24
|
+
/**
|
|
25
|
+
* The organization and environment a read goes to, or undefined after saying
|
|
26
|
+
* why there is none. In a pinned directory the default store already reads
|
|
27
|
+
* the pin (`scopeCommandToDirectory` scopes it at startup), so a read there
|
|
28
|
+
* looks where `cred publish` publishes.
|
|
29
|
+
*/
|
|
30
|
+
function readTarget(clientConfig) {
|
|
31
|
+
const organization = clientConfig.getOrganization();
|
|
32
|
+
const environment = clientConfig.getProject();
|
|
33
|
+
if (!clientConfig.doesConfigExists() || !organization) {
|
|
34
|
+
logger_1.logger.error("Please, make sure that you are logged in");
|
|
35
|
+
process.exitCode = 1;
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
if (!environment) {
|
|
39
|
+
logger_1.logger.error("Please, make sure to set an environment");
|
|
40
|
+
process.exitCode = 1;
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
return { organization, environment };
|
|
44
|
+
}
|
|
45
|
+
/** `cred get package <name>`: latest version, index status, auto-promote. */
|
|
46
|
+
function getPackage(controlPlane_1, packageName_1, debug_1) {
|
|
47
|
+
return __awaiter(this, arguments, void 0, function* (controlPlane, packageName, debug, clientConfig = new clientconfiguration_1.ClientConfiguration()) {
|
|
48
|
+
const target = readTarget(clientConfig);
|
|
49
|
+
if (!target)
|
|
50
|
+
return;
|
|
51
|
+
try {
|
|
52
|
+
const response = yield packagesApi.getPackage(target.organization, target.environment, packageName, undefined, { baseURL: controlPlane, headers: clientConfig.getHeaders() });
|
|
53
|
+
console.log((0, utils_1.prettifyJson)(response.data));
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
logger_1.logger.error(`Failed to get package ${packageName}`);
|
|
57
|
+
(0, utils_1.printOutError)(e, debug);
|
|
58
|
+
process.exitCode = 1;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/** Where a version's `buildStatus` stops moving. `BUILDING` is the only other. */
|
|
63
|
+
exports.BUILD_END_STATES = ["READY", "FAILED", "UNSUPPORTED"];
|
|
64
|
+
const DEFAULT_WAIT_INTERVAL_MS = 10000;
|
|
65
|
+
/**
|
|
66
|
+
* The least a read gets while waiting. The last read lands on the deadline, and
|
|
67
|
+
* a timeout of 0 means no timeout at all to axios.
|
|
68
|
+
*/
|
|
69
|
+
const MIN_READ_TIMEOUT_MS = 5000;
|
|
70
|
+
/**
|
|
71
|
+
* `cred get version <package> <version>`: whether a published version has
|
|
72
|
+
* built (`buildStatus`, `indexingProgress`) and whether it is waiting to
|
|
73
|
+
* become latest (`promoteWhenReady`, `promotedAt`).
|
|
74
|
+
*
|
|
75
|
+
* With `wait`, it reads again until `buildStatus` reaches an end state, then
|
|
76
|
+
* prints that last read. Exit 1 on `FAILED`, or when the timeout passes first.
|
|
77
|
+
* `UNSUPPORTED` exits 0: the spec defines it as a version whose persist
|
|
78
|
+
* sources cannot be materialized in this dialect and serve live instead, so it
|
|
79
|
+
* is servable, just not materialized. The JSON is the data, on stdout, once;
|
|
80
|
+
* progress lines go to stderr, so `cred get version … --wait | jq` works.
|
|
81
|
+
*/
|
|
82
|
+
function getVersion(controlPlane_1, packageName_1, versionId_1, debug_1) {
|
|
83
|
+
return __awaiter(this, arguments, void 0, function* (controlPlane, packageName, versionId, debug, clientConfig = new clientconfiguration_1.ClientConfiguration(), wait) {
|
|
84
|
+
var _a, _b, _c;
|
|
85
|
+
const target = readTarget(clientConfig);
|
|
86
|
+
if (!target)
|
|
87
|
+
return;
|
|
88
|
+
const read = (timeoutMs) => versionsApi.getVersion(target.organization, target.environment, packageName, versionId, Object.assign({ baseURL: controlPlane, headers: clientConfig.getHeaders() }, (timeoutMs === undefined ? {} : { timeout: timeoutMs })));
|
|
89
|
+
try {
|
|
90
|
+
if (!wait) {
|
|
91
|
+
console.log((0, utils_1.prettifyJson)((yield read()).data));
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const now = (_a = wait.now) !== null && _a !== void 0 ? _a : Date.now;
|
|
95
|
+
const sleep = (_b = wait.sleep) !== null && _b !== void 0 ? _b : ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
96
|
+
const deadline = now() + wait.timeoutMs;
|
|
97
|
+
let reported;
|
|
98
|
+
const remaining = () => Math.max(deadline - now(), 0);
|
|
99
|
+
for (;;) {
|
|
100
|
+
// The preAction hook renewed the token once, and a wait outlasts it:
|
|
101
|
+
// a 30-minute wait that starts with 20 minutes left would poll with
|
|
102
|
+
// an expired token. Renew before every read, as `cred dev` does.
|
|
103
|
+
const session = yield (0, refresh_1.ensureFreshTokens)(clientConfig);
|
|
104
|
+
if (session.status === "logged-out") {
|
|
105
|
+
logger_1.logger.error(session.reason);
|
|
106
|
+
process.exitCode = 1;
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
// A read that hangs must not outlast --timeout.
|
|
110
|
+
const version = (yield read(Math.max(remaining(), MIN_READ_TIMEOUT_MS))).data;
|
|
111
|
+
const status = version.buildStatus;
|
|
112
|
+
if (status &&
|
|
113
|
+
exports.BUILD_END_STATES.includes(status)) {
|
|
114
|
+
console.log((0, utils_1.prettifyJson)(version));
|
|
115
|
+
if (status === "FAILED") {
|
|
116
|
+
logger_1.logger.error(`${packageName} ${versionId} failed to build. The JSON above has its materialization and indexing state.`);
|
|
117
|
+
process.exitCode = 1;
|
|
118
|
+
}
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (status !== reported) {
|
|
122
|
+
logger_1.logger.info(`${packageName} ${versionId} is ${status !== null && status !== void 0 ? status : "not reporting a build status yet"}; waiting for READY, FAILED or UNSUPPORTED.`);
|
|
123
|
+
reported = status;
|
|
124
|
+
}
|
|
125
|
+
if (now() >= deadline) {
|
|
126
|
+
console.log((0, utils_1.prettifyJson)(version));
|
|
127
|
+
logger_1.logger.error(`${packageName} ${versionId} was still ${status !== null && status !== void 0 ? status : "without a build status"} when --timeout ran out. Run the same command again to keep waiting.`);
|
|
128
|
+
process.exitCode = 1;
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
// The last pause ends on the deadline, for one read there.
|
|
132
|
+
yield sleep(Math.min((_c = wait.intervalMs) !== null && _c !== void 0 ? _c : DEFAULT_WAIT_INTERVAL_MS, remaining()));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (e) {
|
|
136
|
+
logger_1.logger.error(`Failed to get version ${versionId} of ${packageName}`);
|
|
137
|
+
(0, utils_1.printOutError)(e, debug);
|
|
138
|
+
process.exitCode = 1;
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=getpackage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getpackage.js","sourceRoot":"","sources":["../../../src/commands/package/getpackage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const chai_1 = require("chai");
|
|
16
|
+
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
const os_1 = __importDefault(require("os"));
|
|
18
|
+
const path_1 = __importDefault(require("path"));
|
|
19
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
20
|
+
const api_1 = require("../../client/api");
|
|
21
|
+
const clientconfiguration_1 = require("../../clientconfiguration");
|
|
22
|
+
const logger_1 = require("../../logger");
|
|
23
|
+
const environments_1 = require("../../setup-core/environments");
|
|
24
|
+
const refresh_1 = require("../../setup-core/refresh");
|
|
25
|
+
const utils_1 = require("../../utils");
|
|
26
|
+
const setup_1 = require("../misc/setup");
|
|
27
|
+
const getpackage_1 = require("./getpackage");
|
|
28
|
+
/**
|
|
29
|
+
* A production API access token that expires `seconds` from now. `jti` keeps
|
|
30
|
+
* two tokens minted in the same second apart.
|
|
31
|
+
*/
|
|
32
|
+
let minted = 0;
|
|
33
|
+
function tokenExpiringIn(seconds) {
|
|
34
|
+
const part = (value) => Buffer.from(JSON.stringify(value)).toString("base64url");
|
|
35
|
+
return `${part({ alg: "HS256" })}.${part({
|
|
36
|
+
aud: environments_1.auth0ConfigsByEnv.production.audience,
|
|
37
|
+
exp: Math.floor(Date.now() / 1000) + seconds,
|
|
38
|
+
jti: String(++minted),
|
|
39
|
+
})}.signature`;
|
|
40
|
+
}
|
|
41
|
+
// A directory pinned to acme/analytics on staging, with ~/.cred on
|
|
42
|
+
// global-org/global-env on production. `cred publish` there publishes to
|
|
43
|
+
// acme/analytics, so `cred get package` and `cred get version` must read there
|
|
44
|
+
// too, through the same startup scoping every other command gets.
|
|
45
|
+
describe("cred get package and cred get version", () => {
|
|
46
|
+
let sandbox;
|
|
47
|
+
let originalExitCode;
|
|
48
|
+
let home;
|
|
49
|
+
let workDir;
|
|
50
|
+
beforeEach(() => {
|
|
51
|
+
sandbox = sinon_1.default.createSandbox();
|
|
52
|
+
sandbox.stub(logger_1.logger);
|
|
53
|
+
sandbox.stub(console, "log");
|
|
54
|
+
originalExitCode = process.exitCode;
|
|
55
|
+
process.exitCode = 0;
|
|
56
|
+
home = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), "getpackage-home-"));
|
|
57
|
+
workDir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), "getpackage-work-"));
|
|
58
|
+
sandbox.stub(os_1.default, "homedir").returns(home);
|
|
59
|
+
fs_1.default.writeFileSync(path_1.default.join(home, ".cred"), JSON.stringify({
|
|
60
|
+
configPerEnvironment: {
|
|
61
|
+
production: {
|
|
62
|
+
organization: "global-org",
|
|
63
|
+
project: "global-env",
|
|
64
|
+
jwtAccessToken: tokenExpiringIn(3600),
|
|
65
|
+
},
|
|
66
|
+
staging: { organization: "acme", project: "other" },
|
|
67
|
+
},
|
|
68
|
+
activeEnvironment: "production",
|
|
69
|
+
}));
|
|
70
|
+
fs_1.default.mkdirSync(path_1.default.join(workDir, ".credible"));
|
|
71
|
+
fs_1.default.writeFileSync(path_1.default.join(workDir, ".credible", "config.json"), JSON.stringify({
|
|
72
|
+
deployment: "staging",
|
|
73
|
+
organization: "acme",
|
|
74
|
+
environment: "analytics",
|
|
75
|
+
}));
|
|
76
|
+
});
|
|
77
|
+
afterEach(() => {
|
|
78
|
+
clientconfiguration_1.ClientConfiguration.scopeCommand(undefined);
|
|
79
|
+
(0, utils_1.setCommandTarget)(undefined);
|
|
80
|
+
sandbox.restore();
|
|
81
|
+
process.exitCode = originalExitCode;
|
|
82
|
+
fs_1.default.rmSync(home, { recursive: true, force: true });
|
|
83
|
+
fs_1.default.rmSync(workDir, { recursive: true, force: true });
|
|
84
|
+
});
|
|
85
|
+
function loggedOut() {
|
|
86
|
+
const config = new clientconfiguration_1.ClientConfiguration();
|
|
87
|
+
sandbox.stub(config, "doesConfigExists").returns(false);
|
|
88
|
+
return config;
|
|
89
|
+
}
|
|
90
|
+
describe("get package", () => {
|
|
91
|
+
it("reads the pinned organization and environment, not the global ones", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
92
|
+
var _a;
|
|
93
|
+
const read = sandbox
|
|
94
|
+
.stub(api_1.PackagesApi.prototype, "getPackage")
|
|
95
|
+
.resolves({ data: { name: "bars" } });
|
|
96
|
+
(0, setup_1.scopeCommandToDirectory)("get package", workDir, () => undefined);
|
|
97
|
+
yield (0, getpackage_1.getPackage)("http://cp", "bars", false);
|
|
98
|
+
(0, chai_1.expect)(read.firstCall.args.slice(0, 3)).to.eql([
|
|
99
|
+
"acme",
|
|
100
|
+
"analytics",
|
|
101
|
+
"bars",
|
|
102
|
+
]);
|
|
103
|
+
(0, chai_1.expect)((_a = read.firstCall.args[4]) === null || _a === void 0 ? void 0 : _a.baseURL).to.equal("http://cp");
|
|
104
|
+
(0, chai_1.expect)(process.exitCode).to.equal(0);
|
|
105
|
+
}));
|
|
106
|
+
it("exits 1 without a login, and asks for nothing", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
107
|
+
const read = sandbox.stub(api_1.PackagesApi.prototype, "getPackage");
|
|
108
|
+
yield (0, getpackage_1.getPackage)("http://cp", "bars", false, loggedOut());
|
|
109
|
+
(0, chai_1.expect)(read.called).to.equal(false);
|
|
110
|
+
(0, chai_1.expect)(process.exitCode).to.equal(1);
|
|
111
|
+
}));
|
|
112
|
+
});
|
|
113
|
+
describe("get version", () => {
|
|
114
|
+
it("reads the pinned organization and environment, not the global ones", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
115
|
+
const read = sandbox
|
|
116
|
+
.stub(api_1.VersionsApi.prototype, "getVersion")
|
|
117
|
+
.resolves({ data: { id: "0.0.2" } });
|
|
118
|
+
(0, setup_1.scopeCommandToDirectory)("get version", workDir, () => undefined);
|
|
119
|
+
yield (0, getpackage_1.getVersion)("http://cp", "bars", "0.0.2", false);
|
|
120
|
+
(0, chai_1.expect)(read.firstCall.args.slice(0, 4)).to.eql([
|
|
121
|
+
"acme",
|
|
122
|
+
"analytics",
|
|
123
|
+
"bars",
|
|
124
|
+
"0.0.2",
|
|
125
|
+
]);
|
|
126
|
+
(0, chai_1.expect)(process.exitCode).to.equal(0);
|
|
127
|
+
}));
|
|
128
|
+
describe("--wait", () => {
|
|
129
|
+
/** Reads that return these statuses in turn; a fake clock that moves a minute per pause. */
|
|
130
|
+
function polling(statuses) {
|
|
131
|
+
const read = sandbox.stub(api_1.VersionsApi.prototype, "getVersion");
|
|
132
|
+
statuses.forEach((buildStatus, i) => read.onCall(i).resolves({
|
|
133
|
+
data: { id: "0.0.2", buildStatus },
|
|
134
|
+
}));
|
|
135
|
+
let clock = 0;
|
|
136
|
+
const wait = {
|
|
137
|
+
timeoutMs: 5 * 60000,
|
|
138
|
+
now: () => clock,
|
|
139
|
+
sleep: (ms) => __awaiter(this, void 0, void 0, function* () {
|
|
140
|
+
clock += ms;
|
|
141
|
+
}),
|
|
142
|
+
intervalMs: 60000,
|
|
143
|
+
};
|
|
144
|
+
return { read, wait };
|
|
145
|
+
}
|
|
146
|
+
const printed = () => console.log.args.map((a) => JSON.parse(String(a[0])));
|
|
147
|
+
it("reads until READY, prints only that read, and exits 0", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
148
|
+
var _a;
|
|
149
|
+
const { read, wait } = polling(["BUILDING", "BUILDING", "READY"]);
|
|
150
|
+
yield (0, getpackage_1.getVersion)("http://cp", "bars", "0.0.2", false, undefined, wait);
|
|
151
|
+
(0, chai_1.expect)(read.callCount).to.equal(3);
|
|
152
|
+
(0, chai_1.expect)(printed()).to.eql([{ id: "0.0.2", buildStatus: "READY" }]);
|
|
153
|
+
(0, chai_1.expect)((_a = process.exitCode) !== null && _a !== void 0 ? _a : 0).to.equal(0);
|
|
154
|
+
}));
|
|
155
|
+
it("exits 1 on FAILED", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
156
|
+
const { wait } = polling(["BUILDING", "FAILED"]);
|
|
157
|
+
yield (0, getpackage_1.getVersion)("http://cp", "bars", "0.0.2", false, undefined, wait);
|
|
158
|
+
(0, chai_1.expect)(printed()).to.eql([{ id: "0.0.2", buildStatus: "FAILED" }]);
|
|
159
|
+
(0, chai_1.expect)(process.exitCode).to.equal(1);
|
|
160
|
+
}));
|
|
161
|
+
it("exits 0 on UNSUPPORTED, which serves live", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
162
|
+
var _a;
|
|
163
|
+
const { wait } = polling(["UNSUPPORTED"]);
|
|
164
|
+
yield (0, getpackage_1.getVersion)("http://cp", "bars", "0.0.2", false, undefined, wait);
|
|
165
|
+
(0, chai_1.expect)((_a = process.exitCode) !== null && _a !== void 0 ? _a : 0).to.equal(0);
|
|
166
|
+
}));
|
|
167
|
+
it("gives up with exit 1 when the timeout passes, printing the last read", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
168
|
+
const { read, wait } = polling(Array(10).fill("BUILDING"));
|
|
169
|
+
yield (0, getpackage_1.getVersion)("http://cp", "bars", "0.0.2", false, undefined, wait);
|
|
170
|
+
// Reads at minutes 0..5; the one at 5 is past the deadline.
|
|
171
|
+
(0, chai_1.expect)(read.callCount).to.equal(6);
|
|
172
|
+
(0, chai_1.expect)(printed()).to.eql([
|
|
173
|
+
{ id: "0.0.2", buildStatus: "BUILDING" },
|
|
174
|
+
]);
|
|
175
|
+
(0, chai_1.expect)(logger_1.logger.error.calledWith(sinon_1.default.match("was still BUILDING when --timeout ran out"))).to.equal(true);
|
|
176
|
+
(0, chai_1.expect)(process.exitCode).to.equal(1);
|
|
177
|
+
}));
|
|
178
|
+
it("bounds each read and the last pause by the time left", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
179
|
+
const { read, wait } = polling(Array(10).fill("BUILDING"));
|
|
180
|
+
const sleeps = [];
|
|
181
|
+
const sleep = wait.sleep;
|
|
182
|
+
yield (0, getpackage_1.getVersion)("http://cp", "bars", "0.0.2", false, undefined, Object.assign(Object.assign({}, wait), { timeoutMs: 90000, sleep: (ms) => __awaiter(void 0, void 0, void 0, function* () {
|
|
183
|
+
sleeps.push(ms);
|
|
184
|
+
yield sleep(ms);
|
|
185
|
+
}) }));
|
|
186
|
+
// Reads at 0s, 60s and 90s: the second pause stops at the deadline.
|
|
187
|
+
(0, chai_1.expect)(sleeps).to.eql([60000, 30000]);
|
|
188
|
+
// Each read's timeout is the time left, with a floor for the one on
|
|
189
|
+
// the deadline (0 would mean no timeout).
|
|
190
|
+
(0, chai_1.expect)(read.args.map((a) => a[4].timeout)).to.eql([90000, 30000, 5000]);
|
|
191
|
+
(0, chai_1.expect)(process.exitCode).to.equal(1);
|
|
192
|
+
}));
|
|
193
|
+
it("renews a token that is about to expire before every read", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
194
|
+
var _a;
|
|
195
|
+
// Each renewal hands back a token that is itself near expiry, so
|
|
196
|
+
// only a renewal per read keeps every read on a new token.
|
|
197
|
+
const credPath = path_1.default.join(home, ".cred");
|
|
198
|
+
const cred = JSON.parse(fs_1.default.readFileSync(credPath, "utf8"));
|
|
199
|
+
cred.configPerEnvironment.production.jwtAccessToken =
|
|
200
|
+
tokenExpiringIn(refresh_1.REFRESH_SKEW_SECONDS - 10);
|
|
201
|
+
cred.configPerEnvironment.production.refreshToken = "r";
|
|
202
|
+
fs_1.default.writeFileSync(credPath, JSON.stringify(cred));
|
|
203
|
+
const issued = [1, 2, 3].map(() => tokenExpiringIn(refresh_1.REFRESH_SKEW_SECONDS - 10));
|
|
204
|
+
const auth0 = sandbox.stub(globalThis, "fetch");
|
|
205
|
+
issued.forEach((token, i) => auth0.onCall(i).resolves({
|
|
206
|
+
status: 200,
|
|
207
|
+
json: () => __awaiter(void 0, void 0, void 0, function* () { return ({ access_token: token }); }),
|
|
208
|
+
}));
|
|
209
|
+
const { read, wait } = polling(["BUILDING", "BUILDING", "READY"]);
|
|
210
|
+
yield (0, getpackage_1.getVersion)("http://cp", "bars", "0.0.2", false, undefined, wait);
|
|
211
|
+
(0, chai_1.expect)(read.args.map((a) => a[4].headers
|
|
212
|
+
.Authorization)).to.eql(issued.map((token) => `Bearer ${token}`));
|
|
213
|
+
(0, chai_1.expect)((_a = process.exitCode) !== null && _a !== void 0 ? _a : 0).to.equal(0);
|
|
214
|
+
}));
|
|
215
|
+
it("stops with exit 1, before reading, when there is no session to renew", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
216
|
+
const credPath = path_1.default.join(home, ".cred");
|
|
217
|
+
const cred = JSON.parse(fs_1.default.readFileSync(credPath, "utf8"));
|
|
218
|
+
delete cred.configPerEnvironment.production.jwtAccessToken;
|
|
219
|
+
fs_1.default.writeFileSync(credPath, JSON.stringify(cred));
|
|
220
|
+
const { read, wait } = polling(["BUILDING", "READY"]);
|
|
221
|
+
yield (0, getpackage_1.getVersion)("http://cp", "bars", "0.0.2", false, undefined, wait);
|
|
222
|
+
(0, chai_1.expect)(read.called).to.equal(false);
|
|
223
|
+
(0, chai_1.expect)(logger_1.logger.error.calledWith(sinon_1.default.match("cred login"))).to.equal(true);
|
|
224
|
+
(0, chai_1.expect)(process.exitCode).to.equal(1);
|
|
225
|
+
}));
|
|
226
|
+
it("says a status once, not once per read", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
227
|
+
const { wait } = polling([
|
|
228
|
+
"BUILDING",
|
|
229
|
+
"BUILDING",
|
|
230
|
+
"BUILDING",
|
|
231
|
+
"READY",
|
|
232
|
+
]);
|
|
233
|
+
yield (0, getpackage_1.getVersion)("http://cp", "bars", "0.0.2", false, undefined, wait);
|
|
234
|
+
const waiting = logger_1.logger.info.args.filter((a) => String(a[0]).includes("is BUILDING"));
|
|
235
|
+
(0, chai_1.expect)(waiting).to.have.length(1);
|
|
236
|
+
}));
|
|
237
|
+
});
|
|
238
|
+
it("exits 1 without a login, and asks for nothing", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
239
|
+
const read = sandbox.stub(api_1.VersionsApi.prototype, "getVersion");
|
|
240
|
+
yield (0, getpackage_1.getVersion)("http://cp", "bars", "0.0.2", false, loggedOut());
|
|
241
|
+
(0, chai_1.expect)(read.called).to.equal(false);
|
|
242
|
+
(0, chai_1.expect)(process.exitCode).to.equal(1);
|
|
243
|
+
}));
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
//# sourceMappingURL=getpackage.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getpackage.spec.js","sourceRoot":"","sources":["../../../src/commands/package/getpackage.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+BAA8B;AAC9B,4CAAoB;AACpB,4CAAoB;AACpB,gDAAwB;AACxB,kDAA0B;AAC1B,0CAA4D;AAC5D,mEAAgE;AAChE,yCAAsC;AACtC,gEAAkE;AAClE,sDAAgE;AAChE,uCAA+C;AAC/C,yCAAwD;AACxD,6CAAsD;AAEtD;;;GAGG;AACH,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,SAAS,eAAe,CAAC,OAAe;IACrC,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5D,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC;QACtC,GAAG,EAAE,gCAAiB,CAAC,UAAU,CAAC,QAAQ;QAC1C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO;QAC5C,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,YAAY,CAAC;AAClB,CAAC;AAED,mEAAmE;AACnE,yEAAyE;AACzE,+EAA+E;AAC/E,kEAAkE;AAClE,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACpD,IAAI,OAA2B,CAAC;IAChC,IAAI,gBAAyC,CAAC;IAC9C,IAAI,IAAY,CAAC;IACjB,IAAI,OAAe,CAAC;IAEpB,UAAU,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,eAAK,CAAC,aAAa,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,eAAM,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7B,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;QACpC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,YAAE,CAAC,WAAW,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAClE,OAAO,GAAG,YAAE,CAAC,WAAW,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,YAAE,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,YAAE,CAAC,aAAa,CACb,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EACxB,IAAI,CAAC,SAAS,CAAC;YACZ,oBAAoB,EAAE;gBACnB,UAAU,EAAE;oBACT,YAAY,EAAE,YAAY;oBAC1B,OAAO,EAAE,YAAY;oBACrB,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC;iBACvC;gBACD,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;aACrD;YACD,iBAAiB,EAAE,YAAY;SACjC,CAAC,CACJ,CAAC;QACF,YAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9C,YAAE,CAAC,aAAa,CACb,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,EAC9C,IAAI,CAAC,SAAS,CAAC;YACZ,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,MAAM;YACpB,WAAW,EAAE,WAAW;SAC1B,CAAC,CACJ,CAAC;IACL,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACZ,yCAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAC;QAC5B,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC;QACpC,YAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,YAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,SAAS,SAAS;QACf,MAAM,MAAM,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,oEAAoE,EAAE,GAAS,EAAE;;YACjF,MAAM,IAAI,GAAG,OAAO;iBAChB,IAAI,CAAC,iBAAW,CAAC,SAAS,EAAE,YAAY,CAAC;iBACzC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAW,CAAC,CAAC;YAClD,IAAA,+BAAuB,EAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAEjE,MAAM,IAAA,uBAAU,EAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAE7C,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;gBAC5C,MAAM;gBACN,WAAW;gBACX,MAAM;aACR,CAAC,CAAC;YACH,IAAA,aAAM,EAAC,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAA,aAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC/D,MAAM,IAAA,uBAAU,EAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1D,IAAA,aAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,IAAA,aAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAA,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,oEAAoE,EAAE,GAAS,EAAE;YACjF,MAAM,IAAI,GAAG,OAAO;iBAChB,IAAI,CAAC,iBAAW,CAAC,SAAS,EAAE,YAAY,CAAC;iBACzC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAW,CAAC,CAAC;YACjD,IAAA,+BAAuB,EAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAEjE,MAAM,IAAA,uBAAU,EAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAEtD,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;gBAC5C,MAAM;gBACN,WAAW;gBACX,MAAM;gBACN,OAAO;aACT,CAAC,CAAC;YACH,IAAA,aAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAA,CAAC,CAAC;QAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACrB,4FAA4F;YAC5F,SAAS,OAAO,CAAC,QAAgC;gBAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAC/D,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CACjC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACrB,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;iBAC3B,CAAC,CACb,CAAC;gBACF,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,MAAM,IAAI,GAAG;oBACV,SAAS,EAAE,CAAC,GAAG,KAAM;oBACrB,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK;oBAChB,KAAK,EAAE,CAAO,EAAU,EAAE,EAAE;wBACzB,KAAK,IAAI,EAAE,CAAC;oBACf,CAAC,CAAA;oBACD,UAAU,EAAE,KAAM;iBACpB,CAAC;gBACF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACzB,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,EAAE,CACjB,OAAO,CAAC,GAAkC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1B,CAAC;YAEL,EAAE,CAAC,uDAAuD,EAAE,GAAS,EAAE;;gBACpE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClE,MAAM,IAAA,uBAAU,EACb,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,CACN,CAAC;gBACF,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAA,aAAM,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBAClE,IAAA,aAAM,EAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,mBAAmB,EAAE,GAAS,EAAE;gBAChC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACjD,MAAM,IAAA,uBAAU,EACb,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,CACN,CAAC;gBACF,IAAA,aAAM,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACnE,IAAA,aAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;;gBACxD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1C,MAAM,IAAA,uBAAU,EACb,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,CACN,CAAC;gBACF,IAAA,aAAM,EAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,sEAAsE,EAAE,GAAS,EAAE;gBACnF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC3D,MAAM,IAAA,uBAAU,EACb,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,CACN,CAAC;gBACF,4DAA4D;gBAC5D,IAAA,aAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAA,aAAM,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;oBACtB,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE;iBAC1C,CAAC,CAAC;gBACH,IAAA,aAAM,EACF,eAAM,CAAC,KAAoC,CAAC,UAAU,CACpD,eAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAC1D,CACH,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjB,IAAA,aAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,sDAAsD,EAAE,GAAS,EAAE;gBACnE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,MAAM,IAAA,uBAAU,EAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,kCACzD,IAAI,KACP,SAAS,EAAE,KAAM,EACjB,KAAK,EAAE,CAAO,EAAE,EAAE,EAAE;wBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAChB,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;oBACnB,CAAC,CAAA,IACF,CAAC;gBACH,oEAAoE;gBACpE,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAM,EAAE,KAAM,CAAC,CAAC,CAAC;gBACxC,oEAAoE;gBACpE,0CAA0C;gBAC1C,IAAA,aAAM,EACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,CAAC,CAA0B,CAAC,OAAO,CAAC,CAC9D,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAM,EAAE,KAAM,EAAE,IAAK,CAAC,CAAC,CAAC;gBAClC,IAAA,aAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,0DAA0D,EAAE,GAAS,EAAE;;gBACvE,iEAAiE;gBACjE,2DAA2D;gBAC3D,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc;oBAChD,eAAe,CAAC,8BAAoB,GAAG,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC;gBACxD,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAC/B,eAAe,CAAC,8BAAoB,GAAG,EAAE,CAAC,CAC5C,CAAC;gBACF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAChD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACzB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACtB,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE,GAAS,EAAE,kDAAC,OAAA,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA,GAAA;iBACtB,CAAC,CAC3B,CAAC;gBACF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAElE,MAAM,IAAA,uBAAU,EACb,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,CACN,CAAC;gBAEF,IAAA,aAAM,EACH,IAAI,CAAC,IAAI,CAAC,GAAG,CACV,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,CAAC,CAA4C,CAAC,OAAO;qBACpD,aAAa,CACtB,CACH,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnD,IAAA,aAAM,EAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,sEAAsE,EAAE,GAAS,EAAE;gBACnF,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC;gBAC3D,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEtD,MAAM,IAAA,uBAAU,EACb,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,CACN,CAAC;gBAEF,IAAA,aAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAA,aAAM,EACF,eAAM,CAAC,KAAoC,CAAC,UAAU,CACpD,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAC3B,CACH,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjB,IAAA,aAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAA,CAAC,CAAC;YAEH,EAAE,CAAC,uCAAuC,EAAE,GAAS,EAAE;gBACpD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;oBACtB,UAAU;oBACV,UAAU;oBACV,UAAU;oBACV,OAAO;iBACT,CAAC,CAAC;gBACH,MAAM,IAAA,uBAAU,EACb,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,CACN,CAAC;gBACF,MAAM,OAAO,GACV,eAAM,CAAC,IACT,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC3D,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAA,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAC/D,MAAM,IAAA,uBAAU,EAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,IAAA,aAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,IAAA,aAAM,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAA,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC"}
|