@salesforce/b2c-tooling-sdk 1.3.1 → 1.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 (41) hide show
  1. package/dist/cjs/cli/lifecycle.d.ts +1 -1
  2. package/dist/cjs/cli/lifecycle.js.map +1 -1
  3. package/dist/cjs/operations/code/deploy.d.ts +17 -1
  4. package/dist/cjs/operations/code/deploy.js +21 -2
  5. package/dist/cjs/operations/code/deploy.js.map +1 -1
  6. package/dist/cjs/operations/code/download.d.ts +66 -0
  7. package/dist/cjs/operations/code/download.js +180 -0
  8. package/dist/cjs/operations/code/download.js.map +1 -0
  9. package/dist/cjs/operations/code/index.d.ts +7 -1
  10. package/dist/cjs/operations/code/index.js +6 -0
  11. package/dist/cjs/operations/code/index.js.map +1 -1
  12. package/dist/cjs/operations/jobs/site-archive.d.ts +2 -0
  13. package/dist/cjs/operations/jobs/site-archive.js +23 -21
  14. package/dist/cjs/operations/jobs/site-archive.js.map +1 -1
  15. package/dist/cjs/skills/github.js +143 -49
  16. package/dist/cjs/skills/github.js.map +1 -1
  17. package/dist/cjs/skills/installer.d.ts +1 -0
  18. package/dist/cjs/skills/installer.js.map +1 -1
  19. package/dist/cjs/telemetry/index.d.ts +8 -0
  20. package/dist/cjs/telemetry/index.js.map +1 -1
  21. package/dist/esm/cli/lifecycle.d.ts +1 -1
  22. package/dist/esm/cli/lifecycle.js.map +1 -1
  23. package/dist/esm/operations/code/deploy.d.ts +17 -1
  24. package/dist/esm/operations/code/deploy.js +21 -2
  25. package/dist/esm/operations/code/deploy.js.map +1 -1
  26. package/dist/esm/operations/code/download.d.ts +66 -0
  27. package/dist/esm/operations/code/download.js +180 -0
  28. package/dist/esm/operations/code/download.js.map +1 -0
  29. package/dist/esm/operations/code/index.d.ts +7 -1
  30. package/dist/esm/operations/code/index.js +6 -0
  31. package/dist/esm/operations/code/index.js.map +1 -1
  32. package/dist/esm/operations/jobs/site-archive.d.ts +2 -0
  33. package/dist/esm/operations/jobs/site-archive.js +23 -21
  34. package/dist/esm/operations/jobs/site-archive.js.map +1 -1
  35. package/dist/esm/skills/github.js +143 -49
  36. package/dist/esm/skills/github.js.map +1 -1
  37. package/dist/esm/skills/installer.d.ts +1 -0
  38. package/dist/esm/skills/installer.js.map +1 -1
  39. package/dist/esm/telemetry/index.d.ts +8 -0
  40. package/dist/esm/telemetry/index.js.map +1 -1
  41. package/package.json +1 -1
@@ -4,7 +4,7 @@ import type { Logger } from '../logging/index.js';
4
4
  /**
5
5
  * Types of B2C operations that support lifecycle hooks.
6
6
  */
