@vendure/cloud 0.3.2 → 0.5.0-dev.20261014172655.g652e750

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 (530) hide show
  1. package/README.md +50 -11
  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/deployment/arguments.d.ts.map +1 -1
  9. package/dist/cli/commands/deployment/arguments.js +1 -8
  10. package/dist/cli/commands/deployment/arguments.js.map +1 -1
  11. package/dist/cli/commands/deployment/build-logs.d.ts.map +1 -1
  12. package/dist/cli/commands/deployment/build-logs.js +14 -25
  13. package/dist/cli/commands/deployment/build-logs.js.map +1 -1
  14. package/dist/cli/commands/deployment/deploy.d.ts.map +1 -1
  15. package/dist/cli/commands/deployment/deploy.js +108 -95
  16. package/dist/cli/commands/deployment/deploy.js.map +1 -1
  17. package/dist/cli/commands/deployment/index.d.ts.map +1 -1
  18. package/dist/cli/commands/deployment/index.js +66 -53
  19. package/dist/cli/commands/deployment/index.js.map +1 -1
  20. package/dist/cli/commands/deployment/list.d.ts.map +1 -1
  21. package/dist/cli/commands/deployment/list.js +5 -5
  22. package/dist/cli/commands/deployment/list.js.map +1 -1
  23. package/dist/cli/commands/deployment/log-export.d.ts +13 -0
  24. package/dist/cli/commands/deployment/log-export.d.ts.map +1 -0
  25. package/dist/cli/commands/deployment/log-export.js +120 -0
  26. package/dist/cli/commands/deployment/log-export.js.map +1 -0
  27. package/dist/cli/commands/deployment/log-query-output.d.ts +13 -0
  28. package/dist/cli/commands/deployment/log-query-output.d.ts.map +1 -0
  29. package/dist/cli/commands/deployment/log-query-output.js +92 -0
  30. package/dist/cli/commands/deployment/log-query-output.js.map +1 -0
  31. package/dist/cli/commands/deployment/logs.d.ts +1 -0
  32. package/dist/cli/commands/deployment/logs.d.ts.map +1 -1
  33. package/dist/cli/commands/deployment/logs.js +331 -73
  34. package/dist/cli/commands/deployment/logs.js.map +1 -1
  35. package/dist/cli/commands/deployment/options.d.ts +2 -6
  36. package/dist/cli/commands/deployment/options.d.ts.map +1 -1
  37. package/dist/cli/commands/deployment/options.js +18 -15
  38. package/dist/cli/commands/deployment/options.js.map +1 -1
  39. package/dist/cli/commands/deployment/plan-format.d.ts.map +1 -1
  40. package/dist/cli/commands/deployment/plan-format.js +2 -2
  41. package/dist/cli/commands/deployment/plan-format.js.map +1 -1
  42. package/dist/cli/commands/deployment/plan.d.ts +1 -1
  43. package/dist/cli/commands/deployment/plan.d.ts.map +1 -1
  44. package/dist/cli/commands/deployment/plan.js +11 -14
  45. package/dist/cli/commands/deployment/plan.js.map +1 -1
  46. package/dist/cli/commands/deployment/recovery.d.ts +9 -0
  47. package/dist/cli/commands/deployment/recovery.d.ts.map +1 -0
  48. package/dist/cli/commands/deployment/recovery.js +76 -0
  49. package/dist/cli/commands/deployment/recovery.js.map +1 -0
  50. package/dist/cli/commands/deployment/rollback.d.ts.map +1 -1
  51. package/dist/cli/commands/deployment/rollback.js +61 -10
  52. package/dist/cli/commands/deployment/rollback.js.map +1 -1
  53. package/dist/cli/commands/deployment/shared.d.ts.map +1 -1
  54. package/dist/cli/commands/deployment/shared.js +4 -7
  55. package/dist/cli/commands/deployment/shared.js.map +1 -1
  56. package/dist/cli/commands/deployment/show.d.ts.map +1 -1
  57. package/dist/cli/commands/deployment/show.js +19 -9
  58. package/dist/cli/commands/deployment/show.js.map +1 -1
  59. package/dist/cli/commands/deployment/source.d.ts +1 -12
  60. package/dist/cli/commands/deployment/source.d.ts.map +1 -1
  61. package/dist/cli/commands/deployment/source.js +6 -14
  62. package/dist/cli/commands/deployment/source.js.map +1 -1
  63. package/dist/cli/commands/deployment/status.d.ts.map +1 -1
  64. package/dist/cli/commands/deployment/status.js +30 -29
  65. package/dist/cli/commands/deployment/status.js.map +1 -1
  66. package/dist/cli/commands/deployment/teardown.d.ts.map +1 -1
  67. package/dist/cli/commands/deployment/teardown.js +28 -26
  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 +19 -20
  77. package/dist/cli/commands/identity-context/keys.js.map +1 -1
  78. package/dist/cli/commands/identity-context/use.d.ts.map +1 -1
  79. package/dist/cli/commands/identity-context/use.js +3 -4
  80. package/dist/cli/commands/identity-context/use.js.map +1 -1
  81. package/dist/cli/commands/index.d.ts.map +1 -1
  82. package/dist/cli/commands/index.js +9 -21
  83. package/dist/cli/commands/index.js.map +1 -1
  84. package/dist/cli/commands/project-config/config/build-fields.d.ts.map +1 -1
  85. package/dist/cli/commands/project-config/config/build-fields.js +2 -3
  86. package/dist/cli/commands/project-config/config/build-fields.js.map +1 -1
  87. package/dist/cli/commands/project-config/config/build.d.ts.map +1 -1
  88. package/dist/cli/commands/project-config/config/build.js +8 -9
  89. package/dist/cli/commands/project-config/config/build.js.map +1 -1
  90. package/dist/cli/commands/project-config/config/desired-state.d.ts +1 -1
  91. package/dist/cli/commands/project-config/config/desired-state.d.ts.map +1 -1
  92. package/dist/cli/commands/project-config/config/desired-state.js +12 -13
  93. package/dist/cli/commands/project-config/config/desired-state.js.map +1 -1
  94. package/dist/cli/commands/project-config/config/email/domain.d.ts +5 -0
  95. package/dist/cli/commands/project-config/config/email/domain.d.ts.map +1 -0
  96. package/dist/cli/commands/project-config/config/email/domain.js +83 -0
  97. package/dist/cli/commands/project-config/config/email/domain.js.map +1 -0
  98. package/dist/cli/commands/project-config/config/email/events.d.ts +4 -0
  99. package/dist/cli/commands/project-config/config/email/events.d.ts.map +1 -0
  100. package/dist/cli/commands/project-config/config/email/events.js +55 -0
  101. package/dist/cli/commands/project-config/config/email/events.js.map +1 -0
  102. package/dist/cli/commands/project-config/config/email/index.d.ts +2 -0
  103. package/dist/cli/commands/project-config/config/email/index.d.ts.map +1 -0
  104. package/dist/cli/commands/project-config/config/email/index.js +107 -0
  105. package/dist/cli/commands/project-config/config/email/index.js.map +1 -0
  106. package/dist/cli/commands/project-config/config/email/test-sending.d.ts +4 -0
  107. package/dist/cli/commands/project-config/config/email/test-sending.d.ts.map +1 -0
  108. package/dist/cli/commands/project-config/config/email/test-sending.js +69 -0
  109. package/dist/cli/commands/project-config/config/email/test-sending.js.map +1 -0
  110. package/dist/cli/commands/project-config/config/index.d.ts.map +1 -1
  111. package/dist/cli/commands/project-config/config/index.js +16 -13
  112. package/dist/cli/commands/project-config/config/index.js.map +1 -1
  113. package/dist/cli/commands/project-config/config/runtime.d.ts +2 -1
  114. package/dist/cli/commands/project-config/config/runtime.d.ts.map +1 -1
  115. package/dist/cli/commands/project-config/config/runtime.js +33 -30
  116. package/dist/cli/commands/project-config/config/runtime.js.map +1 -1
  117. package/dist/cli/commands/project-config/config/set.js +3 -3
  118. package/dist/cli/commands/project-config/config/set.js.map +1 -1
  119. package/dist/cli/commands/project-config/config/show.d.ts.map +1 -1
  120. package/dist/cli/commands/project-config/config/show.js +7 -7
  121. package/dist/cli/commands/project-config/config/show.js.map +1 -1
  122. package/dist/cli/commands/project-config/env/add.d.ts.map +1 -1
  123. package/dist/cli/commands/project-config/env/add.js +4 -3
  124. package/dist/cli/commands/project-config/env/add.js.map +1 -1
  125. package/dist/cli/commands/project-config/env/get.d.ts.map +1 -1
  126. package/dist/cli/commands/project-config/env/get.js +7 -2
  127. package/dist/cli/commands/project-config/env/get.js.map +1 -1
  128. package/dist/cli/commands/project-config/env/import.d.ts.map +1 -1
  129. package/dist/cli/commands/project-config/env/import.js +15 -8
  130. package/dist/cli/commands/project-config/env/import.js.map +1 -1
  131. package/dist/cli/commands/project-config/env/index.d.ts.map +1 -1
  132. package/dist/cli/commands/project-config/env/index.js +13 -8
  133. package/dist/cli/commands/project-config/env/index.js.map +1 -1
  134. package/dist/cli/commands/project-config/env/list.d.ts.map +1 -1
  135. package/dist/cli/commands/project-config/env/list.js +29 -8
  136. package/dist/cli/commands/project-config/env/list.js.map +1 -1
  137. package/dist/cli/commands/project-config/env/metadata-options.d.ts.map +1 -1
  138. package/dist/cli/commands/project-config/env/metadata-options.js +0 -1
  139. package/dist/cli/commands/project-config/env/metadata-options.js.map +1 -1
  140. package/dist/cli/commands/project-config/env/pull.d.ts.map +1 -1
  141. package/dist/cli/commands/project-config/env/pull.js +22 -8
  142. package/dist/cli/commands/project-config/env/pull.js.map +1 -1
  143. package/dist/cli/commands/project-config/env/read-value.d.ts.map +1 -1
  144. package/dist/cli/commands/project-config/env/read-value.js +8 -4
  145. package/dist/cli/commands/project-config/env/read-value.js.map +1 -1
  146. package/dist/cli/commands/project-config/env/rm.d.ts.map +1 -1
  147. package/dist/cli/commands/project-config/env/rm.js +4 -3
  148. package/dist/cli/commands/project-config/env/rm.js.map +1 -1
  149. package/dist/cli/commands/project-config/env/run.d.ts.map +1 -1
  150. package/dist/cli/commands/project-config/env/run.js +9 -8
  151. package/dist/cli/commands/project-config/env/run.js.map +1 -1
  152. package/dist/cli/commands/project-config/env/update.d.ts.map +1 -1
  153. package/dist/cli/commands/project-config/env/update.js +4 -3
  154. package/dist/cli/commands/project-config/env/update.js.map +1 -1
  155. package/dist/cli/commands/project-config/environment/create.d.ts.map +1 -1
  156. package/dist/cli/commands/project-config/environment/create.js +5 -6
  157. package/dist/cli/commands/project-config/environment/create.js.map +1 -1
  158. package/dist/cli/commands/project-config/environment/delete.d.ts.map +1 -1
  159. package/dist/cli/commands/project-config/environment/delete.js +6 -6
  160. package/dist/cli/commands/project-config/environment/delete.js.map +1 -1
  161. package/dist/cli/commands/project-config/environment/find.js +3 -3
  162. package/dist/cli/commands/project-config/environment/find.js.map +1 -1
  163. package/dist/cli/commands/project-config/environment/index.d.ts.map +1 -1
  164. package/dist/cli/commands/project-config/environment/index.js +18 -6
  165. package/dist/cli/commands/project-config/environment/index.js.map +1 -1
  166. package/dist/cli/commands/project-config/environment/initial-superadmin.d.ts.map +1 -1
  167. package/dist/cli/commands/project-config/environment/initial-superadmin.js +4 -5
  168. package/dist/cli/commands/project-config/environment/initial-superadmin.js.map +1 -1
  169. package/dist/cli/commands/project-config/environment/list.d.ts.map +1 -1
  170. package/dist/cli/commands/project-config/environment/list.js +5 -5
  171. package/dist/cli/commands/project-config/environment/list.js.map +1 -1
  172. package/dist/cli/commands/project-config/environment/regions.d.ts +6 -0
  173. package/dist/cli/commands/project-config/environment/regions.d.ts.map +1 -0
  174. package/dist/cli/commands/project-config/environment/regions.js +22 -0
  175. package/dist/cli/commands/project-config/environment/regions.js.map +1 -0
  176. package/dist/cli/commands/project-config/environment/show.d.ts.map +1 -1
  177. package/dist/cli/commands/project-config/environment/show.js +3 -4
  178. package/dist/cli/commands/project-config/environment/show.js.map +1 -1
  179. package/dist/cli/commands/project-config/environment/update.d.ts.map +1 -1
  180. package/dist/cli/commands/project-config/environment/update.js +3 -4
  181. package/dist/cli/commands/project-config/environment/update.js.map +1 -1
  182. package/dist/cli/commands/project-config/index.js +5 -5
  183. package/dist/cli/commands/project-config/index.js.map +1 -1
  184. package/dist/cli/commands/project-config/init/build-detection.d.ts.map +1 -1
  185. package/dist/cli/commands/project-config/init/build-detection.js +4 -4
  186. package/dist/cli/commands/project-config/init/build-detection.js.map +1 -1
  187. package/dist/cli/commands/project-config/init/index.d.ts.map +1 -1
  188. package/dist/cli/commands/project-config/init/index.js +4 -5
  189. package/dist/cli/commands/project-config/init/index.js.map +1 -1
  190. package/dist/cli/commands/project-config/init/init.d.ts.map +1 -1
  191. package/dist/cli/commands/project-config/init/init.js +39 -20
  192. package/dist/cli/commands/project-config/init/init.js.map +1 -1
  193. package/dist/cli/commands/project-config/options.d.ts.map +1 -1
  194. package/dist/cli/commands/project-config/options.js +9 -14
  195. package/dist/cli/commands/project-config/options.js.map +1 -1
  196. package/dist/cli/commands/project-config/project/create.d.ts.map +1 -1
  197. package/dist/cli/commands/project-config/project/create.js +3 -3
  198. package/dist/cli/commands/project-config/project/create.js.map +1 -1
  199. package/dist/cli/commands/project-config/project/delete.d.ts.map +1 -1
  200. package/dist/cli/commands/project-config/project/delete.js +4 -5
  201. package/dist/cli/commands/project-config/project/delete.js.map +1 -1
  202. package/dist/cli/commands/project-config/project/index.d.ts.map +1 -1
  203. package/dist/cli/commands/project-config/project/index.js +4 -5
  204. package/dist/cli/commands/project-config/project/index.js.map +1 -1
  205. package/dist/cli/commands/project-config/project/link.d.ts.map +1 -1
  206. package/dist/cli/commands/project-config/project/link.js +4 -4
  207. package/dist/cli/commands/project-config/project/link.js.map +1 -1
  208. package/dist/cli/commands/project-config/project/list.d.ts.map +1 -1
  209. package/dist/cli/commands/project-config/project/list.js +12 -5
  210. package/dist/cli/commands/project-config/project/list.js.map +1 -1
  211. package/dist/cli/commands/project-config/project/show.d.ts.map +1 -1
  212. package/dist/cli/commands/project-config/project/show.js +16 -7
  213. package/dist/cli/commands/project-config/project/show.js.map +1 -1
  214. package/dist/cli/commands/project-config/project/subscription-state.d.ts +5 -0
  215. package/dist/cli/commands/project-config/project/subscription-state.d.ts.map +1 -0
  216. package/dist/cli/commands/project-config/project/subscription-state.js +54 -0
  217. package/dist/cli/commands/project-config/project/subscription-state.js.map +1 -0
  218. package/dist/cli/commands/project-config/project/unlink.d.ts.map +1 -1
  219. package/dist/cli/commands/project-config/project/unlink.js +2 -3
  220. package/dist/cli/commands/project-config/project/unlink.js.map +1 -1
  221. package/dist/cli/commands/project-config/project/update.d.ts.map +1 -1
  222. package/dist/cli/commands/project-config/project/update.js +3 -4
  223. package/dist/cli/commands/project-config/project/update.js.map +1 -1
  224. package/dist/cli/commands/project-config/source/connect.d.ts.map +1 -1
  225. package/dist/cli/commands/project-config/source/connect.js +27 -29
  226. package/dist/cli/commands/project-config/source/connect.js.map +1 -1
  227. package/dist/cli/commands/project-config/source/disconnect.d.ts.map +1 -1
  228. package/dist/cli/commands/project-config/source/disconnect.js +4 -4
  229. package/dist/cli/commands/project-config/source/disconnect.js.map +1 -1
  230. package/dist/cli/commands/project-config/source/index.js +7 -7
  231. package/dist/cli/commands/project-config/source/index.js.map +1 -1
  232. package/dist/cli/commands/project-config/source/map.d.ts.map +1 -1
  233. package/dist/cli/commands/project-config/source/map.js +14 -18
  234. package/dist/cli/commands/project-config/source/map.js.map +1 -1
  235. package/dist/cli/commands/project-config/source/repos.d.ts.map +1 -1
  236. package/dist/cli/commands/project-config/source/repos.js +5 -5
  237. package/dist/cli/commands/project-config/source/repos.js.map +1 -1
  238. package/dist/cli/commands/project-config/source/status.d.ts.map +1 -1
  239. package/dist/cli/commands/project-config/source/status.js +66 -21
  240. package/dist/cli/commands/project-config/source/status.js.map +1 -1
  241. package/dist/cli/commands/runtime-data/backup.d.ts +1 -0
  242. package/dist/cli/commands/runtime-data/backup.d.ts.map +1 -1
  243. package/dist/cli/commands/runtime-data/backup.js +56 -22
  244. package/dist/cli/commands/runtime-data/backup.js.map +1 -1
  245. package/dist/cli/commands/runtime-data/index.d.ts +1 -0
  246. package/dist/cli/commands/runtime-data/index.d.ts.map +1 -1
  247. package/dist/cli/commands/runtime-data/index.js +54 -33
  248. package/dist/cli/commands/runtime-data/index.js.map +1 -1
  249. package/dist/cli/commands/runtime-data/resource.d.ts +1 -0
  250. package/dist/cli/commands/runtime-data/resource.d.ts.map +1 -1
  251. package/dist/cli/commands/runtime-data/resource.js +52 -32
  252. package/dist/cli/commands/runtime-data/resource.js.map +1 -1
  253. package/dist/cli/commands/runtime-data/restore.d.ts.map +1 -1
  254. package/dist/cli/commands/runtime-data/restore.js +52 -37
  255. package/dist/cli/commands/runtime-data/restore.js.map +1 -1
  256. package/dist/cli/commands/runtime-data/seeds.d.ts.map +1 -1
  257. package/dist/cli/commands/runtime-data/seeds.js +24 -26
  258. package/dist/cli/commands/runtime-data/seeds.js.map +1 -1
  259. package/dist/cli/commands/runtime-data/tunnel.d.ts.map +1 -1
  260. package/dist/cli/commands/runtime-data/tunnel.js +33 -43
  261. package/dist/cli/commands/runtime-data/tunnel.js.map +1 -1
  262. package/dist/cli/host-arguments.d.ts.map +1 -1
  263. package/dist/cli/host-arguments.js +10 -18
  264. package/dist/cli/host-arguments.js.map +1 -1
  265. package/dist/cli/host-nodes.js +1 -1
  266. package/dist/cli/host-nodes.js.map +1 -1
  267. package/dist/cli/index.d.ts +17 -10
  268. package/dist/cli/index.d.ts.map +1 -1
  269. package/dist/cli/index.js +27 -28
  270. package/dist/cli/index.js.map +1 -1
  271. package/dist/cli/lib/api-client.d.ts +10 -5
  272. package/dist/cli/lib/api-client.d.ts.map +1 -1
  273. package/dist/cli/lib/api-client.js +23 -42
  274. package/dist/cli/lib/api-client.js.map +1 -1
  275. package/dist/cli/lib/auth.d.ts +4 -126
  276. package/dist/cli/lib/auth.d.ts.map +1 -1
  277. package/dist/cli/lib/auth.js +8 -495
  278. package/dist/cli/lib/auth.js.map +1 -1
  279. package/dist/cli/lib/cli-login.d.ts +12 -0
  280. package/dist/cli/lib/cli-login.d.ts.map +1 -0
  281. package/dist/cli/lib/cli-login.js +155 -0
  282. package/dist/cli/lib/cli-login.js.map +1 -0
  283. package/dist/cli/lib/cloud-api-url.d.ts +2 -0
  284. package/dist/cli/lib/cloud-api-url.d.ts.map +1 -0
  285. package/dist/cli/lib/cloud-api-url.js +3 -0
  286. package/dist/cli/lib/cloud-api-url.js.map +1 -0
  287. package/dist/cli/lib/commit.d.ts +4 -0
  288. package/dist/cli/lib/commit.d.ts.map +1 -0
  289. package/dist/cli/lib/commit.js +21 -0
  290. package/dist/cli/lib/commit.js.map +1 -0
  291. package/dist/cli/lib/config-revisions.d.ts +9 -0
  292. package/dist/cli/lib/config-revisions.d.ts.map +1 -0
  293. package/dist/cli/lib/config-revisions.js +52 -0
  294. package/dist/cli/lib/config-revisions.js.map +1 -0
  295. package/dist/cli/lib/config.d.ts +0 -4
  296. package/dist/cli/lib/config.d.ts.map +1 -1
  297. package/dist/cli/lib/config.js +3 -5
  298. package/dist/cli/lib/config.js.map +1 -1
  299. package/dist/cli/lib/console-pairing.d.ts +2 -0
  300. package/dist/cli/lib/console-pairing.d.ts.map +1 -0
  301. package/dist/cli/lib/console-pairing.js +58 -0
  302. package/dist/cli/lib/console-pairing.js.map +1 -0
  303. package/dist/cli/lib/contract/backup-schedule-reasons.d.ts +4 -0
  304. package/dist/cli/lib/contract/backup-schedule-reasons.d.ts.map +1 -0
  305. package/dist/cli/lib/contract/backup-schedule-reasons.js +13 -0
  306. package/dist/cli/lib/contract/backup-schedule-reasons.js.map +1 -0
  307. package/dist/cli/lib/contract/build-settings.d.ts +1 -1
  308. package/dist/cli/lib/contract/build-settings.d.ts.map +1 -1
  309. package/dist/cli/lib/contract/build-settings.js +12 -18
  310. package/dist/cli/lib/contract/build-settings.js.map +1 -1
  311. package/dist/cli/lib/contract/database.d.ts +19 -0
  312. package/dist/cli/lib/contract/database.d.ts.map +1 -1
  313. package/dist/cli/lib/contract/database.js +7 -13
  314. package/dist/cli/lib/contract/database.js.map +1 -1
  315. package/dist/cli/lib/contract/deployment-resource-labels.d.ts.map +1 -1
  316. package/dist/cli/lib/contract/deployment-resource-labels.js +2 -6
  317. package/dist/cli/lib/contract/deployment-resource-labels.js.map +1 -1
  318. package/dist/cli/lib/contract/deployments.d.ts +14 -0
  319. package/dist/cli/lib/contract/deployments.d.ts.map +1 -1
  320. package/dist/cli/lib/contract/deployments.js +54 -24
  321. package/dist/cli/lib/contract/deployments.js.map +1 -1
  322. package/dist/cli/lib/contract/desired-state.d.ts +6 -6
  323. package/dist/cli/lib/contract/desired-state.d.ts.map +1 -1
  324. package/dist/cli/lib/contract/desired-state.js +52 -55
  325. package/dist/cli/lib/contract/desired-state.js.map +1 -1
  326. package/dist/cli/lib/contract/env-vars.d.ts +37 -0
  327. package/dist/cli/lib/contract/env-vars.d.ts.map +1 -0
  328. package/dist/cli/lib/contract/env-vars.js +6 -0
  329. package/dist/cli/lib/contract/env-vars.js.map +1 -0
  330. package/dist/cli/lib/contract/foreign-credentials.d.ts +14 -25
  331. package/dist/cli/lib/contract/foreign-credentials.d.ts.map +1 -1
  332. package/dist/cli/lib/contract/foreign-credentials.js +19 -30
  333. package/dist/cli/lib/contract/foreign-credentials.js.map +1 -1
  334. package/dist/cli/lib/contract/logs.d.ts +120 -0
  335. package/dist/cli/lib/contract/logs.d.ts.map +1 -1
  336. package/dist/cli/lib/contract/logs.js +113 -16
  337. package/dist/cli/lib/contract/logs.js.map +1 -1
  338. package/dist/cli/lib/contract/managed-email.d.ts +57 -0
  339. package/dist/cli/lib/contract/managed-email.d.ts.map +1 -0
  340. package/dist/cli/lib/contract/managed-email.js +20 -0
  341. package/dist/cli/lib/contract/managed-email.js.map +1 -0
  342. package/dist/cli/lib/contract/permission-denied.d.ts +16 -0
  343. package/dist/cli/lib/contract/permission-denied.d.ts.map +1 -0
  344. package/dist/cli/lib/contract/permission-denied.js +20 -0
  345. package/dist/cli/lib/contract/permission-denied.js.map +1 -0
  346. package/dist/cli/lib/contract/projects.d.ts +6 -0
  347. package/dist/cli/lib/contract/projects.d.ts.map +1 -1
  348. package/dist/cli/lib/contract/projects.js +2 -3
  349. package/dist/cli/lib/contract/projects.js.map +1 -1
  350. package/dist/cli/lib/contract/public-error-details.d.ts.map +1 -1
  351. package/dist/cli/lib/contract/public-error-details.js +28 -43
  352. package/dist/cli/lib/contract/public-error-details.js.map +1 -1
  353. package/dist/cli/lib/contract/regions.d.ts +11 -0
  354. package/dist/cli/lib/contract/regions.d.ts.map +1 -0
  355. package/dist/cli/lib/contract/regions.js +7 -0
  356. package/dist/cli/lib/contract/regions.js.map +1 -0
  357. package/dist/cli/lib/contract/runtime-operations.d.ts +0 -1
  358. package/dist/cli/lib/contract/runtime-operations.d.ts.map +1 -1
  359. package/dist/cli/lib/contract/runtime-operations.js +11 -21
  360. package/dist/cli/lib/contract/runtime-operations.js.map +1 -1
  361. package/dist/cli/lib/contract/seeds.d.ts.map +1 -1
  362. package/dist/cli/lib/contract/seeds.js +12 -21
  363. package/dist/cli/lib/contract/seeds.js.map +1 -1
  364. package/dist/cli/lib/contract/source-disconnect-reasons.d.ts +4 -0
  365. package/dist/cli/lib/contract/source-disconnect-reasons.d.ts.map +1 -0
  366. package/dist/cli/lib/contract/source-disconnect-reasons.js +23 -0
  367. package/dist/cli/lib/contract/source-disconnect-reasons.js.map +1 -0
  368. package/dist/cli/lib/contract/source-repository.d.ts +1 -1
  369. package/dist/cli/lib/contract/source-repository.d.ts.map +1 -1
  370. package/dist/cli/lib/contract/source-repository.js +6 -9
  371. package/dist/cli/lib/contract/source-repository.js.map +1 -1
  372. package/dist/cli/lib/contract/wire-types.d.ts.map +1 -1
  373. package/dist/cli/lib/contract/wire-types.js +3 -8
  374. package/dist/cli/lib/contract/wire-types.js.map +1 -1
  375. package/dist/cli/lib/contract/wire-values.d.ts.map +1 -1
  376. package/dist/cli/lib/contract/wire-values.js +2 -3
  377. package/dist/cli/lib/contract/wire-values.js.map +1 -1
  378. package/dist/cli/lib/dotenv.d.ts +6 -0
  379. package/dist/cli/lib/dotenv.d.ts.map +1 -1
  380. package/dist/cli/lib/dotenv.js +62 -20
  381. package/dist/cli/lib/dotenv.js.map +1 -1
  382. package/dist/cli/lib/env-file.d.ts.map +1 -1
  383. package/dist/cli/lib/env-file.js +5 -11
  384. package/dist/cli/lib/env-file.js.map +1 -1
  385. package/dist/cli/lib/env-preflight.d.ts +6 -1
  386. package/dist/cli/lib/env-preflight.d.ts.map +1 -1
  387. package/dist/cli/lib/env-preflight.js +91 -63
  388. package/dist/cli/lib/env-preflight.js.map +1 -1
  389. package/dist/cli/lib/errors.d.ts +17 -19
  390. package/dist/cli/lib/errors.d.ts.map +1 -1
  391. package/dist/cli/lib/errors.js +47 -60
  392. package/dist/cli/lib/errors.js.map +1 -1
  393. package/dist/cli/lib/format.d.ts.map +1 -1
  394. package/dist/cli/lib/format.js +3 -5
  395. package/dist/cli/lib/format.js.map +1 -1
  396. package/dist/cli/lib/invocation.d.ts +4 -5
  397. package/dist/cli/lib/invocation.d.ts.map +1 -1
  398. package/dist/cli/lib/invocation.js +5 -33
  399. package/dist/cli/lib/invocation.js.map +1 -1
  400. package/dist/cli/lib/log-stream.d.ts.map +1 -1
  401. package/dist/cli/lib/log-stream.js +15 -23
  402. package/dist/cli/lib/log-stream.js.map +1 -1
  403. package/dist/cli/lib/logger.d.ts.map +1 -1
  404. package/dist/cli/lib/logger.js +7 -12
  405. package/dist/cli/lib/logger.js.map +1 -1
  406. package/dist/cli/lib/organization.d.ts.map +1 -1
  407. package/dist/cli/lib/organization.js +5 -13
  408. package/dist/cli/lib/organization.js.map +1 -1
  409. package/dist/cli/lib/platform-address.d.ts +3 -0
  410. package/dist/cli/lib/platform-address.d.ts.map +1 -0
  411. package/dist/cli/lib/platform-address.js +7 -0
  412. package/dist/cli/lib/platform-address.js.map +1 -0
  413. package/dist/cli/lib/project-link.d.ts.map +1 -1
  414. package/dist/cli/lib/project-link.js +2 -4
  415. package/dist/cli/lib/project-link.js.map +1 -1
  416. package/dist/cli/lib/resolve.d.ts +2 -6
  417. package/dist/cli/lib/resolve.d.ts.map +1 -1
  418. package/dist/cli/lib/resolve.js +35 -34
  419. package/dist/cli/lib/resolve.js.map +1 -1
  420. package/dist/cli/lib/source-repository-link.d.ts.map +1 -1
  421. package/dist/cli/lib/source-repository-link.js +6 -9
  422. package/dist/cli/lib/source-repository-link.js.map +1 -1
  423. package/dist/cli/lib/terminal-output.d.ts +12 -0
  424. package/dist/cli/lib/terminal-output.d.ts.map +1 -0
  425. package/dist/cli/lib/terminal-output.js +69 -0
  426. package/dist/cli/lib/terminal-output.js.map +1 -0
  427. package/dist/cli/lib/types.d.ts +3 -7
  428. package/dist/cli/lib/types.d.ts.map +1 -1
  429. package/dist/cli/lib/types.js.map +1 -1
  430. package/dist/cli/lib/utf8.d.ts +2 -0
  431. package/dist/cli/lib/utf8.d.ts.map +1 -0
  432. package/dist/cli/lib/utf8.js +12 -0
  433. package/dist/cli/lib/utf8.js.map +1 -0
  434. package/dist/cli/root-options.d.ts.map +1 -1
  435. package/dist/cli/root-options.js +11 -14
  436. package/dist/cli/root-options.js.map +1 -1
  437. package/dist/cli-plugin.d.ts.map +1 -1
  438. package/dist/cli-plugin.js +2 -6
  439. package/dist/cli-plugin.js.map +1 -1
  440. package/dist/cloud-config-module.js +2 -2
  441. package/dist/cloud-config-module.js.map +1 -1
  442. package/dist/dev/cli-host.d.ts.map +1 -1
  443. package/dist/dev/cli-host.js +16 -19
  444. package/dist/dev/cli-host.js.map +1 -1
  445. package/dist/dev/dashboard-vite-config.d.ts +1 -0
  446. package/dist/dev/dashboard-vite-config.d.ts.map +1 -1
  447. package/dist/dev/dashboard-vite-config.js +26 -6
  448. package/dist/dev/dashboard-vite-config.js.map +1 -1
  449. package/dist/dev/dev-command.d.ts.map +1 -1
  450. package/dist/dev/dev-command.js +76 -39
  451. package/dist/dev/dev-command.js.map +1 -1
  452. package/dist/dev/dev-config.d.ts +3 -0
  453. package/dist/dev/dev-config.d.ts.map +1 -1
  454. package/dist/dev/dev-config.js +43 -13
  455. package/dist/dev/dev-config.js.map +1 -1
  456. package/dist/dev/dev-migrate.js +7 -9
  457. package/dist/dev/dev-migrate.js.map +1 -1
  458. package/dist/dev/dev-process.d.ts.map +1 -1
  459. package/dist/dev/dev-process.js +6 -10
  460. package/dist/dev/dev-process.js.map +1 -1
  461. package/dist/dev/dev-server.js +7 -6
  462. package/dist/dev/dev-server.js.map +1 -1
  463. package/dist/dev/dev-worker.js +5 -2
  464. package/dist/dev/dev-worker.js.map +1 -1
  465. package/dist/dev/local-services.d.ts.map +1 -1
  466. package/dist/dev/local-services.js +152 -106
  467. package/dist/dev/local-services.js.map +1 -1
  468. package/dist/dev/project-layout.d.ts.map +1 -1
  469. package/dist/dev/project-layout.js +12 -17
  470. package/dist/dev/project-layout.js.map +1 -1
  471. package/dist/dev/project-plugin-scope.d.ts +2 -0
  472. package/dist/dev/project-plugin-scope.d.ts.map +1 -0
  473. package/dist/dev/project-plugin-scope.js +38 -0
  474. package/dist/dev/project-plugin-scope.js.map +1 -0
  475. package/dist/entrypoint.js +2 -0
  476. package/dist/entrypoint.js.map +1 -1
  477. package/dist/index.d.ts.map +1 -1
  478. package/dist/index.js +3 -6
  479. package/dist/index.js.map +1 -1
  480. package/dist/local-asset-server.d.ts.map +1 -1
  481. package/dist/local-asset-server.js +7 -13
  482. package/dist/local-asset-server.js.map +1 -1
  483. package/dist/local-cache-plugin.d.ts.map +1 -1
  484. package/dist/local-cache-plugin.js +20 -28
  485. package/dist/local-cache-plugin.js.map +1 -1
  486. package/dist/local-cache.d.ts.map +1 -1
  487. package/dist/local-cache.js +40 -55
  488. package/dist/local-cache.js.map +1 -1
  489. package/dist/local-core.d.ts +2 -0
  490. package/dist/local-core.d.ts.map +1 -0
  491. package/dist/local-core.js +13 -0
  492. package/dist/local-core.js.map +1 -0
  493. package/dist/local-dashboard-plugin.d.ts.map +1 -1
  494. package/dist/local-dashboard-plugin.js +6 -11
  495. package/dist/local-dashboard-plugin.js.map +1 -1
  496. package/dist/local-database.d.ts.map +1 -1
  497. package/dist/local-database.js +20 -23
  498. package/dist/local-database.js.map +1 -1
  499. package/dist/local-durable-execution-plugin.d.ts +15 -0
  500. package/dist/local-durable-execution-plugin.d.ts.map +1 -0
  501. package/dist/local-durable-execution-plugin.js +305 -0
  502. package/dist/local-durable-execution-plugin.js.map +1 -0
  503. package/dist/local-runtime-guard.d.ts +2 -0
  504. package/dist/local-runtime-guard.d.ts.map +1 -1
  505. package/dist/local-runtime-guard.js +40 -3
  506. package/dist/local-runtime-guard.js.map +1 -1
  507. package/dist/local-runtime.d.ts.map +1 -1
  508. package/dist/local-runtime.js +53 -43
  509. package/dist/local-runtime.js.map +1 -1
  510. package/package.json +20 -14
  511. package/dist/cli/commands/identity-context/login.d.ts +0 -2
  512. package/dist/cli/commands/identity-context/login.d.ts.map +0 -1
  513. package/dist/cli/commands/identity-context/login.js +0 -158
  514. package/dist/cli/commands/identity-context/login.js.map +0 -1
  515. package/dist/cli/commands/identity-context/logout.d.ts +0 -2
  516. package/dist/cli/commands/identity-context/logout.d.ts.map +0 -1
  517. package/dist/cli/commands/identity-context/logout.js +0 -12
  518. package/dist/cli/commands/identity-context/logout.js.map +0 -1
  519. package/dist/cli/commands/identity-context/org-switch.d.ts +0 -3
  520. package/dist/cli/commands/identity-context/org-switch.d.ts.map +0 -1
  521. package/dist/cli/commands/identity-context/org-switch.js +0 -71
  522. package/dist/cli/commands/identity-context/org-switch.js.map +0 -1
  523. package/dist/cli/commands/identity-context/whoami.d.ts +0 -3
  524. package/dist/cli/commands/identity-context/whoami.d.ts.map +0 -1
  525. package/dist/cli/commands/identity-context/whoami.js +0 -80
  526. package/dist/cli/commands/identity-context/whoami.js.map +0 -1
  527. package/dist/cli/lib/file-lock.d.ts +0 -23
  528. package/dist/cli/lib/file-lock.d.ts.map +0 -1
  529. package/dist/cli/lib/file-lock.js +0 -121
  530. package/dist/cli/lib/file-lock.js.map +0 -1
