@waiaas/cli 2.9.0 → 2.10.0-rc

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.
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `waiaas backup` CLI commands.
3
+ *
4
+ * Subcommands:
5
+ * create -- Create encrypted backup via daemon API (daemon must be running)
6
+ * list -- List available backups from local directory (offline)
7
+ * inspect -- Show plaintext metadata of a backup file (offline, no password needed)
8
+ */
9
+ export interface BackupCreateOptions {
10
+ baseUrl?: string;
11
+ password?: string;
12
+ dataDir?: string;
13
+ }
14
+ export interface BackupListOptions {
15
+ dataDir: string;
16
+ }
17
+ /**
18
+ * Create an encrypted backup by calling POST /v1/admin/backup on the running daemon.
19
+ */
20
+ export declare function backupCommand(opts: BackupCreateOptions): Promise<void>;
21
+ /**
22
+ * List available backups from the backups directory (offline, no daemon needed).
23
+ */
24
+ export declare function backupListCommand(opts: BackupListOptions): Promise<void>;
25
+ /**
26
+ * Inspect a backup file's metadata without requiring the master password.
27
+ */
28
+ export declare function backupInspectCommand(archivePath: string): Promise<void>;
29
+ //# sourceMappingURL=backup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqD5E;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8E9E;AAMD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiD7E"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * `waiaas backup` CLI commands.
3
+ *
4
+ * Subcommands:
5
+ * create -- Create encrypted backup via daemon API (daemon must be running)
6
+ * list -- List available backups from local directory (offline)
7
+ * inspect -- Show plaintext metadata of a backup file (offline, no password needed)
8
+ */
9
+ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
10
+ import { join } from 'node:path';
11
+ import { readArchiveMetadata } from '@waiaas/daemon';
12
+ import { resolvePassword } from '../utils/password.js';
13
+ // ---------------------------------------------------------------------------
14
+ // backup create (daemon API)
15
+ // ---------------------------------------------------------------------------
16
+ /**
17
+ * Create an encrypted backup by calling POST /v1/admin/backup on the running daemon.
18
+ */
19
+ export async function backupCommand(opts) {
20
+ const baseUrl = opts.baseUrl ?? 'http://127.0.0.1:3100';
21
+ // 1. Health check
22
+ try {
23
+ const healthRes = await fetch(`${baseUrl}/health`, { signal: AbortSignal.timeout(5000) });
24
+ if (!healthRes.ok)
25
+ throw new Error(`Health check returned ${healthRes.status}`);
26
+ }
27
+ catch {
28
+ console.error('Error: Cannot reach WAIaaS daemon.');
29
+ console.error(`Hint: Start the daemon first: waiaas start`);
30
+ process.exit(1);
31
+ }
32
+ // 2. Resolve password
33
+ const password = opts.password ?? await resolvePassword(opts.dataDir);
34
+ // 3. Call POST /v1/admin/backup
35
+ const res = await fetch(`${baseUrl}/v1/admin/backup`, {
36
+ method: 'POST',
37
+ headers: { 'X-Master-Password': password },
38
+ });
39
+ if (res.status === 401) {
40
+ console.error('Error: Invalid master password.');
41
+ process.exit(1);
42
+ }
43
+ if (!res.ok) {
44
+ const body = await res.json().catch(() => ({ message: 'Unknown error' }));
45
+ console.error(`Error: Backup creation failed (${res.status}): ${body.message ?? 'Unknown error'}`);
46
+ process.exit(1);
47
+ }
48
+ const info = await res.json();
49
+ // 4. Display result
50
+ console.log('\nBackup created successfully!\n');
51
+ console.log(` Filename: ${info.filename}`);
52
+ console.log(` Path: ${info.path}`);
53
+ console.log(` Size: ${formatSize(info.size)}`);
54
+ console.log(` Created at: ${info.created_at}`);
55
+ console.log(` Daemon version: ${info.daemon_version}`);
56
+ console.log(` Schema version: ${info.schema_version}`);
57
+ console.log(` File count: ${info.file_count}`);
58
+ console.log('');
59
+ }
60
+ // ---------------------------------------------------------------------------
61
+ // backup list (offline)
62
+ // ---------------------------------------------------------------------------
63
+ /**
64
+ * List available backups from the backups directory (offline, no daemon needed).
65
+ */
66
+ export async function backupListCommand(opts) {
67
+ const backupsDir = join(opts.dataDir, 'backups');
68
+ if (!existsSync(backupsDir)) {
69
+ console.log('No backups found.');
70
+ return;
71
+ }
72
+ const files = readdirSync(backupsDir).filter((f) => f.endsWith('.waiaas-backup'));
73
+ if (files.length === 0) {
74
+ console.log('No backups found.');
75
+ return;
76
+ }
77
+ const rows = [];
78
+ for (const file of files) {
79
+ const filePath = join(backupsDir, file);
80
+ try {
81
+ const archive = readFileSync(filePath);
82
+ const metadata = readArchiveMetadata(archive);
83
+ const stat = statSync(filePath);
84
+ const fileCount = 1 +
85
+ (metadata.contents.config ? 1 : 0) +
86
+ metadata.contents.keystore_files.length;
87
+ rows.push({
88
+ filename: file,
89
+ size: formatSize(stat.size),
90
+ created_at: metadata.created_at,
91
+ daemon_version: metadata.daemon_version,
92
+ schema_version: metadata.schema_version,
93
+ files: fileCount,
94
+ });
95
+ }
96
+ catch {
97
+ // Skip malformed backups
98
+ }
99
+ }
100
+ // Sort newest-first
101
+ rows.sort((a, b) => b.created_at.localeCompare(a.created_at));
102
+ // Display table
103
+ console.log('\nAvailable Backups:\n');
104
+ console.log(' ' +
105
+ 'Filename'.padEnd(40) +
106
+ 'Size'.padEnd(12) +
107
+ 'Created'.padEnd(26) +
108
+ 'Version'.padEnd(10) +
109
+ 'Schema'.padEnd(8) +
110
+ 'Files');
111
+ console.log(' ' + '-'.repeat(96));
112
+ for (const row of rows) {
113
+ console.log(' ' +
114
+ row.filename.padEnd(40) +
115
+ row.size.padEnd(12) +
116
+ row.created_at.padEnd(26) +
117
+ row.daemon_version.padEnd(10) +
118
+ String(row.schema_version).padEnd(8) +
119
+ String(row.files));
120
+ }
121
+ console.log(`\nTotal: ${rows.length} backup(s)\n`);
122
+ }
123
+ // ---------------------------------------------------------------------------
124
+ // backup inspect (offline)
125
+ // ---------------------------------------------------------------------------
126
+ /**
127
+ * Inspect a backup file's metadata without requiring the master password.
128
+ */
129
+ export async function backupInspectCommand(archivePath) {
130
+ if (!existsSync(archivePath)) {
131
+ console.error(`Error: Backup file not found: ${archivePath}`);
132
+ process.exit(1);
133
+ }
134
+ let metadata;
135
+ try {
136
+ const archive = readFileSync(archivePath);
137
+ metadata = readArchiveMetadata(archive);
138
+ }
139
+ catch (err) {
140
+ const code = err.code;
141
+ if (code === 'INVALID_BACKUP_FORMAT') {
142
+ console.error(`Error: Not a valid WAIaaS backup file: ${archivePath}`);
143
+ process.exit(1);
144
+ }
145
+ if (code === 'UNSUPPORTED_BACKUP_VERSION') {
146
+ console.error(`Error: Unsupported backup format version: ${archivePath}`);
147
+ process.exit(1);
148
+ }
149
+ throw err;
150
+ }
151
+ const stat = statSync(archivePath);
152
+ console.log('\nBackup Inspection:\n');
153
+ console.log(` File: ${archivePath}`);
154
+ console.log(` Size: ${formatSize(stat.size)}`);
155
+ console.log(` Created at: ${metadata.created_at}`);
156
+ console.log(` Daemon version: ${metadata.daemon_version}`);
157
+ console.log(` Schema version: ${metadata.schema_version}`);
158
+ console.log(` KDF: ${metadata.kdf}`);
159
+ console.log(` KDF params: memory=${metadata.kdf_params.memory_cost}, time=${metadata.kdf_params.time_cost}, parallelism=${metadata.kdf_params.parallelism}`);
160
+ console.log(` Checksum: ${metadata.checksum}`);
161
+ console.log('');
162
+ console.log(' Contents:');
163
+ console.log(` Database: ${metadata.contents.database.name} (${formatSize(metadata.contents.database.size)})`);
164
+ if (metadata.contents.config) {
165
+ console.log(` Config: ${metadata.contents.config.name} (${formatSize(metadata.contents.config.size)})`);
166
+ }
167
+ if (metadata.contents.keystore_files.length > 0) {
168
+ console.log(` Keystore files (${metadata.contents.keystore_files.length}):`);
169
+ for (const kf of metadata.contents.keystore_files) {
170
+ console.log(` - ${kf.name} (${formatSize(kf.size)})`);
171
+ }
172
+ }
173
+ else {
174
+ console.log(' Keystore files: none');
175
+ }
176
+ console.log('');
177
+ }
178
+ // ---------------------------------------------------------------------------
179
+ // Helpers
180
+ // ---------------------------------------------------------------------------
181
+ function formatSize(bytes) {
182
+ if (bytes < 1024)
183
+ return `${bytes} B`;
184
+ if (bytes < 1024 * 1024)
185
+ return `${(bytes / 1024).toFixed(1)} KB`;
186
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
187
+ }
188
+ //# sourceMappingURL=backup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/commands/backup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `waiaas restore` -- Restore from an encrypted backup.
3
+ *
4
+ * Safety checks:
5
+ * 1. Validates backup file exists
6
+ * 2. Checks daemon is not running (PID file)
7
+ * 3. Pre-inspects backup metadata
8
+ * 4. Confirmation prompt (unless --force)
9
+ * 5. Decrypts backup with master password
10
+ * 6. Preserves existing data as .bak-{timestamp}
11
+ * 7. Writes restored files + PRAGMA integrity_check
12
+ * 8. Auto-rollback on failure
13
+ */
14
+ export interface RestoreOptions {
15
+ from: string;
16
+ dataDir: string;
17
+ password?: string;
18
+ force?: boolean;
19
+ }
20
+ /**
21
+ * Restore from an encrypted .waiaas-backup archive.
22
+ *
23
+ * The daemon must NOT be running. Existing data is preserved as .bak-{timestamp}.
24
+ * On failure, .bak files are automatically restored.
25
+ */
26
+ export declare function restoreCommand(opts: RestoreOptions): Promise<void>;
27
+ //# sourceMappingURL=restore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA2BH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsLxE"}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * `waiaas restore` -- Restore from an encrypted backup.
3
+ *
4
+ * Safety checks:
5
+ * 1. Validates backup file exists
6
+ * 2. Checks daemon is not running (PID file)
7
+ * 3. Pre-inspects backup metadata
8
+ * 4. Confirmation prompt (unless --force)
9
+ * 5. Decrypts backup with master password
10
+ * 6. Preserves existing data as .bak-{timestamp}
11
+ * 7. Writes restored files + PRAGMA integrity_check
12
+ * 8. Auto-rollback on failure
13
+ */
14
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, renameSync, rmSync, } from 'node:fs';
15
+ import { join, basename, dirname } from 'node:path';
16
+ import { createDecipheriv } from 'node:crypto';
17
+ import Database from 'better-sqlite3';
18
+ import { readArchiveHeader, readArchiveMetadata, decodeEntries, deriveKey, BACKUP_HEADER_SIZE, } from '@waiaas/daemon';
19
+ import { resolvePassword } from '../utils/password.js';
20
+ import { promptText } from '../utils/prompt.js';
21
+ // ---------------------------------------------------------------------------
22
+ // Restore command
23
+ // ---------------------------------------------------------------------------
24
+ /**
25
+ * Restore from an encrypted .waiaas-backup archive.
26
+ *
27
+ * The daemon must NOT be running. Existing data is preserved as .bak-{timestamp}.
28
+ * On failure, .bak files are automatically restored.
29
+ */
30
+ export async function restoreCommand(opts) {
31
+ const { from: archivePath, dataDir, force } = opts;
32
+ // 1. Validate archive exists
33
+ if (!existsSync(archivePath)) {
34
+ console.error(`Error: Backup file not found: ${archivePath}`);
35
+ process.exit(1);
36
+ }
37
+ // 2. Check daemon not running
38
+ const pidFile = join(dataDir, 'daemon.pid');
39
+ if (existsSync(pidFile)) {
40
+ const pidStr = readFileSync(pidFile, 'utf-8').trim();
41
+ const pid = parseInt(pidStr, 10);
42
+ if (!isNaN(pid)) {
43
+ let processAlive = false;
44
+ try {
45
+ process.kill(pid, 0); // signal 0 = check if process exists
46
+ processAlive = true;
47
+ }
48
+ catch {
49
+ // Process not found -- stale PID file, safe to continue
50
+ try {
51
+ rmSync(pidFile);
52
+ }
53
+ catch { /* best effort */ }
54
+ }
55
+ if (processAlive) {
56
+ console.error('Error: WAIaaS daemon is running. Stop it first: waiaas stop');
57
+ process.exit(1);
58
+ }
59
+ }
60
+ }
61
+ // 3. Pre-inspect backup metadata
62
+ const archiveBuffer = readFileSync(archivePath);
63
+ let metadata;
64
+ try {
65
+ metadata = readArchiveMetadata(archiveBuffer);
66
+ }
67
+ catch (err) {
68
+ const code = err.code;
69
+ if (code === 'INVALID_BACKUP_FORMAT') {
70
+ console.error(`Error: Not a valid WAIaaS backup file: ${archivePath}`);
71
+ process.exit(1);
72
+ }
73
+ throw err;
74
+ }
75
+ const fileCount = 1 +
76
+ (metadata.contents.config ? 1 : 0) +
77
+ metadata.contents.keystore_files.length;
78
+ console.log('\nBackup to restore:\n');
79
+ console.log(` File: ${basename(archivePath)}`);
80
+ console.log(` Created at: ${metadata.created_at}`);
81
+ console.log(` Daemon version: ${metadata.daemon_version}`);
82
+ console.log(` Schema version: ${metadata.schema_version}`);
83
+ console.log(` File count: ${fileCount}`);
84
+ console.log(` Size: ${formatSize(archiveBuffer.length)}`);
85
+ console.log('');
86
+ // 4. Confirmation prompt
87
+ if (!force) {
88
+ const answer = await promptText('This will replace your current data with the backup. Continue? (y/N) ');
89
+ if (answer.toLowerCase() !== 'y') {
90
+ console.log('Restore cancelled.');
91
+ return;
92
+ }
93
+ }
94
+ // 5. Decrypt backup
95
+ console.log('Decrypting backup...');
96
+ const password = opts.password ?? await resolvePassword(dataDir);
97
+ const header = readArchiveHeader(archiveBuffer);
98
+ const payloadStart = BACKUP_HEADER_SIZE + header.metadataLength;
99
+ const encryptedPayload = archiveBuffer.subarray(payloadStart);
100
+ const { key } = await deriveKey(password, header.salt);
101
+ let entries;
102
+ try {
103
+ const decipher = createDecipheriv('aes-256-gcm', key, header.nonce);
104
+ decipher.setAuthTag(header.authTag);
105
+ const plainPayload = Buffer.concat([
106
+ decipher.update(encryptedPayload),
107
+ decipher.final(),
108
+ ]);
109
+ entries = decodeEntries(plainPayload);
110
+ }
111
+ catch {
112
+ key.fill(0);
113
+ console.error('Error: Wrong master password or corrupted backup (GCM auth tag mismatch).');
114
+ process.exit(1);
115
+ }
116
+ key.fill(0);
117
+ console.log(`Decrypted ${entries.length} file(s).`);
118
+ // 6. Create .bak preservations
119
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
120
+ const bakPaths = [];
121
+ const dataDbDir = join(dataDir, 'data');
122
+ const keystoreDir = join(dataDir, 'keystore');
123
+ const configPath = join(dataDir, 'config.toml');
124
+ if (existsSync(dataDbDir)) {
125
+ const bakPath = `${dataDbDir}.bak-${timestamp}`;
126
+ renameSync(dataDbDir, bakPath);
127
+ bakPaths.push({ original: dataDbDir, backup: bakPath });
128
+ }
129
+ if (existsSync(keystoreDir)) {
130
+ const bakPath = `${keystoreDir}.bak-${timestamp}`;
131
+ renameSync(keystoreDir, bakPath);
132
+ bakPaths.push({ original: keystoreDir, backup: bakPath });
133
+ }
134
+ if (existsSync(configPath)) {
135
+ const bakPath = `${configPath}.bak-${timestamp}`;
136
+ renameSync(configPath, bakPath);
137
+ bakPaths.push({ original: configPath, backup: bakPath });
138
+ }
139
+ // 7. Write restored files (with auto-rollback on failure)
140
+ try {
141
+ mkdirSync(dataDbDir, { recursive: true });
142
+ mkdirSync(keystoreDir, { recursive: true });
143
+ for (const entry of entries) {
144
+ if (entry.name === 'waiaas.db') {
145
+ writeFileSync(join(dataDbDir, 'waiaas.db'), entry.data);
146
+ }
147
+ else if (entry.name === 'config.toml') {
148
+ writeFileSync(configPath, entry.data);
149
+ }
150
+ else if (entry.name.startsWith('keystore/')) {
151
+ const entryPath = join(dataDir, entry.name);
152
+ mkdirSync(dirname(entryPath), { recursive: true });
153
+ writeFileSync(entryPath, entry.data);
154
+ }
155
+ }
156
+ // PRAGMA integrity_check
157
+ const dbPath = join(dataDbDir, 'waiaas.db');
158
+ if (existsSync(dbPath)) {
159
+ const db = new Database(dbPath);
160
+ try {
161
+ const result = db.pragma('integrity_check');
162
+ const status = result[0]?.integrity_check ?? 'unknown';
163
+ if (status !== 'ok') {
164
+ throw new Error(`Database integrity check failed: ${status}`);
165
+ }
166
+ console.log('Database integrity check: OK');
167
+ }
168
+ finally {
169
+ db.close();
170
+ }
171
+ }
172
+ }
173
+ catch (err) {
174
+ // 8. Auto-rollback
175
+ console.error(`\nRestore failed: ${err instanceof Error ? err.message : String(err)}`);
176
+ console.log('Rolling back to original data...');
177
+ // Remove partially written files
178
+ try {
179
+ rmSync(dataDbDir, { recursive: true, force: true });
180
+ }
181
+ catch { /* best effort */ }
182
+ try {
183
+ rmSync(keystoreDir, { recursive: true, force: true });
184
+ }
185
+ catch { /* best effort */ }
186
+ try {
187
+ rmSync(configPath, { force: true });
188
+ }
189
+ catch { /* best effort */ }
190
+ // Restore .bak files
191
+ for (const bak of bakPaths) {
192
+ try {
193
+ renameSync(bak.backup, bak.original);
194
+ }
195
+ catch {
196
+ console.error(`Warning: Could not restore ${bak.backup} -> ${bak.original}`);
197
+ }
198
+ }
199
+ console.error('Original data has been restored from .bak files.');
200
+ process.exit(1);
201
+ }
202
+ // Success
203
+ console.log('\nRestore complete!\n');
204
+ console.log(` Restored from: ${basename(archivePath)}`);
205
+ if (bakPaths.length > 0) {
206
+ console.log(` Original data preserved as .bak-${timestamp}`);
207
+ }
208
+ console.log(' Start the daemon: waiaas start');
209
+ console.log('');
210
+ }
211
+ // ---------------------------------------------------------------------------
212
+ // Helpers
213
+ // ---------------------------------------------------------------------------
214
+ function formatSize(bytes) {
215
+ if (bytes < 1024)
216
+ return `${bytes} B`;
217
+ if (bytes < 1024 * 1024)
218
+ return `${(bytes / 1024).toFixed(1)} KB`;
219
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
220
+ }
221
+ //# sourceMappingURL=restore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -37,6 +37,8 @@ import { sessionPromptCommand } from './commands/session.js';
37
37
  import { notificationSetupCommand } from './commands/notification-setup.js';
