@salesforce/b2c-tooling-sdk 1.4.0 → 1.6.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 (105) hide show
  1. package/data/xsd/abtest.xsd +14 -1
  2. package/data/xsd/bmext.xsd +18 -0
  3. package/data/xsd/commercefeaturestate.xsd +101 -0
  4. package/data/xsd/index.json +10 -2
  5. package/data/xsd/library.xsd +33 -0
  6. package/data/xsd/order.xsd +2 -0
  7. package/data/xsd/pagemetatag.xsd +1 -0
  8. package/data/xsd/search2.xsd +39 -0
  9. package/data/xsd/sort.xsd +31 -1
  10. package/data/xsd/storefronts.xsd +104 -0
  11. package/dist/cjs/cli/lifecycle.d.ts +1 -1
  12. package/dist/cjs/cli/lifecycle.js.map +1 -1
  13. package/dist/cjs/index.d.ts +2 -0
  14. package/dist/cjs/index.js +2 -0
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/operations/cap/index.d.ts +56 -0
  17. package/dist/cjs/operations/cap/index.js +57 -0
  18. package/dist/cjs/operations/cap/index.js.map +1 -0
  19. package/dist/cjs/operations/cap/install.d.ts +53 -0
  20. package/dist/cjs/operations/cap/install.js +181 -0
  21. package/dist/cjs/operations/cap/install.js.map +1 -0
  22. package/dist/cjs/operations/cap/list.d.ts +92 -0
  23. package/dist/cjs/operations/cap/list.js +230 -0
  24. package/dist/cjs/operations/cap/list.js.map +1 -0
  25. package/dist/cjs/operations/cap/package.d.ts +39 -0
  26. package/dist/cjs/operations/cap/package.js +77 -0
  27. package/dist/cjs/operations/cap/package.js.map +1 -0
  28. package/dist/cjs/operations/cap/pull.d.ts +21 -0
  29. package/dist/cjs/operations/cap/pull.js +77 -0
  30. package/dist/cjs/operations/cap/pull.js.map +1 -0
  31. package/dist/cjs/operations/cap/uninstall.d.ts +46 -0
  32. package/dist/cjs/operations/cap/uninstall.js +87 -0
  33. package/dist/cjs/operations/cap/uninstall.js.map +1 -0
  34. package/dist/cjs/operations/cap/validate.d.ts +47 -0
  35. package/dist/cjs/operations/cap/validate.js +235 -0
  36. package/dist/cjs/operations/cap/validate.js.map +1 -0
  37. package/dist/cjs/operations/jobs/site-archive.d.ts +1 -0
  38. package/dist/cjs/operations/jobs/site-archive.js +30 -39
  39. package/dist/cjs/operations/jobs/site-archive.js.map +1 -1
  40. package/dist/cjs/operations/util/zip.d.ts +5 -0
  41. package/dist/cjs/operations/util/zip.js +25 -0
  42. package/dist/cjs/operations/util/zip.js.map +1 -0
  43. package/dist/cjs/plugins/loader.js +6 -1
  44. package/dist/cjs/plugins/loader.js.map +1 -1
  45. package/dist/cjs/skills/github.d.ts +2 -18
  46. package/dist/cjs/skills/github.js +195 -108
  47. package/dist/cjs/skills/github.js.map +1 -1
  48. package/dist/cjs/skills/index.d.ts +2 -1
  49. package/dist/cjs/skills/index.js +2 -0
  50. package/dist/cjs/skills/index.js.map +1 -1
  51. package/dist/cjs/skills/parser.d.ts +2 -2
  52. package/dist/cjs/skills/parser.js +13 -18
  53. package/dist/cjs/skills/parser.js.map +1 -1
  54. package/dist/cjs/skills/sources.d.ts +4 -0
  55. package/dist/cjs/skills/sources.js +44 -0
  56. package/dist/cjs/skills/sources.js.map +1 -0
  57. package/dist/cjs/skills/types.d.ts +16 -1
  58. package/dist/esm/cli/lifecycle.d.ts +1 -1
  59. package/dist/esm/cli/lifecycle.js.map +1 -1
  60. package/dist/esm/index.d.ts +2 -0
  61. package/dist/esm/index.js +2 -0
  62. package/dist/esm/index.js.map +1 -1
  63. package/dist/esm/operations/cap/index.d.ts +56 -0
  64. package/dist/esm/operations/cap/index.js +57 -0
  65. package/dist/esm/operations/cap/index.js.map +1 -0
  66. package/dist/esm/operations/cap/install.d.ts +53 -0
  67. package/dist/esm/operations/cap/install.js +183 -0
  68. package/dist/esm/operations/cap/install.js.map +1 -0
  69. package/dist/esm/operations/cap/list.d.ts +92 -0
  70. package/dist/esm/operations/cap/list.js +231 -0
  71. package/dist/esm/operations/cap/list.js.map +1 -0
  72. package/dist/esm/operations/cap/package.d.ts +39 -0
  73. package/dist/esm/operations/cap/package.js +78 -0
  74. package/dist/esm/operations/cap/package.js.map +1 -0
  75. package/dist/esm/operations/cap/pull.d.ts +21 -0
  76. package/dist/esm/operations/cap/pull.js +78 -0
  77. package/dist/esm/operations/cap/pull.js.map +1 -0
  78. package/dist/esm/operations/cap/uninstall.d.ts +46 -0
  79. package/dist/esm/operations/cap/uninstall.js +98 -0
  80. package/dist/esm/operations/cap/uninstall.js.map +1 -0
  81. package/dist/esm/operations/cap/validate.d.ts +47 -0
  82. package/dist/esm/operations/cap/validate.js +235 -0
  83. package/dist/esm/operations/cap/validate.js.map +1 -0
  84. package/dist/esm/operations/jobs/site-archive.d.ts +1 -0
  85. package/dist/esm/operations/jobs/site-archive.js +30 -39
  86. package/dist/esm/operations/jobs/site-archive.js.map +1 -1
  87. package/dist/esm/operations/util/zip.d.ts +5 -0
  88. package/dist/esm/operations/util/zip.js +26 -0
  89. package/dist/esm/operations/util/zip.js.map +1 -0
  90. package/dist/esm/plugins/loader.js +6 -1
  91. package/dist/esm/plugins/loader.js.map +1 -1
  92. package/dist/esm/skills/github.d.ts +2 -18
  93. package/dist/esm/skills/github.js +195 -108
  94. package/dist/esm/skills/github.js.map +1 -1
  95. package/dist/esm/skills/index.d.ts +2 -1
  96. package/dist/esm/skills/index.js +2 -0
  97. package/dist/esm/skills/index.js.map +1 -1
  98. package/dist/esm/skills/parser.d.ts +2 -2
  99. package/dist/esm/skills/parser.js +13 -18
  100. package/dist/esm/skills/parser.js.map +1 -1
  101. package/dist/esm/skills/sources.d.ts +4 -0
  102. package/dist/esm/skills/sources.js +44 -0
  103. package/dist/esm/skills/sources.js.map +1 -0
  104. package/dist/esm/skills/types.d.ts +16 -1
  105. package/package.json +13 -1
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Manifest from commerce-app.json.
3
+ */
4
+ export interface CommerceAppManifest {
5
+ id: string;
6
+ name: string;
7
+ version: string;
8
+ domain: string;
9
+ description?: string;
10
+ publisher?: {
11
+ name: string;
12
+ url?: string;
13
+ support?: string;
14
+ };
15
+ dependencies?: Record<string, string>;
16
+ }
17
+ /**
18
+ * Result of CAP validation.
19
+ */
20
+ export interface CapValidationResult {
21
+ /** Whether the CAP is valid (no errors). */
22
+ valid: boolean;
23
+ /** Blocking errors — a CAP with errors cannot be installed. */
24
+ errors: string[];
25
+ /** Advisory warnings — a CAP with warnings can still be installed. */
26
+ warnings: string[];
27
+ /** Parsed manifest from commerce-app.json (if parseable). */
28
+ manifest?: CommerceAppManifest;
29
+ }
30
+ /**
31
+ * Validates a Commerce App Package (CAP) directory or zip file.
32
+ *
33
+ * Checks required files, manifest schema, and cartridge structure rules.
34
+ * This is a purely local operation — no B2C instance required.
35
+ *
36
+ * @param target - Path to a CAP directory or .zip file
37
+ * @returns Validation result with errors and warnings
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * const result = await validateCap('./my-commerce-app-v1.0.0');
42
+ * if (!result.valid) {
43
+ * console.error('Validation errors:', result.errors);
44
+ * }
45
+ * ```
46
+ */
47
+ export declare function validateCap(target: string): Promise<CapValidationResult>;
@@ -0,0 +1,235 @@
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
+ /**
7
+ * Validation logic for Commerce App Packages (CAPs).
8
+ *
9
+ * Performs structural and schema validation of a CAP directory or zip file
10
+ * without requiring a live B2C instance.
11
+ */
12
+ import * as fs from 'node:fs';
13
+ import * as os from 'node:os';
14
+ import * as path from 'node:path';
15
+ import JSZip from 'jszip';
16
+ const SEMVER_RE = /^\d+\.\d+\.\d+(-[\w.]+)?(\+[\w.]+)?$/;
17
+ /**
18
+ * Validates a Commerce App Package (CAP) directory or zip file.
19
+ *
20
+ * Checks required files, manifest schema, and cartridge structure rules.
21
+ * This is a purely local operation — no B2C instance required.
22
+ *
23
+ * @param target - Path to a CAP directory or .zip file
24
+ * @returns Validation result with errors and warnings
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const result = await validateCap('./my-commerce-app-v1.0.0');
29
+ * if (!result.valid) {
30
+ * console.error('Validation errors:', result.errors);
31
+ * }
32
+ * ```
33
+ */
34
+ export async function validateCap(target) {
35
+ const errors = [];
36
+ const warnings = [];
37
+ let manifest;
38
+ if (!fs.existsSync(target)) {
39
+ return { valid: false, errors: [`Target not found: ${target}`], warnings };
40
+ }
41
+ const stat = fs.statSync(target);
42
+ let capDir;
43
+ let tempDir;
44
+ if (stat.isDirectory()) {
45
+ capDir = target;
46
+ }
47
+ else if (stat.isFile() && target.endsWith('.zip')) {
48
+ // Extract zip to temp dir for inspection
49
+ tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'b2c-cap-validate-'));
50
+ try {
51
+ await extractZipToDir(target, tempDir);
52
+ // The zip root should be a single directory
53
+ const entries = fs.readdirSync(tempDir);
54
+ if (entries.length === 1 && fs.statSync(path.join(tempDir, entries[0])).isDirectory()) {
55
+ capDir = path.join(tempDir, entries[0]);
56
+ }
57
+ else {
58
+ capDir = tempDir;
59
+ }
60
+ }
61
+ catch (err) {
62
+ const msg = err instanceof Error ? err.message : String(err);
63
+ cleanupTemp(tempDir);
64
+ return { valid: false, errors: [`Failed to read zip: ${msg}`], warnings };
65
+ }
66
+ }
67
+ else {
68
+ return { valid: false, errors: [`Target must be a directory or .zip file: ${target}`], warnings };
69
+ }
70
+ try {
71
+ // --- commerce-app.json ---
72
+ const manifestPath = path.join(capDir, 'commerce-app.json');
73
+ if (!fs.existsSync(manifestPath)) {
74
+ errors.push('Missing required file: commerce-app.json');
75
+ }
76
+ else {
77
+ try {
78
+ const raw = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
79
+ const requiredFields = ['id', 'name', 'version', 'domain'];
80
+ for (const field of requiredFields) {
81
+ if (!raw[field] || typeof raw[field] !== 'string') {
82
+ errors.push(`commerce-app.json: missing or invalid field "${field}"`);
83
+ }
84
+ }
85
+ if (raw.version && typeof raw.version === 'string' && !SEMVER_RE.test(raw.version)) {
86
+ errors.push(`commerce-app.json: "version" must be a valid semver string (got "${raw.version}")`);
87
+ }
88
+ if (errors.filter((e) => e.startsWith('commerce-app.json:')).length === 0) {
89
+ manifest = raw;
90
+ }
91
+ // Check root dir naming convention
92
+ const dirName = path.basename(capDir);
93
+ if (manifest && dirName !== '.' && dirName !== tempDir) {
94
+ const expectedName = `${manifest.id}-v${manifest.version}`;
95
+ if (dirName !== expectedName) {
96
+ warnings.push(`Root directory "${dirName}" does not match expected convention "${expectedName}"`);
97
+ }
98
+ }
99
+ }
100
+ catch {
101
+ errors.push('commerce-app.json: file exists but is not valid JSON');
102
+ }
103
+ }
104
+ // --- README.md ---
105
+ if (!fs.existsSync(path.join(capDir, 'README.md'))) {
106
+ errors.push('Missing required file: README.md');
107
+ }
108
+ // --- app-configuration/tasksList.json ---
109
+ const tasksListPath = path.join(capDir, 'app-configuration', 'tasksList.json');
110
+ if (!fs.existsSync(tasksListPath)) {
111
+ errors.push('Missing required file: app-configuration/tasksList.json');
112
+ }
113
+ else {
114
+ try {
115
+ const tasks = JSON.parse(fs.readFileSync(tasksListPath, 'utf-8'));
116
+ if (!Array.isArray(tasks)) {
117
+ errors.push('app-configuration/tasksList.json: must be a JSON array');
118
+ }
119
+ else {
120
+ for (let i = 0; i < tasks.length; i++) {
121
+ const task = tasks[i];
122
+ for (const field of ['taskNumber', 'name', 'description', 'link']) {
123
+ if (!task[field]) {
124
+ errors.push(`app-configuration/tasksList.json: task[${i}] missing field "${field}"`);
125
+ }
126
+ }
127
+ }
128
+ }
129
+ }
130
+ catch {
131
+ errors.push('app-configuration/tasksList.json: file exists but is not valid JSON');
132
+ }
133
+ }
134
+ // --- At least one substantive directory ---
135
+ const hasCartridges = fs.existsSync(path.join(capDir, 'cartridges'));
136
+ const hasStorefrontNext = fs.existsSync(path.join(capDir, 'storefront-next'));
137
+ const hasImpex = fs.existsSync(path.join(capDir, 'impex'));
138
+ if (!hasCartridges && !hasStorefrontNext && !hasImpex) {
139
+ errors.push('CAP must contain at least one of: cartridges/, storefront-next/, impex/');
140
+ }
141
+ // --- Cartridge rules ---
142
+ if (hasCartridges) {
143
+ const cartridgesDir = path.join(capDir, 'cartridges');
144
+ validateCartridges(cartridgesDir, errors);
145
+ }
146
+ // --- Optional warnings ---
147
+ if (!fs.existsSync(path.join(capDir, 'icons', 'icon.png'))) {
148
+ warnings.push('icons/icon.png not found (recommended for marketplace listing)');
149
+ }
150
+ if (hasImpex && !fs.existsSync(path.join(capDir, 'impex', 'uninstall'))) {
151
+ warnings.push('impex/uninstall/ not found (recommended for clean removal)');
152
+ }
153
+ }
154
+ finally {
155
+ cleanupTemp(tempDir);
156
+ }
157
+ return { valid: errors.length === 0, errors, warnings, manifest };
158
+ }
159
+ /**
160
+ * Validates cartridge structure and rules.
161
+ * - No pipeline/ directories
162
+ * - No *.ds pipeline descriptor files
163
+ * - Site cartridges must not have controllers/
164
+ */
165
+ function validateCartridges(cartridgesDir, errors) {
166
+ // Check entire cartridges tree for pipelines
167
+ walkDir(cartridgesDir, (filePath, name, isDir) => {
168
+ if (isDir && name === 'pipeline') {
169
+ const rel = path.relative(cartridgesDir, filePath);
170
+ errors.push(`Pipelines not allowed in CAPs: cartridges/${rel}`);
171
+ }
172
+ if (!isDir && name.endsWith('.ds')) {
173
+ const rel = path.relative(cartridgesDir, filePath);
174
+ errors.push(`Pipeline descriptor files not allowed in CAPs: cartridges/${rel}`);
175
+ }
176
+ });
177
+ // Site cartridges must not contain controllers/
178
+ const siteCartridgesDir = path.join(cartridgesDir, 'site_cartridges');
179
+ if (fs.existsSync(siteCartridgesDir)) {
180
+ walkDir(siteCartridgesDir, (filePath, name, isDir) => {
181
+ if (isDir && name === 'controllers') {
182
+ const rel = path.relative(siteCartridgesDir, filePath);
183
+ errors.push(`Site cartridges must not contain controllers/ (use BM cartridges instead): site_cartridges/${rel}`);
184
+ }
185
+ });
186
+ }
187
+ }
188
+ /**
189
+ * Walks a directory tree, calling callback for each entry.
190
+ * Stops recursing into a directory if callback returns false.
191
+ */
192
+ function walkDir(dir, cb) {
193
+ if (!fs.existsSync(dir))
194
+ return;
195
+ let entries;
196
+ try {
197
+ entries = fs.readdirSync(dir, { withFileTypes: true });
198
+ }
199
+ catch {
200
+ return;
201
+ }
202
+ for (const entry of entries) {
203
+ const fullPath = path.join(dir, entry.name);
204
+ cb(fullPath, entry.name, entry.isDirectory());
205
+ if (entry.isDirectory()) {
206
+ walkDir(fullPath, cb);
207
+ }
208
+ }
209
+ }
210
+ async function extractZipToDir(zipPath, destDir) {
211
+ const data = await fs.promises.readFile(zipPath);
212
+ const zip = await JSZip.loadAsync(data);
213
+ for (const [relPath, entry] of Object.entries(zip.files)) {
214
+ const fullPath = path.join(destDir, relPath);
215
+ if (entry.dir) {
216
+ await fs.promises.mkdir(fullPath, { recursive: true });
217
+ }
218
+ else {
219
+ await fs.promises.mkdir(path.dirname(fullPath), { recursive: true });
220
+ const content = await entry.async('nodebuffer');
221
+ await fs.promises.writeFile(fullPath, content);
222
+ }
223
+ }
224
+ }
225
+ function cleanupTemp(tempDir) {
226
+ if (tempDir) {
227
+ try {
228
+ fs.rmSync(tempDir, { recursive: true, force: true });
229
+ }
230
+ catch {
231
+ // ignore cleanup errors
232
+ }
233
+ }
234
+ }
235
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/operations/cap/validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AA6B1B,MAAM,SAAS,GAAG,sCAAsC,CAAC;AAEzD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc;IAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,QAAyC,CAAC;IAE9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,qBAAqB,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAC,CAAC;IAC3E,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,MAAc,CAAC;IACnB,IAAI,OAA2B,CAAC;IAEhC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC;IAClB,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,yCAAyC;QACzC,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvC,4CAA4C;YAC5C,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtF,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,OAAO,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,WAAW,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,uBAAuB,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAC,CAAC;QAC1E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,4CAA4C,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAC,CAAC;IAClG,CAAC;IAED,IAAI,CAAC;QACH,4BAA4B;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAA4B,CAAC;gBAC1F,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;gBACpE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;oBACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAClD,MAAM,CAAC,IAAI,CAAC,gDAAgD,KAAK,GAAG,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;gBACD,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnF,MAAM,CAAC,IAAI,CAAC,oEAAoE,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;gBACnG,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1E,QAAQ,GAAG,GAAqC,CAAC;gBACnD,CAAC;gBACD,mCAAmC;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,QAAQ,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACvD,MAAM,YAAY,GAAG,GAAG,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC3D,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CAAC,mBAAmB,OAAO,yCAAyC,YAAY,GAAG,CAAC,CAAC;oBACpG,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,CAAC;QAED,2CAA2C;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;QAC/E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAY,CAAC;gBAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAA4B,CAAC;wBACjD,KAAK,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;4BAClE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gCACjB,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAC;4BACvF,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;QACzF,CAAC;QAED,0BAA0B;QAC1B,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACtD,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YAC3D,QAAQ,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,EAAC,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,aAAqB,EAAE,MAAgB;IACjE,6CAA6C;IAC7C,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/C,IAAI,KAAK,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,6CAA6C,GAAG,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,6DAA6D,GAAG,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACtE,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACnD,IAAI,KAAK,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;gBACvD,MAAM,CAAC,IAAI,CACT,8FAA8F,GAAG,EAAE,CACpG,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,GAAW,EAAE,EAA4D;IACxF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAChC,IAAI,OAAoB,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,OAAe;IAC7D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAA2B;IAC9C,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -88,6 +88,7 @@ export interface ExportSitesConfiguration {
88
88
  all?: boolean;
89
89
  cache_settings?: boolean;
90
90
  campaigns_and_promotions?: boolean;
91
+ commerce_feature_states?: boolean;
91
92
  content?: boolean;
92
93
  coupons?: boolean;
93
94
  custom_objects?: boolean;
@@ -14,6 +14,7 @@ import * as path from 'node:path';
14
14
  import JSZip from 'jszip';
15
15
  import { B2CInstance } from '../../instance/index.js';
16
16
  import { getLogger } from '../../logging/logger.js';
17
+ import { addDirectoryToZip } from '../util/zip.js';
17
18
  import { waitForJob, JobExecutionError, getJobLog } from './run.js';
18
19
  const IMPORT_JOB_ID = 'sfcc-site-archive-import';
19
20
  const EXPORT_JOB_ID = 'sfcc-site-archive-export';
@@ -136,8 +137,9 @@ export async function siteArchiveImport(instance, target, options = {}) {
136
137
  params: { path: { job_id: IMPORT_JOB_ID } },
137
138
  body: { file_name: zipFilename },
138
139
  });
