@codiac.io/codiac-cli 1.2.202 → 1.2.203

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 (532) hide show
  1. package/README.md +4636 -4696
  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/dist/apis/codiac-api/common/api-client-base.d.ts +165 -165
  7. package/dist/apis/codiac-api/common/api-client-base.js +547 -547
  8. package/dist/apis/codiac-api/common/api-client-base.js.map +1 -1
  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/api-user-creds.js.map +1 -1
  12. package/dist/apis/codiac-api/common/config-loader.d.ts +6 -6
  13. package/dist/apis/codiac-api/common/config-loader.js +18 -18
  14. package/dist/apis/codiac-api/common/endpoint-spec.d.ts +17 -17
  15. package/dist/apis/codiac-api/common/endpoint-spec.js +27 -27
  16. package/dist/apis/codiac-api/common/security/api-auth-methods-legacy.d.ts +87 -87
  17. package/dist/apis/codiac-api/common/security/api-auth-methods-legacy.js +367 -367
  18. package/dist/apis/codiac-api/common/security/api-auth-methods-legacy.js.map +1 -1
  19. package/dist/apis/codiac-api/common/security/auth-constants.d.ts +15 -15
  20. package/dist/apis/codiac-api/common/security/auth-constants.js +21 -21
  21. package/dist/apis/codiac-api/common/security/i-auth-client.d.ts +44 -44
  22. package/dist/apis/codiac-api/common/security/i-auth-client.js +2 -2
  23. package/dist/apis/codiac-api/common/security/token-holder.d.ts +13 -13
  24. package/dist/apis/codiac-api/common/security/token-holder.js +17 -17
  25. package/dist/apis/codiac-api/common/utils.d.ts +23 -23
  26. package/dist/apis/codiac-api/common/utils.js +82 -82
  27. package/dist/apis/codiac-api/contracts/index.d.ts +1 -1
  28. package/dist/apis/codiac-api/contracts/index.js +4 -4
  29. package/dist/apis/codiac-api/gen/client-config.d.ts +10 -10
  30. package/dist/apis/codiac-api/gen/client-config.js +28 -28
  31. package/dist/apis/codiac-api/gen/client-config.js.map +1 -1
  32. package/dist/apis/codiac-api/gen/client.d.ts +1663 -1663
  33. package/dist/apis/codiac-api/gen/client.js +15629 -15629
  34. package/dist/apis/codiac-api/gen/client.js.map +1 -1
  35. package/dist/apis/codiac-api/gen/contracts.d.ts +2722 -2722
  36. package/dist/apis/codiac-api/gen/contracts.js +402 -402
  37. package/dist/apis/codiac-api/index.d.ts +3 -3
  38. package/dist/apis/codiac-api/index.js +8 -8
  39. package/dist/apis/codiac-relay/common/api-client-base.d.ts +165 -165
  40. package/dist/apis/codiac-relay/common/api-client-base.js +547 -547
  41. package/dist/apis/codiac-relay/common/api-client-base.js.map +1 -1
  42. package/dist/apis/codiac-relay/common/api-user-creds.d.ts +7 -7
  43. package/dist/apis/codiac-relay/common/api-user-creds.js +18 -18
  44. package/dist/apis/codiac-relay/common/api-user-creds.js.map +1 -1
  45. package/dist/apis/codiac-relay/common/config-loader.d.ts +6 -6
  46. package/dist/apis/codiac-relay/common/config-loader.js +18 -18
  47. package/dist/apis/codiac-relay/common/endpoint-spec.d.ts +17 -17
  48. package/dist/apis/codiac-relay/common/endpoint-spec.js +27 -27
  49. package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.d.ts +87 -87
  50. package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.js +367 -367
  51. package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.js.map +1 -1
  52. package/dist/apis/codiac-relay/common/security/auth-constants.d.ts +15 -15
  53. package/dist/apis/codiac-relay/common/security/auth-constants.js +21 -21
  54. package/dist/apis/codiac-relay/common/security/i-auth-client.d.ts +44 -44
  55. package/dist/apis/codiac-relay/common/security/i-auth-client.js +2 -2
  56. package/dist/apis/codiac-relay/common/security/token-holder.d.ts +13 -13
  57. package/dist/apis/codiac-relay/common/security/token-holder.js +17 -17
  58. package/dist/apis/codiac-relay/common/utils.d.ts +23 -23
  59. package/dist/apis/codiac-relay/common/utils.js +82 -82
  60. package/dist/apis/codiac-relay/contracts/index.d.ts +1 -1
  61. package/dist/apis/codiac-relay/contracts/index.js +4 -4
  62. package/dist/apis/codiac-relay/gen/client-config.d.ts +10 -10
  63. package/dist/apis/codiac-relay/gen/client-config.js +28 -28
  64. package/dist/apis/codiac-relay/gen/client-config.js.map +1 -1
  65. package/dist/apis/codiac-relay/gen/client.d.ts +244 -244
  66. package/dist/apis/codiac-relay/gen/client.js +1862 -1862
  67. package/dist/apis/codiac-relay/gen/client.js.map +1 -1
  68. package/dist/apis/codiac-relay/gen/contracts.d.ts +3111 -3111
  69. package/dist/apis/codiac-relay/gen/contracts.js +434 -434
  70. package/dist/apis/codiac-relay/index.d.ts +3 -3
  71. package/dist/apis/codiac-relay/index.js +8 -8
  72. package/dist/cli-common/ImagesList.js +66 -66
  73. package/dist/cli-common/argument-manager.d.ts +28 -28
  74. package/dist/cli-common/argument-manager.js +194 -194
  75. package/dist/cli-common/built-in-cli-user-input.d.ts +18 -18
  76. package/dist/cli-common/built-in-cli-user-input.js +309 -309
  77. package/dist/cli-common/built-in-cli-user-input.js.map +1 -1
  78. package/dist/cli-common/cli-interfaces.js +6 -6
  79. package/dist/cli-common/command-base.d.ts +72 -72
  80. package/dist/cli-common/command-base.js +181 -181
  81. package/dist/cli-common/entities/index.d.ts +1 -1
  82. package/dist/cli-common/entities/index.js +4 -4
  83. package/dist/cli-common/entities/prompt-choice.d.ts +7 -7
  84. package/dist/cli-common/entities/prompt-choice.js +2 -2
  85. package/dist/cli-common/file-selector.d.ts +48 -48
  86. package/dist/cli-common/file-selector.js +186 -186
  87. package/dist/cli-common/i-user-input-provider.js +18 -18
  88. package/dist/cli-common/index.d.ts +4 -4
  89. package/dist/cli-common/index.js +10 -10
  90. package/dist/cli-common/mock-ui.d.ts +27 -27
  91. package/dist/cli-common/mock-ui.js +82 -82
  92. package/dist/cli-common/prompt-select-fuzzy.d.ts +19 -19
  93. package/dist/cli-common/prompt-select-fuzzy.js +118 -118
  94. package/dist/cli-common/prompt-select-fuzzy.js.map +1 -1
  95. package/dist/cli-common/tenant-contextualizer.js +435 -435
  96. package/dist/cli-common/test/tenant-contextualizer.spec.js +142 -142
  97. package/dist/cli-entities/output-format-enum.d.ts +7 -7
  98. package/dist/cli-entities/output-format-enum.js +11 -11
  99. package/dist/cli-entities/prompt-choice.js +5 -5
  100. package/dist/codiac-constants.d.ts +35 -35
  101. package/dist/codiac-constants.js +40 -40
  102. package/dist/codiac-entities/asset-binding.d.ts +12 -12
  103. package/dist/codiac-entities/asset-binding.js +17 -17
  104. package/dist/codiac-entities/azure-container-registry.d.ts +4 -4
  105. package/dist/codiac-entities/azure-container-registry.js +2 -2
  106. package/dist/codiac-entities/azure-service-principal.d.ts +23 -23
  107. package/dist/codiac-entities/azure-service-principal.js +23 -23
  108. package/dist/codiac-entities/cloud-account-ref.d.ts +28 -28
  109. package/dist/codiac-entities/cloud-account-ref.js +36 -36
  110. package/dist/codiac-entities/deployment-temp.js +132 -132
  111. package/dist/codiac-entities/i-cloud-account-ref.d.ts +5 -5
  112. package/dist/codiac-entities/i-cloud-account-ref.js +2 -2
  113. package/dist/command-base-enterprise.d.ts +121 -121
  114. package/dist/command-base-enterprise.js +523 -523
  115. package/dist/command-base-tenantless.d.ts +44 -44
  116. package/dist/command-base-tenantless.js +179 -179
  117. package/dist/commands/asset/create.d.ts +42 -42
  118. package/dist/commands/asset/create.js +466 -466
  119. package/dist/commands/asset/destroy.d.ts +20 -20
  120. package/dist/commands/asset/destroy.js +128 -128
  121. package/dist/commands/asset/helm.d.ts +23 -23
  122. package/dist/commands/asset/helm.js +152 -152
  123. package/dist/commands/asset/list.d.ts +28 -28
  124. package/dist/commands/asset/list.js +171 -171
  125. package/dist/commands/asset/probe/create.d.ts +38 -38
  126. package/dist/commands/asset/probe/create.js +186 -186
  127. package/dist/commands/asset/recycle.d.ts +23 -23
  128. package/dist/commands/asset/recycle.js +174 -174
  129. package/dist/commands/asset/view.d.ts +188 -188
  130. package/dist/commands/asset/view.js +1364 -1364
  131. package/dist/commands/asset/volume/create.d.ts +23 -23
  132. package/dist/commands/asset/volume/create.js +175 -175
  133. package/dist/commands/asset/volume/delete.d.ts +19 -19
  134. package/dist/commands/asset/volume/delete.js +111 -111
  135. package/dist/commands/asset/volume/list.d.ts +19 -19
  136. package/dist/commands/asset/volume/list.js +69 -69
  137. package/dist/commands/branch/current.d.ts +10 -10
  138. package/dist/commands/branch/current.js +33 -33
  139. package/dist/commands/branch/list.d.ts +15 -15
  140. package/dist/commands/branch/list.js +55 -55
  141. package/dist/commands/branch.d.ts +12 -12
  142. package/dist/commands/branch.js +41 -41
  143. package/dist/commands/build.d.ts +38 -38
  144. package/dist/commands/build.js +119 -119
  145. package/dist/commands/cabinet/create.d.ts +21 -21
  146. package/dist/commands/cabinet/create.js +107 -107
  147. package/dist/commands/cabinet/list.d.ts +23 -23
  148. package/dist/commands/cabinet/list.js +133 -133
  149. package/dist/commands/cabinet/obliterate.d.ts +20 -20
  150. package/dist/commands/cabinet/obliterate.js +82 -82
  151. package/dist/commands/cli.d.ts +10 -10
  152. package/dist/commands/cli.js +99 -99
  153. package/dist/commands/commit.d.ts +11 -11
  154. package/dist/commands/commit.js +39 -39
  155. package/dist/commands/config/add.d.ts +78 -78
  156. package/dist/commands/config/add.js +559 -559
  157. package/dist/commands/config/delete.d.ts +18 -18
  158. package/dist/commands/config/delete.js +118 -118
  159. package/dist/commands/config/deploy.d.ts +22 -22
  160. package/dist/commands/config/deploy.js +124 -124
  161. package/dist/commands/config/import.d.ts +27 -27
  162. package/dist/commands/config/import.js +195 -195
  163. package/dist/commands/config/view.d.ts +25 -25
  164. package/dist/commands/config/view.js +120 -120
  165. package/dist/commands/csp/login.d.ts +18 -18
  166. package/dist/commands/csp/login.js +122 -122
  167. package/dist/commands/csp/logout.d.ts +15 -15
  168. package/dist/commands/csp/logout.js +73 -73
  169. package/dist/commands/dep/create.d.ts +13 -13
  170. package/dist/commands/dep/create.js +40 -40
  171. package/dist/commands/dep/install.d.ts +9 -9
  172. package/dist/commands/dep/install.js +29 -29
  173. package/dist/commands/dep/list.d.ts +55 -55
  174. package/dist/commands/dep/list.js +97 -97
  175. package/dist/commands/dep/remove.d.ts +12 -12
  176. package/dist/commands/dep/remove.js +61 -61
  177. package/dist/commands/dep/source.d.ts +13 -13
  178. package/dist/commands/dep/source.js +82 -82
  179. package/dist/commands/dep/syncup.d.ts +11 -11
  180. package/dist/commands/dep/syncup.js +53 -53
  181. package/dist/commands/dep/unsource.d.ts +14 -14
  182. package/dist/commands/dep/unsource.js +67 -67
  183. package/dist/commands/dep/upgrade.d.ts +44 -44
  184. package/dist/commands/dep/upgrade.js +243 -243
  185. package/dist/commands/dep.d.ts +12 -12
  186. package/dist/commands/dep.js +50 -50
  187. package/dist/commands/deploy.d.ts +38 -38
  188. package/dist/commands/deploy.js +385 -385
  189. package/dist/commands/enterprise/create.d.ts +20 -20
  190. package/dist/commands/enterprise/create.js +97 -97
  191. package/dist/commands/enterprise/list.d.ts +14 -14
  192. package/dist/commands/enterprise/list.js +83 -83
  193. package/dist/commands/env/add.d.ts +22 -22
  194. package/dist/commands/env/add.js +199 -199
  195. package/dist/commands/environment/create.d.ts +19 -19
  196. package/dist/commands/environment/create.js +88 -88
  197. package/dist/commands/environment/list.d.ts +25 -25
  198. package/dist/commands/environment/list.js +157 -157
  199. package/dist/commands/filestore/capture.d.ts +31 -31
  200. package/dist/commands/filestore/capture.js +341 -341
  201. package/dist/commands/host/map.d.ts +33 -33
  202. package/dist/commands/host/map.js +346 -346
  203. package/dist/commands/identity/delete.d.ts +15 -15
  204. package/dist/commands/identity/delete.js +82 -82
  205. package/dist/commands/identity/list.d.ts +11 -11
  206. package/dist/commands/identity/list.js +42 -42
  207. package/dist/commands/identity.d.ts +22 -22
  208. package/dist/commands/identity.js +76 -76
  209. package/dist/commands/imageRegistry/capture.d.ts +27 -27
  210. package/dist/commands/imageRegistry/capture.js +159 -159
  211. package/dist/commands/imageRegistry/forget.d.ts +23 -23
  212. package/dist/commands/imageRegistry/forget.js +160 -160
  213. package/dist/commands/imageRegistry/pullSecret/set.d.ts +27 -27
  214. package/dist/commands/imageRegistry/pullSecret/set.js +299 -299
  215. package/dist/commands/imageRegistry/pullSecret/unset.d.ts +24 -24
  216. package/dist/commands/imageRegistry/pullSecret/unset.js +242 -242
  217. package/dist/commands/images/add.d.ts +25 -25
  218. package/dist/commands/images/add.js +75 -75
  219. package/dist/commands/images/list.d.ts +14 -14
  220. package/dist/commands/images/list.js +71 -71
  221. package/dist/commands/images/patch.d.ts +14 -14
  222. package/dist/commands/images/patch.js +92 -92
  223. package/dist/commands/images/remove.d.ts +12 -12
  224. package/dist/commands/images/remove.js +37 -37
  225. package/dist/commands/images/version/bump.d.ts +18 -18
  226. package/dist/commands/images/version/bump.js +60 -60
  227. package/dist/commands/images/version.d.ts +16 -16
  228. package/dist/commands/images/version.js +64 -64
  229. package/dist/commands/init.d.ts +17 -17
  230. package/dist/commands/init.js +130 -130
  231. package/dist/commands/kit/create.d.ts +25 -25
  232. package/dist/commands/kit/create.js +141 -141
  233. package/dist/commands/login.d.ts +22 -22
  234. package/dist/commands/login.js +92 -92
  235. package/dist/commands/logout.d.ts +8 -8
  236. package/dist/commands/logout.js +36 -36
  237. package/dist/commands/merge.d.ts +12 -12
  238. package/dist/commands/merge.js +42 -42
  239. package/dist/commands/noc/cluster/create.d.ts +28 -28
  240. package/dist/commands/noc/cluster/create.js +132 -132
  241. package/dist/commands/noc/cluster/deinit.d.ts +17 -17
  242. package/dist/commands/noc/cluster/deinit.js +116 -116
  243. package/dist/commands/noc/cluster/destroy.d.ts +20 -20
  244. package/dist/commands/noc/cluster/destroy.js +137 -137
  245. package/dist/commands/noc/cluster/forget.d.ts +16 -16
  246. package/dist/commands/noc/cluster/forget.js +136 -136
  247. package/dist/commands/noc/cluster/grant.d.ts +24 -24
  248. package/dist/commands/noc/cluster/grant.js +159 -159
  249. package/dist/commands/noc/cluster/init.d.ts +17 -17
  250. package/dist/commands/noc/cluster/init.js +116 -116
  251. package/dist/commands/noc/cluster/list.d.ts +21 -21
  252. package/dist/commands/noc/cluster/list.js +83 -83
  253. package/dist/commands/noc/cluster/recreate.d.ts +28 -28
  254. package/dist/commands/noc/cluster/recreate.js +185 -185
  255. package/dist/commands/pkg/add.d.ts +15 -15
  256. package/dist/commands/pkg/add.js +42 -42
  257. package/dist/commands/pkg/list.d.ts +9 -9
  258. package/dist/commands/pkg/list.js +32 -32
  259. package/dist/commands/pkg/patch.d.ts +13 -13
  260. package/dist/commands/pkg/patch.js +78 -78
  261. package/dist/commands/pkg/remove.d.ts +12 -12
  262. package/dist/commands/pkg/remove.js +69 -69
  263. package/dist/commands/portal.d.ts +11 -11
  264. package/dist/commands/portal.js +81 -81
  265. package/dist/commands/publish.d.ts +21 -21
  266. package/dist/commands/publish.js +51 -51
  267. package/dist/commands/pull.d.ts +13 -13
  268. package/dist/commands/pull.js +29 -29
  269. package/dist/commands/push.d.ts +13 -13
  270. package/dist/commands/push.js +29 -29
  271. package/dist/commands/run.d.ts +35 -35
  272. package/dist/commands/run.js +193 -193
  273. package/dist/commands/secretStore/capture.d.ts +27 -27
  274. package/dist/commands/secretStore/capture.js +174 -174
  275. package/dist/commands/secretStore/forget.d.ts +20 -20
  276. package/dist/commands/secretStore/forget.js +146 -146
  277. package/dist/commands/stage.d.ts +13 -13
  278. package/dist/commands/stage.js +64 -64
  279. package/dist/commands/stash.d.ts +13 -13
  280. package/dist/commands/stash.js +30 -30
  281. package/dist/commands/status.d.ts +12 -12
  282. package/dist/commands/status.js +48 -48
  283. package/dist/commands/stop.d.ts +10 -10
  284. package/dist/commands/stop.js +51 -51
  285. package/dist/commands/switch.d.ts +11 -11
  286. package/dist/commands/switch.js +41 -41
  287. package/dist/commands/sync.d.ts +14 -14
  288. package/dist/commands/sync.js +20 -20
  289. package/dist/commands/tenant/create.d.ts +27 -27
  290. package/dist/commands/tenant/create.js +119 -119
  291. package/dist/commands/tenant/switch.d.ts +24 -24
  292. package/dist/commands/tenant/switch.js +108 -108
  293. package/dist/commands/unstage.d.ts +12 -12
  294. package/dist/commands/unstage.js +57 -57
  295. package/dist/commands/whereami.d.ts +15 -15
  296. package/dist/commands/whereami.js +122 -122
  297. package/dist/commands/whoami.d.ts +8 -8
  298. package/dist/commands/whoami.js +39 -39
  299. package/dist/errors/NoMembershipError.d.ts +8 -8
  300. package/dist/errors/NoMembershipError.js +14 -14
  301. package/dist/index.d.ts +1 -1
  302. package/dist/index.js +16 -16
  303. package/dist/log-update-wrapper.d.ts +24 -24
  304. package/dist/log-update-wrapper.js +28 -28
  305. package/dist/log4js-logger.d.ts +26 -26
  306. package/dist/log4js-logger.js +137 -137
  307. package/dist/log4js-logger.js.map +1 -1
  308. package/dist/ops/INTERFACES_CLI.d.ts +3 -3
  309. package/dist/ops/INTERFACES_CLI.js +7 -7
  310. package/dist/ops/LocalOps.d.ts +417 -417
  311. package/dist/ops/LocalOps.js +3121 -3121
  312. package/dist/ops/LocalOps.js.map +1 -1
  313. package/dist/ops/azure-container-registry-client/azure-container-registry-client.js +147 -147
  314. package/dist/ops/cli-path-walker.js +54 -54
  315. package/dist/ops/codiac-entities/dependency.d.ts +5 -5
  316. package/dist/ops/codiac-entities/dependency.js +10 -10
  317. package/dist/ops/codiac-entities/index.d.ts +1 -1
  318. package/dist/ops/codiac-entities/index.js +4 -4
  319. package/dist/ops/composite-image-registry-client.js +73 -73
  320. package/dist/ops/data/cli-context-repo.d.ts +61 -61
  321. package/dist/ops/data/cli-context-repo.js +269 -269
  322. package/dist/ops/data/cli-context-repo.js.map +1 -1
  323. package/dist/ops/data/index.d.ts +2 -2
  324. package/dist/ops/data/index.js +5 -5
  325. package/dist/ops/data/npm-config-repo.d.ts +13 -13
  326. package/dist/ops/data/npm-config-repo.js +64 -64
  327. package/dist/ops/docker-config.js +130 -130
  328. package/dist/ops/docker-constants.js +21 -21
  329. package/dist/ops/docker-credentials-store.js +237 -237
  330. package/dist/ops/docker-registry-api-client/docker-registry-api-client.js +288 -288
  331. package/dist/ops/docker-registry-api-client/entities/blob-sum.d.ts +7 -7
  332. package/dist/ops/docker-registry-api-client/entities/blob-sum.js +12 -12
  333. package/dist/ops/docker-registry-api-client/entities/docker-access-actions-enum.d.ts +5 -5
  334. package/dist/ops/docker-registry-api-client/entities/docker-access-actions-enum.js +9 -9
  335. package/dist/ops/docker-registry-api-client/entities/docker-auth-token-criteria.d.ts +30 -30
  336. package/dist/ops/docker-registry-api-client/entities/docker-auth-token-criteria.js +35 -35
  337. package/dist/ops/docker-registry-api-client/entities/i-docker-error-response.d.ts +55 -55
  338. package/dist/ops/docker-registry-api-client/entities/i-docker-error-response.js +51 -51
  339. package/dist/ops/docker-registry-api-client/entities/i-docker-list-response.d.ts +7 -7
  340. package/dist/ops/docker-registry-api-client/entities/i-docker-list-response.js +2 -2
  341. package/dist/ops/docker-registry-api-client/entities/image-repository.d.ts +31 -31
  342. package/dist/ops/docker-registry-api-client/entities/image-repository.js +29 -29
  343. package/dist/ops/docker-registry-api-client/entities/image-tag-criteria.d.ts +8 -8
  344. package/dist/ops/docker-registry-api-client/entities/image-tag-criteria.js +13 -13
  345. package/dist/ops/docker-registry-api-client/entities/image-tag-list.d.ts +7 -7
  346. package/dist/ops/docker-registry-api-client/entities/image-tag-list.js +12 -12
  347. package/dist/ops/docker-registry-api-client/entities/manifest-criteria.d.ts +9 -9
  348. package/dist/ops/docker-registry-api-client/entities/manifest-criteria.js +14 -14
  349. package/dist/ops/docker-registry-api-client/entities/manifest.d.ts +15 -15
  350. package/dist/ops/docker-registry-api-client/entities/manifest.js +20 -20
  351. package/dist/ops/docker-registry-api-client/entities/repository-criteria.d.ts +16 -16
  352. package/dist/ops/docker-registry-api-client/entities/repository-criteria.js +23 -23
  353. package/dist/ops/docker-registry-api-client/entities/token-response.d.ts +15 -15
  354. package/dist/ops/docker-registry-api-client/entities/token-response.js +14 -14
  355. package/dist/ops/docker-registry-api-client/entities/token.d.ts +17 -17
  356. package/dist/ops/docker-registry-api-client/entities/token.js +21 -21
  357. package/dist/ops/docker-registry-api-client/entities/version-check-criteria.d.ts +4 -4
  358. package/dist/ops/docker-registry-api-client/entities/version-check-criteria.js +9 -9
  359. package/dist/ops/dx-constants.d.ts +26 -26
  360. package/dist/ops/dx-constants.js +42 -42
  361. package/dist/ops/entities/ImageBuildContext.d.ts +12 -12
  362. package/dist/ops/entities/ImageBuildContext.js +18 -18
  363. package/dist/ops/entities/PipelineContext.d.ts +21 -21
  364. package/dist/ops/entities/PipelineContext.js +22 -22
  365. package/dist/ops/entities/TenantContext.d.ts +10 -10
  366. package/dist/ops/entities/TenantContext.js +15 -15
  367. package/dist/ops/entities/ThaulConfig.js +29 -29
  368. package/dist/ops/entities/azure-service-principal.d.ts +23 -23
  369. package/dist/ops/entities/azure-service-principal.js +23 -23
  370. package/dist/ops/entities/better-logger.js +1 -1
  371. package/dist/ops/entities/branch.d.ts +13 -13
  372. package/dist/ops/entities/branch.js +15 -15
  373. package/dist/ops/entities/cli-config.d.ts +48 -48
  374. package/dist/ops/entities/cli-config.js +60 -60
  375. package/dist/ops/entities/cli-config.js.map +1 -1
  376. package/dist/ops/entities/docker-image.d.ts +60 -60
  377. package/dist/ops/entities/docker-image.js +2 -2
  378. package/dist/ops/entities/helm-spec.d.ts +15 -15
  379. package/dist/ops/entities/helm-spec.js +22 -22
  380. package/dist/ops/entities/index.d.ts +4 -4
  381. package/dist/ops/entities/index.js +11 -11
  382. package/dist/ops/entities/operation-meta.d.ts +8 -8
  383. package/dist/ops/entities/operation-meta.js +18 -18
  384. package/dist/ops/entities/operation-meta.js.map +1 -1
  385. package/dist/ops/entities/scaffolding.d.ts +19 -19
  386. package/dist/ops/entities/scaffolding.js +20 -20
  387. package/dist/ops/extensions/azart-identity-adapter.d.ts +19 -19
  388. package/dist/ops/extensions/azart-identity-adapter.js +96 -96
  389. package/dist/ops/extensions/npm-identity-adapter-base.d.ts +13 -13
  390. package/dist/ops/extensions/npm-identity-adapter-base.js +2 -2
  391. package/dist/ops/extensions/npmjs-identity-adapter.d.ts +13 -13
  392. package/dist/ops/extensions/npmjs-identity-adapter.js +63 -63
  393. package/dist/ops/git-ops.d.ts +8 -8
  394. package/dist/ops/git-ops.js +13 -13
  395. package/dist/ops/i-client-for-image-registry.js +16 -16
  396. package/dist/ops/i-identity-handler.d.ts +33 -33
  397. package/dist/ops/i-identity-handler.js +164 -164
  398. package/dist/ops/i-output-styler.js +16 -16
  399. package/dist/ops/index.d.ts +12 -12
  400. package/dist/ops/index.js +14 -14
  401. package/dist/ops/json-utils.js +58 -58
  402. package/dist/ops/no-style-output-styler.js +29 -29
  403. package/dist/ops/oauth2-client.ts/oauth2-client.d.ts +23 -23
  404. package/dist/ops/oauth2-client.ts/oauth2-client.js +63 -63
  405. package/dist/ops/oauth2-client.ts/oauth2-client.js.map +1 -1
  406. package/dist/ops/project-initializer.d.ts +36 -36
  407. package/dist/ops/project-initializer.js +218 -218
  408. package/dist/ops/scaffolding/base-scaffolding.d.ts +7 -7
  409. package/dist/ops/scaffolding/base-scaffolding.js +20 -20
  410. package/dist/ops/scaffolding/base-scaffolding.js.map +1 -1
  411. package/dist/ops/scaffolding/codiac-api-scaffolding.d.ts +7 -7
  412. package/dist/ops/scaffolding/codiac-api-scaffolding.js +63 -63
  413. package/dist/ops/scaffolding/codiac-api-scaffolding.js.map +1 -1
  414. package/dist/ops/scaffolding/typescript-scaffolding.d.ts +15 -15
  415. package/dist/ops/scaffolding/typescript-scaffolding.js +162 -162
  416. package/dist/ops/scaffolding/typescript-scaffolding.js.map +1 -1
  417. package/dist/ops/test/mock-ui.d.ts +26 -26
  418. package/dist/ops/test/mock-ui.js +87 -87
  419. package/dist/ops/test/test-extensions.d.ts +13 -13
  420. package/dist/ops/test/test-extensions.js +70 -70
  421. package/dist/ops/test/when-a-recursive-file-search-is-run.spec.d.ts +2 -2
  422. package/dist/ops/test/when-a-recursive-file-search-is-run.spec.js +54 -54
  423. package/dist/ops/test/when-git-branchline-is-attempted.spec.d.ts +2 -2
  424. package/dist/ops/test/when-git-branchline-is-attempted.spec.js +37 -37
  425. package/dist/ops/test/when-versions-are-parsed.spec.d.ts +2 -2
  426. package/dist/ops/test/when-versions-are-parsed.spec.js +61 -61
  427. package/dist/ops/throwing-user-input-provider.js +36 -36
  428. package/dist/ops/workspace-versioner.d.ts +122 -122
  429. package/dist/ops/workspace-versioner.js +291 -291
  430. package/dist/ops/workspace-versioner.js.map +1 -1
  431. package/dist/prettify.d.ts +7 -7
  432. package/dist/prettify.js +23 -23
  433. package/dist/read-stdin.d.ts +2 -2
  434. package/dist/read-stdin.js +28 -28
  435. package/dist/relay/contracts/contracts.d.ts +207 -207
  436. package/dist/relay/contracts/contracts.js +229 -229
  437. package/dist/relay/extended-relay-client.d.ts +27 -27
  438. package/dist/relay/extended-relay-client.js +27 -27
  439. package/dist/relay/relay-container.d.ts +41 -41
  440. package/dist/relay/relay-container.js +297 -297
  441. package/dist/relay/relay-container.js.map +1 -1
  442. package/dist/relay/wsclient/relay-socket-listener.d.ts +68 -68
  443. package/dist/relay/wsclient/relay-socket-listener.js +164 -164
  444. package/dist/relay/wsclient/relay-socket-listener.js.map +1 -1
  445. package/dist/relay/wsclient/relay-websocket-client.d.ts +33 -33
  446. package/dist/relay/wsclient/relay-websocket-client.js +178 -178
  447. package/dist/relay/wsclient/relay-websocket-client.js.map +1 -1
  448. package/dist/relay/wsclient/rx-websocket-subject.d.ts +25 -25
  449. package/dist/relay/wsclient/rx-websocket-subject.js +133 -133
  450. package/dist/relay/wsclient/rx-websocket-subject.js.map +1 -1
  451. package/dist/relay/wsclient/socket-contracts.d.ts +22 -22
  452. package/dist/relay/wsclient/socket-contracts.js +2 -2
  453. package/dist/standard-probes.d.ts +5 -5
  454. package/dist/standard-probes.js +21 -21
  455. package/dist/uilogic/build-configurator.d.ts +21 -21
  456. package/dist/uilogic/build-configurator.js +110 -110
  457. package/dist/uilogic/cloud-provider-contextualizer.d.ts +46 -46
  458. package/dist/uilogic/cloud-provider-contextualizer.js +193 -193
  459. package/dist/uilogic/cloud-provider-contextualizer.js.map +1 -1
  460. package/dist/uilogic/cloud-resource-configurator-factory.d.ts +41 -41
  461. package/dist/uilogic/cloud-resource-configurator-factory.js +157 -157
  462. package/dist/uilogic/cloud-resource-configurator-factory.js.map +1 -1
  463. package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.d.ts +38 -38
  464. package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.js +347 -347
  465. package/dist/uilogic/cloud-resource-configurators/aws-resource-configurator.js.map +1 -1
  466. package/dist/uilogic/cloud-resource-configurators/az-acr-cli-authenticator.js +77 -77
  467. package/dist/uilogic/cloud-resource-configurators/az-interactive-login-configurator.d.ts +42 -42
  468. package/dist/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js +247 -247
  469. package/dist/uilogic/cloud-resource-configurators/az-interactive-login-configurator.js.map +1 -1
  470. package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.d.ts +110 -110
  471. package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.js +781 -781
  472. package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.js.map +1 -1
  473. package/dist/uilogic/cloud-resource-configurators/azure-types.js +9 -9
  474. package/dist/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.d.ts +24 -24
  475. package/dist/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js +105 -105
  476. package/dist/uilogic/cloud-resource-configurators/docker-hub-resource-configurator.js.map +1 -1
  477. package/dist/uilogic/cloud-resource-configurators/helm-resource-configurator.d.ts +16 -16
  478. package/dist/uilogic/cloud-resource-configurators/helm-resource-configurator.js +44 -44
  479. package/dist/uilogic/cloud-resource-configurators/helm-resource-configurator.js.map +1 -1
  480. package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.d.ts +18 -18
  481. package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js +61 -61
  482. package/dist/uilogic/cloud-resource-configurators/unsupported-resource-configurator.js.map +1 -1
  483. package/dist/uilogic/enterprise-contextualizer.d.ts +76 -76
  484. package/dist/uilogic/enterprise-contextualizer.js +670 -670
  485. package/dist/uilogic/environment-contextualizer.d.ts +15 -15
  486. package/dist/uilogic/environment-contextualizer.js +42 -42
  487. package/dist/uilogic/i-cluster-configurator.d.ts +9 -9
  488. package/dist/uilogic/i-cluster-configurator.js +2 -2
  489. package/dist/uilogic/i-login-configurator.d.ts +6 -6
  490. package/dist/uilogic/i-login-configurator.js +2 -2
  491. package/dist/uilogic/i-registry-configurator.d.ts +6 -6
  492. package/dist/uilogic/i-registry-configurator.js +2 -2
  493. package/dist/uilogic/i-secret-store-configurator.d.ts +7 -7
  494. package/dist/uilogic/i-secret-store-configurator.js +2 -2
  495. package/dist/uilogic/image-configurator.d.ts +133 -133
  496. package/dist/uilogic/image-configurator.js +577 -577
  497. package/dist/uilogic/image-configurator.js.map +1 -1
  498. package/dist/uilogic/image-contextualizer.d.ts +24 -24
  499. package/dist/uilogic/image-contextualizer.js +89 -89
  500. package/dist/uilogic/image-contextualizer.js.map +1 -1
  501. package/dist/uilogic/image-registry-contextualizer.d.ts +28 -28
  502. package/dist/uilogic/image-registry-contextualizer.js +126 -126
  503. package/dist/uilogic/image-registry-contextualizer.js.map +1 -1
  504. package/dist/uilogic/index.d.ts +9 -9
  505. package/dist/uilogic/index.js +13 -13
  506. package/dist/uilogic/prompt-select-fuzzy.js +138 -138
  507. package/dist/uilogic/render-methods.d.ts +12 -12
  508. package/dist/uilogic/render-methods.js +64 -64
  509. package/dist/uilogic/tenant-contextualizer.d.ts +79 -79
  510. package/dist/uilogic/tenant-contextualizer.js +577 -577
  511. package/dist/user-context-loader.d.ts +60 -60
  512. package/dist/user-context-loader.js +183 -183
  513. package/oclif.manifest.json +1 -67
  514. package/package.json +149 -149
  515. package/scaffolding/api/.gitignore-scaffolding +68 -68
  516. package/scaffolding/api/.vscode/launch.json +16 -16
  517. package/scaffolding/api/.vscode/settings.json +7 -7
  518. package/scaffolding/api/.vscode/tasks.json +15 -15
  519. package/scaffolding/api/src/app-config.json +2 -2
  520. package/scaffolding/api/src/index.ts-scaffolding +13 -13
  521. package/scaffolding/api/src/myApiDef.ts-scaffolding +25 -25
  522. package/scaffolding/default/.gitignore-scaffolding +2 -2
  523. package/scaffolding/typescript/.gitignore-scaffolding +69 -69
  524. package/scaffolding/typescript/.vscode/launch.json +16 -16
  525. package/scaffolding/typescript/.vscode/settings.json +7 -7
  526. package/scaffolding/typescript/.vscode/tasks.json +15 -15
  527. package/dist/commands/test.d.ts +0 -13
  528. package/dist/commands/test.js +0 -32
  529. package/dist/commands/test.js.map +0 -1
  530. package/dist/commands/testent.d.ts +0 -13
  531. package/dist/commands/testent.js +0 -33
  532. package/dist/commands/testent.js.map +0 -1
