@salesforce/b2c-tooling-sdk 1.11.1 → 1.12.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 (158) hide show
  1. package/README.md +1 -4
  2. package/dist/esm/auth/api-key.d.ts +6 -0
  3. package/dist/esm/auth/api-key.js +9 -2
  4. package/dist/esm/auth/api-key.js.map +1 -1
  5. package/dist/esm/auth/basic.d.ts +20 -0
  6. package/dist/esm/auth/basic.js +23 -3
  7. package/dist/esm/auth/basic.js.map +1 -1
  8. package/dist/esm/auth/dispatch-fetch.d.ts +28 -0
  9. package/dist/esm/auth/dispatch-fetch.js +37 -0
  10. package/dist/esm/auth/dispatch-fetch.js.map +1 -0
  11. package/dist/esm/auth/oauth-implicit.d.ts +5 -0
  12. package/dist/esm/auth/oauth-implicit.js +9 -3
  13. package/dist/esm/auth/oauth-implicit.js.map +1 -1
  14. package/dist/esm/auth/oauth-jwt.d.ts +11 -0
  15. package/dist/esm/auth/oauth-jwt.js +15 -3
  16. package/dist/esm/auth/oauth-jwt.js.map +1 -1
  17. package/dist/esm/auth/oauth.d.ts +38 -0
  18. package/dist/esm/auth/oauth.js +42 -4
  19. package/dist/esm/auth/oauth.js.map +1 -1
  20. package/dist/esm/auth/resolve.d.ts +7 -1
  21. package/dist/esm/auth/resolve.js.map +1 -1
  22. package/dist/esm/auth/stateful-oauth-strategy.d.ts +8 -0
  23. package/dist/esm/auth/stateful-oauth-strategy.js +8 -0
  24. package/dist/esm/auth/stateful-oauth-strategy.js.map +1 -1
  25. package/dist/esm/cli/base-command.d.ts +2 -0
  26. package/dist/esm/cli/base-command.js +2 -0
  27. package/dist/esm/cli/base-command.js.map +1 -1
  28. package/dist/esm/cli/index.d.ts +1 -1
  29. package/dist/esm/cli/index.js.map +1 -1
  30. package/dist/esm/cli/job-command.d.ts +1 -1
  31. package/dist/esm/cli/job-command.js +1 -1
  32. package/dist/esm/cli/mrt-command.d.ts +1 -0
  33. package/dist/esm/cli/mrt-command.js +3 -0
  34. package/dist/esm/cli/mrt-command.js.map +1 -1
  35. package/dist/esm/cli/oauth-command.d.ts +1 -0
  36. package/dist/esm/cli/oauth-command.js +1 -0
  37. package/dist/esm/cli/oauth-command.js.map +1 -1
  38. package/dist/esm/clients/am-api.d.ts +19 -1
  39. package/dist/esm/clients/am-api.js +19 -1
  40. package/dist/esm/clients/am-api.js.map +1 -1
  41. package/dist/esm/clients/cip.js +9 -0
  42. package/dist/esm/clients/cip.js.map +1 -1
  43. package/dist/esm/clients/granular-replications.d.ts +17 -0
  44. package/dist/esm/clients/granular-replications.js +9 -0
  45. package/dist/esm/clients/granular-replications.js.map +1 -1
  46. package/dist/esm/config/dw-json.d.ts +2 -2
  47. package/dist/esm/config/dw-json.js +2 -2
  48. package/dist/esm/config/mapping.d.ts +20 -0
  49. package/dist/esm/config/mapping.js +15 -15
  50. package/dist/esm/config/mapping.js.map +1 -1
  51. package/dist/esm/config/sources/dw-json-source.d.ts +10 -0
  52. package/dist/esm/config/sources/dw-json-source.js +10 -0
  53. package/dist/esm/config/sources/dw-json-source.js.map +1 -1
  54. package/dist/esm/config/types.d.ts +27 -26
  55. package/dist/esm/discovery/detector.d.ts +1 -1
  56. package/dist/esm/discovery/detector.js +1 -1
  57. package/dist/esm/discovery/patterns/sfra.d.ts +1 -1
  58. package/dist/esm/discovery/patterns/sfra.js +1 -1
  59. package/dist/esm/docs/schema.d.ts +25 -0
  60. package/dist/esm/docs/schema.js +25 -0
  61. package/dist/esm/docs/schema.js.map +1 -1
  62. package/dist/esm/i18n/index.d.ts +16 -0
  63. package/dist/esm/i18n/index.js +5 -0
  64. package/dist/esm/i18n/index.js.map +1 -1
  65. package/dist/esm/instance/index.d.ts +6 -2
  66. package/dist/esm/instance/index.js +5 -1
  67. package/dist/esm/instance/index.js.map +1 -1
  68. package/dist/esm/logging/logger.d.ts +59 -0
  69. package/dist/esm/logging/logger.js +59 -0
  70. package/dist/esm/logging/logger.js.map +1 -1
  71. package/dist/esm/logging/types.d.ts +32 -0
  72. package/dist/esm/operations/cap/install.d.ts +14 -0
  73. package/dist/esm/operations/cap/install.js +14 -0
  74. package/dist/esm/operations/cap/install.js.map +1 -1
  75. package/dist/esm/operations/cap/pull.d.ts +49 -0
  76. package/dist/esm/operations/cap/pull.js +24 -0
  77. package/dist/esm/operations/cap/pull.js.map +1 -1
  78. package/dist/esm/operations/cap/validate.js +0 -8
  79. package/dist/esm/operations/cap/validate.js.map +1 -1
  80. package/dist/esm/operations/cip/index.d.ts +24 -0
  81. package/dist/esm/operations/cip/index.js +24 -0
  82. package/dist/esm/operations/cip/index.js.map +1 -1
  83. package/dist/esm/operations/code/download.d.ts +1 -0
  84. package/dist/esm/operations/code/download.js +1 -0
  85. package/dist/esm/operations/code/download.js.map +1 -1
  86. package/dist/esm/operations/code/upload-files.d.ts +1 -0
  87. package/dist/esm/operations/code/upload-files.js +1 -0
  88. package/dist/esm/operations/code/upload-files.js.map +1 -1
  89. package/dist/esm/operations/code/versions.d.ts +3 -0
  90. package/dist/esm/operations/code/versions.js +3 -0
  91. package/dist/esm/operations/code/versions.js.map +1 -1
  92. package/dist/esm/operations/content/validate.d.ts +12 -0
  93. package/dist/esm/operations/content/validate.js +12 -0
  94. package/dist/esm/operations/content/validate.js.map +1 -1
  95. package/dist/esm/operations/debug/sdapi-client.d.ts +25 -0
  96. package/dist/esm/operations/debug/sdapi-client.js +25 -0
  97. package/dist/esm/operations/debug/sdapi-client.js.map +1 -1
  98. package/dist/esm/operations/jobs/index.d.ts +3 -2
  99. package/dist/esm/operations/jobs/index.js +2 -1
  100. package/dist/esm/operations/jobs/index.js.map +1 -1
  101. package/dist/esm/operations/jobs/run.d.ts +9 -0
  102. package/dist/esm/operations/jobs/run.js +9 -0
  103. package/dist/esm/operations/jobs/run.js.map +1 -1
  104. package/dist/esm/operations/jobs/site-archive.d.ts +100 -0
  105. package/dist/esm/operations/jobs/site-archive.js +305 -1
  106. package/dist/esm/operations/jobs/site-archive.js.map +1 -1
  107. package/dist/esm/operations/logs/filter.d.ts +40 -0
  108. package/dist/esm/operations/logs/filter.js +107 -0
  109. package/dist/esm/operations/logs/filter.js.map +1 -0
  110. package/dist/esm/operations/logs/index.d.ts +1 -0
  111. package/dist/esm/operations/logs/index.js +2 -0
  112. package/dist/esm/operations/logs/index.js.map +1 -1
  113. package/dist/esm/operations/logs/tail.d.ts +5 -1
  114. package/dist/esm/operations/logs/tail.js +5 -1
  115. package/dist/esm/operations/logs/tail.js.map +1 -1
  116. package/dist/esm/operations/mrt/bundle.d.ts +15 -25
  117. package/dist/esm/operations/mrt/bundle.js +27 -4
  118. package/dist/esm/operations/mrt/bundle.js.map +1 -1
  119. package/dist/esm/operations/mrt/certificate.d.ts +88 -0
  120. package/dist/esm/operations/mrt/certificate.js +88 -0
  121. package/dist/esm/operations/mrt/certificate.js.map +1 -1
  122. package/dist/esm/operations/mrt/index.d.ts +2 -2
  123. package/dist/esm/operations/mrt/index.js +1 -1
  124. package/dist/esm/operations/mrt/index.js.map +1 -1
  125. package/dist/esm/operations/mrt/organization-member.d.ts +89 -0
  126. package/dist/esm/operations/mrt/organization-member.js +89 -0
  127. package/dist/esm/operations/mrt/organization-member.js.map +1 -1
  128. package/dist/esm/operations/ods/wait-for-clone.d.ts +50 -2
  129. package/dist/esm/operations/ods/wait-for-clone.js +37 -2
  130. package/dist/esm/operations/ods/wait-for-clone.js.map +1 -1
  131. package/dist/esm/operations/ods/wait-for-sandbox.d.ts +50 -0
  132. package/dist/esm/operations/ods/wait-for-sandbox.js +21 -0
  133. package/dist/esm/operations/ods/wait-for-sandbox.js.map +1 -1
  134. package/dist/esm/operations/orgs/index.d.ts +12 -5
  135. package/dist/esm/operations/orgs/index.js +5 -5
  136. package/dist/esm/operations/orgs/index.js.map +1 -1
  137. package/dist/esm/plugins/discovery.d.ts +6 -0
  138. package/dist/esm/plugins/discovery.js.map +1 -1
  139. package/dist/esm/scaffold/engine.d.ts +11 -3
  140. package/dist/esm/scaffold/engine.js +11 -3
  141. package/dist/esm/scaffold/engine.js.map +1 -1
  142. package/dist/esm/scaffold/registry.d.ts +8 -2
  143. package/dist/esm/scaffold/registry.js +8 -2
  144. package/dist/esm/scaffold/registry.js.map +1 -1
  145. package/dist/esm/scaffold/sources.d.ts +2 -1
  146. package/dist/esm/scaffold/sources.js +2 -1
  147. package/dist/esm/scaffold/sources.js.map +1 -1
  148. package/dist/esm/scaffold/types.d.ts +2 -2
  149. package/dist/esm/schemas/index.d.ts +4 -0
  150. package/dist/esm/schemas/index.js +4 -0
  151. package/dist/esm/schemas/index.js.map +1 -1
  152. package/dist/esm/skills/github.d.ts +9 -0
  153. package/dist/esm/skills/github.js +9 -0
  154. package/dist/esm/skills/github.js.map +1 -1
  155. package/dist/esm/skills/sources.d.ts +17 -0
  156. package/dist/esm/skills/sources.js +17 -0
  157. package/dist/esm/skills/sources.js.map +1 -1
  158. package/package.json +3 -3
