@zuplo/cli 6.69.4 → 6.69.6

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 (428) hide show
  1. package/dist/__tests__/integration/custom-domain.integration.test.js +4 -4
  2. package/dist/__tests__/integration/custom-domain.integration.test.js.map +1 -1
  3. package/dist/__tests__/integration/jest-mocks-setup.js +30 -10
  4. package/dist/__tests__/integration/jest-mocks-setup.js.map +1 -1
  5. package/dist/__tests__/integration/list.integration.test.js +2 -2
  6. package/dist/__tests__/integration/list.integration.test.js.map +1 -1
  7. package/dist/__tests__/integration/tunnel.integration.test.js +14 -14
  8. package/dist/__tests__/integration/tunnel.integration.test.js.map +1 -1
  9. package/dist/__tests__/integration/variable.integration.test.js +4 -4
  10. package/dist/__tests__/integration/variable.integration.test.js.map +1 -1
  11. package/dist/__tests__/integration/whoami.integration.test.js +2 -5
  12. package/dist/__tests__/integration/whoami.integration.test.js.map +1 -1
  13. package/dist/cli.js +12 -6
  14. package/dist/cli.js.map +1 -1
  15. package/dist/cmds/custom-domain/index.d.ts.map +1 -1
  16. package/dist/cmds/custom-domain/index.js +6 -10
  17. package/dist/cmds/custom-domain/index.js.map +1 -1
  18. package/dist/cmds/mtls-certificates/index.d.ts.map +1 -1
  19. package/dist/cmds/mtls-certificates/index.js +8 -12
  20. package/dist/cmds/mtls-certificates/index.js.map +1 -1
  21. package/dist/cmds/open-api/index.d.ts.map +1 -1
  22. package/dist/cmds/open-api/index.js +2 -5
  23. package/dist/cmds/open-api/index.js.map +1 -1
  24. package/dist/cmds/project/index.d.ts.map +1 -1
  25. package/dist/cmds/project/index.js +2 -5
  26. package/dist/cmds/project/index.js.map +1 -1
  27. package/dist/cmds/proxies/index.d.ts +4 -4
  28. package/dist/cmds/proxies/index.d.ts.map +1 -1
  29. package/dist/cmds/proxies/index.js +6 -10
  30. package/dist/cmds/proxies/index.js.map +1 -1
  31. package/dist/cmds/source/index.d.ts.map +1 -1
  32. package/dist/cmds/source/index.js +2 -9
  33. package/dist/cmds/source/index.js.map +1 -1
  34. package/dist/cmds/source/migrate.d.ts +4 -4
  35. package/dist/cmds/source/migrate.d.ts.map +1 -1
  36. package/dist/cmds/source/migrate.js +3 -6
  37. package/dist/cmds/source/migrate.js.map +1 -1
  38. package/dist/cmds/tunnel/index.d.ts.map +1 -1
  39. package/dist/cmds/tunnel/index.js +8 -12
  40. package/dist/cmds/tunnel/index.js.map +1 -1
  41. package/dist/cmds/tunnel/services/index.d.ts.map +1 -1
  42. package/dist/cmds/tunnel/services/index.js +2 -5
  43. package/dist/cmds/tunnel/services/index.js.map +1 -1
  44. package/dist/cmds/variable/index.d.ts.map +1 -1
  45. package/dist/cmds/variable/index.js +2 -5
  46. package/dist/cmds/variable/index.js.map +1 -1
  47. package/dist/common/api/client.d.ts +40 -0
  48. package/dist/common/api/client.d.ts.map +1 -0
  49. package/dist/common/api/client.js +92 -0
  50. package/dist/common/api/client.js.map +1 -0
  51. package/dist/common/handler.d.ts +4 -1
  52. package/dist/common/handler.d.ts.map +1 -1
  53. package/dist/common/handler.js +11 -2
  54. package/dist/common/handler.js.map +1 -1
  55. package/dist/common/middleware/get-environment-param.d.ts.map +1 -1
  56. package/dist/common/middleware/get-environment-param.js +2 -18
  57. package/dist/common/middleware/get-environment-param.js.map +1 -1
  58. package/dist/common/output.d.ts +4 -0
  59. package/dist/common/output.d.ts.map +1 -1
  60. package/dist/common/output.js +4 -1
  61. package/dist/common/output.js.map +1 -1
  62. package/dist/common/utils/build-environment-prompt-choices.d.ts +13 -0
  63. package/dist/common/utils/build-environment-prompt-choices.d.ts.map +1 -0
  64. package/dist/common/utils/build-environment-prompt-choices.js +66 -0
  65. package/dist/common/utils/build-environment-prompt-choices.js.map +1 -0
  66. package/dist/common/utils/build-environment-prompt-choices.test.d.ts +2 -0
  67. package/dist/common/utils/build-environment-prompt-choices.test.d.ts.map +1 -0
  68. package/dist/common/utils/build-environment-prompt-choices.test.js +97 -0
  69. package/dist/common/utils/build-environment-prompt-choices.test.js.map +1 -0
  70. package/dist/common/utils/pretty-print-environment-prompt.d.ts +1 -4
  71. package/dist/common/utils/pretty-print-environment-prompt.d.ts.map +1 -1
  72. package/dist/common/utils/pretty-print-environment-prompt.js +3 -8
  73. package/dist/common/utils/pretty-print-environment-prompt.js.map +1 -1
  74. package/dist/common/utils/pretty-print-environment-prompt.test.js +15 -17
  75. package/dist/common/utils/pretty-print-environment-prompt.test.js.map +1 -1
  76. package/dist/common/utils/sort-environments-for-prompt.d.ts +5 -0
  77. package/dist/common/utils/sort-environments-for-prompt.d.ts.map +1 -0
  78. package/dist/common/utils/sort-environments-for-prompt.js +27 -0
  79. package/dist/common/utils/sort-environments-for-prompt.js.map +1 -0
  80. package/dist/common/utils/sort-environments-for-prompt.test.d.ts +2 -0
  81. package/dist/common/utils/sort-environments-for-prompt.test.d.ts.map +1 -0
  82. package/dist/common/utils/sort-environments-for-prompt.test.js +82 -0
  83. package/dist/common/utils/sort-environments-for-prompt.test.js.map +1 -0
  84. package/dist/custom-domain/create/handler.d.ts.map +1 -1
  85. package/dist/custom-domain/create/handler.js +12 -27
  86. package/dist/custom-domain/create/handler.js.map +1 -1
  87. package/dist/custom-domain/delete/handler.d.ts.map +1 -1
  88. package/dist/custom-domain/delete/handler.js +25 -54
  89. package/dist/custom-domain/delete/handler.js.map +1 -1
  90. package/dist/custom-domain/list/handler.d.ts.map +1 -1
  91. package/dist/custom-domain/list/handler.js +15 -29
  92. package/dist/custom-domain/list/handler.js.map +1 -1
  93. package/dist/custom-domain/update/handler.d.ts.map +1 -1
  94. package/dist/custom-domain/update/handler.js +12 -27
  95. package/dist/custom-domain/update/handler.js.map +1 -1
  96. package/dist/list/handler.d.ts.map +1 -1
  97. package/dist/list/handler.js +41 -59
  98. package/dist/list/handler.js.map +1 -1
  99. package/dist/mtls-certificates/create/handler.d.ts.map +1 -1
  100. package/dist/mtls-certificates/create/handler.js +9 -23
  101. package/dist/mtls-certificates/create/handler.js.map +1 -1
  102. package/dist/mtls-certificates/delete/handler.d.ts.map +1 -1
  103. package/dist/mtls-certificates/delete/handler.js +8 -20
  104. package/dist/mtls-certificates/delete/handler.js.map +1 -1
  105. package/dist/mtls-certificates/describe/handler.d.ts.map +1 -1
  106. package/dist/mtls-certificates/describe/handler.js +17 -31
  107. package/dist/mtls-certificates/describe/handler.js.map +1 -1
  108. package/dist/mtls-certificates/disable/handler.d.ts.map +1 -1
  109. package/dist/mtls-certificates/disable/handler.js +9 -26
  110. package/dist/mtls-certificates/disable/handler.js.map +1 -1
  111. package/dist/mtls-certificates/list/handler.d.ts.map +1 -1
  112. package/dist/mtls-certificates/list/handler.js +22 -36
  113. package/dist/mtls-certificates/list/handler.js.map +1 -1
  114. package/dist/mtls-certificates/update/handler.d.ts.map +1 -1
  115. package/dist/mtls-certificates/update/handler.js +14 -29
  116. package/dist/mtls-certificates/update/handler.js.map +1 -1
  117. package/dist/proxies/create/handler.d.ts.map +1 -1
  118. package/dist/proxies/create/handler.js +9 -22
  119. package/dist/proxies/create/handler.js.map +1 -1
  120. package/dist/proxies/delete/handler.d.ts.map +1 -1
  121. package/dist/proxies/delete/handler.js +8 -21
  122. package/dist/proxies/delete/handler.js.map +1 -1
  123. package/dist/proxies/describe/handler.d.ts.map +1 -1
  124. package/dist/proxies/describe/handler.js +7 -22
  125. package/dist/proxies/describe/handler.js.map +1 -1
  126. package/dist/proxies/update/handler.d.ts.map +1 -1
  127. package/dist/proxies/update/handler.js +9 -22
  128. package/dist/proxies/update/handler.js.map +1 -1
  129. package/dist/tsconfig.tsbuildinfo +1 -1
  130. package/dist/tunnel/create/handler.d.ts.map +1 -1
  131. package/dist/tunnel/create/handler.js +8 -22
  132. package/dist/tunnel/create/handler.js.map +1 -1
  133. package/dist/tunnel/delete/handler.d.ts.map +1 -1
  134. package/dist/tunnel/delete/handler.js +16 -30
  135. package/dist/tunnel/delete/handler.js.map +1 -1
  136. package/dist/tunnel/describe/handler.d.ts.map +1 -1
  137. package/dist/tunnel/describe/handler.js +7 -21
  138. package/dist/tunnel/describe/handler.js.map +1 -1
  139. package/dist/tunnel/list/handler.d.ts.map +1 -1
  140. package/dist/tunnel/list/handler.js +13 -28
  141. package/dist/tunnel/list/handler.js.map +1 -1
  142. package/dist/tunnel/rotate-token/handler.d.ts.map +1 -1
  143. package/dist/tunnel/rotate-token/handler.js +7 -21
  144. package/dist/tunnel/rotate-token/handler.js.map +1 -1
  145. package/dist/tunnel/services/describe/handler.d.ts.map +1 -1
  146. package/dist/tunnel/services/describe/handler.js +7 -21
  147. package/dist/tunnel/services/describe/handler.js.map +1 -1
  148. package/dist/tunnel/services/update/handler.d.ts.map +1 -1
  149. package/dist/tunnel/services/update/handler.js +18 -32
  150. package/dist/tunnel/services/update/handler.js.map +1 -1
  151. package/dist/variable/create/handler.d.ts.map +1 -1
  152. package/dist/variable/create/handler.js +9 -24
  153. package/dist/variable/create/handler.js.map +1 -1
  154. package/dist/variable/update/handler.d.ts.map +1 -1
  155. package/dist/variable/update/handler.js +9 -24
  156. package/dist/variable/update/handler.js.map +1 -1
  157. package/dist/whoami/handler.d.ts.map +1 -1
  158. package/dist/whoami/handler.js +6 -18
  159. package/dist/whoami/handler.js.map +1 -1
  160. package/node_modules/@fastify/proxy-addr/node_modules/ipaddr.js/README.md +1 -5
  161. package/node_modules/@fastify/proxy-addr/node_modules/ipaddr.js/ipaddr.min.js +1 -1
  162. package/node_modules/@fastify/proxy-addr/node_modules/ipaddr.js/lib/ipaddr.js +21 -6
  163. package/node_modules/@fastify/proxy-addr/node_modules/ipaddr.js/package.json +1 -1
  164. package/node_modules/@zuplo/core/index.minified.js +141 -137
  165. package/node_modules/@zuplo/core/package.json +1 -1
  166. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/.github/workflows/ci.yml +1 -1
  167. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/.github/workflows/lock-threads.yml +19 -0
  168. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/LICENSE +1 -3
  169. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/benchmark/bench-cmp-lib.js +60 -44
  170. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/index.js +2 -2
  171. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/package.json +7 -7
  172. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/test/anyof.test.js +20 -0
  173. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/test/array.test.js +22 -0
  174. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/test/debug-mode.test.js +21 -0
  175. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/test/if-then-else.test.js +72 -0
  176. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/test/invalidSchema.test.js +20 -0
  177. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/test/issue-836.test.js +183 -0
  178. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/test/json-add-comma.test.js +57 -57
  179. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/test/oneof.test.js +20 -0
  180. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/test/ref.test.js +31 -0
  181. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/test/typebox.test.js +1 -1
  182. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/types/{index.test-d.ts → index.tst.ts} +17 -17
  183. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
  184. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
  185. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
  186. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
  187. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1380 -0
  188. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
  189. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/index.js +1686 -0
  190. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
  191. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
  192. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
  193. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
  194. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
  195. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/perf.js +11 -0
  196. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
  197. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
  198. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
  199. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +2 -2
  200. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +4 -7
  201. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/index.d.ts +2 -3
  202. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -1
  203. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/index.js +10 -16
  204. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/index.js.map +1 -1
  205. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
  206. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/index.min.js.map +4 -4
  207. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
  208. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
  209. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
  210. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
  211. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1380 -0
  212. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
  213. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/index.js +1686 -0
  214. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
  215. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
  216. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
  217. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
  218. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
  219. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/perf.js +11 -0
  220. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
  221. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
  222. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
  223. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/perf.js +11 -0
  224. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
  225. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
  226. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
  227. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +1 -1
  228. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +1 -1
  229. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/index.d.ts +2 -3
  230. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -1
  231. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/index.js +9 -15
  232. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -1
  233. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/index.min.js +1 -1
  234. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/index.min.js.map +4 -4
  235. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
  236. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
  237. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/perf.js +8 -0
  238. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
  239. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -1
  240. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -1
  241. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/index.d.ts +2 -3
  242. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -1
  243. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/index.js +9 -15
  244. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/index.js.map +1 -1
  245. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/index.min.js +1 -1
  246. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/index.min.js.map +4 -4
  247. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
  248. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
  249. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +1 -1
  250. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +2 -3
  251. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/index.d.ts +2 -3
  252. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -1
  253. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/index.js +9 -15
  254. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/index.js.map +1 -1
  255. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/index.min.js +1 -1
  256. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/index.min.js.map +4 -4
  257. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
  258. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
  259. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/perf.js +8 -0
  260. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
  261. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
  262. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
  263. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/perf.js +8 -0
  264. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
  265. package/node_modules/@zuplo/editor/node_modules/lru-cache/package.json +44 -16
  266. package/node_modules/@zuplo/graphql/package.json +1 -1
  267. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  268. package/node_modules/@zuplo/otel/package.json +1 -1
  269. package/node_modules/@zuplo/runtime/out/esm/index.js +54 -54
  270. package/node_modules/@zuplo/runtime/out/esm/index.js.map +1 -1
  271. package/node_modules/@zuplo/runtime/out/types/index.d.ts +4 -0
  272. package/node_modules/@zuplo/runtime/package.json +1 -1
  273. package/node_modules/axios/CHANGELOG.md +32 -6
  274. package/node_modules/axios/README.md +356 -20
  275. package/node_modules/axios/dist/axios.js +1389 -1071
  276. package/node_modules/axios/dist/axios.js.map +1 -1
  277. package/node_modules/axios/dist/axios.min.js +3 -3
  278. package/node_modules/axios/dist/axios.min.js.map +1 -1
  279. package/node_modules/axios/dist/browser/axios.cjs +1486 -1123
  280. package/node_modules/axios/dist/browser/axios.cjs.map +1 -1
  281. package/node_modules/axios/dist/esm/axios.js +1488 -1124
  282. package/node_modules/axios/dist/esm/axios.js.map +1 -1
  283. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  284. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  285. package/node_modules/axios/dist/node/axios.cjs +1230 -871
  286. package/node_modules/axios/dist/node/axios.cjs.map +1 -1
  287. package/node_modules/axios/index.d.cts +25 -13
  288. package/node_modules/axios/index.d.ts +21 -4
  289. package/node_modules/axios/index.js +2 -0
  290. package/node_modules/axios/lib/adapters/adapters.js +4 -2
  291. package/node_modules/axios/lib/adapters/fetch.js +126 -10
  292. package/node_modules/axios/lib/adapters/http.js +178 -59
  293. package/node_modules/axios/lib/adapters/xhr.js +6 -2
  294. package/node_modules/axios/lib/core/Axios.js +7 -3
  295. package/node_modules/axios/lib/core/AxiosError.js +86 -1
  296. package/node_modules/axios/lib/core/AxiosHeaders.js +3 -0
  297. package/node_modules/axios/lib/core/dispatchRequest.js +19 -7
  298. package/node_modules/axios/lib/core/mergeConfig.js +6 -3
  299. package/node_modules/axios/lib/core/settle.js +7 -11
  300. package/node_modules/axios/lib/defaults/index.js +1 -1
  301. package/node_modules/axios/lib/env/data.js +1 -1
  302. package/node_modules/axios/lib/helpers/buildURL.js +1 -1
  303. package/node_modules/axios/lib/helpers/cookies.js +14 -2
  304. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +28 -1
  305. package/node_modules/axios/lib/helpers/formDataToStream.js +1 -1
  306. package/node_modules/axios/lib/helpers/parseProtocol.js +1 -1
  307. package/node_modules/axios/lib/helpers/resolveConfig.js +33 -17
  308. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +26 -1
  309. package/node_modules/axios/lib/helpers/validator.js +1 -1
  310. package/node_modules/axios/lib/utils.js +27 -15
  311. package/node_modules/axios/package.json +17 -24
  312. package/node_modules/fast-uri/.github/workflows/ci.yml +12 -7
  313. package/node_modules/fast-uri/.github/workflows/lock-threads.yml +19 -0
  314. package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +1 -1
  315. package/node_modules/fast-uri/LICENSE +1 -3
  316. package/node_modules/fast-uri/README.md +13 -4
  317. package/node_modules/fast-uri/index.js +90 -24
  318. package/node_modules/fast-uri/lib/utils.js +129 -22
  319. package/node_modules/fast-uri/package.json +3 -4
  320. package/node_modules/fast-uri/test/equal.test.js +9 -0
  321. package/node_modules/fast-uri/test/parse.test.js +5 -0
  322. package/node_modules/fast-uri/test/resolve.test.js +9 -0
  323. package/node_modules/fast-uri/test/security-normalization.test.js +39 -0
  324. package/node_modules/fast-uri/test/security.test.js +133 -0
  325. package/node_modules/is-core-module/CHANGELOG.md +244 -113
  326. package/node_modules/is-core-module/README.md +1 -1
  327. package/node_modules/is-core-module/core.json +12 -12
  328. package/node_modules/is-core-module/package.json +5 -5
  329. package/node_modules/is-core-module/test/index.js +101 -0
  330. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
  331. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
  332. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
  333. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
  334. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1380 -0
  335. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
  336. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/index.js +1686 -0
  337. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
  338. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
  339. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
  340. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
  341. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
  342. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/perf.js +11 -0
  343. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
  344. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
  345. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
  346. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +2 -2
  347. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +4 -7
  348. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/index.d.ts +2 -3
  349. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -1
  350. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/index.js +10 -16
  351. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/index.js.map +1 -1
  352. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
  353. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/index.min.js.map +4 -4
  354. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
  355. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
  356. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
  357. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
  358. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1380 -0
  359. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
  360. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/index.js +1686 -0
  361. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
  362. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
  363. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
  364. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
  365. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
  366. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/perf.js +11 -0
  367. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
  368. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
  369. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
  370. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/perf.js +11 -0
  371. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
  372. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
  373. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
  374. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +1 -1
  375. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +1 -1
  376. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/index.d.ts +2 -3
  377. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -1
  378. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/index.js +9 -15
  379. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -1
  380. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/index.min.js +1 -1
  381. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/index.min.js.map +4 -4
  382. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
  383. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
  384. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/perf.js +8 -0
  385. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
  386. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -1
  387. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -1
  388. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/index.d.ts +2 -3
  389. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -1
  390. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/index.js +9 -15
  391. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/index.js.map +1 -1
  392. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/index.min.js +1 -1
  393. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/index.min.js.map +4 -4
  394. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
  395. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
  396. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +1 -1
  397. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +2 -3
  398. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/index.d.ts +2 -3
  399. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -1
  400. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/index.js +9 -15
  401. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/index.js.map +1 -1
  402. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/index.min.js +1 -1
  403. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/index.min.js.map +4 -4
  404. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
  405. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
  406. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/perf.js +8 -0
  407. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
  408. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
  409. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
  410. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/perf.js +8 -0
  411. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
  412. package/node_modules/rimraf/node_modules/lru-cache/package.json +44 -16
  413. package/package.json +6 -6
  414. package/node_modules/@zuplo/editor/node_modules/fast-json-stringify/.github/stale.yml +0 -21
  415. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts.map +0 -1
  416. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js.map +0 -1
  417. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.mts.map +0 -1
  418. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.mjs.map +0 -1
  419. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.mts.map +0 -1
  420. package/node_modules/@zuplo/editor/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.mjs.map +0 -1
  421. package/node_modules/fast-uri/.github/.stale.yml +0 -21
  422. package/node_modules/fast-uri/.github/tests_checker.yml +0 -8
  423. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts.map +0 -1
  424. package/node_modules/rimraf/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js.map +0 -1
  425. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.mts.map +0 -1
  426. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.mjs.map +0 -1
  427. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.mts.map +0 -1
  428. package/node_modules/rimraf/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.mjs.map +0 -1
