@vendure/cloud 0.0.0 → 0.3.0

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 (552) hide show
  1. package/README.md +42 -7
  2. package/dist/cli/arguments.d.ts +5 -0
  3. package/dist/cli/arguments.d.ts.map +1 -0
  4. package/dist/cli/arguments.js +57 -0
  5. package/dist/cli/arguments.js.map +1 -0
  6. package/dist/cli/command.d.ts +26 -0
  7. package/dist/cli/command.d.ts.map +1 -0
  8. package/dist/cli/command.js +84 -0
  9. package/dist/cli/command.js.map +1 -0
  10. package/dist/cli/commands/deployment/arguments.d.ts +3 -0
  11. package/dist/cli/commands/deployment/arguments.d.ts.map +1 -0
  12. package/dist/cli/commands/deployment/arguments.js +13 -0
  13. package/dist/cli/commands/deployment/arguments.js.map +1 -0
  14. package/dist/cli/commands/deployment/build-logs.d.ts +3 -0
  15. package/dist/cli/commands/deployment/build-logs.d.ts.map +1 -0
  16. package/dist/cli/commands/deployment/build-logs.js +98 -0
  17. package/dist/cli/commands/deployment/build-logs.js.map +1 -0
  18. package/dist/cli/commands/deployment/deploy.d.ts +3 -0
  19. package/dist/cli/commands/deployment/deploy.d.ts.map +1 -0
  20. package/dist/cli/commands/deployment/deploy.js +306 -0
  21. package/dist/cli/commands/deployment/deploy.js.map +1 -0
  22. package/dist/cli/commands/deployment/index.d.ts +3 -0
  23. package/dist/cli/commands/deployment/index.d.ts.map +1 -0
  24. package/dist/cli/commands/deployment/index.js +177 -0
  25. package/dist/cli/commands/deployment/index.js.map +1 -0
  26. package/dist/cli/commands/deployment/list.d.ts +3 -0
  27. package/dist/cli/commands/deployment/list.d.ts.map +1 -0
  28. package/dist/cli/commands/deployment/list.js +77 -0
  29. package/dist/cli/commands/deployment/list.js.map +1 -0
  30. package/dist/cli/commands/deployment/logs.d.ts +3 -0
  31. package/dist/cli/commands/deployment/logs.d.ts.map +1 -0
  32. package/dist/cli/commands/deployment/logs.js +88 -0
  33. package/dist/cli/commands/deployment/logs.js.map +1 -0
  34. package/dist/cli/commands/deployment/options.d.ts +11 -0
  35. package/dist/cli/commands/deployment/options.d.ts.map +1 -0
  36. package/dist/cli/commands/deployment/options.js +37 -0
  37. package/dist/cli/commands/deployment/options.js.map +1 -0
  38. package/dist/cli/commands/deployment/plan-format.d.ts +8 -0
  39. package/dist/cli/commands/deployment/plan-format.d.ts.map +1 -0
  40. package/dist/cli/commands/deployment/plan-format.js +25 -0
  41. package/dist/cli/commands/deployment/plan-format.js.map +1 -0
  42. package/dist/cli/commands/deployment/plan.d.ts +3 -0
  43. package/dist/cli/commands/deployment/plan.d.ts.map +1 -0
  44. package/dist/cli/commands/deployment/plan.js +54 -0
  45. package/dist/cli/commands/deployment/plan.js.map +1 -0
  46. package/dist/cli/commands/deployment/rollback.d.ts +3 -0
  47. package/dist/cli/commands/deployment/rollback.d.ts.map +1 -0
  48. package/dist/cli/commands/deployment/rollback.js +97 -0
  49. package/dist/cli/commands/deployment/rollback.js.map +1 -0
  50. package/dist/cli/commands/deployment/shared.d.ts +5 -0
  51. package/dist/cli/commands/deployment/shared.d.ts.map +1 -0
  52. package/dist/cli/commands/deployment/shared.js +23 -0
  53. package/dist/cli/commands/deployment/shared.js.map +1 -0
  54. package/dist/cli/commands/deployment/show.d.ts +3 -0
  55. package/dist/cli/commands/deployment/show.d.ts.map +1 -0
  56. package/dist/cli/commands/deployment/show.js +71 -0
  57. package/dist/cli/commands/deployment/show.js.map +1 -0
  58. package/dist/cli/commands/deployment/source.d.ts +14 -0
  59. package/dist/cli/commands/deployment/source.d.ts.map +1 -0
  60. package/dist/cli/commands/deployment/source.js +19 -0
  61. package/dist/cli/commands/deployment/source.js.map +1 -0
  62. package/dist/cli/commands/deployment/status.d.ts +3 -0
  63. package/dist/cli/commands/deployment/status.d.ts.map +1 -0
  64. package/dist/cli/commands/deployment/status.js +59 -0
  65. package/dist/cli/commands/deployment/status.js.map +1 -0
  66. package/dist/cli/commands/deployment/teardown.d.ts +3 -0
  67. package/dist/cli/commands/deployment/teardown.d.ts.map +1 -0
  68. package/dist/cli/commands/deployment/teardown.js +178 -0
  69. package/dist/cli/commands/deployment/teardown.js.map +1 -0
  70. package/dist/cli/commands/identity-context/context.d.ts +3 -0
  71. package/dist/cli/commands/identity-context/context.d.ts.map +1 -0
  72. package/dist/cli/commands/identity-context/context.js +47 -0
  73. package/dist/cli/commands/identity-context/context.js.map +1 -0
  74. package/dist/cli/commands/identity-context/index.d.ts +2 -0
  75. package/dist/cli/commands/identity-context/index.d.ts.map +1 -0
  76. package/dist/cli/commands/identity-context/index.js +94 -0
  77. package/dist/cli/commands/identity-context/index.js.map +1 -0
  78. package/dist/cli/commands/identity-context/keys.d.ts +5 -0
  79. package/dist/cli/commands/identity-context/keys.d.ts.map +1 -0
  80. package/dist/cli/commands/identity-context/keys.js +52 -0
  81. package/dist/cli/commands/identity-context/keys.js.map +1 -0
  82. package/dist/cli/commands/identity-context/login.d.ts +2 -0
  83. package/dist/cli/commands/identity-context/login.d.ts.map +1 -0
  84. package/dist/cli/commands/identity-context/login.js +158 -0
  85. package/dist/cli/commands/identity-context/login.js.map +1 -0
  86. package/dist/cli/commands/identity-context/logout.d.ts +2 -0
  87. package/dist/cli/commands/identity-context/logout.d.ts.map +1 -0
  88. package/dist/cli/commands/identity-context/logout.js +12 -0
  89. package/dist/cli/commands/identity-context/logout.js.map +1 -0
  90. package/dist/cli/commands/identity-context/org-switch.d.ts +3 -0
  91. package/dist/cli/commands/identity-context/org-switch.d.ts.map +1 -0
  92. package/dist/cli/commands/identity-context/org-switch.js +71 -0
  93. package/dist/cli/commands/identity-context/org-switch.js.map +1 -0
  94. package/dist/cli/commands/identity-context/use.d.ts +3 -0
  95. package/dist/cli/commands/identity-context/use.d.ts.map +1 -0
  96. package/dist/cli/commands/identity-context/use.js +23 -0
  97. package/dist/cli/commands/identity-context/use.js.map +1 -0
  98. package/dist/cli/commands/identity-context/whoami.d.ts +3 -0
  99. package/dist/cli/commands/identity-context/whoami.d.ts.map +1 -0
  100. package/dist/cli/commands/identity-context/whoami.js +80 -0
  101. package/dist/cli/commands/identity-context/whoami.js.map +1 -0
  102. package/dist/cli/commands/index.d.ts +4 -0
  103. package/dist/cli/commands/index.d.ts.map +1 -0
  104. package/dist/cli/commands/index.js +67 -0
  105. package/dist/cli/commands/index.js.map +1 -0
  106. package/dist/cli/commands/project-config/config/build-fields.d.ts +4 -0
  107. package/dist/cli/commands/project-config/config/build-fields.d.ts.map +1 -0
  108. package/dist/cli/commands/project-config/config/build-fields.js +16 -0
  109. package/dist/cli/commands/project-config/config/build-fields.js.map +1 -0
  110. package/dist/cli/commands/project-config/config/build.d.ts +4 -0
  111. package/dist/cli/commands/project-config/config/build.d.ts.map +1 -0
  112. package/dist/cli/commands/project-config/config/build.js +46 -0
  113. package/dist/cli/commands/project-config/config/build.js.map +1 -0
  114. package/dist/cli/commands/project-config/config/desired-state.d.ts +4 -0
  115. package/dist/cli/commands/project-config/config/desired-state.d.ts.map +1 -0
  116. package/dist/cli/commands/project-config/config/desired-state.js +34 -0
  117. package/dist/cli/commands/project-config/config/desired-state.js.map +1 -0
  118. package/dist/cli/commands/project-config/config/index.d.ts +2 -0
  119. package/dist/cli/commands/project-config/config/index.d.ts.map +1 -0
  120. package/dist/cli/commands/project-config/config/index.js +177 -0
  121. package/dist/cli/commands/project-config/config/index.js.map +1 -0
  122. package/dist/cli/commands/project-config/config/runtime.d.ts +3 -0
  123. package/dist/cli/commands/project-config/config/runtime.d.ts.map +1 -0
  124. package/dist/cli/commands/project-config/config/runtime.js +38 -0
  125. package/dist/cli/commands/project-config/config/runtime.js.map +1 -0
  126. package/dist/cli/commands/project-config/config/search.d.ts +3 -0
  127. package/dist/cli/commands/project-config/config/search.d.ts.map +1 -0
  128. package/dist/cli/commands/project-config/config/search.js +54 -0
  129. package/dist/cli/commands/project-config/config/search.js.map +1 -0
  130. package/dist/cli/commands/project-config/config/set.d.ts +2 -0
  131. package/dist/cli/commands/project-config/config/set.d.ts.map +1 -0
  132. package/dist/cli/commands/project-config/config/set.js +14 -0
  133. package/dist/cli/commands/project-config/config/set.js.map +1 -0
  134. package/dist/cli/commands/project-config/config/show.d.ts +6 -0
  135. package/dist/cli/commands/project-config/config/show.d.ts.map +1 -0
  136. package/dist/cli/commands/project-config/config/show.js +33 -0
  137. package/dist/cli/commands/project-config/config/show.js.map +1 -0
  138. package/dist/cli/commands/project-config/env/add.d.ts +3 -0
  139. package/dist/cli/commands/project-config/env/add.d.ts.map +1 -0
  140. package/dist/cli/commands/project-config/env/add.js +22 -0
  141. package/dist/cli/commands/project-config/env/add.js.map +1 -0
  142. package/dist/cli/commands/project-config/env/get.d.ts +3 -0
  143. package/dist/cli/commands/project-config/env/get.d.ts.map +1 -0
  144. package/dist/cli/commands/project-config/env/get.js +12 -0
  145. package/dist/cli/commands/project-config/env/get.js.map +1 -0
  146. package/dist/cli/commands/project-config/env/import.d.ts +3 -0
  147. package/dist/cli/commands/project-config/env/import.d.ts.map +1 -0
  148. package/dist/cli/commands/project-config/env/import.js +45 -0
  149. package/dist/cli/commands/project-config/env/import.js.map +1 -0
  150. package/dist/cli/commands/project-config/env/index.d.ts +2 -0
  151. package/dist/cli/commands/project-config/env/index.d.ts.map +1 -0
  152. package/dist/cli/commands/project-config/env/index.js +103 -0
  153. package/dist/cli/commands/project-config/env/index.js.map +1 -0
  154. package/dist/cli/commands/project-config/env/list.d.ts +3 -0
  155. package/dist/cli/commands/project-config/env/list.d.ts.map +1 -0
  156. package/dist/cli/commands/project-config/env/list.js +25 -0
  157. package/dist/cli/commands/project-config/env/list.js.map +1 -0
  158. package/dist/cli/commands/project-config/env/metadata-options.d.ts +9 -0
  159. package/dist/cli/commands/project-config/env/metadata-options.d.ts.map +1 -0
  160. package/dist/cli/commands/project-config/env/metadata-options.js +32 -0
  161. package/dist/cli/commands/project-config/env/metadata-options.js.map +1 -0
  162. package/dist/cli/commands/project-config/env/pull.d.ts +3 -0
  163. package/dist/cli/commands/project-config/env/pull.d.ts.map +1 -0
  164. package/dist/cli/commands/project-config/env/pull.js +50 -0
  165. package/dist/cli/commands/project-config/env/pull.js.map +1 -0
  166. package/dist/cli/commands/project-config/env/read-value.d.ts +3 -0
  167. package/dist/cli/commands/project-config/env/read-value.d.ts.map +1 -0
  168. package/dist/cli/commands/project-config/env/read-value.js +20 -0
  169. package/dist/cli/commands/project-config/env/read-value.js.map +1 -0
  170. package/dist/cli/commands/project-config/env/rm.d.ts +3 -0
  171. package/dist/cli/commands/project-config/env/rm.d.ts.map +1 -0
  172. package/dist/cli/commands/project-config/env/rm.js +23 -0
  173. package/dist/cli/commands/project-config/env/rm.js.map +1 -0
  174. package/dist/cli/commands/project-config/env/run.d.ts +3 -0
  175. package/dist/cli/commands/project-config/env/run.d.ts.map +1 -0
  176. package/dist/cli/commands/project-config/env/run.js +28 -0
  177. package/dist/cli/commands/project-config/env/run.js.map +1 -0
  178. package/dist/cli/commands/project-config/env/update.d.ts +3 -0
  179. package/dist/cli/commands/project-config/env/update.d.ts.map +1 -0
  180. package/dist/cli/commands/project-config/env/update.js +32 -0
  181. package/dist/cli/commands/project-config/env/update.js.map +1 -0
  182. package/dist/cli/commands/project-config/environment/create.d.ts +3 -0
  183. package/dist/cli/commands/project-config/environment/create.d.ts.map +1 -0
  184. package/dist/cli/commands/project-config/environment/create.js +33 -0
  185. package/dist/cli/commands/project-config/environment/create.js.map +1 -0
  186. package/dist/cli/commands/project-config/environment/delete.d.ts +3 -0
  187. package/dist/cli/commands/project-config/environment/delete.d.ts.map +1 -0
  188. package/dist/cli/commands/project-config/environment/delete.js +42 -0
  189. package/dist/cli/commands/project-config/environment/delete.js.map +1 -0
  190. package/dist/cli/commands/project-config/environment/find.d.ts +7 -0
  191. package/dist/cli/commands/project-config/environment/find.d.ts.map +1 -0
  192. package/dist/cli/commands/project-config/environment/find.js +18 -0
  193. package/dist/cli/commands/project-config/environment/find.js.map +1 -0
  194. package/dist/cli/commands/project-config/environment/index.d.ts +2 -0
  195. package/dist/cli/commands/project-config/environment/index.d.ts.map +1 -0
  196. package/dist/cli/commands/project-config/environment/index.js +76 -0
  197. package/dist/cli/commands/project-config/environment/index.js.map +1 -0
  198. package/dist/cli/commands/project-config/environment/initial-superadmin.d.ts +3 -0
  199. package/dist/cli/commands/project-config/environment/initial-superadmin.d.ts.map +1 -0
  200. package/dist/cli/commands/project-config/environment/initial-superadmin.js +13 -0
  201. package/dist/cli/commands/project-config/environment/initial-superadmin.js.map +1 -0
  202. package/dist/cli/commands/project-config/environment/list.d.ts +3 -0
  203. package/dist/cli/commands/project-config/environment/list.d.ts.map +1 -0
  204. package/dist/cli/commands/project-config/environment/list.js +23 -0
  205. package/dist/cli/commands/project-config/environment/list.js.map +1 -0
  206. package/dist/cli/commands/project-config/environment/show.d.ts +3 -0
  207. package/dist/cli/commands/project-config/environment/show.d.ts.map +1 -0
  208. package/dist/cli/commands/project-config/environment/show.js +30 -0
  209. package/dist/cli/commands/project-config/environment/show.js.map +1 -0
  210. package/dist/cli/commands/project-config/environment/update.d.ts +3 -0
  211. package/dist/cli/commands/project-config/environment/update.d.ts.map +1 -0
  212. package/dist/cli/commands/project-config/environment/update.js +19 -0
  213. package/dist/cli/commands/project-config/environment/update.js.map +1 -0
  214. package/dist/cli/commands/project-config/index.d.ts +3 -0
  215. package/dist/cli/commands/project-config/index.d.ts.map +1 -0
  216. package/dist/cli/commands/project-config/index.js +27 -0
  217. package/dist/cli/commands/project-config/index.js.map +1 -0
  218. package/dist/cli/commands/project-config/init/build-detection.d.ts +11 -0
  219. package/dist/cli/commands/project-config/init/build-detection.d.ts.map +1 -0
  220. package/dist/cli/commands/project-config/init/build-detection.js +113 -0
  221. package/dist/cli/commands/project-config/init/build-detection.js.map +1 -0
  222. package/dist/cli/commands/project-config/init/index.d.ts +2 -0
  223. package/dist/cli/commands/project-config/init/index.d.ts.map +1 -0
  224. package/dist/cli/commands/project-config/init/index.js +48 -0
  225. package/dist/cli/commands/project-config/init/index.js.map +1 -0
  226. package/dist/cli/commands/project-config/init/init.d.ts +14 -0
  227. package/dist/cli/commands/project-config/init/init.d.ts.map +1 -0
  228. package/dist/cli/commands/project-config/init/init.js +367 -0
  229. package/dist/cli/commands/project-config/init/init.js.map +1 -0
  230. package/dist/cli/commands/project-config/options.d.ts +10 -0
  231. package/dist/cli/commands/project-config/options.d.ts.map +1 -0
  232. package/dist/cli/commands/project-config/options.js +80 -0
  233. package/dist/cli/commands/project-config/options.js.map +1 -0
  234. package/dist/cli/commands/project-config/project/create.d.ts +3 -0
  235. package/dist/cli/commands/project-config/project/create.d.ts.map +1 -0
  236. package/dist/cli/commands/project-config/project/create.js +20 -0
  237. package/dist/cli/commands/project-config/project/create.js.map +1 -0
  238. package/dist/cli/commands/project-config/project/delete.d.ts +3 -0
  239. package/dist/cli/commands/project-config/project/delete.d.ts.map +1 -0
  240. package/dist/cli/commands/project-config/project/delete.js +28 -0
  241. package/dist/cli/commands/project-config/project/delete.js.map +1 -0
  242. package/dist/cli/commands/project-config/project/index.d.ts +2 -0
  243. package/dist/cli/commands/project-config/project/index.d.ts.map +1 -0
  244. package/dist/cli/commands/project-config/project/index.js +88 -0
  245. package/dist/cli/commands/project-config/project/index.js.map +1 -0
  246. package/dist/cli/commands/project-config/project/link.d.ts +3 -0
  247. package/dist/cli/commands/project-config/project/link.d.ts.map +1 -0
  248. package/dist/cli/commands/project-config/project/link.js +45 -0
  249. package/dist/cli/commands/project-config/project/link.js.map +1 -0
  250. package/dist/cli/commands/project-config/project/list.d.ts +3 -0
  251. package/dist/cli/commands/project-config/project/list.d.ts.map +1 -0
  252. package/dist/cli/commands/project-config/project/list.js +15 -0
  253. package/dist/cli/commands/project-config/project/list.js.map +1 -0
  254. package/dist/cli/commands/project-config/project/show.d.ts +3 -0
  255. package/dist/cli/commands/project-config/project/show.d.ts.map +1 -0
  256. package/dist/cli/commands/project-config/project/show.js +33 -0
  257. package/dist/cli/commands/project-config/project/show.js.map +1 -0
  258. package/dist/cli/commands/project-config/project/unlink.d.ts +3 -0
  259. package/dist/cli/commands/project-config/project/unlink.d.ts.map +1 -0
  260. package/dist/cli/commands/project-config/project/unlink.js +21 -0
  261. package/dist/cli/commands/project-config/project/unlink.js.map +1 -0
  262. package/dist/cli/commands/project-config/project/update.d.ts +3 -0
  263. package/dist/cli/commands/project-config/project/update.d.ts.map +1 -0
  264. package/dist/cli/commands/project-config/project/update.js +18 -0
  265. package/dist/cli/commands/project-config/project/update.js.map +1 -0
  266. package/dist/cli/commands/project-config/source/connect.d.ts +15 -0
  267. package/dist/cli/commands/project-config/source/connect.d.ts.map +1 -0
  268. package/dist/cli/commands/project-config/source/connect.js +208 -0
  269. package/dist/cli/commands/project-config/source/connect.js.map +1 -0
  270. package/dist/cli/commands/project-config/source/disconnect.d.ts +3 -0
  271. package/dist/cli/commands/project-config/source/disconnect.d.ts.map +1 -0
  272. package/dist/cli/commands/project-config/source/disconnect.js +27 -0
  273. package/dist/cli/commands/project-config/source/disconnect.js.map +1 -0
  274. package/dist/cli/commands/project-config/source/index.d.ts +2 -0
  275. package/dist/cli/commands/project-config/source/index.d.ts.map +1 -0
  276. package/dist/cli/commands/project-config/source/index.js +74 -0
  277. package/dist/cli/commands/project-config/source/index.js.map +1 -0
  278. package/dist/cli/commands/project-config/source/map.d.ts +3 -0
  279. package/dist/cli/commands/project-config/source/map.d.ts.map +1 -0
  280. package/dist/cli/commands/project-config/source/map.js +93 -0
  281. package/dist/cli/commands/project-config/source/map.js.map +1 -0
  282. package/dist/cli/commands/project-config/source/repos.d.ts +3 -0
  283. package/dist/cli/commands/project-config/source/repos.d.ts.map +1 -0
  284. package/dist/cli/commands/project-config/source/repos.js +18 -0
  285. package/dist/cli/commands/project-config/source/repos.js.map +1 -0
  286. package/dist/cli/commands/project-config/source/status.d.ts +3 -0
  287. package/dist/cli/commands/project-config/source/status.d.ts.map +1 -0
  288. package/dist/cli/commands/project-config/source/status.js +72 -0
  289. package/dist/cli/commands/project-config/source/status.js.map +1 -0
  290. package/dist/cli/commands/runtime-data/backup.d.ts +5 -0
  291. package/dist/cli/commands/runtime-data/backup.d.ts.map +1 -0
  292. package/dist/cli/commands/runtime-data/backup.js +107 -0
  293. package/dist/cli/commands/runtime-data/backup.js.map +1 -0
  294. package/dist/cli/commands/runtime-data/index.d.ts +2 -0
  295. package/dist/cli/commands/runtime-data/index.d.ts.map +1 -0
  296. package/dist/cli/commands/runtime-data/index.js +206 -0
  297. package/dist/cli/commands/runtime-data/index.js.map +1 -0
  298. package/dist/cli/commands/runtime-data/resource.d.ts +11 -0
  299. package/dist/cli/commands/runtime-data/resource.d.ts.map +1 -0
  300. package/dist/cli/commands/runtime-data/resource.js +147 -0
  301. package/dist/cli/commands/runtime-data/resource.js.map +1 -0
  302. package/dist/cli/commands/runtime-data/restore.d.ts +3 -0
  303. package/dist/cli/commands/runtime-data/restore.d.ts.map +1 -0
  304. package/dist/cli/commands/runtime-data/restore.js +119 -0
  305. package/dist/cli/commands/runtime-data/restore.js.map +1 -0
  306. package/dist/cli/commands/runtime-data/seeds.d.ts +6 -0
  307. package/dist/cli/commands/runtime-data/seeds.d.ts.map +1 -0
  308. package/dist/cli/commands/runtime-data/seeds.js +213 -0
  309. package/dist/cli/commands/runtime-data/seeds.js.map +1 -0
  310. package/dist/cli/commands/runtime-data/tunnel.d.ts +16 -0
  311. package/dist/cli/commands/runtime-data/tunnel.d.ts.map +1 -0
  312. package/dist/cli/commands/runtime-data/tunnel.js +249 -0
  313. package/dist/cli/commands/runtime-data/tunnel.js.map +1 -0
  314. package/dist/cli/host-arguments.d.ts +7 -0
  315. package/dist/cli/host-arguments.d.ts.map +1 -0
  316. package/dist/cli/host-arguments.js +46 -0
  317. package/dist/cli/host-arguments.js.map +1 -0
  318. package/dist/cli/host-nodes.d.ts +30 -0
  319. package/dist/cli/host-nodes.d.ts.map +1 -0
  320. package/dist/cli/host-nodes.js +17 -0
  321. package/dist/cli/host-nodes.js.map +1 -0
  322. package/dist/cli/index.d.ts +29 -0
  323. package/dist/cli/index.d.ts.map +1 -0
  324. package/dist/cli/index.js +60 -0
  325. package/dist/cli/index.js.map +1 -0
  326. package/dist/cli/lib/api-client.d.ts +19 -0
  327. package/dist/cli/lib/api-client.d.ts.map +1 -0
  328. package/dist/cli/lib/api-client.js +111 -0
  329. package/dist/cli/lib/api-client.js.map +1 -0
  330. package/dist/cli/lib/auth.d.ts +132 -0
  331. package/dist/cli/lib/auth.d.ts.map +1 -0
  332. package/dist/cli/lib/auth.js +505 -0
  333. package/dist/cli/lib/auth.js.map +1 -0
  334. package/dist/cli/lib/config.d.ts +7 -0
  335. package/dist/cli/lib/config.d.ts.map +1 -0
  336. package/dist/cli/lib/config.js +11 -0
  337. package/dist/cli/lib/config.js.map +1 -0
  338. package/dist/cli/lib/context.d.ts +10 -0
  339. package/dist/cli/lib/context.d.ts.map +1 -0
  340. package/dist/cli/lib/context.js +42 -0
  341. package/dist/cli/lib/context.js.map +1 -0
  342. package/dist/cli/lib/contract/build-settings.d.ts +36 -0
  343. package/dist/cli/lib/contract/build-settings.d.ts.map +1 -0
  344. package/dist/cli/lib/contract/build-settings.js +73 -0
  345. package/dist/cli/lib/contract/build-settings.js.map +1 -0
  346. package/dist/cli/lib/contract/database.d.ts +47 -0
  347. package/dist/cli/lib/contract/database.d.ts.map +1 -0
  348. package/dist/cli/lib/contract/database.js +29 -0
  349. package/dist/cli/lib/contract/database.js.map +1 -0
  350. package/dist/cli/lib/contract/deployment-resource-labels.d.ts +11 -0
  351. package/dist/cli/lib/contract/deployment-resource-labels.d.ts.map +1 -0
  352. package/dist/cli/lib/contract/deployment-resource-labels.js +80 -0
  353. package/dist/cli/lib/contract/deployment-resource-labels.js.map +1 -0
  354. package/dist/cli/lib/contract/deployments.d.ts +128 -0
  355. package/dist/cli/lib/contract/deployments.d.ts.map +1 -0
  356. package/dist/cli/lib/contract/deployments.js +46 -0
  357. package/dist/cli/lib/contract/deployments.js.map +1 -0
  358. package/dist/cli/lib/contract/desired-state.d.ts +104 -0
  359. package/dist/cli/lib/contract/desired-state.d.ts.map +1 -0
  360. package/dist/cli/lib/contract/desired-state.js +171 -0
  361. package/dist/cli/lib/contract/desired-state.js.map +1 -0
  362. package/dist/cli/lib/contract/foreign-credentials.d.ts +49 -0
  363. package/dist/cli/lib/contract/foreign-credentials.d.ts.map +1 -0
  364. package/dist/cli/lib/contract/foreign-credentials.js +71 -0
  365. package/dist/cli/lib/contract/foreign-credentials.js.map +1 -0
  366. package/dist/cli/lib/contract/logs.d.ts +44 -0
  367. package/dist/cli/lib/contract/logs.d.ts.map +1 -0
  368. package/dist/cli/lib/contract/logs.js +66 -0
  369. package/dist/cli/lib/contract/logs.js.map +1 -0
  370. package/dist/cli/lib/contract/projects.d.ts +31 -0
  371. package/dist/cli/lib/contract/projects.d.ts.map +1 -0
  372. package/dist/cli/lib/contract/projects.js +9 -0
  373. package/dist/cli/lib/contract/projects.js.map +1 -0
  374. package/dist/cli/lib/contract/public-error-details.d.ts +4 -0
  375. package/dist/cli/lib/contract/public-error-details.d.ts.map +1 -0
  376. package/dist/cli/lib/contract/public-error-details.js +248 -0
  377. package/dist/cli/lib/contract/public-error-details.js.map +1 -0
  378. package/dist/cli/lib/contract/runtime-operations.d.ts +87 -0
  379. package/dist/cli/lib/contract/runtime-operations.d.ts.map +1 -0
  380. package/dist/cli/lib/contract/runtime-operations.js +67 -0
  381. package/dist/cli/lib/contract/runtime-operations.js.map +1 -0
  382. package/dist/cli/lib/contract/seeds.d.ts +31 -0
  383. package/dist/cli/lib/contract/seeds.d.ts.map +1 -0
  384. package/dist/cli/lib/contract/seeds.js +43 -0
  385. package/dist/cli/lib/contract/seeds.js.map +1 -0
  386. package/dist/cli/lib/contract/source-repository.d.ts +73 -0
  387. package/dist/cli/lib/contract/source-repository.d.ts.map +1 -0
  388. package/dist/cli/lib/contract/source-repository.js +31 -0
  389. package/dist/cli/lib/contract/source-repository.js.map +1 -0
  390. package/dist/cli/lib/contract/wire-types.d.ts +47 -0
  391. package/dist/cli/lib/contract/wire-types.d.ts.map +1 -0
  392. package/dist/cli/lib/contract/wire-types.js +13 -0
  393. package/dist/cli/lib/contract/wire-types.js.map +1 -0
  394. package/dist/cli/lib/contract/wire-values.d.ts +6 -0
  395. package/dist/cli/lib/contract/wire-values.d.ts.map +1 -0
  396. package/dist/cli/lib/contract/wire-values.js +21 -0
  397. package/dist/cli/lib/contract/wire-values.js.map +1 -0
  398. package/dist/cli/lib/dotenv.d.ts +2 -0
  399. package/dist/cli/lib/dotenv.d.ts.map +1 -0
  400. package/dist/cli/lib/dotenv.js +28 -0
  401. package/dist/cli/lib/dotenv.js.map +1 -0
  402. package/dist/cli/lib/env-file.d.ts +2 -0
  403. package/dist/cli/lib/env-file.d.ts.map +1 -0
  404. package/dist/cli/lib/env-file.js +26 -0
  405. package/dist/cli/lib/env-file.js.map +1 -0
  406. package/dist/cli/lib/env-preflight.d.ts +24 -0
  407. package/dist/cli/lib/env-preflight.d.ts.map +1 -0
  408. package/dist/cli/lib/env-preflight.js +265 -0
  409. package/dist/cli/lib/env-preflight.js.map +1 -0
  410. package/dist/cli/lib/error-output.d.ts +3 -0
  411. package/dist/cli/lib/error-output.d.ts.map +1 -0
  412. package/dist/cli/lib/error-output.js +2 -0
  413. package/dist/cli/lib/error-output.js.map +1 -0
  414. package/dist/cli/lib/errors.d.ts +37 -0
  415. package/dist/cli/lib/errors.d.ts.map +1 -0
  416. package/dist/cli/lib/errors.js +147 -0
  417. package/dist/cli/lib/errors.js.map +1 -0
  418. package/dist/cli/lib/file-lock.d.ts +23 -0
  419. package/dist/cli/lib/file-lock.d.ts.map +1 -0
  420. package/dist/cli/lib/file-lock.js +121 -0
  421. package/dist/cli/lib/file-lock.js.map +1 -0
  422. package/dist/cli/lib/format.d.ts +6 -0
  423. package/dist/cli/lib/format.d.ts.map +1 -0
  424. package/dist/cli/lib/format.js +44 -0
  425. package/dist/cli/lib/format.js.map +1 -0
  426. package/dist/cli/lib/id-prefix.d.ts +6 -0
  427. package/dist/cli/lib/id-prefix.d.ts.map +1 -0
  428. package/dist/cli/lib/id-prefix.js +18 -0
  429. package/dist/cli/lib/id-prefix.js.map +1 -0
  430. package/dist/cli/lib/invocation.d.ts +6 -0
  431. package/dist/cli/lib/invocation.d.ts.map +1 -0
  432. package/dist/cli/lib/invocation.js +34 -0
  433. package/dist/cli/lib/invocation.js.map +1 -0
  434. package/dist/cli/lib/log-stream.d.ts +7 -0
  435. package/dist/cli/lib/log-stream.d.ts.map +1 -0
  436. package/dist/cli/lib/log-stream.js +179 -0
  437. package/dist/cli/lib/log-stream.js.map +1 -0
  438. package/dist/cli/lib/logger.d.ts +5 -0
  439. package/dist/cli/lib/logger.d.ts.map +1 -0
  440. package/dist/cli/lib/logger.js +52 -0
  441. package/dist/cli/lib/logger.js.map +1 -0
  442. package/dist/cli/lib/open-browser.d.ts +2 -0
  443. package/dist/cli/lib/open-browser.d.ts.map +1 -0
  444. package/dist/cli/lib/open-browser.js +8 -0
  445. package/dist/cli/lib/open-browser.js.map +1 -0
  446. package/dist/cli/lib/organization.d.ts +3 -0
  447. package/dist/cli/lib/organization.d.ts.map +1 -0
  448. package/dist/cli/lib/organization.js +20 -0
  449. package/dist/cli/lib/organization.js.map +1 -0
  450. package/dist/cli/lib/project-link.d.ts +12 -0
  451. package/dist/cli/lib/project-link.d.ts.map +1 -0
  452. package/dist/cli/lib/project-link.js +69 -0
  453. package/dist/cli/lib/project-link.js.map +1 -0
  454. package/dist/cli/lib/resolve.d.ts +20 -0
  455. package/dist/cli/lib/resolve.d.ts.map +1 -0
  456. package/dist/cli/lib/resolve.js +88 -0
  457. package/dist/cli/lib/resolve.js.map +1 -0
  458. package/dist/cli/lib/sleep.d.ts +2 -0
  459. package/dist/cli/lib/sleep.d.ts.map +1 -0
  460. package/dist/cli/lib/sleep.js +4 -0
  461. package/dist/cli/lib/sleep.js.map +1 -0
  462. package/dist/cli/lib/slug.d.ts +3 -0
  463. package/dist/cli/lib/slug.d.ts.map +1 -0
  464. package/dist/cli/lib/slug.js +13 -0
  465. package/dist/cli/lib/slug.js.map +1 -0
  466. package/dist/cli/lib/source-repository-link.d.ts +5 -0
  467. package/dist/cli/lib/source-repository-link.d.ts.map +1 -0
  468. package/dist/cli/lib/source-repository-link.js +28 -0
  469. package/dist/cli/lib/source-repository-link.js.map +1 -0
  470. package/dist/cli/lib/types.d.ts +58 -0
  471. package/dist/cli/lib/types.d.ts.map +1 -0
  472. package/dist/cli/lib/types.js +10 -0
  473. package/dist/cli/lib/types.js.map +1 -0
  474. package/dist/cli/root-options.d.ts +14 -0
  475. package/dist/cli/root-options.d.ts.map +1 -0
  476. package/dist/cli/root-options.js +53 -0
  477. package/dist/cli/root-options.js.map +1 -0
  478. package/dist/cli-plugin.d.ts +22 -0
  479. package/dist/cli-plugin.d.ts.map +1 -0
  480. package/dist/cli-plugin.js +30 -0
  481. package/dist/cli-plugin.js.map +1 -0
  482. package/dist/cloud-config-module.d.ts +3 -0
  483. package/dist/cloud-config-module.d.ts.map +1 -0
  484. package/dist/cloud-config-module.js +16 -0
  485. package/dist/cloud-config-module.js.map +1 -0
  486. package/dist/dev/cli-host.d.ts +3 -0
  487. package/dist/dev/cli-host.d.ts.map +1 -0
  488. package/dist/dev/cli-host.js +72 -0
  489. package/dist/dev/cli-host.js.map +1 -0
  490. package/dist/dev/dev-command.d.ts +7 -0
  491. package/dist/dev/dev-command.d.ts.map +1 -0
  492. package/dist/dev/dev-command.js +122 -0
  493. package/dist/dev/dev-command.js.map +1 -0
  494. package/dist/dev/dev-config.d.ts +4 -0
  495. package/dist/dev/dev-config.d.ts.map +1 -0
  496. package/dist/dev/dev-config.js +28 -0
  497. package/dist/dev/dev-config.js.map +1 -0
  498. package/dist/dev/dev-migrate.d.ts +2 -0
  499. package/dist/dev/dev-migrate.d.ts.map +1 -0
  500. package/dist/dev/dev-migrate.js +17 -0
  501. package/dist/dev/dev-migrate.js.map +1 -0
  502. package/dist/dev/dev-process.d.ts +2 -0
  503. package/dist/dev/dev-process.d.ts.map +1 -0
  504. package/dist/dev/dev-process.js +14 -0
  505. package/dist/dev/dev-process.js.map +1 -0
  506. package/dist/dev/dev-server.d.ts +2 -0
  507. package/dist/dev/dev-server.d.ts.map +1 -0
  508. package/dist/dev/dev-server.js +15 -0
  509. package/dist/dev/dev-server.js.map +1 -0
  510. package/dist/dev/dev-worker.d.ts +2 -0
  511. package/dist/dev/dev-worker.d.ts.map +1 -0
  512. package/dist/dev/dev-worker.js +11 -0
  513. package/dist/dev/dev-worker.js.map +1 -0
  514. package/dist/dev/local-services.d.ts +23 -0
  515. package/dist/dev/local-services.d.ts.map +1 -0
  516. package/dist/dev/local-services.js +288 -0
  517. package/dist/dev/local-services.js.map +1 -0
  518. package/dist/dev/project-layout.d.ts +11 -0
  519. package/dist/dev/project-layout.d.ts.map +1 -0
  520. package/dist/dev/project-layout.js +89 -0
  521. package/dist/dev/project-layout.js.map +1 -0
  522. package/dist/entrypoint.js +3 -12
  523. package/dist/entrypoint.js.map +1 -1
  524. package/dist/index.d.ts +3 -1
  525. package/dist/index.d.ts.map +1 -1
  526. package/dist/index.js +3 -1
  527. package/dist/index.js.map +1 -1
  528. package/dist/local-asset-server.d.ts +4 -0
  529. package/dist/local-asset-server.d.ts.map +1 -0
  530. package/dist/local-asset-server.js +24 -0
  531. package/dist/local-asset-server.js.map +1 -0
  532. package/dist/local-cache-plugin.d.ts +5 -0
  533. package/dist/local-cache-plugin.d.ts.map +1 -0
  534. package/dist/local-cache-plugin.js +68 -0
  535. package/dist/local-cache-plugin.js.map +1 -0
  536. package/dist/local-cache.d.ts +17 -0
  537. package/dist/local-cache.d.ts.map +1 -0
  538. package/dist/local-cache.js +144 -0
  539. package/dist/local-cache.js.map +1 -0
  540. package/dist/local-dashboard-plugin.d.ts +9 -0
  541. package/dist/local-dashboard-plugin.d.ts.map +1 -0
  542. package/dist/local-dashboard-plugin.js +37 -0
  543. package/dist/local-dashboard-plugin.js.map +1 -0
  544. package/dist/local-database.d.ts +15 -0
  545. package/dist/local-database.d.ts.map +1 -0
  546. package/dist/local-database.js +64 -0
  547. package/dist/local-database.js.map +1 -0
  548. package/dist/local-runtime.d.ts +15 -2
  549. package/dist/local-runtime.d.ts.map +1 -1
  550. package/dist/local-runtime.js +145 -28
  551. package/dist/local-runtime.js.map +1 -1
  552. package/package.json +65 -7
