@contember/cli 2.2.0-alpha.3 → 2.2.0-alpha.5

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.
Files changed (1319) hide show
  1. package/CLAUDE.md +35 -41
  2. package/dist/development/run.cjs +12 -4
  3. package/dist/development/run.cjs.map +1 -1
  4. package/dist/development/run.js +12 -4
  5. package/dist/development/run.js.map +1 -1
  6. package/dist/development/src/commands/actions/ActionsGetEventCommand.cjs +30 -15
  7. package/dist/development/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -1
  8. package/dist/development/src/commands/actions/ActionsGetEventCommand.js +31 -16
  9. package/dist/development/src/commands/actions/ActionsGetEventCommand.js.map +1 -1
  10. package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.cjs +21 -41
  11. package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -1
  12. package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.js +22 -42
  13. package/dist/development/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -1
  14. package/dist/development/src/commands/actions/ActionsListVariablesCommand.cjs +15 -13
  15. package/dist/development/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -1
  16. package/dist/development/src/commands/actions/ActionsListVariablesCommand.js +15 -13
  17. package/dist/development/src/commands/actions/ActionsListVariablesCommand.js.map +1 -1
  18. package/dist/development/src/commands/actions/ActionsRetryEventCommand.cjs +28 -16
  19. package/dist/development/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -1
  20. package/dist/development/src/commands/actions/ActionsRetryEventCommand.js +29 -17
  21. package/dist/development/src/commands/actions/ActionsRetryEventCommand.js.map +1 -1
  22. package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs +51 -22
  23. package/dist/development/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -1
  24. package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js +52 -23
  25. package/dist/development/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -1
  26. package/dist/development/src/commands/actions/ActionsStopEventCommand.cjs +28 -16
  27. package/dist/development/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -1
  28. package/dist/development/src/commands/actions/ActionsStopEventCommand.js +29 -17
  29. package/dist/development/src/commands/actions/ActionsStopEventCommand.js.map +1 -1
  30. package/dist/development/src/commands/deploy/DeployCommand.cjs +56 -29
  31. package/dist/development/src/commands/deploy/DeployCommand.cjs.map +1 -1
  32. package/dist/development/src/commands/deploy/DeployCommand.js +57 -30
  33. package/dist/development/src/commands/deploy/DeployCommand.js.map +1 -1
  34. package/dist/development/src/commands/migrations/MigrationAmendCommand.cjs +64 -24
  35. package/dist/development/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
  36. package/dist/development/src/commands/migrations/MigrationAmendCommand.js +65 -25
  37. package/dist/development/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
  38. package/dist/development/src/commands/migrations/MigrationBlankCommand.cjs +2 -2
  39. package/dist/development/src/commands/migrations/MigrationBlankCommand.cjs.map +1 -1
  40. package/dist/development/src/commands/migrations/MigrationBlankCommand.js +2 -2
  41. package/dist/development/src/commands/migrations/MigrationBlankCommand.js.map +1 -1
  42. package/dist/development/src/commands/migrations/MigrationDescribeCommand.cjs +7 -3
  43. package/dist/development/src/commands/migrations/MigrationDescribeCommand.cjs.map +1 -1
  44. package/dist/development/src/commands/migrations/MigrationDescribeCommand.js +8 -4
  45. package/dist/development/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
  46. package/dist/development/src/commands/migrations/MigrationDiffCommand.cjs +73 -25
  47. package/dist/development/src/commands/migrations/MigrationDiffCommand.cjs.map +1 -1
  48. package/dist/development/src/commands/migrations/MigrationDiffCommand.js +74 -26
  49. package/dist/development/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
  50. package/dist/development/src/commands/migrations/MigrationExecuteCommand.cjs +7 -2
  51. package/dist/development/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
  52. package/dist/development/src/commands/migrations/MigrationExecuteCommand.js +7 -2
  53. package/dist/development/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
  54. package/dist/development/src/commands/migrations/MigrationInitStateCommand.cjs +11 -4
  55. package/dist/development/src/commands/migrations/MigrationInitStateCommand.cjs.map +1 -1
  56. package/dist/development/src/commands/migrations/MigrationInitStateCommand.js +11 -4
  57. package/dist/development/src/commands/migrations/MigrationInitStateCommand.js.map +1 -1
  58. package/dist/development/src/commands/migrations/MigrationRebaseCommand.cjs +24 -4
  59. package/dist/development/src/commands/migrations/MigrationRebaseCommand.cjs.map +1 -1
  60. package/dist/development/src/commands/migrations/MigrationRebaseCommand.js +25 -5
  61. package/dist/development/src/commands/migrations/MigrationRebaseCommand.js.map +1 -1
  62. package/dist/development/src/commands/migrations/MigrationSnapshotCommand.cjs +39 -8
  63. package/dist/development/src/commands/migrations/MigrationSnapshotCommand.cjs.map +1 -1
  64. package/dist/development/src/commands/migrations/MigrationSnapshotCommand.js +40 -9
  65. package/dist/development/src/commands/migrations/MigrationSnapshotCommand.js.map +1 -1
  66. package/dist/development/src/commands/migrations/MigrationStatusCommand.cjs +5 -5
  67. package/dist/development/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
  68. package/dist/development/src/commands/migrations/MigrationStatusCommand.js +5 -5
  69. package/dist/development/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
  70. package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.cjs +6 -7
  71. package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.cjs.map +1 -1
  72. package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.js +6 -7
  73. package/dist/development/src/commands/migrations/MigrationVerifySnapshotCommand.js.map +1 -1
  74. package/dist/development/src/commands/misc/CommandsCommand.cjs +58 -0
  75. package/dist/development/src/commands/misc/CommandsCommand.cjs.map +1 -0
  76. package/dist/development/src/commands/misc/CommandsCommand.js +58 -0
  77. package/dist/development/src/commands/misc/CommandsCommand.js.map +1 -0
  78. package/dist/development/src/commands/misc/VersionCommand.cjs +2 -3
  79. package/dist/development/src/commands/misc/VersionCommand.cjs.map +1 -1
  80. package/dist/development/src/commands/misc/VersionCommand.js +2 -3
  81. package/dist/development/src/commands/misc/VersionCommand.js.map +1 -1
  82. package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.cjs +12 -12
  83. package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.cjs.map +1 -1
  84. package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.js +13 -13
  85. package/dist/development/src/commands/project/ProjectGenerateDocumentationCommand.js.map +1 -1
  86. package/dist/development/src/commands/project/ProjectPrintSchemaCommand.cjs +17 -15
  87. package/dist/development/src/commands/project/ProjectPrintSchemaCommand.cjs.map +1 -1
  88. package/dist/development/src/commands/project/ProjectPrintSchemaCommand.js +18 -16
  89. package/dist/development/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
  90. package/dist/development/src/commands/project/ProjectValidateCommand.cjs +40 -12
  91. package/dist/development/src/commands/project/ProjectValidateCommand.cjs.map +1 -1
  92. package/dist/development/src/commands/project/ProjectValidateCommand.js +42 -14
  93. package/dist/development/src/commands/project/ProjectValidateCommand.js.map +1 -1
  94. package/dist/development/src/commands/tenant/TenantApplyCommand.cjs +31 -11
  95. package/dist/development/src/commands/tenant/TenantApplyCommand.cjs.map +1 -1
  96. package/dist/development/src/commands/tenant/TenantApplyCommand.js +32 -12
  97. package/dist/development/src/commands/tenant/TenantApplyCommand.js.map +1 -1
  98. package/dist/development/src/commands/tenant/apikey/TenantApiKeyCreateCommand.cjs +68 -0
  99. package/dist/development/src/commands/tenant/apikey/TenantApiKeyCreateCommand.cjs.map +1 -0
  100. package/dist/development/src/commands/tenant/apikey/TenantApiKeyCreateCommand.js +68 -0
  101. package/dist/development/src/commands/tenant/apikey/TenantApiKeyCreateCommand.js.map +1 -0
  102. package/dist/development/src/commands/tenant/apikey/TenantApiKeyDisableCommand.cjs +31 -0
  103. package/dist/development/src/commands/tenant/apikey/TenantApiKeyDisableCommand.cjs.map +1 -0
  104. package/dist/development/src/commands/tenant/apikey/TenantApiKeyDisableCommand.js +31 -0
  105. package/dist/development/src/commands/tenant/apikey/TenantApiKeyDisableCommand.js.map +1 -0
  106. package/dist/development/src/commands/tenant/apikey/TenantApiKeyListCommand.cjs +55 -0
  107. package/dist/development/src/commands/tenant/apikey/TenantApiKeyListCommand.cjs.map +1 -0
  108. package/dist/development/src/commands/tenant/apikey/TenantApiKeyListCommand.js +55 -0
  109. package/dist/development/src/commands/tenant/apikey/TenantApiKeyListCommand.js.map +1 -0
  110. package/dist/development/src/commands/tenant/member/TenantMemberAddCommand.cjs +36 -0
  111. package/dist/development/src/commands/tenant/member/TenantMemberAddCommand.cjs.map +1 -0
  112. package/dist/development/src/commands/tenant/member/TenantMemberAddCommand.js +36 -0
  113. package/dist/development/src/commands/tenant/member/TenantMemberAddCommand.js.map +1 -0
  114. package/dist/development/src/commands/tenant/member/TenantMemberInviteCommand.cjs +62 -0
  115. package/dist/development/src/commands/tenant/member/TenantMemberInviteCommand.cjs.map +1 -0
  116. package/dist/development/src/commands/tenant/member/TenantMemberInviteCommand.js +62 -0
  117. package/dist/development/src/commands/tenant/member/TenantMemberInviteCommand.js.map +1 -0
  118. package/dist/development/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.cjs +102 -0
  119. package/dist/development/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.cjs.map +1 -0
  120. package/dist/development/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.js +102 -0
  121. package/dist/development/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.js.map +1 -0
  122. package/dist/development/src/commands/tenant/member/TenantMemberListCommand.cjs +73 -0
  123. package/dist/development/src/commands/tenant/member/TenantMemberListCommand.cjs.map +1 -0
  124. package/dist/development/src/commands/tenant/member/TenantMemberListCommand.js +73 -0
  125. package/dist/development/src/commands/tenant/member/TenantMemberListCommand.js.map +1 -0
  126. package/dist/development/src/commands/tenant/member/TenantMemberRemoveCommand.cjs +35 -0
  127. package/dist/development/src/commands/tenant/member/TenantMemberRemoveCommand.cjs.map +1 -0
  128. package/dist/development/src/commands/tenant/member/TenantMemberRemoveCommand.js +35 -0
  129. package/dist/development/src/commands/tenant/member/TenantMemberRemoveCommand.js.map +1 -0
  130. package/dist/development/src/commands/tenant/member/TenantMemberUpdateCommand.cjs +45 -0
  131. package/dist/development/src/commands/tenant/member/TenantMemberUpdateCommand.cjs.map +1 -0
  132. package/dist/development/src/commands/tenant/member/TenantMemberUpdateCommand.js +45 -0
  133. package/dist/development/src/commands/tenant/member/TenantMemberUpdateCommand.js.map +1 -0
  134. package/dist/development/src/commands/tenant/member/memberOptions.cjs +16 -0
  135. package/dist/development/src/commands/tenant/member/memberOptions.cjs.map +1 -0
  136. package/dist/development/src/commands/tenant/member/memberOptions.js +16 -0
  137. package/dist/development/src/commands/tenant/member/memberOptions.js.map +1 -0
  138. package/dist/development/src/commands/tenant/member/membershipInput.cjs +109 -0
  139. package/dist/development/src/commands/tenant/member/membershipInput.cjs.map +1 -0
  140. package/dist/development/src/commands/tenant/member/membershipInput.js +109 -0
  141. package/dist/development/src/commands/tenant/member/membershipInput.js.map +1 -0
  142. package/dist/development/src/commands/tenant/person/TenantIdentityRoleAddCommand.cjs +27 -0
  143. package/dist/development/src/commands/tenant/person/TenantIdentityRoleAddCommand.cjs.map +1 -0
  144. package/dist/development/src/commands/tenant/person/TenantIdentityRoleAddCommand.js +27 -0
  145. package/dist/development/src/commands/tenant/person/TenantIdentityRoleAddCommand.js.map +1 -0
  146. package/dist/development/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.cjs +34 -0
  147. package/dist/development/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.cjs.map +1 -0
  148. package/dist/development/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.js +34 -0
  149. package/dist/development/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.js.map +1 -0
  150. package/dist/development/src/commands/tenant/person/TenantPersonCreateCommand.cjs +79 -0
  151. package/dist/development/src/commands/tenant/person/TenantPersonCreateCommand.cjs.map +1 -0
  152. package/dist/development/src/commands/tenant/person/TenantPersonCreateCommand.js +79 -0
  153. package/dist/development/src/commands/tenant/person/TenantPersonCreateCommand.js.map +1 -0
  154. package/dist/development/src/commands/tenant/person/TenantPersonDisableCommand.cjs +29 -0
  155. package/dist/development/src/commands/tenant/person/TenantPersonDisableCommand.cjs.map +1 -0
  156. package/dist/development/src/commands/tenant/person/TenantPersonDisableCommand.js +29 -0
  157. package/dist/development/src/commands/tenant/person/TenantPersonDisableCommand.js.map +1 -0
  158. package/dist/development/src/commands/tenant/person/TenantPersonListCommand.cjs +53 -0
  159. package/dist/development/src/commands/tenant/person/TenantPersonListCommand.cjs.map +1 -0
  160. package/dist/development/src/commands/tenant/person/TenantPersonListCommand.js +53 -0
  161. package/dist/development/src/commands/tenant/person/TenantPersonListCommand.js.map +1 -0
  162. package/dist/development/src/commands/tenant/person/TenantPersonResetMfaCommand.cjs +37 -0
  163. package/dist/development/src/commands/tenant/person/TenantPersonResetMfaCommand.cjs.map +1 -0
  164. package/dist/development/src/commands/tenant/person/TenantPersonResetMfaCommand.js +37 -0
  165. package/dist/development/src/commands/tenant/person/TenantPersonResetMfaCommand.js.map +1 -0
  166. package/dist/development/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.cjs +47 -0
  167. package/dist/development/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.cjs.map +1 -0
  168. package/dist/development/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.js +47 -0
  169. package/dist/development/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.js.map +1 -0
  170. package/dist/development/src/commands/tenant/person/TenantPersonSetPasswordCommand.cjs +46 -0
  171. package/dist/development/src/commands/tenant/person/TenantPersonSetPasswordCommand.cjs.map +1 -0
  172. package/dist/development/src/commands/tenant/person/TenantPersonSetPasswordCommand.js +46 -0
  173. package/dist/development/src/commands/tenant/person/TenantPersonSetPasswordCommand.js.map +1 -0
  174. package/dist/development/src/commands/tenant/person/TenantPersonShowCommand.cjs +55 -0
  175. package/dist/development/src/commands/tenant/person/TenantPersonShowCommand.cjs.map +1 -0
  176. package/dist/development/src/commands/tenant/person/TenantPersonShowCommand.js +55 -0
  177. package/dist/development/src/commands/tenant/person/TenantPersonShowCommand.js.map +1 -0
  178. package/dist/development/src/commands/tenant/person/TenantPersonSignOutCommand.cjs +38 -0
  179. package/dist/development/src/commands/tenant/person/TenantPersonSignOutCommand.cjs.map +1 -0
  180. package/dist/development/src/commands/tenant/person/TenantPersonSignOutCommand.js +38 -0
  181. package/dist/development/src/commands/tenant/person/TenantPersonSignOutCommand.js.map +1 -0
  182. package/dist/development/src/commands/tenant/person/TenantPersonUpdateCommand.cjs +36 -0
  183. package/dist/development/src/commands/tenant/person/TenantPersonUpdateCommand.cjs.map +1 -0
  184. package/dist/development/src/commands/tenant/person/TenantPersonUpdateCommand.js +36 -0
  185. package/dist/development/src/commands/tenant/person/TenantPersonUpdateCommand.js.map +1 -0
  186. package/dist/development/src/commands/tenant/person/TenantSessionCreateCommand.cjs +65 -0
  187. package/dist/development/src/commands/tenant/person/TenantSessionCreateCommand.cjs.map +1 -0
  188. package/dist/development/src/commands/tenant/person/TenantSessionCreateCommand.js +65 -0
  189. package/dist/development/src/commands/tenant/person/TenantSessionCreateCommand.js.map +1 -0
  190. package/dist/development/src/commands/tenant/person/personInput.cjs +77 -0
  191. package/dist/development/src/commands/tenant/person/personInput.cjs.map +1 -0
  192. package/dist/development/src/commands/tenant/person/personInput.js +77 -0
  193. package/dist/development/src/commands/tenant/person/personInput.js.map +1 -0
  194. package/dist/development/src/commands/tenant/policy/TenantAuthLogCommand.cjs +96 -0
  195. package/dist/development/src/commands/tenant/policy/TenantAuthLogCommand.cjs.map +1 -0
  196. package/dist/development/src/commands/tenant/policy/TenantAuthLogCommand.js +96 -0
  197. package/dist/development/src/commands/tenant/policy/TenantAuthLogCommand.js.map +1 -0
  198. package/dist/development/src/commands/tenant/policy/TenantMailTemplateAddCommand.cjs +59 -0
  199. package/dist/development/src/commands/tenant/policy/TenantMailTemplateAddCommand.cjs.map +1 -0
  200. package/dist/development/src/commands/tenant/policy/TenantMailTemplateAddCommand.js +59 -0
  201. package/dist/development/src/commands/tenant/policy/TenantMailTemplateAddCommand.js.map +1 -0
  202. package/dist/development/src/commands/tenant/policy/TenantMailTemplateListCommand.cjs +41 -0
  203. package/dist/development/src/commands/tenant/policy/TenantMailTemplateListCommand.cjs.map +1 -0
  204. package/dist/development/src/commands/tenant/policy/TenantMailTemplateListCommand.js +41 -0
  205. package/dist/development/src/commands/tenant/policy/TenantMailTemplateListCommand.js.map +1 -0
  206. package/dist/development/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.cjs +42 -0
  207. package/dist/development/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.cjs.map +1 -0
  208. package/dist/development/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.js +42 -0
  209. package/dist/development/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.js.map +1 -0
  210. package/dist/development/src/commands/tenant/policy/TenantPolicyCreateCommand.cjs +36 -0
  211. package/dist/development/src/commands/tenant/policy/TenantPolicyCreateCommand.cjs.map +1 -0
  212. package/dist/development/src/commands/tenant/policy/TenantPolicyCreateCommand.js +36 -0
  213. package/dist/development/src/commands/tenant/policy/TenantPolicyCreateCommand.js.map +1 -0
  214. package/dist/development/src/commands/tenant/policy/TenantPolicyDeleteCommand.cjs +31 -0
  215. package/dist/development/src/commands/tenant/policy/TenantPolicyDeleteCommand.cjs.map +1 -0
  216. package/dist/development/src/commands/tenant/policy/TenantPolicyDeleteCommand.js +31 -0
  217. package/dist/development/src/commands/tenant/policy/TenantPolicyDeleteCommand.js.map +1 -0
  218. package/dist/development/src/commands/tenant/policy/TenantPolicyListCommand.cjs +33 -0
  219. package/dist/development/src/commands/tenant/policy/TenantPolicyListCommand.cjs.map +1 -0
  220. package/dist/development/src/commands/tenant/policy/TenantPolicyListCommand.js +33 -0
  221. package/dist/development/src/commands/tenant/policy/TenantPolicyListCommand.js.map +1 -0
  222. package/dist/development/src/commands/tenant/policy/TenantPolicyUpdateCommand.cjs +38 -0
  223. package/dist/development/src/commands/tenant/policy/TenantPolicyUpdateCommand.cjs.map +1 -0
  224. package/dist/development/src/commands/tenant/policy/TenantPolicyUpdateCommand.js +38 -0
  225. package/dist/development/src/commands/tenant/policy/TenantPolicyUpdateCommand.js.map +1 -0
  226. package/dist/development/src/commands/tenant/policy/policyInput.cjs +167 -0
  227. package/dist/development/src/commands/tenant/policy/policyInput.cjs.map +1 -0
  228. package/dist/development/src/commands/tenant/policy/policyInput.js +167 -0
  229. package/dist/development/src/commands/tenant/policy/policyInput.js.map +1 -0
  230. package/dist/development/src/commands/tenant/project/TenantConfigShowCommand.cjs +24 -0
  231. package/dist/development/src/commands/tenant/project/TenantConfigShowCommand.cjs.map +1 -0
  232. package/dist/development/src/commands/tenant/project/TenantConfigShowCommand.js +24 -0
  233. package/dist/development/src/commands/tenant/project/TenantConfigShowCommand.js.map +1 -0
  234. package/dist/development/src/commands/tenant/project/TenantIdpListCommand.cjs +22 -0
  235. package/dist/development/src/commands/tenant/project/TenantIdpListCommand.cjs.map +1 -0
  236. package/dist/development/src/commands/tenant/project/TenantIdpListCommand.js +22 -0
  237. package/dist/development/src/commands/tenant/project/TenantIdpListCommand.js.map +1 -0
  238. package/dist/development/src/commands/tenant/project/TenantProjectCreateCommand.cjs +53 -0
  239. package/dist/development/src/commands/tenant/project/TenantProjectCreateCommand.cjs.map +1 -0
  240. package/dist/development/src/commands/tenant/project/TenantProjectCreateCommand.js +53 -0
  241. package/dist/development/src/commands/tenant/project/TenantProjectCreateCommand.js.map +1 -0
  242. package/dist/development/src/commands/tenant/project/TenantProjectListCommand.cjs +22 -0
  243. package/dist/development/src/commands/tenant/project/TenantProjectListCommand.cjs.map +1 -0
  244. package/dist/development/src/commands/tenant/project/TenantProjectListCommand.js +22 -0
  245. package/dist/development/src/commands/tenant/project/TenantProjectListCommand.js.map +1 -0
  246. package/dist/development/src/commands/tenant/project/TenantProjectSecretSetCommand.cjs +50 -0
  247. package/dist/development/src/commands/tenant/project/TenantProjectSecretSetCommand.cjs.map +1 -0
  248. package/dist/development/src/commands/tenant/project/TenantProjectSecretSetCommand.js +50 -0
  249. package/dist/development/src/commands/tenant/project/TenantProjectSecretSetCommand.js.map +1 -0
  250. package/dist/development/src/commands/tenant/project/TenantProjectShowCommand.cjs +23 -0
  251. package/dist/development/src/commands/tenant/project/TenantProjectShowCommand.cjs.map +1 -0
  252. package/dist/development/src/commands/tenant/project/TenantProjectShowCommand.js +23 -0
  253. package/dist/development/src/commands/tenant/project/TenantProjectShowCommand.js.map +1 -0
  254. package/dist/development/src/commands/tenant/project/TenantProjectUpdateCommand.cjs +53 -0
  255. package/dist/development/src/commands/tenant/project/TenantProjectUpdateCommand.cjs.map +1 -0
  256. package/dist/development/src/commands/tenant/project/TenantProjectUpdateCommand.js +53 -0
  257. package/dist/development/src/commands/tenant/project/TenantProjectUpdateCommand.js.map +1 -0
  258. package/dist/development/src/commands/tenant/project/TenantWhoAmICommand.cjs +18 -0
  259. package/dist/development/src/commands/tenant/project/TenantWhoAmICommand.cjs.map +1 -0
  260. package/dist/development/src/commands/tenant/project/TenantWhoAmICommand.js +18 -0
  261. package/dist/development/src/commands/tenant/project/TenantWhoAmICommand.js.map +1 -0
  262. package/dist/development/src/commands/tenant/project/jsonConfigOption.cjs +26 -0
  263. package/dist/development/src/commands/tenant/project/jsonConfigOption.cjs.map +1 -0
  264. package/dist/development/src/commands/tenant/project/jsonConfigOption.js +26 -0
  265. package/dist/development/src/commands/tenant/project/jsonConfigOption.js.map +1 -0
  266. package/dist/development/src/commands/tenant/tenantOutput.cjs +35 -0
  267. package/dist/development/src/commands/tenant/tenantOutput.cjs.map +1 -0
  268. package/dist/development/src/commands/tenant/tenantOutput.js +35 -0
  269. package/dist/development/src/commands/tenant/tenantOutput.js.map +1 -0
  270. package/dist/development/src/commands/transfer/ExportCommand.cjs +35 -20
  271. package/dist/development/src/commands/transfer/ExportCommand.cjs.map +1 -1
  272. package/dist/development/src/commands/transfer/ExportCommand.js +38 -23
  273. package/dist/development/src/commands/transfer/ExportCommand.js.map +1 -1
  274. package/dist/development/src/commands/transfer/ImportCommand.cjs +70 -27
  275. package/dist/development/src/commands/transfer/ImportCommand.cjs.map +1 -1
  276. package/dist/development/src/commands/transfer/ImportCommand.js +72 -29
  277. package/dist/development/src/commands/transfer/ImportCommand.js.map +1 -1
  278. package/dist/development/src/commands/transfer/TransferCommand.cjs +79 -29
  279. package/dist/development/src/commands/transfer/TransferCommand.cjs.map +1 -1
  280. package/dist/development/src/commands/transfer/TransferCommand.js +81 -31
  281. package/dist/development/src/commands/transfer/TransferCommand.js.map +1 -1
  282. package/dist/development/src/commands/transfer/utils.cjs +12 -10
  283. package/dist/development/src/commands/transfer/utils.cjs.map +1 -1
  284. package/dist/development/src/commands/transfer/utils.js +12 -10
  285. package/dist/development/src/commands/transfer/utils.js.map +1 -1
  286. package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.cjs +87 -32
  287. package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
  288. package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.js +89 -34
  289. package/dist/development/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
  290. package/dist/development/src/dic.cjs +152 -47
  291. package/dist/development/src/dic.cjs.map +1 -1
  292. package/dist/development/src/dic.js +152 -47
  293. package/dist/development/src/dic.js.map +1 -1
  294. package/dist/development/src/lib/SystemClientProvider.cjs +55 -2
  295. package/dist/development/src/lib/SystemClientProvider.cjs.map +1 -1
  296. package/dist/development/src/lib/SystemClientProvider.js +55 -2
  297. package/dist/development/src/lib/SystemClientProvider.js.map +1 -1
  298. package/dist/development/src/lib/TenantClientProvider.cjs +28 -5
  299. package/dist/development/src/lib/TenantClientProvider.cjs.map +1 -1
  300. package/dist/development/src/lib/TenantClientProvider.js +28 -5
  301. package/dist/development/src/lib/TenantClientProvider.js.map +1 -1
  302. package/dist/development/src/lib/actions/ActionsClient.cjs +18 -6
  303. package/dist/development/src/lib/actions/ActionsClient.cjs.map +1 -1
  304. package/dist/development/src/lib/actions/ActionsClient.js +18 -6
  305. package/dist/development/src/lib/actions/ActionsClient.js.map +1 -1
  306. package/dist/development/src/lib/actions/resolveActionsClient.cjs +13 -0
  307. package/dist/development/src/lib/actions/resolveActionsClient.cjs.map +1 -0
  308. package/dist/development/src/lib/actions/resolveActionsClient.js +13 -0
  309. package/dist/development/src/lib/actions/resolveActionsClient.js.map +1 -0
  310. package/dist/development/src/lib/actions/runActionMutationBatch.cjs +44 -0
  311. package/dist/development/src/lib/actions/runActionMutationBatch.cjs.map +1 -0
  312. package/dist/development/src/lib/actions/runActionMutationBatch.js +44 -0
  313. package/dist/development/src/lib/actions/runActionMutationBatch.js.map +1 -0
  314. package/dist/development/src/lib/admin/AdminClient.cjs +31 -11
  315. package/dist/development/src/lib/admin/AdminClient.cjs.map +1 -1
  316. package/dist/development/src/lib/admin/AdminClient.js +31 -11
  317. package/dist/development/src/lib/admin/AdminClient.js.map +1 -1
  318. package/dist/development/src/lib/admin/AdminDeployer.cjs +5 -3
  319. package/dist/development/src/lib/admin/AdminDeployer.cjs.map +1 -1
  320. package/dist/development/src/lib/admin/AdminDeployer.js +5 -3
  321. package/dist/development/src/lib/admin/AdminDeployer.js.map +1 -1
  322. package/dist/development/src/lib/errors/TransportError.cjs +204 -0
  323. package/dist/development/src/lib/errors/TransportError.cjs.map +1 -0
  324. package/dist/development/src/lib/errors/TransportError.js +204 -0
  325. package/dist/development/src/lib/errors/TransportError.js.map +1 -0
  326. package/dist/development/src/lib/maskToken.cjs +7 -1
  327. package/dist/development/src/lib/maskToken.cjs.map +1 -1
  328. package/dist/development/src/lib/maskToken.js +7 -1
  329. package/dist/development/src/lib/maskToken.js.map +1 -1
  330. package/dist/development/src/lib/migrations/MigrationExecutionFacade.cjs +97 -50
  331. package/dist/development/src/lib/migrations/MigrationExecutionFacade.cjs.map +1 -1
  332. package/dist/development/src/lib/migrations/MigrationExecutionFacade.js +97 -50
  333. package/dist/development/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
  334. package/dist/development/src/lib/migrations/MigrationPrinter.cjs +80 -64
  335. package/dist/development/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
  336. package/dist/development/src/lib/migrations/MigrationPrinter.js +81 -65
  337. package/dist/development/src/lib/migrations/MigrationPrinter.js.map +1 -1
  338. package/dist/development/src/lib/migrations/MigrationRebaseFacade.cjs +2 -1
  339. package/dist/development/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
  340. package/dist/development/src/lib/migrations/MigrationRebaseFacade.js +2 -1
  341. package/dist/development/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
  342. package/dist/development/src/lib/migrations/MigrationSnapshotFacade.cjs +14 -10
  343. package/dist/development/src/lib/migrations/MigrationSnapshotFacade.cjs.map +1 -1
  344. package/dist/development/src/lib/migrations/MigrationSnapshotFacade.js +14 -10
  345. package/dist/development/src/lib/migrations/MigrationSnapshotFacade.js.map +1 -1
  346. package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs +12 -4
  347. package/dist/development/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
  348. package/dist/development/src/lib/migrations/MigrationsStatusFacade.js +12 -4
  349. package/dist/development/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
  350. package/dist/development/src/lib/migrations/MigrationsValidator.cjs +5 -3
  351. package/dist/development/src/lib/migrations/MigrationsValidator.cjs.map +1 -1
  352. package/dist/development/src/lib/migrations/MigrationsValidator.js +5 -3
  353. package/dist/development/src/lib/migrations/MigrationsValidator.js.map +1 -1
  354. package/dist/development/src/lib/project/RemoteProjectProvider.cjs +5 -1
  355. package/dist/development/src/lib/project/RemoteProjectProvider.cjs.map +1 -1
  356. package/dist/development/src/lib/project/RemoteProjectProvider.js +5 -1
  357. package/dist/development/src/lib/project/RemoteProjectProvider.js.map +1 -1
  358. package/dist/development/src/lib/prompt/prompt.cjs +13 -0
  359. package/dist/development/src/lib/prompt/prompt.cjs.map +1 -0
  360. package/dist/development/src/lib/prompt/prompt.internal.cjs +21 -0
  361. package/dist/development/src/lib/prompt/prompt.internal.cjs.map +1 -0
  362. package/dist/development/src/lib/prompt/prompt.internal.js +21 -0
  363. package/dist/development/src/lib/prompt/prompt.internal.js.map +1 -0
  364. package/dist/development/src/lib/prompt/prompt.js +13 -0
  365. package/dist/development/src/lib/prompt/prompt.js.map +1 -0
  366. package/dist/development/src/lib/schema/SchemaValidationHelper.cjs +2 -2
  367. package/dist/development/src/lib/schema/SchemaValidationHelper.cjs.map +1 -1
  368. package/dist/development/src/lib/schema/SchemaValidationHelper.js +2 -2
  369. package/dist/development/src/lib/schema/SchemaValidationHelper.js.map +1 -1
  370. package/dist/development/src/lib/schema/SchemaValidationPrinter.cjs +4 -4
  371. package/dist/development/src/lib/schema/SchemaValidationPrinter.cjs.map +1 -1
  372. package/dist/development/src/lib/schema/SchemaValidationPrinter.js +4 -4
  373. package/dist/development/src/lib/schema/SchemaValidationPrinter.js.map +1 -1
  374. package/dist/development/src/lib/tenant/TenantApiTransport.cjs +152 -0
  375. package/dist/development/src/lib/tenant/TenantApiTransport.cjs.map +1 -0
  376. package/dist/development/src/lib/tenant/TenantApiTransport.js +152 -0
  377. package/dist/development/src/lib/tenant/TenantApiTransport.js.map +1 -0
  378. package/dist/development/src/lib/tenant/TenantConfigApplier.cjs +95 -26
  379. package/dist/development/src/lib/tenant/TenantConfigApplier.cjs.map +1 -1
  380. package/dist/development/src/lib/tenant/TenantConfigApplier.js +95 -26
  381. package/dist/development/src/lib/tenant/TenantConfigApplier.js.map +1 -1
  382. package/dist/development/src/lib/tenant/TenantConnectionProvider.cjs +20 -0
  383. package/dist/development/src/lib/tenant/TenantConnectionProvider.cjs.map +1 -0
  384. package/dist/development/src/lib/tenant/TenantConnectionProvider.js +20 -0
  385. package/dist/development/src/lib/tenant/TenantConnectionProvider.js.map +1 -0
  386. package/dist/development/src/lib/tenant/TenantConnectionResolver.cjs +30 -0
  387. package/dist/development/src/lib/tenant/TenantConnectionResolver.cjs.map +1 -0
  388. package/dist/development/src/lib/tenant/TenantConnectionResolver.js +30 -0
  389. package/dist/development/src/lib/tenant/TenantConnectionResolver.js.map +1 -0
  390. package/dist/development/src/lib/tenant/authPolicy.cjs +10 -0
  391. package/dist/development/src/lib/tenant/authPolicy.cjs.map +1 -0
  392. package/dist/development/src/lib/tenant/authPolicy.js +10 -0
  393. package/dist/development/src/lib/tenant/authPolicy.js.map +1 -0
  394. package/dist/development/src/lib/tenant/clients/TenantApiKeyClient.cjs +101 -0
  395. package/dist/development/src/lib/tenant/clients/TenantApiKeyClient.cjs.map +1 -0
  396. package/dist/development/src/lib/tenant/clients/TenantApiKeyClient.js +101 -0
  397. package/dist/development/src/lib/tenant/clients/TenantApiKeyClient.js.map +1 -0
  398. package/dist/development/src/lib/tenant/clients/TenantMemberClient.cjs +96 -0
  399. package/dist/development/src/lib/tenant/clients/TenantMemberClient.cjs.map +1 -0
  400. package/dist/development/src/lib/tenant/clients/TenantMemberClient.js +96 -0
  401. package/dist/development/src/lib/tenant/clients/TenantMemberClient.js.map +1 -0
  402. package/dist/development/src/lib/tenant/clients/TenantPersonClient.cjs +162 -0
  403. package/dist/development/src/lib/tenant/clients/TenantPersonClient.cjs.map +1 -0
  404. package/dist/development/src/lib/tenant/clients/TenantPersonClient.js +162 -0
  405. package/dist/development/src/lib/tenant/clients/TenantPersonClient.js.map +1 -0
  406. package/dist/development/src/lib/tenant/clients/TenantPolicyClient.cjs +101 -0
  407. package/dist/development/src/lib/tenant/clients/TenantPolicyClient.cjs.map +1 -0
  408. package/dist/development/src/lib/tenant/clients/TenantPolicyClient.js +101 -0
  409. package/dist/development/src/lib/tenant/clients/TenantPolicyClient.js.map +1 -0
  410. package/dist/development/src/lib/tenant/clients/TenantProjectClient.cjs +209 -0
  411. package/dist/development/src/lib/tenant/clients/TenantProjectClient.cjs.map +1 -0
  412. package/dist/development/src/lib/tenant/clients/TenantProjectClient.js +209 -0
  413. package/dist/development/src/lib/tenant/clients/TenantProjectClient.js.map +1 -0
  414. package/dist/development/src/lib/tenant/clients/index.cjs +21 -0
  415. package/dist/development/src/lib/tenant/clients/index.cjs.map +1 -0
  416. package/dist/development/src/lib/tenant/clients/index.js +21 -0
  417. package/dist/development/src/lib/tenant/clients/index.js.map +1 -0
  418. package/dist/development/src/lib/tenant/confirmation.cjs +23 -0
  419. package/dist/development/src/lib/tenant/confirmation.cjs.map +1 -0
  420. package/dist/development/src/lib/tenant/confirmation.js +23 -0
  421. package/dist/development/src/lib/tenant/confirmation.js.map +1 -0
  422. package/dist/development/src/lib/tenant/input/pagination.cjs +24 -0
  423. package/dist/development/src/lib/tenant/input/pagination.cjs.map +1 -0
  424. package/dist/development/src/lib/tenant/input/pagination.js +24 -0
  425. package/dist/development/src/lib/tenant/input/pagination.js.map +1 -0
  426. package/dist/development/src/lib/tenant/input/value.cjs +71 -0
  427. package/dist/development/src/lib/tenant/input/value.cjs.map +1 -0
  428. package/dist/development/src/lib/tenant/input/value.js +71 -0
  429. package/dist/development/src/lib/tenant/input/value.js.map +1 -0
  430. package/dist/development/src/lib/tenant/stdin.cjs +13 -0
  431. package/dist/development/src/lib/tenant/stdin.cjs.map +1 -0
  432. package/dist/development/src/lib/tenant/stdin.js +13 -0
  433. package/dist/development/src/lib/tenant/stdin.js.map +1 -0
  434. package/dist/development/src/lib/tenant/tenantConfig.cjs.map +1 -1
  435. package/dist/development/src/lib/tenant/tenantConfig.js.map +1 -1
  436. package/dist/development/src/lib/transfer/DataTransferClient.cjs +290 -54
  437. package/dist/development/src/lib/transfer/DataTransferClient.cjs.map +1 -1
  438. package/dist/development/src/lib/transfer/DataTransferClient.js +292 -56
  439. package/dist/development/src/lib/transfer/DataTransferClient.js.map +1 -1
  440. package/dist/development/src/lib/transfer/stdio.cjs +3 -8
  441. package/dist/development/src/lib/transfer/stdio.cjs.map +1 -1
  442. package/dist/development/src/lib/transfer/stdio.js +3 -8
  443. package/dist/development/src/lib/transfer/stdio.js.map +1 -1
  444. package/dist/production/run.cjs +12 -4
  445. package/dist/production/run.cjs.map +1 -1
  446. package/dist/production/run.js +12 -4
  447. package/dist/production/run.js.map +1 -1
  448. package/dist/production/src/commands/actions/ActionsGetEventCommand.cjs +30 -15
  449. package/dist/production/src/commands/actions/ActionsGetEventCommand.cjs.map +1 -1
  450. package/dist/production/src/commands/actions/ActionsGetEventCommand.js +31 -16
  451. package/dist/production/src/commands/actions/ActionsGetEventCommand.js.map +1 -1
  452. package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.cjs +21 -41
  453. package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.cjs.map +1 -1
  454. package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.js +22 -42
  455. package/dist/production/src/commands/actions/ActionsListFailedEventsCommand.js.map +1 -1
  456. package/dist/production/src/commands/actions/ActionsListVariablesCommand.cjs +15 -13
  457. package/dist/production/src/commands/actions/ActionsListVariablesCommand.cjs.map +1 -1
  458. package/dist/production/src/commands/actions/ActionsListVariablesCommand.js +15 -13
  459. package/dist/production/src/commands/actions/ActionsListVariablesCommand.js.map +1 -1
  460. package/dist/production/src/commands/actions/ActionsRetryEventCommand.cjs +28 -16
  461. package/dist/production/src/commands/actions/ActionsRetryEventCommand.cjs.map +1 -1
  462. package/dist/production/src/commands/actions/ActionsRetryEventCommand.js +29 -17
  463. package/dist/production/src/commands/actions/ActionsRetryEventCommand.js.map +1 -1
  464. package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs +51 -22
  465. package/dist/production/src/commands/actions/ActionsSetVariablesCommand.cjs.map +1 -1
  466. package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js +52 -23
  467. package/dist/production/src/commands/actions/ActionsSetVariablesCommand.js.map +1 -1
  468. package/dist/production/src/commands/actions/ActionsStopEventCommand.cjs +28 -16
  469. package/dist/production/src/commands/actions/ActionsStopEventCommand.cjs.map +1 -1
  470. package/dist/production/src/commands/actions/ActionsStopEventCommand.js +29 -17
  471. package/dist/production/src/commands/actions/ActionsStopEventCommand.js.map +1 -1
  472. package/dist/production/src/commands/deploy/DeployCommand.cjs +56 -29
  473. package/dist/production/src/commands/deploy/DeployCommand.cjs.map +1 -1
  474. package/dist/production/src/commands/deploy/DeployCommand.js +57 -30
  475. package/dist/production/src/commands/deploy/DeployCommand.js.map +1 -1
  476. package/dist/production/src/commands/migrations/MigrationAmendCommand.cjs +64 -24
  477. package/dist/production/src/commands/migrations/MigrationAmendCommand.cjs.map +1 -1
  478. package/dist/production/src/commands/migrations/MigrationAmendCommand.js +65 -25
  479. package/dist/production/src/commands/migrations/MigrationAmendCommand.js.map +1 -1
  480. package/dist/production/src/commands/migrations/MigrationBlankCommand.cjs +2 -2
  481. package/dist/production/src/commands/migrations/MigrationBlankCommand.cjs.map +1 -1
  482. package/dist/production/src/commands/migrations/MigrationBlankCommand.js +2 -2
  483. package/dist/production/src/commands/migrations/MigrationBlankCommand.js.map +1 -1
  484. package/dist/production/src/commands/migrations/MigrationDescribeCommand.cjs +7 -3
  485. package/dist/production/src/commands/migrations/MigrationDescribeCommand.cjs.map +1 -1
  486. package/dist/production/src/commands/migrations/MigrationDescribeCommand.js +8 -4
  487. package/dist/production/src/commands/migrations/MigrationDescribeCommand.js.map +1 -1
  488. package/dist/production/src/commands/migrations/MigrationDiffCommand.cjs +73 -25
  489. package/dist/production/src/commands/migrations/MigrationDiffCommand.cjs.map +1 -1
  490. package/dist/production/src/commands/migrations/MigrationDiffCommand.js +74 -26
  491. package/dist/production/src/commands/migrations/MigrationDiffCommand.js.map +1 -1
  492. package/dist/production/src/commands/migrations/MigrationExecuteCommand.cjs +7 -2
  493. package/dist/production/src/commands/migrations/MigrationExecuteCommand.cjs.map +1 -1
  494. package/dist/production/src/commands/migrations/MigrationExecuteCommand.js +7 -2
  495. package/dist/production/src/commands/migrations/MigrationExecuteCommand.js.map +1 -1
  496. package/dist/production/src/commands/migrations/MigrationInitStateCommand.cjs +11 -4
  497. package/dist/production/src/commands/migrations/MigrationInitStateCommand.cjs.map +1 -1
  498. package/dist/production/src/commands/migrations/MigrationInitStateCommand.js +11 -4
  499. package/dist/production/src/commands/migrations/MigrationInitStateCommand.js.map +1 -1
  500. package/dist/production/src/commands/migrations/MigrationRebaseCommand.cjs +24 -4
  501. package/dist/production/src/commands/migrations/MigrationRebaseCommand.cjs.map +1 -1
  502. package/dist/production/src/commands/migrations/MigrationRebaseCommand.js +25 -5
  503. package/dist/production/src/commands/migrations/MigrationRebaseCommand.js.map +1 -1
  504. package/dist/production/src/commands/migrations/MigrationSnapshotCommand.cjs +39 -8
  505. package/dist/production/src/commands/migrations/MigrationSnapshotCommand.cjs.map +1 -1
  506. package/dist/production/src/commands/migrations/MigrationSnapshotCommand.js +40 -9
  507. package/dist/production/src/commands/migrations/MigrationSnapshotCommand.js.map +1 -1
  508. package/dist/production/src/commands/migrations/MigrationStatusCommand.cjs +5 -5
  509. package/dist/production/src/commands/migrations/MigrationStatusCommand.cjs.map +1 -1
  510. package/dist/production/src/commands/migrations/MigrationStatusCommand.js +5 -5
  511. package/dist/production/src/commands/migrations/MigrationStatusCommand.js.map +1 -1
  512. package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.cjs +6 -7
  513. package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.cjs.map +1 -1
  514. package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.js +6 -7
  515. package/dist/production/src/commands/migrations/MigrationVerifySnapshotCommand.js.map +1 -1
  516. package/dist/production/src/commands/misc/CommandsCommand.cjs +58 -0
  517. package/dist/production/src/commands/misc/CommandsCommand.cjs.map +1 -0
  518. package/dist/production/src/commands/misc/CommandsCommand.js +58 -0
  519. package/dist/production/src/commands/misc/CommandsCommand.js.map +1 -0
  520. package/dist/production/src/commands/misc/VersionCommand.cjs +2 -3
  521. package/dist/production/src/commands/misc/VersionCommand.cjs.map +1 -1
  522. package/dist/production/src/commands/misc/VersionCommand.js +2 -3
  523. package/dist/production/src/commands/misc/VersionCommand.js.map +1 -1
  524. package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.cjs +12 -12
  525. package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.cjs.map +1 -1
  526. package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.js +13 -13
  527. package/dist/production/src/commands/project/ProjectGenerateDocumentationCommand.js.map +1 -1
  528. package/dist/production/src/commands/project/ProjectPrintSchemaCommand.cjs +17 -15
  529. package/dist/production/src/commands/project/ProjectPrintSchemaCommand.cjs.map +1 -1
  530. package/dist/production/src/commands/project/ProjectPrintSchemaCommand.js +18 -16
  531. package/dist/production/src/commands/project/ProjectPrintSchemaCommand.js.map +1 -1
  532. package/dist/production/src/commands/project/ProjectValidateCommand.cjs +40 -12
  533. package/dist/production/src/commands/project/ProjectValidateCommand.cjs.map +1 -1
  534. package/dist/production/src/commands/project/ProjectValidateCommand.js +42 -14
  535. package/dist/production/src/commands/project/ProjectValidateCommand.js.map +1 -1
  536. package/dist/production/src/commands/tenant/TenantApplyCommand.cjs +31 -11
  537. package/dist/production/src/commands/tenant/TenantApplyCommand.cjs.map +1 -1
  538. package/dist/production/src/commands/tenant/TenantApplyCommand.js +32 -12
  539. package/dist/production/src/commands/tenant/TenantApplyCommand.js.map +1 -1
  540. package/dist/production/src/commands/tenant/apikey/TenantApiKeyCreateCommand.cjs +68 -0
  541. package/dist/production/src/commands/tenant/apikey/TenantApiKeyCreateCommand.cjs.map +1 -0
  542. package/dist/production/src/commands/tenant/apikey/TenantApiKeyCreateCommand.js +68 -0
  543. package/dist/production/src/commands/tenant/apikey/TenantApiKeyCreateCommand.js.map +1 -0
  544. package/dist/production/src/commands/tenant/apikey/TenantApiKeyDisableCommand.cjs +31 -0
  545. package/dist/production/src/commands/tenant/apikey/TenantApiKeyDisableCommand.cjs.map +1 -0
  546. package/dist/production/src/commands/tenant/apikey/TenantApiKeyDisableCommand.js +31 -0
  547. package/dist/production/src/commands/tenant/apikey/TenantApiKeyDisableCommand.js.map +1 -0
  548. package/dist/production/src/commands/tenant/apikey/TenantApiKeyListCommand.cjs +55 -0
  549. package/dist/production/src/commands/tenant/apikey/TenantApiKeyListCommand.cjs.map +1 -0
  550. package/dist/production/src/commands/tenant/apikey/TenantApiKeyListCommand.js +55 -0
  551. package/dist/production/src/commands/tenant/apikey/TenantApiKeyListCommand.js.map +1 -0
  552. package/dist/production/src/commands/tenant/member/TenantMemberAddCommand.cjs +36 -0
  553. package/dist/production/src/commands/tenant/member/TenantMemberAddCommand.cjs.map +1 -0
  554. package/dist/production/src/commands/tenant/member/TenantMemberAddCommand.js +36 -0
  555. package/dist/production/src/commands/tenant/member/TenantMemberAddCommand.js.map +1 -0
  556. package/dist/production/src/commands/tenant/member/TenantMemberInviteCommand.cjs +62 -0
  557. package/dist/production/src/commands/tenant/member/TenantMemberInviteCommand.cjs.map +1 -0
  558. package/dist/production/src/commands/tenant/member/TenantMemberInviteCommand.js +62 -0
  559. package/dist/production/src/commands/tenant/member/TenantMemberInviteCommand.js.map +1 -0
  560. package/dist/production/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.cjs +102 -0
  561. package/dist/production/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.cjs.map +1 -0
  562. package/dist/production/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.js +102 -0
  563. package/dist/production/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.js.map +1 -0
  564. package/dist/production/src/commands/tenant/member/TenantMemberListCommand.cjs +73 -0
  565. package/dist/production/src/commands/tenant/member/TenantMemberListCommand.cjs.map +1 -0
  566. package/dist/production/src/commands/tenant/member/TenantMemberListCommand.js +73 -0
  567. package/dist/production/src/commands/tenant/member/TenantMemberListCommand.js.map +1 -0
  568. package/dist/production/src/commands/tenant/member/TenantMemberRemoveCommand.cjs +35 -0
  569. package/dist/production/src/commands/tenant/member/TenantMemberRemoveCommand.cjs.map +1 -0
  570. package/dist/production/src/commands/tenant/member/TenantMemberRemoveCommand.js +35 -0
  571. package/dist/production/src/commands/tenant/member/TenantMemberRemoveCommand.js.map +1 -0
  572. package/dist/production/src/commands/tenant/member/TenantMemberUpdateCommand.cjs +45 -0
  573. package/dist/production/src/commands/tenant/member/TenantMemberUpdateCommand.cjs.map +1 -0
  574. package/dist/production/src/commands/tenant/member/TenantMemberUpdateCommand.js +45 -0
  575. package/dist/production/src/commands/tenant/member/TenantMemberUpdateCommand.js.map +1 -0
  576. package/dist/production/src/commands/tenant/member/memberOptions.cjs +16 -0
  577. package/dist/production/src/commands/tenant/member/memberOptions.cjs.map +1 -0
  578. package/dist/production/src/commands/tenant/member/memberOptions.js +16 -0
  579. package/dist/production/src/commands/tenant/member/memberOptions.js.map +1 -0
  580. package/dist/production/src/commands/tenant/member/membershipInput.cjs +109 -0
  581. package/dist/production/src/commands/tenant/member/membershipInput.cjs.map +1 -0
  582. package/dist/production/src/commands/tenant/member/membershipInput.js +109 -0
  583. package/dist/production/src/commands/tenant/member/membershipInput.js.map +1 -0
  584. package/dist/production/src/commands/tenant/person/TenantIdentityRoleAddCommand.cjs +27 -0
  585. package/dist/production/src/commands/tenant/person/TenantIdentityRoleAddCommand.cjs.map +1 -0
  586. package/dist/production/src/commands/tenant/person/TenantIdentityRoleAddCommand.js +27 -0
  587. package/dist/production/src/commands/tenant/person/TenantIdentityRoleAddCommand.js.map +1 -0
  588. package/dist/production/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.cjs +34 -0
  589. package/dist/production/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.cjs.map +1 -0
  590. package/dist/production/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.js +34 -0
  591. package/dist/production/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.js.map +1 -0
  592. package/dist/production/src/commands/tenant/person/TenantPersonCreateCommand.cjs +79 -0
  593. package/dist/production/src/commands/tenant/person/TenantPersonCreateCommand.cjs.map +1 -0
  594. package/dist/production/src/commands/tenant/person/TenantPersonCreateCommand.js +79 -0
  595. package/dist/production/src/commands/tenant/person/TenantPersonCreateCommand.js.map +1 -0
  596. package/dist/production/src/commands/tenant/person/TenantPersonDisableCommand.cjs +29 -0
  597. package/dist/production/src/commands/tenant/person/TenantPersonDisableCommand.cjs.map +1 -0
  598. package/dist/production/src/commands/tenant/person/TenantPersonDisableCommand.js +29 -0
  599. package/dist/production/src/commands/tenant/person/TenantPersonDisableCommand.js.map +1 -0
  600. package/dist/production/src/commands/tenant/person/TenantPersonListCommand.cjs +53 -0
  601. package/dist/production/src/commands/tenant/person/TenantPersonListCommand.cjs.map +1 -0
  602. package/dist/production/src/commands/tenant/person/TenantPersonListCommand.js +53 -0
  603. package/dist/production/src/commands/tenant/person/TenantPersonListCommand.js.map +1 -0
  604. package/dist/production/src/commands/tenant/person/TenantPersonResetMfaCommand.cjs +37 -0
  605. package/dist/production/src/commands/tenant/person/TenantPersonResetMfaCommand.cjs.map +1 -0
  606. package/dist/production/src/commands/tenant/person/TenantPersonResetMfaCommand.js +37 -0
  607. package/dist/production/src/commands/tenant/person/TenantPersonResetMfaCommand.js.map +1 -0
  608. package/dist/production/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.cjs +47 -0
  609. package/dist/production/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.cjs.map +1 -0
  610. package/dist/production/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.js +47 -0
  611. package/dist/production/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.js.map +1 -0
  612. package/dist/production/src/commands/tenant/person/TenantPersonSetPasswordCommand.cjs +46 -0
  613. package/dist/production/src/commands/tenant/person/TenantPersonSetPasswordCommand.cjs.map +1 -0
  614. package/dist/production/src/commands/tenant/person/TenantPersonSetPasswordCommand.js +46 -0
  615. package/dist/production/src/commands/tenant/person/TenantPersonSetPasswordCommand.js.map +1 -0
  616. package/dist/production/src/commands/tenant/person/TenantPersonShowCommand.cjs +55 -0
  617. package/dist/production/src/commands/tenant/person/TenantPersonShowCommand.cjs.map +1 -0
  618. package/dist/production/src/commands/tenant/person/TenantPersonShowCommand.js +55 -0
  619. package/dist/production/src/commands/tenant/person/TenantPersonShowCommand.js.map +1 -0
  620. package/dist/production/src/commands/tenant/person/TenantPersonSignOutCommand.cjs +38 -0
  621. package/dist/production/src/commands/tenant/person/TenantPersonSignOutCommand.cjs.map +1 -0
  622. package/dist/production/src/commands/tenant/person/TenantPersonSignOutCommand.js +38 -0
  623. package/dist/production/src/commands/tenant/person/TenantPersonSignOutCommand.js.map +1 -0
  624. package/dist/production/src/commands/tenant/person/TenantPersonUpdateCommand.cjs +36 -0
  625. package/dist/production/src/commands/tenant/person/TenantPersonUpdateCommand.cjs.map +1 -0
  626. package/dist/production/src/commands/tenant/person/TenantPersonUpdateCommand.js +36 -0
  627. package/dist/production/src/commands/tenant/person/TenantPersonUpdateCommand.js.map +1 -0
  628. package/dist/production/src/commands/tenant/person/TenantSessionCreateCommand.cjs +65 -0
  629. package/dist/production/src/commands/tenant/person/TenantSessionCreateCommand.cjs.map +1 -0
  630. package/dist/production/src/commands/tenant/person/TenantSessionCreateCommand.js +65 -0
  631. package/dist/production/src/commands/tenant/person/TenantSessionCreateCommand.js.map +1 -0
  632. package/dist/production/src/commands/tenant/person/personInput.cjs +77 -0
  633. package/dist/production/src/commands/tenant/person/personInput.cjs.map +1 -0
  634. package/dist/production/src/commands/tenant/person/personInput.js +77 -0
  635. package/dist/production/src/commands/tenant/person/personInput.js.map +1 -0
  636. package/dist/production/src/commands/tenant/policy/TenantAuthLogCommand.cjs +96 -0
  637. package/dist/production/src/commands/tenant/policy/TenantAuthLogCommand.cjs.map +1 -0
  638. package/dist/production/src/commands/tenant/policy/TenantAuthLogCommand.js +96 -0
  639. package/dist/production/src/commands/tenant/policy/TenantAuthLogCommand.js.map +1 -0
  640. package/dist/production/src/commands/tenant/policy/TenantMailTemplateAddCommand.cjs +59 -0
  641. package/dist/production/src/commands/tenant/policy/TenantMailTemplateAddCommand.cjs.map +1 -0
  642. package/dist/production/src/commands/tenant/policy/TenantMailTemplateAddCommand.js +59 -0
  643. package/dist/production/src/commands/tenant/policy/TenantMailTemplateAddCommand.js.map +1 -0
  644. package/dist/production/src/commands/tenant/policy/TenantMailTemplateListCommand.cjs +41 -0
  645. package/dist/production/src/commands/tenant/policy/TenantMailTemplateListCommand.cjs.map +1 -0
  646. package/dist/production/src/commands/tenant/policy/TenantMailTemplateListCommand.js +41 -0
  647. package/dist/production/src/commands/tenant/policy/TenantMailTemplateListCommand.js.map +1 -0
  648. package/dist/production/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.cjs +42 -0
  649. package/dist/production/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.cjs.map +1 -0
  650. package/dist/production/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.js +42 -0
  651. package/dist/production/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.js.map +1 -0
  652. package/dist/production/src/commands/tenant/policy/TenantPolicyCreateCommand.cjs +36 -0
  653. package/dist/production/src/commands/tenant/policy/TenantPolicyCreateCommand.cjs.map +1 -0
  654. package/dist/production/src/commands/tenant/policy/TenantPolicyCreateCommand.js +36 -0
  655. package/dist/production/src/commands/tenant/policy/TenantPolicyCreateCommand.js.map +1 -0
  656. package/dist/production/src/commands/tenant/policy/TenantPolicyDeleteCommand.cjs +31 -0
  657. package/dist/production/src/commands/tenant/policy/TenantPolicyDeleteCommand.cjs.map +1 -0
  658. package/dist/production/src/commands/tenant/policy/TenantPolicyDeleteCommand.js +31 -0
  659. package/dist/production/src/commands/tenant/policy/TenantPolicyDeleteCommand.js.map +1 -0
  660. package/dist/production/src/commands/tenant/policy/TenantPolicyListCommand.cjs +33 -0
  661. package/dist/production/src/commands/tenant/policy/TenantPolicyListCommand.cjs.map +1 -0
  662. package/dist/production/src/commands/tenant/policy/TenantPolicyListCommand.js +33 -0
  663. package/dist/production/src/commands/tenant/policy/TenantPolicyListCommand.js.map +1 -0
  664. package/dist/production/src/commands/tenant/policy/TenantPolicyUpdateCommand.cjs +38 -0
  665. package/dist/production/src/commands/tenant/policy/TenantPolicyUpdateCommand.cjs.map +1 -0
  666. package/dist/production/src/commands/tenant/policy/TenantPolicyUpdateCommand.js +38 -0
  667. package/dist/production/src/commands/tenant/policy/TenantPolicyUpdateCommand.js.map +1 -0
  668. package/dist/production/src/commands/tenant/policy/policyInput.cjs +167 -0
  669. package/dist/production/src/commands/tenant/policy/policyInput.cjs.map +1 -0
  670. package/dist/production/src/commands/tenant/policy/policyInput.js +167 -0
  671. package/dist/production/src/commands/tenant/policy/policyInput.js.map +1 -0
  672. package/dist/production/src/commands/tenant/project/TenantConfigShowCommand.cjs +24 -0
  673. package/dist/production/src/commands/tenant/project/TenantConfigShowCommand.cjs.map +1 -0
  674. package/dist/production/src/commands/tenant/project/TenantConfigShowCommand.js +24 -0
  675. package/dist/production/src/commands/tenant/project/TenantConfigShowCommand.js.map +1 -0
  676. package/dist/production/src/commands/tenant/project/TenantIdpListCommand.cjs +22 -0
  677. package/dist/production/src/commands/tenant/project/TenantIdpListCommand.cjs.map +1 -0
  678. package/dist/production/src/commands/tenant/project/TenantIdpListCommand.js +22 -0
  679. package/dist/production/src/commands/tenant/project/TenantIdpListCommand.js.map +1 -0
  680. package/dist/production/src/commands/tenant/project/TenantProjectCreateCommand.cjs +53 -0
  681. package/dist/production/src/commands/tenant/project/TenantProjectCreateCommand.cjs.map +1 -0
  682. package/dist/production/src/commands/tenant/project/TenantProjectCreateCommand.js +53 -0
  683. package/dist/production/src/commands/tenant/project/TenantProjectCreateCommand.js.map +1 -0
  684. package/dist/production/src/commands/tenant/project/TenantProjectListCommand.cjs +22 -0
  685. package/dist/production/src/commands/tenant/project/TenantProjectListCommand.cjs.map +1 -0
  686. package/dist/production/src/commands/tenant/project/TenantProjectListCommand.js +22 -0
  687. package/dist/production/src/commands/tenant/project/TenantProjectListCommand.js.map +1 -0
  688. package/dist/production/src/commands/tenant/project/TenantProjectSecretSetCommand.cjs +50 -0
  689. package/dist/production/src/commands/tenant/project/TenantProjectSecretSetCommand.cjs.map +1 -0
  690. package/dist/production/src/commands/tenant/project/TenantProjectSecretSetCommand.js +50 -0
  691. package/dist/production/src/commands/tenant/project/TenantProjectSecretSetCommand.js.map +1 -0
  692. package/dist/production/src/commands/tenant/project/TenantProjectShowCommand.cjs +23 -0
  693. package/dist/production/src/commands/tenant/project/TenantProjectShowCommand.cjs.map +1 -0
  694. package/dist/production/src/commands/tenant/project/TenantProjectShowCommand.js +23 -0
  695. package/dist/production/src/commands/tenant/project/TenantProjectShowCommand.js.map +1 -0
  696. package/dist/production/src/commands/tenant/project/TenantProjectUpdateCommand.cjs +53 -0
  697. package/dist/production/src/commands/tenant/project/TenantProjectUpdateCommand.cjs.map +1 -0
  698. package/dist/production/src/commands/tenant/project/TenantProjectUpdateCommand.js +53 -0
  699. package/dist/production/src/commands/tenant/project/TenantProjectUpdateCommand.js.map +1 -0
  700. package/dist/production/src/commands/tenant/project/TenantWhoAmICommand.cjs +18 -0
  701. package/dist/production/src/commands/tenant/project/TenantWhoAmICommand.cjs.map +1 -0
  702. package/dist/production/src/commands/tenant/project/TenantWhoAmICommand.js +18 -0
  703. package/dist/production/src/commands/tenant/project/TenantWhoAmICommand.js.map +1 -0
  704. package/dist/production/src/commands/tenant/project/jsonConfigOption.cjs +26 -0
  705. package/dist/production/src/commands/tenant/project/jsonConfigOption.cjs.map +1 -0
  706. package/dist/production/src/commands/tenant/project/jsonConfigOption.js +26 -0
  707. package/dist/production/src/commands/tenant/project/jsonConfigOption.js.map +1 -0
  708. package/dist/production/src/commands/tenant/tenantOutput.cjs +35 -0
  709. package/dist/production/src/commands/tenant/tenantOutput.cjs.map +1 -0
  710. package/dist/production/src/commands/tenant/tenantOutput.js +35 -0
  711. package/dist/production/src/commands/tenant/tenantOutput.js.map +1 -0
  712. package/dist/production/src/commands/transfer/ExportCommand.cjs +35 -20
  713. package/dist/production/src/commands/transfer/ExportCommand.cjs.map +1 -1
  714. package/dist/production/src/commands/transfer/ExportCommand.js +38 -23
  715. package/dist/production/src/commands/transfer/ExportCommand.js.map +1 -1
  716. package/dist/production/src/commands/transfer/ImportCommand.cjs +70 -27
  717. package/dist/production/src/commands/transfer/ImportCommand.cjs.map +1 -1
  718. package/dist/production/src/commands/transfer/ImportCommand.js +72 -29
  719. package/dist/production/src/commands/transfer/ImportCommand.js.map +1 -1
  720. package/dist/production/src/commands/transfer/TransferCommand.cjs +79 -29
  721. package/dist/production/src/commands/transfer/TransferCommand.cjs.map +1 -1
  722. package/dist/production/src/commands/transfer/TransferCommand.js +81 -31
  723. package/dist/production/src/commands/transfer/TransferCommand.js.map +1 -1
  724. package/dist/production/src/commands/transfer/utils.cjs +12 -10
  725. package/dist/production/src/commands/transfer/utils.cjs.map +1 -1
  726. package/dist/production/src/commands/transfer/utils.js +12 -10
  727. package/dist/production/src/commands/transfer/utils.js.map +1 -1
  728. package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.cjs +87 -32
  729. package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.cjs.map +1 -1
  730. package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.js +89 -34
  731. package/dist/production/src/commands/workspace/WorkspaceUpdateApiCommand.js.map +1 -1
  732. package/dist/production/src/dic.cjs +152 -47
  733. package/dist/production/src/dic.cjs.map +1 -1
  734. package/dist/production/src/dic.js +152 -47
  735. package/dist/production/src/dic.js.map +1 -1
  736. package/dist/production/src/lib/SystemClientProvider.cjs +55 -2
  737. package/dist/production/src/lib/SystemClientProvider.cjs.map +1 -1
  738. package/dist/production/src/lib/SystemClientProvider.js +55 -2
  739. package/dist/production/src/lib/SystemClientProvider.js.map +1 -1
  740. package/dist/production/src/lib/TenantClientProvider.cjs +28 -5
  741. package/dist/production/src/lib/TenantClientProvider.cjs.map +1 -1
  742. package/dist/production/src/lib/TenantClientProvider.js +28 -5
  743. package/dist/production/src/lib/TenantClientProvider.js.map +1 -1
  744. package/dist/production/src/lib/actions/ActionsClient.cjs +18 -6
  745. package/dist/production/src/lib/actions/ActionsClient.cjs.map +1 -1
  746. package/dist/production/src/lib/actions/ActionsClient.js +18 -6
  747. package/dist/production/src/lib/actions/ActionsClient.js.map +1 -1
  748. package/dist/production/src/lib/actions/resolveActionsClient.cjs +13 -0
  749. package/dist/production/src/lib/actions/resolveActionsClient.cjs.map +1 -0
  750. package/dist/production/src/lib/actions/resolveActionsClient.js +13 -0
  751. package/dist/production/src/lib/actions/resolveActionsClient.js.map +1 -0
  752. package/dist/production/src/lib/actions/runActionMutationBatch.cjs +44 -0
  753. package/dist/production/src/lib/actions/runActionMutationBatch.cjs.map +1 -0
  754. package/dist/production/src/lib/actions/runActionMutationBatch.js +44 -0
  755. package/dist/production/src/lib/actions/runActionMutationBatch.js.map +1 -0
  756. package/dist/production/src/lib/admin/AdminClient.cjs +31 -11
  757. package/dist/production/src/lib/admin/AdminClient.cjs.map +1 -1
  758. package/dist/production/src/lib/admin/AdminClient.js +31 -11
  759. package/dist/production/src/lib/admin/AdminClient.js.map +1 -1
  760. package/dist/production/src/lib/admin/AdminDeployer.cjs +5 -3
  761. package/dist/production/src/lib/admin/AdminDeployer.cjs.map +1 -1
  762. package/dist/production/src/lib/admin/AdminDeployer.js +5 -3
  763. package/dist/production/src/lib/admin/AdminDeployer.js.map +1 -1
  764. package/dist/production/src/lib/errors/TransportError.cjs +204 -0
  765. package/dist/production/src/lib/errors/TransportError.cjs.map +1 -0
  766. package/dist/production/src/lib/errors/TransportError.js +204 -0
  767. package/dist/production/src/lib/errors/TransportError.js.map +1 -0
  768. package/dist/production/src/lib/maskToken.cjs +7 -1
  769. package/dist/production/src/lib/maskToken.cjs.map +1 -1
  770. package/dist/production/src/lib/maskToken.js +7 -1
  771. package/dist/production/src/lib/maskToken.js.map +1 -1
  772. package/dist/production/src/lib/migrations/MigrationExecutionFacade.cjs +97 -50
  773. package/dist/production/src/lib/migrations/MigrationExecutionFacade.cjs.map +1 -1
  774. package/dist/production/src/lib/migrations/MigrationExecutionFacade.js +97 -50
  775. package/dist/production/src/lib/migrations/MigrationExecutionFacade.js.map +1 -1
  776. package/dist/production/src/lib/migrations/MigrationPrinter.cjs +80 -64
  777. package/dist/production/src/lib/migrations/MigrationPrinter.cjs.map +1 -1
  778. package/dist/production/src/lib/migrations/MigrationPrinter.js +81 -65
  779. package/dist/production/src/lib/migrations/MigrationPrinter.js.map +1 -1
  780. package/dist/production/src/lib/migrations/MigrationRebaseFacade.cjs +2 -1
  781. package/dist/production/src/lib/migrations/MigrationRebaseFacade.cjs.map +1 -1
  782. package/dist/production/src/lib/migrations/MigrationRebaseFacade.js +2 -1
  783. package/dist/production/src/lib/migrations/MigrationRebaseFacade.js.map +1 -1
  784. package/dist/production/src/lib/migrations/MigrationSnapshotFacade.cjs +14 -10
  785. package/dist/production/src/lib/migrations/MigrationSnapshotFacade.cjs.map +1 -1
  786. package/dist/production/src/lib/migrations/MigrationSnapshotFacade.js +14 -10
  787. package/dist/production/src/lib/migrations/MigrationSnapshotFacade.js.map +1 -1
  788. package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs +12 -4
  789. package/dist/production/src/lib/migrations/MigrationsStatusFacade.cjs.map +1 -1
  790. package/dist/production/src/lib/migrations/MigrationsStatusFacade.js +12 -4
  791. package/dist/production/src/lib/migrations/MigrationsStatusFacade.js.map +1 -1
  792. package/dist/production/src/lib/migrations/MigrationsValidator.cjs +5 -3
  793. package/dist/production/src/lib/migrations/MigrationsValidator.cjs.map +1 -1
  794. package/dist/production/src/lib/migrations/MigrationsValidator.js +5 -3
  795. package/dist/production/src/lib/migrations/MigrationsValidator.js.map +1 -1
  796. package/dist/production/src/lib/project/RemoteProjectProvider.cjs +5 -1
  797. package/dist/production/src/lib/project/RemoteProjectProvider.cjs.map +1 -1
  798. package/dist/production/src/lib/project/RemoteProjectProvider.js +5 -1
  799. package/dist/production/src/lib/project/RemoteProjectProvider.js.map +1 -1
  800. package/dist/production/src/lib/prompt/prompt.cjs +13 -0
  801. package/dist/production/src/lib/prompt/prompt.cjs.map +1 -0
  802. package/dist/production/src/lib/prompt/prompt.internal.cjs +21 -0
  803. package/dist/production/src/lib/prompt/prompt.internal.cjs.map +1 -0
  804. package/dist/production/src/lib/prompt/prompt.internal.js +21 -0
  805. package/dist/production/src/lib/prompt/prompt.internal.js.map +1 -0
  806. package/dist/production/src/lib/prompt/prompt.js +13 -0
  807. package/dist/production/src/lib/prompt/prompt.js.map +1 -0
  808. package/dist/production/src/lib/schema/SchemaValidationHelper.cjs +2 -2
  809. package/dist/production/src/lib/schema/SchemaValidationHelper.cjs.map +1 -1
  810. package/dist/production/src/lib/schema/SchemaValidationHelper.js +2 -2
  811. package/dist/production/src/lib/schema/SchemaValidationHelper.js.map +1 -1
  812. package/dist/production/src/lib/schema/SchemaValidationPrinter.cjs +4 -4
  813. package/dist/production/src/lib/schema/SchemaValidationPrinter.cjs.map +1 -1
  814. package/dist/production/src/lib/schema/SchemaValidationPrinter.js +4 -4
  815. package/dist/production/src/lib/schema/SchemaValidationPrinter.js.map +1 -1
  816. package/dist/production/src/lib/tenant/TenantApiTransport.cjs +152 -0
  817. package/dist/production/src/lib/tenant/TenantApiTransport.cjs.map +1 -0
  818. package/dist/production/src/lib/tenant/TenantApiTransport.js +152 -0
  819. package/dist/production/src/lib/tenant/TenantApiTransport.js.map +1 -0
  820. package/dist/production/src/lib/tenant/TenantConfigApplier.cjs +95 -26
  821. package/dist/production/src/lib/tenant/TenantConfigApplier.cjs.map +1 -1
  822. package/dist/production/src/lib/tenant/TenantConfigApplier.js +95 -26
  823. package/dist/production/src/lib/tenant/TenantConfigApplier.js.map +1 -1
  824. package/dist/production/src/lib/tenant/TenantConnectionProvider.cjs +20 -0
  825. package/dist/production/src/lib/tenant/TenantConnectionProvider.cjs.map +1 -0
  826. package/dist/production/src/lib/tenant/TenantConnectionProvider.js +20 -0
  827. package/dist/production/src/lib/tenant/TenantConnectionProvider.js.map +1 -0
  828. package/dist/production/src/lib/tenant/TenantConnectionResolver.cjs +30 -0
  829. package/dist/production/src/lib/tenant/TenantConnectionResolver.cjs.map +1 -0
  830. package/dist/production/src/lib/tenant/TenantConnectionResolver.js +30 -0
  831. package/dist/production/src/lib/tenant/TenantConnectionResolver.js.map +1 -0
  832. package/dist/production/src/lib/tenant/authPolicy.cjs +10 -0
  833. package/dist/production/src/lib/tenant/authPolicy.cjs.map +1 -0
  834. package/dist/production/src/lib/tenant/authPolicy.js +10 -0
  835. package/dist/production/src/lib/tenant/authPolicy.js.map +1 -0
  836. package/dist/production/src/lib/tenant/clients/TenantApiKeyClient.cjs +101 -0
  837. package/dist/production/src/lib/tenant/clients/TenantApiKeyClient.cjs.map +1 -0
  838. package/dist/production/src/lib/tenant/clients/TenantApiKeyClient.js +101 -0
  839. package/dist/production/src/lib/tenant/clients/TenantApiKeyClient.js.map +1 -0
  840. package/dist/production/src/lib/tenant/clients/TenantMemberClient.cjs +96 -0
  841. package/dist/production/src/lib/tenant/clients/TenantMemberClient.cjs.map +1 -0
  842. package/dist/production/src/lib/tenant/clients/TenantMemberClient.js +96 -0
  843. package/dist/production/src/lib/tenant/clients/TenantMemberClient.js.map +1 -0
  844. package/dist/production/src/lib/tenant/clients/TenantPersonClient.cjs +162 -0
  845. package/dist/production/src/lib/tenant/clients/TenantPersonClient.cjs.map +1 -0
  846. package/dist/production/src/lib/tenant/clients/TenantPersonClient.js +162 -0
  847. package/dist/production/src/lib/tenant/clients/TenantPersonClient.js.map +1 -0
  848. package/dist/production/src/lib/tenant/clients/TenantPolicyClient.cjs +101 -0
  849. package/dist/production/src/lib/tenant/clients/TenantPolicyClient.cjs.map +1 -0
  850. package/dist/production/src/lib/tenant/clients/TenantPolicyClient.js +101 -0
  851. package/dist/production/src/lib/tenant/clients/TenantPolicyClient.js.map +1 -0
  852. package/dist/production/src/lib/tenant/clients/TenantProjectClient.cjs +209 -0
  853. package/dist/production/src/lib/tenant/clients/TenantProjectClient.cjs.map +1 -0
  854. package/dist/production/src/lib/tenant/clients/TenantProjectClient.js +209 -0
  855. package/dist/production/src/lib/tenant/clients/TenantProjectClient.js.map +1 -0
  856. package/dist/production/src/lib/tenant/clients/index.cjs +21 -0
  857. package/dist/production/src/lib/tenant/clients/index.cjs.map +1 -0
  858. package/dist/production/src/lib/tenant/clients/index.js +21 -0
  859. package/dist/production/src/lib/tenant/clients/index.js.map +1 -0
  860. package/dist/production/src/lib/tenant/confirmation.cjs +23 -0
  861. package/dist/production/src/lib/tenant/confirmation.cjs.map +1 -0
  862. package/dist/production/src/lib/tenant/confirmation.js +23 -0
  863. package/dist/production/src/lib/tenant/confirmation.js.map +1 -0
  864. package/dist/production/src/lib/tenant/input/pagination.cjs +24 -0
  865. package/dist/production/src/lib/tenant/input/pagination.cjs.map +1 -0
  866. package/dist/production/src/lib/tenant/input/pagination.js +24 -0
  867. package/dist/production/src/lib/tenant/input/pagination.js.map +1 -0
  868. package/dist/production/src/lib/tenant/input/value.cjs +71 -0
  869. package/dist/production/src/lib/tenant/input/value.cjs.map +1 -0
  870. package/dist/production/src/lib/tenant/input/value.js +71 -0
  871. package/dist/production/src/lib/tenant/input/value.js.map +1 -0
  872. package/dist/production/src/lib/tenant/stdin.cjs +13 -0
  873. package/dist/production/src/lib/tenant/stdin.cjs.map +1 -0
  874. package/dist/production/src/lib/tenant/stdin.js +13 -0
  875. package/dist/production/src/lib/tenant/stdin.js.map +1 -0
  876. package/dist/production/src/lib/tenant/tenantConfig.cjs.map +1 -1
  877. package/dist/production/src/lib/tenant/tenantConfig.js.map +1 -1
  878. package/dist/production/src/lib/transfer/DataTransferClient.cjs +290 -54
  879. package/dist/production/src/lib/transfer/DataTransferClient.cjs.map +1 -1
  880. package/dist/production/src/lib/transfer/DataTransferClient.js +292 -56
  881. package/dist/production/src/lib/transfer/DataTransferClient.js.map +1 -1
  882. package/dist/production/src/lib/transfer/stdio.cjs +3 -8
  883. package/dist/production/src/lib/transfer/stdio.cjs.map +1 -1
  884. package/dist/production/src/lib/transfer/stdio.js +3 -8
  885. package/dist/production/src/lib/transfer/stdio.js.map +1 -1
  886. package/dist/types/commands/actions/ActionsGetEventCommand.d.ts +6 -4
  887. package/dist/types/commands/actions/ActionsGetEventCommand.d.ts.map +1 -1
  888. package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts +5 -4
  889. package/dist/types/commands/actions/ActionsListFailedEventsCommand.d.ts.map +1 -1
  890. package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts +5 -3
  891. package/dist/types/commands/actions/ActionsListVariablesCommand.d.ts.map +1 -1
  892. package/dist/types/commands/actions/ActionsRetryEventCommand.d.ts +6 -4
  893. package/dist/types/commands/actions/ActionsRetryEventCommand.d.ts.map +1 -1
  894. package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts +5 -3
  895. package/dist/types/commands/actions/ActionsSetVariablesCommand.d.ts.map +1 -1
  896. package/dist/types/commands/actions/ActionsStopEventCommand.d.ts +6 -4
  897. package/dist/types/commands/actions/ActionsStopEventCommand.d.ts.map +1 -1
  898. package/dist/types/commands/deploy/DeployCommand.d.ts +11 -3
  899. package/dist/types/commands/deploy/DeployCommand.d.ts.map +1 -1
  900. package/dist/types/commands/migrations/MigrationAmendCommand.d.ts +3 -2
  901. package/dist/types/commands/migrations/MigrationAmendCommand.d.ts.map +1 -1
  902. package/dist/types/commands/migrations/MigrationBlankCommand.d.ts +2 -2
  903. package/dist/types/commands/migrations/MigrationBlankCommand.d.ts.map +1 -1
  904. package/dist/types/commands/migrations/MigrationDescribeCommand.d.ts +2 -2
  905. package/dist/types/commands/migrations/MigrationDescribeCommand.d.ts.map +1 -1
  906. package/dist/types/commands/migrations/MigrationDiffCommand.d.ts +4 -3
  907. package/dist/types/commands/migrations/MigrationDiffCommand.d.ts.map +1 -1
  908. package/dist/types/commands/migrations/MigrationExecuteCommand.d.ts +4 -3
  909. package/dist/types/commands/migrations/MigrationExecuteCommand.d.ts.map +1 -1
  910. package/dist/types/commands/migrations/MigrationInitStateCommand.d.ts +2 -2
  911. package/dist/types/commands/migrations/MigrationInitStateCommand.d.ts.map +1 -1
  912. package/dist/types/commands/migrations/MigrationRebaseCommand.d.ts +4 -3
  913. package/dist/types/commands/migrations/MigrationRebaseCommand.d.ts.map +1 -1
  914. package/dist/types/commands/migrations/MigrationSnapshotCommand.d.ts +5 -3
  915. package/dist/types/commands/migrations/MigrationSnapshotCommand.d.ts.map +1 -1
  916. package/dist/types/commands/migrations/MigrationStatusCommand.d.ts +9 -3
  917. package/dist/types/commands/migrations/MigrationStatusCommand.d.ts.map +1 -1
  918. package/dist/types/commands/migrations/MigrationVerifySnapshotCommand.d.ts +2 -2
  919. package/dist/types/commands/migrations/MigrationVerifySnapshotCommand.d.ts.map +1 -1
  920. package/dist/types/commands/misc/CommandsCommand.d.ts +13 -0
  921. package/dist/types/commands/misc/CommandsCommand.d.ts.map +1 -0
  922. package/dist/types/commands/misc/VersionCommand.d.ts +11 -4
  923. package/dist/types/commands/misc/VersionCommand.d.ts.map +1 -1
  924. package/dist/types/commands/misc/index.d.ts +1 -0
  925. package/dist/types/commands/misc/index.d.ts.map +1 -1
  926. package/dist/types/commands/project/ProjectGenerateDocumentationCommand.d.ts +5 -3
  927. package/dist/types/commands/project/ProjectGenerateDocumentationCommand.d.ts.map +1 -1
  928. package/dist/types/commands/project/ProjectPrintSchemaCommand.d.ts +2 -2
  929. package/dist/types/commands/project/ProjectPrintSchemaCommand.d.ts.map +1 -1
  930. package/dist/types/commands/project/ProjectValidateCommand.d.ts +3 -3
  931. package/dist/types/commands/project/ProjectValidateCommand.d.ts.map +1 -1
  932. package/dist/types/commands/tenant/TenantApplyCommand.d.ts +10 -3
  933. package/dist/types/commands/tenant/TenantApplyCommand.d.ts.map +1 -1
  934. package/dist/types/commands/tenant/apikey/TenantApiKeyCreateCommand.d.ts +22 -0
  935. package/dist/types/commands/tenant/apikey/TenantApiKeyCreateCommand.d.ts.map +1 -0
  936. package/dist/types/commands/tenant/apikey/TenantApiKeyDisableCommand.d.ts +17 -0
  937. package/dist/types/commands/tenant/apikey/TenantApiKeyDisableCommand.d.ts.map +1 -0
  938. package/dist/types/commands/tenant/apikey/TenantApiKeyListCommand.d.ts +15 -0
  939. package/dist/types/commands/tenant/apikey/TenantApiKeyListCommand.d.ts.map +1 -0
  940. package/dist/types/commands/tenant/apikey/index.d.ts +4 -0
  941. package/dist/types/commands/tenant/apikey/index.d.ts.map +1 -0
  942. package/dist/types/commands/tenant/index.d.ts +5 -0
  943. package/dist/types/commands/tenant/index.d.ts.map +1 -1
  944. package/dist/types/commands/tenant/member/TenantMemberAddCommand.d.ts +19 -0
  945. package/dist/types/commands/tenant/member/TenantMemberAddCommand.d.ts.map +1 -0
  946. package/dist/types/commands/tenant/member/TenantMemberInviteCommand.d.ts +28 -0
  947. package/dist/types/commands/tenant/member/TenantMemberInviteCommand.d.ts.map +1 -0
  948. package/dist/types/commands/tenant/member/TenantMemberInviteUnmanagedCommand.d.ts +36 -0
  949. package/dist/types/commands/tenant/member/TenantMemberInviteUnmanagedCommand.d.ts.map +1 -0
  950. package/dist/types/commands/tenant/member/TenantMemberListCommand.d.ts +21 -0
  951. package/dist/types/commands/tenant/member/TenantMemberListCommand.d.ts.map +1 -0
  952. package/dist/types/commands/tenant/member/TenantMemberRemoveCommand.d.ts +17 -0
  953. package/dist/types/commands/tenant/member/TenantMemberRemoveCommand.d.ts.map +1 -0
  954. package/dist/types/commands/tenant/member/TenantMemberUpdateCommand.d.ts +20 -0
  955. package/dist/types/commands/tenant/member/TenantMemberUpdateCommand.d.ts.map +1 -0
  956. package/dist/types/commands/tenant/member/index.d.ts +7 -0
  957. package/dist/types/commands/tenant/member/index.d.ts.map +1 -0
  958. package/dist/types/commands/tenant/member/memberOptions.d.ts +16 -0
  959. package/dist/types/commands/tenant/member/memberOptions.d.ts.map +1 -0
  960. package/dist/types/commands/tenant/member/membershipInput.d.ts +44 -0
  961. package/dist/types/commands/tenant/member/membershipInput.d.ts.map +1 -0
  962. package/dist/types/commands/tenant/person/TenantIdentityRoleAddCommand.d.ts +15 -0
  963. package/dist/types/commands/tenant/person/TenantIdentityRoleAddCommand.d.ts.map +1 -0
  964. package/dist/types/commands/tenant/person/TenantIdentityRoleRemoveCommand.d.ts +17 -0
  965. package/dist/types/commands/tenant/person/TenantIdentityRoleRemoveCommand.d.ts.map +1 -0
  966. package/dist/types/commands/tenant/person/TenantPersonCreateCommand.d.ts +25 -0
  967. package/dist/types/commands/tenant/person/TenantPersonCreateCommand.d.ts.map +1 -0
  968. package/dist/types/commands/tenant/person/TenantPersonDisableCommand.d.ts +16 -0
  969. package/dist/types/commands/tenant/person/TenantPersonDisableCommand.d.ts.map +1 -0
  970. package/dist/types/commands/tenant/person/TenantPersonListCommand.d.ts +18 -0
  971. package/dist/types/commands/tenant/person/TenantPersonListCommand.d.ts.map +1 -0
  972. package/dist/types/commands/tenant/person/TenantPersonResetMfaCommand.d.ts +16 -0
  973. package/dist/types/commands/tenant/person/TenantPersonResetMfaCommand.d.ts.map +1 -0
  974. package/dist/types/commands/tenant/person/TenantPersonResetPasswordRequestCommand.d.ts +21 -0
  975. package/dist/types/commands/tenant/person/TenantPersonResetPasswordRequestCommand.d.ts.map +1 -0
  976. package/dist/types/commands/tenant/person/TenantPersonSetPasswordCommand.d.ts +20 -0
  977. package/dist/types/commands/tenant/person/TenantPersonSetPasswordCommand.d.ts.map +1 -0
  978. package/dist/types/commands/tenant/person/TenantPersonShowCommand.d.ts +14 -0
  979. package/dist/types/commands/tenant/person/TenantPersonShowCommand.d.ts.map +1 -0
  980. package/dist/types/commands/tenant/person/TenantPersonSignOutCommand.d.ts +17 -0
  981. package/dist/types/commands/tenant/person/TenantPersonSignOutCommand.d.ts.map +1 -0
  982. package/dist/types/commands/tenant/person/TenantPersonUpdateCommand.d.ts +17 -0
  983. package/dist/types/commands/tenant/person/TenantPersonUpdateCommand.d.ts.map +1 -0
  984. package/dist/types/commands/tenant/person/TenantSessionCreateCommand.d.ts +18 -0
  985. package/dist/types/commands/tenant/person/TenantSessionCreateCommand.d.ts.map +1 -0
  986. package/dist/types/commands/tenant/person/index.d.ts +13 -0
  987. package/dist/types/commands/tenant/person/index.d.ts.map +1 -0
  988. package/dist/types/commands/tenant/person/personInput.d.ts +37 -0
  989. package/dist/types/commands/tenant/person/personInput.d.ts.map +1 -0
  990. package/dist/types/commands/tenant/policy/TenantAuthLogCommand.d.ts +35 -0
  991. package/dist/types/commands/tenant/policy/TenantAuthLogCommand.d.ts.map +1 -0
  992. package/dist/types/commands/tenant/policy/TenantMailTemplateAddCommand.d.ts +30 -0
  993. package/dist/types/commands/tenant/policy/TenantMailTemplateAddCommand.d.ts.map +1 -0
  994. package/dist/types/commands/tenant/policy/TenantMailTemplateListCommand.d.ts +12 -0
  995. package/dist/types/commands/tenant/policy/TenantMailTemplateListCommand.d.ts.map +1 -0
  996. package/dist/types/commands/tenant/policy/TenantMailTemplateRemoveCommand.d.ts +19 -0
  997. package/dist/types/commands/tenant/policy/TenantMailTemplateRemoveCommand.d.ts.map +1 -0
  998. package/dist/types/commands/tenant/policy/TenantPolicyCreateCommand.d.ts +17 -0
  999. package/dist/types/commands/tenant/policy/TenantPolicyCreateCommand.d.ts.map +1 -0
  1000. package/dist/types/commands/tenant/policy/TenantPolicyDeleteCommand.d.ts +16 -0
  1001. package/dist/types/commands/tenant/policy/TenantPolicyDeleteCommand.d.ts.map +1 -0
  1002. package/dist/types/commands/tenant/policy/TenantPolicyListCommand.d.ts +12 -0
  1003. package/dist/types/commands/tenant/policy/TenantPolicyListCommand.d.ts.map +1 -0
  1004. package/dist/types/commands/tenant/policy/TenantPolicyUpdateCommand.d.ts +19 -0
  1005. package/dist/types/commands/tenant/policy/TenantPolicyUpdateCommand.d.ts.map +1 -0
  1006. package/dist/types/commands/tenant/policy/index.d.ts +9 -0
  1007. package/dist/types/commands/tenant/policy/index.d.ts.map +1 -0
  1008. package/dist/types/commands/tenant/policy/policyInput.d.ts +41 -0
  1009. package/dist/types/commands/tenant/policy/policyInput.d.ts.map +1 -0
  1010. package/dist/types/commands/tenant/project/TenantConfigShowCommand.d.ts +12 -0
  1011. package/dist/types/commands/tenant/project/TenantConfigShowCommand.d.ts.map +1 -0
  1012. package/dist/types/commands/tenant/project/TenantIdpListCommand.d.ts +12 -0
  1013. package/dist/types/commands/tenant/project/TenantIdpListCommand.d.ts.map +1 -0
  1014. package/dist/types/commands/tenant/project/TenantProjectCreateCommand.d.ts +22 -0
  1015. package/dist/types/commands/tenant/project/TenantProjectCreateCommand.d.ts.map +1 -0
  1016. package/dist/types/commands/tenant/project/TenantProjectListCommand.d.ts +12 -0
  1017. package/dist/types/commands/tenant/project/TenantProjectListCommand.d.ts.map +1 -0
  1018. package/dist/types/commands/tenant/project/TenantProjectSecretSetCommand.d.ts +21 -0
  1019. package/dist/types/commands/tenant/project/TenantProjectSecretSetCommand.d.ts.map +1 -0
  1020. package/dist/types/commands/tenant/project/TenantProjectShowCommand.d.ts +14 -0
  1021. package/dist/types/commands/tenant/project/TenantProjectShowCommand.d.ts.map +1 -0
  1022. package/dist/types/commands/tenant/project/TenantProjectUpdateCommand.d.ts +21 -0
  1023. package/dist/types/commands/tenant/project/TenantProjectUpdateCommand.d.ts.map +1 -0
  1024. package/dist/types/commands/tenant/project/TenantWhoAmICommand.d.ts +12 -0
  1025. package/dist/types/commands/tenant/project/TenantWhoAmICommand.d.ts.map +1 -0
  1026. package/dist/types/commands/tenant/project/index.d.ts +9 -0
  1027. package/dist/types/commands/tenant/project/index.d.ts.map +1 -0
  1028. package/dist/types/commands/tenant/project/jsonConfigOption.d.ts +9 -0
  1029. package/dist/types/commands/tenant/project/jsonConfigOption.d.ts.map +1 -0
  1030. package/dist/types/commands/tenant/tenantOutput.d.ts +7 -0
  1031. package/dist/types/commands/tenant/tenantOutput.d.ts.map +1 -0
  1032. package/dist/types/commands/transfer/ExportCommand.d.ts +8 -2
  1033. package/dist/types/commands/transfer/ExportCommand.d.ts.map +1 -1
  1034. package/dist/types/commands/transfer/ImportCommand.d.ts +15 -3
  1035. package/dist/types/commands/transfer/ImportCommand.d.ts.map +1 -1
  1036. package/dist/types/commands/transfer/TransferCommand.d.ts +14 -2
  1037. package/dist/types/commands/transfer/TransferCommand.d.ts.map +1 -1
  1038. package/dist/types/commands/transfer/utils.d.ts +2 -2
  1039. package/dist/types/commands/transfer/utils.d.ts.map +1 -1
  1040. package/dist/types/commands/workspace/WorkspaceUpdateApiCommand.d.ts +27 -4
  1041. package/dist/types/commands/workspace/WorkspaceUpdateApiCommand.d.ts.map +1 -1
  1042. package/dist/types/dic.d.ts +93 -6
  1043. package/dist/types/dic.d.ts.map +1 -1
  1044. package/dist/types/lib/SystemClientProvider.d.ts +4 -1
  1045. package/dist/types/lib/SystemClientProvider.d.ts.map +1 -1
  1046. package/dist/types/lib/TenantClientProvider.d.ts +14 -5
  1047. package/dist/types/lib/TenantClientProvider.d.ts.map +1 -1
  1048. package/dist/types/lib/VersionChecker.d.ts.map +1 -1
  1049. package/dist/types/lib/actions/ActionsClient.d.ts +17 -8
  1050. package/dist/types/lib/actions/ActionsClient.d.ts.map +1 -1
  1051. package/dist/types/lib/actions/resolveActionsClient.d.ts +7 -0
  1052. package/dist/types/lib/actions/resolveActionsClient.d.ts.map +1 -0
  1053. package/dist/types/lib/actions/runActionMutationBatch.d.ts +23 -0
  1054. package/dist/types/lib/actions/runActionMutationBatch.d.ts.map +1 -0
  1055. package/dist/types/lib/admin/AdminClient.d.ts +1 -0
  1056. package/dist/types/lib/admin/AdminClient.d.ts.map +1 -1
  1057. package/dist/types/lib/admin/AdminDeployer.d.ts +3 -1
  1058. package/dist/types/lib/admin/AdminDeployer.d.ts.map +1 -1
  1059. package/dist/types/lib/dsn.d.ts.map +1 -1
  1060. package/dist/types/lib/errors/TransportError.d.ts +29 -0
  1061. package/dist/types/lib/errors/TransportError.d.ts.map +1 -0
  1062. package/dist/types/lib/errors/index.d.ts +2 -0
  1063. package/dist/types/lib/errors/index.d.ts.map +1 -0
  1064. package/dist/types/lib/fs/DockerComposeManager.d.ts.map +1 -1
  1065. package/dist/types/lib/fs/FileSystem.d.ts.map +1 -1
  1066. package/dist/types/lib/fs/YamlHandler.d.ts.map +1 -1
  1067. package/dist/types/lib/js/EsBuildBuilder.d.ts.map +1 -1
  1068. package/dist/types/lib/js/EvalExecutor.d.ts.map +1 -1
  1069. package/dist/types/lib/js/JsCodeRunner.d.ts.map +1 -1
  1070. package/dist/types/lib/maskToken.d.ts +1 -0
  1071. package/dist/types/lib/maskToken.d.ts.map +1 -1
  1072. package/dist/types/lib/migrations/MigrationExecutionFacade.d.ts +8 -3
  1073. package/dist/types/lib/migrations/MigrationExecutionFacade.d.ts.map +1 -1
  1074. package/dist/types/lib/migrations/MigrationPrinter.d.ts +28 -2
  1075. package/dist/types/lib/migrations/MigrationPrinter.d.ts.map +1 -1
  1076. package/dist/types/lib/migrations/MigrationRebaseFacade.d.ts.map +1 -1
  1077. package/dist/types/lib/migrations/MigrationSnapshotFacade.d.ts +6 -3
  1078. package/dist/types/lib/migrations/MigrationSnapshotFacade.d.ts.map +1 -1
  1079. package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts +13 -2
  1080. package/dist/types/lib/migrations/MigrationsStatusFacade.d.ts.map +1 -1
  1081. package/dist/types/lib/migrations/MigrationsValidator.d.ts +3 -1
  1082. package/dist/types/lib/migrations/MigrationsValidator.d.ts.map +1 -1
  1083. package/dist/types/lib/project/RemoteProject.d.ts.map +1 -1
  1084. package/dist/types/lib/project/RemoteProjectProvider.d.ts.map +1 -1
  1085. package/dist/types/lib/project/RemoteProjectResolver.d.ts.map +1 -1
  1086. package/dist/types/lib/project/docs/components/EntityInfo.d.ts.map +1 -1
  1087. package/dist/types/lib/project/docs/components/EntityLink.d.ts.map +1 -1
  1088. package/dist/types/lib/project/docs/components/FieldLink.d.ts.map +1 -1
  1089. package/dist/types/lib/project/docs/components/FieldPermissions.d.ts.map +1 -1
  1090. package/dist/types/lib/project/docs/components/FieldType.d.ts.map +1 -1
  1091. package/dist/types/lib/project/docs/components/OnDelete.d.ts.map +1 -1
  1092. package/dist/types/lib/project/docs/components/ProjectInfo.d.ts.map +1 -1
  1093. package/dist/types/lib/project/docs/components/SinglePermission.d.ts.map +1 -1
  1094. package/dist/types/lib/project/docs/components/utils.d.ts.map +1 -1
  1095. package/dist/types/lib/project/docs/projectDescribe.d.ts.map +1 -1
  1096. package/dist/types/lib/prompt/index.d.ts +2 -0
  1097. package/dist/types/lib/prompt/index.d.ts.map +1 -0
  1098. package/dist/types/lib/prompt/prompt.d.ts +6 -0
  1099. package/dist/types/lib/prompt/prompt.d.ts.map +1 -0
  1100. package/dist/types/lib/prompt/prompt.internal.d.ts +37 -0
  1101. package/dist/types/lib/prompt/prompt.internal.d.ts.map +1 -0
  1102. package/dist/types/lib/prompt/prompt.test.d.ts +2 -0
  1103. package/dist/types/lib/prompt/prompt.test.d.ts.map +1 -0
  1104. package/dist/types/lib/schema/SchemaLoader.d.ts.map +1 -1
  1105. package/dist/types/lib/schema/SchemaValidationHelper.d.ts +2 -1
  1106. package/dist/types/lib/schema/SchemaValidationHelper.d.ts.map +1 -1
  1107. package/dist/types/lib/schema/SchemaValidationPrinter.d.ts +2 -1
  1108. package/dist/types/lib/schema/SchemaValidationPrinter.d.ts.map +1 -1
  1109. package/dist/types/lib/schema/collectReferences.d.ts.map +1 -1
  1110. package/dist/types/lib/stream.d.ts.map +1 -1
  1111. package/dist/types/lib/tenant/TenantApiTransport.d.ts +47 -0
  1112. package/dist/types/lib/tenant/TenantApiTransport.d.ts.map +1 -0
  1113. package/dist/types/lib/tenant/TenantConfigApplier.d.ts +37 -3
  1114. package/dist/types/lib/tenant/TenantConfigApplier.d.ts.map +1 -1
  1115. package/dist/types/lib/tenant/TenantConfigLoader.d.ts.map +1 -1
  1116. package/dist/types/lib/tenant/TenantConnection.d.ts +8 -0
  1117. package/dist/types/lib/tenant/TenantConnection.d.ts.map +1 -0
  1118. package/dist/types/lib/tenant/TenantConnectionProvider.d.ts +8 -0
  1119. package/dist/types/lib/tenant/TenantConnectionProvider.d.ts.map +1 -0
  1120. package/dist/types/lib/tenant/TenantConnectionResolver.d.ts +8 -0
  1121. package/dist/types/lib/tenant/TenantConnectionResolver.d.ts.map +1 -0
  1122. package/dist/types/lib/tenant/authPolicy.d.ts +17 -0
  1123. package/dist/types/lib/tenant/authPolicy.d.ts.map +1 -0
  1124. package/dist/types/lib/tenant/clients/TenantApiKeyClient.d.ts +56 -0
  1125. package/dist/types/lib/tenant/clients/TenantApiKeyClient.d.ts.map +1 -0
  1126. package/dist/types/lib/tenant/clients/TenantMemberClient.d.ts +68 -0
  1127. package/dist/types/lib/tenant/clients/TenantMemberClient.d.ts.map +1 -0
  1128. package/dist/types/lib/tenant/clients/TenantPersonClient.d.ts +97 -0
  1129. package/dist/types/lib/tenant/clients/TenantPersonClient.d.ts.map +1 -0
  1130. package/dist/types/lib/tenant/clients/TenantPolicyClient.d.ts +69 -0
  1131. package/dist/types/lib/tenant/clients/TenantPolicyClient.d.ts.map +1 -0
  1132. package/dist/types/lib/tenant/clients/TenantProjectClient.d.ts +162 -0
  1133. package/dist/types/lib/tenant/clients/TenantProjectClient.d.ts.map +1 -0
  1134. package/dist/types/lib/tenant/clients/index.d.ts +21 -0
  1135. package/dist/types/lib/tenant/clients/index.d.ts.map +1 -0
  1136. package/dist/types/lib/tenant/confirmation.d.ts +14 -0
  1137. package/dist/types/lib/tenant/confirmation.d.ts.map +1 -0
  1138. package/dist/types/lib/tenant/input/index.d.ts +3 -0
  1139. package/dist/types/lib/tenant/input/index.d.ts.map +1 -0
  1140. package/dist/types/lib/tenant/input/pagination.d.ts +7 -0
  1141. package/dist/types/lib/tenant/input/pagination.d.ts.map +1 -0
  1142. package/dist/types/lib/tenant/input/value.d.ts +45 -0
  1143. package/dist/types/lib/tenant/input/value.d.ts.map +1 -0
  1144. package/dist/types/lib/tenant/stdin.d.ts +8 -0
  1145. package/dist/types/lib/tenant/stdin.d.ts.map +1 -0
  1146. package/dist/types/lib/tenant/tenantConfig.d.ts +20 -22
  1147. package/dist/types/lib/tenant/tenantConfig.d.ts.map +1 -1
  1148. package/dist/types/lib/transfer/DataTransferClient.d.ts +8 -2
  1149. package/dist/types/lib/transfer/DataTransferClient.d.ts.map +1 -1
  1150. package/dist/types/lib/transfer/stdio.d.ts +3 -1
  1151. package/dist/types/lib/transfer/stdio.d.ts.map +1 -1
  1152. package/dist/types/lib/workspace/WorkspaceResolver.d.ts.map +1 -1
  1153. package/dist/types/tsconfig.tsbuildinfo +1 -1
  1154. package/package.json +14 -14
  1155. package/src/commands/actions/ActionsGetEventCommand.ts +38 -16
  1156. package/src/commands/actions/ActionsListFailedEventsCommand.ts +24 -43
  1157. package/src/commands/actions/ActionsListVariablesCommand.ts +15 -13
  1158. package/src/commands/actions/ActionsRetryEventCommand.ts +36 -18
  1159. package/src/commands/actions/ActionsSetVariablesCommand.ts +56 -28
  1160. package/src/commands/actions/ActionsStopEventCommand.ts +36 -18
  1161. package/src/commands/deploy/DeployCommand.ts +69 -30
  1162. package/src/commands/migrations/MigrationAmendCommand.ts +69 -26
  1163. package/src/commands/migrations/MigrationBlankCommand.ts +3 -3
  1164. package/src/commands/migrations/MigrationDescribeCommand.ts +9 -4
  1165. package/src/commands/migrations/MigrationDiffCommand.ts +83 -31
  1166. package/src/commands/migrations/MigrationExecuteCommand.ts +11 -4
  1167. package/src/commands/migrations/MigrationInitStateCommand.ts +18 -5
  1168. package/src/commands/migrations/MigrationRebaseCommand.ts +28 -6
  1169. package/src/commands/migrations/MigrationSnapshotCommand.ts +45 -10
  1170. package/src/commands/migrations/MigrationStatusCommand.ts +20 -12
  1171. package/src/commands/migrations/MigrationVerifySnapshotCommand.ts +7 -8
  1172. package/src/commands/misc/CommandsCommand.ts +74 -0
  1173. package/src/commands/misc/VersionCommand.ts +13 -6
  1174. package/src/commands/misc/index.ts +1 -0
  1175. package/src/commands/project/ProjectGenerateDocumentationCommand.ts +12 -13
  1176. package/src/commands/project/ProjectPrintSchemaCommand.ts +19 -17
  1177. package/src/commands/project/ProjectValidateCommand.ts +52 -18
  1178. package/src/commands/tenant/TenantApplyCommand.ts +45 -13
  1179. package/src/commands/tenant/apikey/TenantApiKeyCreateCommand.ts +102 -0
  1180. package/src/commands/tenant/apikey/TenantApiKeyDisableCommand.ts +47 -0
  1181. package/src/commands/tenant/apikey/TenantApiKeyListCommand.ts +64 -0
  1182. package/src/commands/tenant/apikey/index.ts +4 -0
  1183. package/src/commands/tenant/index.ts +5 -0
  1184. package/src/commands/tenant/member/TenantMemberAddCommand.ts +48 -0
  1185. package/src/commands/tenant/member/TenantMemberInviteCommand.ts +88 -0
  1186. package/src/commands/tenant/member/TenantMemberInviteUnmanagedCommand.ts +135 -0
  1187. package/src/commands/tenant/member/TenantMemberListCommand.ts +94 -0
  1188. package/src/commands/tenant/member/TenantMemberRemoveCommand.ts +48 -0
  1189. package/src/commands/tenant/member/TenantMemberUpdateCommand.ts +58 -0
  1190. package/src/commands/tenant/member/index.ts +9 -0
  1191. package/src/commands/tenant/member/memberOptions.ts +29 -0
  1192. package/src/commands/tenant/member/membershipInput.ts +155 -0
  1193. package/src/commands/tenant/person/TenantIdentityRoleAddCommand.ts +44 -0
  1194. package/src/commands/tenant/person/TenantIdentityRoleRemoveCommand.ts +54 -0
  1195. package/src/commands/tenant/person/TenantPersonCreateCommand.ts +98 -0
  1196. package/src/commands/tenant/person/TenantPersonDisableCommand.ts +46 -0
  1197. package/src/commands/tenant/person/TenantPersonListCommand.ts +68 -0
  1198. package/src/commands/tenant/person/TenantPersonResetMfaCommand.ts +59 -0
  1199. package/src/commands/tenant/person/TenantPersonResetPasswordRequestCommand.ts +67 -0
  1200. package/src/commands/tenant/person/TenantPersonSetPasswordCommand.ts +66 -0
  1201. package/src/commands/tenant/person/TenantPersonShowCommand.ts +70 -0
  1202. package/src/commands/tenant/person/TenantPersonSignOutCommand.ts +60 -0
  1203. package/src/commands/tenant/person/TenantPersonUpdateCommand.ts +55 -0
  1204. package/src/commands/tenant/person/TenantSessionCreateCommand.ts +79 -0
  1205. package/src/commands/tenant/person/index.ts +15 -0
  1206. package/src/commands/tenant/person/personInput.ts +112 -0
  1207. package/src/commands/tenant/policy/TenantAuthLogCommand.ts +141 -0
  1208. package/src/commands/tenant/policy/TenantMailTemplateAddCommand.ts +92 -0
  1209. package/src/commands/tenant/policy/TenantMailTemplateListCommand.ts +50 -0
  1210. package/src/commands/tenant/policy/TenantMailTemplateRemoveCommand.ts +63 -0
  1211. package/src/commands/tenant/policy/TenantPolicyCreateCommand.ts +46 -0
  1212. package/src/commands/tenant/policy/TenantPolicyDeleteCommand.ts +42 -0
  1213. package/src/commands/tenant/policy/TenantPolicyListCommand.ts +39 -0
  1214. package/src/commands/tenant/policy/TenantPolicyUpdateCommand.ts +51 -0
  1215. package/src/commands/tenant/policy/index.ts +9 -0
  1216. package/src/commands/tenant/policy/policyInput.ts +210 -0
  1217. package/src/commands/tenant/project/TenantConfigShowCommand.ts +28 -0
  1218. package/src/commands/tenant/project/TenantIdpListCommand.ts +27 -0
  1219. package/src/commands/tenant/project/TenantProjectCreateCommand.ts +67 -0
  1220. package/src/commands/tenant/project/TenantProjectListCommand.ts +27 -0
  1221. package/src/commands/tenant/project/TenantProjectSecretSetCommand.ts +63 -0
  1222. package/src/commands/tenant/project/TenantProjectShowCommand.ts +29 -0
  1223. package/src/commands/tenant/project/TenantProjectUpdateCommand.ts +66 -0
  1224. package/src/commands/tenant/project/TenantWhoAmICommand.ts +22 -0
  1225. package/src/commands/tenant/project/index.ts +9 -0
  1226. package/src/commands/tenant/project/jsonConfigOption.ts +33 -0
  1227. package/src/commands/tenant/tenantOutput.ts +35 -0
  1228. package/src/commands/transfer/ExportCommand.ts +46 -29
  1229. package/src/commands/transfer/ImportCommand.ts +87 -34
  1230. package/src/commands/transfer/TransferCommand.ts +94 -34
  1231. package/src/commands/transfer/utils.ts +12 -11
  1232. package/src/commands/workspace/WorkspaceUpdateApiCommand.ts +135 -36
  1233. package/src/dic.ts +198 -47
  1234. package/src/lib/SystemClientProvider.ts +75 -1
  1235. package/src/lib/TenantClientProvider.ts +44 -6
  1236. package/src/lib/actions/ActionsClient.ts +38 -14
  1237. package/src/lib/actions/resolveActionsClient.ts +15 -0
  1238. package/src/lib/actions/runActionMutationBatch.ts +69 -0
  1239. package/src/lib/admin/AdminClient.ts +39 -12
  1240. package/src/lib/admin/AdminDeployer.ts +4 -2
  1241. package/src/lib/errors/TransportError.ts +260 -0
  1242. package/src/lib/errors/index.ts +1 -0
  1243. package/src/lib/maskToken.ts +9 -1
  1244. package/src/lib/migrations/MigrationExecutionFacade.ts +117 -59
  1245. package/src/lib/migrations/MigrationPrinter.ts +100 -64
  1246. package/src/lib/migrations/MigrationRebaseFacade.ts +2 -1
  1247. package/src/lib/migrations/MigrationSnapshotFacade.ts +15 -10
  1248. package/src/lib/migrations/MigrationsStatusFacade.ts +17 -3
  1249. package/src/lib/migrations/MigrationsValidator.ts +4 -2
  1250. package/src/lib/project/RemoteProjectProvider.ts +6 -1
  1251. package/src/lib/prompt/index.ts +1 -0
  1252. package/src/lib/prompt/prompt.internal.ts +69 -0
  1253. package/src/lib/prompt/prompt.test.ts +100 -0
  1254. package/src/lib/prompt/prompt.ts +23 -0
  1255. package/src/lib/schema/SchemaValidationHelper.ts +8 -2
  1256. package/src/lib/schema/SchemaValidationPrinter.ts +5 -4
  1257. package/src/lib/tenant/TenantApiTransport.ts +200 -0
  1258. package/src/lib/tenant/TenantConfigApplier.ts +172 -29
  1259. package/src/lib/tenant/TenantConnection.ts +8 -0
  1260. package/src/lib/tenant/TenantConnectionProvider.ts +21 -0
  1261. package/src/lib/tenant/TenantConnectionResolver.ts +31 -0
  1262. package/src/lib/tenant/authPolicy.ts +20 -0
  1263. package/src/lib/tenant/clients/README.md +84 -0
  1264. package/src/lib/tenant/clients/TenantApiKeyClient.ts +182 -0
  1265. package/src/lib/tenant/clients/TenantMemberClient.ts +199 -0
  1266. package/src/lib/tenant/clients/TenantPersonClient.ts +306 -0
  1267. package/src/lib/tenant/clients/TenantPolicyClient.ts +192 -0
  1268. package/src/lib/tenant/clients/TenantProjectClient.ts +425 -0
  1269. package/src/lib/tenant/clients/index.ts +29 -0
  1270. package/src/lib/tenant/confirmation.ts +32 -0
  1271. package/src/lib/tenant/input/index.ts +2 -0
  1272. package/src/lib/tenant/input/pagination.ts +39 -0
  1273. package/src/lib/tenant/input/value.ts +149 -0
  1274. package/src/lib/tenant/stdin.ts +16 -0
  1275. package/src/lib/tenant/tenantConfig.ts +23 -25
  1276. package/src/lib/transfer/DataTransferClient.ts +354 -59
  1277. package/src/lib/transfer/stdio.ts +5 -7
  1278. package/src/run.ts +19 -3
  1279. package/tests/cases/unit/MigrationAmendCommand.test.ts +17 -2
  1280. package/tests/cases/unit/MigrationDiffCommand.test.ts +182 -0
  1281. package/tests/cases/unit/MigrationExecuteCommand.test.ts +58 -0
  1282. package/tests/cases/unit/MigrationExecutionFacade.test.ts +341 -54
  1283. package/tests/cases/unit/MigrationInitStateCommand.test.ts +72 -0
  1284. package/tests/cases/unit/MigrationRebaseCommand.test.ts +59 -0
  1285. package/tests/cases/unit/MigrationSnapshotFacade.test.ts +75 -13
  1286. package/tests/cases/unit/MigrationStatusCommand.test.ts +197 -0
  1287. package/tests/cases/unit/MigrationsValidator.test.ts +61 -0
  1288. package/tests/cases/unit/actions.test.ts +802 -0
  1289. package/tests/cases/unit/cli-process.test.ts +266 -0
  1290. package/tests/cases/unit/command-registry.test.ts +214 -0
  1291. package/tests/cases/unit/deploy.test.ts +505 -0
  1292. package/tests/cases/unit/migration-transport.test.ts +156 -0
  1293. package/tests/cases/unit/project.test.ts +223 -0
  1294. package/tests/cases/unit/structured-output.test.ts +189 -0
  1295. package/tests/cases/unit/tenant-apikey.test.ts +645 -0
  1296. package/tests/cases/unit/tenant-apply-command.test.ts +247 -0
  1297. package/tests/cases/unit/tenant-clients.test.ts +130 -0
  1298. package/tests/cases/unit/tenant-connection.test.ts +91 -0
  1299. package/tests/cases/unit/tenant-input.test.ts +275 -0
  1300. package/tests/cases/unit/tenant-member.test.ts +683 -0
  1301. package/tests/cases/unit/tenant-person.test.ts +857 -0
  1302. package/tests/cases/unit/tenant-policy.test.ts +799 -0
  1303. package/tests/cases/unit/tenant-project.test.ts +634 -0
  1304. package/tests/cases/unit/tenant-transport.test.ts +322 -0
  1305. package/tests/cases/unit/transfer.test.ts +714 -0
  1306. package/tests/cases/unit/transport-errors.test.ts +78 -0
  1307. package/tests/cases/unit/workspace-update-api.test.ts +152 -0
  1308. package/tests/tenantConfigApplier.test.ts +275 -38
  1309. package/dist/development/src/lib/tenant/TenantClient.cjs +0 -104
  1310. package/dist/development/src/lib/tenant/TenantClient.cjs.map +0 -1
  1311. package/dist/development/src/lib/tenant/TenantClient.js +0 -104
  1312. package/dist/development/src/lib/tenant/TenantClient.js.map +0 -1
  1313. package/dist/production/src/lib/tenant/TenantClient.cjs +0 -104
  1314. package/dist/production/src/lib/tenant/TenantClient.cjs.map +0 -1
  1315. package/dist/production/src/lib/tenant/TenantClient.js +0 -104
  1316. package/dist/production/src/lib/tenant/TenantClient.js.map +0 -1
  1317. package/dist/types/lib/tenant/TenantClient.d.ts +0 -24
  1318. package/dist/types/lib/tenant/TenantClient.d.ts.map +0 -1
  1319. package/src/lib/tenant/TenantClient.ts +0 -149
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const cliCommon = require("@contember/cli-common");
4
4
  const schemaMigrations = require("@contember/schema-migrations");