@@ -22,6 +22,23 @@ export interface SiteArchiveImportOptions {
22
22
  * Ignored when target is a zip file, Buffer, or remote filename.
23
23
  */
24
24
  paths?: string[];
25
+ /**
26
+ * Optional soft size ceiling (in bytes) for the assembled archive. When set
27
+ * along with {@link SiteArchiveImportOptions.onOversize} and the archive
28
+ * exceeds it, the callback is invoked before upload — the import still
29
+ * proceeds. The SDK itself does not warn or block; the consumer decides how
30
+ * to react. Use {@link siteArchiveImportSplit} to split oversized imports.
31
+ */
32
+ maxBytes?: number;
33
+ /**
34
+ * Called before upload when the assembled archive exceeds `maxBytes`. Lets
35
+ * the consumer (e.g. the CLI) surface its own guidance. Receives the archive
36
+ * size and the configured ceiling.
37
+ */
38
+ onOversize?: (info: {
39
+ bytes: number;
40
+ maxBytes: number;
41
+ }) => void;
25
42
  }
26
43
  /**
27
44
  * Result of a site archive import.
@@ -91,6 +108,89 @@ export declare function siteArchiveImport(instance: B2CInstance, target: string
91
108
  }, options?: SiteArchiveImportOptions & {
92
109
  archiveName?: string;
93
110
  }): Promise<SiteArchiveImportResult>;
111
+ /**
112
+ * Options for {@link siteArchiveImportSplit}.
113
+ */
114
+ export interface SiteArchiveImportSplitOptions {
115
+ /**
116
+ * Maximum size in bytes for each archive part (default: 190 MiB). Parts are
117
+ * packed by estimated compressed size to stay under this ceiling; the
118
+ * instance import limit is the constraint this works around.
119
+ */
120
+ maxBytes?: number;
121
+ /** Keep archive parts on the instance after import (default: false). */
122
+ keepArchive?: boolean;
123
+ /** Wait options applied to each part's import job. */
124
+ waitOptions?: WaitForJobOptions;
125
+ /** Base archive name; parts are suffixed (e.g. `<name>-core`, `<name>-assets-1`). */
126
+ archiveName?: string;
127
+ /** Called when the overall plan is known, before any upload. */
128
+ onPlan?: (plan: SplitImportPlanInfo) => void;
129
+ /** Called before each part begins uploading. */
130
+ onPart?: (info: SplitImportPartInfo) => void;
131
+ }
132
+ /**
133
+ * Summary of the computed split plan, surfaced via {@link SiteArchiveImportSplitOptions.onPlan}.
134
+ */
135
+ export interface SplitImportPlanInfo {
136
+ /** Total number of archive parts that will be imported. */
137
+ partCount: number;
138
+ /** Number of parts containing order-sensitive XML/metadata. */
139
+ xmlPartCount: number;
140
+ /** Number of parts containing deferred static assets. */
141
+ assetPartCount: number;
142
+ /** Per-archive byte ceiling used for packing. */
143
+ maxBytes: number;
144
+ }
145
+ /**
146
+ * Per-part progress info, surfaced via {@link SiteArchiveImportSplitOptions.onPart}.
147
+ */
148
+ export interface SplitImportPartInfo {
149
+ /** 1-based index of this part. */
150
+ index: number;
151
+ /** Total number of parts. */
152
+ total: number;
153
+ /** Tier of this part. */
154
+ kind: 'xml' | 'assets';
155
+ /** Archive filename for this part. */
156
+ filename: string;
157
+ /** Number of files in this part. */
158
+ fileCount: number;
159
+ /** Assembled archive size in bytes. */
160
+ bytes: number;
161
+ }
162
+ /**
163
+ * Imports a large site archive by splitting it into multiple archive parts that
164
+ * each stay under a size ceiling, then importing them sequentially.
165
+ *
166
+ * This works around the instance-side limit on a single import archive. The
167
+ * strategy:
168
+ * 1. **Order-sensitive XML/metadata** is imported first, kept together in one
169
+ * archive when it fits (preferred). If it must be split, it splits at
170
+ * top-level data-unit boundaries in dependency order, never splitting a
171
+ * single unit — so catalogs (and their internal references) ride together.
172
+ * 2. **Static assets** (catalog/library static resources) are deferred to
173
+ * subsequent archive parts, bin-packed by compressed size. They are
174
+ * order-independent and attach to the units created by the XML import.
175
+ *
176
+ * Parts are imported sequentially and the operation stops on the first failure.
177
+ *
178
+ * @param instance - B2C instance to import to
179
+ * @param dir - Local directory to import (must be a directory)
180
+ * @param options - Split import options
181
+ * @returns One import result per archive part, in import order
182
+ * @throws Error if a single file or data unit cannot fit under `maxBytes`
183
+ * @throws JobExecutionError if any part's import job fails
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * const results = await siteArchiveImportSplit(instance, './big-site-data', {
188
+ * maxBytes: 190 * 1024 * 1024,
189
+ * onPart: (p) => console.log(`Part ${p.index}/${p.total}: ${p.kind} (${p.fileCount} files)`),
190
+ * });
191
+ * ```
192
+ */
193
+ export declare function siteArchiveImportSplit(instance: B2CInstance, dir: string, options?: SiteArchiveImportSplitOptions): Promise<SiteArchiveImportResult[]>;
94
194
  /**
95
195
  * Configuration for sites in export.
96
196
  */
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import * as fs from 'node:fs';
13
13
  import * as path from 'node:path';