139
- if (error || !data) {
140
- // Try with parameters format as fallback
140
+ if (error?.fault?.type === 'UnknownPropertyException' &&
141
+ error.fault.arguments?.document === 'job_execution_request') {
142
+ // Retry with parameters format (internal/support users)
141
143
  logger.warn('Retrying with parameters format for internal users');
142
144
  const { data: retryData, error: retryError } = await instance.ocapi.POST('/jobs/{job_id}/executions', {
143
145
  params: { path: { job_id: IMPORT_JOB_ID } },
@@ -146,10 +148,13 @@ export async function siteArchiveImport(instance, target, options = {}) {
146
148
  },
147
149
  });
148
150
  if (retryError || !retryData) {
149
- throw new Error(retryError?.fault?.message ?? error?.fault?.message ?? 'Failed to execute import job');
151
+ throw new Error(retryError?.fault?.message ?? 'Failed to execute import job');
150
152
  }
151
153
  execution = retryData;
152
154
  }
155
+ else if (error || !data) {
156
+ throw new Error(error?.fault?.message ?? 'Failed to execute import job');
157
+ }
153
158
  else {
154
159
  execution = data;
155
160
  }
@@ -197,23 +202,6 @@ async function createArchiveFromDirectory(dirPath, archiveDirName) {
197
202
  compressionOptions: { level: 9 },
198
203
  });
