@vendure/cloud 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/README.md +6 -1
  2. package/dist/cli/commands/deployment/build-logs.js +2 -9
  3. package/dist/cli/commands/deployment/build-logs.js.map +1 -1
  4. package/dist/cli/commands/deployment/deploy.d.ts.map +1 -1
  5. package/dist/cli/commands/deployment/deploy.js +34 -64
  6. package/dist/cli/commands/deployment/deploy.js.map +1 -1
  7. package/dist/cli/commands/deployment/index.d.ts.map +1 -1
  8. package/dist/cli/commands/deployment/index.js +52 -27
  9. package/dist/cli/commands/deployment/index.js.map +1 -1
  10. package/dist/cli/commands/deployment/log-export.d.ts +13 -0
  11. package/dist/cli/commands/deployment/log-export.d.ts.map +1 -0
  12. package/dist/cli/commands/deployment/log-export.js +133 -0
  13. package/dist/cli/commands/deployment/log-export.js.map +1 -0
  14. package/dist/cli/commands/deployment/log-query-output.d.ts +13 -0
  15. package/dist/cli/commands/deployment/log-query-output.d.ts.map +1 -0
  16. package/dist/cli/commands/deployment/log-query-output.js +106 -0
  17. package/dist/cli/commands/deployment/log-query-output.js.map +1 -0
  18. package/dist/cli/commands/deployment/logs.d.ts +1 -0
  19. package/dist/cli/commands/deployment/logs.d.ts.map +1 -1
  20. package/dist/cli/commands/deployment/logs.js +347 -69
  21. package/dist/cli/commands/deployment/logs.js.map +1 -1
  22. package/dist/cli/commands/deployment/options.d.ts +2 -6
  23. package/dist/cli/commands/deployment/options.d.ts.map +1 -1
  24. package/dist/cli/commands/deployment/options.js +21 -9
  25. package/dist/cli/commands/deployment/options.js.map +1 -1
  26. package/dist/cli/commands/deployment/plan.d.ts +1 -1
  27. package/dist/cli/commands/deployment/plan.d.ts.map +1 -1
  28. package/dist/cli/commands/deployment/plan.js +4 -6
  29. package/dist/cli/commands/deployment/plan.js.map +1 -1
  30. package/dist/cli/commands/deployment/recovery.d.ts +9 -0
  31. package/dist/cli/commands/deployment/recovery.d.ts.map +1 -0
  32. package/dist/cli/commands/deployment/recovery.js +86 -0
  33. package/dist/cli/commands/deployment/recovery.js.map +1 -0
  34. package/dist/cli/commands/deployment/rollback.d.ts.map +1 -1
  35. package/dist/cli/commands/deployment/rollback.js +8 -3
  36. package/dist/cli/commands/deployment/rollback.js.map +1 -1
  37. package/dist/cli/commands/deployment/show.d.ts.map +1 -1
  38. package/dist/cli/commands/deployment/show.js +16 -5
  39. package/dist/cli/commands/deployment/show.js.map +1 -1
  40. package/dist/cli/commands/deployment/source.d.ts +1 -12
  41. package/dist/cli/commands/deployment/source.d.ts.map +1 -1
  42. package/dist/cli/commands/deployment/source.js +5 -13
  43. package/dist/cli/commands/deployment/source.js.map +1 -1
  44. package/dist/cli/commands/deployment/status.d.ts.map +1 -1
  45. package/dist/cli/commands/deployment/status.js +22 -20
  46. package/dist/cli/commands/deployment/status.js.map +1 -1
  47. package/dist/cli/commands/deployment/teardown.d.ts.map +1 -1
  48. package/dist/cli/commands/deployment/teardown.js +12 -1
  49. package/dist/cli/commands/deployment/teardown.js.map +1 -1
  50. package/dist/cli/commands/identity-context/keys.d.ts.map +1 -1
  51. package/dist/cli/commands/identity-context/keys.js +6 -5
  52. package/dist/cli/commands/identity-context/keys.js.map +1 -1
  53. package/dist/cli/commands/identity-context/login.d.ts.map +1 -1
  54. package/dist/cli/commands/identity-context/login.js +2 -2
  55. package/dist/cli/commands/identity-context/login.js.map +1 -1
  56. package/dist/cli/commands/identity-context/logout.d.ts.map +1 -1
  57. package/dist/cli/commands/identity-context/logout.js +3 -4
  58. package/dist/cli/commands/identity-context/logout.js.map +1 -1
  59. package/dist/cli/commands/identity-context/org-switch.d.ts.map +1 -1
  60. package/dist/cli/commands/identity-context/org-switch.js +19 -7
  61. package/dist/cli/commands/identity-context/org-switch.js.map +1 -1
  62. package/dist/cli/commands/identity-context/use.d.ts.map +1 -1
  63. package/dist/cli/commands/identity-context/use.js +2 -3
  64. package/dist/cli/commands/identity-context/use.js.map +1 -1
  65. package/dist/cli/commands/identity-context/whoami.d.ts.map +1 -1
  66. package/dist/cli/commands/identity-context/whoami.js +33 -12
  67. package/dist/cli/commands/identity-context/whoami.js.map +1 -1
  68. package/dist/cli/commands/index.d.ts.map +1 -1
  69. package/dist/cli/commands/index.js +0 -1
  70. package/dist/cli/commands/index.js.map +1 -1
  71. package/dist/cli/commands/project-config/config/desired-state.d.ts +1 -1
  72. package/dist/cli/commands/project-config/config/desired-state.d.ts.map +1 -1
  73. package/dist/cli/commands/project-config/config/desired-state.js +4 -3
  74. package/dist/cli/commands/project-config/config/desired-state.js.map +1 -1
  75. package/dist/cli/commands/project-config/config/email/domain.d.ts +5 -0
  76. package/dist/cli/commands/project-config/config/email/domain.d.ts.map +1 -0
  77. package/dist/cli/commands/project-config/config/email/domain.js +80 -0
  78. package/dist/cli/commands/project-config/config/email/domain.js.map +1 -0
  79. package/dist/cli/commands/project-config/config/email/events.d.ts +4 -0
  80. package/dist/cli/commands/project-config/config/email/events.d.ts.map +1 -0
  81. package/dist/cli/commands/project-config/config/email/events.js +55 -0
  82. package/dist/cli/commands/project-config/config/email/events.js.map +1 -0
  83. package/dist/cli/commands/project-config/config/email/index.d.ts +2 -0
  84. package/dist/cli/commands/project-config/config/email/index.d.ts.map +1 -0
  85. package/dist/cli/commands/project-config/config/email/index.js +108 -0
  86. package/dist/cli/commands/project-config/config/email/index.js.map +1 -0
  87. package/dist/cli/commands/project-config/config/email/test-sending.d.ts +4 -0
  88. package/dist/cli/commands/project-config/config/email/test-sending.d.ts.map +1 -0
  89. package/dist/cli/commands/project-config/config/email/test-sending.js +68 -0
  90. package/dist/cli/commands/project-config/config/email/test-sending.js.map +1 -0
  91. package/dist/cli/commands/project-config/config/index.d.ts.map +1 -1
  92. package/dist/cli/commands/project-config/config/index.js +12 -7
  93. package/dist/cli/commands/project-config/config/index.js.map +1 -1
  94. package/dist/cli/commands/project-config/config/runtime.d.ts +2 -1
  95. package/dist/cli/commands/project-config/config/runtime.d.ts.map +1 -1
  96. package/dist/cli/commands/project-config/config/runtime.js +43 -29
  97. package/dist/cli/commands/project-config/config/runtime.js.map +1 -1
  98. package/dist/cli/commands/project-config/env/index.d.ts.map +1 -1
  99. package/dist/cli/commands/project-config/env/index.js +8 -2
  100. package/dist/cli/commands/project-config/env/index.js.map +1 -1
  101. package/dist/cli/commands/project-config/environment/index.d.ts.map +1 -1
  102. package/dist/cli/commands/project-config/environment/index.js +15 -1
  103. package/dist/cli/commands/project-config/environment/index.js.map +1 -1
  104. package/dist/cli/commands/project-config/environment/regions.d.ts +6 -0
  105. package/dist/cli/commands/project-config/environment/regions.d.ts.map +1 -0
  106. package/dist/cli/commands/project-config/environment/regions.js +22 -0
  107. package/dist/cli/commands/project-config/environment/regions.js.map +1 -0
  108. package/dist/cli/commands/project-config/init/init.d.ts.map +1 -1
  109. package/dist/cli/commands/project-config/init/init.js +28 -5
  110. package/dist/cli/commands/project-config/init/init.js.map +1 -1
  111. package/dist/cli/commands/project-config/project/list.d.ts.map +1 -1
  112. package/dist/cli/commands/project-config/project/list.js +8 -1
  113. package/dist/cli/commands/project-config/project/list.js.map +1 -1
  114. package/dist/cli/commands/project-config/project/show.d.ts.map +1 -1
  115. package/dist/cli/commands/project-config/project/show.js +12 -0
  116. package/dist/cli/commands/project-config/project/show.js.map +1 -1
  117. package/dist/cli/commands/project-config/project/subscription-state.d.ts +5 -0
  118. package/dist/cli/commands/project-config/project/subscription-state.d.ts.map +1 -0
  119. package/dist/cli/commands/project-config/project/subscription-state.js +57 -0
  120. package/dist/cli/commands/project-config/project/subscription-state.js.map +1 -0
  121. package/dist/cli/commands/project-config/source/connect.d.ts.map +1 -1
  122. package/dist/cli/commands/project-config/source/connect.js +5 -5
  123. package/dist/cli/commands/project-config/source/connect.js.map +1 -1
  124. package/dist/cli/commands/project-config/source/map.d.ts.map +1 -1
  125. package/dist/cli/commands/project-config/source/map.js +4 -4
  126. package/dist/cli/commands/project-config/source/map.js.map +1 -1
  127. package/dist/cli/commands/project-config/source/status.d.ts.map +1 -1
  128. package/dist/cli/commands/project-config/source/status.js +71 -17
  129. package/dist/cli/commands/project-config/source/status.js.map +1 -1
  130. package/dist/cli/commands/runtime-data/backup.d.ts +1 -0
  131. package/dist/cli/commands/runtime-data/backup.d.ts.map +1 -1
  132. package/dist/cli/commands/runtime-data/backup.js +36 -0
  133. package/dist/cli/commands/runtime-data/backup.js.map +1 -1
  134. package/dist/cli/commands/runtime-data/index.d.ts +1 -0
  135. package/dist/cli/commands/runtime-data/index.d.ts.map +1 -1
  136. package/dist/cli/commands/runtime-data/index.js +26 -4
  137. package/dist/cli/commands/runtime-data/index.js.map +1 -1
  138. package/dist/cli/commands/runtime-data/restore.d.ts.map +1 -1
  139. package/dist/cli/commands/runtime-data/restore.js +33 -5
  140. package/dist/cli/commands/runtime-data/restore.js.map +1 -1
  141. package/dist/cli/index.d.ts +13 -3
  142. package/dist/cli/index.d.ts.map +1 -1
  143. package/dist/cli/index.js +12 -2
  144. package/dist/cli/index.js.map +1 -1
  145. package/dist/cli/lib/auth.d.ts +21 -2
  146. package/dist/cli/lib/auth.d.ts.map +1 -1
  147. package/dist/cli/lib/auth.js +22 -2
  148. package/dist/cli/lib/auth.js.map +1 -1
  149. package/dist/cli/lib/commit.d.ts +4 -0
  150. package/dist/cli/lib/commit.d.ts.map +1 -0
  151. package/dist/cli/lib/commit.js +22 -0
  152. package/dist/cli/lib/commit.js.map +1 -0
  153. package/dist/cli/lib/console-credential.d.ts +55 -0
  154. package/dist/cli/lib/console-credential.d.ts.map +1 -0
  155. package/dist/cli/lib/console-credential.js +164 -0
  156. package/dist/cli/lib/console-credential.js.map +1 -0
  157. package/dist/cli/lib/console-origins.d.ts +30 -0
  158. package/dist/cli/lib/console-origins.d.ts.map +1 -0
  159. package/dist/cli/lib/console-origins.js +87 -0
  160. package/dist/cli/lib/console-origins.js.map +1 -0
  161. package/dist/cli/lib/console-pairing.d.ts +15 -0
  162. package/dist/cli/lib/console-pairing.d.ts.map +1 -0
  163. package/dist/cli/lib/console-pairing.js +70 -0
  164. package/dist/cli/lib/console-pairing.js.map +1 -0
  165. package/dist/cli/lib/console-session-lock.d.ts +39 -0
  166. package/dist/cli/lib/console-session-lock.d.ts.map +1 -0
  167. package/dist/cli/lib/console-session-lock.js +235 -0
  168. package/dist/cli/lib/console-session-lock.js.map +1 -0
  169. package/dist/cli/lib/console-session.d.ts +47 -0
  170. package/dist/cli/lib/console-session.d.ts.map +1 -0
  171. package/dist/cli/lib/console-session.js +235 -0
  172. package/dist/cli/lib/console-session.js.map +1 -0
  173. package/dist/cli/lib/contract/backup-schedule-reasons.d.ts +4 -0
  174. package/dist/cli/lib/contract/backup-schedule-reasons.d.ts.map +1 -0
  175. package/dist/cli/lib/contract/backup-schedule-reasons.js +17 -0
  176. package/dist/cli/lib/contract/backup-schedule-reasons.js.map +1 -0
  177. package/dist/cli/lib/contract/build-settings.d.ts +1 -1
  178. package/dist/cli/lib/contract/database.d.ts +19 -0
  179. package/dist/cli/lib/contract/database.d.ts.map +1 -1
  180. package/dist/cli/lib/contract/database.js.map +1 -1
  181. package/dist/cli/lib/contract/deployments.d.ts +13 -0
  182. package/dist/cli/lib/contract/deployments.d.ts.map +1 -1
  183. package/dist/cli/lib/contract/deployments.js +38 -0
  184. package/dist/cli/lib/contract/deployments.js.map +1 -1
  185. package/dist/cli/lib/contract/desired-state.d.ts +3 -5
  186. package/dist/cli/lib/contract/desired-state.d.ts.map +1 -1
  187. package/dist/cli/lib/contract/desired-state.js +42 -28
  188. package/dist/cli/lib/contract/desired-state.js.map +1 -1
  189. package/dist/cli/lib/contract/foreign-credentials.d.ts +6 -4
  190. package/dist/cli/lib/contract/foreign-credentials.d.ts.map +1 -1
  191. package/dist/cli/lib/contract/foreign-credentials.js +7 -5
  192. package/dist/cli/lib/contract/foreign-credentials.js.map +1 -1
  193. package/dist/cli/lib/contract/logs.d.ts +120 -0
  194. package/dist/cli/lib/contract/logs.d.ts.map +1 -1
  195. package/dist/cli/lib/contract/logs.js +106 -1
  196. package/dist/cli/lib/contract/logs.js.map +1 -1
  197. package/dist/cli/lib/contract/managed-email.d.ts +57 -0
  198. package/dist/cli/lib/contract/managed-email.d.ts.map +1 -0
  199. package/dist/cli/lib/contract/managed-email.js +21 -0
  200. package/dist/cli/lib/contract/managed-email.js.map +1 -0
  201. package/dist/cli/lib/contract/projects.d.ts +6 -0
  202. package/dist/cli/lib/contract/projects.d.ts.map +1 -1
  203. package/dist/cli/lib/contract/regions.d.ts +11 -0
  204. package/dist/cli/lib/contract/regions.d.ts.map +1 -0
  205. package/dist/cli/lib/contract/regions.js +7 -0
  206. package/dist/cli/lib/contract/regions.js.map +1 -0
  207. package/dist/cli/lib/contract/runtime-operations.d.ts +0 -1
  208. package/dist/cli/lib/contract/runtime-operations.d.ts.map +1 -1
  209. package/dist/cli/lib/contract/source-disconnect-reasons.d.ts +4 -0
  210. package/dist/cli/lib/contract/source-disconnect-reasons.d.ts.map +1 -0
  211. package/dist/cli/lib/contract/source-disconnect-reasons.js +31 -0
  212. package/dist/cli/lib/contract/source-disconnect-reasons.js.map +1 -0
  213. package/dist/cli/lib/contract/source-repository.d.ts +1 -1
  214. package/dist/cli/lib/contract/source-repository.d.ts.map +1 -1
  215. package/dist/cli/lib/contract/source-repository.js +1 -0
  216. package/dist/cli/lib/contract/source-repository.js.map +1 -1
  217. package/dist/cli/lib/errors.d.ts +30 -0
  218. package/dist/cli/lib/errors.d.ts.map +1 -1
  219. package/dist/cli/lib/errors.js +46 -0
  220. package/dist/cli/lib/errors.js.map +1 -1
  221. package/dist/cli/lib/platform-address.d.ts +3 -0
  222. package/dist/cli/lib/platform-address.d.ts.map +1 -0
  223. package/dist/cli/lib/platform-address.js +7 -0
  224. package/dist/cli/lib/platform-address.js.map +1 -0
  225. package/dist/cli/lib/resolve.d.ts +1 -0
  226. package/dist/cli/lib/resolve.d.ts.map +1 -1
  227. package/dist/cli/lib/resolve.js +26 -3
  228. package/dist/cli/lib/resolve.js.map +1 -1
  229. package/dist/cli/lib/terminal-output.d.ts +8 -0
  230. package/dist/cli/lib/terminal-output.d.ts.map +1 -0
  231. package/dist/cli/lib/terminal-output.js +52 -0
  232. package/dist/cli/lib/terminal-output.js.map +1 -0
  233. package/dist/dev/dashboard-vite-config.d.ts +1 -0
  234. package/dist/dev/dashboard-vite-config.d.ts.map +1 -1
  235. package/dist/dev/dashboard-vite-config.js +26 -3
  236. package/dist/dev/dashboard-vite-config.js.map +1 -1
  237. package/dist/dev/dev-command.d.ts.map +1 -1
  238. package/dist/dev/dev-command.js +21 -1
  239. package/dist/dev/dev-command.js.map +1 -1
  240. package/dist/dev/dev-migrate.js +2 -0
  241. package/dist/dev/dev-migrate.js.map +1 -1
  242. package/dist/dev/dev-server.js +3 -0
  243. package/dist/dev/dev-server.js.map +1 -1
  244. package/dist/dev/dev-worker.js +2 -1
  245. package/dist/dev/dev-worker.js.map +1 -1
  246. package/dist/local-core.d.ts +2 -0
  247. package/dist/local-core.d.ts.map +1 -0
  248. package/dist/local-core.js +15 -0
  249. package/dist/local-core.js.map +1 -0
  250. package/dist/local-durable-execution-plugin.d.ts +3 -0
  251. package/dist/local-durable-execution-plugin.d.ts.map +1 -0
  252. package/dist/local-durable-execution-plugin.js +33 -0
  253. package/dist/local-durable-execution-plugin.js.map +1 -0
  254. package/dist/local-runtime.d.ts.map +1 -1
  255. package/dist/local-runtime.js +7 -0
  256. package/dist/local-runtime.js.map +1 -1
  257. package/dist/vite.js +3 -4
  258. package/dist/vite.js.map +1 -1
  259. package/package.json +6 -6