@@ -1,5 +1,4 @@
1
- import * as prompts from "@clack/prompts";
2
- import { createAuthenticatedClient, getAuthenticatedOrganizationSlug, resolveEnvironment, sourceBuildSettingsSchema, writeJson, } from "../../../index.js";
1
+ import { createAuthenticatedClient, getAuthenticatedOrganizationSlug, output, resolveEnvironment, sourceBuildSettingsSchema, writeJson, } from "../../../index.js";
3
2
  import { assertNotEmpty, definedEntries, readInteger, readList, readString } from "../options.js";
4
3
  import { BUILD_FIELDS, isBuildField } from "./build-fields.js";
5
4
  export async function buildSetAction(options, commandOptions) {
@@ -15,14 +14,14 @@ export async function buildClearAction(field, options) {
15
14
  if (!isBuildField(field)) {
16
15
  throw new Error(`Unknown build override "${field}". Valid: ${BUILD_FIELDS.join(", ")}.`);
17
16
  }
18
- // `null` is how one override is cleared back to automatic detection. It is dropped from the
19
- // document before validation and sent as-is, which is what the control plane reads as a clear.
17
+ // `null` clears one override back to automatic detection. It is dropped before validation and
18
+ // sent as-is.
20
19
  await updateBuildSettings(options, { [field]: null });
21
20
  }
22
21
  async function updateBuildSettings(options, patch) {
23
22
  assertNotEmpty(patch, "Specify at least one build override.");
24
23
  const { project, environment } = await resolveEnvironment(options);
25
- const client = createAuthenticatedClient(options);
24
+ const client = await createAuthenticatedClient(options);
26
25
  const current = await client.get(`/environments/${environment.id}/source-build-settings`);
27
26
  const next = { ...current.settings, ...patch };
28
27
  for (const [key, value] of Object.entries(next)) {
@@ -30,8 +29,8 @@ async function updateBuildSettings(options, patch) {
30
29
  delete next[key];
31
30
  }
32
31
  // Validated but not sent: the PATCH carries the sparse patch, and the control plane applies the
33
- // schema's own transforms (the `appDir` trailing-slash strip, the `systemPackages` dedupe and
34
- // sort). What this buys is the refusal happening before the round trip, with the schema's message.
32
+ // schema's transforms (the `appDir` trailing-slash strip, the `systemPackages` dedupe and sort).
33
+ // Validating here refuses a bad value before the round trip, with the schema's message.
35
34
  sourceBuildSettingsSchema.parse(next);
36
35
  const json = options.json === true;
37
36
  const organization = json ? "" : await getAuthenticatedOrganizationSlug(client);
@@ -40,7 +39,7 @@ async function updateBuildSettings(options, patch) {
40
39
  writeJson(updated);
41
40
  return;
42
41
  }
43
- prompts.log.success(`Source Build Settings for ${organization}/${project.slug}/${environment.slug} updated to version ${updated.version}.`);
44
- prompts.log.info("This change applies on the next source build.");
42
+ output.success(`Source Build Settings for ${organization}/${project.slug}/${environment.slug} updated to version ${updated.version}.`);
43
+ output.info("This change applies on the next source build.");
45
44
  }
46
45
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAGL,yBAAyB,EACzB,gCAAgC,EAChC,kBAAkB,EAClB,yBAAyB,EACzB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAsB,EACtB,cAAuC;IAEvC,MAAM,mBAAmB,CACvB,OAAO,EACP,cAAc,CAAC;QACb,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC;QACtE,cAAc,EAAE,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC;QACzD,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC;QACrD,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC;QACzC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC;KACxD,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAsB;IAC1E,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,aAAa,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3F,CAAC;IACD,4FAA4F;IAC5F,+FAA+F;IAC/F,MAAM,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAsB,EACtB,KAA8B;IAE9B,cAAc,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;IAC9D,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAC9B,iBAAiB,WAAW,CAAC,EAAE,wBAAwB,CACxD,CAAC;IACF,MAAM,IAAI,GAA4B,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;IACxE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,gGAAgG;IAChG,8FAA8F;IAC9F,mGAAmG;IACnG,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAChC,iBAAiB,WAAW,CAAC,EAAE,wBAAwB,EACvD,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAC/C,CAAC;IACF,IAAI,IAAI,EAAE,CAAC;QACT,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,6BAA6B,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,uBAAuB,OAAO,CAAC,OAAO,GAAG,CACvH,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/build.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { type EnvironmentDesiredState, type GlobalOptions } from "../../../index.js";
2
- export type DesiredStateSection = "environment" | "server" | "worker" | "search";
2
+ export type DesiredStateSection = "environment" | "server" | "search";
3
3
  export declare function updateDesiredState(options: GlobalOptions, section: DesiredStateSection, createState: (state: EnvironmentDesiredState) => EnvironmentDesiredState): Promise<void>;
4
4
  //# sourceMappingURL=desired-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"desired-state.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/desired-state.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAMnB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAYjF,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,uBAAuB,GACvE,OAAO,CAAC,IAAI,CAAC,CAsBf"}
1
+ {"version":3,"file":"desired-state.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/desired-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAOnB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAYtE,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,uBAAuB,GACvE,OAAO,CAAC,IAAI,CAAC,CAsBf"}
@@ -1,18 +1,17 @@
1
- import * as prompts from "@clack/prompts";
2
- import { createAuthenticatedClient, environmentDesiredStateSchema, getAuthenticatedOrganizationSlug, resolveEnvironment, writeJson, } from "../../../index.js";
1
+ import { createAuthenticatedClient, environmentDesiredStateSchema, getAuthenticatedOrganizationSlug, output, resolveEnvironment, writeJson, } from "../../../index.js";
3
2
  // Reads the current Desired State, applies the change, validates the whole document, and PATCHes
4
3
  // the one section that changed.
5
4
  //
6
- // The parse is not only a check. `serverServiceSchema` carries defaults for `port` and
7
- // `healthCheckPath`, and the section is read out of the *parsed* document, so those defaults reach
8
- // the request body for a VC Environment whose stored state predates them. Removing it would change
9
- // what the CLI sends, not just when it complains.
5
+ // The section is read out of the parsed document, so the `port` and `healthCheckPath` defaults in
6
+ // `serverServiceSchema` reach the request body for a VC Environment whose stored state predates
7
+ // them.
10
8
  //
11
- // It also fails locally on a value the document forbids, without a round trip, and reports the
12
- // removed-field sentences for `assets`, `cache`, `database`, `jobQueue` and a runtime `plan`.
9
+ // The parse also fails locally on a value the document forbids, and reports the removed-field
10
+ // sentences for `assets`, `cache`, `database`, `jobQueue`, a runtime `plan`, a runtime `replicas`
11
+ // and the whole `runtime.worker` section.
13
12
  export async function updateDesiredState(options, section, createState) {
14
13
  const { project, environment } = await resolveEnvironment(options);
15
- const client = createAuthenticatedClient(options);
14
+ const client = await createAuthenticatedClient(options);
16
15
  const current = await client.get(`/environments/${environment.id}/desired-state`);
17
16
  const next = environmentDesiredStateSchema.parse(createState(current.state));
18
17
  const value = getDesiredStateSection(next, section);
@@ -23,12 +22,12 @@ export async function updateDesiredState(options, section, createState) {
23
22
  writeJson(updated);
24
23
  return;
25
24
  }
26
- prompts.log.success(`Desired State for ${organization}/${project.slug}/${environment.slug} updated to version ${updated.version}.`);
27
- prompts.log.info("This change applies on the next deploy.");
25
+ output.success(`Desired State for ${organization}/${project.slug}/${environment.slug} updated to version ${updated.version}.`);
26
+ output.info("This change applies on the next deploy.");
28
27
  }
29
28
  function getDesiredStateSection(state, section) {
30
- if (section === "server" || section === "worker")
31
- return state.runtime[section];
29
+ if (section === "server")
30
+ return state.runtime.server;
32
31
  return state[section];
33
32
  }
34
33
  //# sourceMappingURL=desired-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desired-state.js","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/desired-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAIL,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAChC,kBAAkB,EAClB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAI3B,iGAAiG;AACjG,gCAAgC;AAChC,EAAE;AACF,uFAAuF;AACvF,mGAAmG;AACnG,mGAAmG;AACnG,kDAAkD;AAClD,EAAE;AACF,+FAA+F;AAC/F,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAsB,EACtB,OAA4B,EAC5B,WAAwE;IAExE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAC9B,iBAAiB,WAAW,CAAC,EAAE,gBAAgB,CAChD,CAAC;IACF,MAAM,IAAI,GAAG,6BAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAChC,iBAAiB,WAAW,CAAC,EAAE,kBAAkB,OAAO,EAAE,EAC1D,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAC/C,CAAC;IACF,IAAI,IAAI,EAAE,CAAC;QACT,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,OAAO,CACjB,qBAAqB,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,uBAAuB,OAAO,CAAC,OAAO,GAAG,CAC/G,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA8B,EAC9B,OAA4B;IAE5B,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"desired-state.js","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/desired-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAChC,MAAM,EACN,kBAAkB,EAClB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAI3B,iGAAiG;AACjG,gCAAgC;AAChC,EAAE;AACF,kGAAkG;AAClG,gGAAgG;AAChG,QAAQ;AACR,EAAE;AACF,8FAA8F;AAC9F,kGAAkG;AAClG,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAsB,EACtB,OAA4B,EAC5B,WAAwE;IAExE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAC9B,iBAAiB,WAAW,CAAC,EAAE,gBAAgB,CAChD,CAAC;IACF,MAAM,IAAI,GAAG,6BAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAChC,iBAAiB,WAAW,CAAC,EAAE,kBAAkB,OAAO,EAAE,EAC1D,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAC/C,CAAC;IACF,IAAI,IAAI,EAAE,CAAC;QACT,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO;IACT,CAAC;IACD,MAAM,CAAC,OAAO,CACZ,qBAAqB,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,uBAAuB,OAAO,CAAC,OAAO,GAAG,CAC/G,CAAC;IACF,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAA8B,EAC9B,OAA4B;IAE5B,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IACtD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type GlobalOptions } from "../../../../index.js";
2
+ export declare function domainListAction(options: GlobalOptions): Promise<void>;
3
+ export declare function domainPrepareAction(domain: string, options: GlobalOptions): Promise<void>;
4
+ export declare function domainVerifyAction(domain: string, options: GlobalOptions): Promise<void>;
5
+ //# sourceMappingURL=domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/config/email/domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAOnB,MAAM,sBAAsB,CAAC;AAE9B,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B5E;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/F;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB9F"}
@@ -0,0 +1,83 @@
1
+ import { createAuthenticatedClient, formatTable, output, writeJson, } from "../../../../index.js";
2
+ export async function domainListAction(options) {
3
+ const client = await createAuthenticatedClient(options);
4
+ const response = await client.get("/managed-email/domains");
5
+ if (options.json === true) {
6
+ writeJson(response);
7
+ return;
8
+ }
9
+ if (response.domains.length === 0) {
10
+ output.info("No sending domains prepared. Run `config email domain prepare <domain>` to start.");
11
+ return;
12
+ }
13
+ output.note(formatTable(["Domain", "Ownership", "Can send"], response.domains.map((domain) => [
14
+ domain.domain,
15
+ describeOwnership(domain),
16
+ domain.sendingEnabled ? "yes" : "no",
17
+ ])), "Sending domains");
18
+ // The record is printed for every domain that still needs it: a customer coming back a day later
19
+ // has no other way to read it.
20
+ for (const domain of response.domains) {
21
+ if (domain.ownershipVerifiedAt === null)
22
+ renderOwnershipRecord(domain);
23
+ }
24
+ }
25
+ export async function domainPrepareAction(domain, options) {
26
+ const client = await createAuthenticatedClient(options);
27
+ const response = await client.post("/managed-email/domains", {
28
+ domain,
29
+ });
30
+ if (options.json === true) {
31
+ writeJson(response);
32
+ return;
33
+ }
34
+ output.success(`Prepared ${response.domain}.`);
35
+ renderOwnershipRecord(response);
36
+ output.info(`Publish that record, then run \`config email domain verify ${response.domain}\` to confirm it.`);
37
+ renderSendingState(response);
38
+ }
39
+ export async function domainVerifyAction(domain, options) {
40
+ const client = await createAuthenticatedClient(options);
41
+ const prepared = await findPreparedDomain(client, domain);
42
+ const response = await client.post(`/managed-email/domains/${prepared.id}/verify`);
43
+ if (options.json === true) {
44
+ writeJson(response);
45
+ return;
46
+ }
47
+ if (response.ownershipVerifiedAt === null) {
48
+ output.warn(`${response.domain} is not confirmed. ${response.failureReason ?? ""}`.trim());
49
+ renderOwnershipRecord(response);
50
+ return;
51
+ }
52
+ output.success(`${response.domain} is confirmed as yours.`);
53
+ renderSendingState(response);
54
+ }
55
+ // The customer names a domain and the API keys on the row's id, so the list is read to translate
56
+ // between them.
57
+ async function findPreparedDomain(client, domain) {
58
+ const wanted = domain.trim().toLowerCase().replace(/\.$/, "");
59
+ const response = await client.get("/managed-email/domains");
60
+ const found = response.domains.find((entry) => entry.domain === wanted);
61
+ if (!found) {
62
+ const prepared = response.domains.map((entry) => entry.domain).join(", ");
63
+ throw new Error(`"${domain}" is not prepared. Prepared: ${prepared || "none"}. Run \`config email domain prepare ${domain}\` first.`);
64
+ }
65
+ return found;
66
+ }
67
+ function describeOwnership(domain) {
68
+ if (domain.ownershipVerifiedAt !== null)
69
+ return "confirmed";
70
+ return domain.status === "failed" ? "not confirmed" : "awaiting record";
71
+ }
72
+ function renderOwnershipRecord(domain) {
73
+ output.note(formatTable(["Type", "Name", "Value"], [[domain.ownershipRecord.type, domain.ownershipRecord.name, domain.ownershipRecord.value]]), `Ownership record for ${domain.domain}`);
74
+ }
75
+ function renderSendingState(domain) {
76
+ if (domain.sendingEnabled) {
77
+ output.success(`${domain.domain} can send.`);
78
+ return;
79
+ }
80
+ if (domain.sendingBlockedReason !== null)
81
+ output.info(domain.sendingBlockedReason);
82
+ }
83
+ //# sourceMappingURL=domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/config/email/domain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type GlobalOptions } from "../../../../index.js";
2
+ export declare function eventsAction(options: GlobalOptions): Promise<void>;
3
+ export declare function usageAction(options: GlobalOptions): Promise<void>;
4
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/config/email/events.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EASnB,MAAM,sBAAsB,CAAC;AAgB9B,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BxE;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BvE"}
@@ -0,0 +1,55 @@
1
+ import { createAuthenticatedClient, formatTable, output, resolveEnvironment, writeJson, } from "../../../../index.js";
2
+ // One phrase per normalized event type, so a table shows what happened and not a wire value such as
3
+ // "soft_bounce".
4
+ const EVENT_DESCRIPTIONS = {
5
+ accepted: "Accepted for delivery",
6
+ delivered: "Delivered",
7
+ soft_bounce: "Temporary delivery failure",
8
+ hard_bounce: "Permanent delivery failure",
9
+ complaint: "Reported as spam",
10
+ suppressed: "Recipient suppressed",
11
+ rejected: "Rejected before sending",
12
+ paused: "Sending paused",
13
+ resumed: "Sending resumed",
14
+ };
15
+ export async function eventsAction(options) {
16
+ const { environment } = await resolveEnvironment(options);
17
+ const client = await createAuthenticatedClient(options);
18
+ const response = await client.get(`/environments/${environment.id}/managed-email/events`);
19
+ if (options.json === true) {
20
+ writeJson(response);
21
+ return;
22
+ }
23
+ if (response.events.length === 0) {
24
+ output.info(`No managed email events recorded for ${environment.slug}.`);
25
+ return;
26
+ }
27
+ output.note(formatTable(["When", "What happened", "Recipient", "Detail"], response.events.map((event) => [
28
+ event.occurredAt,
29
+ EVENT_DESCRIPTIONS[event.type],
30
+ event.recipient ?? "—",
31
+ event.reason ?? "—",
32
+ ])), `Managed email events · ${environment.slug}`);
33
+ }
34
+ export async function usageAction(options) {
35
+ const { environment } = await resolveEnvironment(options);
36
+ const client = await createAuthenticatedClient(options);
37
+ const response = await client.get(`/environments/${environment.id}/managed-email/usage`);
38
+ if (options.json === true) {
39
+ writeJson(response);
40
+ return;
41
+ }
42
+ output.note(formatTable(["Measure", "Value"], [
43
+ ["Period start", response.periodStart],
44
+ ["Period end", response.periodEnd],
45
+ [`Accepted · ${environment.slug}`, String(response.environmentAccepted)],
46
+ ["Accepted · organization", String(response.organizationAccepted)],
47
+ [
48
+ "Platform safety ceiling",
49
+ response.safetyCeiling === null ? "not published yet" : String(response.safetyCeiling),
50
+ ],
51
+ ]), "Managed email usage");
52
+ // Usage counts submissions the platform accepted, so a zero is not read as a delivery problem.
53
+ output.info("Usage counts accepted submissions, including ones that later bounce.");
54
+ }
55
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/config/email/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const emailCommandGroup: import("../../../../host-nodes.js").CloudCommandGroupNode;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/config/email/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,iBAAiB,2DA6F5B,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { defineCloudCommand, defineCloudCommandGroup } from "../../../../command.js";
2
+ // `vendure config email …` — managed transactional email.
3
+ //
4
+ // A customer can prepare a sending domain and confirm they control it, configure and read a
5
+ // non-production environment's containment, and read the normalized events and the usage those
6
+ // events measure. They cannot send until the managed transport exists (CLO-401), so every domain
7
+ // reports itself unable to send and says which half is missing.
8
+ //
9
+ // Sending domains belong to the organization, so those three commands take no `--environment`.
10
+ //
11
+ // Declaration only: every `run` loads its implementation through `await import(...)`, as the parent
12
+ // family's `index.ts` explains.
13
+ export const emailCommandGroup = defineCloudCommandGroup({
14
+ name: "email",
15
+ description: "Manage managed email",
16
+ subcommands: [
17
+ defineCloudCommandGroup({
18
+ name: "domain",
19
+ description: "Manage sending domains",
20
+ subcommands: [
21
+ defineCloudCommand({
22
+ name: "list",
23
+ description: "List sending domains and the record each one needs",
24
+ run: async ({ globals }) => {
25
+ const { domainListAction } = await import("./domain.js");
26
+ await domainListAction(globals);
27
+ },
28
+ }),
29
+ defineCloudCommand({
30
+ name: "prepare",
31
+ description: "Prepare a sending domain and issue its ownership record",
32
+ arguments: [{ name: "domain", description: "Sending domain to prepare", required: true }],
33
+ run: async ({ args, globals }) => {
34
+ const [{ domainPrepareAction }, { requiredArgument }] = await Promise.all([
35
+ import("./domain.js"),
36
+ import("../../../../arguments.js"),
37
+ ]);
38
+ await domainPrepareAction(requiredArgument(args, 0, "domain"), globals);
39
+ },
40
+ }),
41
+ defineCloudCommand({
42
+ name: "verify",
43
+ description: "Check the published ownership record for a sending domain",
44
+ arguments: [{ name: "domain", description: "Prepared domain", required: true }],
45
+ run: async ({ args, globals }) => {
46
+ const [{ domainVerifyAction }, { requiredArgument }] = await Promise.all([
47
+ import("./domain.js"),
48
+ import("../../../../arguments.js"),
49
+ ]);
50
+ await domainVerifyAction(requiredArgument(args, 0, "domain"), globals);
51
+ },
52
+ }),
53
+ ],
54
+ }),
55
+ defineCloudCommandGroup({
56
+ name: "test",
57
+ description: "Manage non-production test sending",
58
+ subcommands: [
59
+ defineCloudCommand({
60
+ name: "show",
61
+ description: "Show the recipient allowlist and daily send cap",
62
+ run: async ({ globals }) => {
63
+ const { testSendingShowAction } = await import("./test-sending.js");
64
+ await testSendingShowAction(globals);
65
+ },
66
+ }),
67
+ defineCloudCommand({
68
+ name: "set",
69
+ description: "Set the recipient allowlist, the daily send cap, or both",
70
+ options: [
71
+ {
72
+ long: "--allow <addresses>",
73
+ description: "Comma-separated recipient addresses, or none to allow nobody",
74
+ required: true,
75
+ },
76
+ {
77
+ long: "--cap <count>",
78
+ description: "Messages this environment may send in a day",
79
+ required: true,
80
+ },
81
+ ],
82
+ run: async ({ options, globals }) => {
83
+ const { testSendingSetAction } = await import("./test-sending.js");
84
+ await testSendingSetAction(globals, options);
85
+ },
86
+ }),
87
+ ],
88
+ }),
89
+ defineCloudCommand({
90
+ name: "events",
91
+ description: "Show recent delivery, bounce, complaint, suppression and pause events",
92
+ run: async ({ globals }) => {
93
+ const { eventsAction } = await import("./events.js");
94
+ await eventsAction(globals);
95
+ },
96
+ }),
97
+ defineCloudCommand({
98
+ name: "usage",
99
+ description: "Show accepted email submissions for this month",
100
+ run: async ({ globals }) => {
101
+ const { usageAction } = await import("./events.js");
102
+ await usageAction(globals);
103
+ },
104
+ }),
105
+ ],
106
+ });
107
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/config/email/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type GlobalOptions } from "../../../../index.js";
2
+ export declare function testSendingShowAction(options: GlobalOptions): Promise<void>;
3
+ export declare function testSendingSetAction(options: GlobalOptions, commandOptions: Record<string, unknown>): Promise<void>;
4
+ //# sourceMappingURL=test-sending.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-sending.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/config/email/test-sending.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EASnB,MAAM,sBAAsB,CAAC;AAM9B,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjF;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -0,0 +1,69 @@
1
+ import { createAuthenticatedClient, formatTable, output, readSingleValue, resolveEnvironment, writeJson, } from "../../../../index.js";
2
+ // The word a customer types to allow nobody. An empty `--allow ""` is indistinguishable from a flag
3
+ // whose value a shell ate, so clearing the allowlist is spelled out.
4
+ const ALLOW_NONE = "none";
5
+ export async function testSendingShowAction(options) {
6
+ const { environment } = await resolveEnvironment(options);
7
+ const client = await createAuthenticatedClient(options);
8
+ const response = await client.get(`/environments/${environment.id}/managed-email/test-sending`);
9
+ if (options.json === true) {
10
+ writeJson(response);
11
+ return;
12
+ }
13
+ render(response);
14
+ }
15
+ export async function testSendingSetAction(options, commandOptions) {
16
+ const request = readRequest(commandOptions);
17
+ const { environment } = await resolveEnvironment(options);
18
+ const client = await createAuthenticatedClient(options);
19
+ const response = await client.put(`/environments/${environment.id}/managed-email/test-sending`, request);
20
+ if (options.json === true) {
21
+ writeJson(response);
22
+ return;
23
+ }
24
+ output.success("Test sending updated.");
25
+ render(response);
26
+ }
27
+ function readRequest(commandOptions) {
28
+ const allow = readSingleValue(commandOptions.allow, "--allow");
29
+ const cap = readSingleValue(commandOptions.cap, "--cap");
30
+ if (allow === undefined && cap === undefined) {
31
+ throw new Error("Give --allow, --cap, or both.");
32
+ }
33
+ const request = {};
34
+ if (allow !== undefined)
35
+ request.recipientAllowlist = readAllowlist(allow);
36
+ if (cap !== undefined)
37
+ request.dailySendCap = readCap(cap);
38
+ return request;
39
+ }
40
+ function readAllowlist(value) {
41
+ if (value.trim().toLowerCase() === ALLOW_NONE)
42
+ return [];
43
+ return value
44
+ .split(",")
45
+ .map((entry) => entry.trim())
46
+ .filter((entry) => entry !== "");
47
+ }
48
+ function readCap(value) {
49
+ const cap = Number(value);
50
+ if (!Number.isInteger(cap) || cap < 0) {
51
+ throw new Error(`--cap must be a whole number of messages, not "${value}".`);
52
+ }
53
+ return cap;
54
+ }
55
+ function render(response) {
56
+ if (!response.configurable) {
57
+ output.info("This is a production environment. It sends from a verified sending domain, so it has no test recipient allowlist or send cap.");
58
+ return;
59
+ }
60
+ output.note(formatTable(["Setting", "Value"], [
61
+ ["Recipient allowlist", response.recipientAllowlist.join(", ") || "nobody"],
62
+ ["Daily send cap", String(response.dailySendCap)],
63
+ ["Accepted today", String(response.acceptedToday)],
64
+ ]), "Test sending");
65
+ if (response.recipientAllowlist.length === 0) {
66
+ output.info("Nothing is delivered while the allowlist is empty. Add addresses with `config email test set --allow`.");
67
+ }
68
+ }
69
+ //# sourceMappingURL=test-sending.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-sending.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/project-config/config/email/test-sending.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/index.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,kBAAkB,wDA8J7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/index.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,kBAAkB,wDA+J7B,CAAC"}
@@ -1,18 +1,20 @@
1
1
  import { defineCloudCommand, defineCloudCommandGroup } from "../../../command.js";
2
2
  import { formatAlternatives } from "../options.js";
3
3
  import { BUILD_FIELDS } from "./build-fields.js";
4
- // `vcloud config …` — a VC Environment's Desired State and its Source Build Settings overrides.
4
+ import { emailCommandGroup } from "./email/index.js";
5
+ // `vendure config …` — a VC Environment's Desired State and its Source Build Settings overrides.
5
6
  //
6
- // Declaration only: every `run` loads its implementation through `await import(...)`, so the
7
- // host's `require` of this plugin on each `vendure` invocation costs nothing. This family reaches the
8
- // mirrored Zod schemas, so a static import here would put `zod` on every invocation too.
7
+ // Declaration only: every `run` loads its implementation through `await import(...)`. This family
8
+ // reaches the mirrored Zod schemas, so a static import here would load `zod` on every `vendure`
9
+ // invocation.
9
10
  //
10
- // `config set` explains rather than does: VC Environment type and region are fixed at creation. Its
11
- // two options stay declared so the explanation comes from the command rather than from the host
12
- // refusing an option it does not recognise.
11
+ // `config set` explains and changes nothing: VC Environment type and region are fixed at creation.
12
+ // Its two options stay declared so the command, not the host, explains. `config worker set` and
13
+ // `--replicas` on the server follow the same shape.
14
+ // Declared so the removal is answered by a sentence. `runtime.ts` says why.
13
15
  const REPLICAS_OPTION = {
14
16
  long: "--replicas <count>",
15
- description: "Replica count",
17
+ description: "Removed: Vendure Cloud scales the server and the worker automatically",
16
18
  required: true,
17
19
  };
18
20
  export const configCommandGroup = defineCloudCommandGroup({
@@ -61,7 +63,7 @@ export const configCommandGroup = defineCloudCommandGroup({
61
63
  ],
62
64
  run: async ({ options, globals }) => {
63
65
  const { runtimeSetAction } = await import("./runtime.js");
64
- await runtimeSetAction("server", globals, options);
66
+ await runtimeSetAction(globals, options);
65
67
  },
66
68
  }),
67
69
  ],
@@ -72,11 +74,11 @@ export const configCommandGroup = defineCloudCommandGroup({
72
74
  subcommands: [
73
75
  defineCloudCommand({
74
76
  name: "set",
75
- description: "Configure the worker service",
77
+ description: "Explain that the worker scales automatically",
76
78
  options: [REPLICAS_OPTION],
77
- run: async ({ options, globals }) => {
78
- const { runtimeSetAction } = await import("./runtime.js");
79
- await runtimeSetAction("worker", globals, options);
79
+ run: async ({ options }) => {
80
+ const { workerSetAction } = await import("./runtime.js");
81
+ workerSetAction(options);
80
82
  },
81
83
  }),
82
84
  ],
@@ -113,6 +115,7 @@ export const configCommandGroup = defineCloudCommandGroup({
113
115
  }),
114
116
  ],
115
117
  }),
118
+ emailCommandGroup,
116
119
  defineCloudCommandGroup({
117
120
  name: "build",
118
121
  description: "Manage Source Build Settings overrides",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/index.ts"],"names":[],"mappings":"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"}