@@ -0,0 +1,158 @@
1
+ import * as prompts from "@clack/prompts";
2
+ import { API_AUTH_CONFIG_TIMEOUT_MS, WORKOS_AUTHENTICATE_URL, WORKOS_AUTH_REQUEST_TIMEOUT_MS, WORKOS_DEVICE_AUTHORIZE_URL, cloudInvocation, createApiClient, exchangeRefreshToken, getApiUrl, openBrowser, readAuthConfig, sleep, withSessionLock, writeAuthConfig, } from "../../index.js";
3
+ // Answers with an exit code rather than setting `process.exitCode`: the host exits with whatever a
4
+ // command action returns. A login that was cancelled at the organization picker saved nothing and
5
+ // left the account signed out, so a script must not read it as a completed login.
6
+ export async function login() {
7
+ prompts.intro("Vendure Cloud Login");
8
+ const existing = readAuthConfig();
9
+ if (existing) {
10
+ const shouldContinue = await prompts.confirm({
11
+ initialValue: false,
12
+ message: `Already logged in as ${existing.user.email}. Continue and re-authenticate?`,
13
+ });
14
+ if (prompts.isCancel(shouldContinue) || !shouldContinue) {
15
+ prompts.outro("Login cancelled.");
16
+ return undefined;
17
+ }
18
+ }
19
+ const apiUrl = getApiUrl();
20
+ const publicClient = createApiClient({ baseUrl: apiUrl });
21
+ const { workosClientId } = await publicClient.get("/auth/cli-config");
22
+ const deviceResponse = await fetchWorkos(WORKOS_DEVICE_AUTHORIZE_URL, {
23
+ method: "POST",
24
+ headers: { "content-type": "application/x-www-form-urlencoded" },
25
+ body: new URLSearchParams({ client_id: workosClientId }),
26
+ }, API_AUTH_CONFIG_TIMEOUT_MS);
27
+ if (!deviceResponse.ok) {
28
+ throw new Error("Failed to start device authorization flow");
29
+ }
30
+ const device = (await deviceResponse.json());
31
+ prompts.note(`Your code: ${device.user_code}\n\nIf the browser doesn't open, visit:\n${device.verification_uri_complete}`, "Open the URL in your browser to authenticate");
32
+ openBrowser(device.verification_uri_complete);
33
+ const spinner = prompts.spinner();
34
+ spinner.start("Waiting for authentication...");
35
+ let token;
36
+ try {
37
+ token = await pollForToken(workosClientId, device.device_code, device.interval, device.expires_in);
38
+ }
39
+ catch (error) {
40
+ spinner.stop("Authentication failed.");
41
+ throw error;
42
+ }
43
+ spinner.stop("Authenticated!");
44
+ const userName = [token.user.first_name, token.user.last_name].filter(Boolean).join(" ") || null;
45
+ const authedClient = createApiClient({ baseUrl: apiUrl, token: token.access_token });
46
+ const orgs = await authedClient.get("/auth/organizations");
47
+ if (orgs.length === 0) {
48
+ throw new Error("No organization is set up for your account. Contact support to get started.");
49
+ }
50
+ const activeOrg = await resolveActiveOrganization(orgs, token.organization_id);
51
+ if (!activeOrg) {
52
+ // Nothing was saved and the account is not signed in, so a caller must not read this exit as a
53
+ // completed login.
54
+ prompts.outro("Login cancelled.");
55
+ return 1;
56
+ }
57
+ // The device-flow token is scoped to WorkOS's default org for this user. If they picked (or only
58
+ // have) a different org, re-mint the token scoped to it so its `org_id` + `permissions` claims
59
+ // match the active org — otherwise permissioned calls 403 against the "wrong" org's claims.
60
+ //
61
+ // Under the session lock: the re-mint spends a single-use refresh token, and the write must not
62
+ // interleave with a concurrent command's refresh writing its rotated pair over this brand-new
63
+ // session.
64
+ await withSessionLock(async () => {
65
+ let accessToken = token.access_token;
66
+ let refreshToken = token.refresh_token;
67
+ try {
68
+ const pair = await exchangeRefreshToken(token.refresh_token, activeOrg.workosOrgId);
69
+ accessToken = pair.accessToken;
70
+ refreshToken = pair.refreshToken;
71
+ }
72
+ catch {
73
+ // The re-mint failed (network blip, authentication service hiccup). Persist the device-flow
74
+ // tokens anyway so the user lands logged in rather than stranded with a consumed token and
75
+ // no config. The session is just unscoped (default org) until they retry — `org switch`
76
+ // re-mints.
77
+ prompts.log.warn(`Signed in, but couldn't scope your session to ${activeOrg.name}. Run \`${cloudInvocation()} org switch\` to finish scoping.`);
78
+ }
79
+ writeAuthConfig({
80
+ accessToken,
81
+ refreshToken,
82
+ user: { id: token.user.id, email: token.user.email, name: userName },
83
+ activeOrganizationId: activeOrg.id,
84
+ organizations: orgs,
85
+ });
86
+ });
87
+ prompts.outro(`Logged in as ${token.user.email} (org: ${activeOrg.name})`);
88
+ return undefined;
89
+ }
90
+ // The browser step already asks a multi-organization user which organization to sign in to, and
91
+ // reports it back as an external organization id. Honouring that answer stops the CLI asking the
92
+ // same question again, and lets a login finish where there is no terminal to answer a prompt. The
93
+ // picker is only reached when the browser sent no organization, or named one this account can no
94
+ // longer see. Returns null when the user cancels the picker.
95
+ async function resolveActiveOrganization(orgs, browserOrganizationId) {
96
+ const fromBrowser = browserOrganizationId
97
+ ? orgs.find((org) => org.workosOrgId === browserOrganizationId)
98
+ : undefined;
99
+ if (fromBrowser) {
100
+ return fromBrowser;
101
+ }
102
+ if (orgs.length === 1) {
103
+ return orgs[0];
104
+ }
105
+ if (!process.stdin.isTTY) {
106
+ throw new Error(`Could not tell which organization this session belongs to. Run \`${cloudInvocation()} login\` again in an interactive terminal and choose one.`);
107
+ }
108
+ const selected = await prompts.select({
109
+ message: "Select an organization:",
110
+ options: orgs.map((org) => ({ value: org, label: `${org.name} (${org.slug})` })),
111
+ });
112
+ return prompts.isCancel(selected) ? null : selected;
113
+ }
114
+ async function pollForToken(clientId, deviceCode, initialInterval, expiresIn) {
115
+ const deadline = Date.now() + expiresIn * 1000;
116
+ let pollInterval = initialInterval;
117
+ while (Date.now() < deadline) {
118
+ await sleep(pollInterval * 1000);
119
+ const response = await fetchWorkos(WORKOS_AUTHENTICATE_URL, {
120
+ method: "POST",
121
+ headers: { "content-type": "application/json" },
122
+ body: JSON.stringify({
123
+ client_id: clientId,
124
+ device_code: deviceCode,
125
+ grant_type: "urn:ietf:params:oauth:grant-type:device_code",
126
+ }),
127
+ }, WORKOS_AUTH_REQUEST_TIMEOUT_MS);
128
+ if (response.ok) {
129
+ return response.json();
130
+ }
131
+ const body = (await response.json().catch(() => ({})));
132
+ const error = typeof body.error === "string" ? body.error : undefined;
133
+ if (error === "authorization_pending") {
134
+ continue;
135
+ }
136
+ if (error === "slow_down") {
137
+ pollInterval += 1;
138
+ continue;
139
+ }
140
+ if (error === "expired_token") {
141
+ throw new Error("Device code expired. Please try again.");
142
+ }
143
+ throw new Error(`Authentication failed: ${error || response.statusText}`);
144
+ }
145
+ throw new Error("Device code expired. Please try again.");
146
+ }
147
+ async function fetchWorkos(url, init, timeoutMs) {
148
+ try {
149
+ return await fetch(url, {
150
+ ...init,
151
+ signal: AbortSignal.timeout(timeoutMs),
152
+ });
153
+ }
154
+ catch (error) {
155
+ throw new Error("Could not reach the authentication service. Check your connection and try again.", { cause: error });
156
+ }
157
+ }
158
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/cli/commands/identity-context/login.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function logout(): Promise<void>;
2
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/identity-context/logout.ts"],"names":[],"mappings":"AAGA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ5C"}
@@ -0,0 +1,12 @@
1
+ import * as prompts from "@clack/prompts";
2
+ import { clearAuthConfig, readAuthConfig } from "../../index.js";
3
+ export async function logout() {
4
+ const existing = readAuthConfig();
5
+ if (!existing) {
6
+ prompts.log.info("Not currently logged in.");
7
+ return;
8
+ }
9
+ clearAuthConfig();
10
+ prompts.log.success("Logged out successfully.");
11
+ }
12
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../../src/cli/commands/identity-context/logout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IACD,eAAe,EAAE,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type CloudCommandInput } from "../../index.js";
2
+ export declare function switchOrganization({ globals, }: CloudCommandInput): Promise<number | undefined>;
3
+ //# sourceMappingURL=org-switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-switch.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/identity-context/org-switch.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EAMvB,MAAM,gBAAgB,CAAC;AAExB,wBAAsB,kBAAkB,CAAC,EACvC,OAAO,GACR,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA2EjD"}
@@ -0,0 +1,71 @@
1
+ import * as prompts from "@clack/prompts";
2
+ import { cloudInvocation, createAuthenticatedClient, readAuthConfig, resolveCredential, rotateActiveOrganization, } from "../../index.js";
3
+ export async function switchOrganization({ globals, }) {
4
+ // This command re-mints and rewrites the stored login, so it only ever operates on that
5
+ // credential. An API key is already scoped to a single organization and owns no session to
6
+ // rewrite — say so rather than acting on a credential the caller did not name.
7
+ if (resolveCredential(globals)?.kind === "apiKey") {
8
+ throw new Error(`\`${cloudInvocation()} org switch\` changes the organization of your stored login. An API key is scoped to one organization and cannot be switched.`);
9
+ }
10
+ const config = readAuthConfig();
11
+ if (!config) {
12
+ prompts.log.warn(`Not logged in. Run \`${cloudInvocation()} login\` to authenticate.`);
13
+ // The exit code is returned, not assigned to `process.exitCode`; see `defineCloudCommand`.
14
+ return 1;
15
+ }
16
+ // Re-fetch the membership list rather than trusting the stored copy: it gives us the up-to-date
17
+ // set (membership can change between logins) and, crucially, the `workosOrgId` needed to re-mint
18
+ // the token — older configs were persisted before that field existed. createAuthenticatedClient
19
+ // wires the 401-retry refresh so an expired stored token self-heals here.
20
+ const client = createAuthenticatedClient(globals);
21
+ const organizations = await client.get("/auth/organizations");
22
+ if (organizations.length <= 1) {
23
+ prompts.log.info("You only belong to one organization.");
24
+ return undefined;
25
+ }
26
+ const selected = await prompts.select({
27
+ message: "Select an organization:",
28
+ options: organizations.map((org) => ({
29
+ value: org.id,
30
+ label: `${org.name} (${org.slug})`,
31
+ hint: org.id === config.activeOrganizationId ? "current" : undefined,
32
+ })),
33
+ });
34
+ if (prompts.isCancel(selected)) {
35
+ prompts.log.info("Switch cancelled.");
36
+ return undefined;
37
+ }
38
+ const target = organizations.find((o) => o.id === selected);
39
+ if (!target) {
40
+ throw new Error("Selected organization not found.");
41
+ }
42
+ // Re-mint the access token scoped to the chosen org so its `org_id` + `permissions` claims
43
+ // match. Flipping `activeOrganizationId` alone would leave the JWT scoped to the previous org
44
+ // and 403 every permissioned call. rotateActiveOrganization does the exchange and the write as
45
+ // one locked unit so it cannot double-spend the refresh token against a concurrent command, or
46
+ // overwrite that command's rotation with a stale snapshot.
47
+ const spinner = prompts.spinner();
48
+ spinner.start(`Switching to ${target.name}...`);
49
+ try {
50
+ await rotateActiveOrganization({
51
+ organizationId: target.id,
52
+ workosOrgId: target.workosOrgId,
53
+ organizations,
54
+ });
55
+ }
56
+ catch (error) {
57
+ spinner.stop("Switch failed.");
58
+ // The config is never half-written: rotateActiveOrganization persists the new pair and the new
59
+ // active org in one atomic replace, or not at all, so a failed switch cannot strand the user
60
+ // between orgs.
61
+ //
62
+ // It can still end the session outright. If the re-mint comes back with the refresh token
63
+ // rejected, that token is dead no matter which command found out, and the stored credentials
64
+ // go with it — the user has to log in again. Every other failure leaves the existing session
65
+ // intact.
66
+ throw error;
67
+ }
68
+ spinner.stop(`Switched to ${target.name} (${target.slug}).`);
69
+ return undefined;
70
+ }
71
+ //# sourceMappingURL=org-switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-switch.js","sourceRoot":"","sources":["../../../../src/cli/commands/identity-context/org-switch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type CloudCommandInput } from "../../index.js";
2
+ export declare function useEnvironment({ args, globals }: CloudCommandInput): Promise<void>;
3
+ //# sourceMappingURL=use.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/identity-context/use.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,iBAAiB,EAUvB,MAAM,gBAAgB,CAAC;AAExB,wBAAsB,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBxF"}
@@ -0,0 +1,23 @@
1
+ import * as prompts from "@clack/prompts";
2
+ import { requiredArgument } from "../../arguments.js";
3
+ import { createAuthenticatedClient, findEnvironmentOrNull, getAuthenticatedOrganizationSlug, listEnvironments, readContext, resolveProject, setActiveEnvironment, writeContext, writeJson, } from "../../index.js";
4
+ export async function useEnvironment({ args, globals }) {
5
+ const environment = requiredArgument(args, 0, "environment");
6
+ const project = await resolveProject(globals);
7
+ const client = createAuthenticatedClient(globals);
8
+ const environments = await listEnvironments(client, project.id);
9
+ const match = findEnvironmentOrNull(environments, environment);
10
+ if (!match) {
11
+ throw new Error(`Environment "${environment}" not found in project "${project.slug}". Available: ${environments.map((e) => e.slug).join(", ") || "none"}`);
12
+ }
13
+ // Not fetched under `--json`: the organization slug only words the terminal line, and asking for
14
+ // it would put a second request behind a machine-readable command.
15
+ const organization = globals.json ? "" : await getAuthenticatedOrganizationSlug(client);
16
+ writeContext(setActiveEnvironment(readContext(), project, match.slug));
17
+ if (globals.json === true) {
18
+ writeJson({ project: { id: project.id, slug: project.slug }, environment: match });
19
+ return;
20
+ }
21
+ prompts.log.info(`Active environment set to ${organization}/${project.slug}/${match.slug}`);
22
+ }
23
+ //# sourceMappingURL=use.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/cli/commands/identity-context/use.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAEL,yBAAyB,EACzB,qBAAqB,EACrB,gCAAgC,EAChC,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAqB;IACvE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,gBAAgB,WAAW,2BAA2B,OAAO,CAAC,IAAI,iBAAiB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAC1I,CAAC;IACJ,CAAC;IAED,iGAAiG;IACjG,mEAAmE;IACnE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,gCAAgC,CAAC,MAAM,CAAC,CAAC;IACxF,YAAY,CAAC,oBAAoB,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC1B,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9F,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type CloudCommandInput } from "../../index.js";
2
+ export declare function whoami({ globals }: CloudCommandInput): Promise<number | undefined>;
3
+ //# sourceMappingURL=whoami.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/identity-context/whoami.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,iBAAiB,EAOvB,MAAM,gBAAgB,CAAC;AASxB,wBAAsB,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkBxF"}
@@ -0,0 +1,80 @@
1
+ import * as prompts from "@clack/prompts";
2
+ import { cloudInvocation, createApiClient, getApiUrl, readAuthConfig, refreshAccessToken, resolveCredential, } from "../../index.js";
3
+ export async function whoami({ globals }) {
4
+ const credential = resolveCredential(globals);
5
+ if (!credential) {
6
+ prompts.log.warn(`Not logged in. Run \`${cloudInvocation()} login\` to authenticate.`);
7
+ // The exit code is returned, not assigned to `process.exitCode`; see `defineCloudCommand`.
8
+ return 1;
9
+ }
10
+ // `/auth/me` echoes the credential's own resolved identity, so it reports what the credential is
11
+ // rather than what local config claims.
12
+ const me = await createWhoamiClient(credential).get("/auth/me");
13
+ if (credential.kind === "apiKey") {
14
+ reportApiKey(me);
15
+ return undefined;
16
+ }
17
+ reportSession(me, readAuthConfig());
18
+ return undefined;
19
+ }
20
+ // Not `createAuthenticatedClient`: whoami is the command you run to find out why the others are
21
+ // refusing, so a session with no active organization has to reach `/auth/me` rather than be turned
22
+ // away locally.
23
+ function createWhoamiClient(credential) {
24
+ if (credential.kind === "apiKey") {
25
+ return createApiClient({ baseUrl: getApiUrl(), apiKey: credential.token });
26
+ }
27
+ return createApiClient({
28
+ baseUrl: getApiUrl(),
29
+ token: credential.token,
30
+ organizationId: credential.organizationId ?? undefined,
31
+ // Only a token that came from the stored session has a refresh token behind it, and this is
32
+ // that token.
33
+ onUnauthorized: (failedToken) => refreshAccessToken(failedToken),
34
+ });
35
+ }
36
+ // An API key authenticates an organization, not a person, so there is no user to report and no
37
+ // local session to compare against.
38
+ function reportApiKey(me) {
39
+ prompts.log.info("Auth: API key");
40
+ if (me.dbOrganization?.slug) {
41
+ prompts.log.info(`Org: ${me.dbOrganization.slug}`);
42
+ }
43
+ else {
44
+ prompts.log.warn("This API key does not resolve to an organization.");
45
+ }
46
+ }
47
+ function reportSession(me, authConfig) {
48
+ const email = me.dbUser?.email ?? "Unknown";
49
+ prompts.log.info(`Email: ${email}`);
50
+ if (authConfig?.user.name) {
51
+ prompts.log.info(`Name: ${authConfig.user.name}`);
52
+ }
53
+ // The org the token is actually scoped to, taken from the token's own `org_id` claim. We do NOT
54
+ // report the org recorded in local config: config can drift from the token, and reporting config
55
+ // state would hide that drift. That masking is exactly what made the CLO-124 split-state bug so
56
+ // hard to diagnose. Map the WorkOS org_id to a friendly name via the stored membership list;
57
+ // fall back to the raw id if it isn't in the list (e.g. a token scoped to an org added since
58
+ // last login).
59
+ if (me.org_id) {
60
+ const tokenOrg = authConfig?.organizations.find((o) => o.workosOrgId === me.org_id);
61
+ prompts.log.info(`Org: ${tokenOrg ? `${tokenOrg.name} (${me.org_id})` : me.org_id}`);
62
+ if (me.role) {
63
+ prompts.log.info(`Role: ${me.role}`);
64
+ }
65
+ }
66
+ else {
67
+ // The token carries no org scope — e.g. a device-flow token whose org-scoped re-mint failed
68
+ // during login (see CLO-124 fallback). Say so explicitly rather than printing Email/Name and
69
+ // falling silent.
70
+ prompts.log.warn(`Your session has no organization scope. Run \`${cloudInvocation()} org switch\` to scope it.`);
71
+ }
72
+ // Surface a drift between the token's org and the CLI's "active" org rather than silently
73
+ // trusting config. Post-CLO-124 this shouldn't happen via login/org switch, but a stale token or
74
+ // hand-edited config still could.
75
+ const activeOrg = authConfig?.organizations.find((o) => o.id === authConfig.activeOrganizationId);
76
+ if (activeOrg && me.org_id && activeOrg.workosOrgId !== me.org_id) {
77
+ prompts.log.warn(`Your token is scoped to a different organization than your active org (${activeOrg.name}). Run \`${cloudInvocation()} org switch\` to re-scope.`);
78
+ }
79
+ }
80
+ //# sourceMappingURL=whoami.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../../../src/cli/commands/identity-context/whoami.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CloudCommandNode } from "../command.js";
2
+ export declare const HELP_ORDER: string[];
3
+ export declare const CLOUD_COMMANDS: CloudCommandNode[];
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAuBtD,eAAO,MAAM,UAAU,UA6BtB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,gBAAgB,EAK3C,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { deploymentCommands } from "./deployment/index.js";
2
+ import { identityContextCommands } from "./identity-context/index.js";
3
+ import { PROJECT_CONFIG_COMMANDS } from "./project-config/index.js";
4
+ import { runtimeDataCommands } from "./runtime-data/index.js";
5
+ // Every hosted Cloud command, as one inventory.
6
+ //
7
+ // Both entry points read this. Neither holds a list of its own, so a command cannot exist under one
8
+ // name and not the other.
9
+ //
10
+ // Declaration only: nothing here reaches an implementation or `./lib/**`, and every command's `run`
11
+ // goes through `await import(...)`. The host `require`s this graph on every `vendure` invocation,
12
+ // including the ones with nothing to do with Cloud.
13
+ // `test/cli-published-surface.test.ts` walks it from `src/cli-plugin.ts` and holds that line.
14
+ // The order `vcloud --help` listed the commands in. Its group headings are kept below as comments:
15
+ // the host has no equivalent of Commander's help groups, so under `vendure` the order is all that
16
+ // survives of them, and the compatibility executable prints the headings itself.
17
+ //
18
+ // Each family already declares its own commands in this order. This list interleaves the families,
19
+ // because `vcloud` did not list them family by family — `init` opened the help and the account
20
+ // commands closed it.
21
+ export const HELP_ORDER = [
22
+ // Setup and context
23
+ "init",
24
+ "login",
25
+ "context",
26
+ "use",
27
+ // Projects and configuration
28
+ "project",
29
+ "environment",
30
+ "config",
31
+ "env",
32
+ "source",
33
+ // Deployments
34
+ "deploy",
35
+ "status",
36
+ "logs",
37
+ "deployment",
38
+ "rollback",
39
+ // Resources and data
40
+ "resource",
41
+ "backup",
42
+ "restore",
43
+ "tunnel",
44
+ "seed",
45
+ // Account and organization
46
+ "org",
47
+ "key",
48
+ "whoami",
49
+ "logout",
50
+ ];
51
+ export const CLOUD_COMMANDS = inHelpOrder([
52
+ ...PROJECT_CONFIG_COMMANDS,
53
+ ...identityContextCommands,
54
+ ...deploymentCommands,
55
+ ...runtimeDataCommands,
56
+ ]);
57
+ // A command `HELP_ORDER` does not name lands at the end rather than being dropped. A command
58
+ // missing from the CLI is a worse failure than one listed out of place, and where it belongs is a
59
+ // decision for whoever added it. `test/cli-plugin.test.ts` reports the omission.
60
+ function inHelpOrder(nodes) {
61
+ const rank = (node) => {
62
+ const index = HELP_ORDER.indexOf(node.name);
63
+ return index === -1 ? HELP_ORDER.length : index;
64
+ };
65
+ return [...nodes].sort((first, second) => rank(first) - rank(second));
66
+ }
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,gDAAgD;AAChD,EAAE;AACF,oGAAoG;AACpG,0BAA0B;AAC1B,EAAE;AACF,oGAAoG;AACpG,kGAAkG;AAClG,oDAAoD;AACpD,8FAA8F;AAE9F,mGAAmG;AACnG,kGAAkG;AAClG,iFAAiF;AACjF,EAAE;AACF,mGAAmG;AACnG,+FAA+F;AAC/F,sBAAsB;AACtB,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,oBAAoB;IACpB,MAAM;IACN,OAAO;IACP,SAAS;IACT,KAAK;IACL,6BAA6B;IAC7B,SAAS;IACT,aAAa;IACb,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,UAAU;IACV,qBAAqB;IACrB,UAAU;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,2BAA2B;IAC3B,KAAK;IACL,KAAK;IACL,QAAQ;IACR,QAAQ;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAuB,WAAW,CAAC;IAC5D,GAAG,uBAAuB;IAC1B,GAAG,uBAAuB;IAC1B,GAAG,kBAAkB;IACrB,GAAG,mBAAmB;CACvB,CAAC,CAAC;AAEH,6FAA6F;AAC7F,kGAAkG;AAClG,iFAAiF;AACjF,SAAS,WAAW,CAAC,KAAkC;IACrD,MAAM,IAAI,GAAG,CAAC,IAAsB,EAAU,EAAE;QAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const BUILD_FIELDS: readonly ["nodeVersion", "packageManager", "buildCommand", "appDir", "systemPackages"];
2
+ export type BuildField = (typeof BUILD_FIELDS)[number];
3
+ export declare function isBuildField(value: string): value is BuildField;
4
+ //# sourceMappingURL=build-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-fields.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/build-fields.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY,wFAMf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D"}
@@ -0,0 +1,16 @@
1
+ // The Source Build Settings overrides `config build clear` accepts.
2
+ //
3
+ // Its own module, and importing nothing, so both the command that validates against it and the
4
+ // module that declares the command tree can read it. The declaration module may not reach anything
5
+ // heavier — see `env/index.ts`.
6
+ export const BUILD_FIELDS = [
7
+ "nodeVersion",
8
+ "packageManager",
9
+ "buildCommand",
10
+ "appDir",
11
+ "systemPackages",
12
+ ];
13
+ export function isBuildField(value) {
14
+ return BUILD_FIELDS.some((field) => field === value);
15
+ }
16
+ //# sourceMappingURL=build-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-fields.js","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/build-fields.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,+FAA+F;AAC/F,mGAAmG;AACnG,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,QAAQ;IACR,gBAAgB;CACR,CAAC;AAIX,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type GlobalOptions } from "../../../index.js";
2
+ export declare function buildSetAction(options: GlobalOptions, commandOptions: Record<string, unknown>): Promise<void>;
3
+ export declare function buildClearAction(field: string, options: GlobalOptions): Promise<void>;
4
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/project-config/config/build.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAOnB,MAAM,mBAAmB,CAAC;AAI3B,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAO3F"}
@@ -0,0 +1,46 @@
1
+ import * as prompts from "@clack/prompts";
2
+ import { createAuthenticatedClient, getAuthenticatedOrganizationSlug, resolveEnvironment, sourceBuildSettingsSchema, writeJson, } from "../../../index.js";
3
+ import { assertNotEmpty, definedEntries, readInteger, readList, readString } from "../options.js";
4
+ import { BUILD_FIELDS, isBuildField } from "./build-fields.js";
5
+ export async function buildSetAction(options, commandOptions) {
6
+ await updateBuildSettings(options, definedEntries({
7
+ nodeVersion: readInteger(commandOptions.nodeVersion, "--node-version"),
8
+ packageManager: readString(commandOptions.packageManager),
9
+ buildCommand: readString(commandOptions.buildCommand),
10
+ appDir: readString(commandOptions.appDir),
11
+ systemPackages: readList(commandOptions.systemPackages),
12
+ }));
13
+ }
14
+ export async function buildClearAction(field, options) {
15
+ if (!isBuildField(field)) {
16
+ throw new Error(`Unknown build override "${field}". Valid: ${BUILD_FIELDS.join(", ")}.`);
17
+ }
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.
20
+ await updateBuildSettings(options, { [field]: null });
21
+ }
22
+ async function updateBuildSettings(options, patch) {
23
+ assertNotEmpty(patch, "Specify at least one build override.");
24
+ const { project, environment } = await resolveEnvironment(options);
25
+ const client = createAuthenticatedClient(options);
26
+ const current = await client.get(`/environments/${environment.id}/source-build-settings`);
27
+ const next = { ...current.settings, ...patch };
28
+ for (const [key, value] of Object.entries(next)) {
29
+ if (value === null)
30
+ delete next[key];
31
+ }
32
+ // 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.
35
+ sourceBuildSettingsSchema.parse(next);
36
+ const json = options.json === true;
37
+ const organization = json ? "" : await getAuthenticatedOrganizationSlug(client);
38
+ const updated = await client.patch(`/environments/${environment.id}/source-build-settings`, { expectedVersion: current.version, ...patch });
39
+ if (json) {
40
+ writeJson(updated);
41
+ return;
42
+ }
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.");
45
+ }
46
+ //# sourceMappingURL=build.js.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ import { type EnvironmentDesiredState, type GlobalOptions } from "../../../index.js";
2
+ export type DesiredStateSection = "environment" | "server" | "worker" | "search";
3
+ export declare function updateDesiredState(options: GlobalOptions, section: DesiredStateSection, createState: (state: EnvironmentDesiredState) => EnvironmentDesiredState): Promise<void>;
4
+ //# sourceMappingURL=desired-state.d.ts.map
@@ -0,0 +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"}