package/bin/dev CHANGED
@@ -1,17 +1,17 @@
1
- #!/usr/bin/env node
2
-
3
- const oclif = require('@oclif/core')
4
-
5
- const path = require('path')
6
- const project = path.join(__dirname, '..', 'tsconfig.json')
7
-
8
- // In dev mode -> use ts-node and dev plugins
9
- process.env.NODE_ENV = 'development'
10
-
11
- require('ts-node').register({ project })
12
-
13
- // In dev mode, always show stack traces
14
- oclif.settings.debug = true;
15
-
16
- // Start the CLI
1
+ #!/usr/bin/env node
2
+
3
+ const oclif = require('@oclif/core')
4
+
5
+ const path = require('path')
6
+ const project = path.join(__dirname, '..', 'tsconfig.json')
7
+
8
+ // In dev mode -> use ts-node and dev plugins
9
+ process.env.NODE_ENV = 'development'
10
+
11
+ require('ts-node').register({ project })
12
+
13
+ // In dev mode, always show stack traces
14
+ oclif.settings.debug = true;
15
+
16
+ // Start the CLI
17
17
  oclif.run().then(oclif.flush).catch(oclif.Errors.handle)
package/bin/dev.cmd CHANGED
@@ -1,3 +1,3 @@
1
- @echo off
2
-
1
+ @echo off
2
+
3
3
  node "%~dp0\dev" %*
