@tuskydp/cli 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/src/commands/decrypt.d.ts.map +1 -1
  3. package/dist/src/commands/decrypt.js +53 -21
  4. package/dist/src/commands/decrypt.js.map +1 -1
  5. package/dist/src/commands/download.d.ts +1 -0
  6. package/dist/src/commands/download.d.ts.map +1 -1
  7. package/dist/src/commands/download.js +81 -11
  8. package/dist/src/commands/download.js.map +1 -1
  9. package/dist/src/commands/export.d.ts +6 -0
  10. package/dist/src/commands/export.d.ts.map +1 -1
  11. package/dist/src/commands/export.js +29 -17
  12. package/dist/src/commands/export.js.map +1 -1
  13. package/dist/src/commands/files.d.ts.map +1 -1
  14. package/dist/src/commands/files.js +89 -10
  15. package/dist/src/commands/files.js.map +1 -1
  16. package/dist/src/commands/folder.d.ts +3 -0
  17. package/dist/src/commands/folder.d.ts.map +1 -0
  18. package/dist/src/commands/folder.js +151 -0
  19. package/dist/src/commands/folder.js.map +1 -0
  20. package/dist/src/commands/rehydrate.d.ts +1 -0
  21. package/dist/src/commands/rehydrate.d.ts.map +1 -1
  22. package/dist/src/commands/rehydrate.js +15 -7
  23. package/dist/src/commands/rehydrate.js.map +1 -1
  24. package/dist/src/commands/trash.d.ts +3 -0
  25. package/dist/src/commands/trash.d.ts.map +1 -0
  26. package/dist/src/commands/trash.js +109 -0
  27. package/dist/src/commands/trash.js.map +1 -0
  28. package/dist/src/commands/upload.d.ts +4 -0
  29. package/dist/src/commands/upload.d.ts.map +1 -1
  30. package/dist/src/commands/upload.js +104 -3
  31. package/dist/src/commands/upload.js.map +1 -1
  32. package/dist/src/commands/wallet.d.ts +3 -0
  33. package/dist/src/commands/wallet.d.ts.map +1 -0
  34. package/dist/src/commands/wallet.js +126 -0
  35. package/dist/src/commands/wallet.js.map +1 -0
  36. package/dist/src/commands/webhook.d.ts +3 -0
  37. package/dist/src/commands/webhook.d.ts.map +1 -0
  38. package/dist/src/commands/webhook.js +172 -0
  39. package/dist/src/commands/webhook.js.map +1 -0
  40. package/dist/src/crypto.d.ts +16 -0
  41. package/dist/src/crypto.d.ts.map +1 -1
  42. package/dist/src/crypto.js +26 -0
  43. package/dist/src/crypto.js.map +1 -1
  44. package/dist/src/index.js +17 -5
  45. package/dist/src/index.js.map +1 -1
  46. package/dist/src/mcp/server.d.ts.map +1 -1
  47. package/dist/src/mcp/server.js +2 -1
  48. package/dist/src/mcp/server.js.map +1 -1
  49. package/dist/src/mcp/tools/files.d.ts.map +1 -1
  50. package/dist/src/mcp/tools/files.js +40 -5
  51. package/dist/src/mcp/tools/files.js.map +1 -1
  52. package/dist/src/seal.d.ts +16 -0
  53. package/dist/src/seal.d.ts.map +1 -1
  54. package/dist/src/seal.js +23 -0
  55. package/dist/src/seal.js.map +1 -1
  56. package/dist/src/tui/files-panel.d.ts +31 -1
  57. package/dist/src/tui/files-panel.d.ts.map +1 -1
  58. package/dist/src/tui/files-panel.js +118 -11
  59. package/dist/src/tui/files-panel.js.map +1 -1
  60. package/dist/src/tui/index.d.ts.map +1 -1
  61. package/dist/src/tui/index.js +272 -33
  62. package/dist/src/tui/index.js.map +1 -1
  63. package/dist/src/tui/overview.d.ts.map +1 -1
  64. package/dist/src/tui/overview.js +24 -8
  65. package/dist/src/tui/overview.js.map +1 -1
  66. package/dist/src/tui/trash-screen.d.ts +4 -0
  67. package/dist/src/tui/trash-screen.d.ts.map +1 -0
  68. package/dist/src/tui/trash-screen.js +190 -0
  69. package/dist/src/tui/trash-screen.js.map +1 -0
  70. package/dist/src/tui/vaults-panel.d.ts +8 -0
  71. package/dist/src/tui/vaults-panel.d.ts.map +1 -1
  72. package/dist/src/tui/vaults-panel.js +45 -6
  73. package/dist/src/tui/vaults-panel.js.map +1 -1
  74. package/dist/src/version.d.ts +2 -0
  75. package/dist/src/version.d.ts.map +1 -0
  76. package/dist/src/version.js +21 -0
  77. package/dist/src/version.js.map +1 -0
  78. package/package.json +3 -3
  79. package/src/commands/decrypt.ts +56 -23
  80. package/src/commands/download.ts +82 -11
  81. package/src/commands/export.ts +35 -19
  82. package/src/commands/files.ts +93 -9
  83. package/src/commands/folder.ts +169 -0
  84. package/src/commands/rehydrate.ts +15 -8
  85. package/src/commands/trash.ts +121 -0
  86. package/src/commands/upload.ts +126 -3
  87. package/src/commands/wallet.ts +183 -0
  88. package/src/commands/webhook.ts +193 -0
  89. package/src/crypto.ts +35 -0
  90. package/src/index.ts +17 -6
  91. package/src/mcp/server.ts +2 -1
  92. package/src/mcp/tools/files.ts +43 -5
  93. package/src/seal.ts +34 -1
  94. package/src/tui/files-panel.ts +139 -11
  95. package/src/tui/index.ts +289 -33
  96. package/src/tui/overview.ts +22 -8
  97. package/src/tui/trash-screen.ts +203 -0
  98. package/src/tui/vaults-panel.ts +55 -6
  99. package/src/version.ts +21 -0
  100. package/vitest.config.ts +1 -0
  101. package/dist/src/client.d.ts +0 -120
  102. package/dist/src/client.d.ts.map +0 -1
  103. package/dist/src/client.js +0 -152
  104. package/dist/src/client.js.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,20 @@
