localwp-mcp 0.1.4 → 0.1.6

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/dist/backup.d.ts CHANGED
@@ -1,9 +1,19 @@
1
1
  import type { BackupScope, SiteContext } from "./types.js";
2
2
  interface BackupManifest {
3
3
  format: string;
4
+ schemaVersion?: number;
5
+ toolVersion?: string;
4
6
  createdAt?: string;
5
7
  scope?: BackupScope;
6
8
  accessProfile?: string;
9
+ platform?: string;
10
+ localVersion?: string | null;
11
+ phpVersion?: string | null;
12
+ mysqlVersion?: string | null;
13
+ wordpressVersion?: string | null;
14
+ siteUrl?: string | null;
15
+ homeUrl?: string | null;
16
+ runtimeStatusAtBackup?: string | null;
7
17
  site?: Record<string, unknown>;
8
18
  database?: {
9
19
  file?: string;
@@ -11,6 +21,7 @@ interface BackupManifest {
11
21
  source?: string;
12
22
  };
13
23
  copiedDirectories?: string[];
24
+ warningsAtBackupTime?: string[];
14
25
  notes?: string[];
15
26
  }
16
27
  interface ResolvedBackupSource {
@@ -26,26 +37,78 @@ export declare function createSiteBackup(context: SiteContext, options?: {
26
37
  outputDir?: string;
27
38
  label?: string;
28
39
  }): Promise<{
40
+ status: "ok";
41
+ operationId: string;
42
+ startedAt: string;
43
+ finishedAt: string;
44
+ durationMs: number;
29
45
  backupDir: string;
30
46
  manifestPath: string;
31
47
  scope: BackupScope;
32
48
  databaseFilePath: string;
33
49
  copiedDirectories: string[];
50
+ warnings: string[];
51
+ manifest: {
52
+ format: string;
53
+ schemaVersion: number;
54
+ toolVersion: string;
55
+ createdAt: string;
56
+ scope: BackupScope;
57
+ accessProfile: import("./types.js").AccessProfile;
58
+ platform: NodeJS.Platform;
59
+ localVersion: string | null;
60
+ phpVersion: string | null;
61
+ mysqlVersion: string | null;
62
+ wordpressVersion: string | null;
63
+ siteUrl: string | null;
64
+ homeUrl: string | null;
65
+ runtimeStatusAtBackup: string | null;
66
+ site: {
67
+ id: string;
68
+ name: string;
69
+ status: string;
70
+ domain: string | undefined;
71
+ path: string;
72
+ wpRoot: string;
73
+ localVersion: string | undefined;
74
+ phpVersion: string | null;
75
+ mysqlVersion: string | null;
76
+ httpPort: number | null;
77
+ mysqlPort: number | null;
78
+ };
79
+ database: {
80
+ file: string;
81
+ absolutePath: string;
82
+ source: string;
83
+ };
84
+ copiedDirectories: string[];
85
+ warningsAtBackupTime: string[];
86
+ notes: string[];
87
+ };
34
88
  }>;
35
89
  export declare function restoreSiteBackup(context: SiteContext, sourcePath: string, options?: {
36
90
  restoreFiles?: boolean;
37
91
  replaceDirectories?: boolean;
38
92
  backupBeforeRestore?: boolean;
39
93
  }): Promise<{
94
+ status: "ok";
95
+ operationId: string;
96
+ startedAt: string;
97
+ finishedAt: string;
98
+ durationMs: number;
40
99
  sourcePath: string;
41
100
  sqlFilePath: string;
42
101
  backupDir: string | null;
43
102
  manifestPath: string | null;
44
103
  restoredFiles: string[];
104
+ requestedMode: string;
105
+ effectiveMode: string;
45
106
  replaceDirectories: boolean;
46
107
  restartRecommended: boolean;
47
108
  preRestoreBackupDir: string | null;
48
109
  preRestoreManifestPath: string | null;
110
+ warnings: string[];
111
+ manifest: BackupManifest | null;
49
112
  stdout: string;
50
113
  stderr: string | null;
51
114
  }>;
@@ -53,20 +116,73 @@ export declare function exportDatabase(context: SiteContext, options?: {
53
116
  destinationPath?: string;
54
117
  label?: string;
55
118
  }): Promise<{
119
+ status: "ok";
120
+ operationId: string;
121
+ startedAt: string;
122
+ finishedAt: string;
123
+ durationMs: number;
56
124
  outputPath: string;
57
125
  stdout: string;
58
126
  stderr: string | null;
127
+ warnings: string[];
59
128
  }>;
60
129
  export declare function importDatabase(context: SiteContext, sourcePath: string, options?: {
61
130
  backupBeforeImport?: boolean;
62
131
  }): Promise<{
132
+ status: "ok";
133
+ operationId: string;
134
+ startedAt: string;
135
+ finishedAt: string;
136
+ durationMs: number;
63
137
  sourcePath: string;
64
138
  backupPath: string | null;
65
139
  stdout: string;
66
140
  stderr: string | null;
141
+ warnings: string[];
67
142
  }>;
68
143
  export declare function buildBackupDirectoryName(siteName: string, scope: BackupScope, label?: string, createdAt?: Date): string;
69
144
  export declare function sanitizeBackupSegment(value: string): string;
70
145
  export declare function resolveImportSourcePath(inputPath: string): Promise<string>;
146
+ export declare function previewRestoreSiteBackup(context: SiteContext, sourcePath: string, options?: {
147
+ restoreFiles?: boolean;
148
+ replaceDirectories?: boolean;
149
+ backupBeforeRestore?: boolean;
150
+ }): Promise<{
151
+ status: "preview";
152
+ operationId: string;
153
+ startedAt: string;
154
+ finishedAt: string;
155
+ durationMs: number;
156
+ sourcePath: string;
157
+ sqlFilePath: string;
158
+ backupDir: string | null;
159
+ manifestPath: string | null;
160
+ manifest: BackupManifest | null;
161
+ requestedMode: string;
162
+ effectiveMode: string;
163
+ restoreFiles: boolean;
164
+ replaceDirectories: boolean;
165
+ filePayloadAvailable: boolean;
166
+ fileRestoreAvailable: boolean;
167
+ copiedDirectories: string[];
168
+ restartRecommended: boolean;
169
+ wouldCreatePreRestoreBackup: boolean;
170
+ preRestoreBackupScope: string;
171
+ siteSnapshot: {
172
+ wordpressVersion: string | null;
173
+ siteUrl: string | null;
174
+ homeUrl: string | null;
175
+ mysqlReachable: boolean;
176
+ runtimeStatus: string;
177
+ localVersion: string | null;
178
+ phpVersion: string | null;
179
+ mysqlVersion: string | null;
180
+ };
181
+ phases: {
182
+ name: string;
183
+ status: "planned";
184
+ }[];
185
+ warnings: string[];
186
+ }>;
71
187
  export declare function resolveBackupSource(inputPath: string): Promise<ResolvedBackupSource>;
72
188
  export {};
package/dist/backup.js CHANGED
@@ -1,14 +1,20 @@
1
1
  import { cp, mkdir, readdir, readFile, rm, stat, writeFile } from "fs/promises";
2
2
  import path from "path";
3
+ import crypto from "node:crypto";
3
4
  import { config } from "./config.js";
4
5
  import { summarizeSite } from "./local-sites.js";
5
- import { ensureMysqlReady } from "./mysql.js";
6
+ import { ensureMysqlReady, executeMysqlStatement } from "./mysql.js";
6
7
  import { assertReadable, isReadablePath, spawnCommand } from "./process-utils.js";
8
+ import { resolvePackageVersion } from "./version.js";
9
+ import { runWpCliArgs } from "./wp-cli.js";
7
10
  const defaultBackupDirectories = ["app", "conf", "logs"];
8
11
  const backupManifestVersion = "localwp-mcp-backup-v1";
9
12
  export async function createSiteBackup(context, options = {}) {
13
+ const startedAt = new Date();
14
+ const operationId = createOperationId("backup", context.site.id);
10
15
  const scope = options.scope || "full";
11
16
  await ensureMysqlReady(context);
17
+ const siteSnapshot = await collectSiteSnapshot(context);
12
18
  const backupRoot = resolveBackupRoot(context, options.outputDir);
13
19
  const backupName = buildBackupDirectoryName(context.site.name, scope, options.label);
14
20
  const backupDir = path.join(backupRoot, backupName);
@@ -34,9 +40,19 @@ export async function createSiteBackup(context, options = {}) {
34
40
  });
35
41
  const manifest = {
36
42
  format: "localwp-mcp-backup-v1",
37
- createdAt: new Date().toISOString(),
43
+ schemaVersion: 1,
44
+ toolVersion: resolvePackageVersion(),
45
+ createdAt: startedAt.toISOString(),
38
46
  scope,
39
47
  accessProfile: config.profile,
48
+ platform: config.platform,
49
+ localVersion: context.site.localVersion || null,
50
+ phpVersion: context.site.services?.php?.version || null,
51
+ mysqlVersion: context.site.services?.mysql?.version || null,
52
+ wordpressVersion: siteSnapshot.wordpressVersion,
53
+ siteUrl: siteSnapshot.siteUrl,
54
+ homeUrl: siteSnapshot.homeUrl,
55
+ runtimeStatusAtBackup: context.site.status || null,
40
56
  site: summarizeSite(context.site),
41
57
  database: {
42
58
  file: databaseFileRelativePath,
@@ -44,6 +60,7 @@ export async function createSiteBackup(context, options = {}) {
44
60
  source: "mysqldump",
45
61
  },
46
62
  copiedDirectories,
63
+ warningsAtBackupTime: siteSnapshot.warnings,
47
64
  notes: scope === "full"
48
65
  ? [
49
66
  "This backup folder mirrors a Local site layout closely enough to inspect manually or zip for Local-friendly restore workflows.",
@@ -56,23 +73,28 @@ export async function createSiteBackup(context, options = {}) {
56
73
  };
57
74
  const manifestPath = path.join(backupDir, "manifest.json");
58
75
  await writeFile(manifestPath, JSON.stringify(manifest, null, 2), "utf8");
76
+ const finishedAt = new Date();
59
77
  return {
78
+ status: "ok",
79
+ operationId,
80
+ startedAt: startedAt.toISOString(),
81
+ finishedAt: finishedAt.toISOString(),
82
+ durationMs: finishedAt.getTime() - startedAt.getTime(),
60
83
  backupDir,
61
84
  manifestPath,
62
85
  scope,
63
86
  databaseFilePath: exportResult.outputPath,
64
87
  copiedDirectories,
88
+ warnings: siteSnapshot.warnings,
89
+ manifest,
65
90
  };
66
91
  }
67
92
  export async function restoreSiteBackup(context, sourcePath, options = {}) {
93
+ const startedAt = new Date();
94
+ const plan = await previewRestoreSiteBackup(context, sourcePath, options);
68
95
  await ensureMysqlReady(context);
69
96
  const resolvedSource = await resolveBackupSource(sourcePath);
70
- const restoreFiles = options.restoreFiles ?? true;
71
- const replaceDirectories = options.replaceDirectories ?? true;
72
- const fileRestoreAvailable = restoreFiles &&
73
- Boolean(resolvedSource.backupDir &&
74
- resolvedSource.manifest?.scope === "full" &&
75
- resolvedSource.copiedDirectories.length > 0);
97
+ const fileRestoreAvailable = plan.fileRestoreAvailable;
76
98
  let preRestoreBackup = null;
77
99
  if (options.backupBeforeRestore ?? true) {
78
100
  preRestoreBackup = await createSiteBackup(context, {
@@ -81,39 +103,60 @@ export async function restoreSiteBackup(context, sourcePath, options = {}) {
81
103
  });
82
104
  }
83
105
  if (fileRestoreAvailable && resolvedSource.backupDir) {
84
- await restoreDirectoriesFromBackup(context, resolvedSource.backupDir, resolvedSource.copiedDirectories, replaceDirectories);
106
+ await restoreDirectoriesFromBackup(context, resolvedSource.backupDir, resolvedSource.copiedDirectories, plan.replaceDirectories);
85
107
  }
86
108
  const importResult = await importDatabase(context, resolvedSource.sqlFilePath, {
87
109
  backupBeforeImport: false,
88
110
  });
111
+ const finishedAt = new Date();
89
112
  return {
113
+ status: "ok",
114
+ operationId: plan.operationId,
115
+ startedAt: startedAt.toISOString(),
116
+ finishedAt: finishedAt.toISOString(),
117
+ durationMs: finishedAt.getTime() - startedAt.getTime(),
90
118
  sourcePath: resolvedSource.inputPath,
91
119
  sqlFilePath: resolvedSource.sqlFilePath,
92
120
  backupDir: resolvedSource.backupDir,
93
121
  manifestPath: resolvedSource.manifestPath,
94
122
  restoredFiles: fileRestoreAvailable ? resolvedSource.copiedDirectories : [],
95
- replaceDirectories,
96
- restartRecommended: fileRestoreAvailable,
123
+ requestedMode: plan.requestedMode,
124
+ effectiveMode: plan.effectiveMode,
125
+ replaceDirectories: plan.replaceDirectories,
126
+ restartRecommended: plan.restartRecommended,
97
127
  preRestoreBackupDir: preRestoreBackup?.backupDir || null,
98
128
  preRestoreManifestPath: preRestoreBackup?.manifestPath || null,
129
+ warnings: plan.warnings,
130
+ manifest: resolvedSource.manifest,
99
131
  stdout: importResult.stdout,
100
132
  stderr: importResult.stderr,
101
133
  };
102
134
  }
103
135
  export async function exportDatabase(context, options = {}) {
136
+ const startedAt = new Date();
137
+ const operationId = createOperationId("db_export", context.site.id);
104
138
  await ensureMysqlReady(context);
105
139
  const outputPath = await resolveExportPath(context, options.destinationPath, {
106
140
  label: options.label,
107
141
  });
108
142
  await mkdir(path.dirname(outputPath), { recursive: true });
109
143
  const result = await executeMysqlExport(context, outputPath);
144
+ const finishedAt = new Date();
110
145
  return {
146
+ status: "ok",
147
+ operationId,
148
+ startedAt: startedAt.toISOString(),
149
+ finishedAt: finishedAt.toISOString(),
150
+ durationMs: finishedAt.getTime() - startedAt.getTime(),
111
151
  outputPath,
112
152
  stdout: result.stdout,
113
153
  stderr: result.stderr || null,
154
+ warnings: [],
114
155
  };
115
156
  }
116
157
  export async function importDatabase(context, sourcePath, options = {}) {
158
+ const startedAt = new Date();
159
+ const operationId = createOperationId("db_import", context.site.id);
117
160
  await ensureMysqlReady(context);
118
161
  const resolvedSourcePath = await resolveImportSourcePath(sourcePath);
119
162
  let backupPath = null;
@@ -124,11 +167,18 @@ export async function importDatabase(context, sourcePath, options = {}) {
124
167
  backupPath = backupResult.outputPath;
125
168
  }
126
169
  const result = await executeMysqlImport(context, resolvedSourcePath);
170
+ const finishedAt = new Date();
127
171
  return {
172
+ status: "ok",
173
+ operationId,
174
+ startedAt: startedAt.toISOString(),
175
+ finishedAt: finishedAt.toISOString(),
176
+ durationMs: finishedAt.getTime() - startedAt.getTime(),
128
177
  sourcePath: resolvedSourcePath,
129
178
  backupPath,
130
179
  stdout: result.stdout,
131
180
  stderr: result.stderr || null,
181
+ warnings: [],
132
182
  };
133
183
  }
134
184
  export function buildBackupDirectoryName(siteName, scope, label, createdAt = new Date()) {
@@ -154,6 +204,56 @@ export async function resolveImportSourcePath(inputPath) {
154
204
  const resolvedSource = await resolveBackupSource(inputPath);
155
205
  return resolvedSource.sqlFilePath;
156
206
  }
207
+ export async function previewRestoreSiteBackup(context, sourcePath, options = {}) {
208
+ const startedAt = new Date();
209
+ const operationId = createOperationId("preview_restore", context.site.id);
210
+ const resolvedSource = await resolveBackupSource(sourcePath);
211
+ const siteSnapshot = await collectSiteSnapshot(context);
212
+ const restoreFiles = options.restoreFiles ?? true;
213
+ const replaceDirectories = options.replaceDirectories ?? true;
214
+ const filePayloadAvailable = Boolean(resolvedSource.backupDir &&
215
+ resolvedSource.manifest?.scope === "full" &&
216
+ resolvedSource.copiedDirectories.length > 0);
217
+ const fileRestoreAvailable = restoreFiles && filePayloadAvailable;
218
+ const requestedMode = describeRequestedRestoreMode(restoreFiles, replaceDirectories);
219
+ const effectiveMode = describeEffectiveRestoreMode(resolvedSource.manifest?.scope, filePayloadAvailable, restoreFiles, replaceDirectories);
220
+ const warnings = buildRestoreWarnings(context, resolvedSource, siteSnapshot, requestedMode, effectiveMode, replaceDirectories);
221
+ const finishedAt = new Date();
222
+ return {
223
+ status: "preview",
224
+ operationId,
225
+ startedAt: startedAt.toISOString(),
226
+ finishedAt: finishedAt.toISOString(),
227
+ durationMs: finishedAt.getTime() - startedAt.getTime(),
228
+ sourcePath: resolvedSource.inputPath,
229
+ sqlFilePath: resolvedSource.sqlFilePath,
230
+ backupDir: resolvedSource.backupDir,
231
+ manifestPath: resolvedSource.manifestPath,
232
+ manifest: resolvedSource.manifest,
233
+ requestedMode,
234
+ effectiveMode,
235
+ restoreFiles,
236
+ replaceDirectories,
237
+ filePayloadAvailable,
238
+ fileRestoreAvailable,
239
+ copiedDirectories: resolvedSource.copiedDirectories,
240
+ restartRecommended: fileRestoreAvailable,
241
+ wouldCreatePreRestoreBackup: options.backupBeforeRestore ?? true,
242
+ preRestoreBackupScope: fileRestoreAvailable ? "full" : "database",
243
+ siteSnapshot: {
244
+ wordpressVersion: siteSnapshot.wordpressVersion,
245
+ siteUrl: siteSnapshot.siteUrl,
246
+ homeUrl: siteSnapshot.homeUrl,
247
+ mysqlReachable: siteSnapshot.mysqlReachable,
248
+ runtimeStatus: context.site.status,
249
+ localVersion: context.site.localVersion || null,
250
+ phpVersion: context.site.services?.php?.version || null,
251
+ mysqlVersion: context.site.services?.mysql?.version || null,
252
+ },
253
+ phases: buildRestorePreviewPhases(fileRestoreAvailable),
254
+ warnings,
255
+ };
256
+ }
157
257
  export async function resolveBackupSource(inputPath) {
158
258
  const absolutePath = path.resolve(inputPath);
159
259
  await assertReadable(absolutePath, "The backup source path is not readable");
@@ -279,6 +379,127 @@ function createTimestamp() {
279
379
  function normalizeCopiedDirectories(value) {
280
380
  return (value || []).filter((directoryName) => defaultBackupDirectories.includes(directoryName));
281
381
  }
382
+ async function collectSiteSnapshot(context) {
383
+ const warnings = [];
384
+ let wordpressVersion = null;
385
+ let siteUrl = null;
386
+ let homeUrl = null;
387
+ let mysqlReachable = false;
388
+ try {
389
+ const versionResult = await runWpCliArgs(context, ["core", "version"], {
390
+ skipPermissionCheck: true,
391
+ });
392
+ wordpressVersion = versionResult.stdout.trim() || null;
393
+ }
394
+ catch (error) {
395
+ warnings.push(`Could not determine the current WordPress version: ${formatWarning(error)}`);
396
+ }
397
+ try {
398
+ const siteUrlResult = await runWpCliArgs(context, ["option", "get", "siteurl"], {
399
+ skipPermissionCheck: true,
400
+ });
401
+ siteUrl = siteUrlResult.stdout.trim() || null;
402
+ }
403
+ catch (error) {
404
+ warnings.push(`Could not determine the current siteurl: ${formatWarning(error)}`);
405
+ }
406
+ try {
407
+ const homeUrlResult = await runWpCliArgs(context, ["option", "get", "home"], {
408
+ skipPermissionCheck: true,
409
+ });
410
+ homeUrl = homeUrlResult.stdout.trim() || null;
411
+ }
412
+ catch (error) {
413
+ warnings.push(`Could not determine the current home URL: ${formatWarning(error)}`);
414
+ }
415
+ try {
416
+ await ensureMysqlReady(context);
417
+ await executeMysqlStatement(context, "SELECT 1 AS ok", 1);
418
+ mysqlReachable = true;
419
+ }
420
+ catch (error) {
421
+ warnings.push(`MySQL preview probe did not succeed: ${formatWarning(error)}`);
422
+ }
423
+ return {
424
+ wordpressVersion,
425
+ siteUrl,
426
+ homeUrl,
427
+ mysqlReachable,
428
+ warnings,
429
+ };
430
+ }
431
+ function describeRequestedRestoreMode(restoreFiles, replaceDirectories) {
432
+ if (!restoreFiles) {
433
+ return "database_only";
434
+ }
435
+ return replaceDirectories ? "full_replace" : "full_overlay";
436
+ }
437
+ function describeEffectiveRestoreMode(scope, filePayloadAvailable, restoreFiles, replaceDirectories) {
438
+ if (scope !== "full" || !filePayloadAvailable || !restoreFiles) {
439
+ return "database_only";
440
+ }
441
+ return replaceDirectories ? "full_replace" : "full_overlay";
442
+ }
443
+ function buildRestorePreviewPhases(fileRestoreAvailable) {
444
+ const phases = [
445
+ "resolve_input",
446
+ "inspect_site_state",
447
+ "validate_backup_manifest",
448
+ "create_pre_restore_backup",
449
+ ];
450
+ if (fileRestoreAvailable) {
451
+ phases.push("restore_files");
452
+ }
453
+ phases.push("restore_database", "verify_restore");
454
+ if (fileRestoreAvailable) {
455
+ phases.push("restart_runtime");
456
+ }
457
+ return phases.map((name) => ({
458
+ name,
459
+ status: "planned",
460
+ }));
461
+ }
462
+ function buildRestoreWarnings(context, resolvedSource, siteSnapshot, requestedMode, effectiveMode, replaceDirectories) {
463
+ const warnings = [...siteSnapshot.warnings];
464
+ if (context.site.status === "running" &&
465
+ config.platform === "win32" &&
466
+ requestedMode === "full_replace") {
467
+ warnings.push("Windows file locks can make full directory replacement harder while the site is running. If restore fails, preview a full_overlay restore or stop the site first.");
468
+ }
469
+ if (!siteSnapshot.mysqlReachable) {
470
+ warnings.push("MySQL is not currently reachable. A restore that needs database import will fail until MySQL is available.");
471
+ }
472
+ if (requestedMode !== effectiveMode) {
473
+ warnings.push(`The requested restore mode '${requestedMode}' will behave as '${effectiveMode}' for this source.`);
474
+ }
475
+ if (resolvedSource.manifest?.wordpressVersion &&
476
+ siteSnapshot.wordpressVersion &&
477
+ resolvedSource.manifest.wordpressVersion !== siteSnapshot.wordpressVersion) {
478
+ warnings.push(`Backup WordPress version '${resolvedSource.manifest.wordpressVersion}' differs from the current site version '${siteSnapshot.wordpressVersion}'.`);
479
+ }
480
+ if (resolvedSource.manifest?.siteUrl &&
481
+ siteSnapshot.siteUrl &&
482
+ resolvedSource.manifest.siteUrl !== siteSnapshot.siteUrl) {
483
+ warnings.push(`Backup site URL '${resolvedSource.manifest.siteUrl}' differs from the current site URL '${siteSnapshot.siteUrl}'.`);
484
+ }
485
+ if (resolvedSource.manifest?.homeUrl &&
486
+ siteSnapshot.homeUrl &&
487
+ resolvedSource.manifest.homeUrl !== siteSnapshot.homeUrl) {
488
+ warnings.push(`Backup home URL '${resolvedSource.manifest.homeUrl}' differs from the current home URL '${siteSnapshot.homeUrl}'.`);
489
+ }
490
+ if (replaceDirectories &&
491
+ resolvedSource.manifest?.scope === "full" &&
492
+ resolvedSource.copiedDirectories.length === 0) {
493
+ warnings.push("The backup manifest says this is a full backup, but no restorable app/conf/logs directories were found.");
494
+ }
495
+ return [...new Set(warnings)];
496
+ }
497
+ function createOperationId(prefix, siteId) {
498
+ return `${prefix}_${createTimestamp()}_${sanitizeBackupSegment(siteId)}_${crypto.randomBytes(3).toString("hex")}`;
499
+ }
500
+ function formatWarning(error) {
501
+ return error instanceof Error ? error.message : String(error);
502
+ }
282
503
  function buildMysqlConnectionArgs(context) {
283
504
  if (context.mysqlSocket) {
284
505
  return ["--protocol=SOCKET", `--socket=${context.mysqlSocket}`];
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../src/backup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../src/backup.ts"],"names":[],"mappings":"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"}
package/dist/logs.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import type { LogScope, SiteSelection } from "./types.js";
2
2
  export declare function clampLogLines(lines: number | undefined): number;
3
+ export declare function normalizeLogScope(value: string | undefined): LogScope;
3
4
  export declare function collectLocalLogs(selection: SiteSelection, options?: {
4
- scope?: LogScope;
5
+ scope?: LogScope | string;
5
6
  lines?: number;
6
7
  }): Promise<{
7
8
  scope: LogScope;
package/dist/logs.js CHANGED
@@ -11,8 +11,21 @@ export function clampLogLines(lines) {
11
11
  }
12
12
  return Math.min(Math.max(lines, 1), config.maxLogTailLines);
13
13
  }
14
+ export function normalizeLogScope(value) {
15
+ const normalized = value?.trim().toLowerCase();
16
+ if (!normalized || normalized === "site") {
17
+ return "site";
18
+ }
19
+ if (normalized === "global") {
20
+ return "global";
21
+ }
22
+ if (["all", "both", "combined"].includes(normalized)) {
23
+ return "all";
24
+ }
25
+ throw new Error("Invalid local_logs scope. Expected 'site', 'global', 'all', 'both', or 'combined'.");
26
+ }
14
27
  export async function collectLocalLogs(selection, options = {}) {
15
- const scope = options.scope || "site";
28
+ const scope = normalizeLogScope(options.scope);
16
29
  const lines = clampLogLines(options.lines);
17
30
  const includeSite = scope === "site" || scope === "all";
18
31
  const includeGlobal = scope === "global" || scope === "all";