@vendure/cloud 0.4.0 → 0.5.0-dev.20261016123507.ge07a06e

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 (522) hide show
  1. package/README.md +43 -10
  2. package/dist/cli/arguments.d.ts.map +1 -1
  3. package/dist/cli/arguments.js +9 -31
  4. package/dist/cli/arguments.js.map +1 -1
  5. package/dist/cli/command.d.ts.map +1 -1
  6. package/dist/cli/command.js +13 -30
  7. package/dist/cli/command.js.map +1 -1
  8. package/dist/cli/commands/access/access.d.ts +5 -0
  9. package/dist/cli/commands/access/access.d.ts.map +1 -0
  10. package/dist/cli/commands/access/access.js +73 -0
  11. package/dist/cli/commands/access/access.js.map +1 -0
  12. package/dist/cli/commands/access/index.d.ts +2 -0
  13. package/dist/cli/commands/access/index.d.ts.map +1 -0
  14. package/dist/cli/commands/access/index.js +46 -0
  15. package/dist/cli/commands/access/index.js.map +1 -0
  16. package/dist/cli/commands/deployment/arguments.d.ts.map +1 -1
  17. package/dist/cli/commands/deployment/arguments.js +1 -8
  18. package/dist/cli/commands/deployment/arguments.js.map +1 -1
  19. package/dist/cli/commands/deployment/build-logs.d.ts.map +1 -1
  20. package/dist/cli/commands/deployment/build-logs.js +12 -16
  21. package/dist/cli/commands/deployment/build-logs.js.map +1 -1
  22. package/dist/cli/commands/deployment/deploy.d.ts.map +1 -1
  23. package/dist/cli/commands/deployment/deploy.js +88 -45
  24. package/dist/cli/commands/deployment/deploy.js.map +1 -1
  25. package/dist/cli/commands/deployment/index.d.ts.map +1 -1
  26. package/dist/cli/commands/deployment/index.js +18 -30
  27. package/dist/cli/commands/deployment/index.js.map +1 -1
  28. package/dist/cli/commands/deployment/list.d.ts.map +1 -1
  29. package/dist/cli/commands/deployment/list.js +5 -5
  30. package/dist/cli/commands/deployment/list.js.map +1 -1
  31. package/dist/cli/commands/deployment/log-export.d.ts.map +1 -1
  32. package/dist/cli/commands/deployment/log-export.js +14 -27
  33. package/dist/cli/commands/deployment/log-export.js.map +1 -1
  34. package/dist/cli/commands/deployment/log-query-output.d.ts.map +1 -1
  35. package/dist/cli/commands/deployment/log-query-output.js +18 -32
  36. package/dist/cli/commands/deployment/log-query-output.js.map +1 -1
  37. package/dist/cli/commands/deployment/logs.d.ts.map +1 -1
  38. package/dist/cli/commands/deployment/logs.js +52 -72
  39. package/dist/cli/commands/deployment/logs.js.map +1 -1
  40. package/dist/cli/commands/deployment/options.d.ts.map +1 -1
  41. package/dist/cli/commands/deployment/options.js +11 -20
  42. package/dist/cli/commands/deployment/options.js.map +1 -1
  43. package/dist/cli/commands/deployment/plan-format.d.ts.map +1 -1
  44. package/dist/cli/commands/deployment/plan-format.js +2 -2
  45. package/dist/cli/commands/deployment/plan-format.js.map +1 -1
  46. package/dist/cli/commands/deployment/plan.d.ts.map +1 -1
  47. package/dist/cli/commands/deployment/plan.js +7 -8
  48. package/dist/cli/commands/deployment/plan.js.map +1 -1
  49. package/dist/cli/commands/deployment/recovery.d.ts.map +1 -1
  50. package/dist/cli/commands/deployment/recovery.js +25 -35
  51. package/dist/cli/commands/deployment/recovery.js.map +1 -1
  52. package/dist/cli/commands/deployment/rollback.d.ts.map +1 -1
  53. package/dist/cli/commands/deployment/rollback.js +58 -12
  54. package/dist/cli/commands/deployment/rollback.js.map +1 -1
  55. package/dist/cli/commands/deployment/shared.d.ts.map +1 -1
  56. package/dist/cli/commands/deployment/shared.js +4 -7
  57. package/dist/cli/commands/deployment/shared.js.map +1 -1
  58. package/dist/cli/commands/deployment/show.d.ts.map +1 -1
  59. package/dist/cli/commands/deployment/show.js +8 -9
  60. package/dist/cli/commands/deployment/show.js.map +1 -1
  61. package/dist/cli/commands/deployment/source.d.ts.map +1 -1
  62. package/dist/cli/commands/deployment/source.js +2 -2
  63. package/dist/cli/commands/deployment/source.js.map +1 -1
  64. package/dist/cli/commands/deployment/status.d.ts.map +1 -1
  65. package/dist/cli/commands/deployment/status.js +10 -11
  66. package/dist/cli/commands/deployment/status.js.map +1 -1
  67. package/dist/cli/commands/deployment/teardown.js +22 -31
  68. package/dist/cli/commands/deployment/teardown.js.map +1 -1
  69. package/dist/cli/commands/identity-context/context.d.ts.map +1 -1
  70. package/dist/cli/commands/identity-context/context.js +3 -4
  71. package/dist/cli/commands/identity-context/context.js.map +1 -1
  72. package/dist/cli/commands/identity-context/index.d.ts.map +1 -1
  73. package/dist/cli/commands/identity-context/index.js +16 -50
  74. package/dist/cli/commands/identity-context/index.js.map +1 -1
  75. package/dist/cli/commands/identity-context/keys.d.ts.map +1 -1
  76. package/dist/cli/commands/identity-context/keys.js +13 -15
  77. package/dist/cli/commands/identity-context/keys.js.map +1 -1
  78. package/dist/cli/commands/identity-context/use.js +1 -1
  79. package/dist/cli/commands/identity-context/use.js.map +1 -1
  80. package/dist/cli/commands/index.d.ts.map +1 -1
  81. package/dist/cli/commands/index.js +13 -20
  82. package/dist/cli/commands/index.js.map +1 -1
  83. package/dist/cli/commands/project-config/config/build-fields.d.ts.map +1 -1
  84. package/dist/cli/commands/project-config/config/build-fields.js +2 -3
  85. package/dist/cli/commands/project-config/config/build-fields.js.map +1 -1
  86. package/dist/cli/commands/project-config/config/build.d.ts.map +1 -1
  87. package/dist/cli/commands/project-config/config/build.js +8 -9
  88. package/dist/cli/commands/project-config/config/build.js.map +1 -1
  89. package/dist/cli/commands/project-config/config/desired-state.d.ts.map +1 -1
  90. package/dist/cli/commands/project-config/config/desired-state.js +10 -12
  91. package/dist/cli/commands/project-config/config/desired-state.js.map +1 -1
  92. package/dist/cli/commands/project-config/config/email/domain.d.ts.map +1 -1
  93. package/dist/cli/commands/project-config/config/email/domain.js +12 -9
  94. package/dist/cli/commands/project-config/config/email/domain.js.map +1 -1
  95. package/dist/cli/commands/project-config/config/email/events.d.ts.map +1 -1
  96. package/dist/cli/commands/project-config/config/email/events.js +9 -9
  97. package/dist/cli/commands/project-config/config/email/events.js.map +1 -1
  98. package/dist/cli/commands/project-config/config/email/index.d.ts.map +1 -1
  99. package/dist/cli/commands/project-config/config/email/index.js +5 -6
  100. package/dist/cli/commands/project-config/config/email/index.js.map +1 -1
  101. package/dist/cli/commands/project-config/config/email/test-sending.d.ts.map +1 -1
  102. package/dist/cli/commands/project-config/config/email/test-sending.js +6 -5
  103. package/dist/cli/commands/project-config/config/email/test-sending.js.map +1 -1
  104. package/dist/cli/commands/project-config/config/index.d.ts.map +1 -1
  105. package/dist/cli/commands/project-config/config/index.js +8 -10
  106. package/dist/cli/commands/project-config/config/index.js.map +1 -1
  107. package/dist/cli/commands/project-config/config/runtime.d.ts.map +1 -1
  108. package/dist/cli/commands/project-config/config/runtime.js +10 -21
  109. package/dist/cli/commands/project-config/config/runtime.js.map +1 -1
  110. package/dist/cli/commands/project-config/config/set.js +3 -3
  111. package/dist/cli/commands/project-config/config/set.js.map +1 -1
  112. package/dist/cli/commands/project-config/config/show.d.ts.map +1 -1
  113. package/dist/cli/commands/project-config/config/show.js +7 -7
  114. package/dist/cli/commands/project-config/config/show.js.map +1 -1
  115. package/dist/cli/commands/project-config/env/add.d.ts.map +1 -1
  116. package/dist/cli/commands/project-config/env/add.js +4 -3
  117. package/dist/cli/commands/project-config/env/add.js.map +1 -1
  118. package/dist/cli/commands/project-config/env/get.d.ts.map +1 -1
  119. package/dist/cli/commands/project-config/env/get.js +7 -2
  120. package/dist/cli/commands/project-config/env/get.js.map +1 -1
  121. package/dist/cli/commands/project-config/env/import.d.ts.map +1 -1
  122. package/dist/cli/commands/project-config/env/import.js +15 -8
  123. package/dist/cli/commands/project-config/env/import.js.map +1 -1
  124. package/dist/cli/commands/project-config/env/index.js +7 -8
  125. package/dist/cli/commands/project-config/env/index.js.map +1 -1
  126. package/dist/cli/commands/project-config/env/list.d.ts.map +1 -1
  127. package/dist/cli/commands/project-config/env/list.js +29 -8
  128. package/dist/cli/commands/project-config/env/list.js.map +1 -1
  129. package/dist/cli/commands/project-config/env/metadata-options.d.ts.map +1 -1
  130. package/dist/cli/commands/project-config/env/metadata-options.js +0 -1
  131. package/dist/cli/commands/project-config/env/metadata-options.js.map +1 -1
  132. package/dist/cli/commands/project-config/env/pull.d.ts.map +1 -1
  133. package/dist/cli/commands/project-config/env/pull.js +22 -8
  134. package/dist/cli/commands/project-config/env/pull.js.map +1 -1
  135. package/dist/cli/commands/project-config/env/read-value.d.ts.map +1 -1
  136. package/dist/cli/commands/project-config/env/read-value.js +8 -4
  137. package/dist/cli/commands/project-config/env/read-value.js.map +1 -1
  138. package/dist/cli/commands/project-config/env/rm.d.ts.map +1 -1
  139. package/dist/cli/commands/project-config/env/rm.js +4 -3
  140. package/dist/cli/commands/project-config/env/rm.js.map +1 -1
  141. package/dist/cli/commands/project-config/env/run.d.ts.map +1 -1
  142. package/dist/cli/commands/project-config/env/run.js +9 -8
  143. package/dist/cli/commands/project-config/env/run.js.map +1 -1
  144. package/dist/cli/commands/project-config/env/update.d.ts.map +1 -1
  145. package/dist/cli/commands/project-config/env/update.js +4 -3
  146. package/dist/cli/commands/project-config/env/update.js.map +1 -1
  147. package/dist/cli/commands/project-config/environment/create.d.ts.map +1 -1
  148. package/dist/cli/commands/project-config/environment/create.js +5 -6
  149. package/dist/cli/commands/project-config/environment/create.js.map +1 -1
  150. package/dist/cli/commands/project-config/environment/delete.d.ts.map +1 -1
  151. package/dist/cli/commands/project-config/environment/delete.js +6 -6
  152. package/dist/cli/commands/project-config/environment/delete.js.map +1 -1
  153. package/dist/cli/commands/project-config/environment/find.js +3 -3
  154. package/dist/cli/commands/project-config/environment/find.js.map +1 -1
  155. package/dist/cli/commands/project-config/environment/index.d.ts.map +1 -1
  156. package/dist/cli/commands/project-config/environment/index.js +8 -10
  157. package/dist/cli/commands/project-config/environment/index.js.map +1 -1
  158. package/dist/cli/commands/project-config/environment/initial-superadmin.d.ts.map +1 -1
  159. package/dist/cli/commands/project-config/environment/initial-superadmin.js +4 -5
  160. package/dist/cli/commands/project-config/environment/initial-superadmin.js.map +1 -1
  161. package/dist/cli/commands/project-config/environment/list.d.ts.map +1 -1
  162. package/dist/cli/commands/project-config/environment/list.js +5 -5
  163. package/dist/cli/commands/project-config/environment/list.js.map +1 -1
  164. package/dist/cli/commands/project-config/environment/regions.d.ts.map +1 -1
  165. package/dist/cli/commands/project-config/environment/regions.js +3 -3
  166. package/dist/cli/commands/project-config/environment/regions.js.map +1 -1
  167. package/dist/cli/commands/project-config/environment/show.d.ts.map +1 -1
  168. package/dist/cli/commands/project-config/environment/show.js +3 -4
  169. package/dist/cli/commands/project-config/environment/show.js.map +1 -1
  170. package/dist/cli/commands/project-config/environment/update.d.ts.map +1 -1
  171. package/dist/cli/commands/project-config/environment/update.js +3 -4
  172. package/dist/cli/commands/project-config/environment/update.js.map +1 -1
  173. package/dist/cli/commands/project-config/index.js +5 -5
  174. package/dist/cli/commands/project-config/index.js.map +1 -1
  175. package/dist/cli/commands/project-config/init/build-detection.d.ts.map +1 -1
  176. package/dist/cli/commands/project-config/init/build-detection.js +4 -4
  177. package/dist/cli/commands/project-config/init/build-detection.js.map +1 -1
  178. package/dist/cli/commands/project-config/init/index.d.ts.map +1 -1
  179. package/dist/cli/commands/project-config/init/index.js +4 -5
  180. package/dist/cli/commands/project-config/init/index.js.map +1 -1
  181. package/dist/cli/commands/project-config/init/init.d.ts.map +1 -1
  182. package/dist/cli/commands/project-config/init/init.js +18 -22
  183. package/dist/cli/commands/project-config/init/init.js.map +1 -1
  184. package/dist/cli/commands/project-config/options.d.ts.map +1 -1
  185. package/dist/cli/commands/project-config/options.js +9 -14
  186. package/dist/cli/commands/project-config/options.js.map +1 -1
  187. package/dist/cli/commands/project-config/project/create.d.ts.map +1 -1
  188. package/dist/cli/commands/project-config/project/create.js +3 -3
  189. package/dist/cli/commands/project-config/project/create.js.map +1 -1
  190. package/dist/cli/commands/project-config/project/delete.d.ts.map +1 -1
  191. package/dist/cli/commands/project-config/project/delete.js +4 -5
  192. package/dist/cli/commands/project-config/project/delete.js.map +1 -1
  193. package/dist/cli/commands/project-config/project/index.d.ts.map +1 -1
  194. package/dist/cli/commands/project-config/project/index.js +4 -5
  195. package/dist/cli/commands/project-config/project/index.js.map +1 -1
  196. package/dist/cli/commands/project-config/project/link.d.ts.map +1 -1
  197. package/dist/cli/commands/project-config/project/link.js +4 -4
  198. package/dist/cli/commands/project-config/project/link.js.map +1 -1
  199. package/dist/cli/commands/project-config/project/list.d.ts.map +1 -1
  200. package/dist/cli/commands/project-config/project/list.js +5 -5
  201. package/dist/cli/commands/project-config/project/list.js.map +1 -1
  202. package/dist/cli/commands/project-config/project/show.d.ts.map +1 -1
  203. package/dist/cli/commands/project-config/project/show.js +11 -14
  204. package/dist/cli/commands/project-config/project/show.js.map +1 -1
  205. package/dist/cli/commands/project-config/project/subscription-state.d.ts.map +1 -1
  206. package/dist/cli/commands/project-config/project/subscription-state.js +17 -20
  207. package/dist/cli/commands/project-config/project/subscription-state.js.map +1 -1
  208. package/dist/cli/commands/project-config/project/unlink.d.ts.map +1 -1
  209. package/dist/cli/commands/project-config/project/unlink.js +2 -3
  210. package/dist/cli/commands/project-config/project/unlink.js.map +1 -1
  211. package/dist/cli/commands/project-config/project/update.d.ts.map +1 -1
  212. package/dist/cli/commands/project-config/project/update.js +3 -4
  213. package/dist/cli/commands/project-config/project/update.js.map +1 -1
  214. package/dist/cli/commands/project-config/source/connect.d.ts.map +1 -1
  215. package/dist/cli/commands/project-config/source/connect.js +24 -26
  216. package/dist/cli/commands/project-config/source/connect.js.map +1 -1
  217. package/dist/cli/commands/project-config/source/disconnect.d.ts.map +1 -1
  218. package/dist/cli/commands/project-config/source/disconnect.js +4 -4
  219. package/dist/cli/commands/project-config/source/disconnect.js.map +1 -1
  220. package/dist/cli/commands/project-config/source/index.js +7 -7
  221. package/dist/cli/commands/project-config/source/index.js.map +1 -1
  222. package/dist/cli/commands/project-config/source/map.d.ts.map +1 -1
  223. package/dist/cli/commands/project-config/source/map.js +12 -16
  224. package/dist/cli/commands/project-config/source/map.js.map +1 -1
  225. package/dist/cli/commands/project-config/source/repos.d.ts.map +1 -1
  226. package/dist/cli/commands/project-config/source/repos.js +5 -5
  227. package/dist/cli/commands/project-config/source/repos.js.map +1 -1
  228. package/dist/cli/commands/project-config/source/status.d.ts.map +1 -1
  229. package/dist/cli/commands/project-config/source/status.js +16 -25
  230. package/dist/cli/commands/project-config/source/status.js.map +1 -1
  231. package/dist/cli/commands/runtime-data/backup.d.ts.map +1 -1
  232. package/dist/cli/commands/runtime-data/backup.js +34 -36
  233. package/dist/cli/commands/runtime-data/backup.js.map +1 -1
  234. package/dist/cli/commands/runtime-data/index.d.ts.map +1 -1
  235. package/dist/cli/commands/runtime-data/index.js +38 -39
  236. package/dist/cli/commands/runtime-data/index.js.map +1 -1
  237. package/dist/cli/commands/runtime-data/resource.d.ts +1 -0
  238. package/dist/cli/commands/runtime-data/resource.d.ts.map +1 -1
  239. package/dist/cli/commands/runtime-data/resource.js +92 -33
  240. package/dist/cli/commands/runtime-data/resource.js.map +1 -1
  241. package/dist/cli/commands/runtime-data/restore.d.ts.map +1 -1
  242. package/dist/cli/commands/runtime-data/restore.js +32 -45
  243. package/dist/cli/commands/runtime-data/restore.js.map +1 -1
  244. package/dist/cli/commands/runtime-data/seeds.d.ts.map +1 -1
  245. package/dist/cli/commands/runtime-data/seeds.js +24 -26
  246. package/dist/cli/commands/runtime-data/seeds.js.map +1 -1
  247. package/dist/cli/commands/runtime-data/tunnel.d.ts.map +1 -1
  248. package/dist/cli/commands/runtime-data/tunnel.js +33 -43
  249. package/dist/cli/commands/runtime-data/tunnel.js.map +1 -1
  250. package/dist/cli/host-arguments.d.ts.map +1 -1
  251. package/dist/cli/host-arguments.js +10 -18
  252. package/dist/cli/host-arguments.js.map +1 -1
  253. package/dist/cli/host-nodes.js +1 -1
  254. package/dist/cli/host-nodes.js.map +1 -1
  255. package/dist/cli/index.d.ts +10 -13
  256. package/dist/cli/index.d.ts.map +1 -1
  257. package/dist/cli/index.js +22 -33
  258. package/dist/cli/index.js.map +1 -1
  259. package/dist/cli/lib/api-client.d.ts +10 -5
  260. package/dist/cli/lib/api-client.d.ts.map +1 -1
  261. package/dist/cli/lib/api-client.js +23 -42
  262. package/dist/cli/lib/api-client.js.map +1 -1
  263. package/dist/cli/lib/auth.d.ts +4 -145
  264. package/dist/cli/lib/auth.d.ts.map +1 -1
  265. package/dist/cli/lib/auth.js +8 -515
  266. package/dist/cli/lib/auth.js.map +1 -1
  267. package/dist/cli/lib/cli-login.d.ts +12 -0
  268. package/dist/cli/lib/cli-login.d.ts.map +1 -0
  269. package/dist/cli/lib/cli-login.js +155 -0
  270. package/dist/cli/lib/cli-login.js.map +1 -0
  271. package/dist/cli/lib/cloud-api-url.d.ts +2 -0
  272. package/dist/cli/lib/cloud-api-url.d.ts.map +1 -0
  273. package/dist/cli/lib/cloud-api-url.js +3 -0
  274. package/dist/cli/lib/cloud-api-url.js.map +1 -0
  275. package/dist/cli/lib/commit.d.ts.map +1 -1
  276. package/dist/cli/lib/commit.js +2 -3
  277. package/dist/cli/lib/commit.js.map +1 -1
  278. package/dist/cli/lib/config-revisions.d.ts +9 -0
  279. package/dist/cli/lib/config-revisions.d.ts.map +1 -0
  280. package/dist/cli/lib/config-revisions.js +52 -0
  281. package/dist/cli/lib/config-revisions.js.map +1 -0
  282. package/dist/cli/lib/config.d.ts +0 -4
  283. package/dist/cli/lib/config.d.ts.map +1 -1
  284. package/dist/cli/lib/config.js +3 -5
  285. package/dist/cli/lib/config.js.map +1 -1
  286. package/dist/cli/lib/console-pairing.d.ts +1 -14
  287. package/dist/cli/lib/console-pairing.d.ts.map +1 -1
  288. package/dist/cli/lib/console-pairing.js +48 -60
  289. package/dist/cli/lib/console-pairing.js.map +1 -1
  290. package/dist/cli/lib/contract/backup-schedule-reasons.d.ts.map +1 -1
  291. package/dist/cli/lib/contract/backup-schedule-reasons.js +3 -7
  292. package/dist/cli/lib/contract/backup-schedule-reasons.js.map +1 -1
  293. package/dist/cli/lib/contract/build-settings.d.ts +1 -1
  294. package/dist/cli/lib/contract/build-settings.d.ts.map +1 -1
  295. package/dist/cli/lib/contract/build-settings.js +12 -18
  296. package/dist/cli/lib/contract/build-settings.js.map +1 -1
  297. package/dist/cli/lib/contract/database.d.ts.map +1 -1
  298. package/dist/cli/lib/contract/database.js +7 -13
  299. package/dist/cli/lib/contract/database.js.map +1 -1
  300. package/dist/cli/lib/contract/deployment-resource-labels.d.ts.map +1 -1
  301. package/dist/cli/lib/contract/deployment-resource-labels.js +2 -6
  302. package/dist/cli/lib/contract/deployment-resource-labels.js.map +1 -1
  303. package/dist/cli/lib/contract/deployments.d.ts +1 -0
  304. package/dist/cli/lib/contract/deployments.d.ts.map +1 -1
  305. package/dist/cli/lib/contract/deployments.js +32 -40
  306. package/dist/cli/lib/contract/deployments.js.map +1 -1
  307. package/dist/cli/lib/contract/desired-state.d.ts +3 -1
  308. package/dist/cli/lib/contract/desired-state.d.ts.map +1 -1
  309. package/dist/cli/lib/contract/desired-state.js +33 -50
  310. package/dist/cli/lib/contract/desired-state.js.map +1 -1
  311. package/dist/cli/lib/contract/env-vars.d.ts +37 -0
  312. package/dist/cli/lib/contract/env-vars.d.ts.map +1 -0
  313. package/dist/cli/lib/contract/env-vars.js +6 -0
  314. package/dist/cli/lib/contract/env-vars.js.map +1 -0
  315. package/dist/cli/lib/contract/foreign-credentials.d.ts +14 -27
  316. package/dist/cli/lib/contract/foreign-credentials.d.ts.map +1 -1
  317. package/dist/cli/lib/contract/foreign-credentials.js +19 -32
  318. package/dist/cli/lib/contract/foreign-credentials.js.map +1 -1
  319. package/dist/cli/lib/contract/logs.d.ts.map +1 -1
  320. package/dist/cli/lib/contract/logs.js +26 -34
  321. package/dist/cli/lib/contract/logs.js.map +1 -1
  322. package/dist/cli/lib/contract/managed-email.d.ts.map +1 -1
  323. package/dist/cli/lib/contract/managed-email.js +2 -3
  324. package/dist/cli/lib/contract/managed-email.js.map +1 -1
  325. package/dist/cli/lib/contract/permission-denied.d.ts +16 -0
  326. package/dist/cli/lib/contract/permission-denied.d.ts.map +1 -0
  327. package/dist/cli/lib/contract/permission-denied.js +20 -0
  328. package/dist/cli/lib/contract/permission-denied.js.map +1 -0
  329. package/dist/cli/lib/contract/project-grants.d.ts +16 -0
  330. package/dist/cli/lib/contract/project-grants.d.ts.map +1 -0
  331. package/dist/cli/lib/contract/project-grants.js +58 -0
  332. package/dist/cli/lib/contract/project-grants.js.map +1 -0
  333. package/dist/cli/lib/contract/projects.d.ts.map +1 -1
  334. package/dist/cli/lib/contract/projects.js +2 -3
  335. package/dist/cli/lib/contract/projects.js.map +1 -1
  336. package/dist/cli/lib/contract/public-error-details.d.ts.map +1 -1
  337. package/dist/cli/lib/contract/public-error-details.js +28 -43
  338. package/dist/cli/lib/contract/public-error-details.js.map +1 -1
  339. package/dist/cli/lib/contract/regions.js +2 -2
  340. package/dist/cli/lib/contract/regions.js.map +1 -1
  341. package/dist/cli/lib/contract/runtime-operations.d.ts +16 -0
  342. package/dist/cli/lib/contract/runtime-operations.d.ts.map +1 -1
  343. package/dist/cli/lib/contract/runtime-operations.js +16 -21
  344. package/dist/cli/lib/contract/runtime-operations.js.map +1 -1
  345. package/dist/cli/lib/contract/seeds.d.ts.map +1 -1
  346. package/dist/cli/lib/contract/seeds.js +12 -21
  347. package/dist/cli/lib/contract/seeds.js.map +1 -1
  348. package/dist/cli/lib/contract/source-disconnect-reasons.d.ts.map +1 -1
  349. package/dist/cli/lib/contract/source-disconnect-reasons.js +9 -17
  350. package/dist/cli/lib/contract/source-disconnect-reasons.js.map +1 -1
  351. package/dist/cli/lib/contract/source-repository.d.ts.map +1 -1
  352. package/dist/cli/lib/contract/source-repository.js +5 -9
  353. package/dist/cli/lib/contract/source-repository.js.map +1 -1
  354. package/dist/cli/lib/contract/wire-types.d.ts.map +1 -1
  355. package/dist/cli/lib/contract/wire-types.js +3 -8
  356. package/dist/cli/lib/contract/wire-types.js.map +1 -1
  357. package/dist/cli/lib/contract/wire-values.d.ts.map +1 -1
  358. package/dist/cli/lib/contract/wire-values.js +2 -3
  359. package/dist/cli/lib/contract/wire-values.js.map +1 -1
  360. package/dist/cli/lib/dotenv.d.ts +6 -0
  361. package/dist/cli/lib/dotenv.d.ts.map +1 -1
  362. package/dist/cli/lib/dotenv.js +62 -20
  363. package/dist/cli/lib/dotenv.js.map +1 -1
  364. package/dist/cli/lib/env-file.d.ts.map +1 -1
  365. package/dist/cli/lib/env-file.js +5 -11
  366. package/dist/cli/lib/env-file.js.map +1 -1
  367. package/dist/cli/lib/env-preflight.d.ts +6 -1
  368. package/dist/cli/lib/env-preflight.d.ts.map +1 -1
  369. package/dist/cli/lib/env-preflight.js +91 -63
  370. package/dist/cli/lib/env-preflight.js.map +1 -1
  371. package/dist/cli/lib/errors.d.ts +17 -49
  372. package/dist/cli/lib/errors.d.ts.map +1 -1
  373. package/dist/cli/lib/errors.js +47 -106
  374. package/dist/cli/lib/errors.js.map +1 -1
  375. package/dist/cli/lib/format.d.ts.map +1 -1
  376. package/dist/cli/lib/format.js +3 -5
  377. package/dist/cli/lib/format.js.map +1 -1
  378. package/dist/cli/lib/invocation.d.ts +4 -5
  379. package/dist/cli/lib/invocation.d.ts.map +1 -1
  380. package/dist/cli/lib/invocation.js +5 -33
  381. package/dist/cli/lib/invocation.js.map +1 -1
  382. package/dist/cli/lib/log-stream.d.ts.map +1 -1
  383. package/dist/cli/lib/log-stream.js +15 -23
  384. package/dist/cli/lib/log-stream.js.map +1 -1
  385. package/dist/cli/lib/logger.d.ts.map +1 -1
  386. package/dist/cli/lib/logger.js +7 -12
  387. package/dist/cli/lib/logger.js.map +1 -1
  388. package/dist/cli/lib/organization.d.ts.map +1 -1
  389. package/dist/cli/lib/organization.js +5 -13
  390. package/dist/cli/lib/organization.js.map +1 -1
  391. package/dist/cli/lib/project-link.d.ts.map +1 -1
  392. package/dist/cli/lib/project-link.js +2 -4
  393. package/dist/cli/lib/project-link.js.map +1 -1
  394. package/dist/cli/lib/resolve.d.ts +1 -6
  395. package/dist/cli/lib/resolve.d.ts.map +1 -1
  396. package/dist/cli/lib/resolve.js +26 -48
  397. package/dist/cli/lib/resolve.js.map +1 -1
  398. package/dist/cli/lib/source-repository-link.d.ts.map +1 -1
  399. package/dist/cli/lib/source-repository-link.js +6 -9
  400. package/dist/cli/lib/source-repository-link.js.map +1 -1
  401. package/dist/cli/lib/terminal-output.d.ts +4 -0
  402. package/dist/cli/lib/terminal-output.d.ts.map +1 -1
  403. package/dist/cli/lib/terminal-output.js +35 -18
  404. package/dist/cli/lib/terminal-output.js.map +1 -1
  405. package/dist/cli/lib/types.d.ts +3 -7
  406. package/dist/cli/lib/types.d.ts.map +1 -1
  407. package/dist/cli/lib/types.js.map +1 -1
  408. package/dist/cli/lib/utf8.d.ts +2 -0
  409. package/dist/cli/lib/utf8.d.ts.map +1 -0
  410. package/dist/cli/lib/utf8.js +12 -0
  411. package/dist/cli/lib/utf8.js.map +1 -0
  412. package/dist/cli/root-options.d.ts.map +1 -1
  413. package/dist/cli/root-options.js +11 -14
  414. package/dist/cli/root-options.js.map +1 -1
  415. package/dist/cli-plugin.d.ts.map +1 -1
  416. package/dist/cli-plugin.js +2 -6
  417. package/dist/cli-plugin.js.map +1 -1
  418. package/dist/cloud-config-module.js +2 -2
  419. package/dist/cloud-config-module.js.map +1 -1
  420. package/dist/dev/cli-host.d.ts.map +1 -1
  421. package/dist/dev/cli-host.js +16 -19
  422. package/dist/dev/cli-host.js.map +1 -1
  423. package/dist/dev/dashboard-vite-config.d.ts.map +1 -1
  424. package/dist/dev/dashboard-vite-config.js +17 -20
  425. package/dist/dev/dashboard-vite-config.js.map +1 -1
  426. package/dist/dev/dev-command.d.ts.map +1 -1
  427. package/dist/dev/dev-command.js +72 -55
  428. package/dist/dev/dev-command.js.map +1 -1
  429. package/dist/dev/dev-config.d.ts +3 -0
  430. package/dist/dev/dev-config.d.ts.map +1 -1
  431. package/dist/dev/dev-config.js +43 -13
  432. package/dist/dev/dev-config.js.map +1 -1
  433. package/dist/dev/dev-migrate.js +7 -11
  434. package/dist/dev/dev-migrate.js.map +1 -1
  435. package/dist/dev/dev-process.d.ts.map +1 -1
  436. package/dist/dev/dev-process.js +6 -10
  437. package/dist/dev/dev-process.js.map +1 -1
  438. package/dist/dev/dev-server.js +7 -9
  439. package/dist/dev/dev-server.js.map +1 -1
  440. package/dist/dev/dev-worker.js +5 -3
  441. package/dist/dev/dev-worker.js.map +1 -1
  442. package/dist/dev/local-services.d.ts.map +1 -1
  443. package/dist/dev/local-services.js +163 -106
  444. package/dist/dev/local-services.js.map +1 -1
  445. package/dist/dev/project-layout.d.ts.map +1 -1
  446. package/dist/dev/project-layout.js +12 -17
  447. package/dist/dev/project-layout.js.map +1 -1
  448. package/dist/dev/project-plugin-scope.d.ts +2 -0
  449. package/dist/dev/project-plugin-scope.d.ts.map +1 -0
  450. package/dist/dev/project-plugin-scope.js +38 -0
  451. package/dist/dev/project-plugin-scope.js.map +1 -0
  452. package/dist/entrypoint.js +2 -0
  453. package/dist/entrypoint.js.map +1 -1
  454. package/dist/index.d.ts.map +1 -1
  455. package/dist/index.js +3 -6
  456. package/dist/index.js.map +1 -1
  457. package/dist/local-asset-server.d.ts.map +1 -1
  458. package/dist/local-asset-server.js +7 -13
  459. package/dist/local-asset-server.js.map +1 -1
  460. package/dist/local-cache-plugin.d.ts.map +1 -1
  461. package/dist/local-cache-plugin.js +20 -28
  462. package/dist/local-cache-plugin.js.map +1 -1
  463. package/dist/local-cache.d.ts.map +1 -1
  464. package/dist/local-cache.js +40 -55
  465. package/dist/local-cache.js.map +1 -1
  466. package/dist/local-core.d.ts.map +1 -1
  467. package/dist/local-core.js +3 -5
  468. package/dist/local-core.js.map +1 -1
  469. package/dist/local-dashboard-plugin.d.ts.map +1 -1
  470. package/dist/local-dashboard-plugin.js +6 -11
  471. package/dist/local-dashboard-plugin.js.map +1 -1
  472. package/dist/local-database.d.ts.map +1 -1
  473. package/dist/local-database.js +20 -23
  474. package/dist/local-database.js.map +1 -1
  475. package/dist/local-durable-execution-plugin.d.ts +12 -0
  476. package/dist/local-durable-execution-plugin.d.ts.map +1 -1
  477. package/dist/local-durable-execution-plugin.js +296 -24
  478. package/dist/local-durable-execution-plugin.js.map +1 -1
  479. package/dist/local-runtime-guard.d.ts +2 -0
  480. package/dist/local-runtime-guard.d.ts.map +1 -1
  481. package/dist/local-runtime-guard.js +40 -3
  482. package/dist/local-runtime-guard.js.map +1 -1
  483. package/dist/local-runtime.d.ts.map +1 -1
  484. package/dist/local-runtime.js +51 -48
  485. package/dist/local-runtime.js.map +1 -1
  486. package/package.json +16 -9
  487. package/dist/cli/commands/identity-context/login.d.ts +0 -2
  488. package/dist/cli/commands/identity-context/login.d.ts.map +0 -1
  489. package/dist/cli/commands/identity-context/login.js +0 -158
  490. package/dist/cli/commands/identity-context/login.js.map +0 -1
  491. package/dist/cli/commands/identity-context/logout.d.ts +0 -2
  492. package/dist/cli/commands/identity-context/logout.d.ts.map +0 -1
  493. package/dist/cli/commands/identity-context/logout.js +0 -11
  494. package/dist/cli/commands/identity-context/logout.js.map +0 -1
  495. package/dist/cli/commands/identity-context/org-switch.d.ts +0 -3
  496. package/dist/cli/commands/identity-context/org-switch.d.ts.map +0 -1
  497. package/dist/cli/commands/identity-context/org-switch.js +0 -83
  498. package/dist/cli/commands/identity-context/org-switch.js.map +0 -1
  499. package/dist/cli/commands/identity-context/whoami.d.ts +0 -3
  500. package/dist/cli/commands/identity-context/whoami.d.ts.map +0 -1
  501. package/dist/cli/commands/identity-context/whoami.js +0 -101
  502. package/dist/cli/commands/identity-context/whoami.js.map +0 -1
  503. package/dist/cli/lib/console-credential.d.ts +0 -55
  504. package/dist/cli/lib/console-credential.d.ts.map +0 -1
  505. package/dist/cli/lib/console-credential.js +0 -164
  506. package/dist/cli/lib/console-credential.js.map +0 -1
  507. package/dist/cli/lib/console-origins.d.ts +0 -30
  508. package/dist/cli/lib/console-origins.d.ts.map +0 -1
  509. package/dist/cli/lib/console-origins.js +0 -87
  510. package/dist/cli/lib/console-origins.js.map +0 -1
  511. package/dist/cli/lib/console-session-lock.d.ts +0 -39
  512. package/dist/cli/lib/console-session-lock.d.ts.map +0 -1
  513. package/dist/cli/lib/console-session-lock.js +0 -235
  514. package/dist/cli/lib/console-session-lock.js.map +0 -1
  515. package/dist/cli/lib/console-session.d.ts +0 -47
  516. package/dist/cli/lib/console-session.d.ts.map +0 -1
  517. package/dist/cli/lib/console-session.js +0 -235
  518. package/dist/cli/lib/console-session.js.map +0 -1
  519. package/dist/cli/lib/file-lock.d.ts +0 -23
  520. package/dist/cli/lib/file-lock.d.ts.map +0 -1
  521. package/dist/cli/lib/file-lock.js +0 -121
  522. package/dist/cli/lib/file-lock.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/resource.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/restore.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EAavB,MAAM,gBAAgB,CAAC;AA6CxB,wBAAsB,eAAe,CAAC,EACpC,IAAI,EACJ,OAAO,EACP,OAAO,GACR,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiFjD"}