1
+ # @tuskydp/cli
2
+
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add encrypted filename support for private and shared vaults
8
+
9
+ - cli: encryptMetadata/decryptMetadata (AES-256-GCM), sealEncryptMetadata, upload/download/MCP tools encrypt filenames transparently
10
+ - cli: folder, trash, webhook, wallet commands; TUI shared vault navigation
11
+ - cli: --stdout/--stdin flags for sandbox compat; TUSKYDP_PASSWORD env fallback
12
+ - cli: fix reading version from package.json
13
+ - sdk: new fields on FileResponse, FileStatusResponse, RequestUploadParams for encrypted name support
14
+ - shared: METADATA_NONCE_PREFIX constant for SEAL identity separation
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies
19
+ - @tuskydp/sdk@0.3.0
20
+ - @tuskydp/shared@0.3.0
@@ -1 +1 @@
1
- {"version":3,"file":"decrypt.d.ts","sourceRoot":"","sources":["../../../src/commands/decrypt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4EzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QA0LtD"}
1
+ {"version":3,"file":"decrypt.d.ts","sourceRoot":"","sources":["../../../src/commands/decrypt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsFzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAiNtD"}
@@ -13,10 +13,10 @@
13
13
  import { readFileSync, writeFileSync, existsSync } from 'fs';
14
14
  import { resolve, basename } from 'path';
15
15
  import chalk from 'chalk';
16
+ import ora from 'ora';
16
17
  import inquirer from 'inquirer';
17
18
  import { getApiUrl, getApiKey } from '../config.js';
18
19
  import { createSDKClient } from '../sdk.js';
19
- import { createSpinner } from '../lib/progress.js';
20
20
  import { loadMasterKey } from '../lib/keyring.js';
21
21
  import { deriveMasterKey, verifyPassphrase, unwrapMasterKey, decryptBuffer, } from '../crypto.js';
22
22
  // ---------------------------------------------------------------------------
@@ -65,11 +65,21 @@ async function resolveMasterKey(options) {
65
65
  // ---------------------------------------------------------------------------
66
66
  // Command registration
67
67
  // ---------------------------------------------------------------------------
68
+ async function readStdin() {
69
+ return new Promise((resolve, reject) => {
70
+ const chunks = [];
71
+ process.stdin.on('data', (chunk) => chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk)));
72
+ process.stdin.on('end', () => resolve(Buffer.concat(chunks)));
73
+ process.stdin.on('error', reject);
74
+ });
75
+ }
68
76
  export function registerDecryptCommand(program) {
69
77
  program
70
- .command('decrypt <encrypted-file>')
78
+ .command('decrypt [encrypted-file]')
71
79
  .description('Decrypt a file downloaded from Walrus using your encryption passphrase')
72
80
  .option('-o, --output <path>', 'Output path for decrypted file')
81
+ .option('--stdin', 'Read ciphertext from stdin (for sandboxed agents without filesystem access)')
82
+ .option('--stdout', 'Write plaintext to stdout instead of a file')
73
83
  .option('--file-id <id>', 'Tusky file ID (to look up wrappedKey/iv from API)')
74
84
  .option('--export <path>', 'Path to tusky-export.json manifest (for offline decryption)')
75
85
  .option('--passphrase <passphrase>', 'Encryption passphrase (also reads TUSKYDP_PASSWORD env var)')
@@ -77,19 +87,35 @@ export function registerDecryptCommand(program) {
77
87
  .option('--iv <iv>', 'Per-file encryption IV (base64, from export manifest)')
78
88
  .option('--checksum <sha256>', 'Expected plaintext SHA-256 checksum (hex)')
79
89
  .action(async (encryptedFile, options) => {
80
- const spinner = createSpinner('Preparing decryption...');
90
+ // When piping to stdout, send spinner to stderr to avoid polluting the binary stream
91
+ const spinnerStream = options.stdout ? process.stderr : process.stdout;
92
+ const spinner = ora({ text: 'Preparing decryption...', stream: spinnerStream });
81
93
  spinner.start();
82
94
  try {
83
- // Resolve the encrypted file
84
- const inputPath = resolve(encryptedFile);
85
- if (!existsSync(inputPath)) {
86
- spinner.fail(`File not found: ${inputPath}`);
87
- return;
95
+ // Resolve ciphertext source: --stdin, or file path
96
+ let ciphertext;
97
+ let defaultFileName = 'decrypted';
98
+ if (options.stdin) {
99
+ spinner.text = 'Reading ciphertext from stdin...';
100
+ ciphertext = await readStdin();
101
+ }
102
+ else {
103
+ if (!encryptedFile) {
104
+ spinner.fail('Provide an encrypted file path, or use --stdin to read from stdin.');
105
+ return;
106
+ }
107
+ const inputPath = resolve(encryptedFile);
108
+ if (!existsSync(inputPath)) {
109
+ spinner.fail(`File not found: ${inputPath}`);
110
+ return;
111
+ }
112
+ defaultFileName = basename(inputPath).replace(/\.enc$/, '');
113
+ ciphertext = readFileSync(inputPath);
88
114
  }
89
115
  let wrappedKey;
90
116
  let iv;
91
117
  let checksum = options.checksum;
92
- let fileName = basename(inputPath).replace(/\.enc$/, '');
118
+ let fileName = defaultFileName;
93
119
  let encryptionParams = {};
94
120
  // ── Mode 1: Export manifest ──────────────────────────────────
95
121
  if (options.export) {
@@ -105,9 +131,7 @@ export function registerDecryptCommand(program) {
105
131
  exportedFile = manifest.files.find((f) => f.fileId === options.fileId);
106
132
  }
107
133
  else {
108
- // Try to match by filename
109
- const inputBase = basename(inputPath);
110
- exportedFile = manifest.files.find((f) => f.name === inputBase || f.name === fileName);
134
+ exportedFile = manifest.files.find((f) => f.name === defaultFileName || f.name === encryptedFile);
111
135
  if (!exportedFile && manifest.files.length === 1) {
112
136
  exportedFile = manifest.files[0];
113
137
  }
@@ -115,7 +139,7 @@ export function registerDecryptCommand(program) {
115
139
  if (!exportedFile) {
116
140
  spinner.fail(options.fileId
117
141
  ? `File ID ${options.fileId} not found in export manifest.`
118
- : `Could not match "${basename(inputPath)}" to a file in the export manifest. Use --file-id to specify.`);
142
+ : `Could not match "${defaultFileName}" to a file in the export manifest. Use --file-id to specify.`);
119
143
  return;
120
144
  }
121
145
  if (!exportedFile.encrypted) {
@@ -201,16 +225,24 @@ export function registerDecryptCommand(program) {
201
225
  passphrase: options.passphrase,
202
226
  ...encryptionParams,
203
227
  });
204
- // Read and decrypt
228
+ // Decrypt
205
229
  spinner.text = 'Decrypting...';
206
- const ciphertext = readFileSync(inputPath);
207
230
  const plaintext = decryptBuffer(ciphertext, wrappedKey, iv, masterKey, checksum);
208
- // Write output
209
- const outputPath = options.output ? resolve(options.output) : resolve(fileName);
210
- writeFileSync(outputPath, plaintext);
211
- spinner.succeed(`Decrypted -> ${outputPath} (${plaintext.length} bytes)`);
212
- if (checksum) {
213
- console.log(chalk.dim(' Integrity check passed (SHA-256)'));
231
+ if (options.stdout) {
232
+ spinner.stop();
233
+ process.stdout.write(plaintext);
234
+ if (checksum) {
235
+ process.stderr.write(chalk.dim(' Integrity check passed (SHA-256)\n'));
236
+ }
237
+ }
238
+ else {
239
+ // Write to disk
240
+ const outputPath = options.output ? resolve(options.output) : resolve(fileName);
241
+ writeFileSync(outputPath, plaintext);
242
+ spinner.succeed(`Decrypted -> ${outputPath} (${plaintext.length} bytes)`);
243
+ if (checksum) {
244
+ console.log(chalk.dim(' Integrity check passed (SHA-256)'));
245
+ }
214
246
  }
215
247
  }
216
248
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../../src/commands/decrypt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../../src/commands/decrypt.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Command } from 'commander';
2
2
  export declare function downloadCommand(fileId: string, options: {
3
3
  output?: string;
4
+ stdout?: boolean;
4
5
  }, program: Command): Promise<void>;
5
6
  //# sourceMappingURL=download.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/commands/download.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,EAAE,OAAO,EAAE,OAAO,iBAwFlB"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/commands/download.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,EAAE,OAAO,EAAE,OAAO,iBA8JlB"}
@@ -1,17 +1,19 @@
1
1
  import { writeFileSync } from 'fs';
2
2
  import { join } from 'path';
3
+ import ora from 'ora';
3
4
  import { getApiUrl, getApiKey } from '../config.js';
4
5
  import { createSDKClient } from '../sdk.js';
5
6
  import { formatBytes } from '../lib/output.js';
6
- import { createSpinner } from '../lib/progress.js';
7
- import { decryptBuffer } from '../crypto.js';
7
+ import { decryptBuffer, decryptMetadata, deriveMasterKey, unwrapMasterKey, verifyPassphrase } from '../crypto.js';
8
8
  import { loadMasterKey } from '../lib/keyring.js';
9
- import { sealDecrypt, getSuiKeypair } from '../seal.js';
9
+ import { sealDecrypt, sealDecryptMetadata, getSuiKeypair } from '../seal.js';
10
10
  export async function downloadCommand(fileId, options, program) {
11
11
  const apiUrl = getApiUrl(program.opts().apiUrl);
12
12
  const apiKey = getApiKey(program.opts().apiKey);
13
13
  const sdk = createSDKClient(apiUrl, apiKey);
14
- const spinner = createSpinner('Fetching file info...');
14
+ // When piping to stdout, send spinner to stderr to avoid polluting the binary stream
15
+ const spinnerStream = options.stdout ? process.stderr : process.stdout;
16
+ const spinner = ora({ text: 'Fetching file info...', stream: spinnerStream });
15
17
  spinner.start();
16
18
  try {
17
19
  // Get download URL and encryption metadata
@@ -64,21 +66,89 @@ export async function downloadCommand(fileId, options, program) {
64
66
  else {
65
67
  // Passphrase-encrypted (private vault)
66
68
  spinner.text = 'Decrypting...';
67
- const masterKey = loadMasterKey();
69
+ let masterKey = loadMasterKey();
68
70
  if (!masterKey) {
69
- spinner.fail('Encryption session not unlocked. Run: tusky encryption unlock');
70
- return;
71
+ // Try TUSKYDP_PASSWORD env var (sandbox / agent mode)
72
+ const password = process.env.TUSKYDP_PASSWORD;
73
+ if (password) {
74
+ const params = await sdk.account.getEncryptionParams();
75
+ if (params.salt) {
76
+ const salt = Buffer.from(params.salt, 'base64');
77
+ const wrappingKey = deriveMasterKey(password, salt);
78
+ if (params.verifier) {
79
+ const verifierBuf = Buffer.from(params.verifier, 'base64');
80
+ if (!verifyPassphrase(wrappingKey, verifierBuf)) {
81
+ spinner.fail('TUSKYDP_PASSWORD is incorrect.');
82
+ return;
83
+ }
84
+ }
85
+ masterKey = params.encryptedMasterKey
86
+ ? unwrapMasterKey(Buffer.from(params.encryptedMasterKey, 'base64'), wrappingKey)
87
+ : wrappingKey;
88
+ }
89
+ }
90
+ if (!masterKey) {
91
+ spinner.fail('Encryption session not unlocked. Run: tusky encryption unlock (or set TUSKYDP_PASSWORD env var)');
92
+ return;
93
+ }
71
94
  }
72
95
  // Narrow to passphrase type
73
96
  const enc = encryption;
74
97
  fileBuffer = decryptBuffer(fileBuffer, enc.wrappedKey, enc.iv, masterKey, enc.plaintextChecksumSha256 ?? undefined);
75
98
  }
76
99
  }
77
- // Write to disk — use getStatus to get filename
100
+ // Output: stdout or disk
78
101
  const fileInfo = await sdk.files.getStatus(fileId);
79
- const outputPath = options.output || join(process.cwd(), fileInfo.name);
80
- writeFileSync(outputPath, fileBuffer);
81
- spinner.succeed(`Downloaded -> ${outputPath} (${formatBytes(fileBuffer.length)})`);
102
+ // Resolve the real filename decrypt if nameEncrypted
103
+ let displayName = fileInfo.name;
104
+ if (fileInfo.nameEncrypted) {
105
+ try {
106
+ if (fileInfo.encryptedName) {
107
+ // Private vault — decrypt with master key
108
+ let mk = loadMasterKey();
109
+ if (!mk) {
110
+ const passphrase = process.env.TUSKYDP_PASSWORD;
111
+ if (passphrase) {
112
+ const params = await sdk.account.getEncryptionParams();
113
+ if (params.salt) {
114
+ const saltBuf = Buffer.from(params.salt, 'base64');
115
+ const wk = deriveMasterKey(passphrase, saltBuf);
116
+ mk = params.encryptedMasterKey
117
+ ? unwrapMasterKey(Buffer.from(params.encryptedMasterKey, 'base64'), wk)
118
+ : wk;
119
+ }
120
+ }
121
+ }
122
+ if (mk) {
123
+ const meta = decryptMetadata(fileInfo.encryptedName, mk);
124
+ displayName = meta.n;
125
+ }
126
+ }
127
+ else if (fileInfo.encryptedMetadata) {
128
+ // Shared vault — decrypt with SEAL keypair
129
+ const keypair = getSuiKeypair();
130
+ if (keypair) {
131
+ const fileObj = await sdk.files.get(fileId);
132
+ const vault = await sdk.vaults.get(fileObj.vaultId);
133
+ const meta = await sealDecryptMetadata(fileInfo.encryptedMetadata, vault, keypair);
134
+ displayName = meta.n;
135
+ }
136
+ }
137
+ }
138
+ catch {
139
+ // Fall back to placeholder if decryption fails
140
+ }
141
+ }
142
+ if (options.stdout) {
143
+ // Pipe raw bytes to stdout — stop spinner first so it doesn't interleave
144
+ spinner.stop();
145
+ process.stdout.write(fileBuffer);
146
+ }
147
+ else {
148
+ const outputPath = options.output || join(process.cwd(), displayName);
149
+ writeFileSync(outputPath, fileBuffer);
150
+ spinner.succeed(`Downloaded -> ${outputPath} (${formatBytes(fileBuffer.length)})`);
151
+ }
82
152
  }
83
153
  catch (err) {
84
154
  spinner.fail(`Download failed: ${err.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/commands/download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/commands/download.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,12 @@ export interface ExportedFile {
37
37
  plaintextChecksumSha256: string | null;
38
38
  /** Original plaintext size in bytes (before encryption) */
39
39
  plaintextSizeBytes: number | null;
40
+ /** Whether the filename is encrypted */
41
+ nameEncrypted: boolean;
42
+ /** AES-256-GCM encrypted filename+mimeType blob (private vaults) */
43
+ encryptedName: string | null;
44
+ /** SEAL-encrypted filename+mimeType blob (shared vaults) */
45
+ encryptedMetadata: string | null;
40
46
  createdAt: string;
41
47
  }
42
48
  export interface ExportManifest {
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gEAAgE;IAChE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,4DAA4D;IAC5D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iDAAiD;IACjD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,6EAA6E;IAC7E,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,8EAA8E;IAC9E,UAAU,EAAE;QACV,aAAa,EAAE,OAAO,CAAC;QACvB,2BAA2B;QAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,uDAAuD;QACvD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,8DAA8D;QAC9D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACH;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QA4KrD"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gEAAgE;IAChE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,4DAA4D;IAC5D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iDAAiD;IACjD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,6EAA6E;IAC7E,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,wCAAwC;IACxC,aAAa,EAAE,OAAO,CAAC;IACvB,oEAAoE;IACpE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,4DAA4D;IAC5D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,8EAA8E;IAC9E,UAAU,EAAE;QACV,aAAa,EAAE,OAAO,CAAC;QACvB,2BAA2B;QAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,uDAAuD;QACvD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,8DAA8D;QAC9D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IACF,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACH;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAsLrD"}
@@ -21,6 +21,7 @@ export function registerExportCommand(program) {
21
21
  .command('export')
22
22
  .description('Export file metadata for disaster recovery (Walrus blob IDs, encryption keys)')
23
23
  .option('-o, --output <path>', 'Output file path', 'tusky-export.json')
24
+ .option('--stdout', 'Write JSON manifest to stdout instead of a file')
24
25
  .option('--vault <vaultId>', 'Export only files from a specific vault')
25
26
  .action(async (options) => {
26
27
  const apiUrl = getApiUrl(program.opts().apiUrl);
@@ -75,6 +76,9 @@ export function registerExportCommand(program) {
75
76
  encryptionIv: file.encryptionIv,
76
77
  plaintextChecksumSha256: file.plaintextChecksumSha256,
77
78
  plaintextSizeBytes: file.plaintextSizeBytes,
79
+ nameEncrypted: file.nameEncrypted ?? false,
80
+ encryptedName: file.encryptedName ?? null,
81
+ encryptedMetadata: file.encryptedMetadata ?? null,
78
82
  createdAt: file.createdAt,
79
83
  });
80
84
  }
@@ -151,24 +155,32 @@ export function registerExportCommand(program) {
151
155
  ],
152
156
  },
153
157
  };
154
- // Write to disk
155
- const outputPath = resolve(options.output);
156
- writeFileSync(outputPath, JSON.stringify(manifest, null, 2) + '\n', 'utf-8');
157
- spinner.succeed(`Exported ${exportedFiles.length} files from ${vaults.length} vault(s)`);
158
- console.log(chalk.dim(` Output: ${outputPath}`));
159
- console.log('');
160
- // Summary stats
161
- const withBlob = exportedFiles.filter((f) => f.walrusBlobId).length;
162
- const encrypted = exportedFiles.filter((f) => f.encrypted).length;
163
- const hotOnly = exportedFiles.filter((f) => !f.walrusBlobId && f.status === 'hot').length;
164
- console.log(` On Walrus: ${withBlob} files (recoverable from Walrus network)`);
165
- console.log(` Encrypted: ${encrypted} files (require passphrase to decrypt)`);
166
- if (hotOnly > 0) {
167
- console.log(chalk.yellow(` Hot only: ${hotOnly} files (NOT yet on Walrusonly in Tusky hot cache)`));
158
+ if (options.stdout) {
159
+ spinner.stop();
160
+ process.stdout.write(JSON.stringify(manifest, null, 2) + '\n');
161
+ }
162
+ else {
163
+ // Write to disk
164
+ const outputPath = resolve(options.output);
165
+ writeFileSync(outputPath, JSON.stringify(manifest, null, 2) + '\n', 'utf-8');
166
+ spinner.succeed(`Exported ${exportedFiles.length} files from ${vaults.length} vault(s)`);
167
+ console.log(chalk.dim(` Output: ${outputPath}`));
168
+ console.log('');
169
+ }
170
+ if (!options.stdout) {
171
+ // Summary stats (only for disk outputstdout is clean JSON)
172
+ const withBlob = exportedFiles.filter((f) => f.walrusBlobId).length;
173
+ const encrypted = exportedFiles.filter((f) => f.encrypted).length;
174
+ const hotOnly = exportedFiles.filter((f) => !f.walrusBlobId && f.status === 'hot').length;
175
+ console.log(` On Walrus: ${withBlob} files (recoverable from Walrus network)`);
176
+ console.log(` Encrypted: ${encrypted} files (require passphrase to decrypt)`);
177
+ if (hotOnly > 0) {
178
+ console.log(chalk.yellow(` Hot only: ${hotOnly} files (NOT yet on Walrus — only in Tusky hot cache)`));
179
+ }
180
+ console.log('');
181
+ console.log(chalk.yellow(' Store this file securely — it contains encryption keys.'));
182
+ console.log(chalk.dim(' See the "recovery.instructions" field inside for full recovery steps.'));
168
183
  }
169
- console.log('');
170
- console.log(chalk.yellow(' Store this file securely — it contains encryption keys.'));
171
- console.log(chalk.dim(' See the "recovery.instructions" field inside for full recovery steps.'));
172
184
  }
173
185
  catch (err) {
174
186
  spinner.fail(`Export failed: ${err.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/commands/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/commands/export.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/commands/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAuLpD"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/commands/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QA2QpD"}