14
+ import * as zlib from 'node:zlib';
14
15
  import { glob, hasMagic } from 'glob';
15
16
  import JSZip from 'jszip';
16
17
  import { B2CInstance } from '../../instance/index.js';
@@ -72,7 +73,7 @@ const EXPORT_JOB_ID = 'sfcc-site-archive-export';
72
73
  */
73
74
  export async function siteArchiveImport(instance, target, options = {}) {
74
75
  const logger = getLogger();
75
- const { keepArchive = false, wait = true, waitOptions, archiveName, paths } = options;
76
+ const { keepArchive = false, wait = true, waitOptions, archiveName, paths, maxBytes, onOversize } = options;
76
77
  let zipFilename;
77
78
  let needsUpload = true;
78
79
  let archiveContent;
@@ -140,6 +141,13 @@ export async function siteArchiveImport(instance, target, options = {}) {
140
141
  }
141
142
  // Upload archive if needed
142
143
  const uploadPath = `Impex/src/instance/${zipFilename}`;
144
+ // Bubble (do not block, do not warn) when the assembled archive exceeds the
145
+ // configured ceiling so the caller can advise the user. The SDK has no
146
+ // opinion on how to react — that's the consumer's call. Buffers have a known
147
+ // length; streams are not measured here.
148
+ if (maxBytes && onOversize && Buffer.isBuffer(archiveContent) && archiveContent.length > maxBytes) {
149
+ onOversize({ bytes: archiveContent.length, maxBytes });
150
+ }
143
151
  if (needsUpload && archiveContent) {
144
152
  logger.debug({ path: uploadPath }, `Uploading archive to ${uploadPath}`);
145
153
  await instance.webdav.put(uploadPath, archiveContent, 'application/zip');
@@ -330,6 +338,302 @@ async function wrapArchiveContents(buffer, archiveDirName, logger) {
330
338
  compressionOptions: { level: 9 },
331
339
  });
332
340
  }