1
+ {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/restore.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,iBAAiB,EAavB,MAAM,gBAAgB,CAAC;AAoCxB,wBAAsB,eAAe,CAAC,EACpC,IAAI,EACJ,OAAO,EACP,OAAO,GACR,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgFjD"}
@@ -1,29 +1,20 @@
1
1
  import * as prompts from "@clack/prompts";
2
- import { cloudInvocation, createAuthenticatedClient, findEnvironmentOrThrow, formatDateTime, formatDuration, listEnvironments, readSingleValue, requiredArgument, resolveEnvironment, sleep, } from "../../index.js";
2
+ import { CLOUD_INVOCATION, createAuthenticatedClient, findEnvironmentOrThrow, formatDateTime, formatDuration, listEnvironments, output, readSingleValue, requiredArgument, resolveEnvironment, sleep, } from "../../index.js";
3
3
  import { DB_OPERATION_FAILED_STATUSES, DB_OPERATION_SUCCESS_STATUS, } from "../../lib/contract/database.js";
4
- // A restore is two long operations back to back and neither reports a percentage, so the poll starts
5
- // quick enough to feel responsive on a small database and widens rather than asking every few
6
- // seconds for hours.
4
+ // A restore is two long operations and neither reports a percentage, so the poll starts quick and
5
+ // widens instead of asking every few seconds for hours.
7
6
  const FIRST_POLL_INTERVAL_MS = 3_000;
8
7
  const MAX_POLL_INTERVAL_MS = 30_000;
9
8
  const POLL_BACKOFF_FACTOR = 2;
10
9
  // How much longer than the platform's own budget to keep watching. The budget comes back on the
11
- // start response and is derived from the size of this environment's own archive, so there is no
12
- // fixed number here to be wrong for a big tenant — this margin only covers the clock skew between
13
- // the two machines.
10
+ // start response, derived from this environment's archive size; the margin covers clock skew
11
+ // between the two machines.
14
12
  const DEADLINE_MARGIN_MS = 60_000;
15
- // The flag that lets a destructive, unattended restore happen at all. Spelled out rather than
16
- // `--yes`, deliberately: every other `--yes` in this CLI skips a confirmation, and this one
17
- // authorises overwriting a production database from a script. A flag somebody can type by habit is
18
- // the wrong shape for that.
13
+ // Spelled out instead of `--yes`: every other `--yes` in this CLI skips a confirmation, and this
14
+ // one authorises overwriting a production database from a script.
19
15
  const NON_INTERACTIVE_FLAG = "--i-know-this-destroys-data";
20
- // Built when it is shown rather than held as a constant, because it names the program the customer
21
- // ran and the compatibility executable names itself after this module has already been loaded.
22
- function migrationWarning() {
23
- return `If this backup predates your latest deploy, the database schema may now be behind the running code. Run \`${cloudInvocation()} deploy\` to re-apply pending migrations.`;
24
- }
25
- // What each phase is called while a customer watches it. The safety backup has touched nothing yet
26
- // and the restore has, which is the one distinction worth spelling out on a spinner.
16
+ const MIGRATION_WARNING = `If this backup predates your latest deploy, the database schema may now be behind the running code. Run \`${CLOUD_INVOCATION} deploy\` to re-apply pending migrations.`;
17
+ // The safety backup has touched nothing yet and the restore has; the spinner says which.
27
18
  const PHASE_MESSAGE = {
28
19
  queued: "Waiting for Vendure Cloud to pick up the restore",
29
20
  "safety-backup": "Taking a safety backup of the current data",
@@ -37,13 +28,12 @@ export async function restoreDatabase({ args, options, globals, }) {
37
28
  // Checked before the environment is resolved, so a script that cannot proceed fails without a
38
29
  // network call and without having named an environment it is about to overwrite.
39
30
  if (!confirmedByFlag && !process.stdin.isTTY) {
40
- throw new Error(`\`${cloudInvocation()} restore db\` overwrites this environment's database and requires an interactive terminal. Re-run with ${NON_INTERACTIVE_FLAG} to proceed without one.`);
31
+ throw new Error(`\`${CLOUD_INVOCATION} restore db\` overwrites this environment's database and requires an interactive terminal. Re-run with ${NON_INTERACTIVE_FLAG} to proceed without one.`);
41
32
  }
42
33
  const { project, environment } = await resolveEnvironment(globals);
43
- const client = createAuthenticatedClient(globals);
34
+ const client = await createAuthenticatedClient(globals);
44
35
  // The environment this is pointed at is the one that gets overwritten, whatever `--from` says.
45
- // `--from` only changes where the backup is read from, and it is resolved inside this project, so
46
- // a name outside it is refused here rather than by the control plane.
36
+ // `--from` only changes where the backup is read from.
47
37
  const source = await resolveSource(client, project, environment, options.from);
48
38
  const destination = `${project.slug} / ${environment.slug}`;
49
39
  const takenFrom = source.id === environment.id ? "" : `, taken from ${project.slug} / ${source.slug}`;
@@ -56,7 +46,7 @@ export async function restoreDatabase({ args, options, globals, }) {
56
46
  message: `Restore the ${destination} database from backup ${backup.id} (created ${formatDateTime(backup.createdAt)}${takenFrom})? All current data in ${destination} will be overwritten.`,
57
47
  });
58
48
  if (prompts.isCancel(confirmed) || !confirmed) {
59
- prompts.log.info("Restore cancelled.");
49
+ output.info("Restore cancelled.");
60
50
  return undefined;
61
51
  }
62
52
  }
@@ -65,44 +55,41 @@ export async function restoreDatabase({ args, options, globals, }) {
65
55
  let result;
66
56
  try {
67
57
  result = await client.post(`/environments/${environment.id}/database/backups/${encodeURIComponent(backupId)}/restore`,
68
- // Sent only when the two differ, so an in-place restore is the request it always was.
58
+ // Sent only when the two differ, so an in-place restore sends an unchanged request.
69
59
  source.id === environment.id ? undefined : { sourceEnvironmentId: source.id });
70
60
  }
71
61
  catch (error) {
72
62
  spinner.stop("Restore could not be started");
73
63
  throw error;
74
64
  }
75
- // Said once, before the wait: the id is what recovers this environment if the restored data turns
76
- // out to be the wrong choice, and a customer should have it whatever happens next — including a
77
- // terminal that is closed while the restore is still running.
78
- prompts.log.info(`A safety backup of the current data is being taken as ${result.safetyBackupId}. Restore it with \`${cloudInvocation()} restore db ${result.safetyBackupId}\` if you need the previous state back.`);
65
+ // Said once, before the wait: the id recovers this environment if the restored data turns out to
66
+ // be wrong, and a customer needs it whatever happens next, including a terminal closed
67
+ // mid-restore.
68
+ output.info(`A safety backup of the current data is being taken as ${result.safetyBackupId}. Restore it with \`${CLOUD_INVOCATION} restore db ${result.safetyBackupId}\` if you need the previous state back.`);
79
69
  const current = await pollRestore(client, environment.id, result, spinner);
80
70
  if (!current)
81
71
  return 1;
82
72
  if (current.status === DB_OPERATION_SUCCESS_STATUS) {
83
73
  spinner.stop("Restore complete.");
84
- prompts.log.success(`Database restored into ${destination} from backup ${backup.id}. A safety backup of the previous state was kept as ${result.safetyBackupId}.`);
85
- prompts.log.warn(migrationWarning());
74
+ output.success(`Database restored into ${destination} from backup ${backup.id}. A safety backup of the previous state was kept as ${result.safetyBackupId}.`);
75
+ output.warn(MIGRATION_WARNING);
86
76
  return undefined;
87
77
  }
88
78
  spinner.stop("Restore failed");
89
79
  // The control plane's own sentence when it has one: it is written for a customer, names the safety
90
80
  // backup and says what to do next. The status alone is the fallback.
91
- prompts.log.error(current.errorDetails ??
81
+ output.error(current.errorDetails ??
92
82
  `Restore ${result.restoreId} ended with status "${current.status}". The safety backup ${result.safetyBackupId} holds the data from before this attempt.`);
93
83
  return 1;
94
84
  }
95
85
  // Which environment's backup this reads. `--from` names a sibling in the project already resolved,
96
- // so a name outside it is refused here rather than by the control plane.
86
+ // so a name outside it is refused here, not by the control plane.
97
87
  //
98
- // **A value the declaration did not describe throws rather than falling back.** Every other shape
99
- // `options.from` could hold means the customer meant a source and the host did not hand one over,
100
- // and the fallback available here is the destination — which would restore in place over the
101
- // environment being pointed at, with no prompt under `--i-know-this-destroys-data`.
88
+ // A value the declaration did not describe throws. Falling back to the destination would restore in
89
+ // place over the environment being pointed at, with no prompt under `--i-know-this-destroys-data`.
102
90
  //
103
- // `readSingleValue` is the shared refusal in `arguments.ts`; this function is this family's wrapper
104
- // around it, and what it adds is what absent means here — restore in place — which is the reason
105
- // that file gives for each family keeping its own.
91
+ // `readSingleValue` is the shared refusal in `arguments.ts`; this wrapper adds what absent means
92
+ // here, which is restore in place.
106
93
  async function resolveSource(client, project, destination, from) {
107
94
  const identifier = readSingleValue(from, "--from");
108
95
  if (identifier === undefined)
@@ -110,9 +97,9 @@ async function resolveSource(client, project, destination, from) {
110
97
  const environments = await listEnvironments(client, project.id);
111
98
  return findEnvironmentOrThrow(environments, identifier, project);
112
99
  }
113
- // Polls until the restore settles, reporting each phase as it arrives. Returns null when the
114
- // platform's own deadline passed without the restore settling, which is reported here rather than
115
- // treated as a failure — the row is the record, and nothing local knows what became of the work.
100
+ // Polls until the restore settles, reporting each phase. Returns null when the platform's deadline
101
+ // passed without the restore settling; the row is the record, and nothing local knows what became
102
+ // of the work.
116
103
  async function pollRestore(client, environmentId, result, spinner) {
117
104
  const startedAt = Date.now();
118
105
  // Derived from this environment's own archive by the control plane. Clamped below at one minute so
@@ -128,8 +115,8 @@ async function pollRestore(client, environmentId, result, spinner) {
128
115
  spinner.message(`${PHASE_MESSAGE[current.phase]}...`);
129
116
  }
130
117
  else {
131
- // The same phase, said again with how long it has been going. A destructive operation that
132
- // says nothing for an hour is indistinguishable from one nobody is watching.
118
+ // The same phase, with how long it has been going. A destructive operation that says nothing
119
+ // for an hour is indistinguishable from one nobody is watching.
133
120
  spinner.message(`${PHASE_MESSAGE[current.phase]} (${formatDuration(Date.now() - startedAt)} so far)...`);
134
121
  }
135
122
  if (current.status === DB_OPERATION_SUCCESS_STATUS ||
@@ -138,7 +125,7 @@ async function pollRestore(client, environmentId, result, spinner) {
138
125
  }
139
126
  if (Date.now() >= deadline) {
140
127
  spinner.stop("Restore is taking longer than Vendure Cloud allows for it");
141
- prompts.log.warn(`Restore ${result.restoreId} has not finished within the time Vendure Cloud allows for this environment's data. Vendure Cloud will finish or stop it on its own — check it with \`${cloudInvocation()} backup db list\` before deploying or restoring again. The safety backup ${result.safetyBackupId} holds the data from before this attempt.`);
128
+ output.warn(`Restore ${result.restoreId} has not finished within the time Vendure Cloud allows for this environment's data. Vendure Cloud will finish or stop it on its own — check it with \`${CLOUD_INVOCATION} backup db list\` before deploying or restoring again. The safety backup ${result.safetyBackupId} holds the data from before this attempt.`);
142
129
  return null;
143
130
  }
144
131
  interval = Math.min(MAX_POLL_INTERVAL_MS, interval * POLL_BACKOFF_FACTOR);
@@ -1 +1 @@
1
- {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/restore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/restore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"seeds.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/seeds.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,iBAAiB,EASvB,MAAM,gBAAgB,CAAC;AAwBxB,wBAAsB,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DlF;AAED,wBAAsB,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B7E;AAED,wBAAsB,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6E5F;AAED,wBAAsB,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B7F"}
1
+ {"version":3,"file":"seeds.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/seeds.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,iBAAiB,EASvB,MAAM,gBAAgB,CAAC;AAwBxB,wBAAsB,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DlF;AAED,wBAAsB,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B7E;AAED,wBAAsB,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6E5F;AAED,wBAAsB,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B7F"}
@@ -2,15 +2,15 @@ import { createReadStream } from "node:fs";
2
2
  import { stat } from "node:fs/promises";
3
3
  import { basename } from "node:path";
4
4
  import * as prompts from "@clack/prompts";
5
- import { cloudInvocation, createAuthenticatedClient, formatBytes, formatDateTime, formatTable, requiredArgument, resolveEnvironment, sleep, } from "../../index.js";
5
+ import { CLOUD_INVOCATION, createAuthenticatedClient, formatBytes, formatDateTime, formatTable, output, requiredArgument, resolveEnvironment, sleep, } from "../../index.js";
6
6
  import { SEED_CONTENT_TYPE, SEED_UPLOAD_PRECONDITION_HEADER, SEED_UPLOAD_PRECONDITION_VALUE, isValidSeedName, } from "../../lib/contract/seeds.js";
7
7
  const POLL_INTERVAL_MS = 3_000;
8
8
  // Long enough for a real dump. The apply runs as a task in the environment's Cell and the platform
9
9
  // stops it at its own, longer deadline, so a client giving up here abandons the wait rather than the
10
10
  // work: the operation goes on and its outcome is on the record the id names.
11
11
  const APPLY_TIMEOUT_MS = 60 * 60 * 1000;
12
- // Postgres restore does not repopulate the search index — that runs separately
13
- // (CLO-220 automates it). Until then, tell the operator search is empty.
12
+ // A Postgres restore does not repopulate the search index. Until CLO-220 automates that, tell the
13
+ // operator search is empty.
14
14
  const SEARCH_WARNING = "The search index was not rebuilt. Products won't appear in search until a reindex runs (Admin UI → Products → reindex, or your app's reindex job).";
15
15
  export async function pushSeed({ args, globals }) {
16
16
  const name = requiredArgument(args, 0, "name");
@@ -25,7 +25,7 @@ export async function pushSeed({ args, globals }) {
25
25
  if (!info.isFile()) {
26
26
  throw new Error(`Not a file: ${file}`);
27
27
  }
28
- const client = createAuthenticatedClient(globals);
28
+ const client = await createAuthenticatedClient(globals);
29
29
  const spinner = globals.json ? null : prompts.spinner();
30
30
  spinner?.start(`Uploading ${basename(file)} as seed "${name}"...`);
31
31
  // Request a short-lived presigned upload URL, then PUT the bytes straight to
@@ -50,7 +50,7 @@ export async function pushSeed({ args, globals }) {
50
50
  const response = await fetch(ticket.uploadUrl, uploadInit);
51
51
  if (response.status === 412) {
52
52
  spinner?.stop("Upload rejected");
53
- throw new Error(`A seed named "${name}" already exists. Delete it first with \`${cloudInvocation()} seed rm ${name}\`, or use a different name.`);
53
+ throw new Error(`A seed named "${name}" already exists. Delete it first with \`${CLOUD_INVOCATION} seed rm ${name}\`, or use a different name.`);
54
54
  }
55
55
  if (!response.ok) {
56
56
  spinner?.stop("Upload failed");
@@ -61,11 +61,11 @@ export async function pushSeed({ args, globals }) {
61
61
  writeCompactJson({ name, sizeBytes: info.size });
62
62
  return;
63
63
  }
64
- prompts.log.success(`Seed "${name}" uploaded (${formatBytes(info.size)}).`);
65
- prompts.log.info(`Apply it with \`${cloudInvocation()} seed apply ${name} -e <environment>\`.`);
64
+ output.success(`Seed "${name}" uploaded (${formatBytes(info.size)}).`);
65
+ output.info(`Apply it with \`${CLOUD_INVOCATION} seed apply ${name} -e <environment>\`.`);
66
66
  }
67
67
  export async function listSeeds({ globals }) {
68
- const client = createAuthenticatedClient(globals);
68
+ const client = await createAuthenticatedClient(globals);
69
69
  // In JSON mode, keep stdout to the machine-readable payload only — no spinner
70
70
  // or notes, which clack writes to stdout and would corrupt the output.
71
71
  const spinner = globals.json ? null : prompts.spinner();
@@ -77,15 +77,15 @@ export async function listSeeds({ globals }) {
77
77
  return;
78
78
  }
79
79
  if (seeds.length === 0) {
80
- prompts.log.info(`No seeds yet. Upload one with \`${cloudInvocation()} seed push <name> <file.gz>\`.`);
80
+ output.info(`No seeds yet. Upload one with \`${CLOUD_INVOCATION} seed push <name> <file.gz>\`.`);
81
81
  return;
82
82
  }
83
83
  const rows = seeds
84
84
  .slice()
85
85
  .sort((a, b) => a.name.localeCompare(b.name))
86
86
  .map((s) => [s.name, formatBytes(s.sizeBytes), formatDateTime(s.updatedAt)]);
87
- prompts.note(formatTable(["NAME", "SIZE", "UPDATED"], rows), "Seeds");
88
- prompts.log.info(`Apply one with \`${cloudInvocation()} seed apply <name> -e <environment>\`.`);
87
+ output.note(formatTable(["NAME", "SIZE", "UPDATED"], rows), "Seeds");
88
+ output.info(`Apply one with \`${CLOUD_INVOCATION} seed apply <name> -e <environment>\`.`);
89
89
  }
90
90
  export async function applySeed({ args, options, globals }) {
91
91
  const name = requiredArgument(args, 0, "name");
@@ -104,11 +104,11 @@ export async function applySeed({ args, options, globals }) {
104
104
  message: `Apply seed "${name}" to ${project.slug} / ${environment.slug}? All current data in the database will be overwritten.`,
105
105
  });
106
106
  if (prompts.isCancel(confirmed) || !confirmed) {
107
- prompts.log.info("Apply cancelled.");
107
+ output.info("Apply cancelled.");
108
108
  return;
109
109
  }
110
110
  }
111
- const client = createAuthenticatedClient(globals);
111
+ const client = await createAuthenticatedClient(globals);
112
112
  const spinner = globals.json ? null : prompts.spinner();
113
113
  spinner?.start(`Applying seed "${name}" to ${project.slug} / ${environment.slug}...`);
114
114
  let started;
@@ -131,8 +131,8 @@ export async function applySeed({ args, options, globals }) {
131
131
  }
132
132
  if (current.status !== "success") {
133
133
  spinner?.stop("Seed apply failed");
134
- // The control plane's own sentence when it has one — it is written for a customer and says what
135
- // to do next. The status alone is the fallback, for a control plane that predates the field.
134
+ // The control plane's own sentence when it has one; it is written for a customer and says what
135
+ // to do next. The status alone is the fallback for a control plane without the field.
136
136
  throw new Error(current.errorDetails ??
137
137
  `Seed apply ${started.operationId} ended with status "${current.status}".`);
138
138
  }
@@ -145,8 +145,8 @@ export async function applySeed({ args, options, globals }) {
145
145
  });
146
146
  return;
147
147
  }
148
- prompts.log.success(`Seed "${name}" applied to ${project.slug} / ${environment.slug}.`);
149
- prompts.log.warn(SEARCH_WARNING);
148
+ output.success(`Seed "${name}" applied to ${project.slug} / ${environment.slug}.`);
149
+ output.warn(SEARCH_WARNING);
150
150
  }
151
151
  export async function removeSeed({ args, options, globals }) {
152
152
  const name = requiredArgument(args, 0, "name");
@@ -163,29 +163,27 @@ export async function removeSeed({ args, options, globals }) {
163
163
  message: `Delete seed "${name}"? Environments configured to use it will fail to seed until it is replaced.`,
164
164
  });
165
165
  if (prompts.isCancel(confirmed) || !confirmed) {
166
- prompts.log.info("Deletion cancelled.");
166
+ output.info("Deletion cancelled.");
167
167
  return;
168
168
  }
169
169
  }
170
- const client = createAuthenticatedClient(globals);
170
+ const client = await createAuthenticatedClient(globals);
171
171
  const result = await client.delete(`/seeds/${encodeURIComponent(name)}`);
172
172
  if (globals.json) {
173
173
  writeCompactJson(result);
174
174
  return;
175
175
  }
176
- prompts.log.success(`Seed "${result.name}" deleted.`);
176
+ output.success(`Seed "${result.name}" deleted.`);
177
177
  }
178
- // Client-side pre-validation for a fast, clear error; the control plane is the
179
- // authority. Delegates to the single seed-name rule the wire contract carries
180
- // (CLO-217) so the two never drift.
178
+ // Client-side pre-validation for a fast, clear error; the control plane is the authority. Delegates
179
+ // to the seed-name rule the wire contract carries (CLO-217) so the two do not drift.
181
180
  function assertValidSeedName(name) {
182
181
  if (!isValidSeedName(name)) {
183
182
  throw new Error(`Invalid seed name "${name}". Use lowercase letters, numbers and hyphens (max 63 characters), e.g. "flowtech-preview-slim".`);
184
183
  }
185
184
  }
186
- // One line, no indentation. `writeJson` pretty-prints, which is what `resource` has always written
187
- // and what these four have never written; a script reading a seed command's stdout line by line
188
- // would stop working on the change.
185
+ // One line, no indentation. `writeJson` pretty-prints, and a script reading a seed command's stdout
186
+ // line by line breaks on indented output.
189
187
  function writeCompactJson(value) {
190
188
  process.stdout.write(`${JSON.stringify(value)}\n`);
191
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"seeds.js","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/seeds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seeds.js","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/seeds.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/tunnel.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EAKvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAenE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAiBD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9F;AAED,wBAAsB,kBAAkB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8CjG;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,YAAY,CAAC,CA6BxB"}
1
+ {"version":3,"file":"tunnel.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/runtime-data/tunnel.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,iBAAiB,EAMvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAenE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAYD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9F;AAED,wBAAsB,kBAAkB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6CjG;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,YAAY,CAAC,CA6BxB"}
@@ -1,31 +1,26 @@
1
1
  import net from "node:net";
2
2
  import * as prompts from "@clack/prompts";
3
- import { createAuthenticatedClient, getApiUrl, logger, resolveEnvironment, } from "../../index.js";
3
+ import { createAuthenticatedClient, getApiUrl, logger, output, resolveEnvironment, } from "../../index.js";
4
4
  // Local tunnel to the environment database. Per accepted TCP connection the
5
5
  // CLI mints a single-use ticket over HTTPS and opens one WebSocket to the
6
6
  // control plane, which relays to the database. The ticket travels as the
7
7
  // FIRST WS message — never in the URL.
8
8
  //
9
- // Uses the runtime's built-in WebSocket, which Node has had since 22.
9
+ // The built-in WebSocket needs Node 22 or later.
10
10
  const DEFAULT_PORT = 5432;
11
11
  // Gateway close codes (mirror apps/control-plane database-tunnel.gateway.ts).
12
12
  const CLOSE_IDLE_TIMEOUT = 4410;
13
13
  const CLOSE_MAX_DURATION = 4411;
14
- // Local connection string for the tunnel. The relay is a transparent pipe and
15
- // TLS is negotiated end-to-end with the database (ADR-0006), so the client must
16
- // request TLS — `sslmode=require` (not `verify-full`), because the client dials
17
- // 127.0.0.1 and the cert belongs to the remote DB: encrypt without hostname
18
- // verification.
14
+ // Local connection string for the tunnel. The relay is a transparent pipe and TLS is negotiated
15
+ // end-to-end with the database (ADR-0006), so the client must request TLS: `sslmode=require`, not
16
+ // `verify-full`, because the client dials 127.0.0.1 and the certificate belongs to the remote DB.
19
17
  //
20
- // This is libpq semantics (psql and other libpq clients consume this string),
21
- // where `require` means "encrypt, do not verify the CA". The managed app runs
22
- // node-postgres, whose `PGSSLMODE` handling differs — there the equivalent value
23
- // is `no-verify`, injected as a managed env var (ADR-0011). Same intent, different
24
- // driver: don't unify the two values.
18
+ // This is libpq semantics (psql and other libpq clients consume this string), where `require` means
19
+ // encrypt without verifying the CA. The managed app runs node-postgres, whose equivalent is
20
+ // `no-verify`, injected as a managed env var (ADR-0011). The two values are not interchangeable.
25
21
  //
26
- // Host is `127.0.0.1`, not `localhost`: the listener binds IPv4 loopback, and
27
- // `localhost` resolves to IPv6 (`::1`) first on many systems — a client using it
28
- // would miss the tunnel (and may hit a local Postgres bound on `::1:5432`).
22
+ // Host is `127.0.0.1` because the listener binds IPv4 loopback, and `localhost` resolves to IPv6
23
+ // (`::1`) first on many systems, so a client using it would miss the tunnel.
29
24
  export function buildConnectionString(database, port) {
30
25
  const sslSuffix = database.tlsEnabled ? "?sslmode=require" : "";
31
26
  return `postgres://${encodeURIComponent(database.username)}:${encodeURIComponent(database.password)}@127.0.0.1:${port}/${encodeURIComponent(database.database)}${sslSuffix}`;
@@ -33,7 +28,7 @@ export function buildConnectionString(database, port) {
33
28
  export async function openDatabaseTunnel({ options, globals }) {
34
29
  const requestedPort = readPort(options.port);
35
30
  const { project, environment } = await resolveEnvironment(globals);
36
- const client = createAuthenticatedClient(globals);
31
+ const client = await createAuthenticatedClient(globals);
37
32
  const spinner = prompts.spinner();
38
33
  spinner.start(`Opening tunnel to ${project.slug} / ${environment.slug} database...`);
39
34
  let handle;
@@ -54,12 +49,11 @@ export async function openDatabaseTunnel({ options, globals }) {
54
49
  // Printed as plain lines, not a boxed note: the connection string is long
55
50
  // enough to overflow a clack note box and fragment its borders.
56
51
  spinner.stop(`Tunnel open on 127.0.0.1:${port}`);
57
- prompts.log.message(connectionString);
58
- prompts.log.info("Press Ctrl-C to close the tunnel.");
59
- // The command runs until Ctrl-C — the net server holds the event loop — and then answers with
60
- // the code the host exits on. `vcloud` called `process.exit` from the signal handler itself;
61
- // answering instead leaves the exiting where every other command in this family leaves it, and
62
- // is what makes the teardown observable from a test.
52
+ output.message(connectionString);
53
+ output.info("Press Ctrl-C to close the tunnel.");
54
+ // The command runs until Ctrl-C because the net server holds the event loop, then returns the
55
+ // exit code to the host. Process exit stays at the command boundary and teardown is observable
56
+ // from a test.
63
57
  return await new Promise((resolve) => {
64
58
  process.once("SIGINT", () => {
65
59
  void handle
@@ -98,25 +92,22 @@ export async function startDbTunnel(options) {
98
92
  };
99
93
  }
100
94
  async function relayConnection(socket, client, environmentId, wsUrl) {
101
- // Buffer client bytes (psql sends its startup packet immediately) until
102
- // the relay is ready. The data listener is attached right away and the queue
103
- // is kept here rather than left to pause()/resume(), so no byte can arrive
104
- // while the socket is paused and be dropped by the runtime underneath.
95
+ // Buffer client bytes (psql sends its startup packet immediately) until the relay is ready. The
96
+ // data listener is attached right away and the queue is kept here, so no byte arrives while the
97
+ // socket is paused and is dropped by the runtime.
105
98
  let ready = false;
106
99
  let wsSend = null;
107
100
  const pending = [];
108
101
  let closed = false;
109
102
  let activeWs = null;
110
- // Idempotent teardown, wired before the ticket-mint await below. The `error`
111
- // listener must exist from the start: a net.Socket with no 'error' handler
112
- // throws on a peer RST, and during the mint window there is no other handler —
113
- // an early RST would otherwise crash the relay. `activeWs` is null until the
114
- // mint resolves and the WS is created; teardown closes it once it exists. The
115
- // `closed` flag also lets us skip opening a doomed WS if the client went away
103
+ // Idempotent teardown, wired before the ticket-mint await below. The `error` listener must exist
104
+ // from the start: a net.Socket with no 'error' handler throws on a peer RST, and during the mint
105
+ // window there is no other handler. `activeWs` is null until the mint resolves; teardown closes
106
+ // it once it exists. The `closed` flag skips opening a doomed WS if the client went away
116
107
  // mid-mint.
117
108
  const teardown = () => {
118
- // Re-entrant: the `activeWs.close()` below can dispatch the WS `error` event
119
- // synchronously, whose listener calls teardown again (CLO-550).
109
+ // Re-entrant: the `activeWs.close()` below can dispatch the WS `error` event synchronously,
110
+ // whose listener calls teardown again.
120
111
  if (closed) {
121
112
  return;
122
113
  }
@@ -143,7 +134,7 @@ async function relayConnection(socket, client, environmentId, wsUrl) {
143
134
  }
144
135
  catch (error) {
145
136
  logger.warn({ error: error instanceof Error ? error.message : error }, "Tunnel ticket mint failed");
146
- prompts.log.warn("Connection rejected — could not authorize the tunnel.");
137
+ output.warn("Connection rejected — could not authorize the tunnel.");
147
138
  teardown();
148
139
  return;
149
140
  }
@@ -158,7 +149,6 @@ async function relayConnection(socket, client, environmentId, wsUrl) {
158
149
  });
159
150
  ws.addEventListener("message", (event) => {
160
151
  if (!ready) {
161
- // First message is the relay handshake.
162
152
  if (typeof event.data === "string") {
163
153
  try {
164
154
  const message = JSON.parse(event.data);
@@ -175,7 +165,7 @@ async function relayConnection(socket, client, environmentId, wsUrl) {
175
165
  }
176
166
  }
177
167
  catch {
178
- // Fall through — unexpected handshake, tear down.
168
+ // Unparseable handshake: falls through to the warning and teardown below.
179
169
  }
180
170
  }
181
171
  logger.warn({ data: String(event.data) }, "Unexpected tunnel handshake message");
@@ -189,14 +179,14 @@ async function relayConnection(socket, client, environmentId, wsUrl) {
189
179
  });
190
180
  ws.addEventListener("close", (event) => {
191
181
  if (!ready && event.code !== 1000) {
192
- prompts.log.warn("Connection rejected by the tunnel endpoint.");
182
+ output.warn("Connection rejected by the tunnel endpoint.");
193
183
  logger.warn({ code: event.code, reason: event.reason }, "Tunnel WS closed before ready");
194
184
  }
195
185
  else if (event.code === CLOSE_IDLE_TIMEOUT) {
196
- prompts.log.warn("Connection closed: idle timeout. Reconnect to continue.");
186
+ output.warn("Connection closed: idle timeout. Reconnect to continue.");
197
187
  }
198
188
  else if (event.code === CLOSE_MAX_DURATION) {
199
- prompts.log.warn("Connection closed: maximum tunnel duration reached. Reconnect to continue.");
189
+ output.warn("Connection closed: maximum tunnel duration reached. Reconnect to continue.");
200
190
  }
201
191
  socket.destroy();
202
192
  });
@@ -205,8 +195,8 @@ async function relayConnection(socket, client, environmentId, wsUrl) {
205
195
  teardown();
206
196
  });
207
197
  }
208
- // `--port` is declared with a mandatory value, so the host hands over the string the customer
209
- // typed or nothing at all. Anything else is a shape this command did not declare.
198
+ // `--port` is declared with a mandatory value, so the host hands over the string the customer typed
199
+ // or nothing at all. Anything else is a shape this command did not declare.
210
200
  function readPort(value) {
211
201
  if (value === undefined)
212
202
  return undefined;
@@ -226,7 +216,7 @@ async function listenWithFallback(server, requestedPort) {
226
216
  if (requestedPort !== undefined || (code !== "EADDRINUSE" && code !== "EACCES")) {
227
217
  throw error;
228
218
  }
229
- prompts.log.warn(`Port ${preferred} is in use — picking a free port.`);
219
+ output.warn(`Port ${preferred} is in use — picking a free port.`);
230
220
  await listen(server, 0);
231
221
  }
232
222
  return server.address().port;