7
- export type B2COperationType = 'job:run' | 'job:import' | 'job:export' | 'code:deploy' | 'code:activate' | 'site-archive:import' | 'site-archive:export';
7
+ export type B2COperationType = 'job:run' | 'job:import' | 'job:export' | 'code:deploy' | 'code:download' | 'code:activate' | 'site-archive:import' | 'site-archive:export';
8
8
  /**
9
9
  * Context provided to lifecycle hooks for a B2C operation.
10
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/cli/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAuKvC;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAA+B,EAC/B,QAAiC,EACjC,QAAqB;IAErB,OAAO;QACL,aAAa;QACb,WAAW,EAAE,UAAU,EAAE;QACzB,QAAQ;QACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAAoC,EAAE,CAAC;IAChD,MAAM,CAAU;IAExB,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAA0C;QACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,OAA4B;QAC1C,MAAM,gBAAgB,GAA6B,EAAE,CAAC;QAEtD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,eAAe;gBAAE,SAAS;YAExC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACvD,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,oBAAoB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBACrF,OAAO,MAAM,CAAC,CAAC,kBAAkB;gBACnC,CAAC;gBACD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,0CAA0C;gBAC1C,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,QAAQ,CAAC,IAAI,4BAA4B,KAAK,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAA4B,EAAE,MAA0B;QACrE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,cAAc;gBAAE,SAAS;YAEvC,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4BAA4B;gBAC5B,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,QAAQ,CAAC,IAAI,2BAA2B,KAAK,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/cli/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAwKvC;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAA+B,EAC/B,QAAiC,EACjC,QAAqB;IAErB,OAAO;QACL,aAAa;QACb,WAAW,EAAE,UAAU,EAAE;QACzB,QAAQ;QACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAAoC,EAAE,CAAC;IAChD,MAAM,CAAU;IAExB,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAA0C;QACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,OAA4B;QAC1C,MAAM,gBAAgB,GAA6B,EAAE,CAAC;QAEtD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,eAAe;gBAAE,SAAS;YAExC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACvD,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,oBAAoB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBACrF,OAAO,MAAM,CAAC,CAAC,kBAAkB;gBACnC,CAAC;gBACD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,0CAA0C;gBAC1C,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,QAAQ,CAAC,IAAI,4BAA4B,KAAK,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAA4B,EAAE,MAA0B;QACrE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,cAAc;gBAAE,SAAS;YAEvC,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4BAA4B;gBAC5B,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,QAAQ,CAAC,IAAI,2BAA2B,KAAK,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAC/B,CAAC;CACF"}
@@ -3,6 +3,20 @@ import { type CartridgeMapping, type FindCartridgesOptions } from './cartridges.
3
3
  /**
4
4
  * Options for deploying cartridges.
5
5
  */
