heroku 11.0.0-alpha.11 → 11.0.0-alpha.13

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 (895) hide show
  1. package/README.md +17 -2
  2. package/lib/commands/access/add.d.ts +5 -5
  3. package/lib/commands/access/add.js +13 -13
  4. package/lib/commands/access/index.d.ts +2 -2
  5. package/lib/commands/access/index.js +7 -8
  6. package/lib/commands/access/remove.d.ts +1 -1
  7. package/lib/commands/access/remove.js +5 -5
  8. package/lib/commands/access/update.d.ts +5 -5
  9. package/lib/commands/access/update.js +9 -9
  10. package/lib/commands/accounts/add.d.ts +1 -1
  11. package/lib/commands/accounts/add.js +3 -2
  12. package/lib/commands/accounts/current.js +4 -5
  13. package/lib/commands/accounts/index.js +2 -1
  14. package/lib/commands/accounts/remove.d.ts +1 -1
  15. package/lib/commands/accounts/remove.js +3 -2
  16. package/lib/commands/accounts/set.d.ts +1 -1
  17. package/lib/commands/accounts/set.js +3 -2
  18. package/lib/commands/addons/attach.d.ts +6 -6
  19. package/lib/commands/addons/attach.js +14 -14
  20. package/lib/commands/addons/create.d.ts +9 -10
  21. package/lib/commands/addons/create.js +31 -29
  22. package/lib/commands/addons/destroy.d.ts +9 -9
  23. package/lib/commands/addons/destroy.js +19 -19
  24. package/lib/commands/addons/detach.d.ts +4 -4
  25. package/lib/commands/addons/detach.js +9 -9
  26. package/lib/commands/addons/docs.d.ts +5 -5
  27. package/lib/commands/addons/docs.js +9 -9
  28. package/lib/commands/addons/index.d.ts +5 -5
  29. package/lib/commands/addons/index.js +32 -30
  30. package/lib/commands/addons/info.d.ts +4 -4
  31. package/lib/commands/addons/info.js +18 -14
  32. package/lib/commands/addons/open.d.ts +26 -27
  33. package/lib/commands/addons/open.js +21 -24
  34. package/lib/commands/addons/rename.d.ts +2 -2
  35. package/lib/commands/addons/rename.js +6 -6
  36. package/lib/commands/addons/services.d.ts +1 -1
  37. package/lib/commands/addons/services.js +5 -4
  38. package/lib/commands/addons/upgrade.d.ts +10 -11
  39. package/lib/commands/addons/upgrade.js +74 -70
  40. package/lib/commands/addons/wait.d.ts +5 -5
  41. package/lib/commands/addons/wait.js +10 -10
  42. package/lib/commands/apps/create.d.ts +12 -12
  43. package/lib/commands/apps/create.js +50 -58
  44. package/lib/commands/apps/destroy.d.ts +6 -6
  45. package/lib/commands/apps/destroy.js +10 -10
  46. package/lib/commands/apps/errors.d.ts +3 -3
  47. package/lib/commands/apps/errors.js +24 -12
  48. package/lib/commands/apps/favorites/add.d.ts +1 -1
  49. package/lib/commands/apps/favorites/add.js +4 -4
  50. package/lib/commands/apps/favorites/index.d.ts +1 -1
  51. package/lib/commands/apps/favorites/index.js +4 -4
  52. package/lib/commands/apps/favorites/remove.d.ts +1 -1
  53. package/lib/commands/apps/favorites/remove.js +3 -3
  54. package/lib/commands/apps/index.d.ts +4 -4
  55. package/lib/commands/apps/index.js +21 -21
  56. package/lib/commands/apps/info.d.ts +8 -8
  57. package/lib/commands/apps/info.js +31 -31
  58. package/lib/commands/apps/join.d.ts +2 -2
  59. package/lib/commands/apps/join.js +3 -3
  60. package/lib/commands/apps/leave.d.ts +1 -1
  61. package/lib/commands/apps/leave.js +3 -3
  62. package/lib/commands/apps/lock.d.ts +2 -2
  63. package/lib/commands/apps/lock.js +5 -5
  64. package/lib/commands/apps/open.d.ts +5 -5
  65. package/lib/commands/apps/open.js +11 -9
  66. package/lib/commands/apps/rename.d.ts +6 -6
  67. package/lib/commands/apps/rename.js +13 -13
  68. package/lib/commands/apps/stacks/index.d.ts +2 -2
  69. package/lib/commands/apps/stacks/index.js +5 -6
  70. package/lib/commands/apps/stacks/set.d.ts +4 -4
  71. package/lib/commands/apps/stacks/set.js +9 -9
  72. package/lib/commands/apps/transfer.d.ts +8 -8
  73. package/lib/commands/apps/transfer.js +33 -32
  74. package/lib/commands/apps/unlock.d.ts +2 -2
  75. package/lib/commands/apps/unlock.js +3 -3
  76. package/lib/commands/auth/2fa/disable.d.ts +1 -1
  77. package/lib/commands/auth/2fa/disable.js +3 -2
  78. package/lib/commands/auth/2fa/index.d.ts +1 -1
  79. package/lib/commands/auth/2fa/index.js +4 -4
  80. package/lib/commands/auth/login.d.ts +3 -3
  81. package/lib/commands/auth/login.js +6 -6
  82. package/lib/commands/auth/logout.js +1 -0
  83. package/lib/commands/auth/token.js +4 -2
  84. package/lib/commands/authorizations/create.js +2 -1
  85. package/lib/commands/authorizations/index.js +3 -4
  86. package/lib/commands/authorizations/revoke.d.ts +2 -2
  87. package/lib/commands/authorizations/revoke.js +6 -6
  88. package/lib/commands/autocomplete/create.d.ts +29 -0
  89. package/lib/commands/autocomplete/create.js +223 -0
  90. package/lib/commands/autocomplete/doctor.d.ts +12 -0
  91. package/lib/commands/autocomplete/doctor.js +111 -0
  92. package/lib/commands/autocomplete/index.d.ts +12 -0
  93. package/lib/commands/autocomplete/index.js +65 -0
  94. package/lib/commands/autocomplete/options.d.ts +25 -0
  95. package/lib/commands/autocomplete/options.js +208 -0
  96. package/lib/commands/autocomplete/script.d.ts +10 -0
  97. package/lib/commands/autocomplete/script.js +20 -0
  98. package/lib/commands/buildpacks/index.js +2 -3
  99. package/lib/commands/buildpacks/remove.d.ts +4 -4
  100. package/lib/commands/buildpacks/remove.js +9 -8
  101. package/lib/commands/certs/add.d.ts +8 -8
  102. package/lib/commands/certs/add.js +27 -29
  103. package/lib/commands/certs/auto/disable.d.ts +2 -2
  104. package/lib/commands/certs/auto/disable.js +4 -4
  105. package/lib/commands/certs/auto/enable.d.ts +2 -2
  106. package/lib/commands/certs/auto/enable.js +8 -9
  107. package/lib/commands/certs/auto/index.d.ts +2 -2
  108. package/lib/commands/certs/auto/index.js +16 -17
  109. package/lib/commands/certs/generate.d.ts +2 -3
  110. package/lib/commands/certs/generate.js +1 -2
  111. package/lib/commands/certs/index.d.ts +1 -1
  112. package/lib/commands/certs/index.js +3 -3
  113. package/lib/commands/certs/info.d.ts +4 -4
  114. package/lib/commands/certs/info.js +6 -6
  115. package/lib/commands/certs/remove.d.ts +3 -3
  116. package/lib/commands/certs/remove.js +5 -5
  117. package/lib/commands/certs/update.d.ts +8 -8
  118. package/lib/commands/certs/update.js +19 -19
  119. package/lib/commands/ci/config/get.d.ts +5 -5
  120. package/lib/commands/ci/config/get.js +8 -8
  121. package/lib/commands/ci/config/index.d.ts +2 -2
  122. package/lib/commands/ci/config/index.js +8 -9
  123. package/lib/commands/ci/config/set.d.ts +2 -2
  124. package/lib/commands/ci/config/set.js +10 -10
  125. package/lib/commands/ci/config/unset.d.ts +3 -3
  126. package/lib/commands/ci/config/unset.js +6 -5
  127. package/lib/commands/ci/index.d.ts +2 -2
  128. package/lib/commands/ci/index.js +5 -4
  129. package/lib/commands/ci/info.js +3 -2
  130. package/lib/commands/ci/last.d.ts +1 -1
  131. package/lib/commands/ci/last.js +4 -3
  132. package/lib/commands/ci/migrate-manifest.d.ts +1 -1
  133. package/lib/commands/ci/migrate-manifest.js +4 -4
  134. package/lib/commands/ci/open.d.ts +2 -2
  135. package/lib/commands/ci/open.js +4 -3
  136. package/lib/commands/ci/rerun.d.ts +4 -4
  137. package/lib/commands/ci/rerun.js +9 -8
  138. package/lib/commands/ci/run.d.ts +1 -1
  139. package/lib/commands/ci/run.js +9 -7
  140. package/lib/commands/clients/create.js +4 -3
  141. package/lib/commands/clients/destroy.d.ts +1 -1
  142. package/lib/commands/clients/destroy.js +4 -4
  143. package/lib/commands/clients/index.js +5 -4
  144. package/lib/commands/clients/info.d.ts +3 -3
  145. package/lib/commands/clients/info.js +5 -5
  146. package/lib/commands/clients/rotate.d.ts +3 -3
  147. package/lib/commands/clients/rotate.js +5 -6
  148. package/lib/commands/clients/update.d.ts +3 -3
  149. package/lib/commands/clients/update.js +5 -5
  150. package/lib/commands/config/edit.d.ts +5 -5
  151. package/lib/commands/config/edit.js +21 -22
  152. package/lib/commands/config/get.d.ts +5 -4
  153. package/lib/commands/config/get.js +34 -13
  154. package/lib/commands/config/index.d.ts +1 -1
  155. package/lib/commands/config/index.js +4 -5
  156. package/lib/commands/config/set.d.ts +2 -2
  157. package/lib/commands/config/set.js +17 -18
  158. package/lib/commands/config/unset.d.ts +1 -1
  159. package/lib/commands/config/unset.js +12 -11
  160. package/lib/commands/container/pull.d.ts +4 -4
  161. package/lib/commands/container/pull.js +12 -12
  162. package/lib/commands/container/push.d.ts +6 -6
  163. package/lib/commands/container/push.js +18 -18
  164. package/lib/commands/container/release.d.ts +4 -4
  165. package/lib/commands/container/release.js +16 -15
  166. package/lib/commands/container/rm.d.ts +4 -4
  167. package/lib/commands/container/rm.js +10 -9
  168. package/lib/commands/container/run.d.ts +5 -5
  169. package/lib/commands/container/run.js +14 -14
  170. package/lib/commands/dashboard.d.ts +1 -1
  171. package/lib/commands/dashboard.js +19 -20
  172. package/lib/commands/domains/add.d.ts +5 -5
  173. package/lib/commands/domains/add.js +17 -18
  174. package/lib/commands/domains/clear.js +2 -2
  175. package/lib/commands/domains/index.d.ts +5 -3
  176. package/lib/commands/domains/index.js +99 -69
  177. package/lib/commands/domains/info.js +2 -1
  178. package/lib/commands/domains/remove.d.ts +3 -3
  179. package/lib/commands/domains/remove.js +5 -5
  180. package/lib/commands/domains/update.d.ts +4 -4
  181. package/lib/commands/domains/update.js +8 -8
  182. package/lib/commands/drains/add.d.ts +3 -3
  183. package/lib/commands/drains/add.js +7 -7
  184. package/lib/commands/drains/index.d.ts +1 -1
  185. package/lib/commands/drains/index.js +5 -6
  186. package/lib/commands/drains/remove.d.ts +4 -4
  187. package/lib/commands/drains/remove.js +6 -6
  188. package/lib/commands/features/disable.d.ts +3 -3
  189. package/lib/commands/features/disable.js +8 -8
  190. package/lib/commands/features/enable.d.ts +3 -3
  191. package/lib/commands/features/enable.js +8 -8
  192. package/lib/commands/features/index.js +2 -3
  193. package/lib/commands/features/info.d.ts +4 -4
  194. package/lib/commands/features/info.js +10 -9
  195. package/lib/commands/git/clone.d.ts +2 -2
  196. package/lib/commands/git/clone.js +7 -6
  197. package/lib/commands/git/remote.js +6 -5
  198. package/lib/commands/keys/add.d.ts +3 -4
  199. package/lib/commands/keys/add.js +20 -18
  200. package/lib/commands/keys/index.js +4 -5
  201. package/lib/commands/keys/remove.d.ts +2 -2
  202. package/lib/commands/keys/remove.js +8 -8
  203. package/lib/commands/labs/disable.d.ts +3 -3
  204. package/lib/commands/labs/disable.js +13 -13
  205. package/lib/commands/labs/enable.d.ts +4 -4
  206. package/lib/commands/labs/enable.js +11 -11
  207. package/lib/commands/labs/index.d.ts +2 -2
  208. package/lib/commands/labs/index.js +6 -7
  209. package/lib/commands/labs/info.d.ts +3 -3
  210. package/lib/commands/labs/info.js +8 -7
  211. package/lib/commands/local/index.d.ts +4 -4
  212. package/lib/commands/local/index.js +21 -21
  213. package/lib/commands/local/run.d.ts +1 -1
  214. package/lib/commands/local/run.js +4 -3
  215. package/lib/commands/logs.d.ts +1 -1
  216. package/lib/commands/logs.js +22 -21
  217. package/lib/commands/maintenance/off.d.ts +1 -1
  218. package/lib/commands/maintenance/off.js +2 -2
  219. package/lib/commands/maintenance/on.d.ts +1 -1
  220. package/lib/commands/maintenance/on.js +2 -2
  221. package/lib/commands/members/index.d.ts +3 -3
  222. package/lib/commands/members/index.js +18 -13
  223. package/lib/commands/members/remove.d.ts +1 -1
  224. package/lib/commands/members/remove.js +6 -6
  225. package/lib/commands/notifications/index.d.ts +3 -3
  226. package/lib/commands/notifications/index.js +9 -10
  227. package/lib/commands/orgs/open.js +2 -2
  228. package/lib/commands/pg/backups/cancel.d.ts +13 -0
  229. package/lib/commands/pg/backups/cancel.js +43 -0
  230. package/lib/commands/pg/backups/capture.d.ts +15 -0
  231. package/lib/commands/pg/backups/capture.js +62 -0
  232. package/lib/commands/pg/backups/delete.d.ts +15 -0
  233. package/lib/commands/pg/backups/delete.js +34 -0
  234. package/lib/commands/pg/backups/download.d.ts +14 -0
  235. package/lib/commands/pg/backups/download.js +54 -0
  236. package/lib/commands/pg/backups/index.d.ts +20 -0
  237. package/lib/commands/pg/backups/index.js +121 -0
  238. package/lib/commands/pg/backups/info.d.ts +17 -0
  239. package/lib/commands/pg/backups/info.js +86 -0
  240. package/lib/commands/pg/backups/restore.d.ts +20 -0
  241. package/lib/commands/pg/backups/restore.js +134 -0
  242. package/lib/commands/pg/backups/schedule.d.ts +21 -0
  243. package/lib/commands/pg/backups/schedule.js +69 -0
  244. package/lib/commands/pg/backups/schedules.d.ts +10 -0
  245. package/lib/commands/pg/backups/schedules.js +27 -0
  246. package/lib/commands/pg/backups/unschedule.d.ts +13 -0
  247. package/lib/commands/pg/backups/unschedule.js +42 -0
  248. package/lib/commands/pg/backups/url.d.ts +13 -0
  249. package/lib/commands/pg/backups/url.js +37 -0
  250. package/lib/commands/pg/bloat.d.ts +13 -0
  251. package/lib/{oldCommands → commands}/pg/bloat.js +23 -30
  252. package/lib/commands/pg/blocking.d.ts +13 -0
  253. package/lib/commands/pg/blocking.js +42 -0
  254. package/lib/commands/pg/connection-pooling/attach.d.ts +15 -0
  255. package/lib/commands/pg/connection-pooling/attach.js +38 -0
  256. package/lib/commands/pg/copy.d.ts +18 -0
  257. package/lib/commands/pg/copy.js +83 -0
  258. package/lib/commands/pg/credentials/create.d.ts +15 -0
  259. package/lib/commands/pg/credentials/create.js +39 -0
  260. package/lib/commands/pg/credentials/destroy.d.ts +16 -0
  261. package/lib/commands/pg/credentials/destroy.js +45 -0
  262. package/lib/commands/pg/credentials/repair-default.d.ts +15 -0
  263. package/lib/commands/pg/credentials/repair-default.js +38 -0
  264. package/lib/commands/pg/credentials/rotate.d.ts +17 -0
  265. package/lib/commands/pg/credentials/rotate.js +79 -0
  266. package/lib/commands/pg/credentials/url.d.ts +14 -0
  267. package/lib/commands/pg/credentials/url.js +59 -0
  268. package/lib/commands/pg/credentials.d.ts +16 -0
  269. package/lib/commands/pg/credentials.js +61 -0
  270. package/lib/commands/pg/diagnose.d.ts +18 -0
  271. package/lib/commands/pg/diagnose.js +106 -0
  272. package/lib/commands/pg/info.d.ts +14 -0
  273. package/lib/commands/pg/info.js +91 -0
  274. package/lib/commands/pg/kill.d.ts +15 -0
  275. package/lib/commands/pg/kill.js +32 -0
  276. package/lib/commands/pg/killall.d.ts +13 -0
  277. package/lib/commands/pg/killall.js +24 -0
  278. package/lib/commands/pg/links/create.d.ts +16 -0
  279. package/lib/commands/pg/links/create.js +57 -0
  280. package/lib/commands/pg/links/destroy.d.ts +16 -0
  281. package/lib/commands/pg/links/destroy.js +40 -0
  282. package/lib/commands/pg/links/index.d.ts +13 -0
  283. package/lib/commands/pg/links/index.js +62 -0
  284. package/lib/commands/pg/locks.d.ts +15 -0
  285. package/lib/commands/pg/locks.js +53 -0
  286. package/lib/commands/pg/maintenance/index.d.ts +13 -0
  287. package/lib/commands/pg/maintenance/index.js +27 -0
  288. package/lib/commands/pg/maintenance/run.d.ts +14 -0
  289. package/lib/commands/pg/maintenance/run.js +34 -0
  290. package/lib/commands/pg/maintenance/window.d.ts +15 -0
  291. package/lib/commands/pg/maintenance/window.js +41 -0
  292. package/lib/commands/pg/outliers.d.ts +19 -0
  293. package/lib/commands/pg/outliers.js +100 -0
  294. package/lib/commands/pg/promote.d.ts +14 -0
  295. package/lib/commands/pg/promote.js +167 -0
  296. package/lib/commands/pg/ps.d.ts +14 -0
  297. package/lib/commands/pg/ps.js +52 -0
  298. package/lib/commands/pg/psql.d.ts +16 -0
  299. package/lib/commands/pg/psql.js +47 -0
  300. package/lib/commands/pg/pull.d.ts +18 -0
  301. package/lib/commands/pg/pull.js +87 -0
  302. package/lib/commands/pg/push.d.ts +18 -0
  303. package/lib/commands/pg/push.js +83 -0
  304. package/lib/commands/pg/reset.d.ts +15 -0
  305. package/lib/commands/pg/reset.js +43 -0
  306. package/lib/commands/pg/settings/auto-explain/log-analyze.d.ts +13 -0
  307. package/lib/commands/pg/settings/auto-explain/log-analyze.js +28 -0
  308. package/lib/commands/pg/settings/auto-explain/log-buffers.d.ts +13 -0
  309. package/lib/commands/pg/settings/auto-explain/log-buffers.js +26 -0
  310. package/lib/commands/pg/settings/auto-explain/log-format.d.ts +12 -0
  311. package/lib/commands/pg/settings/auto-explain/log-format.js +22 -0
  312. package/lib/commands/pg/settings/auto-explain/log-min-duration.d.ts +13 -0
  313. package/lib/commands/pg/settings/auto-explain/log-min-duration.js +29 -0
  314. package/lib/commands/pg/settings/auto-explain/log-nested-statements.d.ts +12 -0
  315. package/lib/commands/pg/settings/auto-explain/log-nested-statements.js +20 -0
  316. package/lib/commands/pg/settings/auto-explain/log-triggers.d.ts +13 -0
  317. package/lib/commands/pg/settings/auto-explain/log-triggers.js +26 -0
  318. package/lib/commands/pg/settings/auto-explain/log-verbose.d.ts +17 -0
  319. package/lib/commands/pg/settings/auto-explain/log-verbose.js +29 -0
  320. package/lib/commands/pg/settings/auto-explain.d.ts +18 -0
  321. package/lib/commands/pg/settings/auto-explain.js +34 -0
  322. package/lib/commands/pg/settings/data-connector-details-logs.d.ts +17 -0
  323. package/lib/commands/pg/settings/data-connector-details-logs.js +30 -0
  324. package/lib/commands/pg/settings/index.d.ts +13 -0
  325. package/lib/commands/pg/settings/index.js +33 -0
  326. package/lib/commands/pg/settings/log-connections.d.ts +17 -0
  327. package/lib/commands/pg/settings/log-connections.js +30 -0
  328. package/lib/commands/pg/settings/log-lock-waits.d.ts +13 -0
  329. package/lib/commands/pg/settings/log-lock-waits.js +27 -0
  330. package/lib/commands/pg/settings/log-min-duration-statement.d.ts +12 -0
  331. package/lib/commands/pg/settings/log-min-duration-statement.js +29 -0
  332. package/lib/commands/pg/settings/log-min-error-statement.d.ts +12 -0
  333. package/lib/commands/pg/settings/log-min-error-statement.js +23 -0
  334. package/lib/commands/pg/settings/log-statement.d.ts +12 -0
  335. package/lib/commands/pg/settings/log-statement.js +26 -0
  336. package/lib/commands/pg/settings/track-functions.d.ts +12 -0
  337. package/lib/commands/pg/settings/track-functions.js +25 -0
  338. package/lib/commands/pg/unfollow.d.ts +14 -0
  339. package/lib/commands/pg/unfollow.js +38 -0
  340. package/lib/commands/pg/upgrade/cancel.d.ts +13 -0
  341. package/lib/commands/pg/upgrade/cancel.js +50 -0
  342. package/lib/commands/pg/upgrade/dryrun.d.ts +14 -0
  343. package/lib/commands/pg/upgrade/dryrun.js +50 -0
  344. package/lib/commands/pg/upgrade/index.d.ts +15 -0
  345. package/lib/commands/pg/upgrade/index.js +73 -0
  346. package/lib/commands/pg/upgrade/prepare.d.ts +14 -0
  347. package/lib/commands/pg/upgrade/prepare.js +51 -0
  348. package/lib/commands/pg/upgrade/run.d.ts +16 -0
  349. package/lib/commands/pg/upgrade/run.js +95 -0
  350. package/lib/commands/pg/upgrade/wait.d.ts +16 -0
  351. package/lib/commands/pg/upgrade/wait.js +105 -0
  352. package/lib/commands/pg/vacuum-stats.d.ts +13 -0
  353. package/lib/{oldCommands → commands}/pg/vacuum-stats.js +25 -29
  354. package/lib/commands/pg/wait.d.ts +15 -0
  355. package/lib/commands/pg/wait.js +79 -0
  356. package/lib/commands/pipelines/add.d.ts +3 -3
  357. package/lib/commands/pipelines/add.js +13 -13
  358. package/lib/commands/pipelines/connect.js +2 -1
  359. package/lib/commands/pipelines/create.d.ts +3 -3
  360. package/lib/commands/pipelines/create.js +20 -20
  361. package/lib/commands/pipelines/destroy.d.ts +2 -2
  362. package/lib/commands/pipelines/destroy.js +5 -5
  363. package/lib/commands/pipelines/diff.d.ts +3 -3
  364. package/lib/commands/pipelines/diff.js +12 -13
  365. package/lib/commands/pipelines/index.js +3 -3
  366. package/lib/commands/pipelines/info.d.ts +3 -3
  367. package/lib/commands/pipelines/info.js +10 -9
  368. package/lib/commands/pipelines/open.d.ts +9 -0
  369. package/lib/commands/pipelines/open.js +19 -0
  370. package/lib/commands/pipelines/promote.d.ts +12 -0
  371. package/lib/commands/pipelines/promote.js +209 -0
  372. package/lib/commands/pipelines/remove.d.ts +10 -0
  373. package/lib/commands/pipelines/remove.js +20 -0
  374. package/lib/commands/pipelines/rename.d.ts +10 -0
  375. package/lib/commands/pipelines/rename.js +34 -0
  376. package/lib/commands/pipelines/setup.d.ts +16 -0
  377. package/lib/commands/pipelines/setup.js +88 -0
  378. package/lib/commands/pipelines/transfer.d.ts +13 -0
  379. package/lib/commands/pipelines/transfer.js +60 -0
  380. package/lib/commands/pipelines/update.d.ts +11 -0
  381. package/lib/commands/pipelines/update.js +29 -0
  382. package/lib/commands/prompt.d.ts +1 -1
  383. package/lib/commands/prompt.js +4 -3
  384. package/lib/commands/ps/autoscale/disable.d.ts +10 -0
  385. package/lib/commands/ps/autoscale/disable.js +33 -0
  386. package/lib/commands/ps/autoscale/enable.d.ts +14 -0
  387. package/lib/commands/ps/autoscale/enable.js +84 -0
  388. package/lib/commands/ps/index.d.ts +15 -0
  389. package/lib/commands/ps/index.js +199 -0
  390. package/lib/commands/ps/restart.d.ts +18 -0
  391. package/lib/commands/ps/restart.js +68 -0
  392. package/lib/commands/ps/scale.d.ts +13 -0
  393. package/lib/commands/ps/scale.js +81 -0
  394. package/lib/commands/ps/stop.d.ts +18 -0
  395. package/lib/commands/ps/stop.js +62 -0
  396. package/lib/commands/ps/type.d.ts +12 -0
  397. package/lib/commands/ps/type.js +168 -0
  398. package/lib/commands/ps/wait.d.ts +13 -0
  399. package/lib/commands/ps/wait.js +73 -0
  400. package/lib/commands/regions.d.ts +2 -2
  401. package/lib/commands/regions.js +6 -5
  402. package/lib/commands/releases/index.d.ts +14 -0
  403. package/lib/commands/releases/index.js +155 -0
  404. package/lib/commands/releases/info.d.ts +15 -0
  405. package/lib/commands/releases/info.js +75 -0
  406. package/lib/commands/releases/output.d.ts +13 -0
  407. package/lib/commands/releases/output.js +33 -0
  408. package/lib/commands/releases/retry.d.ts +11 -0
  409. package/lib/commands/releases/retry.js +46 -0
  410. package/lib/commands/releases/rollback.d.ts +14 -0
  411. package/lib/commands/releases/rollback.js +54 -0
  412. package/lib/commands/repl.d.ts +1 -1
  413. package/lib/commands/repl.js +3 -2
  414. package/lib/commands/reviewapps/disable.d.ts +3 -3
  415. package/lib/commands/reviewapps/disable.js +11 -10
  416. package/lib/commands/reviewapps/enable.d.ts +2 -2
  417. package/lib/commands/reviewapps/enable.js +9 -8
  418. package/lib/commands/run/detached.d.ts +16 -0
  419. package/lib/commands/run/detached.js +54 -0
  420. package/lib/commands/run/index.d.ts +19 -0
  421. package/lib/commands/run/index.js +69 -0
  422. package/lib/commands/run/inside.d.ts +18 -0
  423. package/lib/commands/run/inside.js +77 -0
  424. package/lib/commands/sessions/destroy.d.ts +1 -1
  425. package/lib/commands/sessions/destroy.js +4 -4
  426. package/lib/commands/sessions/index.js +2 -3
  427. package/lib/commands/spaces/create.d.ts +23 -0
  428. package/lib/commands/spaces/create.js +87 -0
  429. package/lib/commands/spaces/destroy.d.ts +14 -0
  430. package/lib/commands/spaces/destroy.js +61 -0
  431. package/lib/commands/spaces/drains/get.d.ts +11 -0
  432. package/lib/commands/spaces/drains/get.js +23 -0
  433. package/lib/commands/spaces/drains/set.d.ts +13 -0
  434. package/lib/commands/spaces/drains/set.js +25 -0
  435. package/lib/commands/spaces/hosts.d.ts +14 -0
  436. package/lib/commands/spaces/hosts.js +35 -0
  437. package/lib/commands/spaces/index.d.ts +16 -0
  438. package/lib/commands/spaces/index.js +65 -0
  439. package/lib/commands/spaces/info.d.ts +14 -0
  440. package/lib/commands/spaces/info.js +48 -0
  441. package/lib/commands/spaces/peerings/accept.d.ts +15 -0
  442. package/lib/commands/spaces/peerings/accept.js +33 -0
  443. package/lib/commands/spaces/peerings/destroy.d.ts +15 -0
  444. package/lib/commands/spaces/peerings/destroy.js +43 -0
  445. package/lib/commands/spaces/peerings/index.d.ts +13 -0
  446. package/lib/commands/spaces/peerings/index.js +31 -0
  447. package/lib/commands/spaces/peerings/info.d.ts +15 -0
  448. package/lib/{oldCommands → commands}/spaces/peerings/info.js +32 -40
  449. package/lib/commands/spaces/ps.d.ts +15 -0
  450. package/lib/commands/spaces/ps.js +77 -0
  451. package/lib/commands/spaces/rename.d.ts +11 -0
  452. package/lib/commands/spaces/rename.js +24 -0
  453. package/lib/commands/spaces/topology.d.ts +18 -0
  454. package/lib/commands/spaces/topology.js +87 -0
  455. package/lib/commands/spaces/transfer.d.ts +11 -0
  456. package/lib/commands/spaces/transfer.js +33 -0
  457. package/lib/commands/spaces/trusted-ips/add.d.ts +16 -0
  458. package/lib/commands/spaces/trusted-ips/add.js +49 -0
  459. package/lib/commands/spaces/trusted-ips/index.d.ts +15 -0
  460. package/lib/commands/spaces/trusted-ips/index.js +59 -0
  461. package/lib/commands/spaces/trusted-ips/remove.d.ts +15 -0
  462. package/lib/commands/spaces/trusted-ips/remove.js +51 -0
  463. package/lib/commands/spaces/vpn/config.d.ts +14 -0
  464. package/lib/commands/spaces/vpn/config.js +53 -0
  465. package/lib/commands/spaces/vpn/connect.d.ts +15 -0
  466. package/lib/commands/spaces/vpn/connect.js +46 -0
  467. package/lib/commands/spaces/vpn/connections.d.ts +17 -0
  468. package/lib/commands/spaces/vpn/connections.js +55 -0
  469. package/lib/commands/spaces/vpn/destroy.d.ts +14 -0
  470. package/lib/commands/spaces/vpn/destroy.js +36 -0
  471. package/lib/commands/spaces/vpn/info.d.ts +16 -0
  472. package/lib/commands/spaces/vpn/info.js +85 -0
  473. package/lib/commands/spaces/vpn/update.d.ts +14 -0
  474. package/lib/commands/spaces/vpn/update.js +36 -0
  475. package/lib/commands/spaces/vpn/wait.d.ts +16 -0
  476. package/lib/commands/spaces/vpn/wait.js +69 -0
  477. package/lib/commands/spaces/wait.d.ts +17 -0
  478. package/lib/commands/spaces/wait.js +87 -0
  479. package/lib/commands/status.js +14 -13
  480. package/lib/commands/teams/index.d.ts +1 -1
  481. package/lib/commands/teams/index.js +4 -5
  482. package/lib/commands/telemetry/add.d.ts +6 -5
  483. package/lib/commands/telemetry/add.js +43 -18
  484. package/lib/commands/telemetry/index.d.ts +4 -4
  485. package/lib/commands/telemetry/index.js +19 -17
  486. package/lib/commands/telemetry/info.d.ts +2 -2
  487. package/lib/commands/telemetry/info.js +5 -4
  488. package/lib/commands/telemetry/update.d.ts +3 -3
  489. package/lib/commands/telemetry/update.js +8 -9
  490. package/lib/commands/usage/addons.d.ts +2 -2
  491. package/lib/commands/usage/addons.js +17 -18
  492. package/lib/commands/webhooks/add.d.ts +16 -0
  493. package/lib/commands/webhooks/add.js +43 -0
  494. package/lib/commands/webhooks/deliveries/index.d.ts +12 -0
  495. package/lib/commands/webhooks/deliveries/index.js +75 -0
  496. package/lib/commands/webhooks/deliveries/info.d.ts +14 -0
  497. package/lib/commands/webhooks/deliveries/info.js +40 -0
  498. package/lib/commands/webhooks/index.d.ts +11 -0
  499. package/lib/commands/webhooks/index.js +42 -0
  500. package/lib/commands/webhooks/info.d.ts +14 -0
  501. package/lib/commands/webhooks/info.js +29 -0
  502. package/lib/commands/webhooks/remove.d.ts +14 -0
  503. package/lib/commands/webhooks/remove.js +24 -0
  504. package/lib/commands/webhooks/update.d.ts +19 -0
  505. package/lib/commands/webhooks/update.js +36 -0
  506. package/lib/global_telemetry.d.ts +2 -2
  507. package/lib/global_telemetry.js +34 -36
  508. package/lib/lib/addons/addons_wait.d.ts +1 -1
  509. package/lib/lib/addons/addons_wait.js +2 -2
  510. package/lib/lib/addons/create_addon.d.ts +5 -3
  511. package/lib/lib/addons/create_addon.js +12 -9
  512. package/lib/lib/addons/destroy_addon.js +17 -9
  513. package/lib/lib/addons/resolve.d.ts +10 -11
  514. package/lib/lib/addons/resolve.js +19 -18
  515. package/lib/lib/addons/util.d.ts +2 -2
  516. package/lib/lib/addons/util.js +22 -16
  517. package/lib/lib/api.d.ts +1 -1
  518. package/lib/lib/api.js +19 -23
  519. package/lib/lib/apps/app-transfer.d.ts +3 -3
  520. package/lib/lib/apps/app-transfer.js +11 -11
  521. package/lib/lib/autocomplete/base.d.ts +11 -1
  522. package/lib/lib/autocomplete/base.js +33 -49
  523. package/lib/lib/autocomplete/cache.js +9 -7
  524. package/lib/lib/autocomplete/completions.d.ts +41 -1
  525. package/lib/lib/autocomplete/completions.js +258 -290
  526. package/lib/lib/buildpacks/buildpacks.d.ts +11 -11
  527. package/lib/lib/buildpacks/buildpacks.js +71 -71
  528. package/lib/lib/certs/certificate_details.js +3 -4
  529. package/lib/lib/certs/flags.d.ts +2 -2
  530. package/lib/lib/certs/flags.js +5 -8
  531. package/lib/lib/certs/get_cert_and_key.js +2 -2
  532. package/lib/lib/ci/git.d.ts +12 -2
  533. package/lib/lib/ci/git.js +20 -6
  534. package/lib/lib/ci/pipelines.d.ts +5 -5
  535. package/lib/lib/ci/pipelines.js +17 -17
  536. package/lib/lib/ci/source.d.ts +8 -0
  537. package/lib/lib/ci/source.js +22 -10
  538. package/lib/lib/ci/test-run.js +18 -15
  539. package/lib/lib/config/quote.js +4 -4
  540. package/lib/lib/config/util.d.ts +3 -0
  541. package/lib/lib/config/util.js +5 -0
  542. package/lib/lib/confirmCommand.js +6 -7
  543. package/lib/lib/container/docker_helper.d.ts +12 -12
  544. package/lib/lib/container/docker_helper.js +71 -74
  545. package/lib/lib/container/helpers.js +2 -2
  546. package/lib/lib/container/streamer.js +4 -4
  547. package/lib/lib/data/baseCommand.d.ts +4 -0
  548. package/lib/lib/data/baseCommand.js +15 -0
  549. package/lib/lib/data/createPool.d.ts +4 -0
  550. package/lib/lib/data/createPool.js +6 -0
  551. package/lib/lib/data/credentialUtils.d.ts +3 -0
  552. package/lib/lib/data/credentialUtils.js +23 -0
  553. package/lib/lib/data/displayQuota.d.ts +19 -0
  554. package/lib/lib/data/displayQuota.js +59 -0
  555. package/lib/lib/data/parseProvisionOpts.d.ts +15 -0
  556. package/lib/lib/data/parseProvisionOpts.js +31 -0
  557. package/lib/lib/data/types.d.ts +181 -0
  558. package/lib/lib/data/types.js +3 -0
  559. package/lib/lib/data-scrubber/patterns.d.ts +4 -0
  560. package/lib/lib/data-scrubber/patterns.js +13 -0
  561. package/lib/lib/data-scrubber/presets.d.ts +64 -0
  562. package/lib/lib/data-scrubber/presets.js +112 -0
  563. package/lib/lib/data-scrubber/scrubber.d.ts +131 -0
  564. package/lib/lib/data-scrubber/scrubber.js +256 -0
  565. package/lib/lib/data-scrubber/types.d.ts +169 -0
  566. package/lib/lib/domains/domains.js +10 -10
  567. package/lib/lib/domains/wait-for-domain.js +2 -3
  568. package/lib/lib/local/env-file-validator.js +2 -2
  569. package/lib/lib/local/fork-foreman.js +3 -2
  570. package/lib/lib/members/util.js +7 -7
  571. package/lib/lib/orgs/utils.js +2 -3
  572. package/lib/lib/pg/backups.d.ts +17 -1
  573. package/lib/lib/pg/backups.js +132 -156
  574. package/lib/lib/pg/download.js +7 -7
  575. package/lib/lib/pg/fetcher.d.ts +3 -1
  576. package/lib/lib/pg/fetcher.js +3 -162
  577. package/lib/lib/pg/psql.d.ts +17 -1
  578. package/lib/lib/pg/psql.js +59 -269
  579. package/lib/lib/pg/push_pull.d.ts +12 -0
  580. package/lib/lib/pg/push_pull.js +97 -119
  581. package/lib/lib/pg/setter.d.ts +16 -1
  582. package/lib/lib/pg/setter.js +61 -73
  583. package/lib/lib/pg/types.d.ts +10 -33
  584. package/lib/lib/pg/util.d.ts +8 -1
  585. package/lib/lib/pg/util.js +102 -211
  586. package/lib/lib/pipelines/disambiguate.js +9 -11
  587. package/lib/lib/pipelines/ownership.d.ts +1 -1
  588. package/lib/lib/pipelines/ownership.js +6 -12
  589. package/lib/lib/pipelines/render-pipeline.d.ts +2 -2
  590. package/lib/lib/pipelines/render-pipeline.js +10 -9
  591. package/lib/lib/pipelines/setup/create-apps.js +7 -9
  592. package/lib/lib/pipelines/setup/get-ci-settings.js +2 -2
  593. package/lib/lib/pipelines/setup/get-github-token.js +1 -3
  594. package/lib/lib/pipelines/setup/get-name-and-repo.js +27 -22
  595. package/lib/lib/pipelines/setup/get-settings.js +12 -12
  596. package/lib/lib/pipelines/setup/poll-app-setups.js +3 -5
  597. package/lib/lib/pipelines/setup/setup-pipeline.js +1 -3
  598. package/lib/lib/pipelines/setup/validate.d.ts +1 -1
  599. package/lib/lib/pipelines/setup/validate.js +2 -2
  600. package/lib/lib/pipelines/stages.d.ts +2 -2
  601. package/lib/lib/pipelines/stages.js +4 -4
  602. package/lib/lib/redis/api.d.ts +22 -22
  603. package/lib/lib/redis/api.js +62 -67
  604. package/lib/lib/releases/output.js +1 -1
  605. package/lib/lib/releases/status_helper.d.ts +1 -1
  606. package/lib/lib/releases/status_helper.js +16 -8
  607. package/lib/lib/run/colorize.js +73 -40
  608. package/lib/lib/run/dyno.d.ts +22 -30
  609. package/lib/lib/run/dyno.js +184 -180
  610. package/lib/lib/run/helpers.d.ts +25 -0
  611. package/lib/lib/run/helpers.js +119 -3
  612. package/lib/lib/run/log-displayer.d.ts +3 -3
  613. package/lib/lib/run/log-displayer.js +21 -21
  614. package/lib/lib/spaces/format.js +36 -23
  615. package/lib/lib/spaces/hosts.d.ts +9 -1
  616. package/lib/lib/spaces/hosts.js +28 -41
  617. package/lib/lib/spaces/peering.d.ts +4 -1
  618. package/lib/lib/spaces/peering.js +45 -52
  619. package/lib/lib/spaces/spaces.d.ts +6 -1
  620. package/lib/lib/spaces/spaces.js +30 -39
  621. package/lib/lib/spaces/vpn-connections.js +16 -16
  622. package/lib/lib/telemetry/util.d.ts +1 -1
  623. package/lib/lib/telemetry/util.js +3 -3
  624. package/lib/lib/types/completion.d.ts +15 -0
  625. package/lib/lib/utils/multisort.d.ts +4 -7
  626. package/lib/lib/utils/multisort.js +8 -32
  627. package/lib/lib/utils/packageParser.js +2 -2
  628. package/lib/lib/utils/uuid-validate.js +1 -3
  629. package/lib/lib/webhooks/base.d.ts +2 -2
  630. package/lib/lib/webhooks/base.js +3 -3
  631. package/lib/nls-data.d.ts +10 -0
  632. package/lib/nls-data.js +10 -0
  633. package/lib/nls.d.ts +1 -1
  634. package/lib/nls.js +1 -1
  635. package/npm-shrinkwrap.json +17653 -18259
  636. package/oclif.manifest.json +9918 -3293
  637. package/package.json +26 -237
  638. package/lib/lib/pg/bastion.js +0 -137
  639. package/lib/lib/pg/config.d.ts +0 -2
  640. package/lib/lib/pg/config.js +0 -9
  641. package/lib/lib/pg/host.d.ts +0 -1
  642. package/lib/lib/pg/host.js +0 -3
  643. package/lib/lib/spaces/outbound-rules.js +0 -85
  644. package/lib/oldCommands/autocomplete/create.d.ts +0 -1
  645. package/lib/oldCommands/autocomplete/create.js +0 -254
  646. package/lib/oldCommands/autocomplete/doctor.d.ts +0 -1
  647. package/lib/oldCommands/autocomplete/doctor.js +0 -110
  648. package/lib/oldCommands/autocomplete/index.d.ts +0 -1
  649. package/lib/oldCommands/autocomplete/index.js +0 -80
  650. package/lib/oldCommands/autocomplete/options.d.ts +0 -1
  651. package/lib/oldCommands/autocomplete/options.js +0 -240
  652. package/lib/oldCommands/autocomplete/script.d.ts +0 -1
  653. package/lib/oldCommands/autocomplete/script.js +0 -35
  654. package/lib/oldCommands/pg/backups/cancel.d.ts +0 -1
  655. package/lib/oldCommands/pg/backups/cancel.js +0 -56
  656. package/lib/oldCommands/pg/backups/capture.d.ts +0 -1
  657. package/lib/oldCommands/pg/backups/capture.js +0 -77
  658. package/lib/oldCommands/pg/backups/delete.d.ts +0 -1
  659. package/lib/oldCommands/pg/backups/delete.js +0 -45
  660. package/lib/oldCommands/pg/backups/download.d.ts +0 -1
  661. package/lib/oldCommands/pg/backups/download.js +0 -64
  662. package/lib/oldCommands/pg/backups/index.d.ts +0 -1
  663. package/lib/oldCommands/pg/backups/index.js +0 -141
  664. package/lib/oldCommands/pg/backups/info.d.ts +0 -1
  665. package/lib/oldCommands/pg/backups/info.js +0 -102
  666. package/lib/oldCommands/pg/backups/restore.d.ts +0 -1
  667. package/lib/oldCommands/pg/backups/restore.js +0 -150
  668. package/lib/oldCommands/pg/backups/schedule.d.ts +0 -1
  669. package/lib/oldCommands/pg/backups/schedule.js +0 -107
  670. package/lib/oldCommands/pg/backups/schedules.d.ts +0 -1
  671. package/lib/oldCommands/pg/backups/schedules.js +0 -34
  672. package/lib/oldCommands/pg/backups/unschedule.d.ts +0 -1
  673. package/lib/oldCommands/pg/backups/unschedule.js +0 -60
  674. package/lib/oldCommands/pg/backups/url.d.ts +0 -1
  675. package/lib/oldCommands/pg/backups/url.js +0 -46
  676. package/lib/oldCommands/pg/bloat.d.ts +0 -1
  677. package/lib/oldCommands/pg/blocking.d.ts +0 -1
  678. package/lib/oldCommands/pg/blocking.js +0 -48
  679. package/lib/oldCommands/pg/connection-pooling/attach.d.ts +0 -1
  680. package/lib/oldCommands/pg/connection-pooling/attach.js +0 -53
  681. package/lib/oldCommands/pg/copy.d.ts +0 -1
  682. package/lib/oldCommands/pg/copy.js +0 -104
  683. package/lib/oldCommands/pg/credentials/create.d.ts +0 -1
  684. package/lib/oldCommands/pg/credentials/create.js +0 -47
  685. package/lib/oldCommands/pg/credentials/destroy.d.ts +0 -1
  686. package/lib/oldCommands/pg/credentials/destroy.js +0 -56
  687. package/lib/oldCommands/pg/credentials/repair-default.d.ts +0 -1
  688. package/lib/oldCommands/pg/credentials/repair-default.js +0 -43
  689. package/lib/oldCommands/pg/credentials/rotate.d.ts +0 -1
  690. package/lib/oldCommands/pg/credentials/rotate.js +0 -97
  691. package/lib/oldCommands/pg/credentials/url.d.ts +0 -1
  692. package/lib/oldCommands/pg/credentials/url.js +0 -75
  693. package/lib/oldCommands/pg/credentials.d.ts +0 -1
  694. package/lib/oldCommands/pg/credentials.js +0 -77
  695. package/lib/oldCommands/pg/diagnose.d.ts +0 -1
  696. package/lib/oldCommands/pg/diagnose.js +0 -136
  697. package/lib/oldCommands/pg/info.d.ts +0 -1
  698. package/lib/oldCommands/pg/info.js +0 -110
  699. package/lib/oldCommands/pg/kill.d.ts +0 -1
  700. package/lib/oldCommands/pg/kill.js +0 -37
  701. package/lib/oldCommands/pg/killall.d.ts +0 -1
  702. package/lib/oldCommands/pg/killall.js +0 -31
  703. package/lib/oldCommands/pg/links/create.d.ts +0 -1
  704. package/lib/oldCommands/pg/links/create.js +0 -70
  705. package/lib/oldCommands/pg/links/destroy.d.ts +0 -1
  706. package/lib/oldCommands/pg/links/destroy.js +0 -51
  707. package/lib/oldCommands/pg/links/index.d.ts +0 -1
  708. package/lib/oldCommands/pg/links/index.js +0 -64
  709. package/lib/oldCommands/pg/locks.d.ts +0 -1
  710. package/lib/oldCommands/pg/locks.js +0 -60
  711. package/lib/oldCommands/pg/maintenance/index.d.ts +0 -1
  712. package/lib/oldCommands/pg/maintenance/index.js +0 -34
  713. package/lib/oldCommands/pg/maintenance/run.d.ts +0 -1
  714. package/lib/oldCommands/pg/maintenance/run.js +0 -44
  715. package/lib/oldCommands/pg/maintenance/window.d.ts +0 -1
  716. package/lib/oldCommands/pg/maintenance/window.js +0 -52
  717. package/lib/oldCommands/pg/outliers.d.ts +0 -1
  718. package/lib/oldCommands/pg/outliers.js +0 -110
  719. package/lib/oldCommands/pg/promote.d.ts +0 -1
  720. package/lib/oldCommands/pg/promote.js +0 -183
  721. package/lib/oldCommands/pg/ps.d.ts +0 -1
  722. package/lib/oldCommands/pg/ps.js +0 -56
  723. package/lib/oldCommands/pg/psql.d.ts +0 -1
  724. package/lib/oldCommands/pg/psql.js +0 -53
  725. package/lib/oldCommands/pg/pull.d.ts +0 -1
  726. package/lib/oldCommands/pg/pull.js +0 -114
  727. package/lib/oldCommands/pg/push.d.ts +0 -1
  728. package/lib/oldCommands/pg/push.js +0 -111
  729. package/lib/oldCommands/pg/reset.d.ts +0 -1
  730. package/lib/oldCommands/pg/reset.js +0 -49
  731. package/lib/oldCommands/pg/settings/auto-explain/log-analyze.d.ts +0 -1
  732. package/lib/oldCommands/pg/settings/auto-explain/log-analyze.js +0 -37
  733. package/lib/oldCommands/pg/settings/auto-explain/log-buffers.d.ts +0 -1
  734. package/lib/oldCommands/pg/settings/auto-explain/log-buffers.js +0 -35
  735. package/lib/oldCommands/pg/settings/auto-explain/log-format.d.ts +0 -1
  736. package/lib/oldCommands/pg/settings/auto-explain/log-format.js +0 -30
  737. package/lib/oldCommands/pg/settings/auto-explain/log-min-duration.d.ts +0 -1
  738. package/lib/oldCommands/pg/settings/auto-explain/log-min-duration.js +0 -39
  739. package/lib/oldCommands/pg/settings/auto-explain/log-nested-statements.d.ts +0 -1
  740. package/lib/oldCommands/pg/settings/auto-explain/log-nested-statements.js +0 -30
  741. package/lib/oldCommands/pg/settings/auto-explain/log-triggers.d.ts +0 -1
  742. package/lib/oldCommands/pg/settings/auto-explain/log-triggers.js +0 -35
  743. package/lib/oldCommands/pg/settings/auto-explain/log-verbose.d.ts +0 -1
  744. package/lib/oldCommands/pg/settings/auto-explain/log-verbose.js +0 -40
  745. package/lib/oldCommands/pg/settings/auto-explain.d.ts +0 -1
  746. package/lib/oldCommands/pg/settings/auto-explain.js +0 -45
  747. package/lib/oldCommands/pg/settings/data-connector-details-logs.d.ts +0 -1
  748. package/lib/oldCommands/pg/settings/data-connector-details-logs.js +0 -40
  749. package/lib/oldCommands/pg/settings/index.d.ts +0 -1
  750. package/lib/oldCommands/pg/settings/index.js +0 -41
  751. package/lib/oldCommands/pg/settings/log-connections.d.ts +0 -1
  752. package/lib/oldCommands/pg/settings/log-connections.js +0 -40
  753. package/lib/oldCommands/pg/settings/log-lock-waits.d.ts +0 -1
  754. package/lib/oldCommands/pg/settings/log-lock-waits.js +0 -36
  755. package/lib/oldCommands/pg/settings/log-min-duration-statement.d.ts +0 -1
  756. package/lib/oldCommands/pg/settings/log-min-duration-statement.js +0 -39
  757. package/lib/oldCommands/pg/settings/log-min-error-statement.d.ts +0 -1
  758. package/lib/oldCommands/pg/settings/log-min-error-statement.js +0 -31
  759. package/lib/oldCommands/pg/settings/log-statement.d.ts +0 -1
  760. package/lib/oldCommands/pg/settings/log-statement.js +0 -33
  761. package/lib/oldCommands/pg/settings/track-functions.d.ts +0 -1
  762. package/lib/oldCommands/pg/settings/track-functions.js +0 -33
  763. package/lib/oldCommands/pg/unfollow.d.ts +0 -1
  764. package/lib/oldCommands/pg/unfollow.js +0 -46
  765. package/lib/oldCommands/pg/upgrade/cancel.d.ts +0 -1
  766. package/lib/oldCommands/pg/upgrade/cancel.js +0 -62
  767. package/lib/oldCommands/pg/upgrade/dryrun.d.ts +0 -1
  768. package/lib/oldCommands/pg/upgrade/dryrun.js +0 -62
  769. package/lib/oldCommands/pg/upgrade/index.d.ts +0 -1
  770. package/lib/oldCommands/pg/upgrade/index.js +0 -85
  771. package/lib/oldCommands/pg/upgrade/prepare.d.ts +0 -1
  772. package/lib/oldCommands/pg/upgrade/prepare.js +0 -64
  773. package/lib/oldCommands/pg/upgrade/run.d.ts +0 -1
  774. package/lib/oldCommands/pg/upgrade/run.js +0 -106
  775. package/lib/oldCommands/pg/upgrade/wait.d.ts +0 -1
  776. package/lib/oldCommands/pg/upgrade/wait.js +0 -121
  777. package/lib/oldCommands/pg/upgrade.d.ts +0 -1
  778. package/lib/oldCommands/pg/upgrade.js +0 -66
  779. package/lib/oldCommands/pg/vacuum-stats.d.ts +0 -1
  780. package/lib/oldCommands/pg/wait.d.ts +0 -1
  781. package/lib/oldCommands/pg/wait.js +0 -96
  782. package/lib/oldCommands/pipelines/open.d.ts +0 -1
  783. package/lib/oldCommands/pipelines/open.js +0 -25
  784. package/lib/oldCommands/pipelines/promote.d.ts +0 -1
  785. package/lib/oldCommands/pipelines/promote.js +0 -269
  786. package/lib/oldCommands/pipelines/remove.d.ts +0 -1
  787. package/lib/oldCommands/pipelines/remove.js +0 -29
  788. package/lib/oldCommands/pipelines/rename.d.ts +0 -1
  789. package/lib/oldCommands/pipelines/rename.js +0 -42
  790. package/lib/oldCommands/pipelines/setup.d.ts +0 -1
  791. package/lib/oldCommands/pipelines/setup.js +0 -117
  792. package/lib/oldCommands/pipelines/transfer.d.ts +0 -1
  793. package/lib/oldCommands/pipelines/transfer.js +0 -78
  794. package/lib/oldCommands/pipelines/update.d.ts +0 -1
  795. package/lib/oldCommands/pipelines/update.js +0 -39
  796. package/lib/oldCommands/ps/autoscale/disable.d.ts +0 -1
  797. package/lib/oldCommands/ps/autoscale/disable.js +0 -43
  798. package/lib/oldCommands/ps/autoscale/enable.d.ts +0 -1
  799. package/lib/oldCommands/ps/autoscale/enable.js +0 -103
  800. package/lib/oldCommands/ps/index.d.ts +0 -1
  801. package/lib/oldCommands/ps/index.js +0 -254
  802. package/lib/oldCommands/ps/restart.d.ts +0 -1
  803. package/lib/oldCommands/ps/restart.js +0 -78
  804. package/lib/oldCommands/ps/scale.d.ts +0 -1
  805. package/lib/oldCommands/ps/scale.js +0 -95
  806. package/lib/oldCommands/ps/stop.d.ts +0 -1
  807. package/lib/oldCommands/ps/stop.js +0 -73
  808. package/lib/oldCommands/ps/type.d.ts +0 -1
  809. package/lib/oldCommands/ps/type.js +0 -190
  810. package/lib/oldCommands/ps/wait.d.ts +0 -1
  811. package/lib/oldCommands/ps/wait.js +0 -93
  812. package/lib/oldCommands/releases/index.d.ts +0 -1
  813. package/lib/oldCommands/releases/index.js +0 -156
  814. package/lib/oldCommands/releases/info.d.ts +0 -1
  815. package/lib/oldCommands/releases/info.js +0 -68
  816. package/lib/oldCommands/releases/output.d.ts +0 -1
  817. package/lib/oldCommands/releases/output.js +0 -42
  818. package/lib/oldCommands/releases/retry.d.ts +0 -1
  819. package/lib/oldCommands/releases/retry.js +0 -59
  820. package/lib/oldCommands/releases/rollback.d.ts +0 -1
  821. package/lib/oldCommands/releases/rollback.js +0 -65
  822. package/lib/oldCommands/run/detached.d.ts +0 -1
  823. package/lib/oldCommands/run/detached.js +0 -61
  824. package/lib/oldCommands/run/index.d.ts +0 -1
  825. package/lib/oldCommands/run/index.js +0 -72
  826. package/lib/oldCommands/run/inside.d.ts +0 -1
  827. package/lib/oldCommands/run/inside.js +0 -93
  828. package/lib/oldCommands/spaces/create.d.ts +0 -1
  829. package/lib/oldCommands/spaces/create.js +0 -99
  830. package/lib/oldCommands/spaces/destroy.d.ts +0 -1
  831. package/lib/oldCommands/spaces/destroy.js +0 -79
  832. package/lib/oldCommands/spaces/drains/get.d.ts +0 -1
  833. package/lib/oldCommands/spaces/drains/get.js +0 -33
  834. package/lib/oldCommands/spaces/drains/set.d.ts +0 -1
  835. package/lib/oldCommands/spaces/drains/set.js +0 -33
  836. package/lib/oldCommands/spaces/hosts.d.ts +0 -1
  837. package/lib/oldCommands/spaces/hosts.js +0 -42
  838. package/lib/oldCommands/spaces/index.d.ts +0 -1
  839. package/lib/oldCommands/spaces/index.js +0 -74
  840. package/lib/oldCommands/spaces/info.d.ts +0 -1
  841. package/lib/oldCommands/spaces/info.js +0 -59
  842. package/lib/oldCommands/spaces/peerings/accept.d.ts +0 -1
  843. package/lib/oldCommands/spaces/peerings/accept.js +0 -41
  844. package/lib/oldCommands/spaces/peerings/destroy.d.ts +0 -1
  845. package/lib/oldCommands/spaces/peerings/destroy.js +0 -51
  846. package/lib/oldCommands/spaces/peerings/index.d.ts +0 -1
  847. package/lib/oldCommands/spaces/peerings/index.js +0 -39
  848. package/lib/oldCommands/spaces/peerings/info.d.ts +0 -1
  849. package/lib/oldCommands/spaces/ps.d.ts +0 -1
  850. package/lib/oldCommands/spaces/ps.js +0 -97
  851. package/lib/oldCommands/spaces/rename.d.ts +0 -1
  852. package/lib/oldCommands/spaces/rename.js +0 -29
  853. package/lib/oldCommands/spaces/topology.d.ts +0 -1
  854. package/lib/oldCommands/spaces/topology.js +0 -95
  855. package/lib/oldCommands/spaces/transfer.d.ts +0 -1
  856. package/lib/oldCommands/spaces/transfer.js +0 -37
  857. package/lib/oldCommands/spaces/trusted-ips/add.d.ts +0 -1
  858. package/lib/oldCommands/spaces/trusted-ips/add.js +0 -48
  859. package/lib/oldCommands/spaces/trusted-ips/index.d.ts +0 -1
  860. package/lib/oldCommands/spaces/trusted-ips/index.js +0 -57
  861. package/lib/oldCommands/spaces/trusted-ips/remove.d.ts +0 -1
  862. package/lib/oldCommands/spaces/trusted-ips/remove.js +0 -50
  863. package/lib/oldCommands/spaces/vpn/config.d.ts +0 -1
  864. package/lib/oldCommands/spaces/vpn/config.js +0 -61
  865. package/lib/oldCommands/spaces/vpn/connect.d.ts +0 -1
  866. package/lib/oldCommands/spaces/vpn/connect.js +0 -54
  867. package/lib/oldCommands/spaces/vpn/connections.d.ts +0 -1
  868. package/lib/oldCommands/spaces/vpn/connections.js +0 -70
  869. package/lib/oldCommands/spaces/vpn/destroy.d.ts +0 -1
  870. package/lib/oldCommands/spaces/vpn/destroy.js +0 -48
  871. package/lib/oldCommands/spaces/vpn/info.d.ts +0 -1
  872. package/lib/oldCommands/spaces/vpn/info.js +0 -89
  873. package/lib/oldCommands/spaces/vpn/update.d.ts +0 -1
  874. package/lib/oldCommands/spaces/vpn/update.js +0 -46
  875. package/lib/oldCommands/spaces/vpn/wait.d.ts +0 -1
  876. package/lib/oldCommands/spaces/vpn/wait.js +0 -80
  877. package/lib/oldCommands/spaces/wait.d.ts +0 -1
  878. package/lib/oldCommands/spaces/wait.js +0 -106
  879. package/lib/oldCommands/webhooks/add.d.ts +0 -1
  880. package/lib/oldCommands/webhooks/add.js +0 -56
  881. package/lib/oldCommands/webhooks/deliveries/index.d.ts +0 -1
  882. package/lib/oldCommands/webhooks/deliveries/index.js +0 -90
  883. package/lib/oldCommands/webhooks/deliveries/info.d.ts +0 -1
  884. package/lib/oldCommands/webhooks/deliveries/info.js +0 -54
  885. package/lib/oldCommands/webhooks/index.d.ts +0 -1
  886. package/lib/oldCommands/webhooks/index.js +0 -55
  887. package/lib/oldCommands/webhooks/info.d.ts +0 -1
  888. package/lib/oldCommands/webhooks/info.js +0 -41
  889. package/lib/oldCommands/webhooks/remove.d.ts +0 -1
  890. package/lib/oldCommands/webhooks/remove.js +0 -37
  891. package/lib/oldCommands/webhooks/update.d.ts +0 -1
  892. package/lib/oldCommands/webhooks/update.js +0 -50
  893. package/lib/package.nls.json +0 -6
  894. /package/lib/lib/{pg/bastion.d.ts → data-scrubber/types.js} +0 -0
  895. /package/lib/lib/{spaces/outbound-rules.d.ts → types/completion.js} +0 -0