341
+ /** Known-incompressible file extensions — packed/estimated as stored (size ≈ on-disk). */
342
+ const INCOMPRESSIBLE_EXTENSIONS = new Set([
343
+ '.jpg',
344
+ '.jpeg',
345
+ '.png',
346
+ '.gif',
347
+ '.webp',
348
+ '.avif',
349
+ '.ico',
350
+ '.bmp',
351
+ '.tif',
352
+ '.tiff',
353
+ '.zip',
354
+ '.gz',
355
+ '.tgz',
356
+ '.bz2',
357
+ '.xz',
358
+ '.7z',
359
+ '.rar',
360
+ '.mp4',
361
+ '.m4v',
362
+ '.mov',
363
+ '.avi',
364
+ '.webm',
365
+ '.mkv',
366
+ '.mp3',
367
+ '.m4a',
368
+ '.aac',
369
+ '.ogg',
370
+ '.wav',
371
+ '.flac',
372
+ '.pdf',
373
+ '.woff',
374
+ '.woff2',
375
+ '.jar',
376
+ '.swf',
377
+ ]);
378
+ /** Per-entry zip overhead estimate (local + central headers + descriptor), plus 2× name. */
379
+ const ZIP_ENTRY_OVERHEAD = 100;
380
+ /**
381
+ * Dependency-ordered priority of top-level data-unit directories. Lower runs
382
+ * first when XML must be split across multiple archive parts. Unlisted
383
+ * directories sort after these (still before nothing — appended last).
384
+ */
385
+ const UNIT_PRIORITY = {
386
+ meta: 0,
387
+ catalogs: 1,
388
+ pricebooks: 2,
389
+ 'price-books': 2,
390
+ 'inventory-lists': 3,
391
+ inventory: 3,
392
+ libraries: 4,
393
+ sites: 5,
394
+ };
395
+ /** Human-readable byte size (MiB/KiB/B). */
396
+ function formatBytes(bytes) {
397
+ if (bytes >= 1024 * 1024) {
398
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MiB`;
399
+ }
400
+ if (bytes >= 1024) {
401
+ return `${(bytes / 1024).toFixed(1)} KiB`;
402
+ }
403
+ return `${bytes} B`;
404
+ }
405
+ /**
406
+ * Estimates the in-archive size of a file: its on-disk size for known
407
+ * incompressible types (stored), or the exact DEFLATE size otherwise. A small
408
+ * per-entry overhead is added to account for zip headers.
409
+ */
410
+ async function estimateCompressedSize(abs, rel, size) {
411
+ const ext = path.extname(abs).toLowerCase();
412
+ const overhead = ZIP_ENTRY_OVERHEAD + Buffer.byteLength(rel) * 2;
413
+ if (INCOMPRESSIBLE_EXTENSIONS.has(ext)) {
414
+ return size + overhead;
415
+ }
416
+ const content = await fs.promises.readFile(abs);
417
+ const deflated = zlib.deflateRawSync(content, { level: 9 });
418
+ return deflated.length + overhead;
419
+ }
420
+ /**
421
+ * Walks the import root and classifies every file into the XML (order-sensitive)
422
+ * or asset (deferrable static resource) tier, estimating each file's packed
423
+ * size. A file is treated as a static asset when its path contains a `static/`
424
+ * segment (the canonical location for catalog/library static resources).
425
+ */
426
+ async function classifyFiles(rootDir) {
427
+ const rootAbs = path.resolve(rootDir);
428
+ const xml = [];
429
+ const assets = [];
430
+ async function walk(dir) {
431
+ const entries = await fs.promises.readdir(dir, { withFileTypes: true });
432
+ for (const entry of entries) {
433
+ const full = path.join(dir, entry.name);
434
+ if (entry.isDirectory()) {
435
+ await walk(full);
436
+ }
437
+ else if (entry.isFile()) {
438
+ const stat = await fs.promises.stat(full);
439
+ const rel = path.relative(rootAbs, full).split(path.sep).join('/');
440
+ const packedSize = await estimateCompressedSize(full, rel, stat.size);
441
+ const fileEntry = { abs: full, rel, size: stat.size, packedSize };
442
+ const segments = rel.split('/');
443
+ const isStatic = segments.includes('static');
444
+ if (isStatic) {
445
+ assets.push(fileEntry);
446
+ }
447
+ else {
448
+ xml.push(fileEntry);
449
+ }
450
+ }
451
+ }
452
+ }
453
+ await walk(rootAbs);
454
+ return { xml, assets };
455
+ }
456
+ /**
457
+ * Bin-packs files into groups whose total packed size stays under `budget`,
458
+ * using first-fit-decreasing. Throws if any single file exceeds the budget on
459
+ * its own (it cannot be placed in any archive and the file itself is not split).
460
+ */
461
+ function packBySize(entries, budget) {
462
+ const sorted = [...entries].sort((a, b) => b.packedSize - a.packedSize);
463
+ const bins = [];
464
+ for (const entry of sorted) {
465
+ if (entry.packedSize > budget) {
466
+ throw new Error(`File too large to fit in a single archive part: ${entry.rel} ` +
467
+ `(${formatBytes(entry.packedSize)} compressed exceeds ${formatBytes(budget)} budget). ` +
468
+ `A single file cannot be split across archives.`);
469
+ }
470
+ const bin = bins.find((b) => b.used + entry.packedSize <= budget);
471
+ if (bin) {
472
+ bin.entries.push(entry);
473
+ bin.used += entry.packedSize;
474
+ }
475
+ else {
476
+ bins.push({ entries: [entry], used: entry.packedSize });
477
+ }
478
+ }
479
+ return bins.map((b) => b.entries);
480
+ }
481
+ /**
482
+ * Packs order-sensitive XML files into archive parts. When everything fits
483
+ * under `budget`, returns a single part (the preferred outcome — all XML
484
+ * together avoids cross-archive ordering concerns). Otherwise splits at
485
+ * top-level data-unit directory boundaries (e.g. `catalogs`, `libraries`,
486
+ * `sites`) in dependency order, keeping each unit's files together so internal
487
+ * references (e.g. between catalogs) stay in one archive.
488
+ *
489
+ * @throws if a single top-level unit's XML alone exceeds the budget.
490
+ */
491
+ function packXml(entries, budget) {
492
+ const total = entries.reduce((sum, e) => sum + e.packedSize, 0);
493
+ if (total <= budget) {
494
+ return [entries];
495
+ }
496
+ // Group by top-level directory (the data-unit boundary).
497
+ const groups = new Map();
498
+ for (const entry of entries) {
499
+ const top = entry.rel.split('/')[0];
500
+ const group = groups.get(top);
501
+ if (group) {
502
+ group.push(entry);
503
+ }
504
+ else {
505
+ groups.set(top, [entry]);
506
+ }
507
+ }
508
+ // Order groups by dependency priority, unlisted units last (alphabetical).
509
+ const orderedKeys = [...groups.keys()].sort((a, b) => {
510
+ const pa = UNIT_PRIORITY[a] ?? Number.MAX_SAFE_INTEGER;
511
+ const pb = UNIT_PRIORITY[b] ?? Number.MAX_SAFE_INTEGER;
512
+ return pa !== pb ? pa - pb : a.localeCompare(b);
513
+ });
514
+ const parts = [];
515
+ let current = [];
516
+ let currentSize = 0;
517
+ for (const key of orderedKeys) {
518
+ const group = groups.get(key);
519
+ const groupSize = group.reduce((sum, e) => sum + e.packedSize, 0);
520
+ if (groupSize > budget) {
521
+ throw new Error(`Data unit "${key}" is too large to fit in a single archive part ` +
522
+ `(${formatBytes(groupSize)} compressed exceeds ${formatBytes(budget)} budget). ` +
523
+ `Its XML cannot be split without risking broken internal references; ` +
524
+ `reduce the export scope for this unit or raise --max-size.`);
525
+ }
526
+ if (currentSize + groupSize > budget && current.length > 0) {
527
+ parts.push(current);
528
+ current = [];
529
+ currentSize = 0;
530
+ }
531
+ current.push(...group);
532
+ currentSize += groupSize;
533
+ }
534
+ if (current.length > 0) {
535
+ parts.push(current);
536
+ }
537
+ return parts;
538
+ }
539
+ /**
540
+ * Imports a large site archive by splitting it into multiple archive parts that
541
+ * each stay under a size ceiling, then importing them sequentially.
542
+ *
543
+ * This works around the instance-side limit on a single import archive. The
544
+ * strategy:
545
+ * 1. **Order-sensitive XML/metadata** is imported first, kept together in one
546
+ * archive when it fits (preferred). If it must be split, it splits at
547
+ * top-level data-unit boundaries in dependency order, never splitting a
548
+ * single unit — so catalogs (and their internal references) ride together.
549
+ * 2. **Static assets** (catalog/library static resources) are deferred to
550
+ * subsequent archive parts, bin-packed by compressed size. They are
551
+ * order-independent and attach to the units created by the XML import.
552
+ *
553
+ * Parts are imported sequentially and the operation stops on the first failure.
554
+ *
555
+ * @param instance - B2C instance to import to
556
+ * @param dir - Local directory to import (must be a directory)
557
+ * @param options - Split import options
558
+ * @returns One import result per archive part, in import order
559
+ * @throws Error if a single file or data unit cannot fit under `maxBytes`
560
+ * @throws JobExecutionError if any part's import job fails
561
+ *
562
+ * @example
563
+ * ```typescript
564
+ * const results = await siteArchiveImportSplit(instance, './big-site-data', {
565
+ * maxBytes: 190 * 1024 * 1024,
566
+ * onPart: (p) => console.log(`Part ${p.index}/${p.total}: ${p.kind} (${p.fileCount} files)`),
567
+ * });
568
+ * ```
569
+ */
570
+ export async function siteArchiveImportSplit(instance, dir, options = {}) {
571
+ const logger = getLogger();
572
+ const { maxBytes = 190 * 1024 * 1024, keepArchive = false, waitOptions, archiveName, onPlan, onPart } = options;
573
+ if (!fs.existsSync(dir)) {
574
+ throw new Error(`Target not found: ${dir}`);
575
+ }
576
+ const stat = await fs.promises.stat(dir);
577
+ if (!stat.isDirectory()) {
578
+ throw new Error('siteArchiveImportSplit requires a directory target');
579
+ }
580
+ // Pack with a safety margin below the ceiling; the post-build assertion is
581
+ // the real guard against estimation drift.
582
+ const budget = Math.floor(maxBytes * 0.95);
583
+ logger.debug({ dir, maxBytes, budget }, `Classifying files under ${dir} for split import`);
584
+ const { xml, assets } = await classifyFiles(dir);
585
+ const xmlParts = xml.length > 0 ? packXml(xml, budget) : [];
586
+ const assetParts = assets.length > 0 ? packBySize(assets, budget) : [];
587
+ const baseName = archiveName ?? `import-${Date.now()}`;
588
+ const planned = [];
589
+ xmlParts.forEach((entries, i) => {
590
+ const suffix = xmlParts.length > 1 ? `-xml-${i + 1}` : '-xml';
591
+ planned.push({ kind: 'xml', entries, dirName: `${baseName}${suffix}` });
592
+ });
593
+ assetParts.forEach((entries, i) => {
594
+ planned.push({ kind: 'assets', entries, dirName: `${baseName}-assets-${i + 1}` });
595
+ });
596
+ if (planned.length === 0) {
597
+ throw new Error(`No files found to import under: ${dir}`);
598
+ }
599
+ onPlan?.({
600
+ partCount: planned.length,
601
+ xmlPartCount: xmlParts.length,
602
+ assetPartCount: assetParts.length,
603
+ maxBytes,
604
+ });
605
+ logger.debug({ partCount: planned.length, xmlParts: xmlParts.length, assetParts: assetParts.length }, `Split plan: ${planned.length} part(s) (${xmlParts.length} xml, ${assetParts.length} asset)`);
606
+ const results = [];
607
+ const rootAbs = path.resolve(dir);
608
+ for (let i = 0; i < planned.length; i++) {
609
+ const part = planned[i];
610
+ const buffer = await createArchiveFromPaths(rootAbs, part.entries.map((e) => e.abs), part.dirName);
611
+ // Guard against estimation drift: a part must not exceed the ceiling.
612
+ if (buffer.length > maxBytes) {
613
+ throw new Error(`Archive part ${part.dirName} assembled to ${formatBytes(buffer.length)}, ` +
614
+ `which exceeds the ${formatBytes(maxBytes)} limit. ` +
615
+ `This can happen when incompressible data was under-estimated; ` +
616
+ `try a lower --max-size.`);
617
+ }
618
+ onPart?.({
619
+ index: i + 1,
620
+ total: planned.length,
621
+ kind: part.kind,
622
+ filename: `${part.dirName}.zip`,
623
+ fileCount: part.entries.length,
624
+ bytes: buffer.length,
625
+ });
626
+ logger.debug({ part: part.dirName, kind: part.kind, files: part.entries.length, bytes: buffer.length }, `Importing part ${i + 1}/${planned.length}: ${part.dirName} (${formatBytes(buffer.length)})`);
627
+ const result = await siteArchiveImport(instance, buffer, {
628
+ archiveName: part.dirName,
629
+ keepArchive,
630
+ wait: true,
631
+ waitOptions,
632
+ });
633
+ results.push(result);
634
+ }
635
+ return results;
636
+ }
333
637
  /**
334
638
  * Exports a site archive from a B2C Commerce instance.
335
639
  *
@@ -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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"}
@@ -0,0 +1,40 @@
1
+ import type { LogEntry } from './types.js';
2
+ /**
3
+ * Parses a relative time string (e.g., "5m", "1h", "2d") into milliseconds.
4
+ * Returns null if the string is not a valid relative time format.
5
+ */
6
+ export declare function parseRelativeTime(timeStr: string): null | number;
7
+ /**
8
+ * Parses a `since` value into a Date object.
9
+ * Supports:
10
+ * - Relative times: "5m", "1h", "2d"
11
+ * - ISO 8601: "2026-01-25T10:00:00"
12
+ */
13
+ export declare function parseSinceTime(sinceStr: string): Date;
14
+ /**
15
+ * Parses a B2C log timestamp into a Date object.
16
+ * Expected format: "2025-01-25 10:30:45.123 GMT"
17
+ */
18
+ export declare function parseLogTimestamp(timestamp: string): Date | null;
19
+ /**
20
+ * Filters entries by timestamp.
21
+ */
22
+ export declare function filterBySince(entries: LogEntry[], since: Date): LogEntry[];
23
+ /**
24
+ * Filters entries by log level.
25
+ */
26
+ export declare function filterByLevel(entries: LogEntry[], levels: string[]): LogEntry[];
27
+ /**
28
+ * Filters entries by text search (case-insensitive substring match).
29
+ */
30
+ export declare function filterBySearch(entries: LogEntry[], search: string): LogEntry[];
31
+ /**
32
+ * Checks if a single entry matches the specified log levels.
33
+ * Used for streaming/tail scenarios where we filter one entry at a time.
34
+ */
35
+ export declare function matchesLevel(entry: LogEntry, levels: string[]): boolean;
36
+ /**
37
+ * Checks if a single entry matches the search text (case-insensitive).
38
+ * Used for streaming/tail scenarios where we filter one entry at a time.
39
+ */
40
+ export declare function matchesSearch(entry: LogEntry, search: string): boolean;