@salesforce/b2c-tooling-sdk 1.11.0 → 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.
- package/README.md +1 -4
- package/dist/esm/auth/api-key.d.ts +6 -0
- package/dist/esm/auth/api-key.js +9 -2
- package/dist/esm/auth/api-key.js.map +1 -1
- package/dist/esm/auth/basic.d.ts +20 -0
- package/dist/esm/auth/basic.js +23 -3
- package/dist/esm/auth/basic.js.map +1 -1
- package/dist/esm/auth/dispatch-fetch.d.ts +28 -0
- package/dist/esm/auth/dispatch-fetch.js +37 -0
- package/dist/esm/auth/dispatch-fetch.js.map +1 -0
- package/dist/esm/auth/oauth-implicit.d.ts +5 -0
- package/dist/esm/auth/oauth-implicit.js +9 -3
- package/dist/esm/auth/oauth-implicit.js.map +1 -1
- package/dist/esm/auth/oauth-jwt.d.ts +11 -0
- package/dist/esm/auth/oauth-jwt.js +15 -3
- package/dist/esm/auth/oauth-jwt.js.map +1 -1
- package/dist/esm/auth/oauth.d.ts +38 -0
- package/dist/esm/auth/oauth.js +42 -4
- package/dist/esm/auth/oauth.js.map +1 -1
- package/dist/esm/auth/resolve.d.ts +7 -1
- package/dist/esm/auth/resolve.js.map +1 -1
- package/dist/esm/auth/stateful-oauth-strategy.d.ts +8 -0
- package/dist/esm/auth/stateful-oauth-strategy.js +8 -0
- package/dist/esm/auth/stateful-oauth-strategy.js.map +1 -1
- package/dist/esm/cli/base-command.d.ts +2 -0
- package/dist/esm/cli/base-command.js +2 -0
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/index.d.ts +1 -1
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/job-command.d.ts +1 -1
- package/dist/esm/cli/job-command.js +1 -1
- package/dist/esm/cli/mrt-command.d.ts +1 -0
- package/dist/esm/cli/mrt-command.js +3 -0
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +1 -0
- package/dist/esm/cli/oauth-command.js +1 -0
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/clients/am-api.d.ts +19 -1
- package/dist/esm/clients/am-api.js +19 -1
- package/dist/esm/clients/am-api.js.map +1 -1
- package/dist/esm/clients/cip.js +9 -0
- package/dist/esm/clients/cip.js.map +1 -1
- package/dist/esm/clients/granular-replications.d.ts +17 -0
- package/dist/esm/clients/granular-replications.js +9 -0
- package/dist/esm/clients/granular-replications.js.map +1 -1
- package/dist/esm/config/dw-json.d.ts +2 -2
- package/dist/esm/config/dw-json.js +2 -2
- package/dist/esm/config/mapping.d.ts +20 -0
- package/dist/esm/config/mapping.js +15 -15
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.d.ts +10 -0
- package/dist/esm/config/sources/dw-json-source.js +10 -0
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +27 -26
- package/dist/esm/discovery/detector.d.ts +1 -1
- package/dist/esm/discovery/detector.js +1 -1
- package/dist/esm/discovery/patterns/sfra.d.ts +1 -1
- package/dist/esm/discovery/patterns/sfra.js +1 -1
- package/dist/esm/docs/schema.d.ts +25 -0
- package/dist/esm/docs/schema.js +25 -0
- package/dist/esm/docs/schema.js.map +1 -1
- package/dist/esm/i18n/index.d.ts +16 -0
- package/dist/esm/i18n/index.js +5 -0
- package/dist/esm/i18n/index.js.map +1 -1
- package/dist/esm/instance/index.d.ts +6 -2
- package/dist/esm/instance/index.js +5 -1
- package/dist/esm/instance/index.js.map +1 -1
- package/dist/esm/logging/logger.d.ts +59 -0
- package/dist/esm/logging/logger.js +59 -0
- package/dist/esm/logging/logger.js.map +1 -1
- package/dist/esm/logging/types.d.ts +32 -0
- package/dist/esm/operations/cap/install.d.ts +14 -0
- package/dist/esm/operations/cap/install.js +14 -0
- package/dist/esm/operations/cap/install.js.map +1 -1
- package/dist/esm/operations/cap/pull.d.ts +49 -0
- package/dist/esm/operations/cap/pull.js +24 -0
- package/dist/esm/operations/cap/pull.js.map +1 -1
- package/dist/esm/operations/cap/validate.js +0 -8
- package/dist/esm/operations/cap/validate.js.map +1 -1
- package/dist/esm/operations/cip/index.d.ts +24 -0
- package/dist/esm/operations/cip/index.js +24 -0
- package/dist/esm/operations/cip/index.js.map +1 -1
- package/dist/esm/operations/code/download.d.ts +1 -0
- package/dist/esm/operations/code/download.js +1 -0
- package/dist/esm/operations/code/download.js.map +1 -1
- package/dist/esm/operations/code/upload-files.d.ts +1 -0
- package/dist/esm/operations/code/upload-files.js +1 -0
- package/dist/esm/operations/code/upload-files.js.map +1 -1
- package/dist/esm/operations/code/versions.d.ts +3 -0
- package/dist/esm/operations/code/versions.js +3 -0
- package/dist/esm/operations/code/versions.js.map +1 -1
- package/dist/esm/operations/content/validate.d.ts +12 -0
- package/dist/esm/operations/content/validate.js +12 -0
- package/dist/esm/operations/content/validate.js.map +1 -1
- package/dist/esm/operations/debug/sdapi-client.d.ts +25 -0
- package/dist/esm/operations/debug/sdapi-client.js +25 -0
- package/dist/esm/operations/debug/sdapi-client.js.map +1 -1
- package/dist/esm/operations/jobs/index.d.ts +3 -2
- package/dist/esm/operations/jobs/index.js +2 -1
- package/dist/esm/operations/jobs/index.js.map +1 -1
- package/dist/esm/operations/jobs/run.d.ts +9 -0
- package/dist/esm/operations/jobs/run.js +9 -0
- package/dist/esm/operations/jobs/run.js.map +1 -1
- package/dist/esm/operations/jobs/site-archive.d.ts +100 -0
- package/dist/esm/operations/jobs/site-archive.js +305 -1
- package/dist/esm/operations/jobs/site-archive.js.map +1 -1
- package/dist/esm/operations/logs/filter.d.ts +40 -0
- package/dist/esm/operations/logs/filter.js +107 -0
- package/dist/esm/operations/logs/filter.js.map +1 -0
- package/dist/esm/operations/logs/index.d.ts +1 -0
- package/dist/esm/operations/logs/index.js +2 -0
- package/dist/esm/operations/logs/index.js.map +1 -1
- package/dist/esm/operations/logs/tail.d.ts +5 -1
- package/dist/esm/operations/logs/tail.js +5 -1
- package/dist/esm/operations/logs/tail.js.map +1 -1
- package/dist/esm/operations/mrt/bundle.d.ts +15 -25
- package/dist/esm/operations/mrt/bundle.js +27 -4
- package/dist/esm/operations/mrt/bundle.js.map +1 -1
- package/dist/esm/operations/mrt/certificate.d.ts +88 -0
- package/dist/esm/operations/mrt/certificate.js +88 -0
- package/dist/esm/operations/mrt/certificate.js.map +1 -1
- package/dist/esm/operations/mrt/index.d.ts +2 -2
- package/dist/esm/operations/mrt/index.js +1 -1
- package/dist/esm/operations/mrt/index.js.map +1 -1
- package/dist/esm/operations/mrt/organization-member.d.ts +89 -0
- package/dist/esm/operations/mrt/organization-member.js +89 -0
- package/dist/esm/operations/mrt/organization-member.js.map +1 -1
- package/dist/esm/operations/ods/wait-for-clone.d.ts +50 -2
- package/dist/esm/operations/ods/wait-for-clone.js +37 -2
- package/dist/esm/operations/ods/wait-for-clone.js.map +1 -1
- package/dist/esm/operations/ods/wait-for-sandbox.d.ts +50 -0
- package/dist/esm/operations/ods/wait-for-sandbox.js +21 -0
- package/dist/esm/operations/ods/wait-for-sandbox.js.map +1 -1
- package/dist/esm/operations/orgs/index.d.ts +12 -5
- package/dist/esm/operations/orgs/index.js +5 -5
- package/dist/esm/operations/orgs/index.js.map +1 -1
- package/dist/esm/plugins/discovery.d.ts +6 -0
- package/dist/esm/plugins/discovery.js.map +1 -1
- package/dist/esm/scaffold/engine.d.ts +11 -3
- package/dist/esm/scaffold/engine.js +11 -3
- package/dist/esm/scaffold/engine.js.map +1 -1
- package/dist/esm/scaffold/registry.d.ts +8 -2
- package/dist/esm/scaffold/registry.js +8 -2
- package/dist/esm/scaffold/registry.js.map +1 -1
- package/dist/esm/scaffold/sources.d.ts +2 -1
- package/dist/esm/scaffold/sources.js +2 -1
- package/dist/esm/scaffold/sources.js.map +1 -1
- package/dist/esm/scaffold/types.d.ts +2 -2
- package/dist/esm/schemas/index.d.ts +4 -0
- package/dist/esm/schemas/index.js +4 -0
- package/dist/esm/schemas/index.js.map +1 -1
- package/dist/esm/skills/agents.js +1 -1
- package/dist/esm/skills/agents.js.map +1 -1
- package/dist/esm/skills/github.d.ts +9 -0
- package/dist/esm/skills/github.js +9 -0
- package/dist/esm/skills/github.js.map +1 -1
- package/dist/esm/skills/sources.d.ts +17 -0
- package/dist/esm/skills/sources.js +17 -0
- package/dist/esm/skills/sources.js.map +1 -1
- 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":"AAAA;;;;GAIG;AACH;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAA4C,MAAM,UAAU,CAAC;AAE7G,MAAM,aAAa,GAAG,0BAA0B,CAAC;AACjD,MAAM,aAAa,GAAG,0BAA0B,CAAC;AAsCjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,EAAE,KAAK,EAAC,GAAG,OAAO,CAAC;IAEpF,IAAI,WAAmB,CAAC;IACxB,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,cAA0D,CAAC;IAE/D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,gBAAgB,IAAI,MAAM,CAAC,EAAE,CAAC;YAC1F,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,+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,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC/E,CAAC;YACD,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,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC7D,MAAM,CAAC,KAAK,CACV,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAC,EAC1C,yBAAyB,QAAQ,CAAC,MAAM,mBAAmB,UAAU,EAAE,CACxE,CAAC;gBACF,cAAc,GAAG,MAAM,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,oCAAoC,UAAU,EAAE,CAAC,CAAC;gBACnF,cAAc,GAAG,MAAM,0BAA0B,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAChF,CAAC;QACH,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,IACE,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,0BAA0B;QAChD,KAAK,CAAC,KAAK,CAAC,SAAqC,EAAE,QAAQ,KAAK,uBAAuB,EACxF,CAAC;QACD,wDAAwD;QACxD,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,8BAA8B,CAAC,CAAC;QAChF,CAAC;QAED,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,8BAA8B,CAAC,CAAC;IAC3E,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;;;;;;;;;GASG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAAe,EAAE,OAAiB;IAClE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,cAAoD,CAAC;QAEzD,mEAAmE;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,cAAc,GAAG,SAAS,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,cAAc,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACvE,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChC,cAAc,GAAG,eAAe,CAAC;QACnC,CAAC;aAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,oDAAoD;YACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,EAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAC3F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAC5B,cAAc,GAAG,MAAM,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,CAAC,KAAK,CACV,EAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAC,EACxF,aAAa,KAAK,MAAM,cAAc,OAAO,UAAU,CAAC,MAAM,YAAY,CAC3E,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC9C,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,MAAM,SAAS,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,sBAAsB,CAAC,OAAe,EAAE,OAAiB,EAAE,cAAsB;IAC9F,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE/C,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,iDAAiD;YACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YACpE,MAAM,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClD,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9E,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAC,EAAE,oBAAoB,aAAa,CAAC,MAAM,UAAU,CAAC,CAAC;IAEtH,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,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;;;;;;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;AA8GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,CAAC;QACC,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,IACE,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,0BAA0B;YAChD,KAAK,CAAC,KAAK,CAAC,SAAqC,EAAE,QAAQ,KAAK,uBAAuB,EACxF,CAAC;YACD,wDAAwD;YACxD,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAElE,MAAM,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBAClG,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,aAAa,EAAC,EAAC;gBACvC,IAAI,EAAE;oBACJ,UAAU,EAAE;wBACV,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAC;wBACxC,EAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAC;qBACtD;iBACmB;aACvB,CAAC,CAAC;YAEH,IAAI,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,IAAI,8BAA8B,CAAC,CAAC;YAChF,CAAC;YAED,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;aAAM,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,8BAA8B,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,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,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;
|