@@ -2,76 +2,68 @@
2
2
  /// <reference types="node" resolution-mode="require"/>
3
3
  /// <reference types="node" resolution-mode="require"/>
4
4
  /// <reference types="node" resolution-mode="require"/>
5
- import { APIClient } from '@heroku-cli/command';
6
- import { Dyno as APIDyno } from '@heroku-cli/schema';
7
5
  import { HTTP } from '@heroku/http-call';
6
+ import { APIClient, type IOptions } from '@heroku-cli/command';
7
+ import { Dyno as APIDyno } from '@heroku-cli/schema';
8
8
  import * as net from 'net';
9
9
  import { Duplex } from 'stream';
10
10
  import * as tls from 'tls';
11
11
  import { URL } from 'url';
12
12
  interface HerokuApiClientRun extends APIClient {
13
- options: IOptions & {
13
+ options: {
14
14
  rejectUnauthorized?: boolean;
15
- };
15
+ } & IOptions;
16
16
  }
17
- interface DynoOpts {
18
- 'exit-code'?: boolean;
19
- 'no-tty'?: boolean;
17
+ export interface DynoOpts {
20
18
  app: string;
21
19
  attach?: boolean;
22
20
  command: string;
23
21
  dyno?: string;
24
22
  env?: string;
23
+ 'exit-code'?: boolean;
25
24
  heroku: APIClient;
26
25
  listen?: boolean;
26
+ 'no-tty'?: boolean;
27
+ notificationSubtitle?: string;
27
28
  notify?: boolean;
28
29
  showStatus?: boolean;
29
30
  size?: string;
30
31
  type?: string;
31
32
  }
32
- interface IOptions {
33
- debug?: boolean;
34
- debugHeaders?: boolean;
35
- preauth?: boolean;
36
- required?: boolean;
37
- }
38
33
  export default class Dyno extends Duplex {
39
34
  opts: DynoOpts;
40
- get _useSSH(): boolean | undefined;
41
35
  dyno?: APIDyno;
42
36
  heroku: HerokuApiClientRun;
43
37
  input: any;
44
- p: any;
45
- reject?: (reason?: any) => void;
46
- resolve?: (value?: unknown) => void;
47
- uri?: URL;
48
38
  legacyUri?: {
49
39
  [key: string]: any;
50
40
  };
41
+ p: any;
42
+ reject?: (reason?: any) => void;
43
+ resolve?: (value?: unknown) => void;
51
44
  unpipeStdin: any;
45
+ uri?: URL;
52
46
  useSSH: any;
53
47
  private _notified?;
54
48
  private _startedAt?;
55
49
  constructor(opts: DynoOpts);
56
- /**
57
- * Starts the dyno
58
- */
59
- start(): Promise<void>;
60
- _doStart(retries?: number): Promise<HTTP<unknown> | undefined>;
61
50
  attach(): any;
62
- _rendezvous(): Promise<unknown>;
63
- _ssh(retries?: number): Promise<unknown>;
51
+ start(): Promise<void>;
64
52
  _connect(): Promise<unknown>;
65
- _handle(localServer: net.Server): void;
66
- _isDebug(): boolean | "" | undefined;
53
+ _doStart(retries?: number): Promise<HTTP<unknown> | undefined>;
67
54
  _env(): {
68
55
  [key: string]: any;
69
56
  };
70
- _status(status: string | undefined): string;
57
+ _handle(localServer: net.Server): void;
58
+ _isDebug(): boolean | "" | undefined;
59
+ _notify(): void;
60
+ _read(): void;
71
61
  _readData(c?: tls.TLSSocket): (data: string) => void;
72
62
  _readStdin(c: tls.TLSSocket): void;
73
- _read(): void;
63
+ _rendezvous(): Promise<unknown>;
64
+ _ssh(retries?: number): Promise<unknown>;
65
+ _status(status: string | undefined): string;
66
+ get _useSSH(): boolean | undefined;
74
67
  _write(chunk: any, encoding: any, callback: any): void;
75
- _notify(): void;
76
68
  }
77
69
  export {};
@@ -1,36 +1,32 @@
1
1
  /* eslint-disable @typescript-eslint/ban-ts-comment */
2
- import { color } from '@heroku-cli/color';
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ import { color } from '@heroku/heroku-cli-util';
3
4
  import { notify } from '@heroku-cli/notifications';
4
- import { spawn } from 'child_process';
5
5
  import { ux } from '@oclif/core';
6
6
  import debugFactory from 'debug';
7
7
  import * as https from 'https';
8
8
  import * as net from 'net';
9
+ import { spawn } from 'node:child_process';
9
10
  import { Duplex, Transform } from 'stream';
10
11
  import * as tls from 'tls';
11
12
  import * as tty from 'tty';
12
- import { URL, parse } from 'url';
13
+ import { URL } from 'url';
13
14
  import { buildEnvFromFlag } from './helpers.js';
14
15
  const debug = debugFactory('heroku:run');
15
- const wait = (ms) => new Promise(resolve => setTimeout(() => resolve(), ms));
16
+ const wait = (ms) => new Promise(resolve => {
17
+ setTimeout(() => resolve(), ms);
18
+ });
16
19
  export default class Dyno extends Duplex {
17
20
  opts;
18
- get _useSSH() {
19
- if (this.uri) {
20
- /* tslint:disable:no-http-string */
21
- return this.uri.protocol === 'http:' || this.uri.protocol === 'https:';
22
- /* tslint:enable:no-http-string */
23
- }
24
- }
25
21
  dyno;
26
22
  heroku;
27
23
  input;
24
+ legacyUri;
28
25
  p;
29
26
  reject;
30
27
  resolve;
31
- uri;
32
- legacyUri;
33
28
  unpipeStdin;
29
+ uri;
34
30
  useSSH;
35
31
  _notified;
36
32
  _startedAt;
@@ -44,68 +40,12 @@ export default class Dyno extends Duplex {
44
40
  this.opts.showStatus = true;
45
41
  }
46
42
  }
47
- /**
48
- * Starts the dyno
49
- */
50
- async start() {
51
- this._startedAt = Date.now();
52
- if (this.opts.showStatus) {
53
- ux.action.start(`Running ${color.cyan.bold(this.opts.command)} on ${color.app(this.opts.app)}`);
54
- }
55
- await this._doStart();
56
- }
57
- async _doStart(retries = 2) {
58
- const command = this.opts['exit-code'] ? `${this.opts.command}; echo "\uFFFF heroku-command-exit-status: $?"` : this.opts.command;
59
- try {
60
- const dyno = await this.heroku.post(this.opts.dyno ? `/apps/${this.opts.app}/dynos/${this.opts.dyno}` : `/apps/${this.opts.app}/dynos`, {
61
- headers: {
62
- Accept: this.opts.dyno ? 'application/vnd.heroku+json; version=3.run-inside' : 'application/vnd.heroku+json; version=3',
63
- },
64
- body: {
65
- command,
66
- attach: this.opts.attach,
67
- size: this.opts.size,
68
- type: this.opts.type,
69
- env: this._env(),
70
- force_no_tty: this.opts['no-tty'],
71
- },
72
- });
73
- // @ts-ignore
74
- this.dyno = dyno.body;
75
- if (this.opts.attach || this.opts.dyno) {
76
- // @ts-ignore
77
- if (this.dyno.name && this.opts.dyno === undefined) {
78
- // @ts-ignore
79
- this.opts.dyno = this.dyno.name;
80
- }
81
- await this.attach();
82
- }
83
- else if (this.opts.showStatus) {
84
- ux.action.stop(this._status('done'));
85
- }
86
- }
87
- catch (error) {
88
- // Currently the runtime API sends back a 409 in the event the
89
- // release isn't found yet. API just forwards this response back to
90
- // the client, so we'll need to retry these. This usually
91
- // happens when you create an app and immediately try to run a
92
- // one-off dyno. No pause between attempts since this is
93
- // typically a very short-lived condition.
94
- if (error.statusCode === 409 && retries > 0) {
95
- return this._doStart(retries - 1);
96
- }
97
- throw error;
98
- }
99
- finally {
100
- ux.action.stop();
101
- }
102
- }
103
43
  // Attaches stdin/stdout to dyno
104
44
  attach() {
105
45
  this.pipe(process.stdout);
106
46
  if (this.dyno && this.dyno.attach_url) {
107
47
  this.uri = new URL(this.dyno.attach_url);
108
- this.legacyUri = parse(this.dyno.attach_url);
48
+ this.legacyUri = new URL(this.dyno.attach_url);
109
49
  }
110
50
  if (this._useSSH) {
111
51
  this.p = this._ssh();
@@ -117,70 +57,13 @@ export default class Dyno extends Duplex {
117
57
  this.end();
118
58
  });
119
59
  }
120
- _rendezvous() {
121
- return new Promise((resolve, reject) => {
122
- this.resolve = resolve;
123
- this.reject = reject;
124
- if (this.opts.showStatus) {
125
- ux.action.status = this._status('starting');
126
- }
127
- // @ts-ignore
128
- const c = tls.connect(Number.parseInt(this.uri.port, 10), this.uri.hostname, {
129
- rejectUnauthorized: this.heroku.options.rejectUnauthorized,
130
- });
131
- c.setTimeout(1000 * 60 * 60);
132
- c.setEncoding('utf8');
133
- c.on('connect', () => {
134
- debug('connect');
135
- // @ts-ignore eslint-disable-next-line no-unsafe-optional-chaining
136
- const pathnameWithSearchParams = this.uri.pathname + this.uri.search;
137
- c.write(pathnameWithSearchParams.slice(1) + '\r\n', () => {
138
- if (this.opts.showStatus) {
139
- ux.action.status = this._status('connecting');
140
- }
141
- });
142
- });
143
- c.on('data', this._readData(c));
144
- c.on('close', () => {
145
- debug('close');
146
- // @ts-ignore
147
- this.opts['exit-code'] ? this.reject('No exit code returned') : this.resolve();
148
- if (this.unpipeStdin) {
149
- this.unpipeStdin();
150
- }
151
- });
152
- c.on('error', this.reject);
153
- c.on('timeout', () => {
154
- debug('timeout');
155
- c.end();
156
- // @ts-ignore
157
- this.reject(new Error('timed out'));
158
- });
159
- process.once('SIGINT', () => c.end());
160
- });
161
- }
162
- async _ssh(retries = 20) {
163
- const interval = 1000;
164
- try {
165
- const { body: dyno } = await this.heroku.get(`/apps/${this.opts.app}/dynos/${this.opts.dyno}`);
166
- // @ts-ignore
167
- this.dyno = dyno;
168
- // @ts-ignore
169
- ux.action.stop(this._status(this.dyno.state));
170
- // @ts-ignore
171
- if (this.dyno.state === 'starting' || this.dyno.state === 'up') {
172
- return this._connect();
173
- }
174
- await wait(interval);
175
- return this._ssh();
176
- }
177
- catch (error) {
178
- // the API sometimes responds with a 404 when the dyno is not yet ready
179
- if (error.http.statusCode === 404 && retries > 0) {
180
- return this._ssh(retries - 1);
181
- }
182
- throw error;
60
+ // Starts the dyno
61
+ async start() {
62
+ this._startedAt = Date.now();
63
+ if (this.opts.showStatus) {
64
+ ux.action.start(`Running ${color.code(this.opts.command)} on ${color.app(this.opts.app)}`);
183
65
  }
66
+ await this._doStart();
184
67
  }
185
68
  _connect() {
186
69
  return new Promise((resolve, reject) => {
@@ -193,6 +76,13 @@ export default class Dyno extends Duplex {
193
76
  const r = https.request(options);
194
77
  r.end();
195
78
  r.on('error', this.reject);
79
+ r.on('response', response => {
80
+ const { statusCode } = response;
81
+ if (statusCode === 403) {
82
+ r.destroy();
83
+ this.reject?.(new Error("You can't access this space from your IP address. Contact your team admin."));
84
+ }
85
+ });
196
86
  r.on('upgrade', (_, remote) => {
197
87
  const s = net.createServer(client => {
198
88
  client.on('end', () => {
@@ -216,6 +106,61 @@ export default class Dyno extends Duplex {
216
106
  });
217
107
  });
218
108
  }
109
+ async _doStart(retries = 2) {
110
+ const command = this.opts['exit-code'] ? `${this.opts.command}; echo "\uFFFF heroku-command-exit-status: $?"` : this.opts.command;
111
+ try {
112
+ const dyno = await this.heroku.post(this.opts.dyno ? `/apps/${this.opts.app}/dynos/${this.opts.dyno}` : `/apps/${this.opts.app}/dynos`, {
113
+ body: {
114
+ attach: this.opts.attach,
115
+ command,
116
+ env: this._env(),
117
+ force_no_tty: this.opts['no-tty'],
118
+ size: this.opts.size,
119
+ type: this.opts.type,
120
+ },
121
+ headers: {
122
+ Accept: this.opts.dyno ? 'application/vnd.heroku+json; version=3.run-inside' : 'application/vnd.heroku+json; version=3',
123
+ },
124
+ });
125
+ // @ts-ignore
126
+ this.dyno = dyno.body;
127
+ if (this.opts.attach || this.opts.dyno) {
128
+ // @ts-ignore
129
+ if (this.dyno.name && this.opts.dyno === undefined) {
130
+ // @ts-ignore
131
+ this.opts.dyno = this.dyno.name;
132
+ }
133
+ await this.attach();
134
+ }
135
+ else if (this.opts.showStatus) {
136
+ ux.action.stop(this._status('done'));
137
+ }
138
+ }
139
+ catch (error) {
140
+ // Currently the runtime API sends back a 409 in the event the
141
+ // release isn't found yet. API just forwards this response back to
142
+ // the client, so we'll need to retry these. This usually
143
+ // happens when you create an app and immediately try to run a
144
+ // one-off dyno. No pause between attempts since this is
145
+ // typically a very short-lived condition.
146
+ if (error.statusCode === 409 && retries > 0) {
147
+ return this._doStart(retries - 1);
148
+ }
149
+ throw error;
150
+ }
151
+ finally {
152
+ ux.action.stop();
153
+ }
154
+ }
155
+ _env() {
156
+ const c = this.opts.env ? buildEnvFromFlag(this.opts.env) : {};
157
+ c.TERM = process.env.TERM;
158
+ if (tty.isatty(1)) {
159
+ c.COLUMNS = process.stdout.columns;
160
+ c.LINES = process.stdout.rows;
161
+ }
162
+ return c;
163
+ }
219
164
  _handle(localServer) {
220
165
  const addr = localServer.address();
221
166
  const host = addr.address;
@@ -224,7 +169,7 @@ export default class Dyno extends Duplex {
224
169
  // does not actually uncork but allows error to be displayed when attempting to read
225
170
  this.uncork();
226
171
  if (this.opts.listen) {
227
- ux.stderr(`listening on port ${host}:${port} for ssh client`);
172
+ ux.stdout(`listening on port ${host}:${port} for ssh client`);
228
173
  }
229
174
  else {
230
175
  const params = [host, '-p', port.toString(), '-oStrictHostKeyChecking=no', '-oUserKnownHostsFile=/dev/null', '-oServerAliveInterval=20'];
@@ -275,7 +220,7 @@ export default class Dyno extends Duplex {
275
220
  }
276
221
  msgs.push('Check that your ssh key has been uploaded to heroku with `heroku keys:add`.');
277
222
  // eslint-disable-next-line unicorn/no-array-push-push
278
- msgs.push(`See ${color.cyan('https://devcenter.heroku.com/articles/one-off-dynos#shield-private-spaces')}`);
223
+ msgs.push(`See ${color.info('https://devcenter.heroku.com/articles/one-off-dynos#shield-private-spaces')}`);
279
224
  ux.error(msgs.join('\n'));
280
225
  }
281
226
  // cleanup local server
@@ -291,20 +236,33 @@ export default class Dyno extends Duplex {
291
236
  const debug = process.env.HEROKU_DEBUG;
292
237
  return debug && (debug === '1' || debug.toUpperCase() === 'TRUE');
293
238
  }
294
- _env() {
295
- const c = this.opts.env ? buildEnvFromFlag(this.opts.env) : {};
296
- c.TERM = process.env.TERM;
297
- if (tty.isatty(1)) {
298
- c.COLUMNS = process.stdout.columns;
299
- c.LINES = process.stdout.rows;
239
+ _notify() {
240
+ try {
241
+ if (this._notified)
242
+ return;
243
+ this._notified = true;
244
+ if (!this.opts.notify)
245
+ return;
246
+ // only show notifications if dyno took longer than 20 seconds to start
247
+ // @ts-ignore
248
+ if (Date.now() - this._startedAt < 1000 * 20)
249
+ return;
250
+ const notification = {
251
+ message: 'dyno is up',
252
+ subtitle: this.opts.notificationSubtitle || `heroku run ${this.opts.command}`,
253
+ title: this.opts.app,
254
+ };
255
+ notify(notification);
256
+ }
257
+ catch (error) {
258
+ ux.warn(error);
300
259
  }
301
- return c;
302
260
  }
303
- _status(status) {
304
- // @ts-ignore
305
- const size = this.dyno.size > 0 ? ` (${this.dyno.size})` : '';
306
- // @ts-ignore
307
- return `${status}, ${this.dyno.name || this.opts.dyno}${size}`;
261
+ _read() {
262
+ if (this.useSSH) {
263
+ throw new Error('Cannot read stream from ssh dyno');
264
+ }
265
+ // do not need to do anything to handle Readable interface
308
266
  }
309
267
  _readData(c) {
310
268
  let firstLine = true;
@@ -321,8 +279,7 @@ export default class Dyno extends Duplex {
321
279
  this._notify();
322
280
  // carriage returns break json parsing of output
323
281
  if (!process.stdout.isTTY) {
324
- // eslint-disable-next-line no-control-regex, prefer-regex-literals
325
- data = data.replace(new RegExp('\r\n', 'g'), '\n');
282
+ data = data.replaceAll('\r\n', '\n');
326
283
  }
327
284
  const exitCode = data.match(/\uFFFF heroku-command-exit-status: (\d+)/m);
328
285
  if (exitCode) {
@@ -334,7 +291,7 @@ export default class Dyno extends Duplex {
334
291
  this.resolve();
335
292
  }
336
293
  else {
337
- const err = new Error(`Process exited with code ${color.red(code.toString())}`);
294
+ const err = new Error(`Process exited with code ${color.failure(code.toString())}`);
338
295
  err.exitCode = code;
339
296
  // @ts-ignore
340
297
  this.reject(err);
@@ -370,19 +327,90 @@ export default class Dyno extends Duplex {
370
327
  }
371
328
  else {
372
329
  stdin.pipe(new Transform({
330
+ flush: done => c.write('\u0004', done),
373
331
  objectMode: true,
374
332
  transform: (chunk, _, next) => c.write(chunk, next),
375
- // eslint-disable-next-line unicorn/no-hex-escape
376
- flush: done => c.write('\x04', done),
377
333
  }));
378
334
  }
379
335
  this.uncork();
380
336
  }
381
- _read() {
382
- if (this.useSSH) {
383
- throw new Error('Cannot read stream from ssh dyno');
337
+ _rendezvous() {
338
+ return new Promise((resolve, reject) => {
339
+ this.resolve = resolve;
340
+ this.reject = reject;
341
+ if (this.opts.showStatus) {
342
+ ux.action.status = this._status('starting');
343
+ }
344
+ // @ts-ignore
345
+ const c = tls.connect(Number.parseInt(this.uri.port, 10), this.uri.hostname, {
346
+ rejectUnauthorized: this.heroku.options.rejectUnauthorized,
347
+ });
348
+ c.setTimeout(1000 * 60 * 60);
349
+ c.setEncoding('utf8');
350
+ c.on('connect', () => {
351
+ debug('dyno connect');
352
+ // @ts-ignore eslint-disable-next-line no-unsafe-optional-chaining
353
+ const pathnameWithSearchParams = this.uri.pathname + this.uri.search;
354
+ c.write(pathnameWithSearchParams.slice(1) + '\r\n', () => {
355
+ if (this.opts.showStatus) {
356
+ ux.action.status = this._status('connecting');
357
+ }
358
+ });
359
+ });
360
+ c.on('data', this._readData(c));
361
+ c.on('close', () => {
362
+ debug('dyno connection close');
363
+ // @ts-ignore
364
+ this.opts['exit-code'] ? this.reject('No exit code returned') : this.resolve();
365
+ if (this.unpipeStdin) {
366
+ this.unpipeStdin();
367
+ }
368
+ });
369
+ c.on('error', this.reject);
370
+ c.on('timeout', () => {
371
+ debug('dyno timeout');
372
+ c.end();
373
+ // @ts-ignore
374
+ this.reject(new Error('timed out'));
375
+ });
376
+ process.once('SIGINT', () => c.end());
377
+ });
378
+ }
379
+ async _ssh(retries = 20) {
380
+ const interval = 1000;
381
+ try {
382
+ const { body: dyno } = await this.heroku.get(`/apps/${this.opts.app}/dynos/${this.opts.dyno}`);
383
+ // @ts-ignore
384
+ this.dyno = dyno;
385
+ // @ts-ignore
386
+ ux.action.stop(this._status(this.dyno.state));
387
+ // @ts-ignore
388
+ if (this.dyno.state === 'starting' || this.dyno.state === 'up') {
389
+ return this._connect();
390
+ }
391
+ await wait(interval);
392
+ return this._ssh();
393
+ }
394
+ catch (error) {
395
+ // the API sometimes responds with a 404 when the dyno is not yet ready
396
+ if (error.http.statusCode === 404 && retries > 0) {
397
+ return this._ssh(retries - 1);
398
+ }
399
+ throw error;
400
+ }
401
+ }
402
+ _status(status) {
403
+ // @ts-ignore
404
+ const size = this.dyno.size > 0 ? ` (${this.dyno.size})` : '';
405
+ // @ts-ignore
406
+ return `${status}, ${this.dyno.name || this.opts.dyno}${size}`;
407
+ }
408
+ get _useSSH() {
409
+ if (this.uri) {
410
+ /* tslint:disable:no-http-string */
411
+ return this.uri.protocol === 'http:' || this.uri.protocol === 'https:';
412
+ /* tslint:enable:no-http-string */
384
413
  }
385
- // do not need to do anything to handle Readable interface
386
414
  }
387
415
  _write(chunk, encoding, callback) {
388
416
  if (this.useSSH) {
@@ -392,28 +420,4 @@ export default class Dyno extends Duplex {
392
420
  throw new Error('no input');
393
421
  this.input.write(chunk, encoding, callback);
394
422
  }
395
- _notify() {
396
- try {
397
- if (this._notified)
398
- return;
399
- this._notified = true;
400
- if (!this.opts.notify)
401
- return;
402
- // only show notifications if dyno took longer than 20 seconds to start
403
- // @ts-ignore
404
- if (Date.now() - this._startedAt < 1000 * 20)
405
- return;
406
- const notification = {
407
- // @ts-ignore
408
- title: this.opts.app,
409
- subtitle: `heroku run ${this.opts.command}`,
410
- message: 'dyno is up',
411
- // sound: true
412
- };
413
- notify(notification);
414
- }
415
- catch (error) {
416
- ux.warn(error);
417
- }
418
- }
419
423
  }
@@ -1,3 +1,28 @@
1
+ import type { APIClient } from '@heroku-cli/command';
1
2
  export declare function revertSortedArgs(processArgs: Array<string>, argv: Array<string>): string[];
2
3
  export declare function buildCommand(args: Array<string>, prependLauncher?: boolean): string;
3
4
  export declare function buildEnvFromFlag(flag: string): {};
5
+ /**
6
+ * Determines whether to prepend `launcher` to the command for a given app.
7
+ * Behavior: Only prepend on CNB stack apps and when not explicitly disabled.
8
+ */
9
+ export declare function shouldPrependLauncher(heroku: APIClient, appName: string, disableLauncher: boolean): Promise<boolean>;
10
+ /**
11
+ * Builds the command string, automatically deciding whether to prepend `launcher`.
12
+ */
13
+ export declare function buildCommandWithLauncher(heroku: APIClient, appName: string, args: string[], disableLauncher: boolean): Promise<string>;
14
+ /**
15
+ * Fetches the response body from an HTTP request when the response body isn't available
16
+ * from the error object (e.g., EventSource doesn't expose response bodies).
17
+ *
18
+ * Uses native fetch API with a custom https.Agent to handle staging SSL certificates
19
+ * (rejectUnauthorized: false).
20
+ *
21
+ * Note: Node.js native fetch doesn't support custom agents directly, so we use
22
+ * https.request when rejectUnauthorized is needed, but structure the code with
23
+ *
24
+ * @param url - The URL to fetch the response body from
25
+ * @param expectedStatusCode - Only return body if status code matches (default: 403)
26
+ * @returns The response body as a string, or empty string if unavailable or status doesn't match
27
+ */
28
+ export declare function fetchHttpResponseBody(url: string, expectedStatusCode?: number): Promise<string>;