199
204
  }
200
- /**
201
- * Recursively adds directory contents to a JSZip folder.
202
- */
203
- async function addDirectoryToZip(zipFolder, dirPath) {
204
- const entries = await fs.promises.readdir(dirPath, { withFileTypes: true });
205
- for (const entry of entries) {
206
- const fullPath = path.join(dirPath, entry.name);
207
- if (entry.isDirectory()) {
208
- const subFolder = zipFolder.folder(entry.name);
209
- await addDirectoryToZip(subFolder, fullPath);
210
- }
211
- else if (entry.isFile()) {
212
- const content = await fs.promises.readFile(fullPath);
213
- zipFolder.file(entry.name, content);
214
- }
215
- }
216
- }
217
205
  /**
218
206
  * Wraps the contents of a zip buffer under a new top-level directory.
219
207
  *
@@ -277,7 +265,7 @@ export async function siteArchiveExport(instance, dataUnits, options = {}) {
277
265
  logger.debug({ jobId: EXPORT_JOB_ID, dataUnits }, `Executing ${EXPORT_JOB_ID} job`);
278
266
  let execution;
279
267
  // Execute export job - try export_file format first
280
- try {
268
+ {
281
269
  const { data, error } = await instance.ocapi.POST('/jobs/{job_id}/executions', {
282
270
  params: { path: { job_id: EXPORT_JOB_ID } },
283
271
  body: {
@@ -285,27 +273,30 @@ export async function siteArchiveExport(instance, dataUnits, options = {}) {
285
273
  data_units: dataUnits,
286
274
  },
287
275
  });
288
- if (error || !data) {
289
- throw new Error(error?.fault?.message ?? 'Failed to execute export job');
276
+ if (error?.fault?.type === 'UnknownPropertyException' &&
277
+ error.fault.arguments?.document === 'job_execution_request') {
278
+ // Retry with parameters format (internal/support users)
279
+ logger.warn('Retrying with parameters format for internal users');
280
+ const { data: retryData, error: retryError } = await instance.ocapi.POST('/jobs/{job_id}/executions', {
281
+ params: { path: { job_id: EXPORT_JOB_ID } },
282
+ body: {
283
+ parameters: [
284
+ { name: 'ExportFile', value: zipFilename },
285
+ { name: 'DataUnits', value: JSON.stringify(dataUnits) },
286
+ ],
287
+ },
288
+ });
289
+ if (retryError || !retryData) {
290
+ throw new Error(retryError?.fault?.message ?? 'Failed to execute export job');
291
+ }
292
+ execution = retryData;
290
293
  }
291
- execution = data;
292
- }
293
- catch {
294
- // Try parameters format for internal users
295
- logger.warn('Retrying with parameters format for internal users');
296
- const { data, error } = await instance.ocapi.POST('/jobs/{job_id}/executions', {
297
- params: { path: { job_id: EXPORT_JOB_ID } },
298
- body: {
299
- parameters: [
300
- { name: 'ExportFile', value: zipFilename },
301
- { name: 'DataUnits', value: JSON.stringify(dataUnits) },
302
- ],
303
- },
304
- });
305
- if (error || !data) {
294
+ else if (error || !data) {
306
295
  throw new Error(error?.fault?.message ?? 'Failed to execute export job');
307
296
  }
308
- execution = data;
297
+ else {
298
+ execution = data;
299
+ }
309
300
  }
310
301
  logger.debug({ jobId: EXPORT_JOB_ID, executionId: execution.id }, `Export job started: ${execution.id}`);
311
302
  // Wait for completion
@@ -1 +1 @@
1
- {"version":3,"file":"site-archive.js","sourceRoot":"","sources":["../../../../src/operations/jobs/site-archive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAA4C,MAAM,UAAU,CAAC;AAE7G,MAAM,aAAa,GAAG,0BAA0B,CAAC;AACjD,MAAM,aAAa,GAAG,0BAA0B,CAAC;AA0BjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAqB,EACrB,MAAwE,EACxE,UAA6D,EAAE;IAE/D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;IAE7E,IAAI,WAAmB,CAAC;IACxB,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,cAA0D,CAAC;IAE/D,+BAA+B;IAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAAC;QAC7D,qCAAqC;QACrC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC;QACpC,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,IAAI,WAAW,EAAE,CAAC;YAChB,iEAAiE;YACjE,mDAAmD;YACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YACvF,WAAW,GAAG,GAAG,QAAQ,MAAM,CAAC;YAChC,cAAc,GAAG,MAAM,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,qEAAqE;YACrE,8DAA8D;YAC9D,MAAM,cAAc,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC9C,WAAW,GAAG,GAAG,cAAc,MAAM,CAAC;YACtC,cAAc,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,6CAA6C;QAC7C,MAAM,UAAU,GAAG,MAAgB,CAAC;QAEpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,oBAAoB;YACpB,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxD,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9B,iCAAiC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,WAAW,IAAI,UAAU,SAAS,EAAE,CAAC;YAC5D,WAAW,GAAG,GAAG,cAAc,MAAM,CAAC;YAEtC,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,oCAAoC,UAAU,EAAE,CAAC,CAAC;YACnF,cAAc,GAAG,MAAM,0BAA0B,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAG,sBAAsB,WAAW,EAAE,CAAC;IAEvD,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,wBAAwB,UAAU,EAAE,CAAC,CAAC;QACvE,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,cAAwB,EAAE,iBAAiB,CAAC,CAAC;QACnF,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,qBAAqB,UAAU,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,kDAAkD;IAClD,MAAM,CAAC,KAAK,CACV,EAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAC,EACzC,aAAa,aAAa,wBAAwB,WAAW,EAAE,CAChE,CAAC;IAEF,IAAI,SAAuB,CAAC;IAE5B,qDAAqD;IACrD,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE;QAC3E,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,aAAa,EAAC,EAAC;QACvC,IAAI,EAAE,EAAC,SAAS,EAAE,WAAW,EAAsB;KACpD,CAAC,CAAC;IAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,yCAAyC;QACzC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAElE,MAAM,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAClG,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,aAAa,EAAC,EAAC;YACvC,IAAI,EAAE;gBACJ,UAAU,EAAE,CAAC,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAC,CAAC;aAClC;SACvB,CAAC,CAAC;QAEH,IAAI,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,8BAA8B,CAAC,CAAC;QACzG,CAAC;QAED,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAC,EAAE,uBAAuB,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvG,IAAI,IAAI,EAAE,CAAC;QACT,sBAAsB;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,EAAG,EAAE,WAAW,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;gBACvC,sBAAsB;gBACtB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACvD,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAC,EAAE,aAAa,GAAG,EAAE,CAAC,CAAC;gBACxG,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,aAAa,EAAC,EAAE,4BAA4B,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,WAAW,IAAI,WAAW,EAAE,CAAC;YAChC,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,oBAAoB,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,eAAe,EAAE,WAAW;QAC5B,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;KACvC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,0BAA0B,CAAC,OAAe,EAAE,cAAsB;IAC/E,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAE,CAAC;IAE/C,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE7C,OAAO,GAAG,CAAC,aAAa,CAAC;QACvB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,SAAS;QACtB,kBAAkB,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,SAAgB,EAAE,OAAe;IAChE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;IAE1E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;YAChD,MAAM,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,cAAsB,EACtB,MAAoC;IAEpC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM,CAAC,KAAK,CAAC,EAAC,cAAc,EAAC,EAAE,mCAAmC,cAAc,GAAG,CAAC,CAAC;IAErF,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAE,CAAC;IAElD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,aAAa,CAAC;QAC1B,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,SAAS;QACtB,kBAAkB,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AA6GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAqB,EACrB,SAAgD,EAChD,UAAoC,EAAE;IAEtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAC,GAAG,OAAO,CAAC;IAE9B,4BAA4B;IAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,GAAG,SAAS,SAAS,CAAC;IAC7C,MAAM,WAAW,GAAG,GAAG,cAAc,MAAM,CAAC;IAE5C,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAC,EAAE,aAAa,aAAa,MAAM,CAAC,CAAC;IAElF,IAAI,SAAuB,CAAC;IAE5B,oDAAoD;IACpD,IAAI,CAAC;QACH,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAC3E,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,aAAa,EAAC,EAAC;YACvC,IAAI,EAAE;gBACJ,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,SAAS;aACD;SACvB,CAAC,CAAC;QAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,8BAA8B,CAAC,CAAC;QAC3E,CAAC;QAED,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;QAC3C,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAElE,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAC3E,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,aAAa,EAAC,EAAC;YACvC,IAAI,EAAE;gBACJ,UAAU,EAAE;oBACV,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAC;oBACxC,EAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAC;iBACtD;aACmB;SACvB,CAAC,CAAC;QAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,8BAA8B,CAAC,CAAC;QAC3E,CAAC;QAED,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAC,EAAE,uBAAuB,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvG,sBAAsB;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,EAAG,EAAE,WAAW,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,sBAAsB;YACtB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACvD,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAC,EAAE,aAAa,GAAG,EAAE,CAAC,CAAC;YACxG,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,aAAa,EAAC,EAAE,4BAA4B,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO;QACL,SAAS;QACT,eAAe,EAAE,WAAW;KAC7B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAqB,EACrB,SAAgD,EAChD,UAA8D,EAAE;IAEhE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,GAAG,KAAK,EAAE,GAAG,aAAa,EAAC,GAAG,OAAO,CAAC;IAExD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAE3E,4CAA4C;IAC5C,MAAM,UAAU,GAAG,sBAAsB,MAAM,CAAC,eAAe,EAAE,CAAC;IAClE,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,wBAAwB,UAAU,EAAE,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAEhE,wCAAwC;IACxC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,oBAAoB,UAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO;QACL,GAAG,MAAM;QACT,IAAI;QACJ,WAAW,EAAE,WAAW;KACzB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAqB,EACrB,SAAgD,EAChD,UAAkB,EAClB,UAAoF,EAAE;IAEtF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,UAAU,GAAG,IAAI,EAAE,GAAG,eAAe,EAAC,GAAG,OAAO,CAAC;IAExD,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAErF,4BAA4B;IAC5B,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,mBAAmB;QACnB,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAEvF,0BAA0B;QAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAElD,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,EAAE,qBAAqB,OAAO,EAAE,CAAC,CAAC;QAE9D,OAAO;YACL,GAAG,MAAM;YACT,SAAS,EAAE,OAAO;SACnB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE/C,KAAK,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAErD,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;gBACnE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACnD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,yBAAyB,UAAU,EAAE,CAAC,CAAC;QAExE,OAAO;YACL,GAAG,MAAM;YACT,SAAS,EAAE,UAAU;SACtB,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"site-archive.js","sourceRoot":"","sources":["../../../../src/operations/jobs/site-archive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import JSZip from 'jszip';
2
+ /**
3
+ * Recursively adds directory contents to a JSZip folder.
4
+ */
5
+ export declare function addDirectoryToZip(zipFolder: JSZip, dirPath: string): Promise<void>;
@@ -0,0 +1,26 @@
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 * as fs from 'node:fs';
7
+ import * as path from 'node:path';
8
+ import JSZip from 'jszip';
9
+ /**
10
+ * Recursively adds directory contents to a JSZip folder.
11
+ */
12
+ export async function addDirectoryToZip(zipFolder, dirPath) {
13
+ const entries = await fs.promises.readdir(dirPath, { withFileTypes: true });
14
+ for (const entry of entries) {
15
+ const fullPath = path.join(dirPath, entry.name);
16
+ if (entry.isDirectory()) {
17
+ const subFolder = zipFolder.folder(entry.name);
18
+ await addDirectoryToZip(subFolder, fullPath);
19
+ }
20
+ else if (entry.isFile()) {
21
+ const content = await fs.promises.readFile(fullPath);
22
+ zipFolder.file(entry.name, content);
23
+ }
24
+ }
25
+ }
26
+ //# sourceMappingURL=zip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../../src/operations/util/zip.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAgB,EAAE,OAAe;IACvE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;YAChD,MAAM,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -37,7 +37,12 @@ const dynamicImport = new Function('specifier', 'return import(specifier)');
37
37
  */
