@contember/cli 2.2.0-alpha.1 → 2.2.0-alpha.10
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/CLAUDE.md +35 -41
- package/dist/development/run.cjs +12 -4
- package/dist/development/run.cjs.map +1 -1
- package/dist/development/run.js +12 -4
- package/dist/development/run.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsGetEventCommand.cjs +30 -15
- package/dist/development/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsGetEventCommand.js +31 -16
- package/dist/development/src/commands/actions/ActionsGetEventCommand.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.cjs +21 -41
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.js +22 -42
- package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.cjs +15 -13
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.js +15 -13
- package/dist/development/src/commands/actions/ActionsListVariablesCommand.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.cjs +28 -16
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.js +29 -17
- package/dist/development/src/commands/actions/ActionsRetryEventCommand.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs +51 -22
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js +52 -23
- package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -1
- package/dist/development/src/commands/actions/ActionsStopEventCommand.cjs +28 -16
- package/dist/development/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -1
- package/dist/development/src/commands/actions/ActionsStopEventCommand.js +29 -17
- package/dist/development/src/commands/actions/ActionsStopEventCommand.js.map +1 -1
- package/dist/development/src/commands/deploy/DeployCommand.cjs +56 -29
- package/dist/development/src/commands/deploy/DeployCommand.cjs.map +1 -1
- package/dist/development/src/commands/deploy/DeployCommand.js +57 -30
- package/dist/development/src/commands/deploy/DeployCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationAmendCommand.cjs +64 -24
- package/dist/development/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationAmendCommand.js +65 -25
- package/dist/development/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationBlankCommand.cjs +2 -2
- package/dist/development/src/commands/migrations/MigrationBlankCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationBlankCommand.js +2 -2
- package/dist/development/src/commands/migrations/MigrationBlankCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationDescribeCommand.cjs +7 -3
- package/dist/development/src/commands/migrations/MigrationDescribeCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationDescribeCommand.js +8 -4
- package/dist/development/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationDiffCommand.cjs +73 -25
- package/dist/development/src/commands/migrations/MigrationDiffCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationDiffCommand.js +74 -26
- package/dist/development/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationExecuteCommand.cjs +7 -2
- package/dist/development/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationExecuteCommand.js +7 -2
- package/dist/development/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationInitStateCommand.cjs +11 -4
- package/dist/development/src/commands/migrations/MigrationInitStateCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationInitStateCommand.js +11 -4
- package/dist/development/src/commands/migrations/MigrationInitStateCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationRebaseCommand.cjs +24 -4
- package/dist/development/src/commands/migrations/MigrationRebaseCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationRebaseCommand.js +25 -5
- package/dist/development/src/commands/migrations/MigrationRebaseCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationSnapshotCommand.cjs +39 -8
- package/dist/development/src/commands/migrations/MigrationSnapshotCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationSnapshotCommand.js +40 -9
- package/dist/development/src/commands/migrations/MigrationSnapshotCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationStatusCommand.cjs +5 -5
- package/dist/development/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationStatusCommand.js +5 -5
- package/dist/development/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
- package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.cjs +6 -7
- package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.cjs.map +1 -1
- package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.js +6 -7
- package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.js.map +1 -1
- package/dist/development/src/commands/misc/CommandsCommand.cjs +58 -0
- package/dist/development/src/commands/misc/CommandsCommand.cjs.map +1 -0
- package/dist/development/src/commands/misc/CommandsCommand.js +58 -0
- package/dist/development/src/commands/misc/CommandsCommand.js.map +1 -0
- package/dist/development/src/commands/misc/VersionCommand.cjs +2 -3
- package/dist/development/src/commands/misc/VersionCommand.cjs.map +1 -1
- package/dist/development/src/commands/misc/VersionCommand.js +2 -3
- package/dist/development/src/commands/misc/VersionCommand.js.map +1 -1
- package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.cjs +12 -12
- package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.cjs.map +1 -1
- package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.js +13 -13
- package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.js.map +1 -1
- package/dist/development/src/commands/project/ProjectPrintSchemaCommand.cjs +17 -15
- package/dist/development/src/commands/project/ProjectPrintSchemaCommand.cjs.map +1 -1
- package/dist/development/src/commands/project/ProjectPrintSchemaCommand.js +18 -16
- package/dist/development/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
- package/dist/development/src/commands/project/ProjectValidateCommand.cjs +40 -12
- package/dist/development/src/commands/project/ProjectValidateCommand.cjs.map +1 -1
- package/dist/development/src/commands/project/ProjectValidateCommand.js +42 -14
- package/dist/development/src/commands/project/ProjectValidateCommand.js.map +1 -1
- package/dist/development/src/commands/tenant/TenantApplyCommand.cjs +32 -12
- package/dist/development/src/commands/tenant/TenantApplyCommand.cjs.map +1 -1
- package/dist/development/src/commands/tenant/TenantApplyCommand.js +33 -13
- package/dist/development/src/commands/tenant/TenantApplyCommand.js.map +1 -1
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyCreateCommand.cjs +68 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyCreateCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyCreateCommand.js +68 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyCreateCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyDisableCommand.cjs +31 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyDisableCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyDisableCommand.js +31 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyDisableCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyListCommand.cjs +55 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyListCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyListCommand.js +55 -0
- package/dist/development/src/commands/tenant/apikey/TenantApiKeyListCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberAddCommand.cjs +36 -0
- package/dist/development/src/commands/tenant/member/TenantMemberAddCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberAddCommand.js +36 -0
- package/dist/development/src/commands/tenant/member/TenantMemberAddCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberInviteCommand.cjs +62 -0
- package/dist/development/src/commands/tenant/member/TenantMemberInviteCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberInviteCommand.js +62 -0
- package/dist/development/src/commands/tenant/member/TenantMemberInviteCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.cjs +102 -0
- package/dist/development/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.js +102 -0
- package/dist/development/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberListCommand.cjs +73 -0
- package/dist/development/src/commands/tenant/member/TenantMemberListCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberListCommand.js +73 -0
- package/dist/development/src/commands/tenant/member/TenantMemberListCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberRemoveCommand.cjs +35 -0
- package/dist/development/src/commands/tenant/member/TenantMemberRemoveCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberRemoveCommand.js +35 -0
- package/dist/development/src/commands/tenant/member/TenantMemberRemoveCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberUpdateCommand.cjs +45 -0
- package/dist/development/src/commands/tenant/member/TenantMemberUpdateCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/member/TenantMemberUpdateCommand.js +45 -0
- package/dist/development/src/commands/tenant/member/TenantMemberUpdateCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/member/memberOptions.cjs +16 -0
- package/dist/development/src/commands/tenant/member/memberOptions.cjs.map +1 -0
- package/dist/development/src/commands/tenant/member/memberOptions.js +16 -0
- package/dist/development/src/commands/tenant/member/memberOptions.js.map +1 -0
- package/dist/development/src/commands/tenant/member/membershipInput.cjs +109 -0
- package/dist/development/src/commands/tenant/member/membershipInput.cjs.map +1 -0
- package/dist/development/src/commands/tenant/member/membershipInput.js +109 -0
- package/dist/development/src/commands/tenant/member/membershipInput.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantIdentityRoleAddCommand.cjs +27 -0
- package/dist/development/src/commands/tenant/person/TenantIdentityRoleAddCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantIdentityRoleAddCommand.js +27 -0
- package/dist/development/src/commands/tenant/person/TenantIdentityRoleAddCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.cjs +34 -0
- package/dist/development/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.js +34 -0
- package/dist/development/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonCreateCommand.cjs +79 -0
- package/dist/development/src/commands/tenant/person/TenantPersonCreateCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonCreateCommand.js +79 -0
- package/dist/development/src/commands/tenant/person/TenantPersonCreateCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonDisableCommand.cjs +29 -0
- package/dist/development/src/commands/tenant/person/TenantPersonDisableCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonDisableCommand.js +29 -0
- package/dist/development/src/commands/tenant/person/TenantPersonDisableCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonListCommand.cjs +53 -0
- package/dist/development/src/commands/tenant/person/TenantPersonListCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonListCommand.js +53 -0
- package/dist/development/src/commands/tenant/person/TenantPersonListCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonResetMfaCommand.cjs +37 -0
- package/dist/development/src/commands/tenant/person/TenantPersonResetMfaCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonResetMfaCommand.js +37 -0
- package/dist/development/src/commands/tenant/person/TenantPersonResetMfaCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.cjs +47 -0
- package/dist/development/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.js +47 -0
- package/dist/development/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonSetPasswordCommand.cjs +46 -0
- package/dist/development/src/commands/tenant/person/TenantPersonSetPasswordCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonSetPasswordCommand.js +46 -0
- package/dist/development/src/commands/tenant/person/TenantPersonSetPasswordCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonShowCommand.cjs +55 -0
- package/dist/development/src/commands/tenant/person/TenantPersonShowCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonShowCommand.js +55 -0
- package/dist/development/src/commands/tenant/person/TenantPersonShowCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonSignOutCommand.cjs +38 -0
- package/dist/development/src/commands/tenant/person/TenantPersonSignOutCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonSignOutCommand.js +38 -0
- package/dist/development/src/commands/tenant/person/TenantPersonSignOutCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonUpdateCommand.cjs +36 -0
- package/dist/development/src/commands/tenant/person/TenantPersonUpdateCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantPersonUpdateCommand.js +36 -0
- package/dist/development/src/commands/tenant/person/TenantPersonUpdateCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantSessionCreateCommand.cjs +65 -0
- package/dist/development/src/commands/tenant/person/TenantSessionCreateCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/TenantSessionCreateCommand.js +65 -0
- package/dist/development/src/commands/tenant/person/TenantSessionCreateCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/person/personInput.cjs +77 -0
- package/dist/development/src/commands/tenant/person/personInput.cjs.map +1 -0
- package/dist/development/src/commands/tenant/person/personInput.js +77 -0
- package/dist/development/src/commands/tenant/person/personInput.js.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantAuthLogCommand.cjs +96 -0
- package/dist/development/src/commands/tenant/policy/TenantAuthLogCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantAuthLogCommand.js +96 -0
- package/dist/development/src/commands/tenant/policy/TenantAuthLogCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateAddCommand.cjs +59 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateAddCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateAddCommand.js +59 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateAddCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateListCommand.cjs +41 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateListCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateListCommand.js +41 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateListCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.cjs +42 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.js +42 -0
- package/dist/development/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyCreateCommand.cjs +36 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyCreateCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyCreateCommand.js +36 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyCreateCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyDeleteCommand.cjs +31 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyDeleteCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyDeleteCommand.js +31 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyDeleteCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyListCommand.cjs +33 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyListCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyListCommand.js +33 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyListCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyUpdateCommand.cjs +38 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyUpdateCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyUpdateCommand.js +38 -0
- package/dist/development/src/commands/tenant/policy/TenantPolicyUpdateCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/policy/policyInput.cjs +167 -0
- package/dist/development/src/commands/tenant/policy/policyInput.cjs.map +1 -0
- package/dist/development/src/commands/tenant/policy/policyInput.js +167 -0
- package/dist/development/src/commands/tenant/policy/policyInput.js.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantConfigShowCommand.cjs +24 -0
- package/dist/development/src/commands/tenant/project/TenantConfigShowCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantConfigShowCommand.js +24 -0
- package/dist/development/src/commands/tenant/project/TenantConfigShowCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantIdpListCommand.cjs +22 -0
- package/dist/development/src/commands/tenant/project/TenantIdpListCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantIdpListCommand.js +22 -0
- package/dist/development/src/commands/tenant/project/TenantIdpListCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantProjectCreateCommand.cjs +53 -0
- package/dist/development/src/commands/tenant/project/TenantProjectCreateCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantProjectCreateCommand.js +53 -0
- package/dist/development/src/commands/tenant/project/TenantProjectCreateCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantProjectListCommand.cjs +22 -0
- package/dist/development/src/commands/tenant/project/TenantProjectListCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantProjectListCommand.js +22 -0
- package/dist/development/src/commands/tenant/project/TenantProjectListCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantProjectSecretSetCommand.cjs +50 -0
- package/dist/development/src/commands/tenant/project/TenantProjectSecretSetCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantProjectSecretSetCommand.js +50 -0
- package/dist/development/src/commands/tenant/project/TenantProjectSecretSetCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantProjectShowCommand.cjs +23 -0
- package/dist/development/src/commands/tenant/project/TenantProjectShowCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantProjectShowCommand.js +23 -0
- package/dist/development/src/commands/tenant/project/TenantProjectShowCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantProjectUpdateCommand.cjs +53 -0
- package/dist/development/src/commands/tenant/project/TenantProjectUpdateCommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantProjectUpdateCommand.js +53 -0
- package/dist/development/src/commands/tenant/project/TenantProjectUpdateCommand.js.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantWhoAmICommand.cjs +18 -0
- package/dist/development/src/commands/tenant/project/TenantWhoAmICommand.cjs.map +1 -0
- package/dist/development/src/commands/tenant/project/TenantWhoAmICommand.js +18 -0
- package/dist/development/src/commands/tenant/project/TenantWhoAmICommand.js.map +1 -0
- package/dist/development/src/commands/tenant/project/jsonConfigOption.cjs +26 -0
- package/dist/development/src/commands/tenant/project/jsonConfigOption.cjs.map +1 -0
- package/dist/development/src/commands/tenant/project/jsonConfigOption.js +26 -0
- package/dist/development/src/commands/tenant/project/jsonConfigOption.js.map +1 -0
- package/dist/development/src/commands/tenant/tenantOutput.cjs +35 -0
- package/dist/development/src/commands/tenant/tenantOutput.cjs.map +1 -0
- package/dist/development/src/commands/tenant/tenantOutput.js +35 -0
- package/dist/development/src/commands/tenant/tenantOutput.js.map +1 -0
- package/dist/development/src/commands/transfer/ExportCommand.cjs +35 -20
- package/dist/development/src/commands/transfer/ExportCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/ExportCommand.js +38 -23
- package/dist/development/src/commands/transfer/ExportCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/ImportCommand.cjs +70 -27
- package/dist/development/src/commands/transfer/ImportCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/ImportCommand.js +72 -29
- package/dist/development/src/commands/transfer/ImportCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/TransferCommand.cjs +79 -29
- package/dist/development/src/commands/transfer/TransferCommand.cjs.map +1 -1
- package/dist/development/src/commands/transfer/TransferCommand.js +81 -31
- package/dist/development/src/commands/transfer/TransferCommand.js.map +1 -1
- package/dist/development/src/commands/transfer/utils.cjs +12 -10
- package/dist/development/src/commands/transfer/utils.cjs.map +1 -1
- package/dist/development/src/commands/transfer/utils.js +12 -10
- package/dist/development/src/commands/transfer/utils.js.map +1 -1
- package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.cjs +87 -32
- package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
- package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.js +89 -34
- package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
- package/dist/development/src/dic.cjs +152 -47
- package/dist/development/src/dic.cjs.map +1 -1
- package/dist/development/src/dic.js +152 -47
- package/dist/development/src/dic.js.map +1 -1
- package/dist/development/src/lib/SystemClientProvider.cjs +55 -2
- package/dist/development/src/lib/SystemClientProvider.cjs.map +1 -1
- package/dist/development/src/lib/SystemClientProvider.js +55 -2
- package/dist/development/src/lib/SystemClientProvider.js.map +1 -1
- package/dist/development/src/lib/TenantClientProvider.cjs +28 -5
- package/dist/development/src/lib/TenantClientProvider.cjs.map +1 -1
- package/dist/development/src/lib/TenantClientProvider.js +28 -5
- package/dist/development/src/lib/TenantClientProvider.js.map +1 -1
- package/dist/development/src/lib/actions/ActionsClient.cjs +18 -6
- package/dist/development/src/lib/actions/ActionsClient.cjs.map +1 -1
- package/dist/development/src/lib/actions/ActionsClient.js +18 -6
- package/dist/development/src/lib/actions/ActionsClient.js.map +1 -1
- package/dist/development/src/lib/actions/resolveActionsClient.cjs +13 -0
- package/dist/development/src/lib/actions/resolveActionsClient.cjs.map +1 -0
- package/dist/development/src/lib/actions/resolveActionsClient.js +13 -0
- package/dist/development/src/lib/actions/resolveActionsClient.js.map +1 -0
- package/dist/development/src/lib/actions/runActionMutationBatch.cjs +44 -0
- package/dist/development/src/lib/actions/runActionMutationBatch.cjs.map +1 -0
- package/dist/development/src/lib/actions/runActionMutationBatch.js +44 -0
- package/dist/development/src/lib/actions/runActionMutationBatch.js.map +1 -0
- package/dist/development/src/lib/admin/AdminClient.cjs +31 -11
- package/dist/development/src/lib/admin/AdminClient.cjs.map +1 -1
- package/dist/development/src/lib/admin/AdminClient.js +31 -11
- package/dist/development/src/lib/admin/AdminClient.js.map +1 -1
- package/dist/development/src/lib/admin/AdminDeployer.cjs +5 -3
- package/dist/development/src/lib/admin/AdminDeployer.cjs.map +1 -1
- package/dist/development/src/lib/admin/AdminDeployer.js +5 -3
- package/dist/development/src/lib/admin/AdminDeployer.js.map +1 -1
- package/dist/development/src/lib/errors/TransportError.cjs +204 -0
- package/dist/development/src/lib/errors/TransportError.cjs.map +1 -0
- package/dist/development/src/lib/errors/TransportError.js +204 -0
- package/dist/development/src/lib/errors/TransportError.js.map +1 -0
- package/dist/development/src/lib/maskToken.cjs +7 -1
- package/dist/development/src/lib/maskToken.cjs.map +1 -1
- package/dist/development/src/lib/maskToken.js +7 -1
- package/dist/development/src/lib/maskToken.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationExecutionFacade.cjs +97 -50
- package/dist/development/src/lib/migrations/MigrationExecutionFacade.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationExecutionFacade.js +97 -50
- package/dist/development/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationPrinter.cjs +80 -64
- package/dist/development/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationPrinter.js +81 -65
- package/dist/development/src/lib/migrations/MigrationPrinter.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationRebaseFacade.cjs +2 -1
- package/dist/development/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationRebaseFacade.js +2 -1
- package/dist/development/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationSnapshotFacade.cjs +14 -10
- package/dist/development/src/lib/migrations/MigrationSnapshotFacade.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationSnapshotFacade.js +14 -10
- package/dist/development/src/lib/migrations/MigrationSnapshotFacade.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs +12 -4
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.js +12 -4
- package/dist/development/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsValidator.cjs +5 -3
- package/dist/development/src/lib/migrations/MigrationsValidator.cjs.map +1 -1
- package/dist/development/src/lib/migrations/MigrationsValidator.js +5 -3
- package/dist/development/src/lib/migrations/MigrationsValidator.js.map +1 -1
- package/dist/development/src/lib/project/RemoteProjectProvider.cjs +5 -1
- package/dist/development/src/lib/project/RemoteProjectProvider.cjs.map +1 -1
- package/dist/development/src/lib/project/RemoteProjectProvider.js +5 -1
- package/dist/development/src/lib/project/RemoteProjectProvider.js.map +1 -1
- package/dist/development/src/lib/prompt/prompt.cjs +13 -0
- package/dist/development/src/lib/prompt/prompt.cjs.map +1 -0
- package/dist/development/src/lib/prompt/prompt.internal.cjs +21 -0
- package/dist/development/src/lib/prompt/prompt.internal.cjs.map +1 -0
- package/dist/development/src/lib/prompt/prompt.internal.js +21 -0
- package/dist/development/src/lib/prompt/prompt.internal.js.map +1 -0
- package/dist/development/src/lib/prompt/prompt.js +13 -0
- package/dist/development/src/lib/prompt/prompt.js.map +1 -0
- package/dist/development/src/lib/schema/SchemaValidationHelper.cjs +2 -2
- package/dist/development/src/lib/schema/SchemaValidationHelper.cjs.map +1 -1
- package/dist/development/src/lib/schema/SchemaValidationHelper.js +2 -2
- package/dist/development/src/lib/schema/SchemaValidationHelper.js.map +1 -1
- package/dist/development/src/lib/schema/SchemaValidationPrinter.cjs +4 -4
- package/dist/development/src/lib/schema/SchemaValidationPrinter.cjs.map +1 -1
- package/dist/development/src/lib/schema/SchemaValidationPrinter.js +4 -4
- package/dist/development/src/lib/schema/SchemaValidationPrinter.js.map +1 -1
- package/dist/development/src/lib/tenant/TenantApiTransport.cjs +160 -0
- package/dist/development/src/lib/tenant/TenantApiTransport.cjs.map +1 -0
- package/dist/development/src/lib/tenant/TenantApiTransport.js +160 -0
- package/dist/development/src/lib/tenant/TenantApiTransport.js.map +1 -0
- package/dist/development/src/lib/tenant/TenantConfigApplier.cjs +110 -26
- package/dist/development/src/lib/tenant/TenantConfigApplier.cjs.map +1 -1
- package/dist/development/src/lib/tenant/TenantConfigApplier.js +110 -26
- package/dist/development/src/lib/tenant/TenantConfigApplier.js.map +1 -1
- package/dist/development/src/lib/tenant/TenantConnectionProvider.cjs +20 -0
- package/dist/development/src/lib/tenant/TenantConnectionProvider.cjs.map +1 -0
- package/dist/development/src/lib/tenant/TenantConnectionProvider.js +20 -0
- package/dist/development/src/lib/tenant/TenantConnectionProvider.js.map +1 -0
- package/dist/development/src/lib/tenant/TenantConnectionResolver.cjs +30 -0
- package/dist/development/src/lib/tenant/TenantConnectionResolver.cjs.map +1 -0
- package/dist/development/src/lib/tenant/TenantConnectionResolver.js +30 -0
- package/dist/development/src/lib/tenant/TenantConnectionResolver.js.map +1 -0
- package/dist/development/src/lib/tenant/authPolicy.cjs +10 -0
- package/dist/development/src/lib/tenant/authPolicy.cjs.map +1 -0
- package/dist/development/src/lib/tenant/authPolicy.js +10 -0
- package/dist/development/src/lib/tenant/authPolicy.js.map +1 -0
- package/dist/development/src/lib/tenant/clients/TenantApiKeyClient.cjs +101 -0
- package/dist/development/src/lib/tenant/clients/TenantApiKeyClient.cjs.map +1 -0
- package/dist/development/src/lib/tenant/clients/TenantApiKeyClient.js +101 -0
- package/dist/development/src/lib/tenant/clients/TenantApiKeyClient.js.map +1 -0
- package/dist/development/src/lib/tenant/clients/TenantMemberClient.cjs +96 -0
- package/dist/development/src/lib/tenant/clients/TenantMemberClient.cjs.map +1 -0
- package/dist/development/src/lib/tenant/clients/TenantMemberClient.js +96 -0
- package/dist/development/src/lib/tenant/clients/TenantMemberClient.js.map +1 -0
- package/dist/development/src/lib/tenant/clients/TenantPersonClient.cjs +162 -0
- package/dist/development/src/lib/tenant/clients/TenantPersonClient.cjs.map +1 -0
- package/dist/development/src/lib/tenant/clients/TenantPersonClient.js +162 -0
- package/dist/development/src/lib/tenant/clients/TenantPersonClient.js.map +1 -0
- package/dist/development/src/lib/tenant/clients/TenantPolicyClient.cjs +135 -0
- package/dist/development/src/lib/tenant/clients/TenantPolicyClient.cjs.map +1 -0
- package/dist/development/src/lib/tenant/clients/TenantPolicyClient.js +135 -0
- package/dist/development/src/lib/tenant/clients/TenantPolicyClient.js.map +1 -0
- package/dist/development/src/lib/tenant/clients/TenantProjectClient.cjs +209 -0
- package/dist/development/src/lib/tenant/clients/TenantProjectClient.cjs.map +1 -0
- package/dist/development/src/lib/tenant/clients/TenantProjectClient.js +209 -0
- package/dist/development/src/lib/tenant/clients/TenantProjectClient.js.map +1 -0
- package/dist/development/src/lib/tenant/clients/index.cjs +21 -0
- package/dist/development/src/lib/tenant/clients/index.cjs.map +1 -0
- package/dist/development/src/lib/tenant/clients/index.js +21 -0
- package/dist/development/src/lib/tenant/clients/index.js.map +1 -0
- package/dist/development/src/lib/tenant/confirmation.cjs +23 -0
- package/dist/development/src/lib/tenant/confirmation.cjs.map +1 -0
- package/dist/development/src/lib/tenant/confirmation.js +23 -0
- package/dist/development/src/lib/tenant/confirmation.js.map +1 -0
- package/dist/development/src/lib/tenant/input/pagination.cjs +24 -0
- package/dist/development/src/lib/tenant/input/pagination.cjs.map +1 -0
- package/dist/development/src/lib/tenant/input/pagination.js +24 -0
- package/dist/development/src/lib/tenant/input/pagination.js.map +1 -0
- package/dist/development/src/lib/tenant/input/value.cjs +71 -0
- package/dist/development/src/lib/tenant/input/value.cjs.map +1 -0
- package/dist/development/src/lib/tenant/input/value.js +71 -0
- package/dist/development/src/lib/tenant/input/value.js.map +1 -0
- package/dist/development/src/lib/tenant/stdin.cjs +13 -0
- package/dist/development/src/lib/tenant/stdin.cjs.map +1 -0
- package/dist/development/src/lib/tenant/stdin.js +13 -0
- package/dist/development/src/lib/tenant/stdin.js.map +1 -0
- package/dist/development/src/lib/tenant/tenantConfig.cjs.map +1 -1
- package/dist/development/src/lib/tenant/tenantConfig.js.map +1 -1
- package/dist/development/src/lib/transfer/DataTransferClient.cjs +290 -54
- package/dist/development/src/lib/transfer/DataTransferClient.cjs.map +1 -1
- package/dist/development/src/lib/transfer/DataTransferClient.js +292 -56
- package/dist/development/src/lib/transfer/DataTransferClient.js.map +1 -1
- package/dist/development/src/lib/transfer/stdio.cjs +3 -8
- package/dist/development/src/lib/transfer/stdio.cjs.map +1 -1
- package/dist/development/src/lib/transfer/stdio.js +3 -8
- package/dist/development/src/lib/transfer/stdio.js.map +1 -1
- package/dist/production/run.cjs +12 -4
- package/dist/production/run.cjs.map +1 -1
- package/dist/production/run.js +12 -4
- package/dist/production/run.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsGetEventCommand.cjs +30 -15
- package/dist/production/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsGetEventCommand.js +31 -16
- package/dist/production/src/commands/actions/ActionsGetEventCommand.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.cjs +21 -41
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.js +22 -42
- package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.cjs +15 -13
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.js +15 -13
- package/dist/production/src/commands/actions/ActionsListVariablesCommand.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.cjs +28 -16
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.js +29 -17
- package/dist/production/src/commands/actions/ActionsRetryEventCommand.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs +51 -22
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js +52 -23
- package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -1
- package/dist/production/src/commands/actions/ActionsStopEventCommand.cjs +28 -16
- package/dist/production/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -1
- package/dist/production/src/commands/actions/ActionsStopEventCommand.js +29 -17
- package/dist/production/src/commands/actions/ActionsStopEventCommand.js.map +1 -1
- package/dist/production/src/commands/deploy/DeployCommand.cjs +56 -29
- package/dist/production/src/commands/deploy/DeployCommand.cjs.map +1 -1
- package/dist/production/src/commands/deploy/DeployCommand.js +57 -30
- package/dist/production/src/commands/deploy/DeployCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationAmendCommand.cjs +64 -24
- package/dist/production/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationAmendCommand.js +65 -25
- package/dist/production/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationBlankCommand.cjs +2 -2
- package/dist/production/src/commands/migrations/MigrationBlankCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationBlankCommand.js +2 -2
- package/dist/production/src/commands/migrations/MigrationBlankCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationDescribeCommand.cjs +7 -3
- package/dist/production/src/commands/migrations/MigrationDescribeCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationDescribeCommand.js +8 -4
- package/dist/production/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationDiffCommand.cjs +73 -25
- package/dist/production/src/commands/migrations/MigrationDiffCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationDiffCommand.js +74 -26
- package/dist/production/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationExecuteCommand.cjs +7 -2
- package/dist/production/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationExecuteCommand.js +7 -2
- package/dist/production/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationInitStateCommand.cjs +11 -4
- package/dist/production/src/commands/migrations/MigrationInitStateCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationInitStateCommand.js +11 -4
- package/dist/production/src/commands/migrations/MigrationInitStateCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationRebaseCommand.cjs +24 -4
- package/dist/production/src/commands/migrations/MigrationRebaseCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationRebaseCommand.js +25 -5
- package/dist/production/src/commands/migrations/MigrationRebaseCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationSnapshotCommand.cjs +39 -8
- package/dist/production/src/commands/migrations/MigrationSnapshotCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationSnapshotCommand.js +40 -9
- package/dist/production/src/commands/migrations/MigrationSnapshotCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationStatusCommand.cjs +5 -5
- package/dist/production/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationStatusCommand.js +5 -5
- package/dist/production/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
- package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.cjs +6 -7
- package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.cjs.map +1 -1
- package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.js +6 -7
- package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.js.map +1 -1
- package/dist/production/src/commands/misc/CommandsCommand.cjs +58 -0
- package/dist/production/src/commands/misc/CommandsCommand.cjs.map +1 -0
- package/dist/production/src/commands/misc/CommandsCommand.js +58 -0
- package/dist/production/src/commands/misc/CommandsCommand.js.map +1 -0
- package/dist/production/src/commands/misc/VersionCommand.cjs +2 -3
- package/dist/production/src/commands/misc/VersionCommand.cjs.map +1 -1
- package/dist/production/src/commands/misc/VersionCommand.js +2 -3
- package/dist/production/src/commands/misc/VersionCommand.js.map +1 -1
- package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.cjs +12 -12
- package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.cjs.map +1 -1
- package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.js +13 -13
- package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.js.map +1 -1
- package/dist/production/src/commands/project/ProjectPrintSchemaCommand.cjs +17 -15
- package/dist/production/src/commands/project/ProjectPrintSchemaCommand.cjs.map +1 -1
- package/dist/production/src/commands/project/ProjectPrintSchemaCommand.js +18 -16
- package/dist/production/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
- package/dist/production/src/commands/project/ProjectValidateCommand.cjs +40 -12
- package/dist/production/src/commands/project/ProjectValidateCommand.cjs.map +1 -1
- package/dist/production/src/commands/project/ProjectValidateCommand.js +42 -14
- package/dist/production/src/commands/project/ProjectValidateCommand.js.map +1 -1
- package/dist/production/src/commands/tenant/TenantApplyCommand.cjs +32 -12
- package/dist/production/src/commands/tenant/TenantApplyCommand.cjs.map +1 -1
- package/dist/production/src/commands/tenant/TenantApplyCommand.js +33 -13
- package/dist/production/src/commands/tenant/TenantApplyCommand.js.map +1 -1
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyCreateCommand.cjs +68 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyCreateCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyCreateCommand.js +68 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyCreateCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyDisableCommand.cjs +31 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyDisableCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyDisableCommand.js +31 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyDisableCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyListCommand.cjs +55 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyListCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyListCommand.js +55 -0
- package/dist/production/src/commands/tenant/apikey/TenantApiKeyListCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberAddCommand.cjs +36 -0
- package/dist/production/src/commands/tenant/member/TenantMemberAddCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberAddCommand.js +36 -0
- package/dist/production/src/commands/tenant/member/TenantMemberAddCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberInviteCommand.cjs +62 -0
- package/dist/production/src/commands/tenant/member/TenantMemberInviteCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberInviteCommand.js +62 -0
- package/dist/production/src/commands/tenant/member/TenantMemberInviteCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.cjs +102 -0
- package/dist/production/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.js +102 -0
- package/dist/production/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberListCommand.cjs +73 -0
- package/dist/production/src/commands/tenant/member/TenantMemberListCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberListCommand.js +73 -0
- package/dist/production/src/commands/tenant/member/TenantMemberListCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberRemoveCommand.cjs +35 -0
- package/dist/production/src/commands/tenant/member/TenantMemberRemoveCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberRemoveCommand.js +35 -0
- package/dist/production/src/commands/tenant/member/TenantMemberRemoveCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberUpdateCommand.cjs +45 -0
- package/dist/production/src/commands/tenant/member/TenantMemberUpdateCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/member/TenantMemberUpdateCommand.js +45 -0
- package/dist/production/src/commands/tenant/member/TenantMemberUpdateCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/member/memberOptions.cjs +16 -0
- package/dist/production/src/commands/tenant/member/memberOptions.cjs.map +1 -0
- package/dist/production/src/commands/tenant/member/memberOptions.js +16 -0
- package/dist/production/src/commands/tenant/member/memberOptions.js.map +1 -0
- package/dist/production/src/commands/tenant/member/membershipInput.cjs +109 -0
- package/dist/production/src/commands/tenant/member/membershipInput.cjs.map +1 -0
- package/dist/production/src/commands/tenant/member/membershipInput.js +109 -0
- package/dist/production/src/commands/tenant/member/membershipInput.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantIdentityRoleAddCommand.cjs +27 -0
- package/dist/production/src/commands/tenant/person/TenantIdentityRoleAddCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantIdentityRoleAddCommand.js +27 -0
- package/dist/production/src/commands/tenant/person/TenantIdentityRoleAddCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.cjs +34 -0
- package/dist/production/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.js +34 -0
- package/dist/production/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonCreateCommand.cjs +79 -0
- package/dist/production/src/commands/tenant/person/TenantPersonCreateCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonCreateCommand.js +79 -0
- package/dist/production/src/commands/tenant/person/TenantPersonCreateCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonDisableCommand.cjs +29 -0
- package/dist/production/src/commands/tenant/person/TenantPersonDisableCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonDisableCommand.js +29 -0
- package/dist/production/src/commands/tenant/person/TenantPersonDisableCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonListCommand.cjs +53 -0
- package/dist/production/src/commands/tenant/person/TenantPersonListCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonListCommand.js +53 -0
- package/dist/production/src/commands/tenant/person/TenantPersonListCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonResetMfaCommand.cjs +37 -0
- package/dist/production/src/commands/tenant/person/TenantPersonResetMfaCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonResetMfaCommand.js +37 -0
- package/dist/production/src/commands/tenant/person/TenantPersonResetMfaCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.cjs +47 -0
- package/dist/production/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.js +47 -0
- package/dist/production/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonSetPasswordCommand.cjs +46 -0
- package/dist/production/src/commands/tenant/person/TenantPersonSetPasswordCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonSetPasswordCommand.js +46 -0
- package/dist/production/src/commands/tenant/person/TenantPersonSetPasswordCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonShowCommand.cjs +55 -0
- package/dist/production/src/commands/tenant/person/TenantPersonShowCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonShowCommand.js +55 -0
- package/dist/production/src/commands/tenant/person/TenantPersonShowCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonSignOutCommand.cjs +38 -0
- package/dist/production/src/commands/tenant/person/TenantPersonSignOutCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonSignOutCommand.js +38 -0
- package/dist/production/src/commands/tenant/person/TenantPersonSignOutCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonUpdateCommand.cjs +36 -0
- package/dist/production/src/commands/tenant/person/TenantPersonUpdateCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantPersonUpdateCommand.js +36 -0
- package/dist/production/src/commands/tenant/person/TenantPersonUpdateCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantSessionCreateCommand.cjs +65 -0
- package/dist/production/src/commands/tenant/person/TenantSessionCreateCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/TenantSessionCreateCommand.js +65 -0
- package/dist/production/src/commands/tenant/person/TenantSessionCreateCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/person/personInput.cjs +77 -0
- package/dist/production/src/commands/tenant/person/personInput.cjs.map +1 -0
- package/dist/production/src/commands/tenant/person/personInput.js +77 -0
- package/dist/production/src/commands/tenant/person/personInput.js.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantAuthLogCommand.cjs +96 -0
- package/dist/production/src/commands/tenant/policy/TenantAuthLogCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantAuthLogCommand.js +96 -0
- package/dist/production/src/commands/tenant/policy/TenantAuthLogCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateAddCommand.cjs +59 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateAddCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateAddCommand.js +59 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateAddCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateListCommand.cjs +41 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateListCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateListCommand.js +41 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateListCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.cjs +42 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.js +42 -0
- package/dist/production/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyCreateCommand.cjs +36 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyCreateCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyCreateCommand.js +36 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyCreateCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyDeleteCommand.cjs +31 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyDeleteCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyDeleteCommand.js +31 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyDeleteCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyListCommand.cjs +33 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyListCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyListCommand.js +33 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyListCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyUpdateCommand.cjs +38 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyUpdateCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyUpdateCommand.js +38 -0
- package/dist/production/src/commands/tenant/policy/TenantPolicyUpdateCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/policy/policyInput.cjs +167 -0
- package/dist/production/src/commands/tenant/policy/policyInput.cjs.map +1 -0
- package/dist/production/src/commands/tenant/policy/policyInput.js +167 -0
- package/dist/production/src/commands/tenant/policy/policyInput.js.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantConfigShowCommand.cjs +24 -0
- package/dist/production/src/commands/tenant/project/TenantConfigShowCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantConfigShowCommand.js +24 -0
- package/dist/production/src/commands/tenant/project/TenantConfigShowCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantIdpListCommand.cjs +22 -0
- package/dist/production/src/commands/tenant/project/TenantIdpListCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantIdpListCommand.js +22 -0
- package/dist/production/src/commands/tenant/project/TenantIdpListCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantProjectCreateCommand.cjs +53 -0
- package/dist/production/src/commands/tenant/project/TenantProjectCreateCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantProjectCreateCommand.js +53 -0
- package/dist/production/src/commands/tenant/project/TenantProjectCreateCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantProjectListCommand.cjs +22 -0
- package/dist/production/src/commands/tenant/project/TenantProjectListCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantProjectListCommand.js +22 -0
- package/dist/production/src/commands/tenant/project/TenantProjectListCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantProjectSecretSetCommand.cjs +50 -0
- package/dist/production/src/commands/tenant/project/TenantProjectSecretSetCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantProjectSecretSetCommand.js +50 -0
- package/dist/production/src/commands/tenant/project/TenantProjectSecretSetCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantProjectShowCommand.cjs +23 -0
- package/dist/production/src/commands/tenant/project/TenantProjectShowCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantProjectShowCommand.js +23 -0
- package/dist/production/src/commands/tenant/project/TenantProjectShowCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantProjectUpdateCommand.cjs +53 -0
- package/dist/production/src/commands/tenant/project/TenantProjectUpdateCommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantProjectUpdateCommand.js +53 -0
- package/dist/production/src/commands/tenant/project/TenantProjectUpdateCommand.js.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantWhoAmICommand.cjs +18 -0
- package/dist/production/src/commands/tenant/project/TenantWhoAmICommand.cjs.map +1 -0
- package/dist/production/src/commands/tenant/project/TenantWhoAmICommand.js +18 -0
- package/dist/production/src/commands/tenant/project/TenantWhoAmICommand.js.map +1 -0
- package/dist/production/src/commands/tenant/project/jsonConfigOption.cjs +26 -0
- package/dist/production/src/commands/tenant/project/jsonConfigOption.cjs.map +1 -0
- package/dist/production/src/commands/tenant/project/jsonConfigOption.js +26 -0
- package/dist/production/src/commands/tenant/project/jsonConfigOption.js.map +1 -0
- package/dist/production/src/commands/tenant/tenantOutput.cjs +35 -0
- package/dist/production/src/commands/tenant/tenantOutput.cjs.map +1 -0
- package/dist/production/src/commands/tenant/tenantOutput.js +35 -0
- package/dist/production/src/commands/tenant/tenantOutput.js.map +1 -0
- package/dist/production/src/commands/transfer/ExportCommand.cjs +35 -20
- package/dist/production/src/commands/transfer/ExportCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/ExportCommand.js +38 -23
- package/dist/production/src/commands/transfer/ExportCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/ImportCommand.cjs +70 -27
- package/dist/production/src/commands/transfer/ImportCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/ImportCommand.js +72 -29
- package/dist/production/src/commands/transfer/ImportCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/TransferCommand.cjs +79 -29
- package/dist/production/src/commands/transfer/TransferCommand.cjs.map +1 -1
- package/dist/production/src/commands/transfer/TransferCommand.js +81 -31
- package/dist/production/src/commands/transfer/TransferCommand.js.map +1 -1
- package/dist/production/src/commands/transfer/utils.cjs +12 -10
- package/dist/production/src/commands/transfer/utils.cjs.map +1 -1
- package/dist/production/src/commands/transfer/utils.js +12 -10
- package/dist/production/src/commands/transfer/utils.js.map +1 -1
- package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.cjs +87 -32
- package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
- package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.js +89 -34
- package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
- package/dist/production/src/dic.cjs +152 -47
- package/dist/production/src/dic.cjs.map +1 -1
- package/dist/production/src/dic.js +152 -47
- package/dist/production/src/dic.js.map +1 -1
- package/dist/production/src/lib/SystemClientProvider.cjs +55 -2
- package/dist/production/src/lib/SystemClientProvider.cjs.map +1 -1
- package/dist/production/src/lib/SystemClientProvider.js +55 -2
- package/dist/production/src/lib/SystemClientProvider.js.map +1 -1
- package/dist/production/src/lib/TenantClientProvider.cjs +28 -5
- package/dist/production/src/lib/TenantClientProvider.cjs.map +1 -1
- package/dist/production/src/lib/TenantClientProvider.js +28 -5
- package/dist/production/src/lib/TenantClientProvider.js.map +1 -1
- package/dist/production/src/lib/actions/ActionsClient.cjs +18 -6
- package/dist/production/src/lib/actions/ActionsClient.cjs.map +1 -1
- package/dist/production/src/lib/actions/ActionsClient.js +18 -6
- package/dist/production/src/lib/actions/ActionsClient.js.map +1 -1
- package/dist/production/src/lib/actions/resolveActionsClient.cjs +13 -0
- package/dist/production/src/lib/actions/resolveActionsClient.cjs.map +1 -0
- package/dist/production/src/lib/actions/resolveActionsClient.js +13 -0
- package/dist/production/src/lib/actions/resolveActionsClient.js.map +1 -0
- package/dist/production/src/lib/actions/runActionMutationBatch.cjs +44 -0
- package/dist/production/src/lib/actions/runActionMutationBatch.cjs.map +1 -0
- package/dist/production/src/lib/actions/runActionMutationBatch.js +44 -0
- package/dist/production/src/lib/actions/runActionMutationBatch.js.map +1 -0
- package/dist/production/src/lib/admin/AdminClient.cjs +31 -11
- package/dist/production/src/lib/admin/AdminClient.cjs.map +1 -1
- package/dist/production/src/lib/admin/AdminClient.js +31 -11
- package/dist/production/src/lib/admin/AdminClient.js.map +1 -1
- package/dist/production/src/lib/admin/AdminDeployer.cjs +5 -3
- package/dist/production/src/lib/admin/AdminDeployer.cjs.map +1 -1
- package/dist/production/src/lib/admin/AdminDeployer.js +5 -3
- package/dist/production/src/lib/admin/AdminDeployer.js.map +1 -1
- package/dist/production/src/lib/errors/TransportError.cjs +204 -0
- package/dist/production/src/lib/errors/TransportError.cjs.map +1 -0
- package/dist/production/src/lib/errors/TransportError.js +204 -0
- package/dist/production/src/lib/errors/TransportError.js.map +1 -0
- package/dist/production/src/lib/maskToken.cjs +7 -1
- package/dist/production/src/lib/maskToken.cjs.map +1 -1
- package/dist/production/src/lib/maskToken.js +7 -1
- package/dist/production/src/lib/maskToken.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationExecutionFacade.cjs +97 -50
- package/dist/production/src/lib/migrations/MigrationExecutionFacade.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationExecutionFacade.js +97 -50
- package/dist/production/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationPrinter.cjs +80 -64
- package/dist/production/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationPrinter.js +81 -65
- package/dist/production/src/lib/migrations/MigrationPrinter.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationRebaseFacade.cjs +2 -1
- package/dist/production/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationRebaseFacade.js +2 -1
- package/dist/production/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationSnapshotFacade.cjs +14 -10
- package/dist/production/src/lib/migrations/MigrationSnapshotFacade.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationSnapshotFacade.js +14 -10
- package/dist/production/src/lib/migrations/MigrationSnapshotFacade.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs +12 -4
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.js +12 -4
- package/dist/production/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsValidator.cjs +5 -3
- package/dist/production/src/lib/migrations/MigrationsValidator.cjs.map +1 -1
- package/dist/production/src/lib/migrations/MigrationsValidator.js +5 -3
- package/dist/production/src/lib/migrations/MigrationsValidator.js.map +1 -1
- package/dist/production/src/lib/project/RemoteProjectProvider.cjs +5 -1
- package/dist/production/src/lib/project/RemoteProjectProvider.cjs.map +1 -1
- package/dist/production/src/lib/project/RemoteProjectProvider.js +5 -1
- package/dist/production/src/lib/project/RemoteProjectProvider.js.map +1 -1
- package/dist/production/src/lib/prompt/prompt.cjs +13 -0
- package/dist/production/src/lib/prompt/prompt.cjs.map +1 -0
- package/dist/production/src/lib/prompt/prompt.internal.cjs +21 -0
- package/dist/production/src/lib/prompt/prompt.internal.cjs.map +1 -0
- package/dist/production/src/lib/prompt/prompt.internal.js +21 -0
- package/dist/production/src/lib/prompt/prompt.internal.js.map +1 -0
- package/dist/production/src/lib/prompt/prompt.js +13 -0
- package/dist/production/src/lib/prompt/prompt.js.map +1 -0
- package/dist/production/src/lib/schema/SchemaValidationHelper.cjs +2 -2
- package/dist/production/src/lib/schema/SchemaValidationHelper.cjs.map +1 -1
- package/dist/production/src/lib/schema/SchemaValidationHelper.js +2 -2
- package/dist/production/src/lib/schema/SchemaValidationHelper.js.map +1 -1
- package/dist/production/src/lib/schema/SchemaValidationPrinter.cjs +4 -4
- package/dist/production/src/lib/schema/SchemaValidationPrinter.cjs.map +1 -1
- package/dist/production/src/lib/schema/SchemaValidationPrinter.js +4 -4
- package/dist/production/src/lib/schema/SchemaValidationPrinter.js.map +1 -1
- package/dist/production/src/lib/tenant/TenantApiTransport.cjs +160 -0
- package/dist/production/src/lib/tenant/TenantApiTransport.cjs.map +1 -0
- package/dist/production/src/lib/tenant/TenantApiTransport.js +160 -0
- package/dist/production/src/lib/tenant/TenantApiTransport.js.map +1 -0
- package/dist/production/src/lib/tenant/TenantConfigApplier.cjs +110 -26
- package/dist/production/src/lib/tenant/TenantConfigApplier.cjs.map +1 -1
- package/dist/production/src/lib/tenant/TenantConfigApplier.js +110 -26
- package/dist/production/src/lib/tenant/TenantConfigApplier.js.map +1 -1
- package/dist/production/src/lib/tenant/TenantConnectionProvider.cjs +20 -0
- package/dist/production/src/lib/tenant/TenantConnectionProvider.cjs.map +1 -0
- package/dist/production/src/lib/tenant/TenantConnectionProvider.js +20 -0
- package/dist/production/src/lib/tenant/TenantConnectionProvider.js.map +1 -0
- package/dist/production/src/lib/tenant/TenantConnectionResolver.cjs +30 -0
- package/dist/production/src/lib/tenant/TenantConnectionResolver.cjs.map +1 -0
- package/dist/production/src/lib/tenant/TenantConnectionResolver.js +30 -0
- package/dist/production/src/lib/tenant/TenantConnectionResolver.js.map +1 -0
- package/dist/production/src/lib/tenant/authPolicy.cjs +10 -0
- package/dist/production/src/lib/tenant/authPolicy.cjs.map +1 -0
- package/dist/production/src/lib/tenant/authPolicy.js +10 -0
- package/dist/production/src/lib/tenant/authPolicy.js.map +1 -0
- package/dist/production/src/lib/tenant/clients/TenantApiKeyClient.cjs +101 -0
- package/dist/production/src/lib/tenant/clients/TenantApiKeyClient.cjs.map +1 -0
- package/dist/production/src/lib/tenant/clients/TenantApiKeyClient.js +101 -0
- package/dist/production/src/lib/tenant/clients/TenantApiKeyClient.js.map +1 -0
- package/dist/production/src/lib/tenant/clients/TenantMemberClient.cjs +96 -0
- package/dist/production/src/lib/tenant/clients/TenantMemberClient.cjs.map +1 -0
- package/dist/production/src/lib/tenant/clients/TenantMemberClient.js +96 -0
- package/dist/production/src/lib/tenant/clients/TenantMemberClient.js.map +1 -0
- package/dist/production/src/lib/tenant/clients/TenantPersonClient.cjs +162 -0
- package/dist/production/src/lib/tenant/clients/TenantPersonClient.cjs.map +1 -0
- package/dist/production/src/lib/tenant/clients/TenantPersonClient.js +162 -0
- package/dist/production/src/lib/tenant/clients/TenantPersonClient.js.map +1 -0
- package/dist/production/src/lib/tenant/clients/TenantPolicyClient.cjs +135 -0
- package/dist/production/src/lib/tenant/clients/TenantPolicyClient.cjs.map +1 -0
- package/dist/production/src/lib/tenant/clients/TenantPolicyClient.js +135 -0
- package/dist/production/src/lib/tenant/clients/TenantPolicyClient.js.map +1 -0
- package/dist/production/src/lib/tenant/clients/TenantProjectClient.cjs +209 -0
- package/dist/production/src/lib/tenant/clients/TenantProjectClient.cjs.map +1 -0
- package/dist/production/src/lib/tenant/clients/TenantProjectClient.js +209 -0
- package/dist/production/src/lib/tenant/clients/TenantProjectClient.js.map +1 -0
- package/dist/production/src/lib/tenant/clients/index.cjs +21 -0
- package/dist/production/src/lib/tenant/clients/index.cjs.map +1 -0
- package/dist/production/src/lib/tenant/clients/index.js +21 -0
- package/dist/production/src/lib/tenant/clients/index.js.map +1 -0
- package/dist/production/src/lib/tenant/confirmation.cjs +23 -0
- package/dist/production/src/lib/tenant/confirmation.cjs.map +1 -0
- package/dist/production/src/lib/tenant/confirmation.js +23 -0
- package/dist/production/src/lib/tenant/confirmation.js.map +1 -0
- package/dist/production/src/lib/tenant/input/pagination.cjs +24 -0
- package/dist/production/src/lib/tenant/input/pagination.cjs.map +1 -0
- package/dist/production/src/lib/tenant/input/pagination.js +24 -0
- package/dist/production/src/lib/tenant/input/pagination.js.map +1 -0
- package/dist/production/src/lib/tenant/input/value.cjs +71 -0
- package/dist/production/src/lib/tenant/input/value.cjs.map +1 -0
- package/dist/production/src/lib/tenant/input/value.js +71 -0
- package/dist/production/src/lib/tenant/input/value.js.map +1 -0
- package/dist/production/src/lib/tenant/stdin.cjs +13 -0
- package/dist/production/src/lib/tenant/stdin.cjs.map +1 -0
- package/dist/production/src/lib/tenant/stdin.js +13 -0
- package/dist/production/src/lib/tenant/stdin.js.map +1 -0
- package/dist/production/src/lib/tenant/tenantConfig.cjs.map +1 -1
- package/dist/production/src/lib/tenant/tenantConfig.js.map +1 -1
- package/dist/production/src/lib/transfer/DataTransferClient.cjs +290 -54
- package/dist/production/src/lib/transfer/DataTransferClient.cjs.map +1 -1
- package/dist/production/src/lib/transfer/DataTransferClient.js +292 -56
- package/dist/production/src/lib/transfer/DataTransferClient.js.map +1 -1
- package/dist/production/src/lib/transfer/stdio.cjs +3 -8
- package/dist/production/src/lib/transfer/stdio.cjs.map +1 -1
- package/dist/production/src/lib/transfer/stdio.js +3 -8
- package/dist/production/src/lib/transfer/stdio.js.map +1 -1
- package/dist/types/commands/actions/ActionsGetEventCommand.d.ts +6 -4
- package/dist/types/commands/actions/ActionsGetEventCommand.d.ts.map +1 -1
- package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts +5 -4
- package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts.map +1 -1
- package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts +5 -3
- package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts.map +1 -1
- package/dist/types/commands/actions/ActionsRetryEventCommand.d.ts +6 -4
- package/dist/types/commands/actions/ActionsRetryEventCommand.d.ts.map +1 -1
- package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts +5 -3
- package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts.map +1 -1
- package/dist/types/commands/actions/ActionsStopEventCommand.d.ts +6 -4
- package/dist/types/commands/actions/ActionsStopEventCommand.d.ts.map +1 -1
- package/dist/types/commands/deploy/DeployCommand.d.ts +11 -3
- package/dist/types/commands/deploy/DeployCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationAmendCommand.d.ts +3 -2
- package/dist/types/commands/migrations/MigrationAmendCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationBlankCommand.d.ts +2 -2
- package/dist/types/commands/migrations/MigrationBlankCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationDescribeCommand.d.ts +2 -2
- package/dist/types/commands/migrations/MigrationDescribeCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationDiffCommand.d.ts +4 -3
- package/dist/types/commands/migrations/MigrationDiffCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationExecuteCommand.d.ts +4 -3
- package/dist/types/commands/migrations/MigrationExecuteCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationInitStateCommand.d.ts +2 -2
- package/dist/types/commands/migrations/MigrationInitStateCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationRebaseCommand.d.ts +4 -3
- package/dist/types/commands/migrations/MigrationRebaseCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationSnapshotCommand.d.ts +5 -3
- package/dist/types/commands/migrations/MigrationSnapshotCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationStatusCommand.d.ts +9 -3
- package/dist/types/commands/migrations/MigrationStatusCommand.d.ts.map +1 -1
- package/dist/types/commands/migrations/MigrationVerifySnapshotCommand.d.ts +2 -2
- package/dist/types/commands/migrations/MigrationVerifySnapshotCommand.d.ts.map +1 -1
- package/dist/types/commands/misc/CommandsCommand.d.ts +13 -0
- package/dist/types/commands/misc/CommandsCommand.d.ts.map +1 -0
- package/dist/types/commands/misc/VersionCommand.d.ts +11 -4
- package/dist/types/commands/misc/VersionCommand.d.ts.map +1 -1
- package/dist/types/commands/misc/index.d.ts +1 -0
- package/dist/types/commands/misc/index.d.ts.map +1 -1
- package/dist/types/commands/project/ProjectGenerateDocumentationCommand.d.ts +5 -3
- package/dist/types/commands/project/ProjectGenerateDocumentationCommand.d.ts.map +1 -1
- package/dist/types/commands/project/ProjectPrintSchemaCommand.d.ts +2 -2
- package/dist/types/commands/project/ProjectPrintSchemaCommand.d.ts.map +1 -1
- package/dist/types/commands/project/ProjectValidateCommand.d.ts +3 -3
- package/dist/types/commands/project/ProjectValidateCommand.d.ts.map +1 -1
- package/dist/types/commands/tenant/TenantApplyCommand.d.ts +10 -3
- package/dist/types/commands/tenant/TenantApplyCommand.d.ts.map +1 -1
- package/dist/types/commands/tenant/apikey/TenantApiKeyCreateCommand.d.ts +22 -0
- package/dist/types/commands/tenant/apikey/TenantApiKeyCreateCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/apikey/TenantApiKeyDisableCommand.d.ts +17 -0
- package/dist/types/commands/tenant/apikey/TenantApiKeyDisableCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/apikey/TenantApiKeyListCommand.d.ts +15 -0
- package/dist/types/commands/tenant/apikey/TenantApiKeyListCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/apikey/index.d.ts +4 -0
- package/dist/types/commands/tenant/apikey/index.d.ts.map +1 -0
- package/dist/types/commands/tenant/index.d.ts +5 -0
- package/dist/types/commands/tenant/index.d.ts.map +1 -1
- package/dist/types/commands/tenant/member/TenantMemberAddCommand.d.ts +19 -0
- package/dist/types/commands/tenant/member/TenantMemberAddCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/member/TenantMemberInviteCommand.d.ts +28 -0
- package/dist/types/commands/tenant/member/TenantMemberInviteCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/member/TenantMemberInviteUnmanagedCommand.d.ts +36 -0
- package/dist/types/commands/tenant/member/TenantMemberInviteUnmanagedCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/member/TenantMemberListCommand.d.ts +21 -0
- package/dist/types/commands/tenant/member/TenantMemberListCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/member/TenantMemberRemoveCommand.d.ts +17 -0
- package/dist/types/commands/tenant/member/TenantMemberRemoveCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/member/TenantMemberUpdateCommand.d.ts +20 -0
- package/dist/types/commands/tenant/member/TenantMemberUpdateCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/member/index.d.ts +7 -0
- package/dist/types/commands/tenant/member/index.d.ts.map +1 -0
- package/dist/types/commands/tenant/member/memberOptions.d.ts +16 -0
- package/dist/types/commands/tenant/member/memberOptions.d.ts.map +1 -0
- package/dist/types/commands/tenant/member/membershipInput.d.ts +44 -0
- package/dist/types/commands/tenant/member/membershipInput.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantIdentityRoleAddCommand.d.ts +15 -0
- package/dist/types/commands/tenant/person/TenantIdentityRoleAddCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantIdentityRoleRemoveCommand.d.ts +17 -0
- package/dist/types/commands/tenant/person/TenantIdentityRoleRemoveCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantPersonCreateCommand.d.ts +25 -0
- package/dist/types/commands/tenant/person/TenantPersonCreateCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantPersonDisableCommand.d.ts +16 -0
- package/dist/types/commands/tenant/person/TenantPersonDisableCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantPersonListCommand.d.ts +18 -0
- package/dist/types/commands/tenant/person/TenantPersonListCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantPersonResetMfaCommand.d.ts +16 -0
- package/dist/types/commands/tenant/person/TenantPersonResetMfaCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantPersonResetPasswordRequestCommand.d.ts +21 -0
- package/dist/types/commands/tenant/person/TenantPersonResetPasswordRequestCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantPersonSetPasswordCommand.d.ts +20 -0
- package/dist/types/commands/tenant/person/TenantPersonSetPasswordCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantPersonShowCommand.d.ts +14 -0
- package/dist/types/commands/tenant/person/TenantPersonShowCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantPersonSignOutCommand.d.ts +17 -0
- package/dist/types/commands/tenant/person/TenantPersonSignOutCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantPersonUpdateCommand.d.ts +17 -0
- package/dist/types/commands/tenant/person/TenantPersonUpdateCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/TenantSessionCreateCommand.d.ts +18 -0
- package/dist/types/commands/tenant/person/TenantSessionCreateCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/index.d.ts +13 -0
- package/dist/types/commands/tenant/person/index.d.ts.map +1 -0
- package/dist/types/commands/tenant/person/personInput.d.ts +37 -0
- package/dist/types/commands/tenant/person/personInput.d.ts.map +1 -0
- package/dist/types/commands/tenant/policy/TenantAuthLogCommand.d.ts +35 -0
- package/dist/types/commands/tenant/policy/TenantAuthLogCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/policy/TenantMailTemplateAddCommand.d.ts +30 -0
- package/dist/types/commands/tenant/policy/TenantMailTemplateAddCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/policy/TenantMailTemplateListCommand.d.ts +12 -0
- package/dist/types/commands/tenant/policy/TenantMailTemplateListCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/policy/TenantMailTemplateRemoveCommand.d.ts +19 -0
- package/dist/types/commands/tenant/policy/TenantMailTemplateRemoveCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/policy/TenantPolicyCreateCommand.d.ts +17 -0
- package/dist/types/commands/tenant/policy/TenantPolicyCreateCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/policy/TenantPolicyDeleteCommand.d.ts +16 -0
- package/dist/types/commands/tenant/policy/TenantPolicyDeleteCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/policy/TenantPolicyListCommand.d.ts +12 -0
- package/dist/types/commands/tenant/policy/TenantPolicyListCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/policy/TenantPolicyUpdateCommand.d.ts +19 -0
- package/dist/types/commands/tenant/policy/TenantPolicyUpdateCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/policy/index.d.ts +9 -0
- package/dist/types/commands/tenant/policy/index.d.ts.map +1 -0
- package/dist/types/commands/tenant/policy/policyInput.d.ts +41 -0
- package/dist/types/commands/tenant/policy/policyInput.d.ts.map +1 -0
- package/dist/types/commands/tenant/project/TenantConfigShowCommand.d.ts +12 -0
- package/dist/types/commands/tenant/project/TenantConfigShowCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/project/TenantIdpListCommand.d.ts +12 -0
- package/dist/types/commands/tenant/project/TenantIdpListCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/project/TenantProjectCreateCommand.d.ts +22 -0
- package/dist/types/commands/tenant/project/TenantProjectCreateCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/project/TenantProjectListCommand.d.ts +12 -0
- package/dist/types/commands/tenant/project/TenantProjectListCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/project/TenantProjectSecretSetCommand.d.ts +21 -0
- package/dist/types/commands/tenant/project/TenantProjectSecretSetCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/project/TenantProjectShowCommand.d.ts +14 -0
- package/dist/types/commands/tenant/project/TenantProjectShowCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/project/TenantProjectUpdateCommand.d.ts +21 -0
- package/dist/types/commands/tenant/project/TenantProjectUpdateCommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/project/TenantWhoAmICommand.d.ts +12 -0
- package/dist/types/commands/tenant/project/TenantWhoAmICommand.d.ts.map +1 -0
- package/dist/types/commands/tenant/project/index.d.ts +9 -0
- package/dist/types/commands/tenant/project/index.d.ts.map +1 -0
- package/dist/types/commands/tenant/project/jsonConfigOption.d.ts +9 -0
- package/dist/types/commands/tenant/project/jsonConfigOption.d.ts.map +1 -0
- package/dist/types/commands/tenant/tenantOutput.d.ts +7 -0
- package/dist/types/commands/tenant/tenantOutput.d.ts.map +1 -0
- package/dist/types/commands/transfer/ExportCommand.d.ts +8 -2
- package/dist/types/commands/transfer/ExportCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/ImportCommand.d.ts +15 -3
- package/dist/types/commands/transfer/ImportCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/TransferCommand.d.ts +14 -2
- package/dist/types/commands/transfer/TransferCommand.d.ts.map +1 -1
- package/dist/types/commands/transfer/utils.d.ts +2 -2
- package/dist/types/commands/transfer/utils.d.ts.map +1 -1
- package/dist/types/commands/workspace/WorkspaceUpdateApiCommand.d.ts +27 -4
- package/dist/types/commands/workspace/WorkspaceUpdateApiCommand.d.ts.map +1 -1
- package/dist/types/dic.d.ts +93 -6
- package/dist/types/dic.d.ts.map +1 -1
- package/dist/types/lib/SystemClientProvider.d.ts +4 -1
- package/dist/types/lib/SystemClientProvider.d.ts.map +1 -1
- package/dist/types/lib/TenantClientProvider.d.ts +14 -5
- package/dist/types/lib/TenantClientProvider.d.ts.map +1 -1
- package/dist/types/lib/VersionChecker.d.ts.map +1 -1
- package/dist/types/lib/actions/ActionsClient.d.ts +17 -8
- package/dist/types/lib/actions/ActionsClient.d.ts.map +1 -1
- package/dist/types/lib/actions/resolveActionsClient.d.ts +7 -0
- package/dist/types/lib/actions/resolveActionsClient.d.ts.map +1 -0
- package/dist/types/lib/actions/runActionMutationBatch.d.ts +23 -0
- package/dist/types/lib/actions/runActionMutationBatch.d.ts.map +1 -0
- package/dist/types/lib/admin/AdminClient.d.ts +1 -0
- package/dist/types/lib/admin/AdminClient.d.ts.map +1 -1
- package/dist/types/lib/admin/AdminDeployer.d.ts +3 -1
- package/dist/types/lib/admin/AdminDeployer.d.ts.map +1 -1
- package/dist/types/lib/dsn.d.ts.map +1 -1
- package/dist/types/lib/errors/TransportError.d.ts +29 -0
- package/dist/types/lib/errors/TransportError.d.ts.map +1 -0
- package/dist/types/lib/errors/index.d.ts +2 -0
- package/dist/types/lib/errors/index.d.ts.map +1 -0
- package/dist/types/lib/fs/DockerComposeManager.d.ts.map +1 -1
- package/dist/types/lib/fs/FileSystem.d.ts.map +1 -1
- package/dist/types/lib/fs/YamlHandler.d.ts.map +1 -1
- package/dist/types/lib/js/EsBuildBuilder.d.ts.map +1 -1
- package/dist/types/lib/js/EvalExecutor.d.ts.map +1 -1
- package/dist/types/lib/js/JsCodeRunner.d.ts.map +1 -1
- package/dist/types/lib/maskToken.d.ts +1 -0
- package/dist/types/lib/maskToken.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationExecutionFacade.d.ts +8 -3
- package/dist/types/lib/migrations/MigrationExecutionFacade.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationPrinter.d.ts +28 -2
- package/dist/types/lib/migrations/MigrationPrinter.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationRebaseFacade.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationSnapshotFacade.d.ts +6 -3
- package/dist/types/lib/migrations/MigrationSnapshotFacade.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts +13 -2
- package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts.map +1 -1
- package/dist/types/lib/migrations/MigrationsValidator.d.ts +3 -1
- package/dist/types/lib/migrations/MigrationsValidator.d.ts.map +1 -1
- package/dist/types/lib/project/RemoteProject.d.ts.map +1 -1
- package/dist/types/lib/project/RemoteProjectProvider.d.ts.map +1 -1
- package/dist/types/lib/project/RemoteProjectResolver.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/EntityInfo.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/EntityLink.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/FieldLink.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/FieldPermissions.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/FieldType.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/OnDelete.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/ProjectInfo.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/SinglePermission.d.ts.map +1 -1
- package/dist/types/lib/project/docs/components/utils.d.ts.map +1 -1
- package/dist/types/lib/project/docs/projectDescribe.d.ts.map +1 -1
- package/dist/types/lib/prompt/index.d.ts +2 -0
- package/dist/types/lib/prompt/index.d.ts.map +1 -0
- package/dist/types/lib/prompt/prompt.d.ts +6 -0
- package/dist/types/lib/prompt/prompt.d.ts.map +1 -0
- package/dist/types/lib/prompt/prompt.internal.d.ts +37 -0
- package/dist/types/lib/prompt/prompt.internal.d.ts.map +1 -0
- package/dist/types/lib/prompt/prompt.test.d.ts +2 -0
- package/dist/types/lib/prompt/prompt.test.d.ts.map +1 -0
- package/dist/types/lib/schema/SchemaLoader.d.ts.map +1 -1
- package/dist/types/lib/schema/SchemaValidationHelper.d.ts +2 -1
- package/dist/types/lib/schema/SchemaValidationHelper.d.ts.map +1 -1
- package/dist/types/lib/schema/SchemaValidationPrinter.d.ts +2 -1
- package/dist/types/lib/schema/SchemaValidationPrinter.d.ts.map +1 -1
- package/dist/types/lib/schema/collectReferences.d.ts.map +1 -1
- package/dist/types/lib/stream.d.ts.map +1 -1
- package/dist/types/lib/tenant/TenantApiTransport.d.ts +49 -0
- package/dist/types/lib/tenant/TenantApiTransport.d.ts.map +1 -0
- package/dist/types/lib/tenant/TenantConfigApplier.d.ts +38 -3
- package/dist/types/lib/tenant/TenantConfigApplier.d.ts.map +1 -1
- package/dist/types/lib/tenant/TenantConfigLoader.d.ts.map +1 -1
- package/dist/types/lib/tenant/TenantConnection.d.ts +8 -0
- package/dist/types/lib/tenant/TenantConnection.d.ts.map +1 -0
- package/dist/types/lib/tenant/TenantConnectionProvider.d.ts +8 -0
- package/dist/types/lib/tenant/TenantConnectionProvider.d.ts.map +1 -0
- package/dist/types/lib/tenant/TenantConnectionResolver.d.ts +8 -0
- package/dist/types/lib/tenant/TenantConnectionResolver.d.ts.map +1 -0
- package/dist/types/lib/tenant/authPolicy.d.ts +17 -0
- package/dist/types/lib/tenant/authPolicy.d.ts.map +1 -0
- package/dist/types/lib/tenant/clients/TenantApiKeyClient.d.ts +56 -0
- package/dist/types/lib/tenant/clients/TenantApiKeyClient.d.ts.map +1 -0
- package/dist/types/lib/tenant/clients/TenantMemberClient.d.ts +68 -0
- package/dist/types/lib/tenant/clients/TenantMemberClient.d.ts.map +1 -0
- package/dist/types/lib/tenant/clients/TenantPersonClient.d.ts +97 -0
- package/dist/types/lib/tenant/clients/TenantPersonClient.d.ts.map +1 -0
- package/dist/types/lib/tenant/clients/TenantPolicyClient.d.ts +75 -0
- package/dist/types/lib/tenant/clients/TenantPolicyClient.d.ts.map +1 -0
- package/dist/types/lib/tenant/clients/TenantProjectClient.d.ts +162 -0
- package/dist/types/lib/tenant/clients/TenantProjectClient.d.ts.map +1 -0
- package/dist/types/lib/tenant/clients/index.d.ts +21 -0
- package/dist/types/lib/tenant/clients/index.d.ts.map +1 -0
- package/dist/types/lib/tenant/confirmation.d.ts +14 -0
- package/dist/types/lib/tenant/confirmation.d.ts.map +1 -0
- package/dist/types/lib/tenant/input/index.d.ts +3 -0
- package/dist/types/lib/tenant/input/index.d.ts.map +1 -0
- package/dist/types/lib/tenant/input/pagination.d.ts +7 -0
- package/dist/types/lib/tenant/input/pagination.d.ts.map +1 -0
- package/dist/types/lib/tenant/input/value.d.ts +45 -0
- package/dist/types/lib/tenant/input/value.d.ts.map +1 -0
- package/dist/types/lib/tenant/stdin.d.ts +8 -0
- package/dist/types/lib/tenant/stdin.d.ts.map +1 -0
- package/dist/types/lib/tenant/tenantConfig.d.ts +96 -22
- package/dist/types/lib/tenant/tenantConfig.d.ts.map +1 -1
- package/dist/types/lib/transfer/DataTransferClient.d.ts +8 -2
- package/dist/types/lib/transfer/DataTransferClient.d.ts.map +1 -1
- package/dist/types/lib/transfer/stdio.d.ts +3 -1
- package/dist/types/lib/transfer/stdio.d.ts.map +1 -1
- package/dist/types/lib/workspace/WorkspaceResolver.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
- package/src/commands/actions/ActionsGetEventCommand.ts +38 -16
- package/src/commands/actions/ActionsListFailedEventsCommand.ts +24 -43
- package/src/commands/actions/ActionsListVariablesCommand.ts +15 -13
- package/src/commands/actions/ActionsRetryEventCommand.ts +36 -18
- package/src/commands/actions/ActionsSetVariablesCommand.ts +56 -28
- package/src/commands/actions/ActionsStopEventCommand.ts +36 -18
- package/src/commands/deploy/DeployCommand.ts +69 -30
- package/src/commands/migrations/MigrationAmendCommand.ts +69 -26
- package/src/commands/migrations/MigrationBlankCommand.ts +3 -3
- package/src/commands/migrations/MigrationDescribeCommand.ts +9 -4
- package/src/commands/migrations/MigrationDiffCommand.ts +83 -31
- package/src/commands/migrations/MigrationExecuteCommand.ts +11 -4
- package/src/commands/migrations/MigrationInitStateCommand.ts +18 -5
- package/src/commands/migrations/MigrationRebaseCommand.ts +28 -6
- package/src/commands/migrations/MigrationSnapshotCommand.ts +45 -10
- package/src/commands/migrations/MigrationStatusCommand.ts +20 -12
- package/src/commands/migrations/MigrationVerifySnapshotCommand.ts +7 -8
- package/src/commands/misc/CommandsCommand.ts +74 -0
- package/src/commands/misc/VersionCommand.ts +13 -6
- package/src/commands/misc/index.ts +1 -0
- package/src/commands/project/ProjectGenerateDocumentationCommand.ts +12 -13
- package/src/commands/project/ProjectPrintSchemaCommand.ts +19 -17
- package/src/commands/project/ProjectValidateCommand.ts +52 -18
- package/src/commands/tenant/TenantApplyCommand.ts +46 -14
- package/src/commands/tenant/apikey/TenantApiKeyCreateCommand.ts +102 -0
- package/src/commands/tenant/apikey/TenantApiKeyDisableCommand.ts +47 -0
- package/src/commands/tenant/apikey/TenantApiKeyListCommand.ts +64 -0
- package/src/commands/tenant/apikey/index.ts +4 -0
- package/src/commands/tenant/index.ts +5 -0
- package/src/commands/tenant/member/TenantMemberAddCommand.ts +48 -0
- package/src/commands/tenant/member/TenantMemberInviteCommand.ts +88 -0
- package/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.ts +135 -0
- package/src/commands/tenant/member/TenantMemberListCommand.ts +94 -0
- package/src/commands/tenant/member/TenantMemberRemoveCommand.ts +48 -0
- package/src/commands/tenant/member/TenantMemberUpdateCommand.ts +58 -0
- package/src/commands/tenant/member/index.ts +9 -0
- package/src/commands/tenant/member/memberOptions.ts +29 -0
- package/src/commands/tenant/member/membershipInput.ts +155 -0
- package/src/commands/tenant/person/TenantIdentityRoleAddCommand.ts +44 -0
- package/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.ts +54 -0
- package/src/commands/tenant/person/TenantPersonCreateCommand.ts +98 -0
- package/src/commands/tenant/person/TenantPersonDisableCommand.ts +46 -0
- package/src/commands/tenant/person/TenantPersonListCommand.ts +68 -0
- package/src/commands/tenant/person/TenantPersonResetMfaCommand.ts +59 -0
- package/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.ts +67 -0
- package/src/commands/tenant/person/TenantPersonSetPasswordCommand.ts +66 -0
- package/src/commands/tenant/person/TenantPersonShowCommand.ts +70 -0
- package/src/commands/tenant/person/TenantPersonSignOutCommand.ts +60 -0
- package/src/commands/tenant/person/TenantPersonUpdateCommand.ts +55 -0
- package/src/commands/tenant/person/TenantSessionCreateCommand.ts +79 -0
- package/src/commands/tenant/person/index.ts +15 -0
- package/src/commands/tenant/person/personInput.ts +112 -0
- package/src/commands/tenant/policy/TenantAuthLogCommand.ts +141 -0
- package/src/commands/tenant/policy/TenantMailTemplateAddCommand.ts +92 -0
- package/src/commands/tenant/policy/TenantMailTemplateListCommand.ts +50 -0
- package/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.ts +63 -0
- package/src/commands/tenant/policy/TenantPolicyCreateCommand.ts +46 -0
- package/src/commands/tenant/policy/TenantPolicyDeleteCommand.ts +42 -0
- package/src/commands/tenant/policy/TenantPolicyListCommand.ts +39 -0
- package/src/commands/tenant/policy/TenantPolicyUpdateCommand.ts +51 -0
- package/src/commands/tenant/policy/index.ts +9 -0
- package/src/commands/tenant/policy/policyInput.ts +210 -0
- package/src/commands/tenant/project/TenantConfigShowCommand.ts +28 -0
- package/src/commands/tenant/project/TenantIdpListCommand.ts +27 -0
- package/src/commands/tenant/project/TenantProjectCreateCommand.ts +67 -0
- package/src/commands/tenant/project/TenantProjectListCommand.ts +27 -0
- package/src/commands/tenant/project/TenantProjectSecretSetCommand.ts +63 -0
- package/src/commands/tenant/project/TenantProjectShowCommand.ts +29 -0
- package/src/commands/tenant/project/TenantProjectUpdateCommand.ts +66 -0
- package/src/commands/tenant/project/TenantWhoAmICommand.ts +22 -0
- package/src/commands/tenant/project/index.ts +9 -0
- package/src/commands/tenant/project/jsonConfigOption.ts +33 -0
- package/src/commands/tenant/tenantOutput.ts +35 -0
- package/src/commands/transfer/ExportCommand.ts +46 -29
- package/src/commands/transfer/ImportCommand.ts +87 -34
- package/src/commands/transfer/TransferCommand.ts +94 -34
- package/src/commands/transfer/utils.ts +12 -11
- package/src/commands/workspace/WorkspaceUpdateApiCommand.ts +135 -36
- package/src/dic.ts +198 -47
- package/src/lib/SystemClientProvider.ts +75 -1
- package/src/lib/TenantClientProvider.ts +44 -6
- package/src/lib/actions/ActionsClient.ts +38 -14
- package/src/lib/actions/resolveActionsClient.ts +15 -0
- package/src/lib/actions/runActionMutationBatch.ts +69 -0
- package/src/lib/admin/AdminClient.ts +39 -12
- package/src/lib/admin/AdminDeployer.ts +4 -2
- package/src/lib/errors/TransportError.ts +260 -0
- package/src/lib/errors/index.ts +1 -0
- package/src/lib/maskToken.ts +9 -1
- package/src/lib/migrations/MigrationExecutionFacade.ts +117 -59
- package/src/lib/migrations/MigrationPrinter.ts +100 -64
- package/src/lib/migrations/MigrationRebaseFacade.ts +2 -1
- package/src/lib/migrations/MigrationSnapshotFacade.ts +15 -10
- package/src/lib/migrations/MigrationsStatusFacade.ts +17 -3
- package/src/lib/migrations/MigrationsValidator.ts +4 -2
- package/src/lib/project/RemoteProjectProvider.ts +6 -1
- package/src/lib/prompt/index.ts +1 -0
- package/src/lib/prompt/prompt.internal.ts +69 -0
- package/src/lib/prompt/prompt.test.ts +100 -0
- package/src/lib/prompt/prompt.ts +23 -0
- package/src/lib/schema/SchemaValidationHelper.ts +8 -2
- package/src/lib/schema/SchemaValidationPrinter.ts +5 -4
- package/src/lib/tenant/TenantApiTransport.ts +209 -0
- package/src/lib/tenant/TenantConfigApplier.ts +198 -29
- package/src/lib/tenant/TenantConnection.ts +8 -0
- package/src/lib/tenant/TenantConnectionProvider.ts +21 -0
- package/src/lib/tenant/TenantConnectionResolver.ts +31 -0
- package/src/lib/tenant/authPolicy.ts +20 -0
- package/src/lib/tenant/clients/README.md +84 -0
- package/src/lib/tenant/clients/TenantApiKeyClient.ts +182 -0
- package/src/lib/tenant/clients/TenantMemberClient.ts +199 -0
- package/src/lib/tenant/clients/TenantPersonClient.ts +306 -0
- package/src/lib/tenant/clients/TenantPolicyClient.ts +244 -0
- package/src/lib/tenant/clients/TenantProjectClient.ts +425 -0
- package/src/lib/tenant/clients/index.ts +29 -0
- package/src/lib/tenant/confirmation.ts +32 -0
- package/src/lib/tenant/input/index.ts +2 -0
- package/src/lib/tenant/input/pagination.ts +39 -0
- package/src/lib/tenant/input/value.ts +149 -0
- package/src/lib/tenant/stdin.ts +16 -0
- package/src/lib/tenant/tenantConfig.ts +146 -25
- package/src/lib/transfer/DataTransferClient.ts +354 -59
- package/src/lib/transfer/stdio.ts +5 -7
- package/src/run.ts +19 -3
- package/tenant.config.example.ts +28 -0
- package/tests/cases/unit/MigrationAmendCommand.test.ts +17 -2
- package/tests/cases/unit/MigrationDiffCommand.test.ts +182 -0
- package/tests/cases/unit/MigrationExecuteCommand.test.ts +58 -0
- package/tests/cases/unit/MigrationExecutionFacade.test.ts +341 -54
- package/tests/cases/unit/MigrationInitStateCommand.test.ts +72 -0
- package/tests/cases/unit/MigrationRebaseCommand.test.ts +59 -0
- package/tests/cases/unit/MigrationSnapshotFacade.test.ts +75 -13
- package/tests/cases/unit/MigrationStatusCommand.test.ts +197 -0
- package/tests/cases/unit/MigrationsValidator.test.ts +61 -0
- package/tests/cases/unit/actions.test.ts +802 -0
- package/tests/cases/unit/cli-process.test.ts +266 -0
- package/tests/cases/unit/command-registry.test.ts +214 -0
- package/tests/cases/unit/deploy.test.ts +505 -0
- package/tests/cases/unit/migration-transport.test.ts +156 -0
- package/tests/cases/unit/project.test.ts +223 -0
- package/tests/cases/unit/structured-output.test.ts +189 -0
- package/tests/cases/unit/tenant-apikey.test.ts +645 -0
- package/tests/cases/unit/tenant-apply-command.test.ts +247 -0
- package/tests/cases/unit/tenant-clients.test.ts +130 -0
- package/tests/cases/unit/tenant-connection.test.ts +91 -0
- package/tests/cases/unit/tenant-input.test.ts +275 -0
- package/tests/cases/unit/tenant-member.test.ts +683 -0
- package/tests/cases/unit/tenant-person.test.ts +857 -0
- package/tests/cases/unit/tenant-policy.test.ts +799 -0
- package/tests/cases/unit/tenant-project.test.ts +634 -0
- package/tests/cases/unit/tenant-transport.test.ts +322 -0
- package/tests/cases/unit/transfer.test.ts +714 -0
- package/tests/cases/unit/transport-errors.test.ts +78 -0
- package/tests/cases/unit/workspace-update-api.test.ts +152 -0
- package/tests/tenantConfigApplier.test.ts +434 -38
- package/dist/development/src/lib/tenant/TenantClient.cjs +0 -104
- package/dist/development/src/lib/tenant/TenantClient.cjs.map +0 -1
- package/dist/development/src/lib/tenant/TenantClient.js +0 -104
- package/dist/development/src/lib/tenant/TenantClient.js.map +0 -1
- package/dist/production/src/lib/tenant/TenantClient.cjs +0 -104
- package/dist/production/src/lib/tenant/TenantClient.cjs.map +0 -1
- package/dist/production/src/lib/tenant/TenantClient.js +0 -104
- package/dist/production/src/lib/tenant/TenantClient.js.map +0 -1
- package/dist/types/lib/tenant/TenantClient.d.ts +0 -24
- package/dist/types/lib/tenant/TenantClient.d.ts.map +0 -1
- package/src/lib/tenant/TenantClient.ts +0 -149
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Command } from "@contember/cli-common";
|
|
2
|
+
import { requireConfirmation } from "../../../lib/tenant/confirmation.js";
|
|
3
|
+
import { humanText } from "../tenantOutput.js";
|
|
4
|
+
class TenantPersonSignOutCommand extends Command {
|
|
5
|
+
constructor(tenantClientProvider) {
|
|
6
|
+
super();
|
|
7
|
+
this.tenantClientProvider = tenantClientProvider;
|
|
8
|
+
}
|
|
9
|
+
configure(configuration) {
|
|
10
|
+
configuration.description(
|
|
11
|
+
"Force sign-out: revoke every active session and disable all attached API keys, including permanent keys. An account-recovery operation, recorded in the auth log."
|
|
12
|
+
);
|
|
13
|
+
configuration.argument("id").description("Person id.");
|
|
14
|
+
configuration.option("reason").valueRequired().description("Reason stored with the auth log entry, e.g. an incident id.");
|
|
15
|
+
configuration.option("yes").valueNone().description("Do not ask for confirmation.");
|
|
16
|
+
}
|
|
17
|
+
async execute(input, output) {
|
|
18
|
+
const personId = input.getArgument("id");
|
|
19
|
+
const reason = input.getOption("reason");
|
|
20
|
+
await requireConfirmation({
|
|
21
|
+
yes: input.getOption("yes") === true,
|
|
22
|
+
output,
|
|
23
|
+
warning: `This will revoke every active session and disable all attached API keys of person ${personId}, including permanent keys.`
|
|
24
|
+
});
|
|
25
|
+
await this.tenantClientProvider.person().forceSignOutPerson(personId, reason);
|
|
26
|
+
output.info(
|
|
27
|
+
`Every session of person ${personId} was revoked and all attached API keys, including permanent keys, were disabled${reason !== void 0 ? ` (reason: ${reason})` : ""}.`
|
|
28
|
+
);
|
|
29
|
+
output.data(
|
|
30
|
+
{ personId, signedOut: true, reason: reason ?? null },
|
|
31
|
+
{ human: (it) => humanText(it.personId), quiet: (it) => it.personId }
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
TenantPersonSignOutCommand
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=TenantPersonSignOutCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantPersonSignOutCommand.js","sources":["../../../../../../../packages/cli/src/commands/tenant/person/TenantPersonSignOutCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input, Output } from '@contember/cli-common'\nimport { TenantClientProvider } from '../../../lib/TenantClientProvider.js'\nimport { requireConfirmation } from '../../../lib/tenant/confirmation.js'\nimport { humanText } from '../tenantOutput.js'\n\ntype Args = {\n\tid: string\n}\n\ntype Options = {\n\treason?: string\n\tyes?: boolean\n}\n\ninterface SignOutResult {\n\tpersonId: string\n\tsignedOut: true\n\t/** Recorded in the tenant auth log next to the sign-out event. */\n\treason: string | null\n}\n\nexport class TenantPersonSignOutCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly tenantClientProvider: TenantClientProvider,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description(\n\t\t\t'Force sign-out: revoke every active session and disable all attached API keys, including permanent keys. An account-recovery operation, recorded in the auth log.',\n\t\t)\n\t\tconfiguration.argument('id').description('Person id.')\n\t\tconfiguration.option('reason').valueRequired().description('Reason stored with the auth log entry, e.g. an incident id.')\n\t\tconfiguration.option('yes').valueNone().description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<void> {\n\t\tconst personId = input.getArgument('id')\n\t\tconst reason = input.getOption('reason')\n\n\t\tawait requireConfirmation({\n\t\t\tyes: input.getOption('yes') === true,\n\t\t\toutput,\n\t\t\twarning: `This will revoke every active session and disable all attached API keys of person ${personId}, including permanent keys.`,\n\t\t})\n\n\t\tawait this.tenantClientProvider.person().forceSignOutPerson(personId, reason)\n\n\t\toutput.info(\n\t\t\t`Every session of person ${personId} was revoked and all attached API keys, including permanent keys, were disabled${\n\t\t\t\treason !== undefined ? ` (reason: ${reason})` : ''\n\t\t\t}.`,\n\t\t)\n\t\toutput.data<SignOutResult>(\n\t\t\t{ personId, signedOut: true, reason: reason ?? null },\n\t\t\t{ human: it => humanText(it.personId), quiet: it => it.personId },\n\t\t)\n\t}\n}\n"],"names":[],"mappings":";;;AAqBO,MAAM,mCAAmC,QAAuB;AAAA,EACtE,YACkB,sBAChB;AACD,UAAA;AAFiB,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc;AAAA,MACb;AAAA,IAAA;AAED,kBAAc,SAAS,IAAI,EAAE,YAAY,YAAY;AACrD,kBAAc,OAAO,QAAQ,EAAE,cAAA,EAAgB,YAAY,6DAA6D;AACxH,kBAAc,OAAO,KAAK,EAAE,UAAA,EAAY,YAAY,8BAA8B;AAAA,EACnF;AAAA,EAEA,MAAgB,QAAQ,OAA6B,QAA+B;AACnF,UAAM,WAAW,MAAM,YAAY,IAAI;AACvC,UAAM,SAAS,MAAM,UAAU,QAAQ;AAEvC,UAAM,oBAAoB;AAAA,MACzB,KAAK,MAAM,UAAU,KAAK,MAAM;AAAA,MAChC;AAAA,MACA,SAAS,qFAAqF,QAAQ;AAAA,IAAA,CACtG;AAED,UAAM,KAAK,qBAAqB,OAAA,EAAS,mBAAmB,UAAU,MAAM;AAE5E,WAAO;AAAA,MACN,2BAA2B,QAAQ,kFAClC,WAAW,SAAY,aAAa,MAAM,MAAM,EACjD;AAAA,IAAA;AAED,WAAO;AAAA,MACN,EAAE,UAAU,WAAW,MAAM,QAAQ,UAAU,KAAA;AAAA,MAC/C,EAAE,OAAO,CAAA,OAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA,OAAM,GAAG,SAAA;AAAA,IAAS;AAAA,EAElE;AACD;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const cliCommon = require("@contember/cli-common");
|
|
4
|
+
const tenantOutput = require("../tenantOutput.cjs");
|
|
5
|
+
class TenantPersonUpdateCommand extends cliCommon.Command {
|
|
6
|
+
constructor(tenantClientProvider) {
|
|
7
|
+
super();
|
|
8
|
+
this.tenantClientProvider = tenantClientProvider;
|
|
9
|
+
}
|
|
10
|
+
configure(configuration) {
|
|
11
|
+
configuration.description("Change the profile of a person. Only the fields you pass are changed; neither can be cleared.");
|
|
12
|
+
configuration.argument("id").description("Person id.");
|
|
13
|
+
configuration.option("email").valueRequired().description("New e-mail address.");
|
|
14
|
+
configuration.option("name").valueRequired().description("New display name.");
|
|
15
|
+
}
|
|
16
|
+
async execute(input, output) {
|
|
17
|
+
const personId = input.getArgument("id");
|
|
18
|
+
const email = input.getOption("email");
|
|
19
|
+
const name = tenantOutput.requireNonEmptyTenantName(input.getOption("name"), "Person");
|
|
20
|
+
if (email === void 0 && name === void 0) {
|
|
21
|
+
throw new cliCommon.CliError("Nothing to update. Pass --email, --name, or both.", {
|
|
22
|
+
code: "NOTHING_TO_UPDATE",
|
|
23
|
+
exitCode: cliCommon.ExitCode.InputError
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
await this.tenantClientProvider.person().changeProfile(personId, { email, name });
|
|
27
|
+
const changed = [email !== void 0 ? "e-mail" : null, name !== void 0 ? "name" : null].filter((it) => it !== null);
|
|
28
|
+
output.info(`Updated ${changed.join(" and ")} of person ${personId}.`);
|
|
29
|
+
output.data(
|
|
30
|
+
{ personId, email: email ?? null, name: name ?? null },
|
|
31
|
+
{ human: (it) => tenantOutput.humanText(it.personId), quiet: (it) => it.personId }
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.TenantPersonUpdateCommand = TenantPersonUpdateCommand;
|
|
36
|
+
//# sourceMappingURL=TenantPersonUpdateCommand.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantPersonUpdateCommand.cjs","sources":["../../../../../../../packages/cli/src/commands/tenant/person/TenantPersonUpdateCommand.ts"],"sourcesContent":["import { CliError, Command, CommandConfiguration, ExitCode, Input, Output } from '@contember/cli-common'\nimport { TenantClientProvider } from '../../../lib/TenantClientProvider.js'\nimport { humanText, requireNonEmptyTenantName } from '../tenantOutput.js'\n\ntype Args = {\n\tid: string\n}\n\ntype Options = {\n\temail?: string\n\tname?: string\n}\n\ninterface UpdateResult {\n\tpersonId: string\n\t/** Null means the field was left alone — the API cannot clear an e-mail or a name. */\n\temail: string | null\n\tname: string | null\n}\n\nexport class TenantPersonUpdateCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly tenantClientProvider: TenantClientProvider,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Change the profile of a person. Only the fields you pass are changed; neither can be cleared.')\n\t\tconfiguration.argument('id').description('Person id.')\n\t\tconfiguration.option('email').valueRequired().description('New e-mail address.')\n\t\tconfiguration.option('name').valueRequired().description('New display name.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<void> {\n\t\tconst personId = input.getArgument('id')\n\t\tconst email = input.getOption('email')\n\t\tconst name = requireNonEmptyTenantName(input.getOption('name'), 'Person')\n\t\tif (email === undefined && name === undefined) {\n\t\t\tthrow new CliError('Nothing to update. Pass --email, --name, or both.', {\n\t\t\t\tcode: 'NOTHING_TO_UPDATE',\n\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t})\n\t\t}\n\n\t\tawait this.tenantClientProvider.person().changeProfile(personId, { email, name })\n\n\t\tconst changed = [email !== undefined ? 'e-mail' : null, name !== undefined ? 'name' : null].filter(it => it !== null)\n\t\toutput.info(`Updated ${changed.join(' and ')} of person ${personId}.`)\n\t\toutput.data<UpdateResult>(\n\t\t\t{ personId, email: email ?? null, name: name ?? null },\n\t\t\t{ human: it => humanText(it.personId), quiet: it => it.personId },\n\t\t)\n\t}\n}\n"],"names":["Command","requireNonEmptyTenantName","CliError","ExitCode","humanText"],"mappings":";;;;AAoBO,MAAM,kCAAkCA,UAAAA,QAAuB;AAAA,EACrE,YACkB,sBAChB;AACD,UAAA;AAFiB,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,+FAA+F;AACzH,kBAAc,SAAS,IAAI,EAAE,YAAY,YAAY;AACrD,kBAAc,OAAO,OAAO,EAAE,cAAA,EAAgB,YAAY,qBAAqB;AAC/E,kBAAc,OAAO,MAAM,EAAE,cAAA,EAAgB,YAAY,mBAAmB;AAAA,EAC7E;AAAA,EAEA,MAAgB,QAAQ,OAA6B,QAA+B;AACnF,UAAM,WAAW,MAAM,YAAY,IAAI;AACvC,UAAM,QAAQ,MAAM,UAAU,OAAO;AACrC,UAAM,OAAOC,aAAAA,0BAA0B,MAAM,UAAU,MAAM,GAAG,QAAQ;AACxE,QAAI,UAAU,UAAa,SAAS,QAAW;AAC9C,YAAM,IAAIC,UAAAA,SAAS,qDAAqD;AAAA,QACvE,MAAM;AAAA,QACN,UAAUC,UAAAA,SAAS;AAAA,MAAA,CACnB;AAAA,IACF;AAEA,UAAM,KAAK,qBAAqB,OAAA,EAAS,cAAc,UAAU,EAAE,OAAO,MAAM;AAEhF,UAAM,UAAU,CAAC,UAAU,SAAY,WAAW,MAAM,SAAS,SAAY,SAAS,IAAI,EAAE,OAAO,CAAA,OAAM,OAAO,IAAI;AACpH,WAAO,KAAK,WAAW,QAAQ,KAAK,OAAO,CAAC,cAAc,QAAQ,GAAG;AACrE,WAAO;AAAA,MACN,EAAE,UAAU,OAAO,SAAS,MAAM,MAAM,QAAQ,KAAA;AAAA,MAChD,EAAE,OAAO,CAAA,OAAMC,aAAAA,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA,OAAM,GAAG,SAAA;AAAA,IAAS;AAAA,EAElE;AACD;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Command, CliError, ExitCode } from "@contember/cli-common";
|
|
2
|
+
import { requireNonEmptyTenantName, humanText } from "../tenantOutput.js";
|
|
3
|
+
class TenantPersonUpdateCommand extends Command {
|
|
4
|
+
constructor(tenantClientProvider) {
|
|
5
|
+
super();
|
|
6
|
+
this.tenantClientProvider = tenantClientProvider;
|
|
7
|
+
}
|
|
8
|
+
configure(configuration) {
|
|
9
|
+
configuration.description("Change the profile of a person. Only the fields you pass are changed; neither can be cleared.");
|
|
10
|
+
configuration.argument("id").description("Person id.");
|
|
11
|
+
configuration.option("email").valueRequired().description("New e-mail address.");
|
|
12
|
+
configuration.option("name").valueRequired().description("New display name.");
|
|
13
|
+
}
|
|
14
|
+
async execute(input, output) {
|
|
15
|
+
const personId = input.getArgument("id");
|
|
16
|
+
const email = input.getOption("email");
|
|
17
|
+
const name = requireNonEmptyTenantName(input.getOption("name"), "Person");
|
|
18
|
+
if (email === void 0 && name === void 0) {
|
|
19
|
+
throw new CliError("Nothing to update. Pass --email, --name, or both.", {
|
|
20
|
+
code: "NOTHING_TO_UPDATE",
|
|
21
|
+
exitCode: ExitCode.InputError
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
await this.tenantClientProvider.person().changeProfile(personId, { email, name });
|
|
25
|
+
const changed = [email !== void 0 ? "e-mail" : null, name !== void 0 ? "name" : null].filter((it) => it !== null);
|
|
26
|
+
output.info(`Updated ${changed.join(" and ")} of person ${personId}.`);
|
|
27
|
+
output.data(
|
|
28
|
+
{ personId, email: email ?? null, name: name ?? null },
|
|
29
|
+
{ human: (it) => humanText(it.personId), quiet: (it) => it.personId }
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
TenantPersonUpdateCommand
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=TenantPersonUpdateCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantPersonUpdateCommand.js","sources":["../../../../../../../packages/cli/src/commands/tenant/person/TenantPersonUpdateCommand.ts"],"sourcesContent":["import { CliError, Command, CommandConfiguration, ExitCode, Input, Output } from '@contember/cli-common'\nimport { TenantClientProvider } from '../../../lib/TenantClientProvider.js'\nimport { humanText, requireNonEmptyTenantName } from '../tenantOutput.js'\n\ntype Args = {\n\tid: string\n}\n\ntype Options = {\n\temail?: string\n\tname?: string\n}\n\ninterface UpdateResult {\n\tpersonId: string\n\t/** Null means the field was left alone — the API cannot clear an e-mail or a name. */\n\temail: string | null\n\tname: string | null\n}\n\nexport class TenantPersonUpdateCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly tenantClientProvider: TenantClientProvider,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Change the profile of a person. Only the fields you pass are changed; neither can be cleared.')\n\t\tconfiguration.argument('id').description('Person id.')\n\t\tconfiguration.option('email').valueRequired().description('New e-mail address.')\n\t\tconfiguration.option('name').valueRequired().description('New display name.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<void> {\n\t\tconst personId = input.getArgument('id')\n\t\tconst email = input.getOption('email')\n\t\tconst name = requireNonEmptyTenantName(input.getOption('name'), 'Person')\n\t\tif (email === undefined && name === undefined) {\n\t\t\tthrow new CliError('Nothing to update. Pass --email, --name, or both.', {\n\t\t\t\tcode: 'NOTHING_TO_UPDATE',\n\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t})\n\t\t}\n\n\t\tawait this.tenantClientProvider.person().changeProfile(personId, { email, name })\n\n\t\tconst changed = [email !== undefined ? 'e-mail' : null, name !== undefined ? 'name' : null].filter(it => it !== null)\n\t\toutput.info(`Updated ${changed.join(' and ')} of person ${personId}.`)\n\t\toutput.data<UpdateResult>(\n\t\t\t{ personId, email: email ?? null, name: name ?? null },\n\t\t\t{ human: it => humanText(it.personId), quiet: it => it.personId },\n\t\t)\n\t}\n}\n"],"names":[],"mappings":";;AAoBO,MAAM,kCAAkC,QAAuB;AAAA,EACrE,YACkB,sBAChB;AACD,UAAA;AAFiB,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,+FAA+F;AACzH,kBAAc,SAAS,IAAI,EAAE,YAAY,YAAY;AACrD,kBAAc,OAAO,OAAO,EAAE,cAAA,EAAgB,YAAY,qBAAqB;AAC/E,kBAAc,OAAO,MAAM,EAAE,cAAA,EAAgB,YAAY,mBAAmB;AAAA,EAC7E;AAAA,EAEA,MAAgB,QAAQ,OAA6B,QAA+B;AACnF,UAAM,WAAW,MAAM,YAAY,IAAI;AACvC,UAAM,QAAQ,MAAM,UAAU,OAAO;AACrC,UAAM,OAAO,0BAA0B,MAAM,UAAU,MAAM,GAAG,QAAQ;AACxE,QAAI,UAAU,UAAa,SAAS,QAAW;AAC9C,YAAM,IAAI,SAAS,qDAAqD;AAAA,QACvE,MAAM;AAAA,QACN,UAAU,SAAS;AAAA,MAAA,CACnB;AAAA,IACF;AAEA,UAAM,KAAK,qBAAqB,OAAA,EAAS,cAAc,UAAU,EAAE,OAAO,MAAM;AAEhF,UAAM,UAAU,CAAC,UAAU,SAAY,WAAW,MAAM,SAAS,SAAY,SAAS,IAAI,EAAE,OAAO,CAAA,OAAM,OAAO,IAAI;AACpH,WAAO,KAAK,WAAW,QAAQ,KAAK,OAAO,CAAC,cAAc,QAAQ,GAAG;AACrE,WAAO;AAAA,MACN,EAAE,UAAU,OAAO,SAAS,MAAM,MAAM,QAAQ,KAAA;AAAA,MAChD,EAAE,OAAO,CAAA,OAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA,OAAM,GAAG,SAAA;AAAA,IAAS;AAAA,EAElE;AACD;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const cliCommon = require("@contember/cli-common");
|
|
4
|
+
const tenantOutput = require("../tenantOutput.cjs");
|
|
5
|
+
class TenantSessionCreateCommand extends cliCommon.Command {
|
|
6
|
+
constructor(tenantClientProvider) {
|
|
7
|
+
super();
|
|
8
|
+
this.tenantClientProvider = tenantClientProvider;
|
|
9
|
+
}
|
|
10
|
+
configure(configuration) {
|
|
11
|
+
configuration.description("Create a one-time session token for exactly one person. Requires person.createSessionToken permission.");
|
|
12
|
+
configuration.option("email").valueRequired().description("Identify the person by e-mail. Not combinable with --person-id.");
|
|
13
|
+
configuration.option("person-id").valueRequired().description("Identify the person by id. Not combinable with --email.");
|
|
14
|
+
configuration.option("expiration").valueRequired().description("Session lifetime in minutes as a positive integer.");
|
|
15
|
+
configuration.option("trust-forwarded-client-info").valueNone().description(
|
|
16
|
+
"Trust forwarded client IP and user-agent headers for this session only when the tenant endpoint is behind a trusted proxy."
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
async execute(input, output) {
|
|
20
|
+
const email = input.getOption("email");
|
|
21
|
+
const personId = input.getOption("person-id");
|
|
22
|
+
if (email === void 0 === (personId === void 0)) {
|
|
23
|
+
throw new cliCommon.CliError("Pass exactly one of --email or --person-id.", {
|
|
24
|
+
code: "INVALID_PERSON_IDENTIFIER",
|
|
25
|
+
exitCode: cliCommon.ExitCode.InputError
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (email?.trim() === "" || personId?.trim() === "") {
|
|
29
|
+
throw new cliCommon.CliError("The value passed to --email or --person-id must not be empty.", {
|
|
30
|
+
code: "INVALID_PERSON_IDENTIFIER",
|
|
31
|
+
exitCode: cliCommon.ExitCode.InputError
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const expiration = parsePositiveInteger(input.getOption("expiration"), "expiration");
|
|
35
|
+
const trustForwardedClientInfo = input.getOption("trust-forwarded-client-info") === true;
|
|
36
|
+
const result = await this.tenantClientProvider.person().createSessionToken({
|
|
37
|
+
email,
|
|
38
|
+
personId,
|
|
39
|
+
expiration,
|
|
40
|
+
options: trustForwardedClientInfo ? { trustForwardedClientInfo: true } : void 0
|
|
41
|
+
});
|
|
42
|
+
const token = tenantOutput.assertGeneratedTenantToken(result.token, "session");
|
|
43
|
+
output.info(`Created a session token for person ${result.personId}. The token is shown once; store it securely.`);
|
|
44
|
+
output.data(result, {
|
|
45
|
+
human: (it) => `Session token for person ${tenantOutput.humanText(it.personId)}:
|
|
46
|
+
${token}`,
|
|
47
|
+
quiet: () => token
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const parsePositiveInteger = (value, option) => {
|
|
52
|
+
if (value === void 0) {
|
|
53
|
+
return void 0;
|
|
54
|
+
}
|
|
55
|
+
const parsed = Number(value);
|
|
56
|
+
if (!Number.isInteger(parsed) || parsed <= 0 || parsed > 2147483647) {
|
|
57
|
+
throw new cliCommon.CliError(`--${option} must be a positive GraphQL Int (maximum 2147483647).`, {
|
|
58
|
+
code: "INVALID_OPTION_VALUE",
|
|
59
|
+
exitCode: cliCommon.ExitCode.InputError
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return parsed;
|
|
63
|
+
};
|
|
64
|
+
exports.TenantSessionCreateCommand = TenantSessionCreateCommand;
|
|
65
|
+
//# sourceMappingURL=TenantSessionCreateCommand.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantSessionCreateCommand.cjs","sources":["../../../../../../../packages/cli/src/commands/tenant/person/TenantSessionCreateCommand.ts"],"sourcesContent":["import { CliError, Command, CommandConfiguration, ExitCode, Input, Output } from '@contember/cli-common'\nimport { TenantClientProvider } from '../../../lib/TenantClientProvider.js'\nimport type { TenantCreatedSessionToken } from '../../../lib/tenant/clients/TenantPersonClient.js'\nimport { assertGeneratedTenantToken, humanText } from '../tenantOutput.js'\n\ntype Args = {}\n\ntype Options = {\n\temail?: string\n\t['person-id']?: string\n\texpiration?: string\n\t['trust-forwarded-client-info']?: boolean\n}\n\n/** `tenant session create` */\nexport class TenantSessionCreateCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly tenantClientProvider: TenantClientProvider,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Create a one-time session token for exactly one person. Requires person.createSessionToken permission.')\n\t\tconfiguration.option('email').valueRequired().description('Identify the person by e-mail. Not combinable with --person-id.')\n\t\tconfiguration.option('person-id').valueRequired().description('Identify the person by id. Not combinable with --email.')\n\t\tconfiguration.option('expiration').valueRequired().description('Session lifetime in minutes as a positive integer.')\n\t\tconfiguration.option('trust-forwarded-client-info').valueNone().description(\n\t\t\t'Trust forwarded client IP and user-agent headers for this session only when the tenant endpoint is behind a trusted proxy.',\n\t\t)\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<void> {\n\t\tconst email = input.getOption('email')\n\t\tconst personId = input.getOption('person-id')\n\t\tif ((email === undefined) === (personId === undefined)) {\n\t\t\tthrow new CliError('Pass exactly one of --email or --person-id.', {\n\t\t\t\tcode: 'INVALID_PERSON_IDENTIFIER',\n\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t})\n\t\t}\n\t\tif (email?.trim() === '' || personId?.trim() === '') {\n\t\t\tthrow new CliError('The value passed to --email or --person-id must not be empty.', {\n\t\t\t\tcode: 'INVALID_PERSON_IDENTIFIER',\n\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t})\n\t\t}\n\t\tconst expiration = parsePositiveInteger(input.getOption('expiration'), 'expiration')\n\t\tconst trustForwardedClientInfo = input.getOption('trust-forwarded-client-info') === true\n\n\t\tconst result = await this.tenantClientProvider.person().createSessionToken({\n\t\t\temail,\n\t\t\tpersonId,\n\t\t\texpiration,\n\t\t\toptions: trustForwardedClientInfo ? { trustForwardedClientInfo: true } : undefined,\n\t\t})\n\t\tconst token = assertGeneratedTenantToken(result.token, 'session')\n\n\t\toutput.info(`Created a session token for person ${result.personId}. The token is shown once; store it securely.`)\n\t\toutput.data<TenantCreatedSessionToken>(result, {\n\t\t\thuman: it => `Session token for person ${humanText(it.personId)}:\\n${token}`,\n\t\t\tquiet: () => token,\n\t\t})\n\t}\n}\n\nconst parsePositiveInteger = (value: string | undefined, option: string): number | undefined => {\n\tif (value === undefined) {\n\t\treturn undefined\n\t}\n\tconst parsed = Number(value)\n\tif (!Number.isInteger(parsed) || parsed <= 0 || parsed > 2_147_483_647) {\n\t\tthrow new CliError(`--${option} must be a positive GraphQL Int (maximum 2147483647).`, {\n\t\t\tcode: 'INVALID_OPTION_VALUE',\n\t\t\texitCode: ExitCode.InputError,\n\t\t})\n\t}\n\treturn parsed\n}\n"],"names":["Command","CliError","ExitCode","assertGeneratedTenantToken","humanText"],"mappings":";;;;AAeO,MAAM,mCAAmCA,UAAAA,QAAuB;AAAA,EACtE,YACkB,sBAChB;AACD,UAAA;AAFiB,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,wGAAwG;AAClI,kBAAc,OAAO,OAAO,EAAE,cAAA,EAAgB,YAAY,iEAAiE;AAC3H,kBAAc,OAAO,WAAW,EAAE,cAAA,EAAgB,YAAY,yDAAyD;AACvH,kBAAc,OAAO,YAAY,EAAE,cAAA,EAAgB,YAAY,oDAAoD;AACnH,kBAAc,OAAO,6BAA6B,EAAE,UAAA,EAAY;AAAA,MAC/D;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAgB,QAAQ,OAA6B,QAA+B;AACnF,UAAM,QAAQ,MAAM,UAAU,OAAO;AACrC,UAAM,WAAW,MAAM,UAAU,WAAW;AAC5C,QAAK,UAAU,YAAgB,aAAa,SAAY;AACvD,YAAM,IAAIC,UAAAA,SAAS,+CAA+C;AAAA,QACjE,MAAM;AAAA,QACN,UAAUC,UAAAA,SAAS;AAAA,MAAA,CACnB;AAAA,IACF;AACA,QAAI,OAAO,WAAW,MAAM,UAAU,KAAA,MAAW,IAAI;AACpD,YAAM,IAAID,UAAAA,SAAS,iEAAiE;AAAA,QACnF,MAAM;AAAA,QACN,UAAUC,UAAAA,SAAS;AAAA,MAAA,CACnB;AAAA,IACF;AACA,UAAM,aAAa,qBAAqB,MAAM,UAAU,YAAY,GAAG,YAAY;AACnF,UAAM,2BAA2B,MAAM,UAAU,6BAA6B,MAAM;AAEpF,UAAM,SAAS,MAAM,KAAK,qBAAqB,OAAA,EAAS,mBAAmB;AAAA,MAC1E;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,2BAA2B,EAAE,0BAA0B,SAAS;AAAA,IAAA,CACzE;AACD,UAAM,QAAQC,aAAAA,2BAA2B,OAAO,OAAO,SAAS;AAEhE,WAAO,KAAK,sCAAsC,OAAO,QAAQ,+CAA+C;AAChH,WAAO,KAAgC,QAAQ;AAAA,MAC9C,OAAO,CAAA,OAAM,4BAA4BC,aAAAA,UAAU,GAAG,QAAQ,CAAC;AAAA,EAAM,KAAK;AAAA,MAC1E,OAAO,MAAM;AAAA,IAAA,CACb;AAAA,EACF;AACD;AAEA,MAAM,uBAAuB,CAAC,OAA2B,WAAuC;AAC/F,MAAI,UAAU,QAAW;AACxB,WAAO;AAAA,EACR;AACA,QAAM,SAAS,OAAO,KAAK;AAC3B,MAAI,CAAC,OAAO,UAAU,MAAM,KAAK,UAAU,KAAK,SAAS,YAAe;AACvE,UAAM,IAAIH,UAAAA,SAAS,KAAK,MAAM,yDAAyD;AAAA,MACtF,MAAM;AAAA,MACN,UAAUC,UAAAA,SAAS;AAAA,IAAA,CACnB;AAAA,EACF;AACA,SAAO;AACR;;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Command, CliError, ExitCode } from "@contember/cli-common";
|
|
2
|
+
import { assertGeneratedTenantToken, humanText } from "../tenantOutput.js";
|
|
3
|
+
class TenantSessionCreateCommand extends Command {
|
|
4
|
+
constructor(tenantClientProvider) {
|
|
5
|
+
super();
|
|
6
|
+
this.tenantClientProvider = tenantClientProvider;
|
|
7
|
+
}
|
|
8
|
+
configure(configuration) {
|
|
9
|
+
configuration.description("Create a one-time session token for exactly one person. Requires person.createSessionToken permission.");
|
|
10
|
+
configuration.option("email").valueRequired().description("Identify the person by e-mail. Not combinable with --person-id.");
|
|
11
|
+
configuration.option("person-id").valueRequired().description("Identify the person by id. Not combinable with --email.");
|
|
12
|
+
configuration.option("expiration").valueRequired().description("Session lifetime in minutes as a positive integer.");
|
|
13
|
+
configuration.option("trust-forwarded-client-info").valueNone().description(
|
|
14
|
+
"Trust forwarded client IP and user-agent headers for this session only when the tenant endpoint is behind a trusted proxy."
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
async execute(input, output) {
|
|
18
|
+
const email = input.getOption("email");
|
|
19
|
+
const personId = input.getOption("person-id");
|
|
20
|
+
if (email === void 0 === (personId === void 0)) {
|
|
21
|
+
throw new CliError("Pass exactly one of --email or --person-id.", {
|
|
22
|
+
code: "INVALID_PERSON_IDENTIFIER",
|
|
23
|
+
exitCode: ExitCode.InputError
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (email?.trim() === "" || personId?.trim() === "") {
|
|
27
|
+
throw new CliError("The value passed to --email or --person-id must not be empty.", {
|
|
28
|
+
code: "INVALID_PERSON_IDENTIFIER",
|
|
29
|
+
exitCode: ExitCode.InputError
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
const expiration = parsePositiveInteger(input.getOption("expiration"), "expiration");
|
|
33
|
+
const trustForwardedClientInfo = input.getOption("trust-forwarded-client-info") === true;
|
|
34
|
+
const result = await this.tenantClientProvider.person().createSessionToken({
|
|
35
|
+
email,
|
|
36
|
+
personId,
|
|
37
|
+
expiration,
|
|
38
|
+
options: trustForwardedClientInfo ? { trustForwardedClientInfo: true } : void 0
|
|
39
|
+
});
|
|
40
|
+
const token = assertGeneratedTenantToken(result.token, "session");
|
|
41
|
+
output.info(`Created a session token for person ${result.personId}. The token is shown once; store it securely.`);
|
|
42
|
+
output.data(result, {
|
|
43
|
+
human: (it) => `Session token for person ${humanText(it.personId)}:
|
|
44
|
+
${token}`,
|
|
45
|
+
quiet: () => token
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const parsePositiveInteger = (value, option) => {
|
|
50
|
+
if (value === void 0) {
|
|
51
|
+
return void 0;
|
|
52
|
+
}
|
|
53
|
+
const parsed = Number(value);
|
|
54
|
+
if (!Number.isInteger(parsed) || parsed <= 0 || parsed > 2147483647) {
|
|
55
|
+
throw new CliError(`--${option} must be a positive GraphQL Int (maximum 2147483647).`, {
|
|
56
|
+
code: "INVALID_OPTION_VALUE",
|
|
57
|
+
exitCode: ExitCode.InputError
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return parsed;
|
|
61
|
+
};
|
|
62
|
+
export {
|
|
63
|
+
TenantSessionCreateCommand
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=TenantSessionCreateCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantSessionCreateCommand.js","sources":["../../../../../../../packages/cli/src/commands/tenant/person/TenantSessionCreateCommand.ts"],"sourcesContent":["import { CliError, Command, CommandConfiguration, ExitCode, Input, Output } from '@contember/cli-common'\nimport { TenantClientProvider } from '../../../lib/TenantClientProvider.js'\nimport type { TenantCreatedSessionToken } from '../../../lib/tenant/clients/TenantPersonClient.js'\nimport { assertGeneratedTenantToken, humanText } from '../tenantOutput.js'\n\ntype Args = {}\n\ntype Options = {\n\temail?: string\n\t['person-id']?: string\n\texpiration?: string\n\t['trust-forwarded-client-info']?: boolean\n}\n\n/** `tenant session create` */\nexport class TenantSessionCreateCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly tenantClientProvider: TenantClientProvider,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Create a one-time session token for exactly one person. Requires person.createSessionToken permission.')\n\t\tconfiguration.option('email').valueRequired().description('Identify the person by e-mail. Not combinable with --person-id.')\n\t\tconfiguration.option('person-id').valueRequired().description('Identify the person by id. Not combinable with --email.')\n\t\tconfiguration.option('expiration').valueRequired().description('Session lifetime in minutes as a positive integer.')\n\t\tconfiguration.option('trust-forwarded-client-info').valueNone().description(\n\t\t\t'Trust forwarded client IP and user-agent headers for this session only when the tenant endpoint is behind a trusted proxy.',\n\t\t)\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<void> {\n\t\tconst email = input.getOption('email')\n\t\tconst personId = input.getOption('person-id')\n\t\tif ((email === undefined) === (personId === undefined)) {\n\t\t\tthrow new CliError('Pass exactly one of --email or --person-id.', {\n\t\t\t\tcode: 'INVALID_PERSON_IDENTIFIER',\n\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t})\n\t\t}\n\t\tif (email?.trim() === '' || personId?.trim() === '') {\n\t\t\tthrow new CliError('The value passed to --email or --person-id must not be empty.', {\n\t\t\t\tcode: 'INVALID_PERSON_IDENTIFIER',\n\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t})\n\t\t}\n\t\tconst expiration = parsePositiveInteger(input.getOption('expiration'), 'expiration')\n\t\tconst trustForwardedClientInfo = input.getOption('trust-forwarded-client-info') === true\n\n\t\tconst result = await this.tenantClientProvider.person().createSessionToken({\n\t\t\temail,\n\t\t\tpersonId,\n\t\t\texpiration,\n\t\t\toptions: trustForwardedClientInfo ? { trustForwardedClientInfo: true } : undefined,\n\t\t})\n\t\tconst token = assertGeneratedTenantToken(result.token, 'session')\n\n\t\toutput.info(`Created a session token for person ${result.personId}. The token is shown once; store it securely.`)\n\t\toutput.data<TenantCreatedSessionToken>(result, {\n\t\t\thuman: it => `Session token for person ${humanText(it.personId)}:\\n${token}`,\n\t\t\tquiet: () => token,\n\t\t})\n\t}\n}\n\nconst parsePositiveInteger = (value: string | undefined, option: string): number | undefined => {\n\tif (value === undefined) {\n\t\treturn undefined\n\t}\n\tconst parsed = Number(value)\n\tif (!Number.isInteger(parsed) || parsed <= 0 || parsed > 2_147_483_647) {\n\t\tthrow new CliError(`--${option} must be a positive GraphQL Int (maximum 2147483647).`, {\n\t\t\tcode: 'INVALID_OPTION_VALUE',\n\t\t\texitCode: ExitCode.InputError,\n\t\t})\n\t}\n\treturn parsed\n}\n"],"names":[],"mappings":";;AAeO,MAAM,mCAAmC,QAAuB;AAAA,EACtE,YACkB,sBAChB;AACD,UAAA;AAFiB,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,wGAAwG;AAClI,kBAAc,OAAO,OAAO,EAAE,cAAA,EAAgB,YAAY,iEAAiE;AAC3H,kBAAc,OAAO,WAAW,EAAE,cAAA,EAAgB,YAAY,yDAAyD;AACvH,kBAAc,OAAO,YAAY,EAAE,cAAA,EAAgB,YAAY,oDAAoD;AACnH,kBAAc,OAAO,6BAA6B,EAAE,UAAA,EAAY;AAAA,MAC/D;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,MAAgB,QAAQ,OAA6B,QAA+B;AACnF,UAAM,QAAQ,MAAM,UAAU,OAAO;AACrC,UAAM,WAAW,MAAM,UAAU,WAAW;AAC5C,QAAK,UAAU,YAAgB,aAAa,SAAY;AACvD,YAAM,IAAI,SAAS,+CAA+C;AAAA,QACjE,MAAM;AAAA,QACN,UAAU,SAAS;AAAA,MAAA,CACnB;AAAA,IACF;AACA,QAAI,OAAO,WAAW,MAAM,UAAU,KAAA,MAAW,IAAI;AACpD,YAAM,IAAI,SAAS,iEAAiE;AAAA,QACnF,MAAM;AAAA,QACN,UAAU,SAAS;AAAA,MAAA,CACnB;AAAA,IACF;AACA,UAAM,aAAa,qBAAqB,MAAM,UAAU,YAAY,GAAG,YAAY;AACnF,UAAM,2BAA2B,MAAM,UAAU,6BAA6B,MAAM;AAEpF,UAAM,SAAS,MAAM,KAAK,qBAAqB,OAAA,EAAS,mBAAmB;AAAA,MAC1E;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,2BAA2B,EAAE,0BAA0B,SAAS;AAAA,IAAA,CACzE;AACD,UAAM,QAAQ,2BAA2B,OAAO,OAAO,SAAS;AAEhE,WAAO,KAAK,sCAAsC,OAAO,QAAQ,+CAA+C;AAChH,WAAO,KAAgC,QAAQ;AAAA,MAC9C,OAAO,CAAA,OAAM,4BAA4B,UAAU,GAAG,QAAQ,CAAC;AAAA,EAAM,KAAK;AAAA,MAC1E,OAAO,MAAM;AAAA,IAAA,CACb;AAAA,EACF;AACD;AAEA,MAAM,uBAAuB,CAAC,OAA2B,WAAuC;AAC/F,MAAI,UAAU,QAAW;AACxB,WAAO;AAAA,EACR;AACA,QAAM,SAAS,OAAO,KAAK;AAC3B,MAAI,CAAC,OAAO,UAAU,MAAM,KAAK,UAAU,KAAK,SAAS,YAAe;AACvE,UAAM,IAAI,SAAS,KAAK,MAAM,yDAAyD;AAAA,MACtF,MAAM;AAAA,MACN,UAAU,SAAS;AAAA,IAAA,CACnB;AAAA,EACF;AACA,SAAO;AACR;"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const cliCommon = require("@contember/cli-common");
|
|
4
|
+
const value = require("../../../lib/tenant/input/value.cjs");
|
|
5
|
+
const resolveSecret = async (sources, readStdin) => {
|
|
6
|
+
const given = sources.flatMap((source) => [
|
|
7
|
+
...source.stdin ? [{ source, flag: `--${source.name}-stdin` }] : [],
|
|
8
|
+
...source.env !== void 0 ? [{ source, flag: `--${source.name}-env` }] : []
|
|
9
|
+
]);
|
|
10
|
+
if (given.length > 1) {
|
|
11
|
+
throw new cliCommon.CliError(`Pass only one of ${given.map((it) => it.flag).join(", ")}.`, {
|
|
12
|
+
code: "AMBIGUOUS_SECRET_SOURCE",
|
|
13
|
+
exitCode: cliCommon.ExitCode.InputError
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
const chosen = given[0];
|
|
17
|
+
if (chosen === void 0) {
|
|
18
|
+
return void 0;
|
|
19
|
+
}
|
|
20
|
+
const value2 = chosen.source.env !== void 0 ? readSecretEnv(chosen.source.env) : (await readStdin()).replace(/\r?\n$/, "");
|
|
21
|
+
if (value2 === "") {
|
|
22
|
+
throw new cliCommon.CliError(`${chosen.flag} resolved to an empty value.`, { code: "EMPTY_SECRET", exitCode: cliCommon.ExitCode.InputError });
|
|
23
|
+
}
|
|
24
|
+
return { name: chosen.source.name, value: value2 };
|
|
25
|
+
};
|
|
26
|
+
const readSecretEnv = (name) => {
|
|
27
|
+
const value2 = process.env[name];
|
|
28
|
+
if (value2 === void 0) {
|
|
29
|
+
throw new cliCommon.CliError(`Environment variable ${name} is not set.`, { code: "SECRET_ENV_NOT_SET", exitCode: cliCommon.ExitCode.InputError });
|
|
30
|
+
}
|
|
31
|
+
return value2;
|
|
32
|
+
};
|
|
33
|
+
const assertBcryptHash = (hash) => {
|
|
34
|
+
if (!hash.startsWith("$2b$")) {
|
|
35
|
+
throw new cliCommon.CliError("Invalid password hash: the tenant API accepts bcrypt $2b$ hashes only.", {
|
|
36
|
+
code: "INVALID_PASSWORD_HASH",
|
|
37
|
+
exitCode: cliCommon.ExitCode.InputError
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const configureCaptchaTokenOptions = (configuration) => {
|
|
42
|
+
configuration.option("captcha-token").valueRequired().description(
|
|
43
|
+
"Captcha token. Visible in the shell history and process list; prefer --captcha-token-env or --captcha-token-stdin."
|
|
44
|
+
);
|
|
45
|
+
configuration.option("captcha-token-env").valueRequired().description("Read the captcha token from the named environment variable.");
|
|
46
|
+
configuration.option("captcha-token-stdin").valueNone().description("Read the captcha token from stdin.");
|
|
47
|
+
};
|
|
48
|
+
const resolveCaptchaToken = async (options, readStdin, readEnvironment = (name) => process.env[name]) => {
|
|
49
|
+
const sources = [];
|
|
50
|
+
if (options["captcha-token"] !== void 0) {
|
|
51
|
+
sources.push(value.literalInput("captcha-token", "--captcha-token", options["captcha-token"]));
|
|
52
|
+
}
|
|
53
|
+
if (options["captcha-token-env"] !== void 0) {
|
|
54
|
+
sources.push(value.environmentInput("captcha-token", "--captcha-token-env", options["captcha-token-env"]));
|
|
55
|
+
}
|
|
56
|
+
if (options["captcha-token-stdin"] === true) {
|
|
57
|
+
sources.push(value.stdinInput("captcha-token", "--captcha-token-stdin"));
|
|
58
|
+
}
|
|
59
|
+
const resolved = await value.resolveOptionalTenantInput(sources, { label: "captcha token" }, { readStdin, readEnvironment });
|
|
60
|
+
if (resolved === void 0) {
|
|
61
|
+
return void 0;
|
|
62
|
+
}
|
|
63
|
+
const value$1 = resolved.kind === "stdin" ? removeOneTrailingLineEnding(resolved.value) : resolved.value;
|
|
64
|
+
if (value$1 === "") {
|
|
65
|
+
throw new cliCommon.CliError("The selected captcha token source resolved to an empty value.", {
|
|
66
|
+
code: "EMPTY_INPUT_VALUE",
|
|
67
|
+
exitCode: cliCommon.ExitCode.InputError
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return value$1;
|
|
71
|
+
};
|
|
72
|
+
const removeOneTrailingLineEnding = (value2) => value2.replace(/(?:\r\n|\n)$/, "");
|
|
73
|
+
exports.assertBcryptHash = assertBcryptHash;
|
|
74
|
+
exports.configureCaptchaTokenOptions = configureCaptchaTokenOptions;
|
|
75
|
+
exports.resolveCaptchaToken = resolveCaptchaToken;
|
|
76
|
+
exports.resolveSecret = resolveSecret;
|
|
77
|
+
//# sourceMappingURL=personInput.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"personInput.cjs","sources":["../../../../../../../packages/cli/src/commands/tenant/person/personInput.ts"],"sourcesContent":["import { CliError, ExitCode } from '@contember/cli-common'\nimport type { StdinReader } from '../../../lib/tenant/stdin.js'\nimport { environmentInput, literalInput, resolveOptionalTenantInput, stdinInput, type TenantInputSource } from '../../../lib/tenant/input/index.js'\n\n/**\n * One way of passing a secret. `name` is the option prefix, so `password` covers `--password-stdin`\n * and `--password-env`. A secret is never a plain option value — argv lands in the shell history and\n * in `ps` output of every user on the machine.\n */\nexport interface SecretSource {\n\treadonly name: string\n\treadonly stdin: boolean\n\treadonly env: string | undefined\n}\n\nexport interface ResolvedSecret {\n\t/** The `name` of the {@link SecretSource} the value came from. */\n\treadonly name: string\n\treadonly value: string\n}\n\n/** Resolves at most one of the offered secret sources. Returns undefined when the caller passed none. */\nexport const resolveSecret = async (sources: readonly SecretSource[], readStdin: StdinReader): Promise<ResolvedSecret | undefined> => {\n\tconst given = sources.flatMap(source => [\n\t\t...(source.stdin ? [{ source, flag: `--${source.name}-stdin` }] : []),\n\t\t...(source.env !== undefined ? [{ source, flag: `--${source.name}-env` }] : []),\n\t])\n\tif (given.length > 1) {\n\t\tthrow new CliError(`Pass only one of ${given.map(it => it.flag).join(', ')}.`, {\n\t\t\tcode: 'AMBIGUOUS_SECRET_SOURCE',\n\t\t\texitCode: ExitCode.InputError,\n\t\t})\n\t}\n\tconst chosen = given[0]\n\tif (chosen === undefined) {\n\t\treturn undefined\n\t}\n\t// the trailing newline `echo` adds is never part of the secret\n\tconst value = chosen.source.env !== undefined ? readSecretEnv(chosen.source.env) : (await readStdin()).replace(/\\r?\\n$/, '')\n\tif (value === '') {\n\t\tthrow new CliError(`${chosen.flag} resolved to an empty value.`, { code: 'EMPTY_SECRET', exitCode: ExitCode.InputError })\n\t}\n\treturn { name: chosen.source.name, value }\n}\n\nconst readSecretEnv = (name: string): string => {\n\tconst value = process.env[name]\n\tif (value === undefined) {\n\t\tthrow new CliError(`Environment variable ${name} is not set.`, { code: 'SECRET_ENV_NOT_SET', exitCode: ExitCode.InputError })\n\t}\n\treturn value\n}\n\n/** The tenant API accepts `$2b$` bcrypt hashes only — rejecting here avoids spending a rate-limit slot on a doomed call. */\nexport const assertBcryptHash = (hash: string): void => {\n\tif (!hash.startsWith('$2b$')) {\n\t\tthrow new CliError('Invalid password hash: the tenant API accepts bcrypt $2b$ hashes only.', {\n\t\t\tcode: 'INVALID_PASSWORD_HASH',\n\t\t\texitCode: ExitCode.InputError,\n\t\t})\n\t}\n}\n\nexport type CaptchaTokenOptions = {\n\treadonly ['captcha-token']?: string\n\treadonly ['captcha-token-env']?: string\n\treadonly ['captcha-token-stdin']?: boolean\n}\n\nexport const configureCaptchaTokenOptions = (configuration: {\n\toption(name: keyof CaptchaTokenOptions): {\n\t\tvalueNone(): { description(description: string): unknown }\n\t\tvalueRequired(): { description(description: string): unknown }\n\t}\n}): void => {\n\tconfiguration.option('captcha-token').valueRequired().description(\n\t\t'Captcha token. Visible in the shell history and process list; prefer --captcha-token-env or --captcha-token-stdin.',\n\t)\n\tconfiguration.option('captcha-token-env').valueRequired().description('Read the captcha token from the named environment variable.')\n\tconfiguration.option('captcha-token-stdin').valueNone().description('Read the captcha token from stdin.')\n}\n\nexport const resolveCaptchaToken = async (\n\toptions: CaptchaTokenOptions,\n\treadStdin: StdinReader,\n\treadEnvironment: (name: string) => string | undefined = name => process.env[name],\n): Promise<string | undefined> => {\n\tconst sources: TenantInputSource<'captcha-token'>[] = []\n\tif (options['captcha-token'] !== undefined) {\n\t\tsources.push(literalInput('captcha-token', '--captcha-token', options['captcha-token']))\n\t}\n\tif (options['captcha-token-env'] !== undefined) {\n\t\tsources.push(environmentInput('captcha-token', '--captcha-token-env', options['captcha-token-env']))\n\t}\n\tif (options['captcha-token-stdin'] === true) {\n\t\tsources.push(stdinInput('captcha-token', '--captcha-token-stdin'))\n\t}\n\tconst resolved = await resolveOptionalTenantInput(sources, { label: 'captcha token' }, { readStdin, readEnvironment })\n\tif (resolved === undefined) {\n\t\treturn undefined\n\t}\n\tconst value = resolved.kind === 'stdin' ? removeOneTrailingLineEnding(resolved.value) : resolved.value\n\tif (value === '') {\n\t\tthrow new CliError('The selected captcha token source resolved to an empty value.', {\n\t\t\tcode: 'EMPTY_INPUT_VALUE',\n\t\t\texitCode: ExitCode.InputError,\n\t\t})\n\t}\n\treturn value\n}\n\nconst removeOneTrailingLineEnding = (value: string): string => value.replace(/(?:\\r\\n|\\n)$/, '')\n"],"names":["CliError","ExitCode","value","literalInput","environmentInput","stdinInput","resolveOptionalTenantInput"],"mappings":";;;;AAsBO,MAAM,gBAAgB,OAAO,SAAkC,cAAgE;AACrI,QAAM,QAAQ,QAAQ,QAAQ,CAAA,WAAU;AAAA,IACvC,GAAI,OAAO,QAAQ,CAAC,EAAE,QAAQ,MAAM,KAAK,OAAO,IAAI,SAAA,CAAU,IAAI,CAAA;AAAA,IAClE,GAAI,OAAO,QAAQ,SAAY,CAAC,EAAE,QAAQ,MAAM,KAAK,OAAO,IAAI,OAAA,CAAQ,IAAI,CAAA;AAAA,EAAC,CAC7E;AACD,MAAI,MAAM,SAAS,GAAG;AACrB,UAAM,IAAIA,UAAAA,SAAS,oBAAoB,MAAM,IAAI,CAAA,OAAM,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,KAAK;AAAA,MAC9E,MAAM;AAAA,MACN,UAAUC,UAAAA,SAAS;AAAA,IAAA,CACnB;AAAA,EACF;AACA,QAAM,SAAS,MAAM,CAAC;AACtB,MAAI,WAAW,QAAW;AACzB,WAAO;AAAA,EACR;AAEA,QAAMC,SAAQ,OAAO,OAAO,QAAQ,SAAY,cAAc,OAAO,OAAO,GAAG,KAAK,MAAM,UAAA,GAAa,QAAQ,UAAU,EAAE;AAC3H,MAAIA,WAAU,IAAI;AACjB,UAAM,IAAIF,UAAAA,SAAS,GAAG,OAAO,IAAI,gCAAgC,EAAE,MAAM,gBAAgB,UAAUC,UAAAA,SAAS,WAAA,CAAY;AAAA,EACzH;AACA,SAAO,EAAE,MAAM,OAAO,OAAO,MAAM,OAAAC,OAAA;AACpC;AAEA,MAAM,gBAAgB,CAAC,SAAyB;AAC/C,QAAMA,SAAQ,QAAQ,IAAI,IAAI;AAC9B,MAAIA,WAAU,QAAW;AACxB,UAAM,IAAIF,UAAAA,SAAS,wBAAwB,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,UAAUC,UAAAA,SAAS,WAAA,CAAY;AAAA,EAC7H;AACA,SAAOC;AACR;AAGO,MAAM,mBAAmB,CAAC,SAAuB;AACvD,MAAI,CAAC,KAAK,WAAW,MAAM,GAAG;AAC7B,UAAM,IAAIF,UAAAA,SAAS,0EAA0E;AAAA,MAC5F,MAAM;AAAA,MACN,UAAUC,UAAAA,SAAS;AAAA,IAAA,CACnB;AAAA,EACF;AACD;AAQO,MAAM,+BAA+B,CAAC,kBAKjC;AACX,gBAAc,OAAO,eAAe,EAAE,cAAA,EAAgB;AAAA,IACrD;AAAA,EAAA;AAED,gBAAc,OAAO,mBAAmB,EAAE,cAAA,EAAgB,YAAY,6DAA6D;AACnI,gBAAc,OAAO,qBAAqB,EAAE,UAAA,EAAY,YAAY,oCAAoC;AACzG;AAEO,MAAM,sBAAsB,OAClC,SACA,WACA,kBAAwD,CAAA,SAAQ,QAAQ,IAAI,IAAI,MAC/C;AACjC,QAAM,UAAgD,CAAA;AACtD,MAAI,QAAQ,eAAe,MAAM,QAAW;AAC3C,YAAQ,KAAKE,mBAAa,iBAAiB,mBAAmB,QAAQ,eAAe,CAAC,CAAC;AAAA,EACxF;AACA,MAAI,QAAQ,mBAAmB,MAAM,QAAW;AAC/C,YAAQ,KAAKC,uBAAiB,iBAAiB,uBAAuB,QAAQ,mBAAmB,CAAC,CAAC;AAAA,EACpG;AACA,MAAI,QAAQ,qBAAqB,MAAM,MAAM;AAC5C,YAAQ,KAAKC,MAAAA,WAAW,iBAAiB,uBAAuB,CAAC;AAAA,EAClE;AACA,QAAM,WAAW,MAAMC,MAAAA,2BAA2B,SAAS,EAAE,OAAO,mBAAmB,EAAE,WAAW,iBAAiB;AACrH,MAAI,aAAa,QAAW;AAC3B,WAAO;AAAA,EACR;AACA,QAAMJ,UAAQ,SAAS,SAAS,UAAU,4BAA4B,SAAS,KAAK,IAAI,SAAS;AACjG,MAAIA,YAAU,IAAI;AACjB,UAAM,IAAIF,UAAAA,SAAS,iEAAiE;AAAA,MACnF,MAAM;AAAA,MACN,UAAUC,UAAAA,SAAS;AAAA,IAAA,CACnB;AAAA,EACF;AACA,SAAOC;AACR;AAEA,MAAM,8BAA8B,CAACA,WAA0BA,OAAM,QAAQ,gBAAgB,EAAE;;;;;"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { CliError, ExitCode } from "@contember/cli-common";
|
|
2
|
+
import { literalInput, environmentInput, stdinInput, resolveOptionalTenantInput } from "../../../lib/tenant/input/value.js";
|
|
3
|
+
const resolveSecret = async (sources, readStdin) => {
|
|
4
|
+
const given = sources.flatMap((source) => [
|
|
5
|
+
...source.stdin ? [{ source, flag: `--${source.name}-stdin` }] : [],
|
|
6
|
+
...source.env !== void 0 ? [{ source, flag: `--${source.name}-env` }] : []
|
|
7
|
+
]);
|
|
8
|
+
if (given.length > 1) {
|
|
9
|
+
throw new CliError(`Pass only one of ${given.map((it) => it.flag).join(", ")}.`, {
|
|
10
|
+
code: "AMBIGUOUS_SECRET_SOURCE",
|
|
11
|
+
exitCode: ExitCode.InputError
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
const chosen = given[0];
|
|
15
|
+
if (chosen === void 0) {
|
|
16
|
+
return void 0;
|
|
17
|
+
}
|
|
18
|
+
const value = chosen.source.env !== void 0 ? readSecretEnv(chosen.source.env) : (await readStdin()).replace(/\r?\n$/, "");
|
|
19
|
+
if (value === "") {
|
|
20
|
+
throw new CliError(`${chosen.flag} resolved to an empty value.`, { code: "EMPTY_SECRET", exitCode: ExitCode.InputError });
|
|
21
|
+
}
|
|
22
|
+
return { name: chosen.source.name, value };
|
|
23
|
+
};
|
|
24
|
+
const readSecretEnv = (name) => {
|
|
25
|
+
const value = process.env[name];
|
|
26
|
+
if (value === void 0) {
|
|
27
|
+
throw new CliError(`Environment variable ${name} is not set.`, { code: "SECRET_ENV_NOT_SET", exitCode: ExitCode.InputError });
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
};
|
|
31
|
+
const assertBcryptHash = (hash) => {
|
|
32
|
+
if (!hash.startsWith("$2b$")) {
|
|
33
|
+
throw new CliError("Invalid password hash: the tenant API accepts bcrypt $2b$ hashes only.", {
|
|
34
|
+
code: "INVALID_PASSWORD_HASH",
|
|
35
|
+
exitCode: ExitCode.InputError
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const configureCaptchaTokenOptions = (configuration) => {
|
|
40
|
+
configuration.option("captcha-token").valueRequired().description(
|
|
41
|
+
"Captcha token. Visible in the shell history and process list; prefer --captcha-token-env or --captcha-token-stdin."
|
|
42
|
+
);
|
|
43
|
+
configuration.option("captcha-token-env").valueRequired().description("Read the captcha token from the named environment variable.");
|
|
44
|
+
configuration.option("captcha-token-stdin").valueNone().description("Read the captcha token from stdin.");
|
|
45
|
+
};
|
|
46
|
+
const resolveCaptchaToken = async (options, readStdin, readEnvironment = (name) => process.env[name]) => {
|
|
47
|
+
const sources = [];
|
|
48
|
+
if (options["captcha-token"] !== void 0) {
|
|
49
|
+
sources.push(literalInput("captcha-token", "--captcha-token", options["captcha-token"]));
|
|
50
|
+
}
|
|
51
|
+
if (options["captcha-token-env"] !== void 0) {
|
|
52
|
+
sources.push(environmentInput("captcha-token", "--captcha-token-env", options["captcha-token-env"]));
|
|
53
|
+
}
|
|
54
|
+
if (options["captcha-token-stdin"] === true) {
|
|
55
|
+
sources.push(stdinInput("captcha-token", "--captcha-token-stdin"));
|
|
56
|
+
}
|
|
57
|
+
const resolved = await resolveOptionalTenantInput(sources, { label: "captcha token" }, { readStdin, readEnvironment });
|
|
58
|
+
if (resolved === void 0) {
|
|
59
|
+
return void 0;
|
|
60
|
+
}
|
|
61
|
+
const value = resolved.kind === "stdin" ? removeOneTrailingLineEnding(resolved.value) : resolved.value;
|
|
62
|
+
if (value === "") {
|
|
63
|
+
throw new CliError("The selected captcha token source resolved to an empty value.", {
|
|
64
|
+
code: "EMPTY_INPUT_VALUE",
|
|
65
|
+
exitCode: ExitCode.InputError
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return value;
|
|
69
|
+
};
|
|
70
|
+
const removeOneTrailingLineEnding = (value) => value.replace(/(?:\r\n|\n)$/, "");
|
|
71
|
+
export {
|
|
72
|
+
assertBcryptHash,
|
|
73
|
+
configureCaptchaTokenOptions,
|
|
74
|
+
resolveCaptchaToken,
|
|
75
|
+
resolveSecret
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=personInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"personInput.js","sources":["../../../../../../../packages/cli/src/commands/tenant/person/personInput.ts"],"sourcesContent":["import { CliError, ExitCode } from '@contember/cli-common'\nimport type { StdinReader } from '../../../lib/tenant/stdin.js'\nimport { environmentInput, literalInput, resolveOptionalTenantInput, stdinInput, type TenantInputSource } from '../../../lib/tenant/input/index.js'\n\n/**\n * One way of passing a secret. `name` is the option prefix, so `password` covers `--password-stdin`\n * and `--password-env`. A secret is never a plain option value — argv lands in the shell history and\n * in `ps` output of every user on the machine.\n */\nexport interface SecretSource {\n\treadonly name: string\n\treadonly stdin: boolean\n\treadonly env: string | undefined\n}\n\nexport interface ResolvedSecret {\n\t/** The `name` of the {@link SecretSource} the value came from. */\n\treadonly name: string\n\treadonly value: string\n}\n\n/** Resolves at most one of the offered secret sources. Returns undefined when the caller passed none. */\nexport const resolveSecret = async (sources: readonly SecretSource[], readStdin: StdinReader): Promise<ResolvedSecret | undefined> => {\n\tconst given = sources.flatMap(source => [\n\t\t...(source.stdin ? [{ source, flag: `--${source.name}-stdin` }] : []),\n\t\t...(source.env !== undefined ? [{ source, flag: `--${source.name}-env` }] : []),\n\t])\n\tif (given.length > 1) {\n\t\tthrow new CliError(`Pass only one of ${given.map(it => it.flag).join(', ')}.`, {\n\t\t\tcode: 'AMBIGUOUS_SECRET_SOURCE',\n\t\t\texitCode: ExitCode.InputError,\n\t\t})\n\t}\n\tconst chosen = given[0]\n\tif (chosen === undefined) {\n\t\treturn undefined\n\t}\n\t// the trailing newline `echo` adds is never part of the secret\n\tconst value = chosen.source.env !== undefined ? readSecretEnv(chosen.source.env) : (await readStdin()).replace(/\\r?\\n$/, '')\n\tif (value === '') {\n\t\tthrow new CliError(`${chosen.flag} resolved to an empty value.`, { code: 'EMPTY_SECRET', exitCode: ExitCode.InputError })\n\t}\n\treturn { name: chosen.source.name, value }\n}\n\nconst readSecretEnv = (name: string): string => {\n\tconst value = process.env[name]\n\tif (value === undefined) {\n\t\tthrow new CliError(`Environment variable ${name} is not set.`, { code: 'SECRET_ENV_NOT_SET', exitCode: ExitCode.InputError })\n\t}\n\treturn value\n}\n\n/** The tenant API accepts `$2b$` bcrypt hashes only — rejecting here avoids spending a rate-limit slot on a doomed call. */\nexport const assertBcryptHash = (hash: string): void => {\n\tif (!hash.startsWith('$2b$')) {\n\t\tthrow new CliError('Invalid password hash: the tenant API accepts bcrypt $2b$ hashes only.', {\n\t\t\tcode: 'INVALID_PASSWORD_HASH',\n\t\t\texitCode: ExitCode.InputError,\n\t\t})\n\t}\n}\n\nexport type CaptchaTokenOptions = {\n\treadonly ['captcha-token']?: string\n\treadonly ['captcha-token-env']?: string\n\treadonly ['captcha-token-stdin']?: boolean\n}\n\nexport const configureCaptchaTokenOptions = (configuration: {\n\toption(name: keyof CaptchaTokenOptions): {\n\t\tvalueNone(): { description(description: string): unknown }\n\t\tvalueRequired(): { description(description: string): unknown }\n\t}\n}): void => {\n\tconfiguration.option('captcha-token').valueRequired().description(\n\t\t'Captcha token. Visible in the shell history and process list; prefer --captcha-token-env or --captcha-token-stdin.',\n\t)\n\tconfiguration.option('captcha-token-env').valueRequired().description('Read the captcha token from the named environment variable.')\n\tconfiguration.option('captcha-token-stdin').valueNone().description('Read the captcha token from stdin.')\n}\n\nexport const resolveCaptchaToken = async (\n\toptions: CaptchaTokenOptions,\n\treadStdin: StdinReader,\n\treadEnvironment: (name: string) => string | undefined = name => process.env[name],\n): Promise<string | undefined> => {\n\tconst sources: TenantInputSource<'captcha-token'>[] = []\n\tif (options['captcha-token'] !== undefined) {\n\t\tsources.push(literalInput('captcha-token', '--captcha-token', options['captcha-token']))\n\t}\n\tif (options['captcha-token-env'] !== undefined) {\n\t\tsources.push(environmentInput('captcha-token', '--captcha-token-env', options['captcha-token-env']))\n\t}\n\tif (options['captcha-token-stdin'] === true) {\n\t\tsources.push(stdinInput('captcha-token', '--captcha-token-stdin'))\n\t}\n\tconst resolved = await resolveOptionalTenantInput(sources, { label: 'captcha token' }, { readStdin, readEnvironment })\n\tif (resolved === undefined) {\n\t\treturn undefined\n\t}\n\tconst value = resolved.kind === 'stdin' ? removeOneTrailingLineEnding(resolved.value) : resolved.value\n\tif (value === '') {\n\t\tthrow new CliError('The selected captcha token source resolved to an empty value.', {\n\t\t\tcode: 'EMPTY_INPUT_VALUE',\n\t\t\texitCode: ExitCode.InputError,\n\t\t})\n\t}\n\treturn value\n}\n\nconst removeOneTrailingLineEnding = (value: string): string => value.replace(/(?:\\r\\n|\\n)$/, '')\n"],"names":[],"mappings":";;AAsBO,MAAM,gBAAgB,OAAO,SAAkC,cAAgE;AACrI,QAAM,QAAQ,QAAQ,QAAQ,CAAA,WAAU;AAAA,IACvC,GAAI,OAAO,QAAQ,CAAC,EAAE,QAAQ,MAAM,KAAK,OAAO,IAAI,SAAA,CAAU,IAAI,CAAA;AAAA,IAClE,GAAI,OAAO,QAAQ,SAAY,CAAC,EAAE,QAAQ,MAAM,KAAK,OAAO,IAAI,OAAA,CAAQ,IAAI,CAAA;AAAA,EAAC,CAC7E;AACD,MAAI,MAAM,SAAS,GAAG;AACrB,UAAM,IAAI,SAAS,oBAAoB,MAAM,IAAI,CAAA,OAAM,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,KAAK;AAAA,MAC9E,MAAM;AAAA,MACN,UAAU,SAAS;AAAA,IAAA,CACnB;AAAA,EACF;AACA,QAAM,SAAS,MAAM,CAAC;AACtB,MAAI,WAAW,QAAW;AACzB,WAAO;AAAA,EACR;AAEA,QAAM,QAAQ,OAAO,OAAO,QAAQ,SAAY,cAAc,OAAO,OAAO,GAAG,KAAK,MAAM,UAAA,GAAa,QAAQ,UAAU,EAAE;AAC3H,MAAI,UAAU,IAAI;AACjB,UAAM,IAAI,SAAS,GAAG,OAAO,IAAI,gCAAgC,EAAE,MAAM,gBAAgB,UAAU,SAAS,WAAA,CAAY;AAAA,EACzH;AACA,SAAO,EAAE,MAAM,OAAO,OAAO,MAAM,MAAA;AACpC;AAEA,MAAM,gBAAgB,CAAC,SAAyB;AAC/C,QAAM,QAAQ,QAAQ,IAAI,IAAI;AAC9B,MAAI,UAAU,QAAW;AACxB,UAAM,IAAI,SAAS,wBAAwB,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,UAAU,SAAS,WAAA,CAAY;AAAA,EAC7H;AACA,SAAO;AACR;AAGO,MAAM,mBAAmB,CAAC,SAAuB;AACvD,MAAI,CAAC,KAAK,WAAW,MAAM,GAAG;AAC7B,UAAM,IAAI,SAAS,0EAA0E;AAAA,MAC5F,MAAM;AAAA,MACN,UAAU,SAAS;AAAA,IAAA,CACnB;AAAA,EACF;AACD;AAQO,MAAM,+BAA+B,CAAC,kBAKjC;AACX,gBAAc,OAAO,eAAe,EAAE,cAAA,EAAgB;AAAA,IACrD;AAAA,EAAA;AAED,gBAAc,OAAO,mBAAmB,EAAE,cAAA,EAAgB,YAAY,6DAA6D;AACnI,gBAAc,OAAO,qBAAqB,EAAE,UAAA,EAAY,YAAY,oCAAoC;AACzG;AAEO,MAAM,sBAAsB,OAClC,SACA,WACA,kBAAwD,CAAA,SAAQ,QAAQ,IAAI,IAAI,MAC/C;AACjC,QAAM,UAAgD,CAAA;AACtD,MAAI,QAAQ,eAAe,MAAM,QAAW;AAC3C,YAAQ,KAAK,aAAa,iBAAiB,mBAAmB,QAAQ,eAAe,CAAC,CAAC;AAAA,EACxF;AACA,MAAI,QAAQ,mBAAmB,MAAM,QAAW;AAC/C,YAAQ,KAAK,iBAAiB,iBAAiB,uBAAuB,QAAQ,mBAAmB,CAAC,CAAC;AAAA,EACpG;AACA,MAAI,QAAQ,qBAAqB,MAAM,MAAM;AAC5C,YAAQ,KAAK,WAAW,iBAAiB,uBAAuB,CAAC;AAAA,EAClE;AACA,QAAM,WAAW,MAAM,2BAA2B,SAAS,EAAE,OAAO,mBAAmB,EAAE,WAAW,iBAAiB;AACrH,MAAI,aAAa,QAAW;AAC3B,WAAO;AAAA,EACR;AACA,QAAM,QAAQ,SAAS,SAAS,UAAU,4BAA4B,SAAS,KAAK,IAAI,SAAS;AACjG,MAAI,UAAU,IAAI;AACjB,UAAM,IAAI,SAAS,iEAAiE;AAAA,MACnF,MAAM;AAAA,MACN,UAAU,SAAS;AAAA,IAAA,CACnB;AAAA,EACF;AACA,SAAO;AACR;AAEA,MAAM,8BAA8B,CAAC,UAA0B,MAAM,QAAQ,gBAAgB,EAAE;"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const cliCommon = require("@contember/cli-common");
|
|
4
|
+
const chalkTable = require("chalk-table");
|
|
5
|
+
const pagination = require("../../../lib/tenant/input/pagination.cjs");
|
|
6
|
+
const policyInput = require("./policyInput.cjs");
|
|
7
|
+
const tenantOutput = require("../tenantOutput.cjs");
|
|
8
|
+
class TenantAuthLogCommand extends cliCommon.Command {
|
|
9
|
+
constructor(tenantClientProvider) {
|
|
10
|
+
super();
|
|
11
|
+
this.tenantClientProvider = tenantClientProvider;
|
|
12
|
+
}
|
|
13
|
+
configure(configuration) {
|
|
14
|
+
configuration.description("Read the tenant auth log (audit trail). Requires the system:viewAuthLog permission.");
|
|
15
|
+
configuration.option("type").valueArray().description("Filter by auth_log_type, e.g. sign_in. Repeat the option to match any of several types.");
|
|
16
|
+
configuration.option("success").valueNone().description("Only successful entries.");
|
|
17
|
+
configuration.option("failed").valueNone().description("Only failed entries.");
|
|
18
|
+
configuration.option("invoked-by").valueRequired().description("Filter by the acting identity id.");
|
|
19
|
+
configuration.option("person").valueRequired().description("Filter by the acting person id.");
|
|
20
|
+
configuration.option("target-person").valueRequired().description("Filter by the person the action was performed on.");
|
|
21
|
+
configuration.option("person-input").valueRequired().description("Filter by the submitted identifier, typically the e-mail of a failed sign-in.");
|
|
22
|
+
configuration.option("created-after").valueRequired().description("Inclusive lower bound on createdAt, as an ISO 8601 timestamp.");
|
|
23
|
+
configuration.option("created-before").valueRequired().description("Exclusive upper bound on createdAt, as an ISO 8601 timestamp.");
|
|
24
|
+
configuration.option("limit").valueRequired().description("Page size. Server default is 100, capped at 500.");
|
|
25
|
+
configuration.option("offset").valueRequired().description("Number of entries to skip. Use the nextOffset of the previous page.");
|
|
26
|
+
}
|
|
27
|
+
async execute(input, output) {
|
|
28
|
+
const limit = pagination.parsePaginationLimit(input.getOption("limit"));
|
|
29
|
+
const offset = pagination.parsePaginationOffset(input.getOption("offset")) ?? 0;
|
|
30
|
+
const filter = this.readFilter(input);
|
|
31
|
+
const page = await this.tenantClientProvider.policy().readAuthLog({
|
|
32
|
+
filter: Object.values(filter).some((it) => it !== void 0) ? filter : void 0,
|
|
33
|
+
limit,
|
|
34
|
+
offset
|
|
35
|
+
});
|
|
36
|
+
const advancedOffset = offset + page.entries.length;
|
|
37
|
+
const canContinue = page.hasMore && page.entries.length > 0 && advancedOffset <= pagination.GRAPHQL_INT_MAX;
|
|
38
|
+
const result = {
|
|
39
|
+
entries: page.entries,
|
|
40
|
+
hasMore: canContinue,
|
|
41
|
+
offset,
|
|
42
|
+
nextOffset: canContinue ? advancedOffset : null
|
|
43
|
+
};
|
|
44
|
+
output.info(`authLog: ${page.entries.length} entries from offset ${offset}${result.hasMore ? ", more available" : ""}`);
|
|
45
|
+
output.data(result, { human: renderHuman, quiet: (value) => value.entries.map((entry) => entry.id) });
|
|
46
|
+
}
|
|
47
|
+
readFilter(input) {
|
|
48
|
+
const successOnly = input.getOption("success") === true;
|
|
49
|
+
const failedOnly = input.getOption("failed") === true;
|
|
50
|
+
if (successOnly && failedOnly) {
|
|
51
|
+
throw policyInput.inputError("Pass either --success or --failed, not both.", "AMBIGUOUS_INPUT");
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
types: input.getOption("type"),
|
|
55
|
+
success: successOnly ? true : failedOnly ? false : void 0,
|
|
56
|
+
invokedByIdentityId: input.getOption("invoked-by"),
|
|
57
|
+
personId: input.getOption("person"),
|
|
58
|
+
targetPersonId: input.getOption("target-person"),
|
|
59
|
+
personInputIdentifier: input.getOption("person-input"),
|
|
60
|
+
createdAfter: input.getOption("created-after"),
|
|
61
|
+
createdBefore: input.getOption("created-before")
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const humanColumns = [
|
|
66
|
+
{ field: "createdAt", name: "Time (UTC)" },
|
|
67
|
+
{ field: "type", name: "Type" },
|
|
68
|
+
{ field: "success", name: "OK" },
|
|
69
|
+
{ field: "person", name: "Person" },
|
|
70
|
+
{ field: "identity", name: "Identity" },
|
|
71
|
+
{ field: "ip", name: "IP" },
|
|
72
|
+
{ field: "error", name: "Error" }
|
|
73
|
+
];
|
|
74
|
+
const renderHuman = (page) => {
|
|
75
|
+
if (page.entries.length === 0) {
|
|
76
|
+
return "No auth log entries match the filter.";
|
|
77
|
+
}
|
|
78
|
+
const table = chalkTable({ columns: humanColumns }, page.entries.map(toHumanRow));
|
|
79
|
+
return page.hasMore ? `${table}
|
|
80
|
+
More entries available — rerun with --offset ${page.nextOffset}.` : table;
|
|
81
|
+
};
|
|
82
|
+
const toHumanRow = (entry) => ({
|
|
83
|
+
createdAt: formatTimestamp(entry.createdAt),
|
|
84
|
+
type: tenantOutput.humanText(entry.type),
|
|
85
|
+
success: entry.success ? "yes" : "no",
|
|
86
|
+
person: tenantOutput.humanText(entry.personId ?? entry.personInputIdentifier ?? ""),
|
|
87
|
+
identity: tenantOutput.humanText(entry.invokedByIdentityId ?? ""),
|
|
88
|
+
ip: tenantOutput.humanText(entry.ipAddress ?? ""),
|
|
89
|
+
error: tenantOutput.humanText(entry.errorCode ?? "")
|
|
90
|
+
});
|
|
91
|
+
const formatTimestamp = (value) => {
|
|
92
|
+
const parsed = new Date(value);
|
|
93
|
+
return Number.isNaN(parsed.getTime()) ? tenantOutput.humanText(value) : parsed.toISOString().replace("T", " ").slice(0, 19);
|
|
94
|
+
};
|
|
95
|
+
exports.TenantAuthLogCommand = TenantAuthLogCommand;
|
|
96
|
+
//# sourceMappingURL=TenantAuthLogCommand.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantAuthLogCommand.cjs","sources":["../../../../../../../packages/cli/src/commands/tenant/policy/TenantAuthLogCommand.ts"],"sourcesContent":["/// <reference path=\"../../../../types/chalk-table/index.d.ts\" />\n\nimport { Command, CommandConfiguration, Input, Output } from '@contember/cli-common'\nimport type { AuthLogFilter } from '@contember/graphql-client-tenant'\nimport chalkTable from 'chalk-table'\nimport { TenantClientProvider } from '../../../lib/TenantClientProvider.js'\nimport { TenantAuthLogEntry } from '../../../lib/tenant/clients/index.js'\nimport { GRAPHQL_INT_MAX, parsePaginationLimit, parsePaginationOffset } from '../../../lib/tenant/input/index.js'\nimport { inputError } from './policyInput.js'\nimport { humanText } from '../tenantOutput.js'\n\ntype Args = {}\n\ntype Options = {\n\ttype?: string[]\n\tsuccess?: boolean\n\tfailed?: boolean\n\t['invoked-by']?: string\n\tperson?: string\n\t['target-person']?: string\n\t['person-input']?: string\n\t['created-after']?: string\n\t['created-before']?: string\n\tlimit?: string\n\toffset?: string\n}\n\n/** The command's answer: the page plus everything a script needs to fetch the next one. */\nexport interface AuthLogPageResult {\n\tentries: TenantAuthLogEntry[]\n\t/** True when rows exist past this page. */\n\thasMore: boolean\n\toffset: number\n\t/** Offset to pass to the next call, `null` when this is the last page. */\n\tnextOffset: number | null\n}\n\nexport class TenantAuthLogCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly tenantClientProvider: TenantClientProvider,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Read the tenant auth log (audit trail). Requires the system:viewAuthLog permission.')\n\t\tconfiguration.option('type').valueArray().description('Filter by auth_log_type, e.g. sign_in. Repeat the option to match any of several types.')\n\t\tconfiguration.option('success').valueNone().description('Only successful entries.')\n\t\tconfiguration.option('failed').valueNone().description('Only failed entries.')\n\t\tconfiguration.option('invoked-by').valueRequired().description('Filter by the acting identity id.')\n\t\tconfiguration.option('person').valueRequired().description('Filter by the acting person id.')\n\t\tconfiguration.option('target-person').valueRequired().description('Filter by the person the action was performed on.')\n\t\tconfiguration.option('person-input').valueRequired().description('Filter by the submitted identifier, typically the e-mail of a failed sign-in.')\n\t\tconfiguration.option('created-after').valueRequired().description('Inclusive lower bound on createdAt, as an ISO 8601 timestamp.')\n\t\tconfiguration.option('created-before').valueRequired().description('Exclusive upper bound on createdAt, as an ISO 8601 timestamp.')\n\t\tconfiguration.option('limit').valueRequired().description('Page size. Server default is 100, capped at 500.')\n\t\tconfiguration.option('offset').valueRequired().description('Number of entries to skip. Use the nextOffset of the previous page.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<void> {\n\t\tconst limit = parsePaginationLimit(input.getOption('limit'))\n\t\tconst offset = parsePaginationOffset(input.getOption('offset')) ?? 0\n\t\tconst filter = this.readFilter(input)\n\n\t\tconst page = await this.tenantClientProvider.policy().readAuthLog({\n\t\t\tfilter: Object.values(filter).some(it => it !== undefined) ? filter : undefined,\n\t\t\tlimit,\n\t\t\toffset,\n\t\t})\n\n\t\tconst advancedOffset = offset + page.entries.length\n\t\tconst canContinue = page.hasMore && page.entries.length > 0 && advancedOffset <= GRAPHQL_INT_MAX\n\t\tconst result: AuthLogPageResult = {\n\t\t\tentries: page.entries,\n\t\t\thasMore: canContinue,\n\t\t\toffset,\n\t\t\tnextOffset: canContinue ? advancedOffset : null,\n\t\t}\n\t\toutput.info(`authLog: ${page.entries.length} entries from offset ${offset}${result.hasMore ? ', more available' : ''}`)\n\t\toutput.data(result, { human: renderHuman, quiet: value => value.entries.map(entry => entry.id) })\n\t}\n\n\tprivate readFilter(input: Input<Args, Options>): AuthLogFilter {\n\t\tconst successOnly = input.getOption('success') === true\n\t\tconst failedOnly = input.getOption('failed') === true\n\t\tif (successOnly && failedOnly) {\n\t\t\tthrow inputError('Pass either --success or --failed, not both.', 'AMBIGUOUS_INPUT')\n\t\t}\n\t\treturn {\n\t\t\ttypes: input.getOption('type'),\n\t\t\tsuccess: successOnly ? true : failedOnly ? false : undefined,\n\t\t\tinvokedByIdentityId: input.getOption('invoked-by'),\n\t\t\tpersonId: input.getOption('person'),\n\t\t\ttargetPersonId: input.getOption('target-person'),\n\t\t\tpersonInputIdentifier: input.getOption('person-input'),\n\t\t\tcreatedAfter: input.getOption('created-after'),\n\t\t\tcreatedBefore: input.getOption('created-before'),\n\t\t}\n\t}\n}\n\ntype AuthLogCell = 'createdAt' | 'type' | 'success' | 'person' | 'identity' | 'ip' | 'error'\n\n// A curated, narrow projection: the full entry (metadata, eventData, user agent) stays in --json.\nconst humanColumns: { field: AuthLogCell; name: string }[] = [\n\t{ field: 'createdAt', name: 'Time (UTC)' },\n\t{ field: 'type', name: 'Type' },\n\t{ field: 'success', name: 'OK' },\n\t{ field: 'person', name: 'Person' },\n\t{ field: 'identity', name: 'Identity' },\n\t{ field: 'ip', name: 'IP' },\n\t{ field: 'error', name: 'Error' },\n]\n\n/**\n * `Output.data` renders the human view, because `Output.table` can only emit a bare array and the\n * paging fields have to stay in the `--json` payload. Formatting therefore lives here, human-only.\n */\nconst renderHuman = (page: AuthLogPageResult): string => {\n\tif (page.entries.length === 0) {\n\t\treturn 'No auth log entries match the filter.'\n\t}\n\tconst table = chalkTable({ columns: humanColumns }, page.entries.map(toHumanRow))\n\treturn page.hasMore ? `${table}\\nMore entries available — rerun with --offset ${page.nextOffset}.` : table\n}\n\nconst toHumanRow = (entry: TenantAuthLogEntry): Record<AuthLogCell, string> => ({\n\tcreatedAt: formatTimestamp(entry.createdAt),\n\ttype: humanText(entry.type),\n\tsuccess: entry.success ? 'yes' : 'no',\n\tperson: humanText(entry.personId ?? entry.personInputIdentifier ?? ''),\n\tidentity: humanText(entry.invokedByIdentityId ?? ''),\n\tip: humanText(entry.ipAddress ?? ''),\n\terror: humanText(entry.errorCode ?? ''),\n})\n\n/** Raw ISO timestamps read badly in a terminal; UTC keeps the rendering reproducible. */\nconst formatTimestamp = (value: string): string => {\n\tconst parsed = new Date(value)\n\treturn Number.isNaN(parsed.getTime()) ? humanText(value) : parsed.toISOString().replace('T', ' ').slice(0, 19)\n}\n"],"names":["Command","parsePaginationLimit","parsePaginationOffset","GRAPHQL_INT_MAX","inputError","humanText"],"mappings":";;;;;;;AAqCO,MAAM,6BAA6BA,UAAAA,QAAuB;AAAA,EAChE,YACkB,sBAChB;AACD,UAAA;AAFiB,SAAA,uBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,qFAAqF;AAC/G,kBAAc,OAAO,MAAM,EAAE,WAAA,EAAa,YAAY,yFAAyF;AAC/I,kBAAc,OAAO,SAAS,EAAE,UAAA,EAAY,YAAY,0BAA0B;AAClF,kBAAc,OAAO,QAAQ,EAAE,UAAA,EAAY,YAAY,sBAAsB;AAC7E,kBAAc,OAAO,YAAY,EAAE,cAAA,EAAgB,YAAY,mCAAmC;AAClG,kBAAc,OAAO,QAAQ,EAAE,cAAA,EAAgB,YAAY,iCAAiC;AAC5F,kBAAc,OAAO,eAAe,EAAE,cAAA,EAAgB,YAAY,mDAAmD;AACrH,kBAAc,OAAO,cAAc,EAAE,cAAA,EAAgB,YAAY,+EAA+E;AAChJ,kBAAc,OAAO,eAAe,EAAE,cAAA,EAAgB,YAAY,+DAA+D;AACjI,kBAAc,OAAO,gBAAgB,EAAE,cAAA,EAAgB,YAAY,+DAA+D;AAClI,kBAAc,OAAO,OAAO,EAAE,cAAA,EAAgB,YAAY,kDAAkD;AAC5G,kBAAc,OAAO,QAAQ,EAAE,cAAA,EAAgB,YAAY,qEAAqE;AAAA,EACjI;AAAA,EAEA,MAAgB,QAAQ,OAA6B,QAA+B;AACnF,UAAM,QAAQC,WAAAA,qBAAqB,MAAM,UAAU,OAAO,CAAC;AAC3D,UAAM,SAASC,WAAAA,sBAAsB,MAAM,UAAU,QAAQ,CAAC,KAAK;AACnE,UAAM,SAAS,KAAK,WAAW,KAAK;AAEpC,UAAM,OAAO,MAAM,KAAK,qBAAqB,OAAA,EAAS,YAAY;AAAA,MACjE,QAAQ,OAAO,OAAO,MAAM,EAAE,KAAK,CAAA,OAAM,OAAO,MAAS,IAAI,SAAS;AAAA,MACtE;AAAA,MACA;AAAA,IAAA,CACA;AAED,UAAM,iBAAiB,SAAS,KAAK,QAAQ;AAC7C,UAAM,cAAc,KAAK,WAAW,KAAK,QAAQ,SAAS,KAAK,kBAAkBC,WAAAA;AACjF,UAAM,SAA4B;AAAA,MACjC,SAAS,KAAK;AAAA,MACd,SAAS;AAAA,MACT;AAAA,MACA,YAAY,cAAc,iBAAiB;AAAA,IAAA;AAE5C,WAAO,KAAK,YAAY,KAAK,QAAQ,MAAM,wBAAwB,MAAM,GAAG,OAAO,UAAU,qBAAqB,EAAE,EAAE;AACtH,WAAO,KAAK,QAAQ,EAAE,OAAO,aAAa,OAAO,CAAA,UAAS,MAAM,QAAQ,IAAI,CAAA,UAAS,MAAM,EAAE,GAAG;AAAA,EACjG;AAAA,EAEQ,WAAW,OAA4C;AAC9D,UAAM,cAAc,MAAM,UAAU,SAAS,MAAM;AACnD,UAAM,aAAa,MAAM,UAAU,QAAQ,MAAM;AACjD,QAAI,eAAe,YAAY;AAC9B,YAAMC,YAAAA,WAAW,gDAAgD,iBAAiB;AAAA,IACnF;AACA,WAAO;AAAA,MACN,OAAO,MAAM,UAAU,MAAM;AAAA,MAC7B,SAAS,cAAc,OAAO,aAAa,QAAQ;AAAA,MACnD,qBAAqB,MAAM,UAAU,YAAY;AAAA,MACjD,UAAU,MAAM,UAAU,QAAQ;AAAA,MAClC,gBAAgB,MAAM,UAAU,eAAe;AAAA,MAC/C,uBAAuB,MAAM,UAAU,cAAc;AAAA,MACrD,cAAc,MAAM,UAAU,eAAe;AAAA,MAC7C,eAAe,MAAM,UAAU,gBAAgB;AAAA,IAAA;AAAA,EAEjD;AACD;AAKA,MAAM,eAAuD;AAAA,EAC5D,EAAE,OAAO,aAAa,MAAM,aAAA;AAAA,EAC5B,EAAE,OAAO,QAAQ,MAAM,OAAA;AAAA,EACvB,EAAE,OAAO,WAAW,MAAM,KAAA;AAAA,EAC1B,EAAE,OAAO,UAAU,MAAM,SAAA;AAAA,EACzB,EAAE,OAAO,YAAY,MAAM,WAAA;AAAA,EAC3B,EAAE,OAAO,MAAM,MAAM,KAAA;AAAA,EACrB,EAAE,OAAO,SAAS,MAAM,QAAA;AACzB;AAMA,MAAM,cAAc,CAAC,SAAoC;AACxD,MAAI,KAAK,QAAQ,WAAW,GAAG;AAC9B,WAAO;AAAA,EACR;AACA,QAAM,QAAQ,WAAW,EAAE,SAAS,gBAAgB,KAAK,QAAQ,IAAI,UAAU,CAAC;AAChF,SAAO,KAAK,UAAU,GAAG,KAAK;AAAA,+CAAkD,KAAK,UAAU,MAAM;AACtG;AAEA,MAAM,aAAa,CAAC,WAA4D;AAAA,EAC/E,WAAW,gBAAgB,MAAM,SAAS;AAAA,EAC1C,MAAMC,aAAAA,UAAU,MAAM,IAAI;AAAA,EAC1B,SAAS,MAAM,UAAU,QAAQ;AAAA,EACjC,QAAQA,aAAAA,UAAU,MAAM,YAAY,MAAM,yBAAyB,EAAE;AAAA,EACrE,UAAUA,aAAAA,UAAU,MAAM,uBAAuB,EAAE;AAAA,EACnD,IAAIA,aAAAA,UAAU,MAAM,aAAa,EAAE;AAAA,EACnC,OAAOA,aAAAA,UAAU,MAAM,aAAa,EAAE;AACvC;AAGA,MAAM,kBAAkB,CAAC,UAA0B;AAClD,QAAM,SAAS,IAAI,KAAK,KAAK;AAC7B,SAAO,OAAO,MAAM,OAAO,SAAS,IAAIA,aAAAA,UAAU,KAAK,IAAI,OAAO,YAAA,EAAc,QAAQ,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE;AAC9G;;"}
|