5
- const prompts = require("prompts");
6
5
  const schemaUtils = require("@contember/schema-utils");
7
6
  const migrationsClient = require("@contember/migrations-client");
8
7
  const SchemaValidationPrinter = require("../../lib/schema/SchemaValidationPrinter.cjs");
8
+ const prompt = require("../../lib/prompt/prompt.cjs");
9
9
  class MigrationAmendCommand extends cliCommon.Command {
10
10
  constructor(migrationsResolver, systemApiClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator, schemaStateManager) {
11
11
  super();
@@ -26,16 +26,19 @@ class MigrationAmendCommand extends cliCommon.Command {
26
26
  configuration.option("force").description("Ignore migrations order and missing migrations (dev only)");
27
27
  configuration.option("yes").valueNone().description("Do not ask for confirmation.");
28
28
  }
29
- async execute(input) {
29
+ async execute(input, output) {
30
30
  const migrationName = input.getArgument("migration");
31
31
  const amendMigration = migrationName ? await this.migrationsResolver.findSchemaMigrationByVersion(migrationName) : await this.migrationsResolver.findLatestSchemaMigration();
32
32
  if (!amendMigration) {
33
- throw "No migration to amend";
33
+ throw new cliCommon.CliError("No migration to amend", { code: "MIGRATION_NOT_FOUND", exitCode: cliCommon.ExitCode.NotFound });
34
34
  }
35
35
  const force = input.getOption("force");
36
36
  const status = await this.migrationsStatusFacade.resolveMigrationsStatus({ force });
37
37
  if (status.migrationsToExecute.length > 0) {
38
- throw `Some migrations are not executed. Unable to amend.`;
38
+ throw new cliCommon.CliError("Some migrations are not executed. Unable to amend.", {
39
+ code: "MIGRATIONS_NOT_EXECUTED",
40
+ exitCode: cliCommon.ExitCode.InputError
41
+ });
39
42
  }
40
43
  const schema = await this.schemaLoader.loadSchema();
41
44
  const stateMode = await this.schemaStateManager.isStateMode();
@@ -48,15 +51,27 @@ class MigrationAmendCommand extends cliCommon.Command {
48
51
  const stateChanged = schemaState ? await this.schemaStateManager.writeState(schemaState, { dryRun: true }) : false;
49
52
  if (intermediateResult === null) {
50
53
  if (stateChanged) {
54
+ if (!await this.shouldContinue(input, output)) {
55
+ throw abortedError("Migration amendment");
56
+ }
57
+ if (schemaState === void 0) {
58
+ throw new cliCommon.CliError("Schema state is unavailable", { code: "SCHEMA_STATE_UNAVAILABLE", exitCode: cliCommon.ExitCode.InternalError });
59
+ }
51
60
  await this.schemaStateManager.writeState(schemaState);
52
- console.log("Schema state updated (no model changes)");
53
61
  } else {
54
- console.log("Nothing to do");
62
+ output.info("Nothing to do");
55
63
  }
64
+ output.data(
65
+ { migration: amendMigration.name, stateUpdated: stateChanged, changed: stateChanged },
66
+ { human: (value) => value.changed ? "Schema state updated (no model changes)" : "Nothing to do", quiet: (value) => value.migration }
67
+ );
56
68
  return 0;
57
69
  }
58
70
  if (amendMigration.formatVersion !== intermediateResult.migration.formatVersion) {
59
- throw "Incompatible migration format version";
71
+ throw new cliCommon.CliError("Incompatible migration format version", {
72
+ code: "MIGRATION_FORMAT_INCOMPATIBLE",
73
+ exitCode: cliCommon.ExitCode.InputError
74
+ });
60
75
  }
61
76
  const prevSchema = await this.schemaVersionBuilder.buildSchemaAdvanced(
62
77
  schemaUtils.emptySchema,
@@ -78,29 +93,31 @@ class MigrationAmendCommand extends cliCommon.Command {
78
93
  [...newMigrationResult ? [newMigrationResult.migration] : [], ...followingMigrations]
79
94
  );
80
95
  if (!valid) {
81
- throw `Cannot amend migration`;
96
+ throw new cliCommon.CliError("Cannot amend migration", { code: "MIGRATIONS_INVALID", exitCode: cliCommon.ExitCode.InputError });
82
97
  }
83
98
  this.migrationPrinter.printMigrationDescription(
84
99
  intermediateResult.initialSchema,
85
100
  intermediateResult.migration,
86
101
  { noSql: true }
87
102
  );
88
- console.log(`Amending ${amendMigration.name}`);
89
- if (!await this.shouldContinue(input)) {
90
- console.log("Aborting");
91
- return 1;
103
+ output.info(`Amending ${amendMigration.name}`);
104
+ if (!await this.shouldContinue(input, output)) {
105
+ throw abortedError("Migration amendment");
92
106
  }
93
107
  const systemClient = this.systemApiClientProvider.get();
94
108
  await systemClient.migrate([intermediateResult.migration], force);
95
109
  await systemClient.migrationDelete(intermediateResult.migration.version);
96
- if (!newMigrationResult && await this.shouldRemove()) {
110
+ if (!newMigrationResult && await this.shouldRemove(input, output)) {
97
111
  await this.migrationCreator.removeMigration(amendMigration.name);
98
112
  await systemClient.migrationDelete(amendMigration.version);
99
113
  if (schemaState) {
100
114
  await this.schemaStateManager.writeState(schemaState);
101
115
  await systemClient.migrate([], force, schemaState);
102
116
  }
103
- console.log("Latest migration was removed");
117
+ output.data(
118
+ { migration: amendMigration.name, removed: true, stateUpdated: schemaState !== void 0 },
119
+ { human: () => "Latest migration was removed", quiet: (value) => value.migration }
120
+ );
104
121
  return 0;
105
122
  }
106
123
  const newMigration = {
@@ -115,23 +132,31 @@ class MigrationAmendCommand extends cliCommon.Command {
115
132
  await this.schemaStateManager.writeState(schemaState);
116
133
  await systemClient.migrate([], force, schemaState);
117
134
  }
135
+ output.data(
136
+ { migration: amendMigration.name, removed: false, stateUpdated: schemaState !== void 0 },
137
+ { human: (value) => `Amended ${value.migration}`, quiet: (value) => value.migration }
138
+ );
118
139
  return 0;
119
140
  } catch (e) {
120
141
  if (e instanceof schemaMigrations.InvalidSchemaException) {
121
- SchemaValidationPrinter.printValidationErrors(e.validationErrors, e.message);
122
- return 1;
142
+ SchemaValidationPrinter.printValidationErrors(e.validationErrors, e.message, output);
143
+ throw new cliCommon.CliError(e.message, {
144
+ code: "SCHEMA_INVALID",
145
+ exitCode: cliCommon.ExitCode.InputError,
146
+ details: e.validationErrors,
147
+ cause: e
148
+ });
123
149
  }
124
150
  throw e;
125
151
  }
126
152
  }
127
- async shouldContinue(input) {
153
+ async shouldContinue(input, output) {
128
154
  const yes = input.getOption("yes");
129
155
  if (yes) {
130
156
  return true;
131
157
  }
132
- const { action } = await prompts({
133
- type: "select",
134
- name: "action",
158
+ assertCanPrompt(output);
159
+ const action = await prompt.promptSelect(output, {
135
160
  message: "Do you want to continue?",
136
161
  choices: [
137
162
  { value: "yes", title: "Yes" },
@@ -140,10 +165,13 @@ class MigrationAmendCommand extends cliCommon.Command {
140
165
  });
141
166
  return action === "yes";
142
167
  }
143
- async shouldRemove() {
144
- const { action } = await prompts({
145
- type: "select",
146
- name: "action",
168
+ /** With --yes the migration is kept and emptied — removing a file that others may have already executed is not safe to assume. */
169
+ async shouldRemove(input, output) {
170
+ if (input.getOption("yes")) {
171
+ return false;
172
+ }
173
+ assertCanPrompt(output);
174
+ const action = await prompt.promptSelect(output, {
147
175
  message: "The amendment results in a no-op migration because the changes introduced by the latest migration were reverted.\nYou can choose to remove the latest migration or to modify it so it is empty.",
148
176
  choices: [
149
177
  { value: "remove", title: "Remove latest migration" },
@@ -153,5 +181,17 @@ class MigrationAmendCommand extends cliCommon.Command {
153
181
  return action === "remove";
154
182
  }
155
183
  }
184
+ const abortedError = (operation) => new cliCommon.CliError(`${operation} aborted`, {
185
+ code: "OPERATION_ABORTED",
186
+ exitCode: cliCommon.ExitCode.InputError
187
+ });
188
+ const assertCanPrompt = (output) => {
189
+ if (!output.canPrompt()) {
190
+ throw new cliCommon.CliError("TTY not available. Pass --yes to confirm execution.", {
191
+ code: "TTY_UNAVAILABLE",
192
+ exitCode: cliCommon.ExitCode.InputError
193
+ });
194
+ }
195
+ };
156
196
  exports.MigrationAmendCommand = MigrationAmendCommand;
157
197
  //# sourceMappingURL=MigrationAmendCommand.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationAmendCommand.cjs","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationAmendCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { InvalidSchemaException, SchemaMigrator } from '@contember/schema-migrations'\nimport prompts from 'prompts'\nimport { emptySchema } from '@contember/schema-utils'\nimport { MigrationCreator, MigrationsResolver, SchemaStateManager, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { MigrationsStatusFacade } from '../../lib/migrations/MigrationsStatusFacade.js'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader.js'\nimport { MigrationsValidator } from '../../lib/migrations/MigrationsValidator.js'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter.js'\nimport { printValidationErrors } from '../../lib/schema/SchemaValidationPrinter.js'\nimport { SystemClientProvider } from '../../lib/SystemClientProvider.js'\n\ntype Args = {\n\tmigration?: string\n}\n\ntype Options = {\n\tyes?: true\n\tforce: boolean\n}\n\nexport class MigrationAmendCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly systemApiClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationsStatusFacade: MigrationsStatusFacade,\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationCreator: MigrationCreator,\n\t\tprivate readonly migrationsValidator: MigrationsValidator,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly schemaStateManager: SchemaStateManager,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Amends latest migration')\n\t\tconfiguration.argument('migration').optional()\n\t\tconfiguration.option('force').description('Ignore migrations order and missing migrations (dev only)')\n\t\tconfiguration //\n\t\t\t.option('yes')\n\t\t\t.valueNone()\n\t\t\t.description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst migrationName = input.getArgument('migration')\n\t\tconst amendMigration = migrationName\n\t\t\t? await this.migrationsResolver.findSchemaMigrationByVersion(migrationName)\n\t\t\t: await this.migrationsResolver.findLatestSchemaMigration()\n\t\tif (!amendMigration) {\n\t\t\tthrow 'No migration to amend'\n\t\t}\n\t\tconst force = input.getOption('force')\n\t\tconst status = await this.migrationsStatusFacade.resolveMigrationsStatus({ force })\n\t\tif (status.migrationsToExecute.length > 0) {\n\t\t\tthrow `Some migrations are not executed. Unable to amend.`\n\t\t}\n\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tconst stateMode = await this.schemaStateManager.isStateMode()\n\t\ttry {\n\t\t\tconst initialSchema = await this.schemaVersionBuilder.buildSchema()\n\t\t\tconst intermediateResult = await this.migrationCreator.prepareMigration(initialSchema, schema, '', {\n\t\t\t\tskipNonModelDiffers: stateMode,\n\t\t\t})\n\n\t\t\tconst schemaState = stateMode ? SchemaStateManager.schemaStateFromSchema(schema) : undefined\n\t\t\tconst stateChanged = schemaState ? await this.schemaStateManager.writeState(schemaState, { dryRun: true }) : false\n\n\t\t\tif (intermediateResult === null) {\n\t\t\t\tif (stateChanged) {\n\t\t\t\t\tawait this.schemaStateManager.writeState(schemaState!)\n\t\t\t\t\tconsole.log('Schema state updated (no model changes)')\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('Nothing to do')\n\t\t\t\t}\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tif (amendMigration.formatVersion !== intermediateResult.migration.formatVersion) {\n\t\t\t\tthrow 'Incompatible migration format version'\n\t\t\t}\n\t\t\tconst prevSchema = await this.schemaVersionBuilder.buildSchemaAdvanced(\n\t\t\t\temptySchema,\n\t\t\t\tversion => version < amendMigration.version,\n\t\t\t)\n\t\t\tconst newSchema = await this.schemaMigrator.applyModifications(\n\t\t\t\tprevSchema,\n\t\t\t\t[...amendMigration.modifications, ...intermediateResult.migration.modifications],\n\t\t\t\tamendMigration.formatVersion,\n\t\t\t)\n\t\t\tconst newMigrationResult = await this.migrationCreator.prepareMigration(prevSchema, newSchema, '', {\n\t\t\t\tskipNonModelDiffers: stateMode,\n\t\t\t})\n\t\t\tconst followingMigrations = (await this.migrationsResolver.getSchemaMigrations()).filter(\n\t\t\t\tit => it.version > amendMigration.version,\n\t\t\t)\n\n\t\t\tconst valid = await this.migrationsValidator.validate(\n\t\t\t\tprevSchema,\n\t\t\t\t[...(newMigrationResult ? [newMigrationResult.migration] : []), ...followingMigrations],\n\t\t\t)\n\t\t\tif (!valid) {\n\t\t\t\tthrow `Cannot amend migration`\n\t\t\t}\n\n\t\t\tthis.migrationPrinter.printMigrationDescription(\n\t\t\t\tintermediateResult.initialSchema,\n\t\t\t\tintermediateResult.migration,\n\t\t\t\t{ noSql: true },\n\t\t\t)\n\t\t\tconsole.log(`Amending ${amendMigration.name}`)\n\t\t\tif (!(await this.shouldContinue(input))) {\n\t\t\t\tconsole.log('Aborting')\n\t\t\t\treturn 1\n\t\t\t}\n\t\t\tconst systemClient = this.systemApiClientProvider.get()\n\t\t\tawait systemClient.migrate([intermediateResult.migration], force)\n\t\t\tawait systemClient.migrationDelete(intermediateResult.migration.version)\n\n\t\t\tif (!newMigrationResult && await this.shouldRemove()) {\n\t\t\t\tawait this.migrationCreator.removeMigration(amendMigration.name)\n\t\t\t\tawait systemClient.migrationDelete(amendMigration.version)\n\t\t\t\tif (schemaState) {\n\t\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t\t// migrationDelete rebuilds the server schema from migrations, dropping the\n\t\t\t\t\t// non-model state; re-apply it so the server stays in sync with the state files.\n\t\t\t\t\tawait systemClient.migrate([], force, schemaState)\n\t\t\t\t}\n\t\t\t\tconsole.log('Latest migration was removed')\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tconst newMigration = {\n\t\t\t\tname: amendMigration.name,\n\t\t\t\tversion: amendMigration.version,\n\t\t\t\tformatVersion: newMigrationResult?.migration.formatVersion ?? amendMigration.formatVersion,\n\t\t\t\tmodifications: newMigrationResult?.migration.modifications ?? [],\n\t\t\t}\n\t\t\tawait this.migrationCreator.saveMigration(newMigration)\n\t\t\tawait systemClient.migrationModify(amendMigration.version, newMigration)\n\n\t\t\tif (schemaState) {\n\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t// migrationModify rebuilds the server schema from migrations, dropping the\n\t\t\t\t// non-model state; re-apply it so the server stays in sync with the state files.\n\t\t\t\tawait systemClient.migrate([], force, schemaState)\n\t\t\t}\n\n\t\t\treturn 0\n\t\t} catch (e) {\n\t\t\tif (e instanceof InvalidSchemaException) {\n\t\t\t\tprintValidationErrors(e.validationErrors, e.message)\n\t\t\t\treturn 1\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tprivate async shouldContinue(input: Input<{}, { yes?: true }>): Promise<boolean> {\n\t\tconst yes = input.getOption('yes')\n\t\tif (yes) {\n\t\t\treturn true\n\t\t}\n\t\tconst { action } = await prompts({\n\t\t\ttype: 'select',\n\t\t\tname: 'action',\n\t\t\tmessage: 'Do you want to continue?',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'yes', title: 'Yes' },\n\t\t\t\t{ value: 'no', title: 'Abort' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'yes'\n\t}\n\n\tprivate async shouldRemove(): Promise<boolean> {\n\t\tconst { action } = await prompts({\n\t\t\ttype: 'select',\n\t\t\tname: 'action',\n\t\t\tmessage:\n\t\t\t\t'The amendment results in a no-op migration because the changes introduced by the latest migration were reverted.\\nYou can choose to remove the latest migration or to modify it so it is empty.',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'remove', title: 'Remove latest migration' },\n\t\t\t\t{ value: 'keep', title: 'Keep latest migration and make it empty' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'remove'\n\t}\n}\n"],"names":["Command","SchemaStateManager","emptySchema","InvalidSchemaException","printValidationErrors"],"mappings":"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"}
1
+ {"version":3,"file":"MigrationAmendCommand.cjs","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationAmendCommand.ts"],"sourcesContent":["import { CliError, Command, CommandConfiguration, ExitCode, Input, Output } from '@contember/cli-common'\nimport { InvalidSchemaException, SchemaMigrator } from '@contember/schema-migrations'\nimport { emptySchema } from '@contember/schema-utils'\nimport { MigrationCreator, MigrationsResolver, SchemaStateManager, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { MigrationsStatusFacade } from '../../lib/migrations/MigrationsStatusFacade.js'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader.js'\nimport { MigrationsValidator } from '../../lib/migrations/MigrationsValidator.js'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter.js'\nimport { printValidationErrors } from '../../lib/schema/SchemaValidationPrinter.js'\nimport { SystemClientProvider } from '../../lib/SystemClientProvider.js'\nimport { promptSelect } from '../../lib/prompt/index.js'\n\ntype Args = {\n\tmigration?: string\n}\n\ntype Options = {\n\tyes?: true\n\tforce: boolean\n}\n\nexport class MigrationAmendCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly systemApiClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationsStatusFacade: MigrationsStatusFacade,\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationCreator: MigrationCreator,\n\t\tprivate readonly migrationsValidator: MigrationsValidator,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly schemaStateManager: SchemaStateManager,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Amends latest migration')\n\t\tconfiguration.argument('migration').optional()\n\t\tconfiguration.option('force').description('Ignore migrations order and missing migrations (dev only)')\n\t\tconfiguration //\n\t\t\t.option('yes')\n\t\t\t.valueNone()\n\t\t\t.description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<number> {\n\t\tconst migrationName = input.getArgument('migration')\n\t\tconst amendMigration = migrationName\n\t\t\t? await this.migrationsResolver.findSchemaMigrationByVersion(migrationName)\n\t\t\t: await this.migrationsResolver.findLatestSchemaMigration()\n\t\tif (!amendMigration) {\n\t\t\tthrow new CliError('No migration to amend', { code: 'MIGRATION_NOT_FOUND', exitCode: ExitCode.NotFound })\n\t\t}\n\t\tconst force = input.getOption('force')\n\t\tconst status = await this.migrationsStatusFacade.resolveMigrationsStatus({ force })\n\t\tif (status.migrationsToExecute.length > 0) {\n\t\t\tthrow new CliError('Some migrations are not executed. Unable to amend.', {\n\t\t\t\tcode: 'MIGRATIONS_NOT_EXECUTED',\n\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t})\n\t\t}\n\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tconst stateMode = await this.schemaStateManager.isStateMode()\n\t\ttry {\n\t\t\tconst initialSchema = await this.schemaVersionBuilder.buildSchema()\n\t\t\tconst intermediateResult = await this.migrationCreator.prepareMigration(initialSchema, schema, '', {\n\t\t\t\tskipNonModelDiffers: stateMode,\n\t\t\t})\n\n\t\t\tconst schemaState = stateMode ? SchemaStateManager.schemaStateFromSchema(schema) : undefined\n\t\t\tconst stateChanged = schemaState ? await this.schemaStateManager.writeState(schemaState, { dryRun: true }) : false\n\n\t\t\tif (intermediateResult === null) {\n\t\t\t\tif (stateChanged) {\n\t\t\t\t\tif (!(await this.shouldContinue(input, output))) {\n\t\t\t\t\t\tthrow abortedError('Migration amendment')\n\t\t\t\t\t}\n\t\t\t\t\tif (schemaState === undefined) {\n\t\t\t\t\t\tthrow new CliError('Schema state is unavailable', { code: 'SCHEMA_STATE_UNAVAILABLE', exitCode: ExitCode.InternalError })\n\t\t\t\t\t}\n\t\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t} else {\n\t\t\t\t\toutput.info('Nothing to do')\n\t\t\t\t}\n\t\t\t\toutput.data(\n\t\t\t\t\t{ migration: amendMigration.name, stateUpdated: stateChanged, changed: stateChanged },\n\t\t\t\t\t{ human: value => value.changed ? 'Schema state updated (no model changes)' : 'Nothing to do', quiet: value => value.migration },\n\t\t\t\t)\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tif (amendMigration.formatVersion !== intermediateResult.migration.formatVersion) {\n\t\t\t\tthrow new CliError('Incompatible migration format version', {\n\t\t\t\t\tcode: 'MIGRATION_FORMAT_INCOMPATIBLE',\n\t\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst prevSchema = await this.schemaVersionBuilder.buildSchemaAdvanced(\n\t\t\t\temptySchema,\n\t\t\t\tversion => version < amendMigration.version,\n\t\t\t)\n\t\t\tconst newSchema = await this.schemaMigrator.applyModifications(\n\t\t\t\tprevSchema,\n\t\t\t\t[...amendMigration.modifications, ...intermediateResult.migration.modifications],\n\t\t\t\tamendMigration.formatVersion,\n\t\t\t)\n\t\t\tconst newMigrationResult = await this.migrationCreator.prepareMigration(prevSchema, newSchema, '', {\n\t\t\t\tskipNonModelDiffers: stateMode,\n\t\t\t})\n\t\t\tconst followingMigrations = (await this.migrationsResolver.getSchemaMigrations()).filter(\n\t\t\t\tit => it.version > amendMigration.version,\n\t\t\t)\n\n\t\t\tconst valid = await this.migrationsValidator.validate(\n\t\t\t\tprevSchema,\n\t\t\t\t[...(newMigrationResult ? [newMigrationResult.migration] : []), ...followingMigrations],\n\t\t\t)\n\t\t\tif (!valid) {\n\t\t\t\tthrow new CliError('Cannot amend migration', { code: 'MIGRATIONS_INVALID', exitCode: ExitCode.InputError })\n\t\t\t}\n\n\t\t\tthis.migrationPrinter.printMigrationDescription(\n\t\t\t\tintermediateResult.initialSchema,\n\t\t\t\tintermediateResult.migration,\n\t\t\t\t{ noSql: true },\n\t\t\t)\n\t\t\toutput.info(`Amending ${amendMigration.name}`)\n\t\t\tif (!(await this.shouldContinue(input, output))) {\n\t\t\t\tthrow abortedError('Migration amendment')\n\t\t\t}\n\t\t\tconst systemClient = this.systemApiClientProvider.get()\n\t\t\tawait systemClient.migrate([intermediateResult.migration], force)\n\t\t\tawait systemClient.migrationDelete(intermediateResult.migration.version)\n\n\t\t\tif (!newMigrationResult && await this.shouldRemove(input, output)) {\n\t\t\t\tawait this.migrationCreator.removeMigration(amendMigration.name)\n\t\t\t\tawait systemClient.migrationDelete(amendMigration.version)\n\t\t\t\tif (schemaState) {\n\t\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t\t// migrationDelete rebuilds the server schema from migrations, dropping the\n\t\t\t\t\t// non-model state; re-apply it so the server stays in sync with the state files.\n\t\t\t\t\tawait systemClient.migrate([], force, schemaState)\n\t\t\t\t}\n\t\t\t\toutput.data(\n\t\t\t\t\t{ migration: amendMigration.name, removed: true, stateUpdated: schemaState !== undefined },\n\t\t\t\t\t{ human: () => 'Latest migration was removed', quiet: value => value.migration },\n\t\t\t\t)\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tconst newMigration = {\n\t\t\t\tname: amendMigration.name,\n\t\t\t\tversion: amendMigration.version,\n\t\t\t\tformatVersion: newMigrationResult?.migration.formatVersion ?? amendMigration.formatVersion,\n\t\t\t\tmodifications: newMigrationResult?.migration.modifications ?? [],\n\t\t\t}\n\t\t\tawait this.migrationCreator.saveMigration(newMigration)\n\t\t\tawait systemClient.migrationModify(amendMigration.version, newMigration)\n\n\t\t\tif (schemaState) {\n\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t// migrationModify rebuilds the server schema from migrations, dropping the\n\t\t\t\t// non-model state; re-apply it so the server stays in sync with the state files.\n\t\t\t\tawait systemClient.migrate([], force, schemaState)\n\t\t\t}\n\t\t\toutput.data(\n\t\t\t\t{ migration: amendMigration.name, removed: false, stateUpdated: schemaState !== undefined },\n\t\t\t\t{ human: value => `Amended ${value.migration}`, quiet: value => value.migration },\n\t\t\t)\n\n\t\t\treturn 0\n\t\t} catch (e) {\n\t\t\tif (e instanceof InvalidSchemaException) {\n\t\t\t\tprintValidationErrors(e.validationErrors, e.message, output)\n\t\t\t\tthrow new CliError(e.message, {\n\t\t\t\t\tcode: 'SCHEMA_INVALID',\n\t\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t\t\tdetails: e.validationErrors,\n\t\t\t\t\tcause: e,\n\t\t\t\t})\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tprivate async shouldContinue(input: Input<{}, { yes?: true }>, output: Output): Promise<boolean> {\n\t\tconst yes = input.getOption('yes')\n\t\tif (yes) {\n\t\t\treturn true\n\t\t}\n\t\tassertCanPrompt(output)\n\t\tconst action = await promptSelect(output, {\n\t\t\tmessage: 'Do you want to continue?',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'yes', title: 'Yes' },\n\t\t\t\t{ value: 'no', title: 'Abort' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'yes'\n\t}\n\n\t/** With --yes the migration is kept and emptied — removing a file that others may have already executed is not safe to assume. */\n\tprivate async shouldRemove(input: Input<{}, { yes?: true }>, output: Output): Promise<boolean> {\n\t\tif (input.getOption('yes')) {\n\t\t\treturn false\n\t\t}\n\t\tassertCanPrompt(output)\n\t\tconst action = await promptSelect(output, {\n\t\t\tmessage:\n\t\t\t\t'The amendment results in a no-op migration because the changes introduced by the latest migration were reverted.\\nYou can choose to remove the latest migration or to modify it so it is empty.',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'remove', title: 'Remove latest migration' },\n\t\t\t\t{ value: 'keep', title: 'Keep latest migration and make it empty' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'remove'\n\t}\n}\n\nconst abortedError = (operation: string): CliError =>\n\tnew CliError(`${operation} aborted`, {\n\t\tcode: 'OPERATION_ABORTED',\n\t\texitCode: ExitCode.InputError,\n\t})\n\nconst assertCanPrompt = (output: Output): void => {\n\tif (!output.canPrompt()) {\n\t\tthrow new CliError('TTY not available. Pass --yes to confirm execution.', {\n\t\t\tcode: 'TTY_UNAVAILABLE',\n\t\t\texitCode: ExitCode.InputError,\n\t\t})\n\t}\n}\n"],"names":["Command","CliError","ExitCode","SchemaStateManager","emptySchema","InvalidSchemaException","printValidationErrors","promptSelect"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { Command } from "@contember/cli-common";
1
+ import { Command, CliError, ExitCode } from "@contember/cli-common";
2
2
  import { InvalidSchemaException } from "@contember/schema-migrations";
3
- import prompts from "prompts";
4
3
  import { emptySchema } from "@contember/schema-utils";
5
4
  import { SchemaStateManager } from "@contember/migrations-client";
6
5
  import { printValidationErrors } from "../../lib/schema/SchemaValidationPrinter.js";
6
+ import { promptSelect } from "../../lib/prompt/prompt.js";
7
7
  class MigrationAmendCommand extends Command {
8
8
  constructor(migrationsResolver, systemApiClientProvider, migrationsStatusFacade, schemaLoader, schemaVersionBuilder, migrationCreator, migrationsValidator, migrationPrinter, schemaMigrator, schemaStateManager) {
9
9
  super();
@@ -24,16 +24,19 @@ class MigrationAmendCommand extends Command {
24
24
  configuration.option("force").description("Ignore migrations order and missing migrations (dev only)");
25
25
  configuration.option("yes").valueNone().description("Do not ask for confirmation.");
26
26
  }
27
- async execute(input) {
27
+ async execute(input, output) {
28
28
  const migrationName = input.getArgument("migration");
29
29
  const amendMigration = migrationName ? await this.migrationsResolver.findSchemaMigrationByVersion(migrationName) : await this.migrationsResolver.findLatestSchemaMigration();
30
30
  if (!amendMigration) {
31
- throw "No migration to amend";
31
+ throw new CliError("No migration to amend", { code: "MIGRATION_NOT_FOUND", exitCode: ExitCode.NotFound });
32
32
  }
33
33
  const force = input.getOption("force");
34
34
  const status = await this.migrationsStatusFacade.resolveMigrationsStatus({ force });
35
35
  if (status.migrationsToExecute.length > 0) {
36
- throw `Some migrations are not executed. Unable to amend.`;
36
+ throw new CliError("Some migrations are not executed. Unable to amend.", {
37
+ code: "MIGRATIONS_NOT_EXECUTED",
38
+ exitCode: ExitCode.InputError
39
+ });
37
40
  }
38
41
  const schema = await this.schemaLoader.loadSchema();
39
42
  const stateMode = await this.schemaStateManager.isStateMode();
@@ -46,15 +49,27 @@ class MigrationAmendCommand extends Command {
46
49
  const stateChanged = schemaState ? await this.schemaStateManager.writeState(schemaState, { dryRun: true }) : false;
47
50
  if (intermediateResult === null) {
48
51
  if (stateChanged) {
52
+ if (!await this.shouldContinue(input, output)) {
53
+ throw abortedError("Migration amendment");
54
+ }
55
+ if (schemaState === void 0) {
56
+ throw new CliError("Schema state is unavailable", { code: "SCHEMA_STATE_UNAVAILABLE", exitCode: ExitCode.InternalError });
57
+ }
49
58
  await this.schemaStateManager.writeState(schemaState);
50
- console.log("Schema state updated (no model changes)");
51
59
  } else {
52
- console.log("Nothing to do");
60
+ output.info("Nothing to do");
53
61
  }
62
+ output.data(
63
+ { migration: amendMigration.name, stateUpdated: stateChanged, changed: stateChanged },
64
+ { human: (value) => value.changed ? "Schema state updated (no model changes)" : "Nothing to do", quiet: (value) => value.migration }
65
+ );
54
66
  return 0;
55
67
  }
56
68
  if (amendMigration.formatVersion !== intermediateResult.migration.formatVersion) {
57
- throw "Incompatible migration format version";
69
+ throw new CliError("Incompatible migration format version", {
70
+ code: "MIGRATION_FORMAT_INCOMPATIBLE",
71
+ exitCode: ExitCode.InputError
72
+ });
58
73
  }
59
74
  const prevSchema = await this.schemaVersionBuilder.buildSchemaAdvanced(
60
75
  emptySchema,
@@ -76,29 +91,31 @@ class MigrationAmendCommand extends Command {
76
91
  [...newMigrationResult ? [newMigrationResult.migration] : [], ...followingMigrations]
77
92
  );
78
93
  if (!valid) {
79
- throw `Cannot amend migration`;
94
+ throw new CliError("Cannot amend migration", { code: "MIGRATIONS_INVALID", exitCode: ExitCode.InputError });
80
95
  }
81
96
  this.migrationPrinter.printMigrationDescription(
82
97
  intermediateResult.initialSchema,
83
98
  intermediateResult.migration,
84
99
  { noSql: true }
85
100
  );
86
- console.log(`Amending ${amendMigration.name}`);
87
- if (!await this.shouldContinue(input)) {
88
- console.log("Aborting");
89
- return 1;
101
+ output.info(`Amending ${amendMigration.name}`);
102
+ if (!await this.shouldContinue(input, output)) {
103
+ throw abortedError("Migration amendment");
90
104
  }
91
105
  const systemClient = this.systemApiClientProvider.get();
92
106
  await systemClient.migrate([intermediateResult.migration], force);
93
107
  await systemClient.migrationDelete(intermediateResult.migration.version);
94
- if (!newMigrationResult && await this.shouldRemove()) {
108
+ if (!newMigrationResult && await this.shouldRemove(input, output)) {
95
109
  await this.migrationCreator.removeMigration(amendMigration.name);
96
110
  await systemClient.migrationDelete(amendMigration.version);
97
111
  if (schemaState) {
98
112
  await this.schemaStateManager.writeState(schemaState);
99
113
  await systemClient.migrate([], force, schemaState);
100
114
  }
101
- console.log("Latest migration was removed");
115
+ output.data(
116
+ { migration: amendMigration.name, removed: true, stateUpdated: schemaState !== void 0 },
117
+ { human: () => "Latest migration was removed", quiet: (value) => value.migration }
118
+ );
102
119
  return 0;
103
120
  }
104
121
  const newMigration = {
@@ -113,23 +130,31 @@ class MigrationAmendCommand extends Command {
113
130
  await this.schemaStateManager.writeState(schemaState);
114
131
  await systemClient.migrate([], force, schemaState);
115
132
  }
133
+ output.data(
134
+ { migration: amendMigration.name, removed: false, stateUpdated: schemaState !== void 0 },
135
+ { human: (value) => `Amended ${value.migration}`, quiet: (value) => value.migration }
136
+ );
116
137
  return 0;
117
138
  } catch (e) {
118
139
  if (e instanceof InvalidSchemaException) {
119
- printValidationErrors(e.validationErrors, e.message);
120
- return 1;
140
+ printValidationErrors(e.validationErrors, e.message, output);
141
+ throw new CliError(e.message, {
142
+ code: "SCHEMA_INVALID",
143
+ exitCode: ExitCode.InputError,
144
+ details: e.validationErrors,
145
+ cause: e
146
+ });
121
147
  }
122
148
  throw e;
123
149
  }
124
150
  }
125
- async shouldContinue(input) {
151
+ async shouldContinue(input, output) {
126
152
  const yes = input.getOption("yes");
127
153
  if (yes) {
128
154
  return true;
129
155
  }
130
- const { action } = await prompts({
131
- type: "select",
132
- name: "action",
156
+ assertCanPrompt(output);
157
+ const action = await promptSelect(output, {
133
158
  message: "Do you want to continue?",
134
159
  choices: [
135
160
  { value: "yes", title: "Yes" },
@@ -138,10 +163,13 @@ class MigrationAmendCommand extends Command {
138
163
  });
139
164
  return action === "yes";
140
165
  }
141
- async shouldRemove() {
142
- const { action } = await prompts({
143
- type: "select",
144
- name: "action",
166
+ /** With --yes the migration is kept and emptied — removing a file that others may have already executed is not safe to assume. */
167
+ async shouldRemove(input, output) {
168
+ if (input.getOption("yes")) {
169
+ return false;
170
+ }
171
+ assertCanPrompt(output);
172
+ const action = await promptSelect(output, {
145
173
  message: "The amendment results in a no-op migration because the changes introduced by the latest migration were reverted.\nYou can choose to remove the latest migration or to modify it so it is empty.",
146
174
  choices: [
147
175
  { value: "remove", title: "Remove latest migration" },
@@ -151,6 +179,18 @@ class MigrationAmendCommand extends Command {
151
179
  return action === "remove";
152
180
  }
153
181
  }
182
+ const abortedError = (operation) => new CliError(`${operation} aborted`, {
183
+ code: "OPERATION_ABORTED",
184
+ exitCode: ExitCode.InputError
185
+ });
186
+ const assertCanPrompt = (output) => {
187
+ if (!output.canPrompt()) {
188
+ throw new CliError("TTY not available. Pass --yes to confirm execution.", {
189
+ code: "TTY_UNAVAILABLE",
190
+ exitCode: ExitCode.InputError
191
+ });
192
+ }
193
+ };
154
194
  export {
155
195
  MigrationAmendCommand
156
196
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationAmendCommand.js","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationAmendCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { InvalidSchemaException, SchemaMigrator } from '@contember/schema-migrations'\nimport prompts from 'prompts'\nimport { emptySchema } from '@contember/schema-utils'\nimport { MigrationCreator, MigrationsResolver, SchemaStateManager, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { MigrationsStatusFacade } from '../../lib/migrations/MigrationsStatusFacade.js'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader.js'\nimport { MigrationsValidator } from '../../lib/migrations/MigrationsValidator.js'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter.js'\nimport { printValidationErrors } from '../../lib/schema/SchemaValidationPrinter.js'\nimport { SystemClientProvider } from '../../lib/SystemClientProvider.js'\n\ntype Args = {\n\tmigration?: string\n}\n\ntype Options = {\n\tyes?: true\n\tforce: boolean\n}\n\nexport class MigrationAmendCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly systemApiClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationsStatusFacade: MigrationsStatusFacade,\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationCreator: MigrationCreator,\n\t\tprivate readonly migrationsValidator: MigrationsValidator,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly schemaStateManager: SchemaStateManager,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Amends latest migration')\n\t\tconfiguration.argument('migration').optional()\n\t\tconfiguration.option('force').description('Ignore migrations order and missing migrations (dev only)')\n\t\tconfiguration //\n\t\t\t.option('yes')\n\t\t\t.valueNone()\n\t\t\t.description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst migrationName = input.getArgument('migration')\n\t\tconst amendMigration = migrationName\n\t\t\t? await this.migrationsResolver.findSchemaMigrationByVersion(migrationName)\n\t\t\t: await this.migrationsResolver.findLatestSchemaMigration()\n\t\tif (!amendMigration) {\n\t\t\tthrow 'No migration to amend'\n\t\t}\n\t\tconst force = input.getOption('force')\n\t\tconst status = await this.migrationsStatusFacade.resolveMigrationsStatus({ force })\n\t\tif (status.migrationsToExecute.length > 0) {\n\t\t\tthrow `Some migrations are not executed. Unable to amend.`\n\t\t}\n\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tconst stateMode = await this.schemaStateManager.isStateMode()\n\t\ttry {\n\t\t\tconst initialSchema = await this.schemaVersionBuilder.buildSchema()\n\t\t\tconst intermediateResult = await this.migrationCreator.prepareMigration(initialSchema, schema, '', {\n\t\t\t\tskipNonModelDiffers: stateMode,\n\t\t\t})\n\n\t\t\tconst schemaState = stateMode ? SchemaStateManager.schemaStateFromSchema(schema) : undefined\n\t\t\tconst stateChanged = schemaState ? await this.schemaStateManager.writeState(schemaState, { dryRun: true }) : false\n\n\t\t\tif (intermediateResult === null) {\n\t\t\t\tif (stateChanged) {\n\t\t\t\t\tawait this.schemaStateManager.writeState(schemaState!)\n\t\t\t\t\tconsole.log('Schema state updated (no model changes)')\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('Nothing to do')\n\t\t\t\t}\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tif (amendMigration.formatVersion !== intermediateResult.migration.formatVersion) {\n\t\t\t\tthrow 'Incompatible migration format version'\n\t\t\t}\n\t\t\tconst prevSchema = await this.schemaVersionBuilder.buildSchemaAdvanced(\n\t\t\t\temptySchema,\n\t\t\t\tversion => version < amendMigration.version,\n\t\t\t)\n\t\t\tconst newSchema = await this.schemaMigrator.applyModifications(\n\t\t\t\tprevSchema,\n\t\t\t\t[...amendMigration.modifications, ...intermediateResult.migration.modifications],\n\t\t\t\tamendMigration.formatVersion,\n\t\t\t)\n\t\t\tconst newMigrationResult = await this.migrationCreator.prepareMigration(prevSchema, newSchema, '', {\n\t\t\t\tskipNonModelDiffers: stateMode,\n\t\t\t})\n\t\t\tconst followingMigrations = (await this.migrationsResolver.getSchemaMigrations()).filter(\n\t\t\t\tit => it.version > amendMigration.version,\n\t\t\t)\n\n\t\t\tconst valid = await this.migrationsValidator.validate(\n\t\t\t\tprevSchema,\n\t\t\t\t[...(newMigrationResult ? [newMigrationResult.migration] : []), ...followingMigrations],\n\t\t\t)\n\t\t\tif (!valid) {\n\t\t\t\tthrow `Cannot amend migration`\n\t\t\t}\n\n\t\t\tthis.migrationPrinter.printMigrationDescription(\n\t\t\t\tintermediateResult.initialSchema,\n\t\t\t\tintermediateResult.migration,\n\t\t\t\t{ noSql: true },\n\t\t\t)\n\t\t\tconsole.log(`Amending ${amendMigration.name}`)\n\t\t\tif (!(await this.shouldContinue(input))) {\n\t\t\t\tconsole.log('Aborting')\n\t\t\t\treturn 1\n\t\t\t}\n\t\t\tconst systemClient = this.systemApiClientProvider.get()\n\t\t\tawait systemClient.migrate([intermediateResult.migration], force)\n\t\t\tawait systemClient.migrationDelete(intermediateResult.migration.version)\n\n\t\t\tif (!newMigrationResult && await this.shouldRemove()) {\n\t\t\t\tawait this.migrationCreator.removeMigration(amendMigration.name)\n\t\t\t\tawait systemClient.migrationDelete(amendMigration.version)\n\t\t\t\tif (schemaState) {\n\t\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t\t// migrationDelete rebuilds the server schema from migrations, dropping the\n\t\t\t\t\t// non-model state; re-apply it so the server stays in sync with the state files.\n\t\t\t\t\tawait systemClient.migrate([], force, schemaState)\n\t\t\t\t}\n\t\t\t\tconsole.log('Latest migration was removed')\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tconst newMigration = {\n\t\t\t\tname: amendMigration.name,\n\t\t\t\tversion: amendMigration.version,\n\t\t\t\tformatVersion: newMigrationResult?.migration.formatVersion ?? amendMigration.formatVersion,\n\t\t\t\tmodifications: newMigrationResult?.migration.modifications ?? [],\n\t\t\t}\n\t\t\tawait this.migrationCreator.saveMigration(newMigration)\n\t\t\tawait systemClient.migrationModify(amendMigration.version, newMigration)\n\n\t\t\tif (schemaState) {\n\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t// migrationModify rebuilds the server schema from migrations, dropping the\n\t\t\t\t// non-model state; re-apply it so the server stays in sync with the state files.\n\t\t\t\tawait systemClient.migrate([], force, schemaState)\n\t\t\t}\n\n\t\t\treturn 0\n\t\t} catch (e) {\n\t\t\tif (e instanceof InvalidSchemaException) {\n\t\t\t\tprintValidationErrors(e.validationErrors, e.message)\n\t\t\t\treturn 1\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tprivate async shouldContinue(input: Input<{}, { yes?: true }>): Promise<boolean> {\n\t\tconst yes = input.getOption('yes')\n\t\tif (yes) {\n\t\t\treturn true\n\t\t}\n\t\tconst { action } = await prompts({\n\t\t\ttype: 'select',\n\t\t\tname: 'action',\n\t\t\tmessage: 'Do you want to continue?',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'yes', title: 'Yes' },\n\t\t\t\t{ value: 'no', title: 'Abort' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'yes'\n\t}\n\n\tprivate async shouldRemove(): Promise<boolean> {\n\t\tconst { action } = await prompts({\n\t\t\ttype: 'select',\n\t\t\tname: 'action',\n\t\t\tmessage:\n\t\t\t\t'The amendment results in a no-op migration because the changes introduced by the latest migration were reverted.\\nYou can choose to remove the latest migration or to modify it so it is empty.',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'remove', title: 'Remove latest migration' },\n\t\t\t\t{ value: 'keep', title: 'Keep latest migration and make it empty' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'remove'\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MigrationAmendCommand.js","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationAmendCommand.ts"],"sourcesContent":["import { CliError, Command, CommandConfiguration, ExitCode, Input, Output } from '@contember/cli-common'\nimport { InvalidSchemaException, SchemaMigrator } from '@contember/schema-migrations'\nimport { emptySchema } from '@contember/schema-utils'\nimport { MigrationCreator, MigrationsResolver, SchemaStateManager, SchemaVersionBuilder } from '@contember/migrations-client'\nimport { MigrationsStatusFacade } from '../../lib/migrations/MigrationsStatusFacade.js'\nimport { SchemaLoader } from '../../lib/schema/SchemaLoader.js'\nimport { MigrationsValidator } from '../../lib/migrations/MigrationsValidator.js'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter.js'\nimport { printValidationErrors } from '../../lib/schema/SchemaValidationPrinter.js'\nimport { SystemClientProvider } from '../../lib/SystemClientProvider.js'\nimport { promptSelect } from '../../lib/prompt/index.js'\n\ntype Args = {\n\tmigration?: string\n}\n\ntype Options = {\n\tyes?: true\n\tforce: boolean\n}\n\nexport class MigrationAmendCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t\tprivate readonly systemApiClientProvider: SystemClientProvider,\n\t\tprivate readonly migrationsStatusFacade: MigrationsStatusFacade,\n\t\tprivate readonly schemaLoader: SchemaLoader,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationCreator: MigrationCreator,\n\t\tprivate readonly migrationsValidator: MigrationsValidator,\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly schemaStateManager: SchemaStateManager,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Amends latest migration')\n\t\tconfiguration.argument('migration').optional()\n\t\tconfiguration.option('force').description('Ignore migrations order and missing migrations (dev only)')\n\t\tconfiguration //\n\t\t\t.option('yes')\n\t\t\t.valueNone()\n\t\t\t.description('Do not ask for confirmation.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<number> {\n\t\tconst migrationName = input.getArgument('migration')\n\t\tconst amendMigration = migrationName\n\t\t\t? await this.migrationsResolver.findSchemaMigrationByVersion(migrationName)\n\t\t\t: await this.migrationsResolver.findLatestSchemaMigration()\n\t\tif (!amendMigration) {\n\t\t\tthrow new CliError('No migration to amend', { code: 'MIGRATION_NOT_FOUND', exitCode: ExitCode.NotFound })\n\t\t}\n\t\tconst force = input.getOption('force')\n\t\tconst status = await this.migrationsStatusFacade.resolveMigrationsStatus({ force })\n\t\tif (status.migrationsToExecute.length > 0) {\n\t\t\tthrow new CliError('Some migrations are not executed. Unable to amend.', {\n\t\t\t\tcode: 'MIGRATIONS_NOT_EXECUTED',\n\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t})\n\t\t}\n\n\t\tconst schema = await this.schemaLoader.loadSchema()\n\t\tconst stateMode = await this.schemaStateManager.isStateMode()\n\t\ttry {\n\t\t\tconst initialSchema = await this.schemaVersionBuilder.buildSchema()\n\t\t\tconst intermediateResult = await this.migrationCreator.prepareMigration(initialSchema, schema, '', {\n\t\t\t\tskipNonModelDiffers: stateMode,\n\t\t\t})\n\n\t\t\tconst schemaState = stateMode ? SchemaStateManager.schemaStateFromSchema(schema) : undefined\n\t\t\tconst stateChanged = schemaState ? await this.schemaStateManager.writeState(schemaState, { dryRun: true }) : false\n\n\t\t\tif (intermediateResult === null) {\n\t\t\t\tif (stateChanged) {\n\t\t\t\t\tif (!(await this.shouldContinue(input, output))) {\n\t\t\t\t\t\tthrow abortedError('Migration amendment')\n\t\t\t\t\t}\n\t\t\t\t\tif (schemaState === undefined) {\n\t\t\t\t\t\tthrow new CliError('Schema state is unavailable', { code: 'SCHEMA_STATE_UNAVAILABLE', exitCode: ExitCode.InternalError })\n\t\t\t\t\t}\n\t\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t} else {\n\t\t\t\t\toutput.info('Nothing to do')\n\t\t\t\t}\n\t\t\t\toutput.data(\n\t\t\t\t\t{ migration: amendMigration.name, stateUpdated: stateChanged, changed: stateChanged },\n\t\t\t\t\t{ human: value => value.changed ? 'Schema state updated (no model changes)' : 'Nothing to do', quiet: value => value.migration },\n\t\t\t\t)\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tif (amendMigration.formatVersion !== intermediateResult.migration.formatVersion) {\n\t\t\t\tthrow new CliError('Incompatible migration format version', {\n\t\t\t\t\tcode: 'MIGRATION_FORMAT_INCOMPATIBLE',\n\t\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst prevSchema = await this.schemaVersionBuilder.buildSchemaAdvanced(\n\t\t\t\temptySchema,\n\t\t\t\tversion => version < amendMigration.version,\n\t\t\t)\n\t\t\tconst newSchema = await this.schemaMigrator.applyModifications(\n\t\t\t\tprevSchema,\n\t\t\t\t[...amendMigration.modifications, ...intermediateResult.migration.modifications],\n\t\t\t\tamendMigration.formatVersion,\n\t\t\t)\n\t\t\tconst newMigrationResult = await this.migrationCreator.prepareMigration(prevSchema, newSchema, '', {\n\t\t\t\tskipNonModelDiffers: stateMode,\n\t\t\t})\n\t\t\tconst followingMigrations = (await this.migrationsResolver.getSchemaMigrations()).filter(\n\t\t\t\tit => it.version > amendMigration.version,\n\t\t\t)\n\n\t\t\tconst valid = await this.migrationsValidator.validate(\n\t\t\t\tprevSchema,\n\t\t\t\t[...(newMigrationResult ? [newMigrationResult.migration] : []), ...followingMigrations],\n\t\t\t)\n\t\t\tif (!valid) {\n\t\t\t\tthrow new CliError('Cannot amend migration', { code: 'MIGRATIONS_INVALID', exitCode: ExitCode.InputError })\n\t\t\t}\n\n\t\t\tthis.migrationPrinter.printMigrationDescription(\n\t\t\t\tintermediateResult.initialSchema,\n\t\t\t\tintermediateResult.migration,\n\t\t\t\t{ noSql: true },\n\t\t\t)\n\t\t\toutput.info(`Amending ${amendMigration.name}`)\n\t\t\tif (!(await this.shouldContinue(input, output))) {\n\t\t\t\tthrow abortedError('Migration amendment')\n\t\t\t}\n\t\t\tconst systemClient = this.systemApiClientProvider.get()\n\t\t\tawait systemClient.migrate([intermediateResult.migration], force)\n\t\t\tawait systemClient.migrationDelete(intermediateResult.migration.version)\n\n\t\t\tif (!newMigrationResult && await this.shouldRemove(input, output)) {\n\t\t\t\tawait this.migrationCreator.removeMigration(amendMigration.name)\n\t\t\t\tawait systemClient.migrationDelete(amendMigration.version)\n\t\t\t\tif (schemaState) {\n\t\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t\t// migrationDelete rebuilds the server schema from migrations, dropping the\n\t\t\t\t\t// non-model state; re-apply it so the server stays in sync with the state files.\n\t\t\t\t\tawait systemClient.migrate([], force, schemaState)\n\t\t\t\t}\n\t\t\t\toutput.data(\n\t\t\t\t\t{ migration: amendMigration.name, removed: true, stateUpdated: schemaState !== undefined },\n\t\t\t\t\t{ human: () => 'Latest migration was removed', quiet: value => value.migration },\n\t\t\t\t)\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tconst newMigration = {\n\t\t\t\tname: amendMigration.name,\n\t\t\t\tversion: amendMigration.version,\n\t\t\t\tformatVersion: newMigrationResult?.migration.formatVersion ?? amendMigration.formatVersion,\n\t\t\t\tmodifications: newMigrationResult?.migration.modifications ?? [],\n\t\t\t}\n\t\t\tawait this.migrationCreator.saveMigration(newMigration)\n\t\t\tawait systemClient.migrationModify(amendMigration.version, newMigration)\n\n\t\t\tif (schemaState) {\n\t\t\t\tawait this.schemaStateManager.writeState(schemaState)\n\t\t\t\t// migrationModify rebuilds the server schema from migrations, dropping the\n\t\t\t\t// non-model state; re-apply it so the server stays in sync with the state files.\n\t\t\t\tawait systemClient.migrate([], force, schemaState)\n\t\t\t}\n\t\t\toutput.data(\n\t\t\t\t{ migration: amendMigration.name, removed: false, stateUpdated: schemaState !== undefined },\n\t\t\t\t{ human: value => `Amended ${value.migration}`, quiet: value => value.migration },\n\t\t\t)\n\n\t\t\treturn 0\n\t\t} catch (e) {\n\t\t\tif (e instanceof InvalidSchemaException) {\n\t\t\t\tprintValidationErrors(e.validationErrors, e.message, output)\n\t\t\t\tthrow new CliError(e.message, {\n\t\t\t\t\tcode: 'SCHEMA_INVALID',\n\t\t\t\t\texitCode: ExitCode.InputError,\n\t\t\t\t\tdetails: e.validationErrors,\n\t\t\t\t\tcause: e,\n\t\t\t\t})\n\t\t\t}\n\t\t\tthrow e\n\t\t}\n\t}\n\n\tprivate async shouldContinue(input: Input<{}, { yes?: true }>, output: Output): Promise<boolean> {\n\t\tconst yes = input.getOption('yes')\n\t\tif (yes) {\n\t\t\treturn true\n\t\t}\n\t\tassertCanPrompt(output)\n\t\tconst action = await promptSelect(output, {\n\t\t\tmessage: 'Do you want to continue?',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'yes', title: 'Yes' },\n\t\t\t\t{ value: 'no', title: 'Abort' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'yes'\n\t}\n\n\t/** With --yes the migration is kept and emptied — removing a file that others may have already executed is not safe to assume. */\n\tprivate async shouldRemove(input: Input<{}, { yes?: true }>, output: Output): Promise<boolean> {\n\t\tif (input.getOption('yes')) {\n\t\t\treturn false\n\t\t}\n\t\tassertCanPrompt(output)\n\t\tconst action = await promptSelect(output, {\n\t\t\tmessage:\n\t\t\t\t'The amendment results in a no-op migration because the changes introduced by the latest migration were reverted.\\nYou can choose to remove the latest migration or to modify it so it is empty.',\n\t\t\tchoices: [\n\t\t\t\t{ value: 'remove', title: 'Remove latest migration' },\n\t\t\t\t{ value: 'keep', title: 'Keep latest migration and make it empty' },\n\t\t\t],\n\t\t})\n\t\treturn action === 'remove'\n\t}\n}\n\nconst abortedError = (operation: string): CliError =>\n\tnew CliError(`${operation} aborted`, {\n\t\tcode: 'OPERATION_ABORTED',\n\t\texitCode: ExitCode.InputError,\n\t})\n\nconst assertCanPrompt = (output: Output): void => {\n\tif (!output.canPrompt()) {\n\t\tthrow new CliError('TTY not available. Pass --yes to confirm execution.', {\n\t\t\tcode: 'TTY_UNAVAILABLE',\n\t\t\texitCode: ExitCode.InputError,\n\t\t})\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -11,11 +11,11 @@ class MigrationBlankCommand extends cliCommon.Command {
11
11
  configuration.argument("migrationName");
12
12
  configuration.argument("format").optional().validator((it) => !it || ["js", "ts", "json"].includes(it)).description("Migration file format (js, ts, json), default is ts.");
13
13
  }
14
- async execute(input) {
14
+ async execute(input, output) {
15
15
  const migrationName = input.getArgument("migrationName");
16
16
  const migrationFormat = input.getArgument("format") || "ts";
17
17
  const filename = await this.migrationCreator.createEmptyMigrationFile(migrationName, migrationFormat);
18
- console.log(`${filename} created`);
18
+ output.data({ path: filename }, { human: (value) => `${value.path} created`, quiet: (value) => value.path });
19
19
  return 0;
20
20
  }
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationBlankCommand.cjs","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationBlankCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { MigrationCreator } from '@contember/migrations-client'\n\ntype Args = {\n\tmigrationName: string\n\tformat?: string\n}\n\ntype Options = {}\n\nexport class MigrationBlankCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationCreator: MigrationCreator,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Creates new blank migration file')\n\t\tconfiguration.argument('migrationName')\n\t\tconfiguration.argument('format').optional().validator(it => !it || ['js', 'ts', 'json'].includes(it))\n\t\t\t.description('Migration file format (js, ts, json), default is ts.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst migrationName = input.getArgument('migrationName')\n\t\tconst migrationFormat = input.getArgument('format') || 'ts'\n\t\tconst filename = await this.migrationCreator.createEmptyMigrationFile(migrationName, migrationFormat)\n\t\tconsole.log(`${filename} created`)\n\t\treturn 0\n\t}\n}\n"],"names":["Command"],"mappings":";;;AAUO,MAAM,8BAA8BA,UAAAA,QAAuB;AAAA,EACjE,YACkB,kBAChB;AACD,UAAA;AAFiB,SAAA,mBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kCAAkC;AAC5D,kBAAc,SAAS,eAAe;AACtC,kBAAc,SAAS,QAAQ,EAAE,WAAW,UAAU,QAAM,CAAC,MAAM,CAAC,MAAM,MAAM,MAAM,EAAE,SAAS,EAAE,CAAC,EAClG,YAAY,sDAAsD;AAAA,EACrE;AAAA,EAEA,MAAgB,QAAQ,OAA8C;AACrE,UAAM,gBAAgB,MAAM,YAAY,eAAe;AACvD,UAAM,kBAAkB,MAAM,YAAY,QAAQ,KAAK;AACvD,UAAM,WAAW,MAAM,KAAK,iBAAiB,yBAAyB,eAAe,eAAe;AACpG,YAAQ,IAAI,GAAG,QAAQ,UAAU;AACjC,WAAO;AAAA,EACR;AACD;;"}
1
+ {"version":3,"file":"MigrationBlankCommand.cjs","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationBlankCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input, Output } from '@contember/cli-common'\nimport { MigrationCreator } from '@contember/migrations-client'\n\ntype Args = {\n\tmigrationName: string\n\tformat?: string\n}\n\ntype Options = {}\n\nexport class MigrationBlankCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationCreator: MigrationCreator,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Creates new blank migration file')\n\t\tconfiguration.argument('migrationName')\n\t\tconfiguration.argument('format').optional().validator(it => !it || ['js', 'ts', 'json'].includes(it))\n\t\t\t.description('Migration file format (js, ts, json), default is ts.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<number> {\n\t\tconst migrationName = input.getArgument('migrationName')\n\t\tconst migrationFormat = input.getArgument('format') || 'ts'\n\t\tconst filename = await this.migrationCreator.createEmptyMigrationFile(migrationName, migrationFormat)\n\t\toutput.data({ path: filename }, { human: value => `${value.path} created`, quiet: value => value.path })\n\t\treturn 0\n\t}\n}\n"],"names":["Command"],"mappings":";;;AAUO,MAAM,8BAA8BA,UAAAA,QAAuB;AAAA,EACjE,YACkB,kBAChB;AACD,UAAA;AAFiB,SAAA,mBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kCAAkC;AAC5D,kBAAc,SAAS,eAAe;AACtC,kBAAc,SAAS,QAAQ,EAAE,WAAW,UAAU,QAAM,CAAC,MAAM,CAAC,MAAM,MAAM,MAAM,EAAE,SAAS,EAAE,CAAC,EAClG,YAAY,sDAAsD;AAAA,EACrE;AAAA,EAEA,MAAgB,QAAQ,OAA6B,QAAiC;AACrF,UAAM,gBAAgB,MAAM,YAAY,eAAe;AACvD,UAAM,kBAAkB,MAAM,YAAY,QAAQ,KAAK;AACvD,UAAM,WAAW,MAAM,KAAK,iBAAiB,yBAAyB,eAAe,eAAe;AACpG,WAAO,KAAK,EAAE,MAAM,SAAA,GAAY,EAAE,OAAO,CAAA,UAAS,GAAG,MAAM,IAAI,YAAY,OAAO,CAAA,UAAS,MAAM,MAAM;AACvG,WAAO;AAAA,EACR;AACD;;"}
@@ -9,11 +9,11 @@ class MigrationBlankCommand extends Command {
9
9
  configuration.argument("migrationName");
10
10
  configuration.argument("format").optional().validator((it) => !it || ["js", "ts", "json"].includes(it)).description("Migration file format (js, ts, json), default is ts.");
11
11
  }
12
- async execute(input) {
12
+ async execute(input, output) {
13
13
  const migrationName = input.getArgument("migrationName");
14
14
  const migrationFormat = input.getArgument("format") || "ts";
15
15
  const filename = await this.migrationCreator.createEmptyMigrationFile(migrationName, migrationFormat);
16
- console.log(`${filename} created`);
16
+ output.data({ path: filename }, { human: (value) => `${value.path} created`, quiet: (value) => value.path });
17
17
  return 0;
18
18
  }
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationBlankCommand.js","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationBlankCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { MigrationCreator } from '@contember/migrations-client'\n\ntype Args = {\n\tmigrationName: string\n\tformat?: string\n}\n\ntype Options = {}\n\nexport class MigrationBlankCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationCreator: MigrationCreator,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Creates new blank migration file')\n\t\tconfiguration.argument('migrationName')\n\t\tconfiguration.argument('format').optional().validator(it => !it || ['js', 'ts', 'json'].includes(it))\n\t\t\t.description('Migration file format (js, ts, json), default is ts.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<number> {\n\t\tconst migrationName = input.getArgument('migrationName')\n\t\tconst migrationFormat = input.getArgument('format') || 'ts'\n\t\tconst filename = await this.migrationCreator.createEmptyMigrationFile(migrationName, migrationFormat)\n\t\tconsole.log(`${filename} created`)\n\t\treturn 0\n\t}\n}\n"],"names":[],"mappings":";AAUO,MAAM,8BAA8B,QAAuB;AAAA,EACjE,YACkB,kBAChB;AACD,UAAA;AAFiB,SAAA,mBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kCAAkC;AAC5D,kBAAc,SAAS,eAAe;AACtC,kBAAc,SAAS,QAAQ,EAAE,WAAW,UAAU,QAAM,CAAC,MAAM,CAAC,MAAM,MAAM,MAAM,EAAE,SAAS,EAAE,CAAC,EAClG,YAAY,sDAAsD;AAAA,EACrE;AAAA,EAEA,MAAgB,QAAQ,OAA8C;AACrE,UAAM,gBAAgB,MAAM,YAAY,eAAe;AACvD,UAAM,kBAAkB,MAAM,YAAY,QAAQ,KAAK;AACvD,UAAM,WAAW,MAAM,KAAK,iBAAiB,yBAAyB,eAAe,eAAe;AACpG,YAAQ,IAAI,GAAG,QAAQ,UAAU;AACjC,WAAO;AAAA,EACR;AACD;"}
1
+ {"version":3,"file":"MigrationBlankCommand.js","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationBlankCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input, Output } from '@contember/cli-common'\nimport { MigrationCreator } from '@contember/migrations-client'\n\ntype Args = {\n\tmigrationName: string\n\tformat?: string\n}\n\ntype Options = {}\n\nexport class MigrationBlankCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationCreator: MigrationCreator,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Creates new blank migration file')\n\t\tconfiguration.argument('migrationName')\n\t\tconfiguration.argument('format').optional().validator(it => !it || ['js', 'ts', 'json'].includes(it))\n\t\t\t.description('Migration file format (js, ts, json), default is ts.')\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<number> {\n\t\tconst migrationName = input.getArgument('migrationName')\n\t\tconst migrationFormat = input.getArgument('format') || 'ts'\n\t\tconst filename = await this.migrationCreator.createEmptyMigrationFile(migrationName, migrationFormat)\n\t\toutput.data({ path: filename }, { human: value => `${value.path} created`, quiet: value => value.path })\n\t\treturn 0\n\t}\n}\n"],"names":[],"mappings":";AAUO,MAAM,8BAA8B,QAAuB;AAAA,EACjE,YACkB,kBAChB;AACD,UAAA;AAFiB,SAAA,mBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,kCAAkC;AAC5D,kBAAc,SAAS,eAAe;AACtC,kBAAc,SAAS,QAAQ,EAAE,WAAW,UAAU,QAAM,CAAC,MAAM,CAAC,MAAM,MAAM,MAAM,EAAE,SAAS,EAAE,CAAC,EAClG,YAAY,sDAAsD;AAAA,EACrE;AAAA,EAEA,MAAgB,QAAQ,OAA6B,QAAiC;AACrF,UAAM,gBAAgB,MAAM,YAAY,eAAe;AACvD,UAAM,kBAAkB,MAAM,YAAY,QAAQ,KAAK;AACvD,UAAM,WAAW,MAAM,KAAK,iBAAiB,yBAAyB,eAAe,eAAe;AACpG,WAAO,KAAK,EAAE,MAAM,SAAA,GAAY,EAAE,OAAO,CAAA,UAAS,GAAG,MAAM,IAAI,YAAY,OAAO,CAAA,UAAS,MAAM,MAAM;AACvG,WAAO;AAAA,EACR;AACD;"}
@@ -14,16 +14,20 @@ class MigrationDescribeCommand extends cliCommon.Command {
14
14
  configuration.option("sql-only").valueNone();
15
15
  configuration.option("no-sql").valueNone();
16
16
  }
17
- async execute(input) {
17
+ async execute(input, output) {
18
18
  const migrationArg = input.getArgument("migration");
19
19
  const sqlOnly = input.getOption("sql-only");
20
20
  const noSql = input.getOption("no-sql");
21
21
  const migration = migrationArg ? await this.migrationsResolver.findSchemaMigrationByVersion(migrationArg) : await this.migrationsResolver.findLatestSchemaMigration();
22
22
  if (!migration) {
23
- throw "Undefined migration";
23
+ throw new cliCommon.CliError("Undefined migration", { code: "MIGRATION_NOT_FOUND", exitCode: cliCommon.ExitCode.NotFound });
24
24
  }
25
25
  const schema = await this.schemaVersionBuilder.buildSchemaUntil(migration.version);
26
- this.migrationPrinter.printMigrationDescription(schema, migration, { sqlOnly, noSql });
26
+ const description = this.migrationPrinter.describeMigration(schema, migration);
27
+ output.data(description, {
28
+ human: (it) => this.migrationPrinter.formatMigrationDescription(it, { sqlOnly, noSql }),
29
+ quiet: () => migration.version
30
+ });
27
31
  }
28
32
  }
29
33
  exports.MigrationDescribeCommand = MigrationDescribeCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationDescribeCommand.cjs","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationDescribeCommand.ts"],"sourcesContent":["import { Command, CommandConfiguration, Input } from '@contember/cli-common'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter.js'\nimport { MigrationsResolver, SchemaVersionBuilder } from '@contember/migrations-client'\n\ntype Args = {\n\tmigration?: string\n}\n\ntype Options = {\n\t['sql-only']: boolean\n\t['no-sql']: boolean\n}\n\nexport class MigrationDescribeCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Describes a migration')\n\t\tconfiguration.argument('migration').optional()\n\t\tconfiguration.option('sql-only').valueNone()\n\t\tconfiguration.option('no-sql').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>): Promise<void> {\n\t\tconst migrationArg = input.getArgument('migration')\n\t\tconst sqlOnly = input.getOption('sql-only')\n\t\tconst noSql = input.getOption('no-sql')\n\n\t\tconst migration = migrationArg\n\t\t\t? await this.migrationsResolver.findSchemaMigrationByVersion(migrationArg)\n\t\t\t: await this.migrationsResolver.findLatestSchemaMigration()\n\n\t\tif (!migration) {\n\t\t\tthrow 'Undefined migration'\n\t\t}\n\t\tconst schema = await this.schemaVersionBuilder.buildSchemaUntil(migration.version)\n\t\tthis.migrationPrinter.printMigrationDescription(schema, migration, { sqlOnly, noSql })\n\t}\n}\n"],"names":["Command"],"mappings":";;;AAaO,MAAM,iCAAiCA,UAAAA,QAAuB;AAAA,EACpE,YACkB,kBACA,sBACA,oBAChB;AACD,UAAA;AAJiB,SAAA,mBAAA;AACA,SAAA,uBAAA;AACA,SAAA,qBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,uBAAuB;AACjD,kBAAc,SAAS,WAAW,EAAE,SAAA;AACpC,kBAAc,OAAO,UAAU,EAAE,UAAA;AACjC,kBAAc,OAAO,QAAQ,EAAE,UAAA;AAAA,EAChC;AAAA,EAEA,MAAgB,QAAQ,OAA4C;AACnE,UAAM,eAAe,MAAM,YAAY,WAAW;AAClD,UAAM,UAAU,MAAM,UAAU,UAAU;AAC1C,UAAM,QAAQ,MAAM,UAAU,QAAQ;AAEtC,UAAM,YAAY,eACf,MAAM,KAAK,mBAAmB,6BAA6B,YAAY,IACvE,MAAM,KAAK,mBAAmB,0BAAA;AAEjC,QAAI,CAAC,WAAW;AACf,YAAM;AAAA,IACP;AACA,UAAM,SAAS,MAAM,KAAK,qBAAqB,iBAAiB,UAAU,OAAO;AACjF,SAAK,iBAAiB,0BAA0B,QAAQ,WAAW,EAAE,SAAS,OAAO;AAAA,EACtF;AACD;;"}
1
+ {"version":3,"file":"MigrationDescribeCommand.cjs","sources":["../../../../../../packages/cli/src/commands/migrations/MigrationDescribeCommand.ts"],"sourcesContent":["import { CliError, Command, CommandConfiguration, ExitCode, Input, Output } from '@contember/cli-common'\nimport { MigrationPrinter } from '../../lib/migrations/MigrationPrinter.js'\nimport { MigrationsResolver, SchemaVersionBuilder } from '@contember/migrations-client'\n\ntype Args = {\n\tmigration?: string\n}\n\ntype Options = {\n\t['sql-only']: boolean\n\t['no-sql']: boolean\n}\n\nexport class MigrationDescribeCommand extends Command<Args, Options> {\n\tconstructor(\n\t\tprivate readonly migrationPrinter: MigrationPrinter,\n\t\tprivate readonly schemaVersionBuilder: SchemaVersionBuilder,\n\t\tprivate readonly migrationsResolver: MigrationsResolver,\n\t) {\n\t\tsuper()\n\t}\n\n\tprotected configure(configuration: CommandConfiguration<Args, Options>): void {\n\t\tconfiguration.description('Describes a migration')\n\t\tconfiguration.argument('migration').optional()\n\t\tconfiguration.option('sql-only').valueNone()\n\t\tconfiguration.option('no-sql').valueNone()\n\t}\n\n\tprotected async execute(input: Input<Args, Options>, output: Output): Promise<void> {\n\t\tconst migrationArg = input.getArgument('migration')\n\t\tconst sqlOnly = input.getOption('sql-only')\n\t\tconst noSql = input.getOption('no-sql')\n\n\t\tconst migration = migrationArg\n\t\t\t? await this.migrationsResolver.findSchemaMigrationByVersion(migrationArg)\n\t\t\t: await this.migrationsResolver.findLatestSchemaMigration()\n\n\t\tif (!migration) {\n\t\t\tthrow new CliError('Undefined migration', { code: 'MIGRATION_NOT_FOUND', exitCode: ExitCode.NotFound })\n\t\t}\n\t\tconst schema = await this.schemaVersionBuilder.buildSchemaUntil(migration.version)\n\t\t// the description is what the user asked for, so it is data: structured with --json, formatted for a human otherwise\n\t\tconst description = this.migrationPrinter.describeMigration(schema, migration)\n\t\toutput.data(description, {\n\t\t\thuman: it => this.migrationPrinter.formatMigrationDescription(it, { sqlOnly, noSql }),\n\t\t\tquiet: () => migration.version,\n\t\t})\n\t}\n}\n"],"names":["Command","CliError","ExitCode"],"mappings":";;;AAaO,MAAM,iCAAiCA,UAAAA,QAAuB;AAAA,EACpE,YACkB,kBACA,sBACA,oBAChB;AACD,UAAA;AAJiB,SAAA,mBAAA;AACA,SAAA,uBAAA;AACA,SAAA,qBAAA;AAAA,EAGlB;AAAA,EAEU,UAAU,eAA0D;AAC7E,kBAAc,YAAY,uBAAuB;AACjD,kBAAc,SAAS,WAAW,EAAE,SAAA;AACpC,kBAAc,OAAO,UAAU,EAAE,UAAA;AACjC,kBAAc,OAAO,QAAQ,EAAE,UAAA;AAAA,EAChC;AAAA,EAEA,MAAgB,QAAQ,OAA6B,QAA+B;AACnF,UAAM,eAAe,MAAM,YAAY,WAAW;AAClD,UAAM,UAAU,MAAM,UAAU,UAAU;AAC1C,UAAM,QAAQ,MAAM,UAAU,QAAQ;AAEtC,UAAM,YAAY,eACf,MAAM,KAAK,mBAAmB,6BAA6B,YAAY,IACvE,MAAM,KAAK,mBAAmB,0BAAA;AAEjC,QAAI,CAAC,WAAW;AACf,YAAM,IAAIC,UAAAA,SAAS,uBAAuB,EAAE,MAAM,uBAAuB,UAAUC,mBAAS,UAAU;AAAA,IACvG;AACA,UAAM,SAAS,MAAM,KAAK,qBAAqB,iBAAiB,UAAU,OAAO;AAEjF,UAAM,cAAc,KAAK,iBAAiB,kBAAkB,QAAQ,SAAS;AAC7E,WAAO,KAAK,aAAa;AAAA,MACxB,OAAO,QAAM,KAAK,iBAAiB,2BAA2B,IAAI,EAAE,SAAS,OAAO;AAAA,MACpF,OAAO,MAAM,UAAU;AAAA,IAAA,CACvB;AAAA,EACF;AACD;;"}
@@ -1,4 +1,4 @@
1
- import { Command } from "@contember/cli-common";
1
+ import { Command, CliError, ExitCode } from "@contember/cli-common";
2
2
  class MigrationDescribeCommand extends Command {
3
3
  constructor(migrationPrinter, schemaVersionBuilder, migrationsResolver) {
4
4
  super();
@@ -12,16 +12,20 @@ class MigrationDescribeCommand extends Command {
12
12
  configuration.option("sql-only").valueNone();
13
13
  configuration.option("no-sql").valueNone();
14
14
  }
15
- async execute(input) {
15
+ async execute(input, output) {
16
16
  const migrationArg = input.getArgument("migration");
17
17
  const sqlOnly = input.getOption("sql-only");
18
18
  const noSql = input.getOption("no-sql");
19
19
  const migration = migrationArg ? await this.migrationsResolver.findSchemaMigrationByVersion(migrationArg) : await this.migrationsResolver.findLatestSchemaMigration();
20
20
  if (!migration) {
21
- throw "Undefined migration";
21
+ throw new CliError("Undefined migration", { code: "MIGRATION_NOT_FOUND", exitCode: ExitCode.NotFound });
22
22
  }
23
23
  const schema = await this.schemaVersionBuilder.buildSchemaUntil(migration.version);
24
- this.migrationPrinter.printMigrationDescription(schema, migration, { sqlOnly, noSql });
24
+ const description = this.migrationPrinter.describeMigration(schema, migration);
25
+ output.data(description, {
26
+ human: (it) => this.migrationPrinter.formatMigrationDescription(it, { sqlOnly, noSql }),
27
+ quiet: () => migration.version
28
+ });
25
29
  }
26
30
  }
27
31
  export {