38
38
  export async function invokeHook(hookFilePath, context, hookOptions, logger) {
39
39
  try {
40
- const mod = await dynamicImport(hookFilePath);
40
+ // On Windows, Node's dynamic import() rejects raw filesystem paths (backslashes,
41
+ // drive letters) and requires a file:// URL. pathToFileURL handles both POSIX
42
+ // and Windows correctly, so normalize before importing.
43
+ const { pathToFileURL } = await import('node:url');
44
+ const importSpecifier = pathToFileURL(hookFilePath).href;
45
+ const mod = await dynamicImport(importSpecifier);
41
46
  const hookFn = (mod.default ?? mod);
42
47
  if (typeof hookFn !== 'function') {
43
48
  logger?.warn(`Hook file ${hookFilePath} does not export a function`);
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/plugins/loader.ts"],"names":[],"mappings":"AA4BA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE;IAChE,MAAM,EAAC,MAAM,EAAC,GAAG,OAAO,CAAC;IAEzB,OAAO;QACL,KAAK,CAAC,GAAG,IAAe;YACtB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,GAAG,CAAC,GAAG,IAAe;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,GAAG,IAAe;YACrB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,GAAG,IAAe;YACtB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;KAC7B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AAEH,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAErC,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,YAAoB,EACpB,OAAoB,EACpB,WAAoC,EACpC,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAA6C,CAAC;QAEhF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,aAAa,YAAY,6BAA6B,CAAC,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,EAAE,IAAI,CAAC,yBAAyB,YAAY,KAAK,OAAO,EAAE,CAAC,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/plugins/loader.ts"],"names":[],"mappings":"AA4BA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE;IAChE,MAAM,EAAC,MAAM,EAAC,GAAG,OAAO,CAAC;IAEzB,OAAO;QACL,KAAK,CAAC,GAAG,IAAe;YACtB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,GAAG,CAAC,GAAG,IAAe;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,GAAG,IAAe;YACrB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,GAAG,IAAe;YACtB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;KAC7B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AAEH,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAErC,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,YAAoB,EACpB,OAAoB,EACpB,WAAoC,EACpC,MAAe;IAEf,IAAI,CAAC;QACH,iFAAiF;QACjF,8EAA8E;QAC9E,wDAAwD;QACxD,MAAM,EAAC,aAAa,EAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAA6C,CAAC;QAEhF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,aAAa,YAAY,6BAA6B,CAAC,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,EAAE,IAAI,CAAC,yBAAyB,YAAY,KAAK,OAAO,EAAE,CAAC,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -2,46 +2,30 @@ import type { CachedArtifact, DownloadSkillsOptions, ReleaseInfo, SkillSet } fro
2
2
  /**
3
3
  * Get the cache directory for skills.
4
4
  * Uses XDG_CACHE_HOME on Linux, ~/.cache otherwise.
5
- *
6
- * @returns Absolute path to cache directory
7
5
  */
8
6
  export declare function getCacheDir(): string;
9
7
  /**
10
8
  * Fetch release information from GitHub API.
11
- *
12
- * @param version - 'latest' or specific version (e.g., 'v0.1.0')
13
- * @returns Release information
14
- * @throws Error if release not found or API request fails
15
9
  */
16
10
  export declare function getRelease(version?: string): Promise<ReleaseInfo>;
17
11
  /**
18
12
  * List available releases with skills artifacts.
19
- *
20
- * @param limit - Maximum number of releases to return (default: 10)
21
- * @returns Array of release information
22
13
  */
23
14
  export declare function listReleases(limit?: number): Promise<ReleaseInfo[]>;
24
15
  /**
25
16
  * Get cached artifact metadata if available.
26
- *
27
- * @param version - Release version
28
- * @param skillSet - Skill set to check
29
- * @returns Cached artifact info or null if not cached
30
17
  */
31
18
  export declare function getCachedArtifact(version: string, skillSet: SkillSet): CachedArtifact | null;
32
19
  /**
33
20
  * Download and extract skills artifact.
34
- * Uses direct download URLs to avoid GitHub API rate limits.
21
+ * Dispatches to the appropriate download strategy based on the skill source type.
35
22
  *
36
- * @param skillSet - Which skill set to download ('b2c' or 'b2c-cli')
23
+ * @param skillSet - Which skill set to download
37
24
  * @param options - Download options
38
25
  * @returns Path to extracted skills directory
39
- * @throws Error if download fails or artifact not available
40
26
  */
41
27
  export declare function downloadSkillsArtifact(skillSet: SkillSet, options?: DownloadSkillsOptions): Promise<string>;
42
28
  /**
43
29
  * Clear the skills cache.
44
- *
45
- * @param version - Optional specific version to clear (default: all)
46
30
  */
47
31
  export declare function clearCache(version?: string): Promise<void>;