package/README.md CHANGED
@@ -36,11 +36,16 @@ import { vendureCloudDashboardPlugin } from "@vendure/cloud/vite";
36
36
 
37
37
  vendureCloudDashboardPlugin({
38
38
  vendureConfigPath: new URL("./src/vendure-config.ts", import.meta.url),
39
- api: { host: "http://localhost", port: 3000 },
39
+ api: { host: "auto", port: 3000 },
40
40
  gqlOutputPath: "./src/gql",
41
41
  });
42
42
  ```
43
43
 
44
+ Leave `api.host` at `"auto"`. The local server answers to both `localhost` and `127.0.0.1`, and
45
+ `sameSite: "lax"` counts those as separate sites. A pinned host matches one of them, and the
46
+ browser withholds the session cookie on the other. Keep `api.port` pinned to the API's port,
47
+ which SameSite ignores.
48
+
44
49
  Production-only platform plugin declarations are not composed inside the Vite process.
45
50
 
46
51
  `vendure dev` provisions the local PostgreSQL database and the local Valkey cache, and runs the
@@ -2,7 +2,7 @@ import * as prompts from "@clack/prompts";
2
2
  import { cloudInvocation, createAuthenticatedClient, resolveEnvironment, } from "../../index.js";
3
3
  import { consumeLogStream, printLogLine } from "../../lib/log-stream.js";
4
4
  import { optionalArgument } from "./arguments.js";
5
- import { readBooleanOption, readStringOption } from "./options.js";
5
+ import { MAX_REPLAY_LINES, readBooleanOption, readLineCount } from "./options.js";
6
6
  import { DEPLOYMENT_PAGE_SIZE, resolveDeploymentId } from "./shared.js";
7
7
  const BUILD_LOG_PAGE_SIZE = 1_000;
8
8
  export async function deploymentBuildLogs({ args, options, globals, }) {
@@ -11,7 +11,7 @@ export async function deploymentBuildLogs({ args, options, globals, }) {
11
11
  }
12
12
  const deploymentId = optionalArgument(args, 0, "deployment-id");
13
13
  const follow = readBooleanOption(options.follow);
14
- const lines = parseLineCount(readStringOption(options.lines, "--lines"));
14
+ const lines = readLineCount(options.lines, "--lines", MAX_REPLAY_LINES);
15
15
  const client = createAuthenticatedClient(globals);
16
16
  const resolvedDeploymentId = deploymentId
17
17
  ? await resolveDeploymentId(client, globals, deploymentId)
@@ -61,13 +61,6 @@ async function findLatestBuildDeploymentId(client, options) {
61
61
  }
62
62
  throw new Error(`No deployment with a Build Step Log found for VC Environment "${environment.slug}". Run \`${cloudInvocation()} deploy\` first or pass a deployment ID.`);