@@ -0,0 +1,82 @@
1
+ import assert from "node:assert";
2
+ import { describe, it } from "node:test";
3
+ import { sortEnvironmentsForPrompt } from "./sort-environments-for-prompt.js";
4
+ function makeEnv(environmentType, name, branchName) {
5
+ return {
6
+ name,
7
+ accountName: "acme",
8
+ projectName: "my-project",
9
+ createdOn: null,
10
+ branchName: branchName ?? name,
11
+ environmentType,
12
+ };
13
+ }
14
+ describe("sortEnvironmentsForPrompt", () => {
15
+ it("orders working-copy first, then preview alpha, then production", () => {
16
+ const envs = [
17
+ makeEnv("production", "prod"),
18
+ makeEnv("preview", "staging-b"),
19
+ makeEnv("working_copy", "wc-1"),
20
+ makeEnv("preview", "staging-a"),
21
+ ];
22
+ const result = sortEnvironmentsForPrompt(envs).map((e) => e.name);
23
+ assert.deepStrictEqual(result, ["wc-1", "staging-a", "staging-b", "prod"]);
24
+ });
25
+ it("sorts alphabetically within the same bucket", () => {
26
+ const envs = [
27
+ makeEnv("preview", "charlie"),
28
+ makeEnv("preview", "alpha"),
29
+ makeEnv("preview", "bravo"),
30
+ ];
31
+ const result = sortEnvironmentsForPrompt(envs).map((e) => e.name);
32
+ assert.deepStrictEqual(result, ["alpha", "bravo", "charlie"]);
33
+ });
34
+ it("returns an empty array unchanged", () => {
35
+ assert.deepStrictEqual(sortEnvironmentsForPrompt([]), []);
36
+ });
37
+ it("treats every working-copy type spelling as the same bucket", () => {
38
+ const envs = [
39
+ makeEnv("production", "prod"),
40
+ makeEnv("development", "wc-c"),
41
+ makeEnv("working-copy", "wc-a"),
42
+ makeEnv("working_copy", "wc-b"),
43
+ ];
44
+ const result = sortEnvironmentsForPrompt(envs).map((e) => e.name);
45
+ assert.deepStrictEqual(result, ["wc-a", "wc-b", "wc-c", "prod"]);
46
+ });
47
+ it("does not mutate the input array", () => {
48
+ const envs = [
49
+ makeEnv("production", "prod"),
50
+ makeEnv("working_copy", "wc"),
51
+ ];
52
+ const before = envs.map((e) => e.name);
53
+ sortEnvironmentsForPrompt(envs);
54
+ assert.deepStrictEqual(envs.map((e) => e.name), before);
55
+ });
56
+ it("sorts preview/production rows by branchName (the visible label), not slug", () => {
57
+ const envs = [
58
+ makeEnv("preview", "env-test-zzz", "apple"),
59
+ makeEnv("preview", "env-test-aaa", "zebra"),
60
+ makeEnv("preview", "env-test-mmm", "mango"),
61
+ ];
62
+ const result = sortEnvironmentsForPrompt(envs).map((e) => e.branchName);
63
+ assert.deepStrictEqual(result, ["apple", "mango", "zebra"]);
64
+ });
65
+ it("falls back to env.name when a preview env has no branchName", () => {
66
+ const envs = [
67
+ makeEnv("preview", "alpha-slug", "zebra"),
68
+ makeEnv("preview", "bravo-slug", ""),
69
+ ];
70
+ const result = sortEnvironmentsForPrompt(envs).map((e) => e.name);
71
+ assert.deepStrictEqual(result, ["bravo-slug", "alpha-slug"]);
72
+ });
73
+ it("sorts working-copy rows by env.name (their visible label)", () => {
74
+ const envs = [
75
+ makeEnv("working_copy", "wc-zebra", "main"),
76
+ makeEnv("working_copy", "wc-apple", "main"),
77
+ ];
78
+ const result = sortEnvironmentsForPrompt(envs).map((e) => e.name);
79
+ assert.deepStrictEqual(result, ["wc-apple", "wc-zebra"]);
80
+ });
81
+ });
82
+ //# sourceMappingURL=sort-environments-for-prompt.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-environments-for-prompt.test.js","sourceRoot":"","sources":["../../../src/common/utils/sort-environments-for-prompt.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,SAAS,OAAO,CACd,eAA+C,EAC/C,IAAY,EACZ,UAAmB;IAEnB,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,YAAY;QACzB,SAAS,EAAE,IAAI;QAGf,UAAU,EAAE,UAAU,IAAI,IAAI;QAC9B,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,IAAI,GAAkB;YAC1B,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;YAC7B,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;YAC/B,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YAC/B,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;SAChC,CAAC;QAEF,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,IAAI,GAAkB;YAC1B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;YAC7B,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;YAC3B,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;SAC5B,CAAC;QAEF,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,eAAe,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,IAAI,GAAkB;YAC1B,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;YAC7B,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC;YAC9B,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YAC/B,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;SAChC,CAAC;QAEF,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAkB;YAC1B,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC;YAC7B,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;SAC9B,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEvC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAEhC,MAAM,CAAC,eAAe,CACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACvB,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,IAAI,GAAkB;YAC1B,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC;YAC3C,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC;YAC3C,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC;SAC5C,CAAC;QAEF,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAExE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,IAAI,GAAkB;YAC1B,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC;YACzC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC;SACrC,CAAC;QAEF,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAIlE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,IAAI,GAAkB;YAC1B,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC;YAC3C,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC;SAC5C,CAAC;QAEF,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import assert from \"node:assert\";\nimport { describe, it } from \"node:test\";\nimport { Environment } from \"../api/lib.js\";\nimport { sortEnvironmentsForPrompt } from \"./sort-environments-for-prompt.js\";\n\nfunction makeEnv(\n environmentType: Environment[\"environmentType\"],\n name: string,\n branchName?: string\n): Environment {\n return {\n name,\n accountName: \"acme\",\n projectName: \"my-project\",\n createdOn: null,\n // Mirror real preview-env data where branchName matches what the user\n // typed at deploy time. Tests can override explicitly when they need to.\n branchName: branchName ?? name,\n environmentType,\n };\n}\n\ndescribe(\"sortEnvironmentsForPrompt\", () => {\n it(\"orders working-copy first, then preview alpha, then production\", () => {\n const envs: Environment[] = [\n makeEnv(\"production\", \"prod\"),\n makeEnv(\"preview\", \"staging-b\"),\n makeEnv(\"working_copy\", \"wc-1\"),\n makeEnv(\"preview\", \"staging-a\"),\n ];\n\n const result = sortEnvironmentsForPrompt(envs).map((e) => e.name);\n\n assert.deepStrictEqual(result, [\"wc-1\", \"staging-a\", \"staging-b\", \"prod\"]);\n });\n\n it(\"sorts alphabetically within the same bucket\", () => {\n const envs: Environment[] = [\n makeEnv(\"preview\", \"charlie\"),\n makeEnv(\"preview\", \"alpha\"),\n makeEnv(\"preview\", \"bravo\"),\n ];\n\n const result = sortEnvironmentsForPrompt(envs).map((e) => e.name);\n\n assert.deepStrictEqual(result, [\"alpha\", \"bravo\", \"charlie\"]);\n });\n\n it(\"returns an empty array unchanged\", () => {\n assert.deepStrictEqual(sortEnvironmentsForPrompt([]), []);\n });\n\n it(\"treats every working-copy type spelling as the same bucket\", () => {\n const envs: Environment[] = [\n makeEnv(\"production\", \"prod\"),\n makeEnv(\"development\", \"wc-c\"),\n makeEnv(\"working-copy\", \"wc-a\"),\n makeEnv(\"working_copy\", \"wc-b\"),\n ];\n\n const result = sortEnvironmentsForPrompt(envs).map((e) => e.name);\n\n assert.deepStrictEqual(result, [\"wc-a\", \"wc-b\", \"wc-c\", \"prod\"]);\n });\n\n it(\"does not mutate the input array\", () => {\n const envs: Environment[] = [\n makeEnv(\"production\", \"prod\"),\n makeEnv(\"working_copy\", \"wc\"),\n ];\n const before = envs.map((e) => e.name);\n\n sortEnvironmentsForPrompt(envs);\n\n assert.deepStrictEqual(\n envs.map((e) => e.name),\n before\n );\n });\n\n it(\"sorts preview/production rows by branchName (the visible label), not slug\", () => {\n const envs: Environment[] = [\n makeEnv(\"preview\", \"env-test-zzz\", \"apple\"),\n makeEnv(\"preview\", \"env-test-aaa\", \"zebra\"),\n makeEnv(\"preview\", \"env-test-mmm\", \"mango\"),\n ];\n\n const result = sortEnvironmentsForPrompt(envs).map((e) => e.branchName);\n\n assert.deepStrictEqual(result, [\"apple\", \"mango\", \"zebra\"]);\n });\n\n it(\"falls back to env.name when a preview env has no branchName\", () => {\n const envs: Environment[] = [\n makeEnv(\"preview\", \"alpha-slug\", \"zebra\"),\n makeEnv(\"preview\", \"bravo-slug\", \"\"),\n ];\n\n const result = sortEnvironmentsForPrompt(envs).map((e) => e.name);\n\n // bravo-slug has empty branchName so falls back to its slug \"bravo-slug\",\n // which sorts before \"zebra\".\n assert.deepStrictEqual(result, [\"bravo-slug\", \"alpha-slug\"]);\n });\n\n it(\"sorts working-copy rows by env.name (their visible label)\", () => {\n const envs: Environment[] = [\n makeEnv(\"working_copy\", \"wc-zebra\", \"main\"),\n makeEnv(\"working_copy\", \"wc-apple\", \"main\"),\n ];\n\n const result = sortEnvironmentsForPrompt(envs).map((e) => e.name);\n\n assert.deepStrictEqual(result, [\"wc-apple\", \"wc-zebra\"]);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/create/handler.ts"],"names":[],"mappings":"AAQA,OAAO,EAA8B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE7E,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAcD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,iBAqD3C"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/create/handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAA8B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE7E,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAcD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,iBAgC3C"}
@@ -1,6 +1,5 @@
1
- import { logger } from "../../common/logger.js";
2
- import { printDiagnosticsToConsole, printJsonToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
3
- import settings from "../../common/settings.js";
1
+ import { createApiClient } from "../../common/api/client.js";
2
+ import { printJsonToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, } from "../../common/output.js";
4
3
  function toMutationTable(result) {
5
4
  return {
6
5
  hostname: result.hostname,
@@ -21,31 +20,17 @@ export async function create(argv) {
21
20
  if (argv.stage) {
22
21
  body.stage = argv.stage;
23
22
  }
24
- const createResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`, {
25
- method: "POST",
26
- headers: {
27
- Authorization: `Bearer ${argv.authToken}`,
28
- "Content-Type": "application/json",
29
- },
30
- body: JSON.stringify(body),
23
+ const client = createApiClient({ authToken: argv.authToken });
24
+ const result = await client.post(`/v1/accounts/${account}/custom-domains`, {
25
+ operation: "Failed to create custom domain for account",
26
+ errorMessage: "Error: Failed to create custom domain for your account. Check the arguments.",
27
+ body,
31
28
  });
32
- if (createResponse.ok) {
33
- const result = await createResponse.json();
34
- if (argv.output === "json") {
35
- await printJsonToConsoleAndExitGracefully(result);
36
- }
37
- else {
38
- await printTableToConsoleAndExitGracefully(toMutationTable(result));
39
- }
40
- return;
29
+ if (argv.output === "json") {
30
+ await printJsonToConsoleAndExitGracefully(result);
31
+ }
32
+ else {
33
+ await printTableToConsoleAndExitGracefully(toMutationTable(result));
41
34
  }
42
- const response = textOrJson(await createResponse.text());
43
- logger.error({
44
- status: createResponse.status,
45
- statusText: createResponse.statusText,
46
- response,
47
- }, "Failed to create custom domain for account");
48
- printDiagnosticsToConsole("Error: Failed to create custom domain for your account. Check the arguments.", response);
49
- process.exit(1);
50
35
  }
51
36
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/create/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAYhD,SAAS,eAAe,CAAC,MAAkC;IACzD,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;QAC9C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,8BAA8B,EAAE,MAAM,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACnC,MAAM,IAAI,GAIN,EAAE,QAAQ,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,iBAAiB,EAChF;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YAEP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;YACzC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,MAAM,GAA+B,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,mCAAmC,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,oCAAoC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,CACV;QACE,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,QAAQ;KACT,EACD,4CAA4C,CAC7C,CAAC;IACF,yBAAyB,CACvB,8EAA8E,EAC9E,QAAQ,CACT,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printJsonToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { CustomDomainMutationResult, CustomDomainStage } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n hostname: string;\n \"deployment-name\"?: string;\n stage?: CustomDomainStage;\n output?: \"default\" | \"json\";\n}\n\nfunction toMutationTable(result: CustomDomainMutationResult) {\n return {\n hostname: result.hostname,\n \"deployment-name\": result.deploymentName ?? \"\",\n stage: result.stage ?? \"\",\n cname: result.cname ?? \"\",\n \"ownership-verification-name\": result.ownershipVerification?.name ?? \"\",\n \"ownership-verification-type\": result.ownershipVerification?.type ?? \"\",\n \"ownership-verification-value\": result.ownershipVerification?.value ?? \"\",\n };\n}\n\nexport async function create(argv: Arguments) {\n const { account, hostname } = argv;\n const body: {\n hostname: string;\n deploymentName?: string;\n stage?: CustomDomainStage;\n } = { hostname };\n\n if (argv[\"deployment-name\"]) {\n body.deploymentName = argv[\"deployment-name\"];\n }\n\n if (argv.stage) {\n body.stage = argv.stage;\n }\n\n const createResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`,\n {\n method: \"POST\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${argv.authToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n\n if (createResponse.ok) {\n const result: CustomDomainMutationResult = await createResponse.json();\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(result);\n } else {\n await printTableToConsoleAndExitGracefully(toMutationTable(result));\n }\n return;\n }\n\n const response = textOrJson(await createResponse.text());\n logger.error(\n {\n status: createResponse.status,\n statusText: createResponse.statusText,\n response,\n },\n \"Failed to create custom domain for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to create custom domain for your account. Check the arguments.\",\n response\n );\n process.exit(1);\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/create/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,mCAAmC,EACnC,oCAAoC,GACrC,MAAM,wBAAwB,CAAC;AAYhC,SAAS,eAAe,CAAC,MAAkC;IACzD,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;QAC9C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,8BAA8B,EAAE,MAAM,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACnC,MAAM,IAAI,GAIN,EAAE,QAAQ,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAC9B,gBAAgB,OAAO,iBAAiB,EACxC;QACE,SAAS,EAAE,4CAA4C;QACvD,YAAY,EACV,8EAA8E;QAChF,IAAI;KACL,CACF,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,mCAAmC,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,oCAAoC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC","sourcesContent":["import { createApiClient } from \"../../common/api/client.js\";\nimport {\n printJsonToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n} from \"../../common/output.js\";\nimport { CustomDomainMutationResult, CustomDomainStage } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n hostname: string;\n \"deployment-name\"?: string;\n stage?: CustomDomainStage;\n output?: \"default\" | \"json\";\n}\n\nfunction toMutationTable(result: CustomDomainMutationResult) {\n return {\n hostname: result.hostname,\n \"deployment-name\": result.deploymentName ?? \"\",\n stage: result.stage ?? \"\",\n cname: result.cname ?? \"\",\n \"ownership-verification-name\": result.ownershipVerification?.name ?? \"\",\n \"ownership-verification-type\": result.ownershipVerification?.type ?? \"\",\n \"ownership-verification-value\": result.ownershipVerification?.value ?? \"\",\n };\n}\n\nexport async function create(argv: Arguments) {\n const { account, hostname } = argv;\n const body: {\n hostname: string;\n deploymentName?: string;\n stage?: CustomDomainStage;\n } = { hostname };\n\n if (argv[\"deployment-name\"]) {\n body.deploymentName = argv[\"deployment-name\"];\n }\n\n if (argv.stage) {\n body.stage = argv.stage;\n }\n\n const client = createApiClient({ authToken: argv.authToken });\n const result = await client.post<CustomDomainMutationResult>(\n `/v1/accounts/${account}/custom-domains`,\n {\n operation: \"Failed to create custom domain for account\",\n errorMessage:\n \"Error: Failed to create custom domain for your account. Check the arguments.\",\n body,\n }\n );\n\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(result);\n } else {\n await printTableToConsoleAndExitGracefully(toMutationTable(result));\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/delete/handler.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAkGD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,iBA8CvD"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/delete/handler.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAsDD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,iBAgCvD"}
@@ -1,32 +1,6 @@
1
+ import { createApiClient } from "../../common/api/client.js";
1
2
  import { logger } from "../../common/logger.js";
2
- import { printCriticalFailureToConsoleAndExit, printDiagnosticsToConsole, printJsonToConsoleAndExitGracefully, printResultToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
3
- import settings from "../../common/settings.js";
4
- async function exitWithLoggedFailure(genericMessage, logMessage, context = {}) {
5
- logger.error(context, logMessage);
6
- if (context.response !== undefined && context.response !== null) {
7
- printDiagnosticsToConsole(genericMessage, context.response);
8
- process.exit(1);
9
- }
10
- await printCriticalFailureToConsoleAndExit(genericMessage);
11
- throw new Error("printCriticalFailureToConsoleAndExit returned unexpectedly");
12
- }
13
- async function fetchCustomDomains(account, authToken) {
14
- const listResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`, {
15
- method: "GET",
16
- headers: {
17
- Authorization: `Bearer ${authToken}`,
18
- },
19
- });
20
- if (listResponse.ok) {
21
- return (await listResponse.json());
22
- }
23
- const response = textOrJson(await listResponse.text());
24
- return exitWithLoggedFailure("Error: Failed to look up custom domain assignments before deletion. Try again with --deployment-name.", "Failed to fetch custom domains for deletion preflight", {
25
- status: listResponse.status,
26
- statusText: listResponse.statusText,
27
- response,
28
- });
29
- }
3
+ import { printCriticalFailureToConsoleAndExit, printJsonToConsoleAndExitGracefully, printResultToConsoleAndExitGracefully, } from "../../common/output.js";
30
4
  async function resolveDeploymentName(customDomain) {
31
5
  if (customDomain.deployments.length === 0) {
32
6
  return undefined;
@@ -34,16 +8,22 @@ async function resolveDeploymentName(customDomain) {
34
8
  if (customDomain.deployments.length === 1) {
35
9
  return customDomain.deployments[0].deploymentName ?? undefined;
36
10
  }
37
- return exitWithLoggedFailure(`Error: Custom domain ${customDomain.hostname} is assigned to multiple deployments. Rerun with --deployment-name.`, "Custom domain deletion requires an explicit deployment name", {
11
+ logger.error({
38
12
  hostname: customDomain.hostname,
39
13
  deploymentCount: customDomain.deployments.length,
40
- });
14
+ }, "Custom domain deletion requires an explicit deployment name");
15
+ await printCriticalFailureToConsoleAndExit(`Error: Custom domain ${customDomain.hostname} is assigned to multiple deployments. Rerun with --deployment-name.`);
16
+ throw new Error("printCriticalFailureToConsoleAndExit returned unexpectedly");
41
17
  }
42
18
  async function inferDeploymentName(argv) {
43
19
  if (argv["deployment-name"]) {
44
20
  return argv["deployment-name"];
45
21
  }
46
- const customDomains = await fetchCustomDomains(argv.account, argv.authToken);
22
+ const client = createApiClient({ authToken: argv.authToken });
23
+ const customDomains = await client.get(`/v1/accounts/${argv.account}/custom-domains`, {
24
+ operation: "Failed to fetch custom domains for deletion preflight",
25
+ errorMessage: "Error: Failed to look up custom domain assignments before deletion. Try again with --deployment-name.",
26
+ });
47
27
  const matchingCustomDomain = customDomains.data.find((customDomain) => {
48
28
  return customDomain.hostname === argv.hostname;
49
29
  });
@@ -60,30 +40,21 @@ export async function deleteCustomDomain(argv) {
60
40
  if (deploymentName) {
61
41
  query.set("deploymentName", deploymentName);
62
42
  }
63
- const deleteResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains?${query.toString()}`, {
64
- method: "DELETE",
65
- headers: {
66
- Authorization: `Bearer ${argv.authToken}`,
67
- },
43
+ const client = createApiClient({ authToken: argv.authToken });
44
+ await client.delete(`/v1/accounts/${account}/custom-domains?${query.toString()}`, {
45
+ operation: "Failed to delete custom domain for account",
46
+ errorMessage: "Error: Failed to delete custom domain for your account. Check the arguments.",
47
+ emptyResponse: true,
68
48
  });
69
- if (deleteResponse.ok) {
70
- if (argv.output === "json") {
71
- await printJsonToConsoleAndExitGracefully({
72
- deleted: true,
73
- hostname,
74
- deploymentName: deploymentName ?? null,
75
- });
76
- }
77
- else {
78
- await printResultToConsoleAndExitGracefully(`Custom domain ${hostname} deleted successfully.`);
79
- }
80
- return;
49
+ if (argv.output === "json") {
50
+ await printJsonToConsoleAndExitGracefully({
51
+ deleted: true,
52
+ hostname,
53
+ deploymentName: deploymentName ?? null,
54
+ });
55
+ }
56
+ else {
57
+ await printResultToConsoleAndExitGracefully(`Custom domain ${hostname} deleted successfully.`);
81
58
  }
82
- const response = textOrJson(await deleteResponse.text());
83
- await exitWithLoggedFailure("Error: Failed to delete custom domain for your account. Check the arguments.", "Failed to delete custom domain for account", {
84
- status: deleteResponse.status,
85
- statusText: deleteResponse.statusText,
86
- response,
87
- });
88
59
  }
89
60
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/delete/handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printCriticalFailureToConsoleAndExit,\n printDiagnosticsToConsole,\n printJsonToConsoleAndExitGracefully,\n printResultToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { CustomDomainListItem, CustomDomainListResponse } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n hostname: string;\n \"deployment-name\"?: string;\n output?: \"default\" | \"json\";\n}\n\ninterface LoggedFailureContext {\n status?: number;\n statusText?: string;\n response?: unknown;\n hostname?: string;\n deploymentCount?: number;\n}\n\nasync function exitWithLoggedFailure(\n genericMessage: string,\n logMessage: string,\n context: LoggedFailureContext = {}\n): Promise<never> {\n logger.error(context, logMessage);\n\n if (context.response !== undefined && context.response !== null) {\n printDiagnosticsToConsole(genericMessage, context.response);\n process.exit(1);\n }\n\n await printCriticalFailureToConsoleAndExit(genericMessage);\n\n throw new Error(\"printCriticalFailureToConsoleAndExit returned unexpectedly\");\n}\n\nasync function fetchCustomDomains(\n account: string,\n authToken: string\n): Promise<CustomDomainListResponse> {\n const listResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`,\n {\n method: \"GET\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${authToken}`,\n },\n }\n );\n\n if (listResponse.ok) {\n return (await listResponse.json()) as CustomDomainListResponse;\n }\n\n const response = textOrJson(await listResponse.text());\n return exitWithLoggedFailure(\n \"Error: Failed to look up custom domain assignments before deletion. Try again with --deployment-name.\",\n \"Failed to fetch custom domains for deletion preflight\",\n {\n status: listResponse.status,\n statusText: listResponse.statusText,\n response,\n }\n );\n}\n\nasync function resolveDeploymentName(\n customDomain: CustomDomainListItem\n): Promise<string | undefined> {\n if (customDomain.deployments.length === 0) {\n return undefined;\n }\n\n if (customDomain.deployments.length === 1) {\n return customDomain.deployments[0].deploymentName ?? undefined;\n }\n\n return exitWithLoggedFailure(\n `Error: Custom domain ${customDomain.hostname} is assigned to multiple deployments. Rerun with --deployment-name.`,\n \"Custom domain deletion requires an explicit deployment name\",\n {\n hostname: customDomain.hostname,\n deploymentCount: customDomain.deployments.length,\n }\n );\n}\n\nasync function inferDeploymentName(\n argv: Arguments\n): Promise<string | undefined> {\n if (argv[\"deployment-name\"]) {\n return argv[\"deployment-name\"];\n }\n\n const customDomains = await fetchCustomDomains(argv.account, argv.authToken);\n const matchingCustomDomain = customDomains.data.find((customDomain) => {\n return customDomain.hostname === argv.hostname;\n });\n\n if (!matchingCustomDomain) {\n return undefined;\n }\n\n return resolveDeploymentName(matchingCustomDomain);\n}\n\nexport async function deleteCustomDomain(argv: Arguments) {\n const { account, hostname } = argv;\n const deploymentName = await inferDeploymentName(argv);\n\n const query = new URLSearchParams();\n query.set(\"hostname\", hostname);\n if (deploymentName) {\n query.set(\"deploymentName\", deploymentName);\n }\n\n const deleteResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains?${query.toString()}`,\n {\n method: \"DELETE\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${argv.authToken}`,\n },\n }\n );\n\n if (deleteResponse.ok) {\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully({\n deleted: true,\n hostname,\n deploymentName: deploymentName ?? null,\n });\n } else {\n await printResultToConsoleAndExitGracefully(\n `Custom domain ${hostname} deleted successfully.`\n );\n }\n return;\n }\n\n const response = textOrJson(await deleteResponse.text());\n await exitWithLoggedFailure(\n \"Error: Failed to delete custom domain for your account. Check the arguments.\",\n \"Failed to delete custom domain for account\",\n {\n status: deleteResponse.status,\n statusText: deleteResponse.statusText,\n response,\n }\n );\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/delete/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,oCAAoC,EACpC,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,wBAAwB,CAAC;AAWhC,KAAK,UAAU,qBAAqB,CAClC,YAAkC;IAElC,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,SAAS,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,KAAK,CACV;QACE,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC,MAAM;KACjD,EACD,6DAA6D,CAC9D,CAAC;IACF,MAAM,oCAAoC,CACxC,wBAAwB,YAAY,CAAC,QAAQ,qEAAqE,CACnH,CAAC;IACF,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAChF,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAe;IAEf,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,GAAG,CACpC,gBAAgB,IAAI,CAAC,OAAO,iBAAiB,EAC7C;QACE,SAAS,EAAE,uDAAuD;QAClE,YAAY,EACV,uGAAuG;KAC1G,CACF,CAAC;IAEF,MAAM,oBAAoB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;QACpE,OAAO,YAAY,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAe;IACtD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACnC,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEvD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,CAAC,MAAM,CACjB,gBAAgB,OAAO,mBAAmB,KAAK,CAAC,QAAQ,EAAE,EAAE,EAC5D;QACE,SAAS,EAAE,4CAA4C;QACvD,YAAY,EACV,8EAA8E;QAChF,aAAa,EAAE,IAAI;KACpB,CACF,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,mCAAmC,CAAC;YACxC,OAAO,EAAE,IAAI;YACb,QAAQ;YACR,cAAc,EAAE,cAAc,IAAI,IAAI;SACvC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,qCAAqC,CACzC,iBAAiB,QAAQ,wBAAwB,CAClD,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { createApiClient } from \"../../common/api/client.js\";\nimport { logger } from \"../../common/logger.js\";\nimport {\n printCriticalFailureToConsoleAndExit,\n printJsonToConsoleAndExitGracefully,\n printResultToConsoleAndExitGracefully,\n} from \"../../common/output.js\";\nimport { CustomDomainListItem, CustomDomainListResponse } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n hostname: string;\n \"deployment-name\"?: string;\n output?: \"default\" | \"json\";\n}\n\nasync function resolveDeploymentName(\n customDomain: CustomDomainListItem\n): Promise<string | undefined> {\n if (customDomain.deployments.length === 0) {\n return undefined;\n }\n\n if (customDomain.deployments.length === 1) {\n return customDomain.deployments[0].deploymentName ?? undefined;\n }\n\n logger.error(\n {\n hostname: customDomain.hostname,\n deploymentCount: customDomain.deployments.length,\n },\n \"Custom domain deletion requires an explicit deployment name\"\n );\n await printCriticalFailureToConsoleAndExit(\n `Error: Custom domain ${customDomain.hostname} is assigned to multiple deployments. Rerun with --deployment-name.`\n );\n throw new Error(\"printCriticalFailureToConsoleAndExit returned unexpectedly\");\n}\n\nasync function inferDeploymentName(\n argv: Arguments\n): Promise<string | undefined> {\n if (argv[\"deployment-name\"]) {\n return argv[\"deployment-name\"];\n }\n\n const client = createApiClient({ authToken: argv.authToken });\n const customDomains = await client.get<CustomDomainListResponse>(\n `/v1/accounts/${argv.account}/custom-domains`,\n {\n operation: \"Failed to fetch custom domains for deletion preflight\",\n errorMessage:\n \"Error: Failed to look up custom domain assignments before deletion. Try again with --deployment-name.\",\n }\n );\n\n const matchingCustomDomain = customDomains.data.find((customDomain) => {\n return customDomain.hostname === argv.hostname;\n });\n\n if (!matchingCustomDomain) {\n return undefined;\n }\n\n return resolveDeploymentName(matchingCustomDomain);\n}\n\nexport async function deleteCustomDomain(argv: Arguments) {\n const { account, hostname } = argv;\n const deploymentName = await inferDeploymentName(argv);\n\n const query = new URLSearchParams();\n query.set(\"hostname\", hostname);\n if (deploymentName) {\n query.set(\"deploymentName\", deploymentName);\n }\n\n const client = createApiClient({ authToken: argv.authToken });\n await client.delete(\n `/v1/accounts/${account}/custom-domains?${query.toString()}`,\n {\n operation: \"Failed to delete custom domain for account\",\n errorMessage:\n \"Error: Failed to delete custom domain for your account. Check the arguments.\",\n emptyResponse: true,\n }\n );\n\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully({\n deleted: true,\n hostname,\n deploymentName: deploymentName ?? null,\n });\n } else {\n await printResultToConsoleAndExitGracefully(\n `Custom domain ${hostname} deleted successfully.`\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/list/handler.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAwGD,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBAiDzC"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/list/handler.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAwGD,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBA2BzC"}
@@ -1,6 +1,5 @@
1
- import { logger } from "../../common/logger.js";
2
- import { printDiagnosticsToConsole, printJsonToConsoleAndExitGracefully, printResultToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
3
- import settings from "../../common/settings.js";
1
+ import { createApiClient } from "../../common/api/client.js";
2
+ import { printJsonToConsoleAndExitGracefully, printResultToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, } from "../../common/output.js";
4
3
  function toTableRows(customDomains) {
5
4
  const rows = [];
6
5
  customDomains.forEach((customDomain) => {
@@ -69,38 +68,25 @@ function toJsonRows(customDomains) {
69
68
  }
70
69
  export async function list(argv) {
71
70
  const { account } = argv;
72
- const listResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`, {
73
- method: "GET",
74
- headers: {
75
- Authorization: `Bearer ${argv.authToken}`,
76
- },
71
+ const client = createApiClient({ authToken: argv.authToken });
72
+ const customDomains = await client.get(`/v1/accounts/${account}/custom-domains`, {
73
+ operation: "Failed to list custom domains for account",
74
+ errorMessage: "Error: Failed to list custom domains for your account. Try again later.",
77
75
  });
78
- if (listResponse.ok) {
79
- const customDomains = await listResponse.json();
80
- if (customDomains.data.length === 0) {
81
- if (argv.output === "json") {
82
- await printJsonToConsoleAndExitGracefully([]);
83
- }
84
- else {
85
- await printResultToConsoleAndExitGracefully("No custom domains found");
86
- }
87
- return;
88
- }
76
+ if (customDomains.data.length === 0) {
89
77
  if (argv.output === "json") {
90
- await printJsonToConsoleAndExitGracefully(toJsonRows(customDomains.data));
78
+ await printJsonToConsoleAndExitGracefully([]);
91
79
  }
92
80
  else {
93
- await printTableToConsoleAndExitGracefully(toTableRows(customDomains.data));
81
+ await printResultToConsoleAndExitGracefully("No custom domains found");
94
82
  }
95
83
  return;
96
84
  }
97
- const response = textOrJson(await listResponse.text());
98
- logger.error({
99
- status: listResponse.status,
100
- statusText: listResponse.statusText,
101
- response,
102
- }, "Failed to list custom domains for account");
103
- printDiagnosticsToConsole("Error: Failed to list custom domains for your account. Try again later.", response);
104
- process.exit(1);
85
+ if (argv.output === "json") {
86
+ await printJsonToConsoleAndExitGracefully(toJsonRows(customDomains.data));
87
+ }
88
+ else {
89
+ await printTableToConsoleAndExitGracefully(toTableRows(customDomains.data));
90
+ }
105
91
  }
106
92
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/list/handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printJsonToConsoleAndExitGracefully,\n printResultToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { CustomDomainListItem, CustomDomainListResponse } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n output?: \"default\" | \"json\";\n}\n\ninterface CustomDomainTableRow {\n hostname: string;\n provider: string;\n \"project-name\": string;\n \"deployment-name\": string;\n branch: string;\n \"environment-type\": string;\n stage: string;\n \"is-default\": boolean | \"\";\n cname: string;\n}\n\ninterface CustomDomainJsonRow {\n hostname: string;\n provider: string;\n projectName: string;\n deploymentName: string | null;\n branch: string | null;\n environmentType: string | null;\n stage: string | null;\n isDefault: boolean | null;\n cname: string | null;\n}\n\nfunction toTableRows(\n customDomains: CustomDomainListItem[]\n): CustomDomainTableRow[] {\n const rows: CustomDomainTableRow[] = [];\n\n customDomains.forEach((customDomain) => {\n if (customDomain.deployments.length === 0) {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n \"project-name\": customDomain.projectName,\n \"deployment-name\": \"\",\n branch: \"\",\n \"environment-type\": \"\",\n stage: \"\",\n \"is-default\": \"\",\n cname: \"\",\n });\n return;\n }\n\n customDomain.deployments.forEach((deployment) => {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n \"project-name\": customDomain.projectName,\n \"deployment-name\": deployment.deploymentName ?? \"\",\n branch: deployment.branch ?? \"\",\n \"environment-type\": deployment.environmentType ?? \"\",\n stage: deployment.stage ?? \"\",\n \"is-default\": deployment.isDefault,\n cname: deployment.cname ?? \"\",\n });\n });\n });\n\n return rows;\n}\n\nfunction toJsonRows(\n customDomains: CustomDomainListItem[]\n): CustomDomainJsonRow[] {\n const rows: CustomDomainJsonRow[] = [];\n\n customDomains.forEach((customDomain) => {\n if (customDomain.deployments.length === 0) {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n projectName: customDomain.projectName,\n deploymentName: null,\n branch: null,\n environmentType: null,\n stage: null,\n isDefault: null,\n cname: null,\n });\n return;\n }\n\n customDomain.deployments.forEach((deployment) => {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n projectName: customDomain.projectName,\n deploymentName: deployment.deploymentName,\n branch: deployment.branch,\n environmentType: deployment.environmentType,\n stage: deployment.stage,\n isDefault: deployment.isDefault,\n cname: deployment.cname,\n });\n });\n });\n\n return rows;\n}\n\nexport async function list(argv: Arguments) {\n const { account } = argv;\n const listResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`,\n {\n method: \"GET\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${argv.authToken}`,\n },\n }\n );\n\n if (listResponse.ok) {\n const customDomains: CustomDomainListResponse = await listResponse.json();\n\n if (customDomains.data.length === 0) {\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully([]);\n } else {\n await printResultToConsoleAndExitGracefully(\"No custom domains found\");\n }\n return;\n }\n\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(toJsonRows(customDomains.data));\n } else {\n await printTableToConsoleAndExitGracefully(\n toTableRows(customDomains.data)\n );\n }\n return;\n }\n\n const response = textOrJson(await listResponse.text());\n logger.error(\n {\n status: listResponse.status,\n statusText: listResponse.statusText,\n response,\n },\n \"Failed to list custom domains for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to list custom domains for your account. Try again later.\",\n response\n );\n process.exit(1);\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/list/handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { createApiClient } from \"../../common/api/client.js\";\nimport {\n printJsonToConsoleAndExitGracefully,\n printResultToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n} from \"../../common/output.js\";\nimport { CustomDomainListItem, CustomDomainListResponse } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n output?: \"default\" | \"json\";\n}\n\ninterface CustomDomainTableRow {\n hostname: string;\n provider: string;\n \"project-name\": string;\n \"deployment-name\": string;\n branch: string;\n \"environment-type\": string;\n stage: string;\n \"is-default\": boolean | \"\";\n cname: string;\n}\n\ninterface CustomDomainJsonRow {\n hostname: string;\n provider: string;\n projectName: string;\n deploymentName: string | null;\n branch: string | null;\n environmentType: string | null;\n stage: string | null;\n isDefault: boolean | null;\n cname: string | null;\n}\n\nfunction toTableRows(\n customDomains: CustomDomainListItem[]\n): CustomDomainTableRow[] {\n const rows: CustomDomainTableRow[] = [];\n\n customDomains.forEach((customDomain) => {\n if (customDomain.deployments.length === 0) {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n \"project-name\": customDomain.projectName,\n \"deployment-name\": \"\",\n branch: \"\",\n \"environment-type\": \"\",\n stage: \"\",\n \"is-default\": \"\",\n cname: \"\",\n });\n return;\n }\n\n customDomain.deployments.forEach((deployment) => {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n \"project-name\": customDomain.projectName,\n \"deployment-name\": deployment.deploymentName ?? \"\",\n branch: deployment.branch ?? \"\",\n \"environment-type\": deployment.environmentType ?? \"\",\n stage: deployment.stage ?? \"\",\n \"is-default\": deployment.isDefault,\n cname: deployment.cname ?? \"\",\n });\n });\n });\n\n return rows;\n}\n\nfunction toJsonRows(\n customDomains: CustomDomainListItem[]\n): CustomDomainJsonRow[] {\n const rows: CustomDomainJsonRow[] = [];\n\n customDomains.forEach((customDomain) => {\n if (customDomain.deployments.length === 0) {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n projectName: customDomain.projectName,\n deploymentName: null,\n branch: null,\n environmentType: null,\n stage: null,\n isDefault: null,\n cname: null,\n });\n return;\n }\n\n customDomain.deployments.forEach((deployment) => {\n rows.push({\n hostname: customDomain.hostname,\n provider: customDomain.provider,\n projectName: customDomain.projectName,\n deploymentName: deployment.deploymentName,\n branch: deployment.branch,\n environmentType: deployment.environmentType,\n stage: deployment.stage,\n isDefault: deployment.isDefault,\n cname: deployment.cname,\n });\n });\n });\n\n return rows;\n}\n\nexport async function list(argv: Arguments) {\n const { account } = argv;\n\n const client = createApiClient({ authToken: argv.authToken });\n const customDomains = await client.get<CustomDomainListResponse>(\n `/v1/accounts/${account}/custom-domains`,\n {\n operation: \"Failed to list custom domains for account\",\n errorMessage:\n \"Error: Failed to list custom domains for your account. Try again later.\",\n }\n );\n\n if (customDomains.data.length === 0) {\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully([]);\n } else {\n await printResultToConsoleAndExitGracefully(\"No custom domains found\");\n }\n return;\n }\n\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(toJsonRows(customDomains.data));\n } else {\n await printTableToConsoleAndExitGracefully(toTableRows(customDomains.data));\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/update/handler.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAcD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,iBAgD3C"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/custom-domain/update/handler.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AAcD,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,iBA2B3C"}
@@ -1,6 +1,5 @@
1
- import { logger } from "../../common/logger.js";
2
- import { printDiagnosticsToConsole, printJsonToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, textOrJson, } from "../../common/output.js";
3
- import settings from "../../common/settings.js";
1
+ import { createApiClient } from "../../common/api/client.js";
2
+ import { printJsonToConsoleAndExitGracefully, printTableToConsoleAndExitGracefully, } from "../../common/output.js";
4
3
  function toMutationTable(result) {
5
4
  return {
6
5
  hostname: result.hostname,
@@ -18,31 +17,17 @@ export async function update(argv) {
18
17
  if (argv["deployment-name"]) {
19
18
  body.deploymentName = argv["deployment-name"];
20
19
  }
21
- const updateResponse = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`, {
22
- method: "PATCH",
23
- headers: {
24
- Authorization: `Bearer ${argv.authToken}`,
25
- "Content-Type": "application/json",
26
- },
27
- body: JSON.stringify(body),
20
+ const client = createApiClient({ authToken: argv.authToken });
21
+ const result = await client.patch(`/v1/accounts/${account}/custom-domains`, {
22
+ operation: "Failed to update custom domain for account",
23
+ errorMessage: "Error: Failed to update custom domain for your account. Check the arguments.",
24
+ body,
28
25
  });
29
- if (updateResponse.ok) {
30
- const result = await updateResponse.json();
31
- if (argv.output === "json") {
32
- await printJsonToConsoleAndExitGracefully(result);
33
- }
34
- else {
35
- await printTableToConsoleAndExitGracefully(toMutationTable(result));
36
- }
37
- return;
26
+ if (argv.output === "json") {
27
+ await printJsonToConsoleAndExitGracefully(result);
28
+ }
29
+ else {
30
+ await printTableToConsoleAndExitGracefully(toMutationTable(result));
38
31
  }
39
- const response = textOrJson(await updateResponse.text());
40
- logger.error({
41
- status: updateResponse.status,
42
- statusText: updateResponse.statusText,
43
- response,
44
- }, "Failed to update custom domain for account");
45
- printDiagnosticsToConsole("Error: Failed to update custom domain for your account. Check the arguments.", response);
46
- process.exit(1);
47
32
  }
48
33
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/update/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,mCAAmC,EACnC,oCAAoC,EACpC,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAWhD,SAAS,eAAe,CAAC,MAAkC;IACzD,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;QAC9C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,8BAA8B,EAAE,MAAM,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACnC,MAAM,IAAI,GAGN,EAAE,QAAQ,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,KAAK,CAChC,GAAG,QAAQ,CAAC,4BAA4B,gBAAgB,OAAO,iBAAiB,EAChF;QACE,MAAM,EAAE,OAAO;QACf,OAAO,EAAE;YAEP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;YACzC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CACF,CAAC;IAEF,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,MAAM,GAA+B,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,mCAAmC,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,oCAAoC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,CACV;QACE,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,QAAQ;KACT,EACD,4CAA4C,CAC7C,CAAC;IACF,yBAAyB,CACvB,8EAA8E,EAC9E,QAAQ,CACT,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC","sourcesContent":["import { logger } from \"../../common/logger.js\";\nimport {\n printDiagnosticsToConsole,\n printJsonToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n textOrJson,\n} from \"../../common/output.js\";\nimport settings from \"../../common/settings.js\";\nimport { CustomDomainMutationResult } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n hostname: string;\n \"deployment-name\"?: string;\n output?: \"default\" | \"json\";\n}\n\nfunction toMutationTable(result: CustomDomainMutationResult) {\n return {\n hostname: result.hostname,\n \"deployment-name\": result.deploymentName ?? \"\",\n stage: result.stage ?? \"\",\n cname: result.cname ?? \"\",\n \"ownership-verification-name\": result.ownershipVerification?.name ?? \"\",\n \"ownership-verification-type\": result.ownershipVerification?.type ?? \"\",\n \"ownership-verification-value\": result.ownershipVerification?.value ?? \"\",\n };\n}\n\nexport async function update(argv: Arguments) {\n const { account, hostname } = argv;\n const body: {\n hostname: string;\n deploymentName?: string;\n } = { hostname };\n\n if (argv[\"deployment-name\"]) {\n body.deploymentName = argv[\"deployment-name\"];\n }\n\n const updateResponse = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/accounts/${account}/custom-domains`,\n {\n method: \"PATCH\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${argv.authToken}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(body),\n }\n );\n\n if (updateResponse.ok) {\n const result: CustomDomainMutationResult = await updateResponse.json();\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(result);\n } else {\n await printTableToConsoleAndExitGracefully(toMutationTable(result));\n }\n return;\n }\n\n const response = textOrJson(await updateResponse.text());\n logger.error(\n {\n status: updateResponse.status,\n statusText: updateResponse.statusText,\n response,\n },\n \"Failed to update custom domain for account\"\n );\n printDiagnosticsToConsole(\n \"Error: Failed to update custom domain for your account. Check the arguments.\",\n response\n );\n process.exit(1);\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/custom-domain/update/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,mCAAmC,EACnC,oCAAoC,GACrC,MAAM,wBAAwB,CAAC;AAWhC,SAAS,eAAe,CAAC,MAAkC;IACzD,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,iBAAiB,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;QAC9C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,6BAA6B,EAAE,MAAM,CAAC,qBAAqB,EAAE,IAAI,IAAI,EAAE;QACvE,8BAA8B,EAAE,MAAM,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACnC,MAAM,IAAI,GAGN,EAAE,QAAQ,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,gBAAgB,OAAO,iBAAiB,EACxC;QACE,SAAS,EAAE,4CAA4C;QACvD,YAAY,EACV,8EAA8E;QAChF,IAAI;KACL,CACF,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,mCAAmC,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,MAAM,oCAAoC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC","sourcesContent":["import { createApiClient } from \"../../common/api/client.js\";\nimport {\n printJsonToConsoleAndExitGracefully,\n printTableToConsoleAndExitGracefully,\n} from \"../../common/output.js\";\nimport { CustomDomainMutationResult } from \"../models.js\";\n\nexport interface Arguments {\n account: string;\n authToken: string;\n hostname: string;\n \"deployment-name\"?: string;\n output?: \"default\" | \"json\";\n}\n\nfunction toMutationTable(result: CustomDomainMutationResult) {\n return {\n hostname: result.hostname,\n \"deployment-name\": result.deploymentName ?? \"\",\n stage: result.stage ?? \"\",\n cname: result.cname ?? \"\",\n \"ownership-verification-name\": result.ownershipVerification?.name ?? \"\",\n \"ownership-verification-type\": result.ownershipVerification?.type ?? \"\",\n \"ownership-verification-value\": result.ownershipVerification?.value ?? \"\",\n };\n}\n\nexport async function update(argv: Arguments) {\n const { account, hostname } = argv;\n const body: {\n hostname: string;\n deploymentName?: string;\n } = { hostname };\n\n if (argv[\"deployment-name\"]) {\n body.deploymentName = argv[\"deployment-name\"];\n }\n\n const client = createApiClient({ authToken: argv.authToken });\n const result = await client.patch<CustomDomainMutationResult>(\n `/v1/accounts/${account}/custom-domains`,\n {\n operation: \"Failed to update custom domain for account\",\n errorMessage:\n \"Error: Failed to update custom domain for your account. Check the arguments.\",\n body,\n }\n );\n\n if (argv.output === \"json\") {\n await printJsonToConsoleAndExitGracefully(result);\n } else {\n await printTableToConsoleAndExitGracefully(toMutationTable(result));\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/list/handler.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAkDD,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBAOzC;AA2DD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/list/handler.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAkDD,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,iBAOzC;AAuCD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB"}