38
38
  import { updateCommand } from './commands/update.js';
39
39
  import { setMasterCommand } from './commands/set-master.js';
40
+ import { backupCommand, backupListCommand, backupInspectCommand } from './commands/backup.js';
41
+ import { restoreCommand } from './commands/restore.js';
40
42
  import { resolveDataDir } from './utils/data-dir.js';
41
43
  import { checkAndNotifyUpdate } from './utils/update-notify.js';
42
44
  const require = createRequire(import.meta.url);
@@ -283,6 +285,44 @@ program
283
285
  const dataDir = resolveDataDir(opts);
284
286
  await setMasterCommand({ dataDir, baseUrl: opts.baseUrl, password: opts.password });
285
287
  });
288
+ // Backup subcommand group
289
+ const backup = program.command('backup').description('Backup management commands');
290
+ backup
291
+ .command('create')
292
+ .description('Create an encrypted backup (daemon must be running)')
293
+ .option('--base-url <url>', 'Daemon base URL', 'http://127.0.0.1:3100')
294
+ .option('--password <password>', 'Master password')
295
+ .option('--data-dir <path>', 'Data directory path')
296
+ .action(async (opts) => {
297
+ await backupCommand(opts);
298
+ });
299
+ backup
300
+ .command('list')
301
+ .description('List available backups (offline)')
302
+ .option('--data-dir <path>', 'Data directory path')
303
+ .action(async (opts) => {
304
+ const dataDir = resolveDataDir(opts);
305
+ await backupListCommand({ dataDir });
306
+ });
307
+ backup
308
+ .command('inspect')
309
+ .description('Inspect a backup file (offline, no password needed)')
310
+ .argument('<path>', 'Path to .waiaas-backup file')
311
+ .action(async (archivePath) => {
312
+ await backupInspectCommand(archivePath);
313
+ });
314
+ // Restore command
315
+ program
316
+ .command('restore')
317
+ .description('Restore from an encrypted backup (daemon must be stopped)')
318
+ .requiredOption('--from <path>', 'Path to .waiaas-backup file')
319
+ .option('--data-dir <path>', 'Data directory path')
320
+ .option('--password <password>', 'Master password')
321
+ .option('--force', 'Skip confirmation prompt')
322
+ .action(async (opts) => {
323
+ const dataDir = resolveDataDir(opts);
324
+ await restoreCommand({ ...opts, dataDir });
325
+ });
286
326
  // Pre-parse --quiet and --data-dir from argv (program.opts() is empty before parseAsync)
287
327
  const hasQuiet = process.argv.includes('--quiet');
288
328
  const dataDirIdx = process.argv.indexOf('--data-dir');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waiaas/cli",
3
- "version": "2.9.0",
3
+ "version": "2.10.0-rc",
4
4
  "description": "WAIaaS CLI - command-line interface for managing the wallet daemon",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -31,12 +31,14 @@
31
31
  "dependencies": {
32
32
  "commander": "^13.0.0",
33
33
  "qrcode": "^1.5.4",
34
+ "better-sqlite3": "^11.9.1",
34
35
  "semver": "^7.7.4",
35
- "@waiaas/core": "2.9.0",
36
- "@waiaas/daemon": "2.9.0"
36
+ "@waiaas/core": "2.10.0-rc",
37
+ "@waiaas/daemon": "2.10.0-rc"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@hono/node-server": "^1.19.9",
41
+ "@types/better-sqlite3": "^7.6.13",
40
42
  "@types/qrcode": "^1.5.6",
41
43
  "@types/semver": "^7.7.1",
42
44
  "argon2": "^0.44.0"