package/bin/run CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
-
3
- const oclif = require('@oclif/core')
4
-
2
+
3
+ const oclif = require('@oclif/core')
4
+
5
5
  oclif.run().then(require('@oclif/core/flush')).catch(require('@oclif/core/handle'))
package/bin/run.cmd CHANGED
@@ -1,3 +1,3 @@
1
- @echo off
2
-
3
- node "%~dp0\run" %*
1
+ @echo off
2
+
3
+ node "%~dp0\run" %*
@@ -1,165 +1,165 @@
1
- import { AxiosResponse } from "axios";
2
- import { Container } from "inversify";
3
- import { classDef, stringDictionary, ISerializer, typeRef, httpRestVerb } from "@codiac.io/codiac-common";
4
- import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
5
- import { endpointSpec } from './endpoint-spec';
6
- export declare class TypeName {
7
- static endpointSpec<T>(entityType: classDef<T> | string): string;
8
- static arrayOf<T>(entityType: classDef<T> | string): string;
9
- static criteriaFor<T>(entityType: classDef<T> | string): string;
10
- }
11
- export declare abstract class ApiClientBase {
12
- authToken?: string | undefined;
13
- static endpointSpecs: Container;
14
- static serializers: Container;
15
- static bootstrap_base(endpointsJson: any[], logger?: IBetterLogger): void;
16
- /** For special serializers (eg: StringFilter, etc).
17
- * Maps the given serializer for use on the given type
18
- * when later converting input to an http request.
19
- * NOTE: a default serializer will be used if reqd and none has been registered here.
20
- */
21
- static registerSerializerFor<T>(valueType: classDef<T> | string, serializer: ISerializer): void;
22
- /** Returns undefined when no serializer has been registered for the given valueType. */
23
- static getSerializerFor(valueType: typeRef | string): ISerializer | undefined;
24
- /** Applied to this.tokenHeaderParam in the ctor.
25
- * Typical name of the http request header that declares the authentication token for the request. */
26
- static DEFAULT_TOKEN_HEADER_PARAM: string;
27
- /** Local interface for a remote Api.
28
- * @param apiRootUrl Override for this.GetDefaultRootUrl(). Fully qualified base url of the api. That is, prepending it to any individual endpoint route will yield the fully qualified url for that endpoint.
29
- * @param authToken User token for the api this client is targeting.
30
- * NOTE: Also must get hydrated if child class runs successful attempts of authenticate / refreshToken / switchTenant / registerTenant.
31
- */
32
- constructor(logger: IBetterLogger, apiRootUrl?: string, authToken?: string | undefined);
33
- readonly apiRootUrl: string;
34
- /** The name of the http request header that declares the authentication token for the request.
35
- * NOTE: This gets set to DEFAULT_TOKEN_HEADER_NAME in the ctor of ApiClientBase,
36
- * so child classes can override it in their own ctor AFTER calling super(). */
37
- protected tokenHeaderName: string;
38
- /** Applied when apiRootUrl is not passed to the ApiClientBase ctor.
39
- * The fully qualified url to use as the base for all endpoint paths in the api,
40
- * SUGGESTION: Try to load the root url from a config file,
41
- * and default to a hard-coded publicly available test environment for the api,
42
- * and ship with a config file pointing to the production url. */
43
- protected abstract GetDefaultRootUrl(): string;
44
- protected logger: IBetterLogger;
45
- /** Sets the user context to impersonate in requests made to the api. */
46
- setUserToken(token: string): void;
47
- /** Retrieves the registered endpoint spec for the given request type and httpMethod.
48
- * Throws exception if the given entity type and http method are not found.
49
- */
50
- getEndpointFor<TRequest>(entityType: classDef<TRequest> | string, httpMethod: httpRestVerb): endpointSpec<TRequest>;
51
- /** Produces the value for the "Authorization" http header in an RFC 2617 Basic Authentication scheme.
52
- * Consists of the string "Basic " followed by a colon-separated, base64 encoded string of the username and password.
53
- * eg: for userid "Aladdin" and password "open sesame", this function will return "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==".
54
- * @see https://tools.ietf.org/html/rfc2617#page-4 RFC 2617 HTTP Authentication - Assembling the header value for a basic authentication request. */
55
- protected static buildBasicAuthenticationHeader(userName: string, passwordOrApiKey: string): string;
56
- /** Fires off an http request to the remote api.
57
- * Throws any encountered exceptions
58
- * (api exceptions dont get raised: they get passed back in the response envelope).
59
- *
60
- * @param httpVerb
61
- * @param url Can be relative to this.apiBaseUrl or fully qualified.
62
- * @param req
63
- * @param headers
64
- */
65
- makeHttpCall<TRequest, TResponse>(httpVerb: httpRestVerb, url: string, req?: Object, headers?: {
66
- [key: string]: string;
67
- }): Promise<TResponse>;
68
- /** Fires off an http request to the remote api,
69
- * AND RETURNS THE ENTIRE AXIOS RESPONSE.
70
- * Throws any encountered exceptions
71
- * (api exceptions dont get raised: they get passed back in the response envelope).
72
- *
73
- * @param httpVerb
74
- * @param url Can be relative to this.apiBaseUrl or fully qualified.
75
- * @param req
76
- * @param headers
77
- */
78
- makeRawHttpCall<TRequest, TResponse>(httpVerb: httpRestVerb, url: string, req: Object, headers?: {
79
- [key: string]: string;
80
- }): Promise<AxiosResponse<TResponse>>;
81
- /** Performs replacements on the route using
82
- * the matching values from the given request object
83
- * @param route The relative url path for the endpoint including route tokens.
84
- * @param applyRemainingToQuerystring (default: false) When set, adds querystring params
85
- * for every property on the entity that was not already applied to a route token.
86
- * */
87
- buildUrl(route: string, request: any, applyRemainingToQuerystring?: boolean): string;
88
- /** Returns an object containing only properties with primitive values;
89
- * no objects, or functions.
90
- *
91
- * NOTE: DOES include null values (which javascript still considers objects)
92
- *
93
- * @see [The world picking up the slack on this failure](https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript/8511350#8511350)
94
- */
95
- private extractPrimitiveProperties;
96
- /** Serializes property values of the given entity
97
- * whose types have a registered serializer. */
98
- applyPropertySerializers(entity: any, serializerMap: stringDictionary): any;
99
- /** Safe to blindly append this to an existing url tat does not yet have a querystring.
100
- * Returns "?" character if the given obj has properties.
101
- * Returns "" if the given obj is undefined or empty. */
102
- private createQueryStringFrom;
103
- /** Creates a new object from the given object without the given property paths */
104
- private omit;
105
- /** Very generic method for executing a POST operation against the api
106
- * from an endpoint definition in the registered endpoints collection.
107
- * Hydrates any route parameters or required headers for the endpoint
108
- * from the given requestContract and routeValues objects.
109
- * Throws any exceptions
110
- * (because it cant guarantee a response envelope that declares
111
- * errors and successes, it cant implement a "try" pattern).
112
- * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
113
- */
114
- post<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
115
- /** Very generic method for executing a PUT operation against the api
116
- * from an endpoint definition in the registered endpoints collection.
117
- * Hydrates any route parameters or required headers for the endpoint
118
- * from the given requestContract and routeValues objects.
119
- * Throws any exceptions
120
- * (because it cant guarantee a response envelope that declares
121
- * errors and successes, it cant implement a "try" pattern).
122
- * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
123
- */
124
- put<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
125
- /** Very generic method for executing a GET operation against the api
126
- * from an endpoint definition in the registered endpoints collection.
127
- * Hydrates any route parameters or required headers for the endpoint
128
- * from the given requestContract and routeValues objects.
129
- * Throws any exceptions
130
- * (because it cant guarantee a response envelope that declares
131
- * errors and successes, it cant implement a "try" pattern).
132
- * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
133
- */
134
- get<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
135
- /** Very generic method for executing a PATCH operation against the api
136
- * from an endpoint definition in the registered endpoints collection.
137
- * Hydrates any route parameters or required headers for the endpoint
138
- * from the given requestContract and routeValues objects.
139
- * Throws any exceptions
140
- * (because it cant guarantee a response envelope that declares
141
- * errors and successes, it cant implement a "try" pattern).
142
- * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
143
- */
144
- patch<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
145
- /** Very generic method for executing a DELETE operation against the api
146
- * from an endpoint definition in the registered endpoints collection.
147
- * Hydrates any route parameters or required headers for the endpoint
148
- * from the given requestContract and routeValues objects.
149
- * Throws any exceptions
150
- * (because it cant guarantee a response envelope that declares
151
- * errors and successes, it cant implement a "try" pattern).
152
- * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
153
- */
154
- delete<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
155
- /** Very generic method for executing an http operation against the api
156
- * from an endpoint definition in the registered endpoints collection.
157
- * Hydrates any route parameters or required headers for the endpoint
158
- * from the given requestContract and routeValues objects.
159
- * Throws any exceptions
160
- * (because it cant guarantee a response envelope that declares
161
- * errors and successes, it cant implement a "try" pattern).
162
- * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
163
- */
164
- protected hitConfiguredEndpoint<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, httpVerb: httpRestVerb, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
165
- }
1
+ import { AxiosResponse } from "axios";
2
+ import { Container } from "inversify";
3
+ import { classDef, stringDictionary, ISerializer, typeRef, httpRestVerb } from "@codiac.io/codiac-common";
4
+ import { IBetterLogger } from '@codiac.io/codiac-common/IBetterLogger';
5
+ import { endpointSpec } from './endpoint-spec';
6
+ export declare class TypeName {
7
+ static endpointSpec<T>(entityType: classDef<T> | string): string;
8
+ static arrayOf<T>(entityType: classDef<T> | string): string;
9
+ static criteriaFor<T>(entityType: classDef<T> | string): string;
10
+ }
11
+ export declare abstract class ApiClientBase {
12
+ authToken?: string | undefined;
13
+ static endpointSpecs: Container;
14
+ static serializers: Container;
15
+ static bootstrap_base(endpointsJson: any[], logger?: IBetterLogger): void;
16
+ /** For special serializers (eg: StringFilter, etc).
17
+ * Maps the given serializer for use on the given type
18
+ * when later converting input to an http request.
19
+ * NOTE: a default serializer will be used if reqd and none has been registered here.
20
+ */
21
+ static registerSerializerFor<T>(valueType: classDef<T> | string, serializer: ISerializer): void;
22
+ /** Returns undefined when no serializer has been registered for the given valueType. */
23
+ static getSerializerFor(valueType: typeRef | string): ISerializer | undefined;
24
+ /** Applied to this.tokenHeaderParam in the ctor.
25
+ * Typical name of the http request header that declares the authentication token for the request. */
26
+ static DEFAULT_TOKEN_HEADER_PARAM: string;
27
+ /** Local interface for a remote Api.
28
+ * @param apiRootUrl Override for this.GetDefaultRootUrl(). Fully qualified base url of the api. That is, prepending it to any individual endpoint route will yield the fully qualified url for that endpoint.
29
+ * @param authToken User token for the api this client is targeting.
30
+ * NOTE: Also must get hydrated if child class runs successful attempts of authenticate / refreshToken / switchTenant / registerTenant.
31
+ */
32
+ constructor(logger: IBetterLogger, apiRootUrl?: string, authToken?: string | undefined);
33
+ readonly apiRootUrl: string;
34
+ /** The name of the http request header that declares the authentication token for the request.
35
+ * NOTE: This gets set to DEFAULT_TOKEN_HEADER_NAME in the ctor of ApiClientBase,
36
+ * so child classes can override it in their own ctor AFTER calling super(). */
37
+ protected tokenHeaderName: string;
38
+ /** Applied when apiRootUrl is not passed to the ApiClientBase ctor.
39
+ * The fully qualified url to use as the base for all endpoint paths in the api,
40
+ * SUGGESTION: Try to load the root url from a config file,
41
+ * and default to a hard-coded publicly available test environment for the api,
42
+ * and ship with a config file pointing to the production url. */
43
+ protected abstract GetDefaultRootUrl(): string;
44
+ protected logger: IBetterLogger;
45
+ /** Sets the user context to impersonate in requests made to the api. */
46
+ setUserToken(token: string): void;
47
+ /** Retrieves the registered endpoint spec for the given request type and httpMethod.
48
+ * Throws exception if the given entity type and http method are not found.
49
+ */
50
+ getEndpointFor<TRequest>(entityType: classDef<TRequest> | string, httpMethod: httpRestVerb): endpointSpec<TRequest>;
51
+ /** Produces the value for the "Authorization" http header in an RFC 2617 Basic Authentication scheme.
52
+ * Consists of the string "Basic " followed by a colon-separated, base64 encoded string of the username and password.
53
+ * eg: for userid "Aladdin" and password "open sesame", this function will return "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==".
54
+ * @see https://tools.ietf.org/html/rfc2617#page-4 RFC 2617 HTTP Authentication - Assembling the header value for a basic authentication request. */
55
+ protected static buildBasicAuthenticationHeader(userName: string, passwordOrApiKey: string): string;
56
+ /** Fires off an http request to the remote api.
57
+ * Throws any encountered exceptions
58
+ * (api exceptions dont get raised: they get passed back in the response envelope).
59
+ *
60
+ * @param httpVerb
61
+ * @param url Can be relative to this.apiBaseUrl or fully qualified.
62
+ * @param req
63
+ * @param headers
64
+ */
65
+ makeHttpCall<TRequest, TResponse>(httpVerb: httpRestVerb, url: string, req?: Object, headers?: {
66
+ [key: string]: string;
67
+ }): Promise<TResponse>;
68
+ /** Fires off an http request to the remote api,
69
+ * AND RETURNS THE ENTIRE AXIOS RESPONSE.
70
+ * Throws any encountered exceptions
71
+ * (api exceptions dont get raised: they get passed back in the response envelope).
72
+ *
73
+ * @param httpVerb
74
+ * @param url Can be relative to this.apiBaseUrl or fully qualified.
75
+ * @param req
76
+ * @param headers
77
+ */
78
+ makeRawHttpCall<TRequest, TResponse>(httpVerb: httpRestVerb, url: string, req: Object, headers?: {
79
+ [key: string]: string;
80
+ }): Promise<AxiosResponse<TResponse>>;
81
+ /** Performs replacements on the route using
82
+ * the matching values from the given request object
83
+ * @param route The relative url path for the endpoint including route tokens.
84
+ * @param applyRemainingToQuerystring (default: false) When set, adds querystring params
85
+ * for every property on the entity that was not already applied to a route token.
86
+ * */
87
+ buildUrl(route: string, request: any, applyRemainingToQuerystring?: boolean): string;
88
+ /** Returns an object containing only properties with primitive values;
89
+ * no objects, or functions.
90
+ *
91
+ * NOTE: DOES include null values (which javascript still considers objects)
92
+ *
93
+ * @see [The world picking up the slack on this failure](https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript/8511350#8511350)
94
+ */
95
+ private extractPrimitiveProperties;
96
+ /** Serializes property values of the given entity
97
+ * whose types have a registered serializer. */
98
+ applyPropertySerializers(entity: any, serializerMap: stringDictionary): any;
99
+ /** Safe to blindly append this to an existing url tat does not yet have a querystring.
100
+ * Returns "?" character if the given obj has properties.
101
+ * Returns "" if the given obj is undefined or empty. */
102
+ private createQueryStringFrom;
103
+ /** Creates a new object from the given object without the given property paths */
104
+ private omit;
105
+ /** Very generic method for executing a POST operation against the api
106
+ * from an endpoint definition in the registered endpoints collection.
107
+ * Hydrates any route parameters or required headers for the endpoint
108
+ * from the given requestContract and routeValues objects.
109
+ * Throws any exceptions
110
+ * (because it cant guarantee a response envelope that declares
111
+ * errors and successes, it cant implement a "try" pattern).
112
+ * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
113
+ */
114
+ post<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
115
+ /** Very generic method for executing a PUT operation against the api
116
+ * from an endpoint definition in the registered endpoints collection.
117
+ * Hydrates any route parameters or required headers for the endpoint
118
+ * from the given requestContract and routeValues objects.
119
+ * Throws any exceptions
120
+ * (because it cant guarantee a response envelope that declares
121
+ * errors and successes, it cant implement a "try" pattern).
122
+ * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
123
+ */
124
+ put<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
125
+ /** Very generic method for executing a GET operation against the api
126
+ * from an endpoint definition in the registered endpoints collection.
127
+ * Hydrates any route parameters or required headers for the endpoint
128
+ * from the given requestContract and routeValues objects.
129
+ * Throws any exceptions
130
+ * (because it cant guarantee a response envelope that declares
131
+ * errors and successes, it cant implement a "try" pattern).
132
+ * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
133
+ */
134
+ get<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
135
+ /** Very generic method for executing a PATCH operation against the api
136
+ * from an endpoint definition in the registered endpoints collection.
137
+ * Hydrates any route parameters or required headers for the endpoint
138
+ * from the given requestContract and routeValues objects.
139
+ * Throws any exceptions
140
+ * (because it cant guarantee a response envelope that declares
141
+ * errors and successes, it cant implement a "try" pattern).
142
+ * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
143
+ */
144
+ patch<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
145
+ /** Very generic method for executing a DELETE operation against the api
146
+ * from an endpoint definition in the registered endpoints collection.
147
+ * Hydrates any route parameters or required headers for the endpoint
148
+ * from the given requestContract and routeValues objects.
149
+ * Throws any exceptions
150
+ * (because it cant guarantee a response envelope that declares
151
+ * errors and successes, it cant implement a "try" pattern).
152
+ * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
153
+ */
154
+ delete<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
155
+ /** Very generic method for executing an http operation against the api
156
+ * from an endpoint definition in the registered endpoints collection.
157
+ * Hydrates any route parameters or required headers for the endpoint
158
+ * from the given requestContract and routeValues objects.
159
+ * Throws any exceptions
160
+ * (because it cant guarantee a response envelope that declares
161
+ * errors and successes, it cant implement a "try" pattern).
162
+ * @param routeValues Additional key value pairs (beyond the requestContract) to apply to any route parameters for the endpoint.
163
+ */
164
+ protected hitConfiguredEndpoint<TRequest extends Object, TResponse>(requestType: classDef<TRequest>, httpVerb: httpRestVerb, requestContract: TRequest, routeValues?: any): Promise<TResponse>;
165
+ }