@codiac.io/codiac-cli 1.2.217 → 1.2.219

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 (1268) hide show
  1. package/README.md +4651 -4636
  2. package/bin/dev +16 -16
  3. package/bin/dev.cmd +2 -2
  4. package/bin/run +3 -3
  5. package/bin/run.cmd +3 -3
  6. package/codiac.json +9 -9
  7. package/dist/apis/codiac-api/common/api-client-base.d.ts +165 -165
  8. package/dist/apis/codiac-api/common/api-client-base.js +547 -547
  9. package/dist/apis/codiac-api/common/api-user-creds.d.ts +7 -7
  10. package/dist/apis/codiac-api/common/api-user-creds.js +18 -18
  11. package/dist/apis/codiac-api/common/config-loader.d.ts +6 -6
  12. package/dist/apis/codiac-api/common/config-loader.js +18 -18
  13. package/dist/apis/codiac-api/common/endpoint-spec.d.ts +17 -17
  14. package/dist/apis/codiac-api/common/endpoint-spec.js +27 -27
  15. package/dist/apis/codiac-api/common/security/api-auth-methods-legacy.d.ts +87 -87
  16. package/dist/apis/codiac-api/common/security/api-auth-methods-legacy.js +367 -367
  17. package/dist/apis/codiac-api/common/security/auth-constants.d.ts +15 -15
  18. package/dist/apis/codiac-api/common/security/auth-constants.js +21 -21
  19. package/dist/apis/codiac-api/common/security/i-auth-client.d.ts +44 -44
  20. package/dist/apis/codiac-api/common/security/i-auth-client.js +2 -2
  21. package/dist/apis/codiac-api/common/security/token-holder.d.ts +13 -13
  22. package/dist/apis/codiac-api/common/security/token-holder.js +17 -17
  23. package/dist/apis/codiac-api/common/utils.d.ts +23 -23
  24. package/dist/apis/codiac-api/common/utils.js +82 -82
  25. package/dist/apis/codiac-api/contracts/index.d.ts +1 -1
  26. package/dist/apis/codiac-api/contracts/index.js +4 -4
  27. package/dist/apis/codiac-api/gen/client-config.d.ts +10 -10
  28. package/dist/apis/codiac-api/gen/client-config.js +28 -28
  29. package/dist/apis/codiac-api/gen/client.d.ts +1663 -1663
  30. package/dist/apis/codiac-api/gen/client.js +15629 -15629
  31. package/dist/apis/codiac-api/gen/contracts.d.ts +2722 -2722
  32. package/dist/apis/codiac-api/gen/contracts.js +402 -402
  33. package/dist/apis/codiac-api/index.d.ts +3 -3
  34. package/dist/apis/codiac-api/index.js +8 -8
  35. package/dist/apis/codiac-relay/common/api-client-base.d.ts +165 -165
  36. package/dist/apis/codiac-relay/common/api-client-base.js +547 -547
  37. package/dist/apis/codiac-relay/common/api-user-creds.d.ts +7 -7
  38. package/dist/apis/codiac-relay/common/api-user-creds.js +18 -18
  39. package/dist/apis/codiac-relay/common/config-loader.d.ts +6 -6
  40. package/dist/apis/codiac-relay/common/config-loader.js +18 -18
  41. package/dist/apis/codiac-relay/common/endpoint-spec.d.ts +17 -17
  42. package/dist/apis/codiac-relay/common/endpoint-spec.js +27 -27
  43. package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.d.ts +87 -87
  44. package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.js +367 -367
  45. package/dist/apis/codiac-relay/common/security/auth-constants.d.ts +15 -15
  46. package/dist/apis/codiac-relay/common/security/auth-constants.js +21 -21
  47. package/dist/apis/codiac-relay/common/security/i-auth-client.d.ts +44 -44
  48. package/dist/apis/codiac-relay/common/security/i-auth-client.js +2 -2
  49. package/dist/apis/codiac-relay/common/security/token-holder.d.ts +13 -13
  50. package/dist/apis/codiac-relay/common/security/token-holder.js +17 -17
  51. package/dist/apis/codiac-relay/common/utils.d.ts +23 -23
  52. package/dist/apis/codiac-relay/common/utils.js +82 -82
  53. package/dist/apis/codiac-relay/contracts/index.d.ts +1 -1
  54. package/dist/apis/codiac-relay/contracts/index.js +4 -4
  55. package/dist/apis/codiac-relay/gen/client-config.d.ts +10 -10
  56. package/dist/apis/codiac-relay/gen/client-config.js +28 -28
  57. package/dist/apis/codiac-relay/gen/client.d.ts +244 -244
  58. package/dist/apis/codiac-relay/gen/client.js +1862 -1862
  59. package/dist/apis/codiac-relay/gen/contracts.d.ts +3115 -3115
  60. package/dist/apis/codiac-relay/gen/contracts.js +434 -434
  61. package/dist/apis/codiac-relay/index.d.ts +3 -3
  62. package/dist/apis/codiac-relay/index.js +8 -8
  63. package/dist/cli-common/ImagesList.js +66 -66
  64. package/dist/cli-common/argument-manager.d.ts +28 -28
  65. package/dist/cli-common/argument-manager.js +194 -194
  66. package/dist/cli-common/built-in-cli-user-input.d.ts +18 -18
  67. package/dist/cli-common/built-in-cli-user-input.js +309 -309
  68. package/dist/cli-common/cli-interfaces.js +6 -6
  69. package/dist/cli-common/command-base.d.ts +72 -72
  70. package/dist/cli-common/command-base.js +182 -182
  71. package/dist/cli-common/entities/index.d.ts +1 -1
  72. package/dist/cli-common/entities/index.js +4 -4
  73. package/dist/cli-common/entities/prompt-choice.d.ts +7 -7
  74. package/dist/cli-common/entities/prompt-choice.js +2 -2
  75. package/dist/cli-common/file-selector.d.ts +48 -48
  76. package/dist/cli-common/file-selector.js +186 -186
  77. package/dist/cli-common/i-user-input-provider.js +18 -18
  78. package/dist/cli-common/index.d.ts +4 -4
  79. package/dist/cli-common/index.js +10 -10
  80. package/dist/cli-common/mock-ui.d.ts +27 -27
  81. package/dist/cli-common/mock-ui.js +82 -82
  82. package/dist/cli-common/prompt-select-fuzzy.d.ts +19 -19
  83. package/dist/cli-common/prompt-select-fuzzy.js +118 -118
  84. package/dist/cli-common/tenant-contextualizer.js +435 -435
  85. package/dist/cli-common/test/tenant-contextualizer.spec.js +142 -142
  86. package/dist/cli-entities/output-format-enum.d.ts +7 -7
  87. package/dist/cli-entities/output-format-enum.js +11 -11
  88. package/dist/cli-entities/prompt-choice.js +5 -5
  89. package/dist/codiac-constants.d.ts +38 -38
  90. package/dist/codiac-constants.js +43 -43
  91. package/dist/codiac-entities/asset-binding.d.ts +12 -12
  92. package/dist/codiac-entities/asset-binding.js +17 -17
  93. package/dist/codiac-entities/azure-container-registry.d.ts +4 -4
  94. package/dist/codiac-entities/azure-container-registry.js +2 -2
  95. package/dist/codiac-entities/azure-service-principal.d.ts +23 -23
  96. package/dist/codiac-entities/azure-service-principal.js +23 -23
  97. package/dist/codiac-entities/cloud-account-ref.d.ts +28 -28
  98. package/dist/codiac-entities/cloud-account-ref.js +36 -36
  99. package/dist/codiac-entities/deployment-temp.js +132 -132
  100. package/dist/codiac-entities/i-cloud-account-ref.d.ts +5 -5
  101. package/dist/codiac-entities/i-cloud-account-ref.js +2 -2
  102. package/dist/command-base-enterprise.d.ts +121 -121
  103. package/dist/command-base-enterprise.js +523 -523
  104. package/dist/command-base-tenantless.d.ts +44 -44
  105. package/dist/command-base-tenantless.js +179 -179
  106. package/dist/commands/asset/create.d.ts +42 -42
  107. package/dist/commands/asset/create.js +475 -475
  108. package/dist/commands/asset/destroy.d.ts +20 -20
  109. package/dist/commands/asset/destroy.js +128 -128
  110. package/dist/commands/asset/helm.d.ts +23 -23
  111. package/dist/commands/asset/helm.js +152 -152
  112. package/dist/commands/asset/list.d.ts +28 -28
  113. package/dist/commands/asset/list.js +171 -171
  114. package/dist/commands/asset/probe/create.d.ts +38 -38
  115. package/dist/commands/asset/probe/create.js +186 -186
  116. package/dist/commands/asset/recycle.d.ts +23 -23
  117. package/dist/commands/asset/recycle.js +174 -174
  118. package/dist/commands/asset/view.d.ts +188 -188
  119. package/dist/commands/asset/view.js +1394 -1394
  120. package/dist/commands/asset/volume/create.d.ts +23 -23
  121. package/dist/commands/asset/volume/create.js +175 -175
  122. package/dist/commands/asset/volume/delete.d.ts +19 -19
  123. package/dist/commands/asset/volume/delete.js +111 -111
  124. package/dist/commands/asset/volume/list.d.ts +19 -19
  125. package/dist/commands/asset/volume/list.js +69 -69
  126. package/dist/commands/branch/current.d.ts +10 -10
  127. package/dist/commands/branch/current.js +33 -33
  128. package/dist/commands/branch/list.d.ts +15 -15
  129. package/dist/commands/branch/list.js +55 -55
  130. package/dist/commands/branch.d.ts +12 -12
  131. package/dist/commands/branch.js +41 -41
  132. package/dist/commands/build.d.ts +38 -38
  133. package/dist/commands/build.js +119 -119
  134. package/dist/commands/cabinet/create.d.ts +21 -21
  135. package/dist/commands/cabinet/create.js +107 -107
  136. package/dist/commands/cabinet/list.d.ts +23 -23
  137. package/dist/commands/cabinet/list.js +133 -133
  138. package/dist/commands/cabinet/obliterate.d.ts +20 -20
  139. package/dist/commands/cabinet/obliterate.js +82 -82
  140. package/dist/commands/cli.d.ts +10 -10
  141. package/dist/commands/cli.js +99 -99
  142. package/dist/commands/commit.d.ts +11 -11
  143. package/dist/commands/commit.js +39 -39
  144. package/dist/commands/config/add.d.ts +78 -78
  145. package/dist/commands/config/add.js +559 -559
  146. package/dist/commands/config/delete.d.ts +18 -18
  147. package/dist/commands/config/delete.js +118 -118
  148. package/dist/commands/config/deploy.d.ts +22 -22
  149. package/dist/commands/config/deploy.js +124 -124
  150. package/dist/commands/config/import.d.ts +27 -27
  151. package/dist/commands/config/import.js +195 -195
  152. package/dist/commands/config/view.d.ts +25 -25
  153. package/dist/commands/config/view.js +120 -120
  154. package/dist/commands/csp/login.d.ts +18 -18
  155. package/dist/commands/csp/login.js +122 -122
  156. package/dist/commands/csp/logout.d.ts +15 -15
  157. package/dist/commands/csp/logout.js +73 -73
  158. package/dist/commands/dep/create.d.ts +13 -13
  159. package/dist/commands/dep/create.js +40 -40
  160. package/dist/commands/dep/install.d.ts +9 -9
  161. package/dist/commands/dep/install.js +29 -29
  162. package/dist/commands/dep/list.d.ts +55 -55
  163. package/dist/commands/dep/list.js +97 -97
  164. package/dist/commands/dep/remove.d.ts +12 -12
  165. package/dist/commands/dep/remove.js +61 -61
  166. package/dist/commands/dep/source.d.ts +13 -13
  167. package/dist/commands/dep/source.js +82 -82
  168. package/dist/commands/dep/syncup.d.ts +11 -11
  169. package/dist/commands/dep/syncup.js +53 -53
  170. package/dist/commands/dep/unsource.d.ts +14 -14
  171. package/dist/commands/dep/unsource.js +67 -67
  172. package/dist/commands/dep/upgrade.d.ts +44 -44
  173. package/dist/commands/dep/upgrade.js +243 -243
  174. package/dist/commands/dep.d.ts +12 -12
  175. package/dist/commands/dep.js +50 -50
  176. package/dist/commands/deploy.d.ts +38 -38
  177. package/dist/commands/deploy.js +385 -385
  178. package/dist/commands/enterprise/create.d.ts +20 -20
  179. package/dist/commands/enterprise/create.js +97 -97
  180. package/dist/commands/enterprise/list.d.ts +14 -14
  181. package/dist/commands/enterprise/list.js +83 -83
  182. package/dist/commands/env/add.d.ts +22 -22
  183. package/dist/commands/env/add.js +199 -199
  184. package/dist/commands/environment/create.d.ts +19 -19
  185. package/dist/commands/environment/create.js +88 -88
  186. package/dist/commands/environment/list.d.ts +25 -25
  187. package/dist/commands/environment/list.js +157 -157
  188. package/dist/commands/filestore/capture.d.ts +31 -31
  189. package/dist/commands/filestore/capture.js +341 -341
  190. package/dist/commands/host/map.d.ts +33 -33
  191. package/dist/commands/host/map.js +346 -346
  192. package/dist/commands/identity/delete.d.ts +15 -15
  193. package/dist/commands/identity/delete.js +82 -82
  194. package/dist/commands/identity/list.d.ts +11 -11
  195. package/dist/commands/identity/list.js +42 -42
  196. package/dist/commands/identity.d.ts +22 -22
  197. package/dist/commands/identity.js +76 -76
  198. package/dist/commands/imageRegistry/capture.d.ts +27 -27
  199. package/dist/commands/imageRegistry/capture.js +159 -159
  200. package/dist/commands/imageRegistry/forget.d.ts +23 -23
  201. package/dist/commands/imageRegistry/forget.js +160 -160
  202. package/dist/commands/imageRegistry/pullSecret/set.d.ts +27 -27
  203. package/dist/commands/imageRegistry/pullSecret/set.js +310 -310
  204. package/dist/commands/imageRegistry/pullSecret/unset.d.ts +24 -24
  205. package/dist/commands/imageRegistry/pullSecret/unset.js +242 -242
  206. package/dist/commands/images/add.d.ts +25 -25
  207. package/dist/commands/images/add.js +75 -75
  208. package/dist/commands/images/list.d.ts +14 -14
  209. package/dist/commands/images/list.js +71 -71
  210. package/dist/commands/images/patch.d.ts +14 -14
  211. package/dist/commands/images/patch.js +92 -92
  212. package/dist/commands/images/remove.d.ts +12 -12
  213. package/dist/commands/images/remove.js +37 -37
  214. package/dist/commands/images/version/bump.d.ts +18 -18
  215. package/dist/commands/images/version/bump.js +60 -60
  216. package/dist/commands/images/version.d.ts +16 -16
  217. package/dist/commands/images/version.js +64 -64
  218. package/dist/commands/init.d.ts +17 -17
  219. package/dist/commands/init.js +130 -130
  220. package/dist/commands/kit/create.d.ts +25 -25
  221. package/dist/commands/kit/create.js +141 -141
  222. package/dist/commands/login.d.ts +22 -22
  223. package/dist/commands/login.js +92 -92
  224. package/dist/commands/logout.d.ts +8 -8
  225. package/dist/commands/logout.js +36 -36
  226. package/dist/commands/merge.d.ts +12 -12
  227. package/dist/commands/merge.js +42 -42
  228. package/dist/commands/noc/cluster/create.d.ts +28 -28
  229. package/dist/commands/noc/cluster/create.js +135 -135
  230. package/dist/commands/noc/cluster/deinit.d.ts +17 -17
  231. package/dist/commands/noc/cluster/deinit.js +116 -116
  232. package/dist/commands/noc/cluster/destroy.d.ts +20 -20
  233. package/dist/commands/noc/cluster/destroy.js +137 -137
  234. package/dist/commands/noc/cluster/forget.d.ts +16 -16
  235. package/dist/commands/noc/cluster/forget.js +136 -136
  236. package/dist/commands/noc/cluster/grant.d.ts +24 -24
  237. package/dist/commands/noc/cluster/grant.js +159 -159
  238. package/dist/commands/noc/cluster/init.d.ts +17 -17
  239. package/dist/commands/noc/cluster/init.js +116 -116
  240. package/dist/commands/noc/cluster/list.d.ts +21 -21
  241. package/dist/commands/noc/cluster/list.js +83 -83
  242. package/dist/commands/noc/cluster/recreate.d.ts +28 -28
  243. package/dist/commands/noc/cluster/recreate.js +188 -188
  244. package/dist/commands/pkg/add.d.ts +15 -15
  245. package/dist/commands/pkg/add.js +42 -42
  246. package/dist/commands/pkg/list.d.ts +9 -9
  247. package/dist/commands/pkg/list.js +32 -32
  248. package/dist/commands/pkg/patch.d.ts +13 -13
  249. package/dist/commands/pkg/patch.js +78 -78
  250. package/dist/commands/pkg/remove.d.ts +12 -12
  251. package/dist/commands/pkg/remove.js +69 -69
  252. package/dist/commands/portal.d.ts +11 -11
  253. package/dist/commands/portal.js +81 -81
  254. package/dist/commands/publish.d.ts +21 -21
  255. package/dist/commands/publish.js +51 -51
  256. package/dist/commands/pull.d.ts +13 -13
  257. package/dist/commands/pull.js +29 -29
  258. package/dist/commands/push.d.ts +13 -13
  259. package/dist/commands/push.js +29 -29
  260. package/dist/commands/run.d.ts +35 -35
  261. package/dist/commands/run.js +193 -193
  262. package/dist/commands/secretStore/capture.d.ts +27 -27
  263. package/dist/commands/secretStore/capture.js +174 -174
  264. package/dist/commands/secretStore/forget.d.ts +20 -20
  265. package/dist/commands/secretStore/forget.js +146 -146
  266. package/dist/commands/stage.d.ts +13 -13
  267. package/dist/commands/stage.js +64 -64
  268. package/dist/commands/stash.d.ts +13 -13
  269. package/dist/commands/stash.js +30 -30
  270. package/dist/commands/status.d.ts +12 -12
  271. package/dist/commands/status.js +48 -48
  272. package/dist/commands/stop.d.ts +10 -10
  273. package/dist/commands/stop.js +51 -51
  274. package/dist/commands/switch.d.ts +11 -11
  275. package/dist/commands/switch.js +41 -41
  276. package/dist/commands/sync.d.ts +14 -14
  277. package/dist/commands/sync.js +20 -20
  278. package/dist/commands/tenant/create.d.ts +27 -27
  279. package/dist/commands/tenant/create.js +119 -119
  280. package/dist/commands/tenant/switch.d.ts +24 -24
  281. package/dist/commands/tenant/switch.js +108 -108
  282. package/dist/commands/unstage.d.ts +12 -12
  283. package/dist/commands/unstage.js +57 -57
  284. package/dist/commands/whereami.d.ts +15 -15
  285. package/dist/commands/whereami.js +122 -122
  286. package/dist/commands/whoami.d.ts +8 -8
  287. package/dist/commands/whoami.js +39 -39
  288. package/dist/errors/NoMembershipError.d.ts +8 -8
  289. package/dist/errors/NoMembershipError.js +14 -14
  290. package/dist/index.d.ts +1 -1
  291. package/dist/index.js +16 -16
  292. package/dist/log-update-wrapper.d.ts +24 -24
  293. package/dist/log-update-wrapper.js +28 -28
  294. package/dist/log4js-logger.d.ts +26 -26
  295. package/dist/log4js-logger.js +137 -137
  296. package/dist/ops/INTERFACES_CLI.d.ts +3 -3
  297. package/dist/ops/INTERFACES_CLI.js +7 -7
  298. package/dist/ops/LocalOps.d.ts +417 -417
  299. package/dist/ops/LocalOps.js +3121 -3121
  300. package/dist/ops/azure-container-registry-client/azure-container-registry-client.js +147 -147
  301. package/dist/ops/cli-path-walker.js +54 -54
  302. package/dist/ops/codiac-entities/dependency.d.ts +5 -5
  303. package/dist/ops/codiac-entities/dependency.js +10 -10
  304. package/dist/ops/codiac-entities/index.d.ts +1 -1
  305. package/dist/ops/codiac-entities/index.js +4 -4
  306. package/dist/ops/composite-image-registry-client.js +73 -73
  307. package/dist/ops/data/cli-context-repo.d.ts +61 -61
  308. package/dist/ops/data/cli-context-repo.js +269 -269
  309. package/dist/ops/data/index.d.ts +2 -2
  310. package/dist/ops/data/index.js +5 -5
  311. package/dist/ops/data/npm-config-repo.d.ts +13 -13
  312. package/dist/ops/data/npm-config-repo.js +64 -64
  313. package/dist/ops/docker-config.js +130 -130
  314. package/dist/ops/docker-constants.js +21 -21
  315. package/dist/ops/docker-credentials-store.js +237 -237
  316. package/dist/ops/docker-registry-api-client/docker-registry-api-client.js +288 -288
  317. package/dist/ops/docker-registry-api-client/entities/blob-sum.d.ts +7 -7
  318. package/dist/ops/docker-registry-api-client/entities/blob-sum.js +12 -12
  319. package/dist/ops/docker-registry-api-client/entities/docker-access-actions-enum.d.ts +5 -5
  320. package/dist/ops/docker-registry-api-client/entities/docker-access-actions-enum.js +9 -9
  321. package/dist/ops/docker-registry-api-client/entities/docker-auth-token-criteria.d.ts +30 -30
  322. package/dist/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js +35 -35
  323. package/dist/ops/docker-registry-api-client/entities/i-docker-error-response.d.ts +55 -55
  324. package/dist/ops/docker-registry-api-client/entities/i-docker-error-response.js +51 -51
  325. package/dist/ops/docker-registry-api-client/entities/i-docker-list-response.d.ts +7 -7
  326. package/dist/ops/docker-registry-api-client/entities/i-docker-list-response.js +2 -2
  327. package/dist/ops/docker-registry-api-client/entities/image-repository.d.ts +31 -31
  328. package/dist/ops/docker-registry-api-client/entities/image-repository.js +29 -29
  329. package/dist/ops/docker-registry-api-client/entities/image-tag-criteria.d.ts +8 -8
  330. package/dist/ops/docker-registry-api-client/entities/image-tag-criteria.js +13 -13
  331. package/dist/ops/docker-registry-api-client/entities/image-tag-list.d.ts +7 -7
  332. package/dist/ops/docker-registry-api-client/entities/image-tag-list.js +12 -12
  333. package/dist/ops/docker-registry-api-client/entities/manifest-criteria.d.ts +9 -9
  334. package/dist/ops/docker-registry-api-client/entities/manifest-criteria.js +14 -14
  335. package/dist/ops/docker-registry-api-client/entities/manifest.d.ts +15 -15
  336. package/dist/ops/docker-registry-api-client/entities/manifest.js +20 -20
  337. package/dist/ops/docker-registry-api-client/entities/repository-criteria.d.ts +16 -16
  338. package/dist/ops/docker-registry-api-client/entities/repository-criteria.js +23 -23
  339. package/dist/ops/docker-registry-api-client/entities/token-response.d.ts +15 -15
  340. package/dist/ops/docker-registry-api-client/entities/token-response.js +14 -14
  341. package/dist/ops/docker-registry-api-client/entities/token.d.ts +17 -17
  342. package/dist/ops/docker-registry-api-client/entities/token.js +21 -21
  343. package/dist/ops/docker-registry-api-client/entities/version-check-criteria.d.ts +4 -4
  344. package/dist/ops/docker-registry-api-client/entities/version-check-criteria.js +9 -9
  345. package/dist/ops/dx-constants.d.ts +26 -26
  346. package/dist/ops/dx-constants.js +42 -42
  347. package/dist/ops/entities/ImageBuildContext.d.ts +12 -12
  348. package/dist/ops/entities/ImageBuildContext.js +18 -18
  349. package/dist/ops/entities/PipelineContext.d.ts +21 -21
  350. package/dist/ops/entities/PipelineContext.js +22 -22
  351. package/dist/ops/entities/TenantContext.d.ts +10 -10
  352. package/dist/ops/entities/TenantContext.js +15 -15
  353. package/dist/ops/entities/ThaulConfig.js +29 -29
  354. package/dist/ops/entities/azure-service-principal.d.ts +23 -23
  355. package/dist/ops/entities/azure-service-principal.js +23 -23
  356. package/dist/ops/entities/better-logger.js +1 -1
  357. package/dist/ops/entities/branch.d.ts +13 -13
  358. package/dist/ops/entities/branch.js +15 -15
  359. package/dist/ops/entities/cli-config.d.ts +48 -48
  360. package/dist/ops/entities/cli-config.js +60 -60
  361. package/dist/ops/entities/docker-image.d.ts +60 -60
  362. package/dist/ops/entities/docker-image.js +2 -2
  363. package/dist/ops/entities/helm-spec.d.ts +15 -15
  364. package/dist/ops/entities/helm-spec.js +22 -22
  365. package/dist/ops/entities/index.d.ts +4 -4
  366. package/dist/ops/entities/index.js +11 -11
  367. package/dist/ops/entities/operation-meta.d.ts +8 -8
  368. package/dist/ops/entities/operation-meta.js +18 -18
  369. package/dist/ops/entities/scaffolding.d.ts +19 -19
  370. package/dist/ops/entities/scaffolding.js +20 -20
  371. package/dist/ops/extensions/azart-identity-adapter.d.ts +19 -19
  372. package/dist/ops/extensions/azart-identity-adapter.js +96 -96
  373. package/dist/ops/extensions/npm-identity-adapter-base.d.ts +13 -13
  374. package/dist/ops/extensions/npm-identity-adapter-base.js +2 -2
  375. package/dist/ops/extensions/npmjs-identity-adapter.d.ts +13 -13
  376. package/dist/ops/extensions/npmjs-identity-adapter.js +63 -63
  377. package/dist/ops/git-ops.d.ts +8 -8
  378. package/dist/ops/git-ops.js +13 -13
  379. package/dist/ops/i-client-for-image-registry.js +16 -16
  380. package/dist/ops/i-identity-handler.d.ts +33 -33
  381. package/dist/ops/i-identity-handler.js +164 -164
  382. package/dist/ops/i-output-styler.js +16 -16
  383. package/dist/ops/index.d.ts +12 -12
  384. package/dist/ops/index.js +14 -14
  385. package/dist/ops/json-utils.js +58 -58
  386. package/dist/ops/no-style-output-styler.js +29 -29
  387. package/dist/ops/oauth2-client.ts/oauth2-client.d.ts +23 -23
  388. package/dist/ops/oauth2-client.ts/oauth2-client.js +63 -63
  389. package/dist/ops/project-initializer.d.ts +36 -36
  390. package/dist/ops/project-initializer.js +218 -218
  391. package/dist/ops/scaffolding/base-scaffolding.d.ts +7 -7
  392. package/dist/ops/scaffolding/base-scaffolding.js +20 -20
  393. package/dist/ops/scaffolding/codiac-api-scaffolding.d.ts +7 -7
  394. package/dist/ops/scaffolding/codiac-api-scaffolding.js +63 -63
  395. package/dist/ops/scaffolding/typescript-scaffolding.d.ts +15 -15
  396. package/dist/ops/scaffolding/typescript-scaffolding.js +162 -162
  397. package/dist/ops/test/mock-ui.d.ts +26 -26
  398. package/dist/ops/test/mock-ui.js +87 -87
  399. package/dist/ops/test/test-extensions.d.ts +13 -13
  400. package/dist/ops/test/test-extensions.js +70 -70
  401. package/dist/ops/test/when-a-recursive-file-search-is-run.spec.d.ts +2 -2
  402. package/dist/ops/test/when-a-recursive-file-search-is-run.spec.js +54 -54
  403. package/dist/ops/test/when-git-branchline-is-attempted.spec.d.ts +2 -2
  404. package/dist/ops/test/when-git-branchline-is-attempted.spec.js +37 -37
  405. package/dist/ops/test/when-versions-are-parsed.spec.d.ts +2 -2
  406. package/dist/ops/test/when-versions-are-parsed.spec.js +61 -61
  407. package/dist/ops/throwing-user-input-provider.js +36 -36
  408. package/dist/ops/workspace-versioner.d.ts +122 -122
  409. package/dist/ops/workspace-versioner.js +291 -291
  410. package/dist/prettify.d.ts +7 -7
  411. package/dist/prettify.js +23 -23
  412. package/dist/read-stdin.d.ts +2 -2
  413. package/dist/read-stdin.js +28 -28
  414. package/dist/relay/contracts/contracts.d.ts +207 -207
  415. package/dist/relay/contracts/contracts.js +229 -229
  416. package/dist/relay/extended-relay-client.d.ts +27 -27
  417. package/dist/relay/extended-relay-client.js +27 -27
  418. package/dist/relay/relay-container.d.ts +41 -41
  419. package/dist/relay/relay-container.js +297 -297
  420. package/dist/relay/wsclient/relay-socket-listener.d.ts +68 -68
  421. package/dist/relay/wsclient/relay-socket-listener.js +164 -164
  422. package/dist/relay/wsclient/relay-websocket-client.d.ts +33 -33
  423. package/dist/relay/wsclient/relay-websocket-client.js +178 -178
  424. package/dist/relay/wsclient/rx-websocket-subject.d.ts +25 -25
  425. package/dist/relay/wsclient/rx-websocket-subject.js +133 -133
  426. package/dist/relay/wsclient/socket-contracts.d.ts +22 -22
  427. package/dist/relay/wsclient/socket-contracts.js +2 -2
  428. package/dist/standard-probes.d.ts +5 -5
  429. package/dist/standard-probes.js +21 -21
  430. package/dist/uilogic/build-configurator.d.ts +21 -21
  431. package/dist/uilogic/build-configurator.js +110 -110
  432. package/dist/uilogic/cloud-provider-contextualizer.d.ts +46 -46
  433. package/dist/uilogic/cloud-provider-contextualizer.js +193 -193
  434. package/dist/uilogic/cloud-resource-configurator-factory.d.ts +41 -41
  435. package/dist/uilogic/cloud-resource-configurator-factory.js +157 -157
  436. package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +38 -38
  437. package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.js +347 -347
  438. package/dist/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js +77 -77
  439. package/dist/uilogic/cloud-resource-configurators/az-interactive-login-configurator.d.ts +42 -42
  440. package/dist/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js +247 -247
  441. package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +110 -110
  442. package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.js +785 -785
  443. package/dist/uilogic/cloud-resource-configurators/azure-types.js +9 -9
  444. package/dist/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.d.ts +24 -24
  445. package/dist/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js +105 -105
  446. package/dist/uilogic/cloud-resource-configurators/helm-resource-configurator.d.ts +16 -16
  447. package/dist/uilogic/cloud-resource-configurators/helm-resource-configurator.js +44 -44
  448. package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +18 -18
  449. package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js +61 -61
  450. package/dist/uilogic/enterprise-contextualizer.d.ts +76 -76
  451. package/dist/uilogic/enterprise-contextualizer.js +670 -670
  452. package/dist/uilogic/enterprise-contextualizer.js.map +1 -1
  453. package/dist/uilogic/environment-contextualizer.d.ts +15 -15
  454. package/dist/uilogic/environment-contextualizer.js +42 -42
  455. package/dist/uilogic/i-cluster-configurator.d.ts +9 -9
  456. package/dist/uilogic/i-cluster-configurator.js +2 -2
  457. package/dist/uilogic/i-login-configurator.d.ts +6 -6
  458. package/dist/uilogic/i-login-configurator.js +2 -2
  459. package/dist/uilogic/i-registry-configurator.d.ts +6 -6
  460. package/dist/uilogic/i-registry-configurator.js +2 -2
  461. package/dist/uilogic/i-secret-store-configurator.d.ts +7 -7
  462. package/dist/uilogic/i-secret-store-configurator.js +2 -2
  463. package/dist/uilogic/image-configurator.d.ts +133 -133
  464. package/dist/uilogic/image-configurator.js +577 -577
  465. package/dist/uilogic/image-contextualizer.d.ts +24 -24
  466. package/dist/uilogic/image-contextualizer.js +89 -89
  467. package/dist/uilogic/image-registry-contextualizer.d.ts +28 -28
  468. package/dist/uilogic/image-registry-contextualizer.js +126 -126
  469. package/dist/uilogic/index.d.ts +9 -9
  470. package/dist/uilogic/index.js +13 -13
  471. package/dist/uilogic/prompt-select-fuzzy.js +138 -138
  472. package/dist/uilogic/render-methods.d.ts +12 -12
  473. package/dist/uilogic/render-methods.js +64 -64
  474. package/dist/uilogic/tenant-contextualizer.d.ts +79 -79
  475. package/dist/uilogic/tenant-contextualizer.js +577 -577
  476. package/dist/user-context-loader.d.ts +60 -60
  477. package/dist/user-context-loader.js +183 -183
  478. package/lib/api-command-base.d.ts +0 -0
  479. package/lib/api-command-base.js +52 -0
  480. package/lib/api-command-base.js.map +1 -0
  481. package/lib/apis/codiac-api/common/api-client-base.d.ts +165 -0
  482. package/lib/apis/codiac-api/common/api-client-base.js +548 -0
  483. package/lib/apis/codiac-api/common/api-client-base.js.map +1 -0
  484. package/lib/apis/codiac-api/common/api-user-creds.d.ts +7 -0
  485. package/lib/apis/codiac-api/common/api-user-creds.js +19 -0
  486. package/lib/apis/codiac-api/common/api-user-creds.js.map +1 -0
  487. package/lib/apis/codiac-api/common/config-loader.d.ts +6 -0
  488. package/lib/apis/codiac-api/common/config-loader.js +19 -0
  489. package/lib/apis/codiac-api/common/config-loader.js.map +1 -0
  490. package/lib/apis/codiac-api/common/endpoint-spec.d.ts +17 -0
  491. package/lib/apis/codiac-api/common/endpoint-spec.js +28 -0
  492. package/lib/apis/codiac-api/common/endpoint-spec.js.map +1 -0
  493. package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.d.ts +87 -0
  494. package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.js +368 -0
  495. package/lib/apis/codiac-api/common/security/api-auth-methods-legacy.js.map +1 -0
  496. package/lib/apis/codiac-api/common/security/auth-constants.d.ts +15 -0
  497. package/lib/apis/codiac-api/common/security/auth-constants.js +22 -0
  498. package/lib/apis/codiac-api/common/security/auth-constants.js.map +1 -0
  499. package/lib/apis/codiac-api/common/security/i-auth-client.d.ts +44 -0
  500. package/lib/apis/codiac-api/common/security/i-auth-client.js +3 -0
  501. package/lib/apis/codiac-api/common/security/i-auth-client.js.map +1 -0
  502. package/lib/apis/codiac-api/common/security/token-holder.d.ts +13 -0
  503. package/lib/apis/codiac-api/common/security/token-holder.js +18 -0
  504. package/lib/apis/codiac-api/common/security/token-holder.js.map +1 -0
  505. package/lib/apis/codiac-api/common/utils.d.ts +23 -0
  506. package/lib/apis/codiac-api/common/utils.js +83 -0
  507. package/lib/apis/codiac-api/common/utils.js.map +1 -0
  508. package/lib/apis/codiac-api/contracts/index.d.ts +1 -0
  509. package/lib/apis/codiac-api/contracts/index.js +5 -0
  510. package/lib/apis/codiac-api/contracts/index.js.map +1 -0
  511. package/lib/apis/codiac-api/gen/client-config.d.ts +10 -0
  512. package/lib/apis/codiac-api/gen/client-config.js +29 -0
  513. package/lib/apis/codiac-api/gen/client-config.js.map +1 -0
  514. package/lib/apis/codiac-api/gen/client.d.ts +1663 -0
  515. package/lib/apis/codiac-api/gen/client.js +15630 -0
  516. package/lib/apis/codiac-api/gen/client.js.map +1 -0
  517. package/lib/apis/codiac-api/gen/contracts.d.ts +2722 -0
  518. package/lib/apis/codiac-api/gen/contracts.js +403 -0
  519. package/lib/apis/codiac-api/gen/contracts.js.map +1 -0
  520. package/lib/apis/codiac-api/index.d.ts +3 -0
  521. package/lib/apis/codiac-api/index.js +9 -0
  522. package/lib/apis/codiac-api/index.js.map +1 -0
  523. package/lib/apis/codiac-relay/common/api-client-base.d.ts +165 -0
  524. package/lib/apis/codiac-relay/common/api-client-base.js +548 -0
  525. package/lib/apis/codiac-relay/common/api-client-base.js.map +1 -0
  526. package/lib/apis/codiac-relay/common/api-user-creds.d.ts +7 -0
  527. package/lib/apis/codiac-relay/common/api-user-creds.js +19 -0
  528. package/lib/apis/codiac-relay/common/api-user-creds.js.map +1 -0
  529. package/lib/apis/codiac-relay/common/config-loader.d.ts +6 -0
  530. package/lib/apis/codiac-relay/common/config-loader.js +19 -0
  531. package/lib/apis/codiac-relay/common/config-loader.js.map +1 -0
  532. package/lib/apis/codiac-relay/common/endpoint-spec.d.ts +17 -0
  533. package/lib/apis/codiac-relay/common/endpoint-spec.js +28 -0
  534. package/lib/apis/codiac-relay/common/endpoint-spec.js.map +1 -0
  535. package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.d.ts +87 -0
  536. package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.js +368 -0
  537. package/lib/apis/codiac-relay/common/security/api-auth-methods-legacy.js.map +1 -0
  538. package/lib/apis/codiac-relay/common/security/auth-constants.d.ts +15 -0
  539. package/lib/apis/codiac-relay/common/security/auth-constants.js +22 -0
  540. package/lib/apis/codiac-relay/common/security/auth-constants.js.map +1 -0
  541. package/lib/apis/codiac-relay/common/security/i-auth-client.d.ts +44 -0
  542. package/lib/apis/codiac-relay/common/security/i-auth-client.js +3 -0
  543. package/lib/apis/codiac-relay/common/security/i-auth-client.js.map +1 -0
  544. package/lib/apis/codiac-relay/common/security/token-holder.d.ts +13 -0
  545. package/lib/apis/codiac-relay/common/security/token-holder.js +18 -0
  546. package/lib/apis/codiac-relay/common/security/token-holder.js.map +1 -0
  547. package/lib/apis/codiac-relay/common/utils.d.ts +23 -0
  548. package/lib/apis/codiac-relay/common/utils.js +83 -0
  549. package/lib/apis/codiac-relay/common/utils.js.map +1 -0
  550. package/lib/apis/codiac-relay/contracts/index.d.ts +1 -0
  551. package/lib/apis/codiac-relay/contracts/index.js +5 -0
  552. package/lib/apis/codiac-relay/contracts/index.js.map +1 -0
  553. package/lib/apis/codiac-relay/gen/client-config.d.ts +10 -0
  554. package/lib/apis/codiac-relay/gen/client-config.js +29 -0
  555. package/lib/apis/codiac-relay/gen/client-config.js.map +1 -0
  556. package/lib/apis/codiac-relay/gen/client.d.ts +244 -0
  557. package/lib/apis/codiac-relay/gen/client.js +1863 -0
  558. package/lib/apis/codiac-relay/gen/client.js.map +1 -0
  559. package/lib/apis/codiac-relay/gen/contracts.d.ts +3111 -0
  560. package/lib/apis/codiac-relay/gen/contracts.js +435 -0
  561. package/lib/apis/codiac-relay/gen/contracts.js.map +1 -0
  562. package/lib/apis/codiac-relay/index.d.ts +3 -0
  563. package/lib/apis/codiac-relay/index.js +9 -0
  564. package/lib/apis/codiac-relay/index.js.map +1 -0
  565. package/lib/azure-rest-client.d.ts +6 -0
  566. package/lib/azure-rest-client.js +36 -0
  567. package/lib/azure-rest-client.js.map +1 -0
  568. package/lib/cli-common/ImagesList.d.ts +0 -0
  569. package/lib/cli-common/ImagesList.js +67 -0
  570. package/lib/cli-common/ImagesList.js.map +1 -0
  571. package/lib/cli-common/argument-manager.d.ts +28 -0
  572. package/lib/cli-common/argument-manager.js +195 -0
  573. package/lib/cli-common/argument-manager.js.map +1 -0
  574. package/lib/cli-common/built-in-cli-user-input.d.ts +18 -0
  575. package/lib/cli-common/built-in-cli-user-input.js +310 -0
  576. package/lib/cli-common/built-in-cli-user-input.js.map +1 -0
  577. package/lib/cli-common/cli-interfaces.d.ts +0 -0
  578. package/lib/cli-common/cli-interfaces.js +7 -0
  579. package/lib/cli-common/cli-interfaces.js.map +1 -0
  580. package/lib/cli-common/command-base.d.ts +72 -0
  581. package/lib/cli-common/command-base.js +182 -0
  582. package/lib/cli-common/command-base.js.map +1 -0
  583. package/lib/cli-common/entities/index.d.ts +1 -0
  584. package/lib/cli-common/entities/index.js +5 -0
  585. package/lib/cli-common/entities/index.js.map +1 -0
  586. package/lib/cli-common/entities/prompt-choice.d.ts +7 -0
  587. package/lib/cli-common/entities/prompt-choice.js +3 -0
  588. package/lib/cli-common/entities/prompt-choice.js.map +1 -0
  589. package/lib/cli-common/file-selector.d.ts +48 -0
  590. package/lib/cli-common/file-selector.js +187 -0
  591. package/lib/cli-common/file-selector.js.map +1 -0
  592. package/lib/cli-common/i-user-input-provider.d.ts +0 -0
  593. package/lib/cli-common/i-user-input-provider.js +19 -0
  594. package/lib/cli-common/i-user-input-provider.js.map +1 -0
  595. package/lib/cli-common/index.d.ts +4 -0
  596. package/lib/cli-common/index.js +11 -0
  597. package/lib/cli-common/index.js.map +1 -0
  598. package/lib/cli-common/mock-ui.d.ts +27 -0
  599. package/lib/cli-common/mock-ui.js +83 -0
  600. package/lib/cli-common/mock-ui.js.map +1 -0
  601. package/lib/cli-common/prompt-select-fuzzy.d.ts +19 -0
  602. package/lib/cli-common/prompt-select-fuzzy.js +119 -0
  603. package/lib/cli-common/prompt-select-fuzzy.js.map +1 -0
  604. package/lib/cli-common/tenant-contextualizer.d.ts +0 -0
  605. package/lib/cli-common/tenant-contextualizer.js +436 -0
  606. package/lib/cli-common/tenant-contextualizer.js.map +1 -0
  607. package/lib/cli-common/test/tenant-contextualizer.spec.d.ts +0 -0
  608. package/lib/cli-common/test/tenant-contextualizer.spec.js +143 -0
  609. package/lib/cli-common/test/tenant-contextualizer.spec.js.map +1 -0
  610. package/lib/cli-entities/output-format-enum.d.ts +7 -0
  611. package/lib/cli-entities/output-format-enum.js +12 -0
  612. package/lib/cli-entities/output-format-enum.js.map +1 -0
  613. package/lib/cli-entities/prompt-choice.d.ts +0 -0
  614. package/lib/cli-entities/prompt-choice.js +6 -0
  615. package/lib/cli-entities/prompt-choice.js.map +1 -0
  616. package/lib/codiac-constants.d.ts +35 -0
  617. package/lib/codiac-constants.js +41 -0
  618. package/lib/codiac-constants.js.map +1 -0
  619. package/lib/codiac-entities/asset-binding.d.ts +12 -0
  620. package/lib/codiac-entities/asset-binding.js +18 -0
  621. package/lib/codiac-entities/asset-binding.js.map +1 -0
  622. package/lib/codiac-entities/azure-container-registry.d.ts +4 -0
  623. package/lib/codiac-entities/azure-container-registry.js +3 -0
  624. package/lib/codiac-entities/azure-container-registry.js.map +1 -0
  625. package/lib/codiac-entities/azure-service-principal.d.ts +23 -0
  626. package/lib/codiac-entities/azure-service-principal.js +24 -0
  627. package/lib/codiac-entities/azure-service-principal.js.map +1 -0
  628. package/lib/codiac-entities/cloud-account-ref.d.ts +28 -0
  629. package/lib/codiac-entities/cloud-account-ref.js +37 -0
  630. package/lib/codiac-entities/cloud-account-ref.js.map +1 -0
  631. package/lib/codiac-entities/deployment-temp.d.ts +0 -0
  632. package/lib/codiac-entities/deployment-temp.js +133 -0
  633. package/lib/codiac-entities/deployment-temp.js.map +1 -0
  634. package/lib/codiac-entities/i-cloud-account-ref.d.ts +5 -0
  635. package/lib/codiac-entities/i-cloud-account-ref.js +3 -0
  636. package/lib/codiac-entities/i-cloud-account-ref.js.map +1 -0
  637. package/lib/command-base-enterprise.d.ts +121 -0
  638. package/lib/command-base-enterprise.js +524 -0
  639. package/lib/command-base-enterprise.js.map +1 -0
  640. package/lib/command-base-tenantless.d.ts +44 -0
  641. package/lib/command-base-tenantless.js +180 -0
  642. package/lib/command-base-tenantless.js.map +1 -0
  643. package/lib/commands/asset/create.d.ts +42 -0
  644. package/lib/commands/asset/create.js +467 -0
  645. package/lib/commands/asset/create.js.map +1 -0
  646. package/lib/commands/asset/destroy.d.ts +20 -0
  647. package/lib/commands/asset/destroy.js +129 -0
  648. package/lib/commands/asset/destroy.js.map +1 -0
  649. package/lib/commands/asset/helm.d.ts +23 -0
  650. package/lib/commands/asset/helm.js +153 -0
  651. package/lib/commands/asset/helm.js.map +1 -0
  652. package/lib/commands/asset/list.d.ts +28 -0
  653. package/lib/commands/asset/list.js +172 -0
  654. package/lib/commands/asset/list.js.map +1 -0
  655. package/lib/commands/asset/probe/create.d.ts +38 -0
  656. package/lib/commands/asset/probe/create.js +187 -0
  657. package/lib/commands/asset/probe/create.js.map +1 -0
  658. package/lib/commands/asset/recycle.d.ts +23 -0
  659. package/lib/commands/asset/recycle.js +175 -0
  660. package/lib/commands/asset/recycle.js.map +1 -0
  661. package/lib/commands/asset/view.d.ts +188 -0
  662. package/lib/commands/asset/view.js +1365 -0
  663. package/lib/commands/asset/view.js.map +1 -0
  664. package/lib/commands/asset/volume/create.d.ts +23 -0
  665. package/lib/commands/asset/volume/create.js +176 -0
  666. package/lib/commands/asset/volume/create.js.map +1 -0
  667. package/lib/commands/asset/volume/delete.d.ts +19 -0
  668. package/lib/commands/asset/volume/delete.js +112 -0
  669. package/lib/commands/asset/volume/delete.js.map +1 -0
  670. package/lib/commands/asset/volume/list.d.ts +19 -0
  671. package/lib/commands/asset/volume/list.js +70 -0
  672. package/lib/commands/asset/volume/list.js.map +1 -0
  673. package/lib/commands/branch/current.d.ts +10 -0
  674. package/lib/commands/branch/current.js +34 -0
  675. package/lib/commands/branch/current.js.map +1 -0
  676. package/lib/commands/branch/list.d.ts +15 -0
  677. package/lib/commands/branch/list.js +56 -0
  678. package/lib/commands/branch/list.js.map +1 -0
  679. package/lib/commands/branch.d.ts +12 -0
  680. package/lib/commands/branch.js +42 -0
  681. package/lib/commands/branch.js.map +1 -0
  682. package/lib/commands/build.d.ts +38 -0
  683. package/lib/commands/build.js +120 -0
  684. package/lib/commands/build.js.map +1 -0
  685. package/lib/commands/cabinet/create.d.ts +21 -0
  686. package/lib/commands/cabinet/create.js +108 -0
  687. package/lib/commands/cabinet/create.js.map +1 -0
  688. package/lib/commands/cabinet/list.d.ts +23 -0
  689. package/lib/commands/cabinet/list.js +134 -0
  690. package/lib/commands/cabinet/list.js.map +1 -0
  691. package/lib/commands/cabinet/obliterate.d.ts +20 -0
  692. package/lib/commands/cabinet/obliterate.js +83 -0
  693. package/lib/commands/cabinet/obliterate.js.map +1 -0
  694. package/lib/commands/cli.d.ts +10 -0
  695. package/lib/commands/cli.js +100 -0
  696. package/lib/commands/cli.js.map +1 -0
  697. package/lib/commands/commit.d.ts +11 -0
  698. package/lib/commands/commit.js +40 -0
  699. package/lib/commands/commit.js.map +1 -0
  700. package/lib/commands/config/add.d.ts +78 -0
  701. package/lib/commands/config/add.js +560 -0
  702. package/lib/commands/config/add.js.map +1 -0
  703. package/lib/commands/config/delete.d.ts +18 -0
  704. package/lib/commands/config/delete.js +119 -0
  705. package/lib/commands/config/delete.js.map +1 -0
  706. package/lib/commands/config/deploy.d.ts +22 -0
  707. package/lib/commands/config/deploy.js +125 -0
  708. package/lib/commands/config/deploy.js.map +1 -0
  709. package/lib/commands/config/import.d.ts +27 -0
  710. package/lib/commands/config/import.js +196 -0
  711. package/lib/commands/config/import.js.map +1 -0
  712. package/lib/commands/config/view.d.ts +25 -0
  713. package/lib/commands/config/view.js +121 -0
  714. package/lib/commands/config/view.js.map +1 -0
  715. package/lib/commands/csp/login.d.ts +18 -0
  716. package/lib/commands/csp/login.js +123 -0
  717. package/lib/commands/csp/login.js.map +1 -0
  718. package/lib/commands/csp/logout.d.ts +15 -0
  719. package/lib/commands/csp/logout.js +74 -0
  720. package/lib/commands/csp/logout.js.map +1 -0
  721. package/lib/commands/dep/create.d.ts +13 -0
  722. package/lib/commands/dep/create.js +41 -0
  723. package/lib/commands/dep/create.js.map +1 -0
  724. package/lib/commands/dep/install.d.ts +9 -0
  725. package/lib/commands/dep/install.js +30 -0
  726. package/lib/commands/dep/install.js.map +1 -0
  727. package/lib/commands/dep/list.d.ts +55 -0
  728. package/lib/commands/dep/list.js +98 -0
  729. package/lib/commands/dep/list.js.map +1 -0
  730. package/lib/commands/dep/remove.d.ts +12 -0
  731. package/lib/commands/dep/remove.js +62 -0
  732. package/lib/commands/dep/remove.js.map +1 -0
  733. package/lib/commands/dep/source.d.ts +13 -0
  734. package/lib/commands/dep/source.js +83 -0
  735. package/lib/commands/dep/source.js.map +1 -0
  736. package/lib/commands/dep/syncup.d.ts +11 -0
  737. package/lib/commands/dep/syncup.js +54 -0
  738. package/lib/commands/dep/syncup.js.map +1 -0
  739. package/lib/commands/dep/unsource.d.ts +14 -0
  740. package/lib/commands/dep/unsource.js +68 -0
  741. package/lib/commands/dep/unsource.js.map +1 -0
  742. package/lib/commands/dep/upgrade.d.ts +44 -0
  743. package/lib/commands/dep/upgrade.js +244 -0
  744. package/lib/commands/dep/upgrade.js.map +1 -0
  745. package/lib/commands/dep.d.ts +12 -0
  746. package/lib/commands/dep.js +51 -0
  747. package/lib/commands/dep.js.map +1 -0
  748. package/lib/commands/deploy.d.ts +38 -0
  749. package/lib/commands/deploy.js +386 -0
  750. package/lib/commands/deploy.js.map +1 -0
  751. package/lib/commands/enterprise/create.d.ts +20 -0
  752. package/lib/commands/enterprise/create.js +98 -0
  753. package/lib/commands/enterprise/create.js.map +1 -0
  754. package/lib/commands/enterprise/list.d.ts +14 -0
  755. package/lib/commands/enterprise/list.js +84 -0
  756. package/lib/commands/enterprise/list.js.map +1 -0
  757. package/lib/commands/env/add.d.ts +22 -0
  758. package/lib/commands/env/add.js +200 -0
  759. package/lib/commands/env/add.js.map +1 -0
  760. package/lib/commands/environment/create.d.ts +19 -0
  761. package/lib/commands/environment/create.js +89 -0
  762. package/lib/commands/environment/create.js.map +1 -0
  763. package/lib/commands/environment/list.d.ts +25 -0
  764. package/lib/commands/environment/list.js +158 -0
  765. package/lib/commands/environment/list.js.map +1 -0
  766. package/lib/commands/filestore/capture.d.ts +31 -0
  767. package/lib/commands/filestore/capture.js +342 -0
  768. package/lib/commands/filestore/capture.js.map +1 -0
  769. package/lib/commands/host/map.d.ts +33 -0
  770. package/lib/commands/host/map.js +347 -0
  771. package/lib/commands/host/map.js.map +1 -0
  772. package/lib/commands/identity/delete.d.ts +15 -0
  773. package/lib/commands/identity/delete.js +83 -0
  774. package/lib/commands/identity/delete.js.map +1 -0
  775. package/lib/commands/identity/list.d.ts +11 -0
  776. package/lib/commands/identity/list.js +43 -0
  777. package/lib/commands/identity/list.js.map +1 -0
  778. package/lib/commands/identity.d.ts +22 -0
  779. package/lib/commands/identity.js +77 -0
  780. package/lib/commands/identity.js.map +1 -0
  781. package/lib/commands/imageRegistry/capture.d.ts +27 -0
  782. package/lib/commands/imageRegistry/capture.js +160 -0
  783. package/lib/commands/imageRegistry/capture.js.map +1 -0
  784. package/lib/commands/imageRegistry/forget.d.ts +23 -0
  785. package/lib/commands/imageRegistry/forget.js +161 -0
  786. package/lib/commands/imageRegistry/forget.js.map +1 -0
  787. package/lib/commands/imageRegistry/pullSecret/set.d.ts +27 -0
  788. package/lib/commands/imageRegistry/pullSecret/set.js +300 -0
  789. package/lib/commands/imageRegistry/pullSecret/set.js.map +1 -0
  790. package/lib/commands/imageRegistry/pullSecret/unset.d.ts +24 -0
  791. package/lib/commands/imageRegistry/pullSecret/unset.js +243 -0
  792. package/lib/commands/imageRegistry/pullSecret/unset.js.map +1 -0
  793. package/lib/commands/images/add.d.ts +25 -0
  794. package/lib/commands/images/add.js +76 -0
  795. package/lib/commands/images/add.js.map +1 -0
  796. package/lib/commands/images/list.d.ts +14 -0
  797. package/lib/commands/images/list.js +72 -0
  798. package/lib/commands/images/list.js.map +1 -0
  799. package/lib/commands/images/patch.d.ts +14 -0
  800. package/lib/commands/images/patch.js +93 -0
  801. package/lib/commands/images/patch.js.map +1 -0
  802. package/lib/commands/images/remove.d.ts +12 -0
  803. package/lib/commands/images/remove.js +38 -0
  804. package/lib/commands/images/remove.js.map +1 -0
  805. package/lib/commands/images/version/bump.d.ts +18 -0
  806. package/lib/commands/images/version/bump.js +61 -0
  807. package/lib/commands/images/version/bump.js.map +1 -0
  808. package/lib/commands/images/version.d.ts +16 -0
  809. package/lib/commands/images/version.js +65 -0
  810. package/lib/commands/images/version.js.map +1 -0
  811. package/lib/commands/init.d.ts +17 -0
  812. package/lib/commands/init.js +131 -0
  813. package/lib/commands/init.js.map +1 -0
  814. package/lib/commands/kit/create.d.ts +25 -0
  815. package/lib/commands/kit/create.js +142 -0
  816. package/lib/commands/kit/create.js.map +1 -0
  817. package/lib/commands/login.d.ts +22 -0
  818. package/lib/commands/login.js +93 -0
  819. package/lib/commands/login.js.map +1 -0
  820. package/lib/commands/logout.d.ts +8 -0
  821. package/lib/commands/logout.js +37 -0
  822. package/lib/commands/logout.js.map +1 -0
  823. package/lib/commands/merge.d.ts +12 -0
  824. package/lib/commands/merge.js +43 -0
  825. package/lib/commands/merge.js.map +1 -0
  826. package/lib/commands/noc/cluster/create.d.ts +28 -0
  827. package/lib/commands/noc/cluster/create.js +133 -0
  828. package/lib/commands/noc/cluster/create.js.map +1 -0
  829. package/lib/commands/noc/cluster/deinit.d.ts +17 -0
  830. package/lib/commands/noc/cluster/deinit.js +117 -0
  831. package/lib/commands/noc/cluster/deinit.js.map +1 -0
  832. package/lib/commands/noc/cluster/destroy.d.ts +20 -0
  833. package/lib/commands/noc/cluster/destroy.js +138 -0
  834. package/lib/commands/noc/cluster/destroy.js.map +1 -0
  835. package/lib/commands/noc/cluster/forget.d.ts +16 -0
  836. package/lib/commands/noc/cluster/forget.js +137 -0
  837. package/lib/commands/noc/cluster/forget.js.map +1 -0
  838. package/lib/commands/noc/cluster/grant.d.ts +24 -0
  839. package/lib/commands/noc/cluster/grant.js +160 -0
  840. package/lib/commands/noc/cluster/grant.js.map +1 -0
  841. package/lib/commands/noc/cluster/init.d.ts +17 -0
  842. package/lib/commands/noc/cluster/init.js +117 -0
  843. package/lib/commands/noc/cluster/init.js.map +1 -0
  844. package/lib/commands/noc/cluster/list.d.ts +21 -0
  845. package/lib/commands/noc/cluster/list.js +84 -0
  846. package/lib/commands/noc/cluster/list.js.map +1 -0
  847. package/lib/commands/noc/cluster/recreate.d.ts +28 -0
  848. package/lib/commands/noc/cluster/recreate.js +186 -0
  849. package/lib/commands/noc/cluster/recreate.js.map +1 -0
  850. package/lib/commands/pkg/add.d.ts +15 -0
  851. package/lib/commands/pkg/add.js +43 -0
  852. package/lib/commands/pkg/add.js.map +1 -0
  853. package/lib/commands/pkg/list.d.ts +9 -0
  854. package/lib/commands/pkg/list.js +33 -0
  855. package/lib/commands/pkg/list.js.map +1 -0
  856. package/lib/commands/pkg/patch.d.ts +13 -0
  857. package/lib/commands/pkg/patch.js +79 -0
  858. package/lib/commands/pkg/patch.js.map +1 -0
  859. package/lib/commands/pkg/remove.d.ts +12 -0
  860. package/lib/commands/pkg/remove.js +70 -0
  861. package/lib/commands/pkg/remove.js.map +1 -0
  862. package/lib/commands/portal.d.ts +11 -0
  863. package/lib/commands/portal.js +82 -0
  864. package/lib/commands/portal.js.map +1 -0
  865. package/lib/commands/publish.d.ts +21 -0
  866. package/lib/commands/publish.js +52 -0
  867. package/lib/commands/publish.js.map +1 -0
  868. package/lib/commands/pull.d.ts +13 -0
  869. package/lib/commands/pull.js +30 -0
  870. package/lib/commands/pull.js.map +1 -0
  871. package/lib/commands/push.d.ts +13 -0
  872. package/lib/commands/push.js +30 -0
  873. package/lib/commands/push.js.map +1 -0
  874. package/lib/commands/run.d.ts +35 -0
  875. package/lib/commands/run.js +194 -0
  876. package/lib/commands/run.js.map +1 -0
  877. package/lib/commands/secretStore/capture.d.ts +27 -0
  878. package/lib/commands/secretStore/capture.js +175 -0
  879. package/lib/commands/secretStore/capture.js.map +1 -0
  880. package/lib/commands/secretStore/forget.d.ts +20 -0
  881. package/lib/commands/secretStore/forget.js +147 -0
  882. package/lib/commands/secretStore/forget.js.map +1 -0
  883. package/lib/commands/stage.d.ts +13 -0
  884. package/lib/commands/stage.js +65 -0
  885. package/lib/commands/stage.js.map +1 -0
  886. package/lib/commands/stash.d.ts +13 -0
  887. package/lib/commands/stash.js +31 -0
  888. package/lib/commands/stash.js.map +1 -0
  889. package/lib/commands/status.d.ts +12 -0
  890. package/lib/commands/status.js +49 -0
  891. package/lib/commands/status.js.map +1 -0
  892. package/lib/commands/stop.d.ts +10 -0
  893. package/lib/commands/stop.js +52 -0
  894. package/lib/commands/stop.js.map +1 -0
  895. package/lib/commands/switch.d.ts +11 -0
  896. package/lib/commands/switch.js +42 -0
  897. package/lib/commands/switch.js.map +1 -0
  898. package/lib/commands/sync.d.ts +14 -0
  899. package/lib/commands/sync.js +21 -0
  900. package/lib/commands/sync.js.map +1 -0
  901. package/lib/commands/tenant/create.d.ts +27 -0
  902. package/lib/commands/tenant/create.js +120 -0
  903. package/lib/commands/tenant/create.js.map +1 -0
  904. package/lib/commands/tenant/switch.d.ts +24 -0
  905. package/lib/commands/tenant/switch.js +109 -0
  906. package/lib/commands/tenant/switch.js.map +1 -0
  907. package/lib/commands/unstage.d.ts +12 -0
  908. package/lib/commands/unstage.js +58 -0
  909. package/lib/commands/unstage.js.map +1 -0
  910. package/lib/commands/view/dashboard.d.ts +17 -0
  911. package/lib/commands/view/dashboard.js +88 -0
  912. package/lib/commands/view/dashboard.js.map +1 -0
  913. package/lib/commands/view/pods.d.ts +14 -0
  914. package/lib/commands/view/pods.js +88 -0
  915. package/lib/commands/view/pods.js.map +1 -0
  916. package/lib/commands/whereami.d.ts +15 -0
  917. package/lib/commands/whereami.js +123 -0
  918. package/lib/commands/whereami.js.map +1 -0
  919. package/lib/commands/whoami.d.ts +8 -0
  920. package/lib/commands/whoami.js +40 -0
  921. package/lib/commands/whoami.js.map +1 -0
  922. package/lib/deployment.d.ts +2 -0
  923. package/lib/deployment.js +7 -0
  924. package/lib/deployment.js.map +1 -0
  925. package/lib/errors/NoMembershipError.d.ts +8 -0
  926. package/lib/errors/NoMembershipError.js +15 -0
  927. package/lib/errors/NoMembershipError.js.map +1 -0
  928. package/lib/index.d.ts +1 -0
  929. package/lib/index.js +17 -0
  930. package/lib/index.js.map +1 -0
  931. package/lib/k8s-command-base.d.ts +60 -0
  932. package/lib/k8s-command-base.js +204 -0
  933. package/lib/k8s-command-base.js.map +1 -0
  934. package/lib/log-update-wrapper.d.ts +24 -0
  935. package/lib/log-update-wrapper.js +29 -0
  936. package/lib/log-update-wrapper.js.map +1 -0
  937. package/lib/log4js-logger.d.ts +26 -0
  938. package/lib/log4js-logger.js +138 -0
  939. package/lib/log4js-logger.js.map +1 -0
  940. package/lib/ops/INTERFACES_CLI.d.ts +3 -0
  941. package/lib/ops/INTERFACES_CLI.js +8 -0
  942. package/lib/ops/INTERFACES_CLI.js.map +1 -0
  943. package/lib/ops/LocalOps.d.ts +417 -0
  944. package/lib/ops/LocalOps.js +3122 -0
  945. package/lib/ops/LocalOps.js.map +1 -0
  946. package/lib/ops/azure-container-registry-client/azure-container-registry-client.d.ts +0 -0
  947. package/lib/ops/azure-container-registry-client/azure-container-registry-client.js +148 -0
  948. package/lib/ops/azure-container-registry-client/azure-container-registry-client.js.map +1 -0
  949. package/lib/ops/cli-path-walker.d.ts +0 -0
  950. package/lib/ops/cli-path-walker.js +55 -0
  951. package/lib/ops/cli-path-walker.js.map +1 -0
  952. package/lib/ops/codiac-entities/dependency.d.ts +5 -0
  953. package/lib/ops/codiac-entities/dependency.js +11 -0
  954. package/lib/ops/codiac-entities/dependency.js.map +1 -0
  955. package/lib/ops/codiac-entities/index.d.ts +1 -0
  956. package/lib/ops/codiac-entities/index.js +5 -0
  957. package/lib/ops/codiac-entities/index.js.map +1 -0
  958. package/lib/ops/composite-image-registry-client.d.ts +0 -0
  959. package/lib/ops/composite-image-registry-client.js +74 -0
  960. package/lib/ops/composite-image-registry-client.js.map +1 -0
  961. package/lib/ops/data/cli-context-repo.d.ts +61 -0
  962. package/lib/ops/data/cli-context-repo.js +270 -0
  963. package/lib/ops/data/cli-context-repo.js.map +1 -0
  964. package/lib/ops/data/index.d.ts +2 -0
  965. package/lib/ops/data/index.js +6 -0
  966. package/lib/ops/data/index.js.map +1 -0
  967. package/lib/ops/data/npm-config-repo.d.ts +13 -0
  968. package/lib/ops/data/npm-config-repo.js +65 -0
  969. package/lib/ops/data/npm-config-repo.js.map +1 -0
  970. package/lib/ops/docker-config.d.ts +0 -0
  971. package/lib/ops/docker-config.js +131 -0
  972. package/lib/ops/docker-config.js.map +1 -0
  973. package/lib/ops/docker-constants.d.ts +0 -0
  974. package/lib/ops/docker-constants.js +22 -0
  975. package/lib/ops/docker-constants.js.map +1 -0
  976. package/lib/ops/docker-credentials-store.d.ts +0 -0
  977. package/lib/ops/docker-credentials-store.js +238 -0
  978. package/lib/ops/docker-credentials-store.js.map +1 -0
  979. package/lib/ops/docker-registry-api-client/docker-registry-api-client.d.ts +0 -0
  980. package/lib/ops/docker-registry-api-client/docker-registry-api-client.js +289 -0
  981. package/lib/ops/docker-registry-api-client/docker-registry-api-client.js.map +1 -0
  982. package/lib/ops/docker-registry-api-client/entities/blob-sum.d.ts +7 -0
  983. package/lib/ops/docker-registry-api-client/entities/blob-sum.js +13 -0
  984. package/lib/ops/docker-registry-api-client/entities/blob-sum.js.map +1 -0
  985. package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.d.ts +5 -0
  986. package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.js +10 -0
  987. package/lib/ops/docker-registry-api-client/entities/docker-access-actions-enum.js.map +1 -0
  988. package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.d.ts +30 -0
  989. package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js +36 -0
  990. package/lib/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js.map +1 -0
  991. package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.d.ts +55 -0
  992. package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.js +52 -0
  993. package/lib/ops/docker-registry-api-client/entities/i-docker-error-response.js.map +1 -0
  994. package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.d.ts +7 -0
  995. package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.js +3 -0
  996. package/lib/ops/docker-registry-api-client/entities/i-docker-list-response.js.map +1 -0
  997. package/lib/ops/docker-registry-api-client/entities/image-repository.d.ts +31 -0
  998. package/lib/ops/docker-registry-api-client/entities/image-repository.js +30 -0
  999. package/lib/ops/docker-registry-api-client/entities/image-repository.js.map +1 -0
  1000. package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.d.ts +8 -0
  1001. package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.js +14 -0
  1002. package/lib/ops/docker-registry-api-client/entities/image-tag-criteria.js.map +1 -0
  1003. package/lib/ops/docker-registry-api-client/entities/image-tag-list.d.ts +7 -0
  1004. package/lib/ops/docker-registry-api-client/entities/image-tag-list.js +13 -0
  1005. package/lib/ops/docker-registry-api-client/entities/image-tag-list.js.map +1 -0
  1006. package/lib/ops/docker-registry-api-client/entities/manifest-criteria.d.ts +9 -0
  1007. package/lib/ops/docker-registry-api-client/entities/manifest-criteria.js +15 -0
  1008. package/lib/ops/docker-registry-api-client/entities/manifest-criteria.js.map +1 -0
  1009. package/lib/ops/docker-registry-api-client/entities/manifest.d.ts +15 -0
  1010. package/lib/ops/docker-registry-api-client/entities/manifest.js +21 -0
  1011. package/lib/ops/docker-registry-api-client/entities/manifest.js.map +1 -0
  1012. package/lib/ops/docker-registry-api-client/entities/repository-criteria.d.ts +16 -0
  1013. package/lib/ops/docker-registry-api-client/entities/repository-criteria.js +24 -0
  1014. package/lib/ops/docker-registry-api-client/entities/repository-criteria.js.map +1 -0
  1015. package/lib/ops/docker-registry-api-client/entities/token-response.d.ts +15 -0
  1016. package/lib/ops/docker-registry-api-client/entities/token-response.js +15 -0
  1017. package/lib/ops/docker-registry-api-client/entities/token-response.js.map +1 -0
  1018. package/lib/ops/docker-registry-api-client/entities/token.d.ts +17 -0
  1019. package/lib/ops/docker-registry-api-client/entities/token.js +22 -0
  1020. package/lib/ops/docker-registry-api-client/entities/token.js.map +1 -0
  1021. package/lib/ops/docker-registry-api-client/entities/version-check-criteria.d.ts +4 -0
  1022. package/lib/ops/docker-registry-api-client/entities/version-check-criteria.js +10 -0
  1023. package/lib/ops/docker-registry-api-client/entities/version-check-criteria.js.map +1 -0
  1024. package/lib/ops/dx-constants.d.ts +26 -0
  1025. package/lib/ops/dx-constants.js +43 -0
  1026. package/lib/ops/dx-constants.js.map +1 -0
  1027. package/lib/ops/entities/ImageBuildContext.d.ts +12 -0
  1028. package/lib/ops/entities/ImageBuildContext.js +19 -0
  1029. package/lib/ops/entities/ImageBuildContext.js.map +1 -0
  1030. package/lib/ops/entities/PipelineContext.d.ts +21 -0
  1031. package/lib/ops/entities/PipelineContext.js +23 -0
  1032. package/lib/ops/entities/PipelineContext.js.map +1 -0
  1033. package/lib/ops/entities/TenantContext.d.ts +10 -0
  1034. package/lib/ops/entities/TenantContext.js +16 -0
  1035. package/lib/ops/entities/TenantContext.js.map +1 -0
  1036. package/lib/ops/entities/ThaulConfig.d.ts +0 -0
  1037. package/lib/ops/entities/ThaulConfig.js +30 -0
  1038. package/lib/ops/entities/ThaulConfig.js.map +1 -0
  1039. package/lib/ops/entities/azure-service-principal.d.ts +23 -0
  1040. package/lib/ops/entities/azure-service-principal.js +24 -0
  1041. package/lib/ops/entities/azure-service-principal.js.map +1 -0
  1042. package/lib/ops/entities/better-logger.d.ts +0 -0
  1043. package/lib/ops/entities/better-logger.js +2 -0
  1044. package/lib/ops/entities/better-logger.js.map +1 -0
  1045. package/lib/ops/entities/branch.d.ts +13 -0
  1046. package/lib/ops/entities/branch.js +16 -0
  1047. package/lib/ops/entities/branch.js.map +1 -0
  1048. package/lib/ops/entities/cli-config.d.ts +48 -0
  1049. package/lib/ops/entities/cli-config.js +61 -0
  1050. package/lib/ops/entities/cli-config.js.map +1 -0
  1051. package/lib/ops/entities/docker-image.d.ts +60 -0
  1052. package/lib/ops/entities/docker-image.js +3 -0
  1053. package/lib/ops/entities/docker-image.js.map +1 -0
  1054. package/lib/ops/entities/helm-spec.d.ts +15 -0
  1055. package/lib/ops/entities/helm-spec.js +23 -0
  1056. package/lib/ops/entities/helm-spec.js.map +1 -0
  1057. package/lib/ops/entities/index.d.ts +4 -0
  1058. package/lib/ops/entities/index.js +12 -0
  1059. package/lib/ops/entities/index.js.map +1 -0
  1060. package/lib/ops/entities/operation-meta.d.ts +8 -0
  1061. package/lib/ops/entities/operation-meta.js +19 -0
  1062. package/lib/ops/entities/operation-meta.js.map +1 -0
  1063. package/lib/ops/entities/scaffolding.d.ts +19 -0
  1064. package/lib/ops/entities/scaffolding.js +21 -0
  1065. package/lib/ops/entities/scaffolding.js.map +1 -0
  1066. package/lib/ops/extensions/azart-identity-adapter.d.ts +19 -0
  1067. package/lib/ops/extensions/azart-identity-adapter.js +97 -0
  1068. package/lib/ops/extensions/azart-identity-adapter.js.map +1 -0
  1069. package/lib/ops/extensions/npm-identity-adapter-base.d.ts +13 -0
  1070. package/lib/ops/extensions/npm-identity-adapter-base.js +3 -0
  1071. package/lib/ops/extensions/npm-identity-adapter-base.js.map +1 -0
  1072. package/lib/ops/extensions/npmjs-identity-adapter.d.ts +13 -0
  1073. package/lib/ops/extensions/npmjs-identity-adapter.js +64 -0
  1074. package/lib/ops/extensions/npmjs-identity-adapter.js.map +1 -0
  1075. package/lib/ops/git-ops.d.ts +8 -0
  1076. package/lib/ops/git-ops.js +14 -0
  1077. package/lib/ops/git-ops.js.map +1 -0
  1078. package/lib/ops/i-client-for-image-registry.d.ts +0 -0
  1079. package/lib/ops/i-client-for-image-registry.js +17 -0
  1080. package/lib/ops/i-client-for-image-registry.js.map +1 -0
  1081. package/lib/ops/i-identity-handler.d.ts +33 -0
  1082. package/lib/ops/i-identity-handler.js +165 -0
  1083. package/lib/ops/i-identity-handler.js.map +1 -0
  1084. package/lib/ops/i-output-styler.d.ts +0 -0
  1085. package/lib/ops/i-output-styler.js +17 -0
  1086. package/lib/ops/i-output-styler.js.map +1 -0
  1087. package/lib/ops/index.d.ts +12 -0
  1088. package/lib/ops/index.js +15 -0
  1089. package/lib/ops/index.js.map +1 -0
  1090. package/lib/ops/json-utils.d.ts +0 -0
  1091. package/lib/ops/json-utils.js +59 -0
  1092. package/lib/ops/json-utils.js.map +1 -0
  1093. package/lib/ops/no-style-output-styler.d.ts +0 -0
  1094. package/lib/ops/no-style-output-styler.js +30 -0
  1095. package/lib/ops/no-style-output-styler.js.map +1 -0
  1096. package/lib/ops/oauth2-client.ts/oauth2-client.d.ts +23 -0
  1097. package/lib/ops/oauth2-client.ts/oauth2-client.js +64 -0
  1098. package/lib/ops/oauth2-client.ts/oauth2-client.js.map +1 -0
  1099. package/lib/ops/project-initializer.d.ts +36 -0
  1100. package/lib/ops/project-initializer.js +219 -0
  1101. package/lib/ops/project-initializer.js.map +1 -0
  1102. package/lib/ops/scaffolding/base-scaffolding.d.ts +7 -0
  1103. package/lib/ops/scaffolding/base-scaffolding.js +21 -0
  1104. package/lib/ops/scaffolding/base-scaffolding.js.map +1 -0
  1105. package/lib/ops/scaffolding/codiac-api-scaffolding.d.ts +7 -0
  1106. package/lib/ops/scaffolding/codiac-api-scaffolding.js +64 -0
  1107. package/lib/ops/scaffolding/codiac-api-scaffolding.js.map +1 -0
  1108. package/lib/ops/scaffolding/typescript-scaffolding.d.ts +15 -0
  1109. package/lib/ops/scaffolding/typescript-scaffolding.js +163 -0
  1110. package/lib/ops/scaffolding/typescript-scaffolding.js.map +1 -0
  1111. package/lib/ops/test/mock-ui.d.ts +26 -0
  1112. package/lib/ops/test/mock-ui.js +88 -0
  1113. package/lib/ops/test/mock-ui.js.map +1 -0
  1114. package/lib/ops/test/test-extensions.d.ts +13 -0
  1115. package/lib/ops/test/test-extensions.js +71 -0
  1116. package/lib/ops/test/test-extensions.js.map +1 -0
  1117. package/lib/ops/test/when-a-recursive-file-search-is-run.spec.d.ts +2 -0
  1118. package/lib/ops/test/when-a-recursive-file-search-is-run.spec.js +55 -0
  1119. package/lib/ops/test/when-a-recursive-file-search-is-run.spec.js.map +1 -0
  1120. package/lib/ops/test/when-git-branchline-is-attempted.spec.d.ts +2 -0
  1121. package/lib/ops/test/when-git-branchline-is-attempted.spec.js +38 -0
  1122. package/lib/ops/test/when-git-branchline-is-attempted.spec.js.map +1 -0
  1123. package/lib/ops/test/when-versions-are-parsed.spec.d.ts +2 -0
  1124. package/lib/ops/test/when-versions-are-parsed.spec.js +62 -0
  1125. package/lib/ops/test/when-versions-are-parsed.spec.js.map +1 -0
  1126. package/lib/ops/throwing-user-input-provider.d.ts +0 -0
  1127. package/lib/ops/throwing-user-input-provider.js +37 -0
  1128. package/lib/ops/throwing-user-input-provider.js.map +1 -0
  1129. package/lib/ops/workspace-versioner.d.ts +122 -0
  1130. package/lib/ops/workspace-versioner.js +292 -0
  1131. package/lib/ops/workspace-versioner.js.map +1 -0
  1132. package/lib/prettify.d.ts +7 -0
  1133. package/lib/prettify.js +24 -0
  1134. package/lib/prettify.js.map +1 -0
  1135. package/lib/read-stdin.d.ts +2 -0
  1136. package/lib/read-stdin.js +29 -0
  1137. package/lib/read-stdin.js.map +1 -0
  1138. package/lib/relay/contracts/contracts.d.ts +207 -0
  1139. package/lib/relay/contracts/contracts.js +230 -0
  1140. package/lib/relay/contracts/contracts.js.map +1 -0
  1141. package/lib/relay/data/aws-k8s-versions.d.ts +6 -0
  1142. package/lib/relay/data/aws-k8s-versions.js +16 -0
  1143. package/lib/relay/data/aws-k8s-versions.js.map +1 -0
  1144. package/lib/relay/data/aws-node-types.d.ts +37 -0
  1145. package/lib/relay/data/aws-node-types.js +4246 -0
  1146. package/lib/relay/data/aws-node-types.js.map +1 -0
  1147. package/lib/relay/data/aws-regions.d.ts +6 -0
  1148. package/lib/relay/data/aws-regions.js +34 -0
  1149. package/lib/relay/data/aws-regions.js.map +1 -0
  1150. package/lib/relay/extended-relay-client.d.ts +27 -0
  1151. package/lib/relay/extended-relay-client.js +28 -0
  1152. package/lib/relay/extended-relay-client.js.map +1 -0
  1153. package/lib/relay/relay-container.d.ts +41 -0
  1154. package/lib/relay/relay-container.js +298 -0
  1155. package/lib/relay/relay-container.js.map +1 -0
  1156. package/lib/relay/wsclient/relay-socket-listener.d.ts +68 -0
  1157. package/lib/relay/wsclient/relay-socket-listener.js +165 -0
  1158. package/lib/relay/wsclient/relay-socket-listener.js.map +1 -0
  1159. package/lib/relay/wsclient/relay-websocket-client.d.ts +33 -0
  1160. package/lib/relay/wsclient/relay-websocket-client.js +179 -0
  1161. package/lib/relay/wsclient/relay-websocket-client.js.map +1 -0
  1162. package/lib/relay/wsclient/rx-websocket-subject.d.ts +25 -0
  1163. package/lib/relay/wsclient/rx-websocket-subject.js +134 -0
  1164. package/lib/relay/wsclient/rx-websocket-subject.js.map +1 -0
  1165. package/lib/relay/wsclient/socket-contracts.d.ts +22 -0
  1166. package/lib/relay/wsclient/socket-contracts.js +3 -0
  1167. package/lib/relay/wsclient/socket-contracts.js.map +1 -0
  1168. package/lib/standard-probes.d.ts +5 -0
  1169. package/lib/standard-probes.js +22 -0
  1170. package/lib/standard-probes.js.map +1 -0
  1171. package/lib/uilogic/build-configurator.d.ts +21 -0
  1172. package/lib/uilogic/build-configurator.js +111 -0
  1173. package/lib/uilogic/build-configurator.js.map +1 -0
  1174. package/lib/uilogic/cloud-provider-contextualizer.d.ts +46 -0
  1175. package/lib/uilogic/cloud-provider-contextualizer.js +194 -0
  1176. package/lib/uilogic/cloud-provider-contextualizer.js.map +1 -0
  1177. package/lib/uilogic/cloud-resource-configurator-factory.d.ts +41 -0
  1178. package/lib/uilogic/cloud-resource-configurator-factory.js +158 -0
  1179. package/lib/uilogic/cloud-resource-configurator-factory.js.map +1 -0
  1180. package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.d.ts +11 -0
  1181. package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js +16 -0
  1182. package/lib/uilogic/cloud-resource-configurators/aws-k8s-versions.js.map +1 -0
  1183. package/lib/uilogic/cloud-resource-configurators/aws-node-types.d.ts +5 -0
  1184. package/lib/uilogic/cloud-resource-configurators/aws-node-types.js +536 -0
  1185. package/lib/uilogic/cloud-resource-configurators/aws-node-types.js.map +1 -0
  1186. package/lib/uilogic/cloud-resource-configurators/aws-regions.d.ts +10 -0
  1187. package/lib/uilogic/cloud-resource-configurators/aws-regions.js +34 -0
  1188. package/lib/uilogic/cloud-resource-configurators/aws-regions.js.map +1 -0
  1189. package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +38 -0
  1190. package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js +348 -0
  1191. package/lib/uilogic/cloud-resource-configurators/aws-resource-configurator.js.map +1 -0
  1192. package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.d.ts +0 -0
  1193. package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js +78 -0
  1194. package/lib/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js.map +1 -0
  1195. package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.d.ts +42 -0
  1196. package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js +248 -0
  1197. package/lib/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js.map +1 -0
  1198. package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +110 -0
  1199. package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.js +782 -0
  1200. package/lib/uilogic/cloud-resource-configurators/azure-resource-configurator.js.map +1 -0
  1201. package/lib/uilogic/cloud-resource-configurators/azure-types.d.ts +0 -0
  1202. package/lib/uilogic/cloud-resource-configurators/azure-types.js +10 -0
  1203. package/lib/uilogic/cloud-resource-configurators/azure-types.js.map +1 -0
  1204. package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.d.ts +24 -0
  1205. package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js +106 -0
  1206. package/lib/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js.map +1 -0
  1207. package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.d.ts +16 -0
  1208. package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.js +45 -0
  1209. package/lib/uilogic/cloud-resource-configurators/helm-resource-configurator.js.map +1 -0
  1210. package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +18 -0
  1211. package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js +62 -0
  1212. package/lib/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js.map +1 -0
  1213. package/lib/uilogic/enterprise-contextualizer.d.ts +76 -0
  1214. package/lib/uilogic/enterprise-contextualizer.js +671 -0
  1215. package/lib/uilogic/enterprise-contextualizer.js.map +1 -0
  1216. package/lib/uilogic/environment-contextualizer.d.ts +15 -0
  1217. package/lib/uilogic/environment-contextualizer.js +43 -0
  1218. package/lib/uilogic/environment-contextualizer.js.map +1 -0
  1219. package/lib/uilogic/i-cluster-configurator.d.ts +9 -0
  1220. package/lib/uilogic/i-cluster-configurator.js +3 -0
  1221. package/lib/uilogic/i-cluster-configurator.js.map +1 -0
  1222. package/lib/uilogic/i-login-configurator.d.ts +6 -0
  1223. package/lib/uilogic/i-login-configurator.js +3 -0
  1224. package/lib/uilogic/i-login-configurator.js.map +1 -0
  1225. package/lib/uilogic/i-registry-configurator.d.ts +6 -0
  1226. package/lib/uilogic/i-registry-configurator.js +3 -0
  1227. package/lib/uilogic/i-registry-configurator.js.map +1 -0
  1228. package/lib/uilogic/i-secret-store-configurator.d.ts +7 -0
  1229. package/lib/uilogic/i-secret-store-configurator.js +3 -0
  1230. package/lib/uilogic/i-secret-store-configurator.js.map +1 -0
  1231. package/lib/uilogic/image-configurator.d.ts +133 -0
  1232. package/lib/uilogic/image-configurator.js +578 -0
  1233. package/lib/uilogic/image-configurator.js.map +1 -0
  1234. package/lib/uilogic/image-contextualizer.d.ts +24 -0
  1235. package/lib/uilogic/image-contextualizer.js +90 -0
  1236. package/lib/uilogic/image-contextualizer.js.map +1 -0
  1237. package/lib/uilogic/image-registry-contextualizer.d.ts +28 -0
  1238. package/lib/uilogic/image-registry-contextualizer.js +127 -0
  1239. package/lib/uilogic/image-registry-contextualizer.js.map +1 -0
  1240. package/lib/uilogic/index.d.ts +9 -0
  1241. package/lib/uilogic/index.js +14 -0
  1242. package/lib/uilogic/index.js.map +1 -0
  1243. package/lib/uilogic/prompt-select-fuzzy.d.ts +0 -0
  1244. package/lib/uilogic/prompt-select-fuzzy.js +139 -0
  1245. package/lib/uilogic/prompt-select-fuzzy.js.map +1 -0
  1246. package/lib/uilogic/render-methods.d.ts +12 -0
  1247. package/lib/uilogic/render-methods.js +65 -0
  1248. package/lib/uilogic/render-methods.js.map +1 -0
  1249. package/lib/uilogic/tenant-contextualizer.d.ts +79 -0
  1250. package/lib/uilogic/tenant-contextualizer.js +578 -0
  1251. package/lib/uilogic/tenant-contextualizer.js.map +1 -0
  1252. package/lib/user-context-loader.d.ts +60 -0
  1253. package/lib/user-context-loader.js +184 -0
  1254. package/lib/user-context-loader.js.map +1 -0
  1255. package/oclif.manifest.json +1 -1
  1256. package/package.json +151 -151
  1257. package/scaffolding/api/.gitignore-scaffolding +68 -68
  1258. package/scaffolding/api/.vscode/launch.json +16 -16
  1259. package/scaffolding/api/.vscode/settings.json +7 -7
  1260. package/scaffolding/api/.vscode/tasks.json +15 -15
  1261. package/scaffolding/api/src/app-config.json +2 -2
  1262. package/scaffolding/api/src/index.ts-scaffolding +13 -13
  1263. package/scaffolding/api/src/myApiDef.ts-scaffolding +25 -25
  1264. package/scaffolding/default/.gitignore-scaffolding +2 -2
  1265. package/scaffolding/typescript/.gitignore-scaffolding +69 -69
  1266. package/scaffolding/typescript/.vscode/launch.json +16 -16
  1267. package/scaffolding/typescript/.vscode/settings.json +7 -7
  1268. package/scaffolding/typescript/.vscode/tasks.json +15 -15