6
+ /** Progress info passed to the upload onProgress callback. */
7
+ export interface UploadProgressInfo {
8
+ /** Current operation phase */
9
+ phase: 'archiving' | 'uploading' | 'unzipping' | 'cleanup';
10
+ /** Seconds elapsed since the current phase started */
11
+ elapsedSeconds: number;
12
+ }
13
+ /**
14
+ * Options for upload progress reporting.
15
+ */
16
+ export interface UploadOptions {
17
+ /** Callback for progress updates. Called when a phase starts (elapsedSeconds=0) and periodically thereafter. */
18
+ onProgress?: (info: UploadProgressInfo) => void;
19
+ }
6
20
  export interface DeployOptions extends FindCartridgesOptions {
7
21
  /** Activate the code version after deploy */
8
22
  activate?: boolean;
@@ -10,6 +24,8 @@ export interface DeployOptions extends FindCartridgesOptions {
10
24
  reload?: boolean;
11
25
  /** Delete existing cartridges before uploading */
12
26
  delete?: boolean;
27
+ /** Callback for progress updates during long-running operations */
28
+ onProgress?: UploadOptions['onProgress'];
13
29
  }
14
30
  /**
15
31
  * Result of a cartridge deployment.
@@ -65,7 +81,7 @@ export declare function deleteCartridges(instance: B2CInstance, cartridges: Cart
65
81
  * await uploadCartridges(instance, cartridges);
66
82
  * ```
67
83
  */
68
- export declare function uploadCartridges(instance: B2CInstance, cartridges: CartridgeMapping[]): Promise<void>;
84
+ export declare function uploadCartridges(instance: B2CInstance, cartridges: CartridgeMapping[], options?: UploadOptions): Promise<void>;
69
85
  /**
70
86
  * Finds and deploys cartridges from a directory to an instance.
71
87
  *
@@ -90,7 +90,7 @@ export async function deleteCartridges(instance, cartridges) {
90
90
  * await uploadCartridges(instance, cartridges);
91
91
  * ```
92
92
  */
93
- export async function uploadCartridges(instance, cartridges) {
93
+ export async function uploadCartridges(instance, cartridges, options) {
94
94
  const logger = getLogger();
95
95
  const codeVersion = instance.config.codeVersion;
96
96
  if (!codeVersion) {
@@ -102,7 +102,21 @@ export async function uploadCartridges(instance, cartridges) {
102
102
  const webdav = instance.webdav;
103
103
  const now = Date.now();
104
104
  const uploadPath = `Cartridges/_sync-${now}.zip`;
105
+ const onProgress = options?.onProgress;
106
+ // Progress helper: fires immediately (0s) then every 5s until stopped
107
+ const PROGRESS_INTERVAL_MS = 5_000;
108
+ function startProgress(phase) {
109
+ const start = Date.now();
110
+ onProgress?.({ phase, elapsedSeconds: 0 });
111
+ if (!onProgress)
112
+ return () => { };
113
+ const interval = setInterval(() => {
114
+ onProgress({ phase, elapsedSeconds: Math.round((Date.now() - start) / 1000) });
115
+ }, PROGRESS_INTERVAL_MS);
116
+ return () => clearInterval(interval);
117
+ }
105
118
  // Create zip archive
119
+ onProgress?.({ phase: 'archiving', elapsedSeconds: 0 });
106
120
  logger.debug('Creating cartridge archive...');
107
121
  const zip = new JSZip();
108
122
  for (const c of cartridges) {
@@ -115,10 +129,13 @@ export async function uploadCartridges(instance, cartridges) {
115
129
  });
116
130
  logger.debug({ size: buffer.length }, `Archive created: ${buffer.length} bytes`);
117
131
  // Upload archive
132
+ let stopProgress = startProgress('uploading');
118
133
  logger.debug({ uploadPath }, 'Uploading archive...');
119
134
  await webdav.put(uploadPath, buffer, 'application/zip');
135
+ stopProgress();
120
136
  logger.debug('Archive uploaded');
121
137
  // Unzip on server
138
+ stopProgress = startProgress('unzipping');
122
139
  logger.debug('Unzipping archive on server...');
123
140
  const response = await webdav.request(uploadPath, {
124
141
  method: 'POST',
@@ -127,12 +144,14 @@ export async function uploadCartridges(instance, cartridges) {
127
144
  'Content-Type': 'application/x-www-form-urlencoded',
128
145
  },
129
146
  });
147
+ stopProgress();
130
148
  if (!response.ok) {
131
149
  const text = await response.text();
132
150
  throw new Error(`Failed to unzip archive: ${response.status} ${response.statusText} - ${text}`);
133
151
  }
134
152
  logger.debug('Archive unzipped');
135
153
  // Delete temporary archive (best-effort cleanup)
154
+ onProgress?.({ phase: 'cleanup', elapsedSeconds: 0 });
136
155
  try {
137
156
  await webdav.delete(uploadPath);
138
157
  logger.debug('Temporary archive deleted');
@@ -202,7 +221,7 @@ export async function findAndDeployCartridges(instance, directory, options = {})
202
221
  await deleteCartridges(instance, cartridges);
203
222
  }
204
223
  // Upload cartridges
205
- await uploadCartridges(instance, cartridges);
224
+ await uploadCartridges(instance, cartridges, { onProgress: options.onProgress });
206
225
  // Optionally activate or reload
207
226
  let activated = false;
208
227
  let reloaded = false;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/operations/code/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../src/operations/code/deploy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { B2CInstance } from '../../instance/index.js';
2
+ /** Progress info passed to the onProgress callback. */
3
+ export interface DownloadProgressInfo {
4
+ /** Current operation phase */
5
+ phase: 'zipping' | 'downloading' | 'cleanup' | 'extracting';
6
+ /** Seconds elapsed since the current phase started */
7
+ elapsedSeconds: number;
8
+ }
9
+ /**
10
+ * Options for downloading cartridges.
11
+ */
12
+ export interface DownloadOptions {
13
+ /** Cartridge names to include (if empty/undefined, all are included) */
14
+ include?: string[];
15
+ /** Cartridge names to exclude */
16
+ exclude?: string[];
17
+ /** When provided, maps cartridge names to local paths for mirror extraction */
18
+ mirror?: Map<string, string>;
19
+ /** Callback for progress updates. Called when a phase starts (elapsedSeconds=0) and periodically thereafter. */
20
+ onProgress?: (info: DownloadProgressInfo) => void;
21
+ }
22
+ /**
23
+ * Result of a cartridge download.
24
+ */
25
+ export interface DownloadResult {
26
+ /** Cartridge names that were extracted */
27
+ cartridges: string[];
28
+ /** Code version downloaded from */
29
+ codeVersion: string;
30
+ /** Output directory where cartridges were extracted (empty string if mirror-only) */
31
+ outputDirectory: string;
32
+ }
33
+ /**
34
+ * Downloads cartridges from an instance via WebDAV.
35
+ *
36
+ * This function:
37
+ * 1. Triggers server-side zipping of the code version
38
+ * 2. Downloads the zip archive
39
+ * 3. Cleans up the server-side zip (best-effort)
40
+ * 4. Extracts cartridges locally with optional filtering
41
+ *
42
+ * If `instance.config.codeVersion` is not set, attempts to discover the active
43
+ * code version via OCAPI. If that also fails, throws an error.
44
+ *
45
+ * @param instance - B2C instance to download from
46
+ * @param outputDirectory - Directory to extract cartridges into
47
+ * @param options - Download options (filters, mirror)
48
+ * @returns Download result with cartridge names and metadata
49
+ * @throws Error if code version cannot be determined or download fails
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // Download all cartridges
54
+ * const result = await downloadCartridges(instance, './output');
55
+ *
56
+ * // Download specific cartridges
57
+ * const result = await downloadCartridges(instance, './output', {
58
+ * include: ['app_storefront_base'],
59
+ * });
60
+ *
61
+ * // Mirror to local project locations
62
+ * const mirror = new Map([['app_storefront_base', '/project/cartridges/app_storefront_base']]);
63
+ * const result = await downloadCartridges(instance, '.', { mirror });
64
+ * ```
65
+ */
66
+ export declare function downloadCartridges(instance: B2CInstance, outputDirectory: string, options?: DownloadOptions): Promise<DownloadResult>;
@@ -0,0 +1,180 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import path from 'node:path';
7
+ import fs from 'node:fs';
8
+ import JSZip from 'jszip';
9
+ import { getLogger } from '../../logging/logger.js';
10
+ import { getActiveCodeVersion } from './versions.js';
11
+ const ZIP_BODY = new URLSearchParams({ method: 'ZIP' }).toString();
12
+ // 10 minutes — server-side zipping and large downloads can take a long time
13
+ const LONG_OPERATION_TIMEOUT_MS = 600_000;
14
+ /**
15
+ * Downloads cartridges from an instance via WebDAV.
16
+ *
17
+ * This function:
18
+ * 1. Triggers server-side zipping of the code version
19
+ * 2. Downloads the zip archive
20
+ * 3. Cleans up the server-side zip (best-effort)
21
+ * 4. Extracts cartridges locally with optional filtering
22
+ *
23
+ * If `instance.config.codeVersion` is not set, attempts to discover the active
24
+ * code version via OCAPI. If that also fails, throws an error.
25
+ *
26
+ * @param instance - B2C instance to download from
27
+ * @param outputDirectory - Directory to extract cartridges into
28
+ * @param options - Download options (filters, mirror)
29
+ * @returns Download result with cartridge names and metadata
30
+ * @throws Error if code version cannot be determined or download fails
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * // Download all cartridges
35
+ * const result = await downloadCartridges(instance, './output');
36
+ *
37
+ * // Download specific cartridges
38
+ * const result = await downloadCartridges(instance, './output', {
39
+ * include: ['app_storefront_base'],
40
+ * });
41
+ *
42
+ * // Mirror to local project locations
43
+ * const mirror = new Map([['app_storefront_base', '/project/cartridges/app_storefront_base']]);
44
+ * const result = await downloadCartridges(instance, '.', { mirror });
45
+ * ```
46
+ */
47
+ export async function downloadCartridges(instance, outputDirectory, options = {}) {
48
+ const logger = getLogger();
49
+ let codeVersion = instance.config.codeVersion;
50
+ if (!codeVersion) {
51
+ logger.debug('No code version configured, attempting to discover active version...');
52
+ try {
53
+ const activeVersion = await getActiveCodeVersion(instance);
54
+ if (activeVersion?.id) {
55
+ codeVersion = activeVersion.id;
56
+ instance.config.codeVersion = codeVersion;
57
+ }
58
+ }
59
+ catch (error) {
60
+ logger.debug({ error }, 'Failed to discover active code version');
61
+ }
62
+ if (!codeVersion) {
63
+ throw new Error('Code version required for download. Configure --code-version or ensure OAuth credentials are available for auto-discovery.');
64
+ }
65
+ }
66
+ const webdav = instance.webdav;
67
+ const zipPath = `Cartridges/${codeVersion}.zip`;
68
+ const resolvedOutput = path.resolve(outputDirectory);
69
+ const { onProgress } = options;
70
+ // Progress helper: fires immediately (0s) then every 5s until stopped
71
+ const PROGRESS_INTERVAL_MS = 5_000;
72
+ function startProgress(phase) {
73
+ const start = Date.now();
74
+ onProgress?.({ phase, elapsedSeconds: 0 });
75
+ if (!onProgress)
76
+ return () => { };
77
+ const interval = setInterval(() => {
78
+ onProgress({ phase, elapsedSeconds: Math.round((Date.now() - start) / 1000) });
79
+ }, PROGRESS_INTERVAL_MS);
80
+ return () => clearInterval(interval);
81
+ }
82
+ // Step 1: Trigger server-side zip (can take several minutes for large code versions)
83
+ let stopProgress = startProgress('zipping');
84
+ logger.debug({ codeVersion }, 'Requesting server-side zip...');
85
+ const zipResponse = await webdav.request(`Cartridges/${codeVersion}`, {
86
+ method: 'POST',
87
+ body: ZIP_BODY,
88
+ headers: {
89
+ 'Content-Type': 'application/x-www-form-urlencoded',
90
+ },
91
+ signal: AbortSignal.timeout(LONG_OPERATION_TIMEOUT_MS),
92
+ });
93
+ stopProgress();
94
+ if (!zipResponse.ok) {
95
+ const text = await zipResponse.text();
96
+ throw new Error(`Failed to create server-side zip: ${zipResponse.status} ${zipResponse.statusText} - ${text}`);
97
+ }
98
+ logger.debug('Server-side zip created');
99
+ // Step 2: Download zip archive (can be large)
100
+ stopProgress = startProgress('downloading');
101
+ logger.debug({ zipPath }, 'Downloading zip archive...');
102
+ const downloadResponse = await webdav.request(zipPath, {
103
+ method: 'GET',
104
+ signal: AbortSignal.timeout(LONG_OPERATION_TIMEOUT_MS),
105
+ });
106
+ if (!downloadResponse.ok) {
107
+ stopProgress();
108
+ throw new Error(`Failed to download zip: ${downloadResponse.status} ${downloadResponse.statusText}`);
109
+ }
110
+ const buffer = await downloadResponse.arrayBuffer();
111
+ stopProgress();
112
+ logger.debug({ size: buffer.byteLength }, `Archive downloaded: ${buffer.byteLength} bytes`);
113
+ // Step 3: Cleanup server-side zip (best-effort)
114
+ onProgress?.({ phase: 'cleanup', elapsedSeconds: 0 });
115
+ try {
116
+ await webdav.delete(zipPath);
117
+ logger.debug('Server-side zip cleaned up');
118
+ }
119
+ catch (error) {
120
+ logger.warn({ error, zipPath }, 'Failed to clean up server-side zip (non-fatal)');
121
+ }
122
+ // Step 4: Extract locally
123
+ onProgress?.({ phase: 'extracting', elapsedSeconds: 0 });
124
+ logger.debug('Extracting archive...');
125
+ const zip = await JSZip.loadAsync(buffer);
126
+ const extractedCartridges = new Set();
127
+ const { include, exclude, mirror } = options;
128
+ const entries = Object.values(zip.files).filter((entry) => !entry.dir);
129
+ for (const entry of entries) {
130
+ const parts = entry.name.split('/');
131
+ if (parts.length < 3) {
132
+ continue;
133
+ }
134
+ // Format: {codeVersion}/{cartridgeName}/{relativePath...}
135
+ parts.shift(); // remove codeVersion
136
+ const cartridgeName = parts.shift();
137
+ const relativePath = parts.join('/');
138
+ // Apply filters
139
+ if (include?.length && !include.includes(cartridgeName)) {
140
+ continue;
141
+ }
142
+ if (exclude?.length && exclude.includes(cartridgeName)) {
143
+ continue;
144
+ }
145
+ let targetPath;
146
+ if (mirror?.has(cartridgeName)) {
147
+ targetPath = path.join(mirror.get(cartridgeName), relativePath);
148
+ }
149
+ else {
150
+ targetPath = path.join(resolvedOutput, cartridgeName, relativePath);
151
+ }
152
+ // Preserve existing file permissions
153
+ let existingMode = null;
154
+ try {
155
+ const stat = await fs.promises.stat(targetPath);
156
+ existingMode = stat.mode;
157
+ }
158
+ catch {
159
+ // File doesn't exist yet
160
+ }
161
+ // Ensure parent directory exists
162
+ await fs.promises.mkdir(path.dirname(targetPath), { recursive: true });
163
+ // Write file
164
+ const content = await entry.async('nodebuffer');
165
+ await fs.promises.writeFile(targetPath, content);
166
+ // Restore permissions if file existed
167
+ if (existingMode !== null) {
168
+ await fs.promises.chmod(targetPath, existingMode);
169
+ }
170
+ extractedCartridges.add(cartridgeName);
171
+ }
172
+ const cartridgeList = [...extractedCartridges].sort();
173
+ logger.debug({ server: instance.config.hostname, codeVersion, cartridgeCount: cartridgeList.length }, `Downloaded ${cartridgeList.length} cartridge(s) from ${instance.config.hostname}`);
174
+ return {
175
+ cartridges: cartridgeList,
176
+ codeVersion,
177
+ outputDirectory: resolvedOutput,
178
+ };
179
+ }
180
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../src/operations/code/download.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAEnD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEjE,4EAA4E;AAC5E,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAoC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAqB,EACrB,eAAuB,EACvB,UAA2B,EAAE;IAE7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;IAE9C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACrF,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,aAAa,EAAE,EAAE,EAAE,CAAC;gBACtB,WAAW,GAAG,aAAa,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAC,EAAE,wCAAwC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,4HAA4H,CAC7H,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,cAAc,WAAW,MAAM,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD,MAAM,EAAC,UAAU,EAAC,GAAG,OAAO,CAAC;IAE7B,sEAAsE;IACtE,MAAM,oBAAoB,GAAG,KAAK,CAAC;IACnC,SAAS,aAAa,CAAC,KAAoC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,UAAU,EAAE,CAAC,EAAC,KAAK,EAAE,cAAc,EAAE,CAAC,EAAC,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,UAAU,CAAC,EAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,EAAC,CAAC,CAAC;QAC/E,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACzB,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,qFAAqF;IACrF,IAAI,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAC,EAAE,+BAA+B,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,WAAW,EAAE,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,cAAc,EAAE,mCAAmC;SACpD;QACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,yBAAyB,CAAC;KACvD,CAAC,CAAC;IACH,YAAY,EAAE,CAAC;IAEf,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,qCAAqC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,UAAU,MAAM,IAAI,EAAE,CAAC,CAAC;IACjH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAExC,8CAA8C;IAC9C,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,CAAC,EAAC,OAAO,EAAC,EAAE,4BAA4B,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE;QACrD,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,yBAAyB,CAAC;KACvD,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACzB,YAAY,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;IACpD,YAAY,EAAE,CAAC;IACf,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAC,EAAE,uBAAuB,MAAM,CAAC,UAAU,QAAQ,CAAC,CAAC;IAE1F,gDAAgD;IAChD,UAAU,EAAE,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,EAAC,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,gDAAgD,CAAC,CAAC;IAClF,CAAC;IAED,0BAA0B;IAC1B,UAAU,EAAE,CAAC,EAAC,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,EAAC,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAE3C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEvE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QAED,0DAA0D;QAC1D,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,qBAAqB;QACpC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QACrC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErC,gBAAgB;QAChB,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACxD,SAAS;QACX,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACvD,SAAS;QACX,CAAC;QAED,IAAI,UAAkB,CAAC;QACvB,IAAI,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAE,EAAE,YAAY,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;QACtE,CAAC;QAED,qCAAqC;QACrC,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChD,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QAED,iCAAiC;QACjC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAErE,aAAa;QACb,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEjD,sCAAsC;QACtC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,CAAC,KAAK,CACV,EAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,EAAC,EACrF,cAAc,aAAa,CAAC,MAAM,sBAAsB,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CACnF,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,aAAa;QACzB,WAAW;QACX,eAAe,EAAE,cAAc;KAChC,CAAC;AACJ,CAAC"}
@@ -24,6 +24,10 @@
24
24
  * - {@link deleteCartridges} - Low-level cartridge deletion
25
25
  * - {@link watchCartridges} - Watch and sync file changes
26
26
  *
27
+ * ## Download
28
+ *
29
+ * - {@link downloadCartridges} - Download cartridges from an instance
30
+ *
27
31
  * ## Usage
28
32
  *
29
33
  * ```typescript
@@ -61,6 +65,8 @@ export type { CartridgeMapping, FindCartridgesOptions } from './cartridges.js';
61
65
  export { listCodeVersions, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, deleteCodeVersion, createCodeVersion, } from './versions.js';
62
66
  export type { CodeVersion, CodeVersionResult } from './versions.js';
63
67
  export { findAndDeployCartridges, uploadCartridges, deleteCartridges } from './deploy.js';
64
- export type { DeployOptions, DeployResult } from './deploy.js';
68
+ export type { DeployOptions, DeployResult, UploadOptions, UploadProgressInfo } from './deploy.js';
69
+ export { downloadCartridges } from './download.js';
70
+ export type { DownloadOptions, DownloadProgressInfo, DownloadResult } from './download.js';
65
71
  export { watchCartridges } from './watch.js';
66
72
  export type { WatchOptions, WatchResult } from './watch.js';
@@ -29,6 +29,10 @@
29
29
  * - {@link deleteCartridges} - Low-level cartridge deletion
30
30
  * - {@link watchCartridges} - Watch and sync file changes
31
31
  *
32
+ * ## Download
33
+ *
34
+ * - {@link downloadCartridges} - Download cartridges from an instance
35
+ *
32
36
  * ## Usage
33
37
  *
34
38
  * ```typescript
@@ -67,6 +71,8 @@ export { findCartridges } from './cartridges.js';
67
71
  export { listCodeVersions, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, deleteCodeVersion, createCodeVersion, } from './versions.js';
68
72
  // Deployment
69
73
  export { findAndDeployCartridges, uploadCartridges, deleteCartridges } from './deploy.js';
74
+ // Download
75
+ export { downloadCartridges } from './download.js';
70
76
  // Watch
71
77
  export { watchCartridges } from './watch.js';
72
78
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/code/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEH,sBAAsB;AACtB,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAG/C,0BAA0B;AAC1B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,aAAa;AACb,OAAO,EAAC,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGxF,QAAQ;AACR,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/code/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH,sBAAsB;AACtB,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAG/C,0BAA0B;AAC1B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,aAAa;AACb,OAAO,EAAC,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGxF,WAAW;AACX,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAGjD,QAAQ;AACR,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC"}
@@ -6,6 +6,8 @@ import { type JobExecution, type WaitForJobOptions } from './run.js';
6
6
  export interface SiteArchiveImportOptions {
7
7
  /** Keep archive on instance after import (default: false) */
8
8
  keepArchive?: boolean;
9
+ /** Whether to wait for job completion (default: true) */
10
+ wait?: boolean;
9
11
  /** Wait options for job completion */
10
12
  waitOptions?: WaitForJobOptions;
11
13
  }
@@ -69,7 +69,7 @@ const EXPORT_JOB_ID = 'sfcc-site-archive-export';
69
69
  */
70
70
  export async function siteArchiveImport(instance, target, options = {}) {
71
71
  const logger = getLogger();
72
- const { keepArchive = false, waitOptions, archiveName } = options;
72
+ const { keepArchive = false, wait = true, waitOptions, archiveName } = options;
73
73
  let zipFilename;
74
74
  let needsUpload = true;
75
75
  let archiveContent;
@@ -153,32 +153,34 @@ export async function siteArchiveImport(instance, target, options = {}) {
153
153
  execution = data;
154
154
  }
155
155
  logger.debug({ jobId: IMPORT_JOB_ID, executionId: execution.id }, `Import job started: ${execution.id}`);
156
- // Wait for completion
157
- try {
158
- execution = await waitForJob(instance, IMPORT_JOB_ID, execution.id, waitOptions);
159
- }
160
- catch (error) {
161
- if (error instanceof JobExecutionError) {
162
- // Try to get log file
163
- try {
164
- const log = await getJobLog(instance, error.execution);
165
- logger.error({ jobId: IMPORT_JOB_ID, logFile: error.execution.log_file_path, log }, `Job log:\n${log}`);
166
- }
167
- catch {
168
- logger.error({ jobId: IMPORT_JOB_ID }, 'Could not retrieve job log');
156
+ if (wait) {
157
+ // Wait for completion
158
+ try {
159
+ execution = await waitForJob(instance, IMPORT_JOB_ID, execution.id, waitOptions);
160
+ }
161
+ catch (error) {
162
+ if (error instanceof JobExecutionError) {
163
+ // Try to get log file
164
+ try {
165
+ const log = await getJobLog(instance, error.execution);
166
+ logger.error({ jobId: IMPORT_JOB_ID, logFile: error.execution.log_file_path, log }, `Job log:\n${log}`);
167
+ }
168
+ catch {
169
+ logger.error({ jobId: IMPORT_JOB_ID }, 'Could not retrieve job log');
170
+ }
169
171
  }
172
+ throw error;
173
+ }
174
+ // Clean up archive if not keeping
175
+ if (!keepArchive && needsUpload) {
176
+ await instance.webdav.delete(uploadPath);
177
+ logger.debug({ path: uploadPath }, `Archive deleted: ${uploadPath}`);
170
178
  }
171
- throw error;
172
- }
173
- // Clean up archive if not keeping
174
- if (!keepArchive && needsUpload) {
175
- await instance.webdav.delete(uploadPath);
176
- logger.debug({ path: uploadPath }, `Archive deleted: ${uploadPath}`);
177
179
  }
178
180
  return {
179
181
  execution,
180
182
  archiveFilename: zipFilename,
181
- archiveKept: keepArchive,
183
+ archiveKept: wait ? keepArchive : true,
182
184
  };
183
185
  }
184
186
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"site-archive.js","sourceRoot":"","sources":["../../../../src/operations/jobs/site-archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"site-archive.js","sourceRoot":"","sources":["../../../../src/operations/jobs/site-archive.ts"],"names":[],"mappings":"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"}