63
63
  }
64
- function parseLineCount(value) {
65
- const lines = value === undefined ? Number.NaN : Number.parseInt(value, 10);
66
- if (!Number.isInteger(lines) || lines < 1 || lines > 1_000) {
67
- throw new Error("--lines must be an integer between 1 and 1000.");
68
- }
69
- return lines;
70
- }
71
64
  // The default branch matters as much as the cases. The status comes from a control plane that may
72
65
  // be newer than this client, so a status added after a release would otherwise print nothing and
73
66
  // exit zero, which reads as an empty log rather than as a client too old to explain the answer.
@@ -1 +1 @@
1
- {"version":3,"file":"build-logs.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/build-logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-logs.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/build-logs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EAWvB,MAAM,gBAAgB,CAAC;AAkExB,wBAAsB,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoKjG"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EAcvB,MAAM,gBAAgB,CAAC;AAmExB,wBAAsB,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4KjG"}
@@ -1,11 +1,12 @@
1
1
  import * as prompts from "@clack/prompts";
2
- import { TERMINAL_STATUSES, cloudInvocation, createAuthenticatedClient, formatInlineUserFacingErrorReason, formatUserFacingErrorDetails, resolveEnvironment, sleep, } from "../../index.js";
2
+ import { TERMINAL_STATUSES, cloudInvocation, createAuthenticatedClient, formatInlineUserFacingErrorReason, formatUserFacingErrorDetails, output, platformAddress, resolveEnvironment, shortSha, sleep, } from "../../index.js";
3
3
  // Imported directly rather than through `../../index.js`. That module carries the primitives every
4
4
  // family shares; these two are this family's own plumbing that happens to live under `lib/`.
5
5
  import { formatEnvPreflightSkipped, formatMissingEnvVarsWarning, runEnvVarPreflight, } from "../../lib/env-preflight.js";
6
6
  import { consumeLogStream } from "../../lib/log-stream.js";
7
- import { readImageOptions, readNegatableOption } from "./options.js";
8
- import { resolveDeploymentSource } from "./source.js";
7
+ import { readNegatableOption, readStringOption } from "./options.js";
8
+ import { fetchDeploymentRecovery, formatDeploymentRecovery } from "./recovery.js";
9
+ import { requireBranchMapping } from "./source.js";
9
10
  const POLL_INTERVAL_MS = 3_000;
10
11
  // Compatibility fallback for an older control plane that does not yet expose
11
12
  // its phase timeout. Deliberately generous; the current API owns the deadline.
@@ -51,7 +52,6 @@ function spinnerMessage(status) {
51
52
  // calls `process.exit` with whatever an action answers. Nothing here ends the process itself: a
52
53
  // command that did would take that decision away from the host part-way through the run.
53
54
  export async function deploy({ options, globals }) {
54
- const imageOpts = readImageOptions(options);
55
55
  const wait = readNegatableOption(options.wait);
56
56
  const json = globals.json === true;
57
57
  const { project, environment } = await resolveEnvironment(globals);
@@ -59,7 +59,7 @@ export async function deploy({ options, globals }) {
59
59
  prompts.log.info(`Deploying ${project.slug} (${environment.slug})...`);
60
60
  }
61
61
  const client = createAuthenticatedClient(globals);
62
- const source = await resolveDeploymentSource(client, environment, imageOpts);
62
+ const mapping = await requireBranchMapping(client, environment);
63
63
  if (!json) {
64
64
  const proceed = await warnOnMissingEnvVars(client, environment);
65
65
  if (!proceed) {
@@ -67,16 +67,21 @@ export async function deploy({ options, globals }) {
67
67
  return;
68
68
  }
69
69
  }
70
- const deployment = source.kind === "managed-build"
71
- ? await startManagedBuild(client, environment.id, source.mapping.branch)
72
- : await client.post("/deployments", {
73
- environmentId: environment.id,
74
- trigger: "USER",
75
- ...source.images,
76
- });
70
+ // `--commit` selects a commit that is not the branch's tip. The reference goes to the control
71
+ // plane exactly as given: only it can talk to the repository, so a tag or a short SHA is resolved
72
+ // there and comes back on the VC Deployment.
73
+ const selectedRef = readStringOption(options.commit, "--commit <ref>");
74
+ const deployment = await startManagedBuild(client, environment.id, selectedRef ?? mapping.branch);
75
+ if (selectedRef !== undefined && !json && deployment.commitHash !== null) {
76
+ output.info(`Building commit ${shortSha(deployment.commitHash)}.`);
77
+ }
77
78
  if (!wait) {
78
79
  if (json) {
79
- process.stdout.write(`${JSON.stringify({ deploymentId: deployment.id, status: deployment.status })}\n`);
80
+ process.stdout.write(`${JSON.stringify({
81
+ deploymentId: deployment.id,
82
+ status: deployment.status,
83
+ commitHash: deployment.commitHash,
84
+ })}\n`);
80
85
  }
81
86
  else {
82
87
  prompts.log.info(`VC Deployment ${deployment.id} started. Run \`${cloudInvocation()} deployment logs ${deployment.id} --follow\` to follow its Build Step.`);
@@ -90,8 +95,7 @@ export async function deploy({ options, globals }) {
90
95
  let budgetStart = Date.now();
91
96
  let followedBuildLogs = false;
92
97
  while (!TERMINAL_STATUSES.has(current.status)) {
93
- if (source.kind === "managed-build" &&
94
- !json &&
98
+ if (!json &&
95
99
  !followedBuildLogs &&
96
100
  (current.status === "QUEUED" || current.status === "BUILDING")) {
97
101
  spinner?.stop("Build started");
@@ -136,6 +140,7 @@ export async function deploy({ options, globals }) {
136
140
  if (json) {
137
141
  process.stdout.write(`${JSON.stringify(current)}\n`);
138
142
  if (current.status !== "RUNNING" && current.status !== "SUCCEEDED") {
143
+ // `deployment show --json` is what carries the recovery for this id.
139
144
  return 1;
140
145
  }
141
146
  return;
@@ -145,7 +150,6 @@ export async function deploy({ options, globals }) {
145
150
  const liveUrl = resolveLiveUrl(environment, client);
146
151
  prompts.log.info(formatDeploymentSummary(current.summary ?? null, {
147
152
  environmentSlug: environment.slug,
148
- imageOpts,
149
153
  liveUrl,
150
154
  projectSlug: project.slug,
151
155
  }));
@@ -175,6 +179,14 @@ export async function deploy({ options, globals }) {
175
179
  environmentSlug: environment.slug,
176
180
  }));
177
181
  }
182
+ // What the failure leaves running, and the one action to take about it. Printed after the error
183
+ // rather than instead of it: the error says what went wrong and this says what to do, and only
184
+ // the second is composed from the stage the deployment reached.
185
+ const { recovery, unavailableReason } = await fetchDeploymentRecovery(client, current);
186
+ if (recovery)
187
+ output.warn(formatDeploymentRecovery(recovery, current.id));
188
+ else if (unavailableReason)
189
+ output.warn(unavailableReason);
178
190
  return 1;
179
191
  }
180
192
  // Preflight: warn about env vars the local app references but that aren't set
@@ -199,21 +211,16 @@ async function warnOnMissingEnvVars(client, environment) {
199
211
  });
200
212
  return !prompts.isCancel(proceed) && proceed;
201
213
  }
202
- async function startManagedBuild(client, environmentId, branch) {
203
- const result = await client.post(`/environments/${environmentId}/source-trigger`, { ref: branch });
214
+ async function startManagedBuild(client, environmentId, ref) {
215
+ const result = await client.post(`/environments/${environmentId}/source-trigger`, { ref });
204
216
  return client.get(`/deployments/${result.deploymentId}`);
205
217
  }
206
218
  function formatDeploymentSummary(summary, context) {
207
- const appImageLines = formatApplicationImageChanges(context.imageOpts);
208
219
  const sections = {
209
220
  Added: new Set(),
210
221
  Updated: new Set(),
211
222
  Removed: new Set(),
212
223
  };
213
- const imageSection = shouldTreatImageAsCreated(summary) ? sections.Added : sections.Updated;
214
- for (const line of appImageLines) {
215
- imageSection.add(line);
216
- }
217
224
  if (summary) {
218
225
  for (const action of summary.actions) {
219
226
  if (action.action === "create")
@@ -245,39 +252,6 @@ function formatDeploymentSummary(summary, context) {
245
252
  }
246
253
  return lines.join("\n");
247
254
  }
248
- function formatApplicationImageChanges(imageOpts) {
249
- const serverTag = imageOpts.serverImage ? extractImageTag(imageOpts.serverImage) : null;
250
- const workerTag = imageOpts.workerImage ? extractImageTag(imageOpts.workerImage) : null;
251
- const migrationTag = imageOpts.migrationImage ? extractImageTag(imageOpts.migrationImage) : null;
252
- const tags = [serverTag, workerTag, migrationTag].filter((tag) => tag !== null);
253
- const uniqueTags = new Set(tags);
254
- const allImagesProvided = imageOpts.serverImage && imageOpts.workerImage && imageOpts.migrationImage;
255
- if (allImagesProvided && uniqueTags.size === 1) {
256
- return [`Application image: ${tags[0]}`];
257
- }
258
- if (tags.length > 0) {
259
- return [
260
- serverTag ? `Server image: ${serverTag}` : null,
261
- workerTag ? `Worker image: ${workerTag}` : null,
262
- migrationTag ? `Migration image: ${migrationTag}` : null,
263
- ].filter((line) => line !== null);
264
- }
265
- return [];
266
- }
267
- function shouldTreatImageAsCreated(summary) {
268
- return (summary?.actions.some((action) => {
269
- if (action.action !== "create")
270
- return false;
271
- return action.isApplication;
272
- }) ?? false);
273
- }
274
- function extractImageTag(image) {
275
- const slash = image.lastIndexOf("/");
276
- const colon = image.lastIndexOf(":");
277
- if (colon <= slash)
278
- return null;
279
- return image.slice(colon + 1);
280
- }
281
255
  function formatCleanupFailures(failures, projectSlug, environmentSlug) {
282
256
  if (failures.length === 1) {
283
257
  const failure = failures[0];
@@ -291,16 +265,12 @@ function formatCleanupFailures(failures, projectSlug, environmentSlug) {
291
265
  function formatErrorReason(error, projectSlug, environmentSlug) {
292
266
  return formatInlineUserFacingErrorReason(error, { projectSlug, environmentSlug });
293
267
  }
294
- // Read, never composed. The address is one label whose composition rule lives in the control
295
- // plane, so a CLI that built its own would print a hostname nothing serves the moment that rule
296
- // changes. Null from an older control plane means no address to show, and an automation credential
297
- // gets no address at all — a script has nothing to click. The client carries an organization only
298
- // for the stored session, which is the same signal `getAuthenticatedOrganizationSlug` reads.
268
+ // An automation credential gets no address: the summary offers a link to click and a script has
269
+ // nothing to click with. The client carries an organization only for the stored session, which is
270
+ // the same signal `getAuthenticatedOrganizationSlug` reads.
299
271
  function resolveLiveUrl(environment, client) {
300
272
  if (!client.organizationId)
301
273
  return null;
302
- if (!environment.platformHostname)
303
- return null;
304
- return `https://${environment.platformHostname}`;
274
+ return platformAddress(environment);
305
275
  }
306
276
  //# sourceMappingURL=deploy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAML,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,iCAAiC,EACjC,4BAA4B,EAC5B,MAAM,EACN,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACN,MAAM,gBAAgB,CAAC;AAExB,mGAAmG;AACnG,6FAA6F;AAC7F,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,6EAA6E;AAC7E,+EAA+E;AAC/E,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAIjD,SAAS,SAAS,CAAC,UAAsB;IACvC,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACvE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAClB,KAA0B,EAC1B,UAAsB;IAEtB,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,qBAAqB,IAAI,yBAAyB,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACzF,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,cAAc;YACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAC/C,KAAK,OAAO;YACV,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QACxC,KAAK,SAAS;YACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU;YACb,OAAO,aAAa,CAAC;QACvB,KAAK,OAAO;YACV,OAAO,8BAA8B,CAAC;QACxC,KAAK,WAAW;YACd,OAAO,cAAc,CAAC;QACxB;YACE,OAAO,+BAA+B,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,gGAAgG;AAChG,gGAAgG;AAChG,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAqB;IAClE,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IAEnC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAEnE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEhE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,4DAA4D,eAAe,EAAE,YAAY,CAC1F,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,kGAAkG;IAClG,6CAA6C;IAC7C,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClG,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChB,YAAY,EAAE,UAAU,CAAC,EAAE;gBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,UAAU,EAAE,UAAU,CAAC,UAAU;aAClC,CAAC,IAAI,CACP,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,CACd,iBAAiB,UAAU,CAAC,EAAE,mBAAmB,eAAe,EAAE,oBAAoB,UAAU,CAAC,EAAE,uCAAuC,CAC3I,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,OAAO,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE5C,IAAI,OAAO,GAAG,UAAU,CAAC;IACzB,IAAI,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,IACE,CAAC,IAAI;YACL,CAAC,iBAAiB;YAClB,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,EAC9D,CAAC;YACD,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/B,iBAAiB,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,MAAM,EACN,gBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,8BAA8B,EAC/E,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAC9B,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,IAAI,CACd,yEACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAa,gBAAgB,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC9C,CAAC;YACD,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAC3B,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,KAAK,GAAG,SAAS,CAAC;YAClB,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,YAAY,CAAC,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAC5F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,IAAI,CACd,GAAG,OAAO,CAAC,KAAK,4BAA4B,OAAO,CAAC,EAAE,GAAG,MAAM,yCAAyC,eAAe,EAAE,4CAA4C,eAAe,EAAE,YAAY,CACnM,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAa,gBAAgB,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACnE,qEAAqE;YACrE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACnE,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,IAAI,CACd,uBAAuB,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE;YAC/C,eAAe,EAAE,WAAW,CAAC,IAAI;YACjC,OAAO;YACP,WAAW,EAAE,OAAO,CAAC,IAAI;SAC1B,CAAC,CACH,CAAC;QACF,yFAAyF;QACzF,6FAA6F;QAC7F,6CAA6C;QAC7C,IAAI,QAA4B,CAAC;QACjC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzF,QAAQ,GAAG,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC5D,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,IAAI,CACd,GAAG,kBAAkB,CAAC,MAAM,yBAAyB,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,WAAW,KAAK,WAAW,eAAe,EAAE,gCAAgC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CACvO,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,WAAW,CAAC,CAAC;QAC/D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CACf,4BAA4B,CAAC,OAAO,CAAC,YAAY,EAAE;YACjD,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,eAAe,EAAE,WAAW,CAAC,IAAI;SAClC,CAAC,CACH,CAAC;IACJ,CAAC;IACD,gGAAgG;IAChG,+FAA+F;IAC/F,gEAAgE;IAChE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvF,IAAI,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;SACrE,IAAI,iBAAiB;QAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3D,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,gFAAgF;AAChF,8DAA8D;AAC9D,KAAK,UAAU,oBAAoB,CAAC,MAAiB,EAAE,WAAwB;IAC7E,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IACnE,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;QACpC,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,kCAAkC;KAC5C,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAiB,EACjB,aAAqB,EACrB,GAAW;IAEX,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAC9B,iBAAiB,aAAa,iBAAiB,EAC/C,EAAE,GAAG,EAAE,CACR,CAAC;IACF,OAAO,MAAM,CAAC,GAAG,CAAa,gBAAgB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAiC,EACjC,OAIC;IAED,MAAM,QAAQ,GAAG;QACf,KAAK,EAAE,IAAI,GAAG,EAAU;QACxB,OAAO,EAAE,IAAI,GAAG,EAAU;QAC1B,OAAO,EAAE,IAAI,GAAG,EAAU;KAC3B,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC9C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,sBAAsB,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,gBAAgB;QAChB,YAAY,OAAO,CAAC,WAAW,EAAE;QACjC,gBAAgB,OAAO,CAAC,eAAe,EAAE;KAC1C,CAAC;IACF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,SAAS;QAC/B,UAAU,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAkD,EAClD,WAAmB,EACnB,eAAuB;IAEvB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,kDAAkD,OAAO,CAAC,KAAK,KAAK,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC;IAC/I,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ;SACnB,GAAG,CACF,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,OAAO,CAAC,KAAK,KAAK,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,CAAC,GAAG,CAC7F;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,oBAAoB,QAAQ,CAAC,MAAM,oCAAoC,KAAK,EAAE,CAAC;AACxF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,WAAmB,EAAE,eAAuB;IACpF,OAAO,iCAAiC,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,gGAAgG;AAChG,kGAAkG;AAClG,4DAA4D;AAC5D,SAAS,cAAc,CAAC,WAAwB,EAAE,MAAiB;IACjE,IAAI,CAAC,MAAM,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAExC,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,kBAAkB,CAAC;AA2H1B,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EAyDhD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,kBAAkB,CAAC;AAmG1B,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EA0GhD,CAAC"}
@@ -12,28 +12,6 @@ import { defineCloudCommand, defineCloudCommandGroup, } from "../../command.js";
12
12
  // The commands are in the order `vcloud` registered them, so `vendure --help` lists them the way
13
13
  // `vcloud --help` did. The host has no equivalent of Commander's help groups, so the order is all
14
14
  // that survives of that grouping.
15
- // `required` is about the value, not the option: without it the host registers
16
- // `--server-image [image]`, and `--server-image` with nothing after it parses as `true` rather than
17
- // being the error it is today. An image reference is the whole content of the flag, so a `true`
18
- // reaching `readStringOption` is refused — but only after the customer has been told nothing about
19
- // which flag they mistyped.
20
- const IMAGE_OPTIONS = [
21
- {
22
- long: "--server-image <image>",
23
- description: "Docker image reference for the server",
24
- required: true,
25
- },
26
- {
27
- long: "--worker-image <image>",
28
- description: "Docker image reference for the worker",
29
- required: true,
30
- },
31
- {
32
- long: "--migration-image <image>",
33
- description: "Docker image reference for the migration job",
34
- required: true,
35
- },
36
- ];
37
15
  // `vcloud` registers this group as `deployment` with a `deployments` alias. The Vendure CLI
38
16
  // extension API has no alias field, so only the primary name survives the port — the same trade the
39
17
  // identity family made for `key`/`keys`.
@@ -96,7 +74,6 @@ const deploySubcommands = [
96
74
  defineCloudCommand({
97
75
  name: "plan",
98
76
  description: "Preview infrastructure changes without deploying",
99
- options: [...IMAGE_OPTIONS],
100
77
  run: async (input) => (await import("./plan.js")).deployPlan(input),
101
78
  }),
102
79
  defineCloudCommand({
@@ -124,11 +101,19 @@ export const deploymentCommands = [
124
101
  name: "deploy",
125
102
  description: "Deploy the current environment",
126
103
  options: [
127
- ...IMAGE_OPTIONS,
128
104
  {
129
105
  long: "--no-wait",
130
106
  description: "Start the deployment and exit without waiting for completion",
131
107
  },
108
+ {
109
+ // `required: true` is about the value rather than the option, the same as `--limit` and
110
+ // `--lines` below: it keeps the host emitting `--commit <ref>` so that `--commit` with
111
+ // nothing after it is an error. The option itself is optional, which is what the default
112
+ // in the description describes.
113
+ long: "--commit <ref>",
114
+ description: "Commit SHA, tag or branch to deploy (default: the environment's mapped branch)",
115
+ required: true,
116
+ },
132
117
  ],
133
118
  run: async (input) => (await import("./deploy.js")).deploy(input),
134
119
  }),
@@ -153,16 +138,56 @@ export const deploymentCommands = [
153
138
  {
154
139
  short: "-n",
155
140
  long: "--lines <number>",
156
- description: "Number of log lines to fetch",
141
+ description: "Most log lines to read",
157
142
  required: true,
158
143
  defaultValue: "100",
159
144
  },
160
145
  {
161
- long: "--since <duration>",
162
- description: "Only logs newer than this window (e.g. 30m, 6h, 2d)",
146
+ long: "--since <window>",
147
+ description: "Start of the window (e.g. 30m, 6h, 2d, or an ISO-8601 timestamp)",
148
+ required: true,
149
+ },
150
+ {
151
+ long: "--until <window>",
152
+ description: "End of the window (e.g. 30m, or an ISO-8601 timestamp)",
153
+ required: true,
154
+ },
155
+ {
156
+ long: "--include <text>",
157
+ description: "Only lines containing this text",
158
+ required: true,
159
+ },
160
+ {
161
+ long: "--exclude <text>",
162
+ description: "Drop lines containing this text",
163
+ required: true,
164
+ },
165
+ {
166
+ long: "--min-severity <level>",
167
+ description: "Only lines at or above this level, and every line without one",
168
+ required: true,
169
+ },
170
+ {
171
+ long: "--deployment <id>",
172
+ description: "Only lines from a VC Deployment's own run",
163
173
  required: true,
164
174
  },
165
175
  { short: "-f", long: "--follow", description: "Stream logs in real-time" },
176
+ {
177
+ long: "--export",
178
+ description: "Download the whole answer as a file instead of printing it",
179
+ },
180
+ {
181
+ long: "--format <format>",
182
+ description: "Format of the exported file (jsonl or text)",
183
+ required: true,
184
+ },
185
+ {
186
+ short: "-o",
187
+ long: "--output <path>",
188
+ description: "Where to write the exported file",
189
+ required: true,
190
+ },
166
191
  ],
167
192
  run: async (input) => (await import("./logs.js")).logs(input),
168
193
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type ApiClient } from "../../index.js";
2
+ import type { LogExportFormat, LogSourceCapability } from "../../lib/contract/logs.js";
3
+ export interface LogExportInput {
4
+ client: ApiClient;
5
+ projectId: string;
6
+ queryId: string;
7
+ capability: LogSourceCapability;
8
+ format: LogExportFormat | undefined;
9
+ outputPath: string | undefined;
10
+ json: boolean;
11
+ }
12
+ export declare function exportLogQuery(input: LogExportInput): Promise<number | undefined>;
13
+ //# sourceMappingURL=log-export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-export.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/log-export.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,SAAS,EAOf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAa,eAAe,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAclG,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAwCvF"}
@@ -0,0 +1,133 @@
1
+ import { access, writeFile } from "node:fs/promises";
2
+ import { ApiError, formatBytes, formatDateTime, output, sleep, writeJson, } from "../../index.js";
3
+ // The export half of `logs`: one query's whole answer as a file, produced by the control plane and
4
+ // redeemed over an authenticated route (CLO-890, CLO-891).
5
+ //
6
+ // An export names a query and nothing else. Every filter, the window and the source belong to the
7
+ // query it was created from, so the page a customer just read and the file they just downloaded are
8
+ // the same records.
9
+ // How long a caller waits for a file. Bounded rather than open: a wait that never ends is a command
10
+ // that never returns, and the same window can be exported again.
11
+ const EXPORT_POLL_INTERVAL_MS = 2_000;
12
+ const EXPORT_POLL_ATTEMPTS = 60;
13
+ export async function exportLogQuery(input) {
14
+ const settled = await waitForExport(input, await createExport(input));
15
+ if (settled.state !== "READY") {
16
+ // The record carries the state and the platform's own sentence for it, so `--json` reports the
17
+ // same failure the terminal does rather than nothing at all.
18
+ if (input.json)
19
+ writeJson({ export: settled, path: null });
20
+ else
21
+ reportUnreadyExport(settled);
22
+ return 1;
23
+ }
24
+ if (settled.download === null) {
25
+ throw new Error("Vendure Cloud reported this log export as ready but gave nothing to download from. Export the query again.");
26
+ }
27
+ // Checked before the body is asked for, so a caller who named an occupied path does not pay for
28
+ // the transfer first. The exclusive write below is still what decides it: this is one read of a
29
+ // path that anything could take in between.
30
+ const path = input.outputPath ?? localFileName(settled);
31
+ if (await exists(path))
32
+ throw new Error(occupiedPathRefusal(path));
33
+ const response = await input.client.stream(settled.download.url);
34
+ const content = Buffer.from(await response.arrayBuffer());
35
+ await writeExportFile(path, content);
36
+ if (input.json) {
37
+ writeJson({ export: settled, path });
38
+ return undefined;
39
+ }
40
+ output.success(`Wrote ${describeContents(settled)} to ${path}.`);
41
+ if (settled.truncationReason === "EXPORT_LIMIT") {
42
+ output.warn(`The export stopped at ${formatBytes(input.capability.maxExportBytes)}, which is as large as one file gets. Narrow the window with --since and --until, or filter it with --include, to export the rest.`);
43
+ }
44
+ output.info(`The file Vendure Cloud holds is deleted at ${formatDateTime(settled.expiresAt)}; the copy you downloaded is yours to keep.`);
45
+ return undefined;
46
+ }
47
+ // The permission is the one refusal worth naming rather than passing on as a status: exporting a
48
+ // redacted extract of a whole window is a separate grant from reading a page of it, so a caller who
49
+ // may read logs is not yet a caller who may export them.
50
+ async function createExport(input) {
51
+ try {
52
+ return await input.client.post(`/projects/${input.projectId}/log-queries/${encodeURIComponent(input.queryId)}/export`, input.format === undefined ? {} : { format: input.format });
53
+ }
54
+ catch (error) {
55
+ if (error instanceof ApiError && error.status === 403) {
56
+ throw new Error("Your account cannot export logs. Exporting is granted separately from reading them — ask Vendure Cloud support to enable it for your organization.");
57
+ }
58
+ throw error;
59
+ }
60
+ }
61
+ async function waitForExport(input, created) {
62
+ let current = created;
63
+ for (let attempt = 1; current.state === "PENDING" && attempt <= EXPORT_POLL_ATTEMPTS; attempt++) {
64
+ await sleep(EXPORT_POLL_INTERVAL_MS);
65
+ current = await input.client.get(`/projects/${input.projectId}/log-exports/${current.id}`);
66
+ }
67
+ return current;
68
+ }
69
+ // The default branch is the same guard the result states have: a state added after this release
70
+ // must read as a client too old to explain it rather than as a silent success.
71
+ function reportUnreadyExport(record) {
72
+ switch (record.state) {
73
+ case "PENDING":
74
+ // No option reads an existing export back, so running the command again produces a new one
75
+ // rather than collecting this one. Saying so is the difference between advice a customer can
76
+ // act on and advice that quietly does something else.
77
+ output.error("Vendure Cloud is still producing this log export. Running the command again starts a new export of the same window.");
78
+ return;
79
+ case "FAILED":
80
+ output.error(record.errorDetails ?? "This log export failed. Export the query again.");
81
+ return;
82
+ case "EXPIRED":
83
+ output.error("This log export expired before it could be downloaded. Export the query again.");
84
+ return;
85
+ case "READY":
86
+ return;
87
+ default:
88
+ output.warn(`Vendure Cloud reported this log export as "${record.state}", which this version of the CLI does not recognise. Update the CLI to see it explained.`);
89
+ return;
90
+ }
91
+ }
92
+ // Refuses to overwrite. An export is written under a name the customer did not choose unless they
93
+ // passed `--output`, and silently replacing a file of that name is the one mistake this command
94
+ // could make that destroys something.
95
+ async function writeExportFile(path, content) {
96
+ try {
97
+ await writeFile(path, content, { flag: "wx" });
98
+ }
99
+ catch (error) {
100
+ if (isFileExistsError(error))
101
+ throw new Error(occupiedPathRefusal(path));
102
+ throw error;
103
+ }
104
+ }
105
+ function occupiedPathRefusal(path) {
106
+ return `${path} already exists. Name a different file with --output.`;
107
+ }
108
+ function isFileExistsError(error) {
109
+ return (typeof error === "object" && error !== null && error.code === "EEXIST");
110
+ }
111
+ // Where an export lands when the customer named no path. Composed here rather than taken from the
112
+ // download's `content-disposition`: that header is a value from the network, and a response is not
113
+ // something this command should let choose a path on the customer's disk. It mirrors the name the
114
+ // control plane sends, and the export's own id is what keeps two exports off each other.
115
+ function localFileName(record) {
116
+ return `vendure-cloud-logs-${record.id}.${record.format === "TEXT" ? "log" : "jsonl"}`;
117
+ }
118
+ async function exists(path) {
119
+ try {
120
+ await access(path);
121
+ return true;
122
+ }
123
+ catch {
124
+ return false;
125
+ }
126
+ }
127
+ function describeContents(record) {
128
+ const records = record.recordCount === null
129
+ ? "this log export"
130
+ : `${record.recordCount} log ${record.recordCount === 1 ? "line" : "lines"}`;
131
+ return record.sizeBytes === null ? records : `${records} (${formatBytes(record.sizeBytes)})`;
132
+ }
133
+ //# sourceMappingURL=log-export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-export.js","sourceRoot":"","sources":["../../../../src/cli/commands/deployment/log-export.ts"],"names":[],"mappings":"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"}