@@ -1,436 +1,436 @@
1
- "use strict";
2
- // COMMENTED OUT BC: Moved to cli
3
- // import path = require('path');
4
- // import chalk = require('chalk');
5
- // import * as Case from 'case';
6
- // import { TenantUser, AuthTenant } from '@codiac.io/codiac-common/security/auth-entities';
7
- // import { isFuture } from "@codiac.io/codiac-common/utilities";
8
- // import { CodiacClient, CodiacClient as AuthClient } from '@codiac.io/codiac-api-client';
9
- // import { ProjectConfig, UserContext } from '@codiac.io/codiac-relay-contracts';
10
- // import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
11
- // import { IUserInputProvider, IOutputStyler } from '@codiac.io/codiac-ops-common';
12
- // import { ProjectContextRepo, LocalOps, DxConstants } from '../ops';
13
- // import { UserContextLoader, UserContextManager } from '@codiac.io/codiac-ops-enterprise';
14
- // /** Interfaces with CLI user to establish a tenant context. */
15
- // export class TenantContextualizer {
16
- // static readonly CODE_FOR_NEW_TENANT="** create new **";
17
- // /**
18
- // * @param projCfg The In-memory representation of the project's thaulconfig file.
19
- // */
20
- // constructor(private projCfg: ProjectConfig, private authClient: AuthClient, apiClient: CodiacClient,
21
- // private _projCfgRepo: ProjectContextRepo,
22
- // private ui: IUserInputProvider, private styler: IOutputStyler, private logger: IBetterLogger
23
- // ) {
24
- // this.userContextLoader = new UserContextLoader(logger);
25
- // this.userContextRepo = new UserContextManager(apiClient, logger);
26
- // }
27
- // private userContextLoader: UserContextLoader;
28
- // private userContextRepo: UserContextManager;
29
- // /** An authenticated user, freshly retrieved during this process. */
30
- // private _user: TenantUser|undefined;
31
- // /** Ensures that a valid tenant is assigned
32
- // * and the user has a valid tenant contributor token. */
33
- // public async establishTenantContext(currentContext?: UserContext): Promise<UserContext> {
34
- // return new Promise<UserContext>(async (resolve,reject) => {
35
- // try {
36
- // // STEP a: Load any locally cached user and tenant profiles
37
- // /** Defaults to anonymous */
38
- // let cachedUserContext = currentContext ?? this.userContextLoader.loadUserContext(this.projCfg.tenantCode);
39
- // this.logger.trace(`After loadUserContext(${this.projCfg.tenantCode})`);
40
- // // STEP b: Gather up whatever we have stored for user and tenant tokens
41
- // let projTenantCode = (this.projCfg.tenantCode && this.projCfg.tenantCode != DxConstants.UNREGISTERED_TENANT_CODE) ? this.projCfg.tenantCode : undefined;
42
- // let ultimateUserContext:UserContext|undefined;
43
- // this.logger.trace(`Project tenantCode: ${projTenantCode}`);
44
- // if (cachedUserContext && projTenantCode) {
45
- // ultimateUserContext = ultimateUserContext || this.tryUseCurrentToken(cachedUserContext, projTenantCode);
46
- // this.logger.trace(`Ultimate UserContext after tryUseCurrentToken: `, ultimateUserContext);
47
- // ultimateUserContext = ultimateUserContext || await this.trySwitchTenant(cachedUserContext, projTenantCode);
48
- // }
49
- // this.logger.trace(`Cached UserContext before user interaction: `, cachedUserContext);
50
- // this.logger.trace(`Ultimate UserContext before user interaction: `, ultimateUserContext);
51
- // // Methods below call out for user input.
52
- // if (projTenantCode) {
53
- // ultimateUserContext = ultimateUserContext || await this.tryAuthenticateUnderTenant(projTenantCode, cachedUserContext?.userName);
54
- // } else { // this is an "else" because we are not going to allow this command to change the project tenant assignment (only add one if it hasnt been assigned).
55
- // ultimateUserContext = ultimateUserContext || await this.trySelectFromMyTenants(cachedUserContext);
56
- // ultimateUserContext = ultimateUserContext || await this.tryRegisterNewTenant(cachedUserContext);
57
- // }
58
- // resolve(ultimateUserContext!);
59
- // } catch (err) {
60
- // reject(err);
61
- // }
62
- // });
63
- // }
64
- // // ==========================================================================
65
- // // PRIVATE SUPPORTING METHODS
66
- // // ==========================================================================
67
- // /** Returns a valid tenant context if the given tenant is already current on the given context and the token isnt expired. */
68
- // public tryUseCurrentToken(currentContext: UserContext, tenantCode: string): UserContext|undefined {
69
- // if (currentContext.userName != UserContext.ANONYMOUS_USERNAME
70
- // && currentContext.currentTenantCode == tenantCode
71
- // && currentContext.currentToken
72
- // && currentContext.tokenExpiration
73
- // && isFuture(currentContext.tokenExpiration)) {
74
- // return currentContext;
75
- // } else {
76
- // return undefined;
77
- // }
78
- // }
79
- // /** Attempts to switch the userContext to a locally cached profile for the given tenant,
80
- // * and if not found, requests a switch from the auth service.
81
- // * The current userContext will only be modified if the switch is successfully made.
82
- // * throws is the userContext does not already contain at least one token that will identify the user (regardless of tenant).
83
- // * SIDE-EFFECT: This may refresh the currentToken on the current user context and cache it to the user context file. */
84
- // private async trySwitchTenant(currentContext: UserContext, newTenantCode: string): Promise<UserContext|undefined> {
85
- // return new Promise<UserContext|undefined>(async (resolve,reject) => {
86
- // try {
87
- // let ultimate: UserContext|undefined;
88
- // if (currentContext.userName != UserContext.ANONYMOUS_USERNAME) {
89
- // if (currentContext.tokens && currentContext.tokens[newTenantCode] && !this.authClient.isExpired(currentContext.tokens[newTenantCode])) { // Use the locally cached token
90
- // // We already have an unexpired profile cached for this tenant. Just make it the current one on the userContext object.
91
- // ultimate = currentContext;
92
- // ultimate.currentTenantCode = newTenantCode;
93
- // ultimate.currentToken = currentContext.tokens[newTenantCode];
94
- // ultimate.tokenExpiration = this.authClient.extractTokenExpiration(ultimate.currentToken);
95
- // this.userContextRepo.writeUserContext(ultimate);
96
- // this.logger.trace(`Found an unexpired token for [${currentContext.userName}] under tenant: [${newTenantCode}].`);
97
- // } else { // See if the remote service will let us switch
98
- // // Get ANY unexpired token to authenticate with
99
- // // (cuz we're gonna talk to the server and have IT switch our tenant)
100
- // let token = (!currentContext.tokenExpiration || isFuture(currentContext.tokenExpiration)) ? currentContext.currentToken : undefined;
101
- // if (!token && currentContext.tokens) {
102
- // // Use one from another profile... (any unexpired tenant token will do - we just need to identify the user)
103
- // for (let tc in currentContext.tokens) {
104
- // if (!this.authClient.isExpired(currentContext.tokens[tc])) {
105
- // token = currentContext.tokens[tc];
106
- // this.logger.trace(`Found an unexpired token for [${currentContext.userName}] under tenant: [${tc}]. Using this to authenticate with the api to attempt a tenant switch.`);
107
- // break;
108
- // }
109
- // }
110
- // }
111
- // if (token) {
112
- // // Ask the server...
113
- // this.logger.trace(`Asking api to switch tenant.`);
114
- // let switchResult = await this.authClient.switchTenant(token, newTenantCode);
115
- // if (switchResult.success && switchResult.output) {
116
- // this._user = switchResult.output.user;
117
- // ultimate = currentContext;
118
- // ultimate.currentTenantCode = switchResult.output.user.tenantCode;
119
- // ultimate.currentToken = switchResult.output.token;
120
- // ultimate.tokenExpiration = switchResult.output.expiration;
121
- // if (ultimate.currentTenantCode) {
122
- // ultimate.tokens[ultimate.currentTenantCode] = ultimate.currentToken;
123
- // }
124
- // this.userContextRepo.writeUserContext(ultimate);
125
- // this.logger.trace(`Successfully Switched user context to tenant [${ultimate.currentTenantCode}] via api.`);
126
- // } else if (switchResult.output) {
127
- // // We got back a failure but refreshed the token we were using.
128
- // if (token == currentContext.currentToken) /* ie: if we used the token from the original context */ {
129
- // this._user = switchResult.output.user;
130
- // currentContext.currentToken = switchResult.output.token; // is currentContext passed in byRef? Will this assignment be honored outside this method?
131
- // currentContext.tokenExpiration = switchResult.output.expiration;
132
- // } else if (this._user) {
133
- // this._user.profiles = switchResult.output.user.profiles; // The token was from a random tenant, so dont switch the current users tenant, just update its list of tenant profiles.
134
- // }
135
- // currentContext.tokens[switchResult.output.user.tenantCode] = switchResult.output.token;
136
- // this.userContextRepo.writeUserContext(currentContext);
137
- // // We arent registered for the project tenant (http 403 ?) <--- We need to prompt for new login creds (they may want to try another user account) OR fail loudly here.
138
- // this.renderNotAMember(currentContext.userName, newTenantCode);
139
- // } else {
140
- // // Our current token was invalid or expired, (http 422 ?) <-- we need to prompt for just password. (NOTE: That'll be server hit #2 in this sequence)
141
- // }
142
- // } else {
143
- // // We didnt have an unexpired token to use for this.
144
- // }
145
- // }
146
- // }
147
- // resolve(ultimate);
148
- // } catch (err) {
149
- // reject(err);
150
- // }
151
- // });
152
- // }
153
- // /** Only diff betw this an authenticate is that
154
- // * this method only returns a valid tenant context
155
- // * (whereas authenticate returns a user or tenant context). */
156
- // private async tryAuthenticateUnderTenant(tenantCode: string, defaultUserName?: string): Promise<UserContext|undefined> {
157
- // return new Promise<UserContext|undefined>(async (resolve,reject) => {
158
- // try {
159
- // let ultimate: UserContext|undefined;
160
- // let newContext = await this.authenticate(tenantCode, defaultUserName);
161
- // if (newContext) {
162
- // if (newContext.currentTenantCode == tenantCode) {
163
- // ultimate = newContext;
164
- // } else {
165
- // this.renderNotAMember(newContext.userName, tenantCode);
166
- // }
167
- // }
168
- // resolve(ultimate);
169
- // } catch (err) {
170
- // reject(err);
171
- // }
172
- // });
173
- // }
174
- // private async trySelectFromMyTenants(currentContext: UserContext|undefined): Promise<UserContext|undefined> {
175
- // return new Promise<UserContext|undefined>(async (resolve,reject) => {
176
- // try {
177
- // let ultimate: UserContext|undefined;
178
- // // Step 1: GET THE USER'S LIST OF TENANTS (se we can access an updated list of profiles.
179
- // // They gotta be up to date cuz access to that tenant may have been granted just seconds ago).
180
- // // We may need to authenticate here. Or perhaps refresh token. Where can we store the user from a previous server trip? do we need to?
181
- // if (currentContext)
182
- // this.logger.trace("currentContext token BEFORE getUserTenants...", currentContext.currentToken)
183
- // else
184
- // this.logger.trace("No currentContext BEFORE getUserTenants")
185
- // currentContext = await this.establishPrincipalContext(currentContext); // shouldnt we do this before we do anything else in this class?
186
- // let myTenants: AuthTenant[] = [];
187
- // if (currentContext?.currentToken) {
188
- // myTenants = await this.getUserTenants(this._user);
189
- // }
190
- // if (currentContext)
191
- // this.logger.trace("currentContext token AFTER getUserTenants...", currentContext.currentToken)
192
- // else
193
- // this.logger.trace("No currentContext AFTER getUserTenants")
194
- // if (myTenants && myTenants.length > 0) {
195
- // let tenantCode = await this.promptToSelectTenant(myTenants);
196
- // if (tenantCode) {
197
- // if (tenantCode == TenantContextualizer.CODE_FOR_NEW_TENANT) {
198
- // tenantCode = undefined; // this will lead us to createNewTenant while still allowing us to recognize a cancel.
199
- // } else {
200
- // if (!currentContext) currentContext = await this.authenticate(); // this should never happen - we already did so to get the list of tenant profiles.
201
- // if (currentContext) {
202
- // ultimate = await this.trySwitchTenant(currentContext, tenantCode); // Call server if we dont already have a token for the selected tenant.
203
- // if (ultimate) {
204
- // // Commented out bc: TenantContextulizer should NOT be creating a proj cfg where there wasnt one. The init command has the sole responsibility there.
205
- // // if (!this.projCfg) this.projCfg = this.createDefaultProjectConfig(); // This is avoiding a corrupted project folder.
206
- // // Update the project config if available
207
- // if (this.projCfg) {
208
- // this.projCfg.tenantCode = tenantCode;
209
- // await this._projCfgRepo.updateProjectConfigFile(this.projCfg);
210
- // }
211
- // }
212
- // }
213
- // }
214
- // } else {
215
- // this.cancel(); // user gave up: stop the bus.
216
- // }
217
- // }
218
- // resolve(ultimate);
219
- // } catch (err) {
220
- // reject(err);
221
- // }
222
- // });
223
- // }
224
- // /** Side effect: Overwrites this._user if it s able to refresh it from the auth api */
225
- // private async establishPrincipalContext(context: UserContext|undefined): Promise<UserContext|undefined> {
226
- // return new Promise<UserContext|undefined>(async (resolve,reject) => {
227
- // try {
228
- // if (!this._user) {
229
- // if (context && context.userName != UserContext.ANONYMOUS_USERNAME && (!context.tokenExpiration || isFuture(context.tokenExpiration))) {
230
- // let refreshResult: {context?: UserContext, user?: TenantUser }|undefined;
231
- // try {
232
- // refreshResult = await this.userContextRepo.refreshUserContext(context);
233
- // } catch (err) {
234
- // this.logger.warn(`Failed to refresh your user context, leaving your api token potentially stale, preventing further communications: ${err.message||""}`, err);
235
- // }
236
- // // ----------------------------------------------------------------------------------
237
- // // TODO: Review this logic for refresh/expiration fails
238
- // // that should run an authenticate but arent...
239
- // // ----------------------------------------------------------------------------------
240
- // if (refreshResult) {
241
- // if (refreshResult.user) {
242
- // this.logger.debug("Setting this.User from refresh output...")
243
- // this._user = refreshResult.user;
244
- // this.logger.debug(`this._user profile count: ${this._user.profiles.length}`)
245
- // }
246
- // if (refreshResult.context) {
247
- // this.logger.debug("Setting context from refresh output...");
248
- // context = refreshResult.context;
249
- // }
250
- // // } else {
251
- // // if (context.currentToken && context.currentTenantCode && context.userName) {
252
- // // // Allow for use while disconnected.
253
- // // // TODO: retrieve a locally cached user object.
254
- // // this._user = new User(context.currentTenantCode, "", "", "", context.userName);
255
- // // this._user.profiles = [];
256
- // // for (let tenantCode in context.tokens) {
257
- // // this._user.profiles.push(new AccessProfile(tenantCode));
258
- // // }
259
- // // this.logger.warn(`Using an instance of the current user sparsely populated from cache.`);
260
- // // }
261
- // }
262
- // }
263
- // if (!this._user) {
264
- // let defaultUserName = (context && context.userName != UserContext.ANONYMOUS_USERNAME) ? context.userName : undefined;
265
- // let currentTenantCode = (context && context.currentTenantCode) || undefined;
266
- // context = await this.authenticate(currentTenantCode, defaultUserName);
267
- // }
268
- // }
269
- // resolve(context);
270
- // } catch (err) {
271
- // reject(err);
272
- // }
273
- // });
274
- // }
275
- // private async getUserTenants(user: TenantUser|undefined): Promise<AuthTenant[]> {
276
- // return new Promise<AuthTenant[]>(async (resolve,reject) => {
277
- // try {
278
- // let myTenants: AuthTenant[] = [];
279
- // this.logger.write(`Retrieving tenants of user [${user?.login || "anonymous"}]`);
280
- // let myAcctResult = await this.authClient.whoAmI();
281
- // if (myAcctResult.error) throw myAcctResult.error;
282
- // if (myAcctResult.output?.profiles && myAcctResult.output?.profiles.length > 0) {
283
- // let myProfiles = myAcctResult.output.profiles;
284
- // // We're gonna put the tenantCode in place of the name for now cuz that's all that we get with whoami.
285
- // // TODO: Consider storing AuthTenant.name with the AccessProfile entity so we can make it readable without an extra db hit.
286
- // myTenants = myProfiles.map(ap => new AuthTenant(ap.tenantCode, ap.tenantCode));
287
- // // If we want the tenant names...
288
- // // let codesCsv = myProfiles.map(p => p.tenantCode).join(",");
289
- // // let criteria: TenantCriteria = { mine: true }; // <----- TODO !!! (works off current user)
290
- // // let result = await this.apiClient.tryReadMany(AuthTenant, TenantCriteria, criteria);
291
- // // OR
292
- // // let result = await this.authClient.getMyTenants();
293
- // // this.logger.trace("Result of attempt to get user tenants",result)
294
- // }
295
- // resolve(myTenants);
296
- // } catch (err) {
297
- // reject(err);
298
- // }
299
- // });
300
- // }
301
- // /** Prompts the user to select a tenant from the given list of tenantCodes.
302
- // * Returns undefined if cancelled, and TenantContextualizer.CODE_FOR_NEW_TENANT if "register new" is selected.
303
- // * @param tenants List of tenants from which to select.
304
- // * @param allowAddNew Inserts an option to add a new tenant. (NOTE: this method DOES NOT perform the add new action itself!)
305
- // */
306
- // async promptToSelectTenant(tenants: AuthTenant[], allowAddNew: boolean = true): Promise<string|undefined> {
307
- // return new Promise<string|undefined>(async (resolve,reject) => {
308
- // try {
309
- // let choices = tenants.map(t => {
310
- // return { name: t.name, value: t.code };
311
- // });
312
- // if (allowAddNew) {
313
- // choices.push({ name: "(Register new tenant)", value: TenantContextualizer.CODE_FOR_NEW_TENANT});
314
- // }
315
- // this.logger.notice(`Your project is not assigned to a tenant.`);
316
- // this.logger.notice(`Please assign it to one of your organizations or register a new organization...`);
317
- // let selected = await this.ui.promptSelect('tenantCode', 'Select a Tenant:', choices);
318
- // // let result = await inquirer.prompt({ type: 'list', name: 'tenantCode', message: 'Select a Tenant:', choices: choices});
319
- // // let selected: string|undefined = result.tenantCode;
320
- // resolve(selected);
321
- // } catch (err) {
322
- // reject(err);
323
- // }
324
- // });
325
- // }
326
- // /** Returns a tenant context, a user context, or undefined if operation cancelled.
327
- // * Caches the new user context.
328
- // * Throws any exceptions.
329
- // *
330
- // * `unregistered` tenant code gets ignored.
331
- // *
332
- // * @param login
333
- // * @param silent (optional: defaults to false) When set to true, suppresses the prompts to confirm the given defaults. Requires defaultLogin and defaultPassword to be set. Also requires tenantCode if the current user has more than one tenant profile and it cannot be derived decisively from the current context.
334
- // */
335
- // public async authenticate(tenantCode?: string, login?: string, password?: string, silent: boolean = false): Promise<UserContext|undefined> {
336
- // return new Promise<UserContext>(async (resolve,reject) => {
337
- // try {
338
- // let defaults = { u: login, p: password, t: tenantCode };
339
- // let newContext: UserContext|undefined;
340
- // while (!newContext) {
341
- // newContext = undefined;
342
- // defaults.t = (defaults.t !== undefined && defaults.t !== DxConstants.UNREGISTERED_TENANT_CODE) ? defaults.t : undefined;
343
- // if (!silent) {
344
- // this.ui.userMessage(`Please authenticate with Codiac ${(defaults.t !== undefined) ? " under tenant " + this.styler.hilite(defaults.t) : ""} (CTRL-C to cancel)`);
345
- // defaults.u = await this.ui.prompt("userName", `Username: `, true, defaults.u);
346
- // }
347
- // if (defaults.u) {
348
- // if (!silent) {
349
- // defaults.p = defaults.p ?? await this.ui.promptPassword("password", "Password ");
350
- // }
351
- // if (defaults.p) {
352
- // this.logger.debug(`Authenticating against ${this.authClient!.apiRootUrl}`);
353
- // let authResult = await this.authClient!.authenticate(defaults.u, defaults.p, defaults.t);
354
- // this.logger.debug("", JSON.stringify(authResult, undefined, ' '));
355
- // if (authResult.output) {
356
- // let token = authResult.output.token;
357
- // let userName = authResult.output.user.login;
358
- // let tenantCode = authResult.output.user.tenantCode;
359
- // let exp = authResult.output.expiration;
360
- // // this.passwordLastEntered = password; // we're gonna need this later if we need to register a new tenant (cuz the tenantRegn endpoint doent support a user token yet.)
361
- // newContext = await this.userContextRepo.saveToUserContext(newContext, userName, token, tenantCode, exp);
362
- // this._user = authResult.output.user;
363
- // }
364
- // if (authResult.error) {
365
- // throw authResult.error;
366
- // }
367
- // }
368
- // }
369
- // // Dump em if they didnt get fully hydrated by this point.
370
- // if (silent && (defaults.u === undefined || defaults.p === undefined)) {
371
- // throw new Error(`Cannot authenticate using "silent": both login and password must be provided.`);
372
- // }
373
- // }
374
- // resolve(newContext);
375
- // } catch (err) {
376
- // reject(err);
377
- // }
378
- // });
379
- // }
380
- // private isNullOrEmpty(value: string|undefined): boolean {
381
- // return (value == undefined || value == "");
382
- // }
383
- // async tryRegisterNewTenant(currentContext: UserContext|undefined): Promise<UserContext|undefined> {
384
- // return new Promise<UserContext|undefined>(async (resolve,reject) => {
385
- // try {
386
- // let ultimate:UserContext|undefined;
387
- // let tenantName = await this.ui.prompt<string>("tenantName", "Enter the full name of the organization: ", true);
388
- // // HACK: We happen to know that the authenticate will have necessarily been run before this was called,
389
- // // and we're keeping the pwd from that run in memory just so we can fire this request.
390
- // if (!this._user) {
391
- // // Wanna authenticate here?
392
- // throw new Error("RegisterTenant failed: No user was provided.");
393
- // } else if (!tenantName) {
394
- // // this is a null gate - it can never happen bc the prompt is required;
395
- // throw new Error("RegisterTenant failed: No tenant name was provided.");
396
- // } else {
397
- // let createNewUser = this.isNullOrEmpty(currentContext?.currentToken); // we will have already established the user context
398
- // let tenantResult = await this.authClient.registerTenant(tenantName, createNewUser, this._user.login, this._user.password!, undefined, currentContext!.currentToken || this.authClient.authToken);
399
- // if (tenantResult.error) {
400
- // throw tenantResult.error;
401
- // } else if (tenantResult.success && tenantResult.output) {
402
- // let token = this.authClient.authToken!; // thats a valid force - we will def have one if the register call succeeded
403
- // ultimate = await this.userContextRepo.saveToUserContext(currentContext, this._user.login, token, tenantResult.output.code);
404
- // this.projCfg.tenantCode = tenantResult.output.code;
405
- // await this._projCfgRepo.updateProjectConfigFile(this.projCfg);
406
- // } else {
407
- // // ?? Fail? Is this a valid scenario?
408
- // throw new Error("RegisterTenant failed: " + tenantResult.message + tenantResult.error);
409
- // }
410
- // }
411
- // resolve(ultimate);
412
- // } catch (err) {
413
- // this.logger.debug(`Error attempting to register new tenant: ${err.message||""}${err.response?.data?.message||""}`, (err.toJSON) ? err.toJSON() : err);
414
- // reject(err);
415
- // }
416
- // });
417
- // }
418
- // cancel() {
419
- // throw new Error("Action cancelled. No work was done.");
420
- // // this.logger.notice("Action cancelled. No work was done.");
421
- // // this.exit();
422
- // }
423
- // /** logs a user message stating that the current user
424
- // * is not a member of the given tenant,
425
- // * with instructions for what to do next. */
426
- // private renderNotAMember(username: string, tenantCode: string): void {
427
- // this.logger.notice(`You are currently logged in as '${this.styler.hilite(username)}',`);
428
- // this.logger.notice(`but you are not a member of the tenant '${this.styler.hilite(tenantCode)}'.`);
429
- // this.logger.notice(`You will need to:`);
430
- // this.logger.notice(` EITHER) Log in as a different user, using...`);
431
- // this.logger.notice(` ${this.styler.hilite("cod login [yourUsername] -p [yourPassword]")},`);
432
- // this.logger.notice(` OR) Cancel and send a request to be added, using...`);
433
- // this.logger.notice(` ${this.styler.hilite(`cod request-access ${tenantCode} --role publisher`)}`);
434
- // }
435
- // }
1
+ "use strict";
2
+ // COMMENTED OUT BC: Moved to cli
3
+ // import path = require('path');
4
+ // import chalk = require('chalk');
5
+ // import * as Case from 'case';
6
+ // import { TenantUser, AuthTenant } from '@codiac.io/codiac-common/security/auth-entities';
7
+ // import { isFuture } from "@codiac.io/codiac-common/utilities";
8
+ // import { CodiacClient, CodiacClient as AuthClient } from '@codiac.io/codiac-api-client';
9
+ // import { ProjectConfig, UserContext } from '@codiac.io/codiac-relay-contracts';
10
+ // import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
11
+ // import { IUserInputProvider, IOutputStyler } from '@codiac.io/codiac-ops-common';
12
+ // import { ProjectContextRepo, LocalOps, DxConstants } from '../ops';
13
+ // import { UserContextLoader, UserContextManager } from '@codiac.io/codiac-ops-enterprise';
14
+ // /** Interfaces with CLI user to establish a tenant context. */
15
+ // export class TenantContextualizer {
16
+ // static readonly CODE_FOR_NEW_TENANT="** create new **";
17
+ // /**
18
+ // * @param projCfg The In-memory representation of the project's thaulconfig file.
19
+ // */
20
+ // constructor(private projCfg: ProjectConfig, private authClient: AuthClient, apiClient: CodiacClient,
21
+ // private _projCfgRepo: ProjectContextRepo,
22
+ // private ui: IUserInputProvider, private styler: IOutputStyler, private logger: IBetterLogger
23
+ // ) {
24
+ // this.userContextLoader = new UserContextLoader(logger);
25
+ // this.userContextRepo = new UserContextManager(apiClient, logger);
26
+ // }
27
+ // private userContextLoader: UserContextLoader;
28
+ // private userContextRepo: UserContextManager;
29
+ // /** An authenticated user, freshly retrieved during this process. */
30
+ // private _user: TenantUser|undefined;
31
+ // /** Ensures that a valid tenant is assigned
32
+ // * and the user has a valid tenant contributor token. */
33
+ // public async establishTenantContext(currentContext?: UserContext): Promise<UserContext> {
34
+ // return new Promise<UserContext>(async (resolve,reject) => {
35
+ // try {
36
+ // // STEP a: Load any locally cached user and tenant profiles
37
+ // /** Defaults to anonymous */
38
+ // let cachedUserContext = currentContext ?? this.userContextLoader.loadUserContext(this.projCfg.tenantCode);
39
+ // this.logger.trace(`After loadUserContext(${this.projCfg.tenantCode})`);
40
+ // // STEP b: Gather up whatever we have stored for user and tenant tokens
41
+ // let projTenantCode = (this.projCfg.tenantCode && this.projCfg.tenantCode != DxConstants.UNREGISTERED_TENANT_CODE) ? this.projCfg.tenantCode : undefined;
42
+ // let ultimateUserContext:UserContext|undefined;
43
+ // this.logger.trace(`Project tenantCode: ${projTenantCode}`);
44
+ // if (cachedUserContext && projTenantCode) {
45
+ // ultimateUserContext = ultimateUserContext || this.tryUseCurrentToken(cachedUserContext, projTenantCode);
46
+ // this.logger.trace(`Ultimate UserContext after tryUseCurrentToken: `, ultimateUserContext);
47
+ // ultimateUserContext = ultimateUserContext || await this.trySwitchTenant(cachedUserContext, projTenantCode);
48
+ // }
49
+ // this.logger.trace(`Cached UserContext before user interaction: `, cachedUserContext);
50
+ // this.logger.trace(`Ultimate UserContext before user interaction: `, ultimateUserContext);
51
+ // // Methods below call out for user input.
52
+ // if (projTenantCode) {
53
+ // ultimateUserContext = ultimateUserContext || await this.tryAuthenticateUnderTenant(projTenantCode, cachedUserContext?.userName);
54
+ // } else { // this is an "else" because we are not going to allow this command to change the project tenant assignment (only add one if it hasnt been assigned).
55
+ // ultimateUserContext = ultimateUserContext || await this.trySelectFromMyTenants(cachedUserContext);
56
+ // ultimateUserContext = ultimateUserContext || await this.tryRegisterNewTenant(cachedUserContext);
57
+ // }
58
+ // resolve(ultimateUserContext!);
59
+ // } catch (err) {
60
+ // reject(err);
61
+ // }
62
+ // });
63
+ // }
64
+ // // ==========================================================================
65
+ // // PRIVATE SUPPORTING METHODS
66
+ // // ==========================================================================
67
+ // /** Returns a valid tenant context if the given tenant is already current on the given context and the token isnt expired. */
68
+ // public tryUseCurrentToken(currentContext: UserContext, tenantCode: string): UserContext|undefined {
69
+ // if (currentContext.userName != UserContext.ANONYMOUS_USERNAME
70
+ // && currentContext.currentTenantCode == tenantCode
71
+ // && currentContext.currentToken
72
+ // && currentContext.tokenExpiration
73
+ // && isFuture(currentContext.tokenExpiration)) {
74
+ // return currentContext;
75
+ // } else {
76
+ // return undefined;
77
+ // }
78
+ // }
79
+ // /** Attempts to switch the userContext to a locally cached profile for the given tenant,
80
+ // * and if not found, requests a switch from the auth service.
81
+ // * The current userContext will only be modified if the switch is successfully made.
82
+ // * throws is the userContext does not already contain at least one token that will identify the user (regardless of tenant).
83
+ // * SIDE-EFFECT: This may refresh the currentToken on the current user context and cache it to the user context file. */
84
+ // private async trySwitchTenant(currentContext: UserContext, newTenantCode: string): Promise<UserContext|undefined> {
85
+ // return new Promise<UserContext|undefined>(async (resolve,reject) => {
86
+ // try {
87
+ // let ultimate: UserContext|undefined;
88
+ // if (currentContext.userName != UserContext.ANONYMOUS_USERNAME) {
89
+ // if (currentContext.tokens && currentContext.tokens[newTenantCode] && !this.authClient.isExpired(currentContext.tokens[newTenantCode])) { // Use the locally cached token
90
+ // // We already have an unexpired profile cached for this tenant. Just make it the current one on the userContext object.
91
+ // ultimate = currentContext;
92
+ // ultimate.currentTenantCode = newTenantCode;
93
+ // ultimate.currentToken = currentContext.tokens[newTenantCode];
94
+ // ultimate.tokenExpiration = this.authClient.extractTokenExpiration(ultimate.currentToken);
95
+ // this.userContextRepo.writeUserContext(ultimate);
96
+ // this.logger.trace(`Found an unexpired token for [${currentContext.userName}] under tenant: [${newTenantCode}].`);
97
+ // } else { // See if the remote service will let us switch
98
+ // // Get ANY unexpired token to authenticate with
99
+ // // (cuz we're gonna talk to the server and have IT switch our tenant)
100
+ // let token = (!currentContext.tokenExpiration || isFuture(currentContext.tokenExpiration)) ? currentContext.currentToken : undefined;
101
+ // if (!token && currentContext.tokens) {
102
+ // // Use one from another profile... (any unexpired tenant token will do - we just need to identify the user)
103
+ // for (let tc in currentContext.tokens) {
104
+ // if (!this.authClient.isExpired(currentContext.tokens[tc])) {
105
+ // token = currentContext.tokens[tc];
106
+ // this.logger.trace(`Found an unexpired token for [${currentContext.userName}] under tenant: [${tc}]. Using this to authenticate with the api to attempt a tenant switch.`);
107
+ // break;
108
+ // }
109
+ // }
110
+ // }
111
+ // if (token) {
112
+ // // Ask the server...
113
+ // this.logger.trace(`Asking api to switch tenant.`);
114
+ // let switchResult = await this.authClient.switchTenant(token, newTenantCode);
115
+ // if (switchResult.success && switchResult.output) {
116
+ // this._user = switchResult.output.user;
117
+ // ultimate = currentContext;
118
+ // ultimate.currentTenantCode = switchResult.output.user.tenantCode;
119
+ // ultimate.currentToken = switchResult.output.token;
120
+ // ultimate.tokenExpiration = switchResult.output.expiration;
121
+ // if (ultimate.currentTenantCode) {
122
+ // ultimate.tokens[ultimate.currentTenantCode] = ultimate.currentToken;
123
+ // }
124
+ // this.userContextRepo.writeUserContext(ultimate);
125
+ // this.logger.trace(`Successfully Switched user context to tenant [${ultimate.currentTenantCode}] via api.`);
126
+ // } else if (switchResult.output) {
127
+ // // We got back a failure but refreshed the token we were using.
128
+ // if (token == currentContext.currentToken) /* ie: if we used the token from the original context */ {
129
+ // this._user = switchResult.output.user;
130
+ // currentContext.currentToken = switchResult.output.token; // is currentContext passed in byRef? Will this assignment be honored outside this method?
131
+ // currentContext.tokenExpiration = switchResult.output.expiration;
132
+ // } else if (this._user) {
133
+ // this._user.profiles = switchResult.output.user.profiles; // The token was from a random tenant, so dont switch the current users tenant, just update its list of tenant profiles.
134
+ // }
135
+ // currentContext.tokens[switchResult.output.user.tenantCode] = switchResult.output.token;
136
+ // this.userContextRepo.writeUserContext(currentContext);
137
+ // // We arent registered for the project tenant (http 403 ?) <--- We need to prompt for new login creds (they may want to try another user account) OR fail loudly here.
138
+ // this.renderNotAMember(currentContext.userName, newTenantCode);
139
+ // } else {
140
+ // // Our current token was invalid or expired, (http 422 ?) <-- we need to prompt for just password. (NOTE: That'll be server hit #2 in this sequence)
141
+ // }
142
+ // } else {
143
+ // // We didnt have an unexpired token to use for this.
144
+ // }
145
+ // }
146
+ // }
147
+ // resolve(ultimate);
148
+ // } catch (err) {
149
+ // reject(err);
150
+ // }
151
+ // });
152
+ // }
153
+ // /** Only diff betw this an authenticate is that
154
+ // * this method only returns a valid tenant context
155
+ // * (whereas authenticate returns a user or tenant context). */
156
+ // private async tryAuthenticateUnderTenant(tenantCode: string, defaultUserName?: string): Promise<UserContext|undefined> {
157
+ // return new Promise<UserContext|undefined>(async (resolve,reject) => {
158
+ // try {
159
+ // let ultimate: UserContext|undefined;
160
+ // let newContext = await this.authenticate(tenantCode, defaultUserName);
161
+ // if (newContext) {
162
+ // if (newContext.currentTenantCode == tenantCode) {
163
+ // ultimate = newContext;
164
+ // } else {
165
+ // this.renderNotAMember(newContext.userName, tenantCode);
166
+ // }
167
+ // }
168
+ // resolve(ultimate);
169
+ // } catch (err) {
170
+ // reject(err);
171
+ // }
172
+ // });
173
+ // }
174
+ // private async trySelectFromMyTenants(currentContext: UserContext|undefined): Promise<UserContext|undefined> {
175
+ // return new Promise<UserContext|undefined>(async (resolve,reject) => {
176
+ // try {
177
+ // let ultimate: UserContext|undefined;
178
+ // // Step 1: GET THE USER'S LIST OF TENANTS (se we can access an updated list of profiles.
179
+ // // They gotta be up to date cuz access to that tenant may have been granted just seconds ago).
180
+ // // We may need to authenticate here. Or perhaps refresh token. Where can we store the user from a previous server trip? do we need to?
181
+ // if (currentContext)
182
+ // this.logger.trace("currentContext token BEFORE getUserTenants...", currentContext.currentToken)
183
+ // else
184
+ // this.logger.trace("No currentContext BEFORE getUserTenants")
185
+ // currentContext = await this.establishPrincipalContext(currentContext); // shouldnt we do this before we do anything else in this class?
186
+ // let myTenants: AuthTenant[] = [];
187
+ // if (currentContext?.currentToken) {
188
+ // myTenants = await this.getUserTenants(this._user);
189
+ // }
190
+ // if (currentContext)
191
+ // this.logger.trace("currentContext token AFTER getUserTenants...", currentContext.currentToken)
192
+ // else
193
+ // this.logger.trace("No currentContext AFTER getUserTenants")
194
+ // if (myTenants && myTenants.length > 0) {
195
+ // let tenantCode = await this.promptToSelectTenant(myTenants);
196
+ // if (tenantCode) {
197
+ // if (tenantCode == TenantContextualizer.CODE_FOR_NEW_TENANT) {
198
+ // tenantCode = undefined; // this will lead us to createNewTenant while still allowing us to recognize a cancel.
199
+ // } else {
200
+ // if (!currentContext) currentContext = await this.authenticate(); // this should never happen - we already did so to get the list of tenant profiles.
201
+ // if (currentContext) {
202
+ // ultimate = await this.trySwitchTenant(currentContext, tenantCode); // Call server if we dont already have a token for the selected tenant.
203
+ // if (ultimate) {
204
+ // // Commented out bc: TenantContextulizer should NOT be creating a proj cfg where there wasnt one. The init command has the sole responsibility there.
205
+ // // if (!this.projCfg) this.projCfg = this.createDefaultProjectConfig(); // This is avoiding a corrupted project folder.
206
+ // // Update the project config if available
207
+ // if (this.projCfg) {
208
+ // this.projCfg.tenantCode = tenantCode;
209
+ // await this._projCfgRepo.updateProjectConfigFile(this.projCfg);
210
+ // }
211
+ // }
212
+ // }
213
+ // }
214
+ // } else {
215
+ // this.cancel(); // user gave up: stop the bus.
216
+ // }
217
+ // }
218
+ // resolve(ultimate);
219
+ // } catch (err) {
220
+ // reject(err);
221
+ // }
222
+ // });
223
+ // }
224
+ // /** Side effect: Overwrites this._user if it s able to refresh it from the auth api */
225
+ // private async establishPrincipalContext(context: UserContext|undefined): Promise<UserContext|undefined> {
226
+ // return new Promise<UserContext|undefined>(async (resolve,reject) => {
227
+ // try {
228
+ // if (!this._user) {
229
+ // if (context && context.userName != UserContext.ANONYMOUS_USERNAME && (!context.tokenExpiration || isFuture(context.tokenExpiration))) {
230
+ // let refreshResult: {context?: UserContext, user?: TenantUser }|undefined;
231
+ // try {
232
+ // refreshResult = await this.userContextRepo.refreshUserContext(context);
233
+ // } catch (err) {
234
+ // this.logger.warn(`Failed to refresh your user context, leaving your api token potentially stale, preventing further communications: ${err.message||""}`, err);
235
+ // }
236
+ // // ----------------------------------------------------------------------------------
237
+ // // TODO: Review this logic for refresh/expiration fails
238
+ // // that should run an authenticate but arent...
239
+ // // ----------------------------------------------------------------------------------
240
+ // if (refreshResult) {
241
+ // if (refreshResult.user) {
242
+ // this.logger.debug("Setting this.User from refresh output...")
243
+ // this._user = refreshResult.user;
244
+ // this.logger.debug(`this._user profile count: ${this._user.profiles.length}`)
245
+ // }
246
+ // if (refreshResult.context) {
247
+ // this.logger.debug("Setting context from refresh output...");
248
+ // context = refreshResult.context;
249
+ // }
250
+ // // } else {
251
+ // // if (context.currentToken && context.currentTenantCode && context.userName) {
252
+ // // // Allow for use while disconnected.
253
+ // // // TODO: retrieve a locally cached user object.
254
+ // // this._user = new User(context.currentTenantCode, "", "", "", context.userName);
255
+ // // this._user.profiles = [];
256
+ // // for (let tenantCode in context.tokens) {
257
+ // // this._user.profiles.push(new AccessProfile(tenantCode));
258
+ // // }
259
+ // // this.logger.warn(`Using an instance of the current user sparsely populated from cache.`);
260
+ // // }
261
+ // }
262
+ // }
263
+ // if (!this._user) {
264
+ // let defaultUserName = (context && context.userName != UserContext.ANONYMOUS_USERNAME) ? context.userName : undefined;
265
+ // let currentTenantCode = (context && context.currentTenantCode) || undefined;
266
+ // context = await this.authenticate(currentTenantCode, defaultUserName);
267
+ // }
268
+ // }
269
+ // resolve(context);
270
+ // } catch (err) {
271
+ // reject(err);
272
+ // }
273
+ // });
274
+ // }
275
+ // private async getUserTenants(user: TenantUser|undefined): Promise<AuthTenant[]> {
276
+ // return new Promise<AuthTenant[]>(async (resolve,reject) => {
277
+ // try {
278
+ // let myTenants: AuthTenant[] = [];
279
+ // this.logger.write(`Retrieving tenants of user [${user?.login || "anonymous"}]`);
280
+ // let myAcctResult = await this.authClient.whoAmI();
281
+ // if (myAcctResult.error) throw myAcctResult.error;
282
+ // if (myAcctResult.output?.profiles && myAcctResult.output?.profiles.length > 0) {
283
+ // let myProfiles = myAcctResult.output.profiles;
284
+ // // We're gonna put the tenantCode in place of the name for now cuz that's all that we get with whoami.
285
+ // // TODO: Consider storing AuthTenant.name with the AccessProfile entity so we can make it readable without an extra db hit.
286
+ // myTenants = myProfiles.map(ap => new AuthTenant(ap.tenantCode, ap.tenantCode));
287
+ // // If we want the tenant names...
288
+ // // let codesCsv = myProfiles.map(p => p.tenantCode).join(",");
289
+ // // let criteria: TenantCriteria = { mine: true }; // <----- TODO !!! (works off current user)
290
+ // // let result = await this.apiClient.tryReadMany(AuthTenant, TenantCriteria, criteria);
291
+ // // OR
292
+ // // let result = await this.authClient.getMyTenants();
293
+ // // this.logger.trace("Result of attempt to get user tenants",result)
294
+ // }
295
+ // resolve(myTenants);
296
+ // } catch (err) {
297
+ // reject(err);
298
+ // }
299
+ // });
300
+ // }
301
+ // /** Prompts the user to select a tenant from the given list of tenantCodes.
302
+ // * Returns undefined if cancelled, and TenantContextualizer.CODE_FOR_NEW_TENANT if "register new" is selected.
303
+ // * @param tenants List of tenants from which to select.
304
+ // * @param allowAddNew Inserts an option to add a new tenant. (NOTE: this method DOES NOT perform the add new action itself!)
305
+ // */
306
+ // async promptToSelectTenant(tenants: AuthTenant[], allowAddNew: boolean = true): Promise<string|undefined> {
307
+ // return new Promise<string|undefined>(async (resolve,reject) => {
308
+ // try {
309
+ // let choices = tenants.map(t => {
310
+ // return { name: t.name, value: t.code };
311
+ // });
312
+ // if (allowAddNew) {
313
+ // choices.push({ name: "(Register new tenant)", value: TenantContextualizer.CODE_FOR_NEW_TENANT});
314
+ // }
315
+ // this.logger.notice(`Your project is not assigned to a tenant.`);
316
+ // this.logger.notice(`Please assign it to one of your organizations or register a new organization...`);
317
+ // let selected = await this.ui.promptSelect('tenantCode', 'Select a Tenant:', choices);
318
+ // // let result = await inquirer.prompt({ type: 'list', name: 'tenantCode', message: 'Select a Tenant:', choices: choices});
319
+ // // let selected: string|undefined = result.tenantCode;
320
+ // resolve(selected);
321
+ // } catch (err) {
322
+ // reject(err);
323
+ // }
324
+ // });
325
+ // }
326
+ // /** Returns a tenant context, a user context, or undefined if operation cancelled.
327
+ // * Caches the new user context.
328
+ // * Throws any exceptions.
329
+ // *
330
+ // * `unregistered` tenant code gets ignored.
331
+ // *
332
+ // * @param login
333
+ // * @param silent (optional: defaults to false) When set to true, suppresses the prompts to confirm the given defaults. Requires defaultLogin and defaultPassword to be set. Also requires tenantCode if the current user has more than one tenant profile and it cannot be derived decisively from the current context.
334
+ // */
335
+ // public async authenticate(tenantCode?: string, login?: string, password?: string, silent: boolean = false): Promise<UserContext|undefined> {
336
+ // return new Promise<UserContext>(async (resolve,reject) => {
337
+ // try {
338
+ // let defaults = { u: login, p: password, t: tenantCode };
339
+ // let newContext: UserContext|undefined;
340
+ // while (!newContext) {
341
+ // newContext = undefined;
342
+ // defaults.t = (defaults.t !== undefined && defaults.t !== DxConstants.UNREGISTERED_TENANT_CODE) ? defaults.t : undefined;
343
+ // if (!silent) {
344
+ // this.ui.userMessage(`Please authenticate with Codiac ${(defaults.t !== undefined) ? " under tenant " + this.styler.hilite(defaults.t) : ""} (CTRL-C to cancel)`);
345
+ // defaults.u = await this.ui.prompt("userName", `Username: `, true, defaults.u);
346
+ // }
347
+ // if (defaults.u) {
348
+ // if (!silent) {
349
+ // defaults.p = defaults.p ?? await this.ui.promptPassword("password", "Password ");
350
+ // }
351
+ // if (defaults.p) {
352
+ // this.logger.debug(`Authenticating against ${this.authClient!.apiRootUrl}`);
353
+ // let authResult = await this.authClient!.authenticate(defaults.u, defaults.p, defaults.t);
354
+ // this.logger.debug("", JSON.stringify(authResult, undefined, ' '));
355
+ // if (authResult.output) {
356
+ // let token = authResult.output.token;
357
+ // let userName = authResult.output.user.login;
358
+ // let tenantCode = authResult.output.user.tenantCode;
359
+ // let exp = authResult.output.expiration;
360
+ // // this.passwordLastEntered = password; // we're gonna need this later if we need to register a new tenant (cuz the tenantRegn endpoint doent support a user token yet.)
361
+ // newContext = await this.userContextRepo.saveToUserContext(newContext, userName, token, tenantCode, exp);
362
+ // this._user = authResult.output.user;
363
+ // }
364
+ // if (authResult.error) {
365
+ // throw authResult.error;
366
+ // }
367
+ // }
368
+ // }
369
+ // // Dump em if they didnt get fully hydrated by this point.
370
+ // if (silent && (defaults.u === undefined || defaults.p === undefined)) {
371
+ // throw new Error(`Cannot authenticate using "silent": both login and password must be provided.`);
372
+ // }
373
+ // }
374
+ // resolve(newContext);
375
+ // } catch (err) {
376
+ // reject(err);
377
+ // }
378
+ // });
379
+ // }
380
+ // private isNullOrEmpty(value: string|undefined): boolean {
381
+ // return (value == undefined || value == "");
382
+ // }
383
+ // async tryRegisterNewTenant(currentContext: UserContext|undefined): Promise<UserContext|undefined> {
384
+ // return new Promise<UserContext|undefined>(async (resolve,reject) => {
385
+ // try {
386
+ // let ultimate:UserContext|undefined;
387
+ // let tenantName = await this.ui.prompt<string>("tenantName", "Enter the full name of the organization: ", true);
388
+ // // HACK: We happen to know that the authenticate will have necessarily been run before this was called,
389
+ // // and we're keeping the pwd from that run in memory just so we can fire this request.
390
+ // if (!this._user) {
391
+ // // Wanna authenticate here?
392
+ // throw new Error("RegisterTenant failed: No user was provided.");
393
+ // } else if (!tenantName) {
394
+ // // this is a null gate - it can never happen bc the prompt is required;
395
+ // throw new Error("RegisterTenant failed: No tenant name was provided.");
396
+ // } else {
397
+ // let createNewUser = this.isNullOrEmpty(currentContext?.currentToken); // we will have already established the user context
398
+ // let tenantResult = await this.authClient.registerTenant(tenantName, createNewUser, this._user.login, this._user.password!, undefined, currentContext!.currentToken || this.authClient.authToken);
399
+ // if (tenantResult.error) {
400
+ // throw tenantResult.error;
401
+ // } else if (tenantResult.success && tenantResult.output) {
402
+ // let token = this.authClient.authToken!; // thats a valid force - we will def have one if the register call succeeded
403
+ // ultimate = await this.userContextRepo.saveToUserContext(currentContext, this._user.login, token, tenantResult.output.code);
404
+ // this.projCfg.tenantCode = tenantResult.output.code;
405
+ // await this._projCfgRepo.updateProjectConfigFile(this.projCfg);
406
+ // } else {
407
+ // // ?? Fail? Is this a valid scenario?
408
+ // throw new Error("RegisterTenant failed: " + tenantResult.message + tenantResult.error);
409
+ // }
410
+ // }
411
+ // resolve(ultimate);
412
+ // } catch (err) {
413
+ // this.logger.debug(`Error attempting to register new tenant: ${err.message||""}${err.response?.data?.message||""}`, (err.toJSON) ? err.toJSON() : err);
414
+ // reject(err);
415
+ // }
416
+ // });
417
+ // }
418
+ // cancel() {
419
+ // throw new Error("Action cancelled. No work was done.");
420
+ // // this.logger.notice("Action cancelled. No work was done.");
421
+ // // this.exit();
422
+ // }
423
+ // /** logs a user message stating that the current user
424
+ // * is not a member of the given tenant,
425
+ // * with instructions for what to do next. */
426
+ // private renderNotAMember(username: string, tenantCode: string): void {
427
+ // this.logger.notice(`You are currently logged in as '${this.styler.hilite(username)}',`);
428
+ // this.logger.notice(`but you are not a member of the tenant '${this.styler.hilite(tenantCode)}'.`);
429
+ // this.logger.notice(`You will need to:`);
430
+ // this.logger.notice(` EITHER) Log in as a different user, using...`);
431
+ // this.logger.notice(` ${this.styler.hilite("cod login [yourUsername] -p [yourPassword]")},`);
432
+ // this.logger.notice(` OR) Cancel and send a request to be added, using...`);
433
+ // this.logger.notice(` ${this.styler.hilite(`cod request-access ${tenantCode} --role publisher`)}`);
434
+ // }
435
+ // }
436
436
  //# sourceMappingURL=tenant-contextualizer.js.map