@amirdaraee/namewise 0.6.2 → 0.7.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 (131) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +258 -9
  3. package/dist/cli/apply.d.ts +4 -0
  4. package/dist/cli/apply.d.ts.map +1 -0
  5. package/dist/cli/apply.js +66 -0
  6. package/dist/cli/apply.js.map +1 -0
  7. package/dist/cli/clean-empty.d.ts +4 -0
  8. package/dist/cli/clean-empty.d.ts.map +1 -0
  9. package/dist/cli/clean-empty.js +48 -0
  10. package/dist/cli/clean-empty.js.map +1 -0
  11. package/dist/cli/commands.d.ts.map +1 -1
  12. package/dist/cli/commands.js +299 -14
  13. package/dist/cli/commands.js.map +1 -1
  14. package/dist/cli/config-cmd.d.ts +2 -0
  15. package/dist/cli/config-cmd.d.ts.map +1 -0
  16. package/dist/cli/config-cmd.js +71 -0
  17. package/dist/cli/config-cmd.js.map +1 -0
  18. package/dist/cli/dedup.d.ts +5 -0
  19. package/dist/cli/dedup.d.ts.map +1 -0
  20. package/dist/cli/dedup.js +58 -0
  21. package/dist/cli/dedup.js.map +1 -0
  22. package/dist/cli/diff.d.ts +6 -0
  23. package/dist/cli/diff.d.ts.map +1 -0
  24. package/dist/cli/diff.js +75 -0
  25. package/dist/cli/diff.js.map +1 -0
  26. package/dist/cli/find.d.ts +11 -0
  27. package/dist/cli/find.d.ts.map +1 -0
  28. package/dist/cli/find.js +63 -0
  29. package/dist/cli/find.js.map +1 -0
  30. package/dist/cli/flatten.d.ts +4 -0
  31. package/dist/cli/flatten.d.ts.map +1 -0
  32. package/dist/cli/flatten.js +79 -0
  33. package/dist/cli/flatten.js.map +1 -0
  34. package/dist/cli/info.d.ts +2 -0
  35. package/dist/cli/info.d.ts.map +1 -0
  36. package/dist/cli/info.js +65 -0
  37. package/dist/cli/info.js.map +1 -0
  38. package/dist/cli/init.d.ts +2 -0
  39. package/dist/cli/init.d.ts.map +1 -0
  40. package/dist/cli/init.js +139 -0
  41. package/dist/cli/init.js.map +1 -0
  42. package/dist/cli/organize.d.ts +7 -0
  43. package/dist/cli/organize.d.ts.map +1 -0
  44. package/dist/cli/organize.js +39 -0
  45. package/dist/cli/organize.js.map +1 -0
  46. package/dist/cli/rename.d.ts +12 -1
  47. package/dist/cli/rename.d.ts.map +1 -1
  48. package/dist/cli/rename.js +143 -14
  49. package/dist/cli/rename.js.map +1 -1
  50. package/dist/cli/sanitize.d.ts +7 -0
  51. package/dist/cli/sanitize.d.ts.map +1 -0
  52. package/dist/cli/sanitize.js +49 -0
  53. package/dist/cli/sanitize.js.map +1 -0
  54. package/dist/cli/stats.d.ts +4 -0
  55. package/dist/cli/stats.d.ts.map +1 -0
  56. package/dist/cli/stats.js +35 -0
  57. package/dist/cli/stats.js.map +1 -0
  58. package/dist/cli/tree.d.ts +4 -0
  59. package/dist/cli/tree.d.ts.map +1 -0
  60. package/dist/cli/tree.js +65 -0
  61. package/dist/cli/tree.js.map +1 -0
  62. package/dist/cli/undo.d.ts +1 -0
  63. package/dist/cli/undo.d.ts.map +1 -1
  64. package/dist/cli/undo.js +40 -2
  65. package/dist/cli/undo.js.map +1 -1
  66. package/dist/cli/watch.d.ts +2 -0
  67. package/dist/cli/watch.d.ts.map +1 -0
  68. package/dist/cli/watch.js +128 -0
  69. package/dist/cli/watch.js.map +1 -0
  70. package/dist/index.js +14 -10
  71. package/dist/index.js.map +1 -1
  72. package/dist/parsers/pdf-parser.js +2 -2
  73. package/dist/parsers/pdf-parser.js.map +1 -1
  74. package/dist/services/claude-service.d.ts +1 -1
  75. package/dist/services/claude-service.d.ts.map +1 -1
  76. package/dist/services/claude-service.js +5 -3
  77. package/dist/services/claude-service.js.map +1 -1
  78. package/dist/services/file-renamer.d.ts +1 -0
  79. package/dist/services/file-renamer.d.ts.map +1 -1
  80. package/dist/services/file-renamer.js +17 -5
  81. package/dist/services/file-renamer.js.map +1 -1
  82. package/dist/services/lmstudio-service.d.ts +1 -1
  83. package/dist/services/lmstudio-service.d.ts.map +1 -1
  84. package/dist/services/lmstudio-service.js +6 -5
  85. package/dist/services/lmstudio-service.js.map +1 -1
  86. package/dist/services/ollama-service.d.ts +1 -1
  87. package/dist/services/ollama-service.d.ts.map +1 -1
  88. package/dist/services/ollama-service.js +6 -5
  89. package/dist/services/ollama-service.js.map +1 -1
  90. package/dist/services/openai-service.d.ts +1 -1
  91. package/dist/services/openai-service.d.ts.map +1 -1
  92. package/dist/services/openai-service.js +5 -3
  93. package/dist/services/openai-service.js.map +1 -1
  94. package/dist/types/index.d.ts +4 -1
  95. package/dist/types/index.d.ts.map +1 -1
  96. package/dist/utils/ai-prompts.d.ts +1 -0
  97. package/dist/utils/ai-prompts.d.ts.map +1 -1
  98. package/dist/utils/ai-prompts.js +3 -2
  99. package/dist/utils/ai-prompts.js.map +1 -1
  100. package/dist/utils/batch-rename.d.ts +8 -0
  101. package/dist/utils/batch-rename.d.ts.map +1 -0
  102. package/dist/utils/batch-rename.js +36 -0
  103. package/dist/utils/batch-rename.js.map +1 -0
  104. package/dist/utils/config-loader.d.ts +3 -0
  105. package/dist/utils/config-loader.d.ts.map +1 -1
  106. package/dist/utils/config-loader.js.map +1 -1
  107. package/dist/utils/dedup.d.ts +3 -0
  108. package/dist/utils/dedup.d.ts.map +1 -0
  109. package/dist/utils/dedup.js +29 -0
  110. package/dist/utils/dedup.js.map +1 -0
  111. package/dist/utils/fs-collect.d.ts +7 -0
  112. package/dist/utils/fs-collect.d.ts.map +1 -0
  113. package/dist/utils/fs-collect.js +28 -0
  114. package/dist/utils/fs-collect.js.map +1 -0
  115. package/dist/utils/organize.d.ts +8 -0
  116. package/dist/utils/organize.d.ts.map +1 -0
  117. package/dist/utils/organize.js +41 -0
  118. package/dist/utils/organize.js.map +1 -0
  119. package/dist/utils/pattern-rename.d.ts +6 -0
  120. package/dist/utils/pattern-rename.d.ts.map +1 -0
  121. package/dist/utils/pattern-rename.js +23 -0
  122. package/dist/utils/pattern-rename.js.map +1 -0
  123. package/dist/utils/sanitizer.d.ts +3 -0
  124. package/dist/utils/sanitizer.d.ts.map +1 -0
  125. package/dist/utils/sanitizer.js +11 -0
  126. package/dist/utils/sanitizer.js.map +1 -0
  127. package/dist/utils/stats.d.ts +16 -0
  128. package/dist/utils/stats.d.ts.map +1 -0
  129. package/dist/utils/stats.js +26 -0
  130. package/dist/utils/stats.js.map +1 -0
  131. package/package.json +2 -1
@@ -6,6 +6,10 @@ import { AIServiceFactory } from '../services/ai-factory.js';
6
6
  import { FileRenamer } from '../services/file-renamer.js';
7
7
  import { loadConfig } from '../utils/config-loader.js';
8
8
  import { appendHistory } from '../utils/history.js';
9
+ import { applyPatterns } from '../utils/pattern-rename.js';
10
+ import { applyNamingConvention } from '../utils/naming-conventions.js';
11
+ import { collectFiles } from '../utils/fs-collect.js';
12
+ import { applySequence, applyPrefix, applySuffix, applyDateStamp, applyStrip, applyTruncate } from '../utils/batch-rename.js';
9
13
  export async function renameFiles(directory, options) {
10
14
  try {
11
15
  // Validate directory exists
@@ -13,13 +17,29 @@ export async function renameFiles(directory, options) {
13
17
  if (!stats.isDirectory()) {
14
18
  throw new Error(`${directory} is not a directory`);
15
19
  }
20
+ // Short-circuit for batch rename flags (no AI needed)
21
+ const hasBatchFlags = options.sequence || options.prefix || options.suffix ||
22
+ options.dateStamp || options.strip || options.truncate;
23
+ if (hasBatchFlags) {
24
+ await runBatchRenames(directory, {
25
+ sequence: options.sequence ?? false,
26
+ sequencePrefix: options.sequencePrefix,
27
+ prefix: options.prefix,
28
+ suffix: options.suffix,
29
+ dateStamp: options.dateStamp,
30
+ dateFormat: options.date,
31
+ strip: options.strip,
32
+ truncate: options.truncate ? parseInt(options.truncate) : undefined
33
+ }, options.dryRun ?? false, options.recursive ?? false);
34
+ return;
35
+ }
16
36
  // Load cascading config file (project overrides user-home)
17
37
  const fileConfig = await loadConfig(directory);
18
38
  // Resolve provider (CLI flag > config file > default)
19
39
  const provider = (options.provider ?? fileConfig.provider ?? 'claude');
20
40
  // Get API key for cloud providers only
21
- let apiKey = options.apiKey;
22
- const requiresApiKey = ['claude', 'openai'].includes(provider);
41
+ let apiKey = options.apiKey ?? fileConfig.apiKey;
42
+ const requiresApiKey = ['claude', 'openai'].includes(provider) && options.ai !== false;
23
43
  if (requiresApiKey && !apiKey) {
24
44
  // Check environment variables first
25
45
  if (provider === 'claude' && (process.env.CLAUDE_API_KEY ?? process.env.ANTHROPIC_API_KEY)) {
@@ -46,7 +66,7 @@ export async function renameFiles(directory, options) {
46
66
  apiKey,
47
67
  maxFileSize: parseInt(options.maxSize ?? String(fileConfig.maxSize ?? '10')) * 1024 * 1024,
48
68
  supportedExtensions: ['.pdf', '.docx', '.doc', '.xlsx', '.xls', '.txt', '.md', '.rtf'],
49
- dryRun: options.dryRun ?? false,
69
+ dryRun: options.dryRun ?? fileConfig.dryRun ?? false,
50
70
  namingConvention: (options.case ?? fileConfig.case ?? 'kebab-case'),
51
71
  templateOptions: {
52
72
  category: (options.template ?? fileConfig.template ?? 'general'),
@@ -60,20 +80,27 @@ export async function renameFiles(directory, options) {
60
80
  recursive: options.recursive ?? fileConfig.recursive ?? false,
61
81
  depth: options.depth !== undefined ? parseInt(options.depth) : fileConfig.depth,
62
82
  concurrency: parseInt(options.concurrency ?? String(fileConfig.concurrency ?? '3')),
63
- outputPath: options.output ?? fileConfig.output
83
+ outputPath: options.output ?? fileConfig.output,
84
+ patterns: Array.isArray(options.pattern) ? options.pattern : (options.pattern ? [options.pattern] : []),
85
+ noAi: options.ai === false,
86
+ language: options.language ?? fileConfig.language
64
87
  };
65
88
  // Initialize services
66
89
  const parserFactory = new DocumentParserFactory(config);
67
90
  const aiService = AIServiceFactory.create(config.aiProvider, apiKey, config.localLLMConfig);
68
91
  const fileRenamer = new FileRenamer(parserFactory, aiService, config);
69
92
  // Get files to process
70
- const files = await getFilesToProcess(directory, config.supportedExtensions, config.recursive ?? false, config.depth ?? Infinity);
93
+ const files = await getFilesToProcess(directory, config.supportedExtensions, config.recursive, config.depth ?? Infinity);
71
94
  if (files.length === 0) {
72
95
  console.log('No supported files found in the directory.');
73
96
  return;
74
97
  }
75
98
  console.log(`Found ${files.length} files to process:`);
76
99
  files.forEach(file => console.log(` - ${file.name}`));
100
+ if (config.patterns && config.patterns.length > 0) {
101
+ await runPatternRenames(files, config);
102
+ return;
103
+ }
77
104
  // Confirm before processing
78
105
  if (!config.dryRun) {
79
106
  const confirm = await inquirer.prompt([
@@ -91,9 +118,10 @@ export async function renameFiles(directory, options) {
91
118
  }
92
119
  // Process files
93
120
  console.log('\nProcessing files...');
121
+ const startTime = Date.now();
94
122
  const results = await fileRenamer.renameFiles(files);
95
123
  // Display results
96
- displayResults(results, config.dryRun);
124
+ displayResults(results, config.dryRun, startTime, files);
97
125
  // Save session to history (~/.namewise/history.json)
98
126
  const successfulRenames = results
99
127
  .filter(r => r.success && r.originalPath !== r.newPath)
@@ -120,10 +148,10 @@ export async function renameFiles(directory, options) {
120
148
  };
121
149
  try {
122
150
  await fs.writeFile(config.outputPath, JSON.stringify(report, null, 2), 'utf-8');
123
- console.log(`📄 Report saved to: ${config.outputPath}`);
151
+ console.log(`Report saved to: ${config.outputPath}`);
124
152
  }
125
153
  catch (err) {
126
- console.warn(`⚠️ Failed to write report: ${err instanceof Error ? err.message : 'Unknown error'}`);
154
+ console.warn(`Warning: Failed to write report: ${err instanceof Error ? err.message : 'Unknown error'}`);
127
155
  }
128
156
  }
129
157
  }
@@ -167,28 +195,129 @@ async function getFilesToProcess(directory, supportedExtensions, recursive = fal
167
195
  }
168
196
  // Exported for integration testing only
169
197
  export { getFilesToProcess as getFilesToProcessForTest };
170
- function displayResults(results, dryRun) {
198
+ async function runPatternRenames(files, config) {
199
+ const renames = [];
200
+ let previewCount = 0;
201
+ for (const file of files) {
202
+ const stem = path.basename(file.name, file.extension);
203
+ let newStem = applyPatterns(stem, config.patterns);
204
+ newStem = applyNamingConvention(newStem, config.namingConvention);
205
+ const newName = newStem + file.extension;
206
+ if (newName === file.name)
207
+ continue;
208
+ const newPath = path.join(path.dirname(file.path), newName);
209
+ console.log(`${config.dryRun ? '[dry-run] ' : ''}${file.name} → ${newName}`);
210
+ if (!config.dryRun) {
211
+ await fs.rename(file.path, newPath);
212
+ renames.push({ originalPath: file.path, newPath });
213
+ }
214
+ else {
215
+ previewCount++;
216
+ }
217
+ }
218
+ if (!config.dryRun && renames.length > 0) {
219
+ await appendHistory({
220
+ id: new Date().toISOString(),
221
+ timestamp: new Date().toISOString(),
222
+ directory: path.resolve(path.dirname(files[0].path)),
223
+ dryRun: false,
224
+ renames
225
+ });
226
+ }
227
+ const count = config.dryRun ? previewCount : renames.length;
228
+ console.log(`\n${config.dryRun ? 'Would rename' : 'Renamed'} ${count} file(s) using pattern(s).`);
229
+ }
230
+ function displayResults(results, dryRun, startTime, files) {
171
231
  const successful = results.filter(r => r.success);
172
232
  const failed = results.filter(r => !r.success);
173
233
  console.log(`\n${dryRun ? 'Preview' : 'Results'}:`);
174
- console.log(`✅ ${successful.length} files ${dryRun ? 'would be' : 'successfully'} renamed`);
234
+ console.log(`${successful.length} files ${dryRun ? 'would be' : 'successfully'} renamed`);
175
235
  if (failed.length > 0) {
176
- console.log(`❌ ${failed.length} files failed`);
236
+ console.log(`${failed.length} files failed`);
177
237
  }
178
238
  console.log('\nDetails:');
179
239
  results.forEach(result => {
180
- const status = result.success ? '' : '';
240
+ const status = result.success ? 'OK' : 'FAIL';
181
241
  const originalName = path.basename(result.originalPath);
182
242
  const newName = path.basename(result.newPath);
183
243
  if (result.success) {
184
- console.log(`${status} ${originalName} → ${newName}`);
244
+ console.log(`[${status}] ${originalName} → ${newName}`);
185
245
  }
186
246
  else {
187
- console.log(`${status} ${originalName} (failed)`);
247
+ console.log(`[${status}] ${originalName} (failed)`);
188
248
  if (result.error) {
189
249
  console.log(` Error: ${result.error}`);
190
250
  }
191
251
  }
192
252
  });
253
+ // Stats
254
+ const elapsed = Date.now() - startTime;
255
+ const elapsedStr = elapsed < 1000 ? `${elapsed}ms` : `${(elapsed / 1000).toFixed(1)}s`;
256
+ const totalBytes = files.reduce((sum, f) => sum + f.size, 0);
257
+ const totalMB = (totalBytes / 1024 / 1024).toFixed(2);
258
+ const extCounts = {};
259
+ for (const f of files) {
260
+ extCounts[f.extension] = (extCounts[f.extension] ?? 0) + 1;
261
+ }
262
+ const extSummary = Object.entries(extCounts)
263
+ .sort(([a], [b]) => a.localeCompare(b))
264
+ .map(([ext, count]) => `${count} ${ext.slice(1).toUpperCase()}`)
265
+ .join(', ');
266
+ const statsLine = `Stats: ${elapsedStr} elapsed | ${totalMB} MB processed | ${extSummary}`;
267
+ console.log(`\n${statsLine}`);
268
+ }
269
+ export async function runBatchRenames(directory, flags, dryRun, recursive) {
270
+ const filePaths = await collectFiles(directory, { recursive });
271
+ if (filePaths.length === 0) {
272
+ console.log('No files found.');
273
+ return;
274
+ }
275
+ const renames = [];
276
+ let previewCount = 0;
277
+ const total = filePaths.length;
278
+ for (let i = 0; i < filePaths.length; i++) {
279
+ const filePath = filePaths[i];
280
+ const ext = path.extname(filePath);
281
+ let stem = path.basename(filePath, ext);
282
+ if (flags.sequence) {
283
+ stem = applySequence(i, total, flags.sequencePrefix);
284
+ }
285
+ if (flags.prefix)
286
+ stem = applyPrefix(stem, flags.prefix);
287
+ if (flags.suffix)
288
+ stem = applySuffix(stem, flags.suffix);
289
+ if (flags.strip)
290
+ stem = applyStrip(stem, flags.strip);
291
+ if (flags.truncate)
292
+ stem = applyTruncate(stem, flags.truncate);
293
+ if (flags.dateStamp) {
294
+ const stat = await fs.stat(filePath);
295
+ const date = flags.dateStamp === 'created' ? stat.birthtime : stat.mtime;
296
+ stem = applyDateStamp(stem, date, flags.dateFormat ?? 'YYYY-MM-DD');
297
+ }
298
+ const newName = stem + ext;
299
+ if (newName === path.basename(filePath))
300
+ continue;
301
+ const newPath = path.join(path.dirname(filePath), newName);
302
+ console.log(`${dryRun ? '[dry-run] ' : ''}${path.basename(filePath)} → ${newName}`);
303
+ if (!dryRun) {
304
+ await fs.rename(filePath, newPath);
305
+ renames.push({ originalPath: filePath, newPath });
306
+ }
307
+ else {
308
+ previewCount++;
309
+ }
310
+ }
311
+ if (!dryRun && renames.length > 0) {
312
+ await appendHistory({
313
+ id: new Date().toISOString(),
314
+ timestamp: new Date().toISOString(),
315
+ directory: path.resolve(directory),
316
+ dryRun: false,
317
+ renames
318
+ });
319
+ }
320
+ const count = dryRun ? previewCount : renames.length;
321
+ console.log(`\n${dryRun ? 'Would rename' : 'Renamed'} ${count} file(s).`);
193
322
  }
194
323
  //# sourceMappingURL=rename.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../src/cli/rename.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../src/cli/rename.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { NamingConvention } from '../types/index.js';
2
+ export declare function sanitizeFiles(directory: string, options: {
3
+ dryRun?: boolean;
4
+ recursive?: boolean;
5
+ case?: NamingConvention;
6
+ }): Promise<void>;
7
+ //# sourceMappingURL=sanitize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/cli/sanitize.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;CAAE,GAC1E,OAAO,CAAC,IAAI,CAAC,CAgDf"}
@@ -0,0 +1,49 @@
1
+ import { promises as fs } from 'fs';
2
+ import path from 'path';
3
+ import { appendHistory } from '../utils/history.js';
4
+ import { sanitizeFilename } from '../utils/sanitizer.js';
5
+ import { collectFiles } from '../utils/fs-collect.js';
6
+ export async function sanitizeFiles(directory, options) {
7
+ const stats = await fs.stat(directory);
8
+ if (!stats.isDirectory()) {
9
+ throw new Error(`${directory} is not a directory`);
10
+ }
11
+ const filePaths = await collectFiles(directory, { recursive: options.recursive ?? false });
12
+ if (filePaths.length === 0) {
13
+ console.log('No files found.');
14
+ return;
15
+ }
16
+ const convention = options.case ?? 'kebab-case';
17
+ const renames = [];
18
+ let previewCount = 0;
19
+ for (const filePath of filePaths) {
20
+ const ext = path.extname(filePath);
21
+ const stem = path.basename(filePath, ext);
22
+ const sanitized = sanitizeFilename(stem, convention);
23
+ const newName = sanitized + ext;
24
+ if (newName === path.basename(filePath))
25
+ continue;
26
+ const newPath = path.join(path.dirname(filePath), newName);
27
+ console.log(`${options.dryRun ? '[dry-run] ' : ''}${path.basename(filePath)} → ${newName}`);
28
+ if (!options.dryRun) {
29
+ await fs.rename(filePath, newPath);
30
+ renames.push({ originalPath: filePath, newPath });
31
+ }
32
+ else {
33
+ previewCount++;
34
+ }
35
+ }
36
+ if (!options.dryRun && renames.length > 0) {
37
+ await appendHistory({
38
+ id: new Date().toISOString(),
39
+ timestamp: new Date().toISOString(),
40
+ directory: path.resolve(directory),
41
+ dryRun: false,
42
+ renames
43
+ });
44
+ }
45
+ const count = options.dryRun ? previewCount : renames.length;
46
+ const verb = options.dryRun ? 'would be sanitized' : 'sanitized';
47
+ console.log(`\nDone: ${count} file(s) ${verb}.`);
48
+ }
49
+ //# sourceMappingURL=sanitize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/cli/sanitize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function statsCommand(directory: string, options?: {
2
+ recursive?: boolean;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/cli/stats.ts"],"names":[],"mappings":"AAKA,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -0,0 +1,35 @@
1
+ import { promises as fs } from 'fs';
2
+ import path from 'path';
3
+ import { computeStats } from '../utils/stats.js';
4
+ import { formatBytes } from '../utils/fs-collect.js';
5
+ export async function statsCommand(directory, options = {}) {
6
+ const stat = await fs.stat(directory);
7
+ if (!stat.isDirectory())
8
+ throw new Error(`${directory} is not a directory`);
9
+ const stats = await computeStats(directory, options.recursive ?? false);
10
+ if (stats.totalFiles === 0) {
11
+ console.log('No files found.');
12
+ return;
13
+ }
14
+ const absDir = path.resolve(directory);
15
+ console.log(`\nDirectory: ${absDir}`);
16
+ console.log(`Total: ${stats.totalFiles} file(s) · ${formatBytes(stats.totalBytes)}\n`);
17
+ console.log('By type:');
18
+ for (const t of stats.byType) {
19
+ const pct = stats.totalBytes > 0
20
+ ? ` (${Math.round((t.bytes / stats.totalBytes) * 100)}%)`
21
+ : '';
22
+ const extLabel = t.ext.padEnd(12);
23
+ const countLabel = `${t.count} file(s)`.padEnd(12);
24
+ const sizeLabel = formatBytes(t.bytes).padStart(10);
25
+ console.log(` ${extLabel} ${countLabel} ${sizeLabel}${pct}`);
26
+ }
27
+ if (stats.largest.length > 0) {
28
+ console.log('\nLargest files:');
29
+ for (const f of stats.largest.slice(0, 5)) {
30
+ const name = path.relative(directory, f.path);
31
+ console.log(` ${name.padEnd(40)} ${formatBytes(f.bytes)}`);
32
+ }
33
+ }
34
+ }
35
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/cli/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,UAAmC,EAAE;IAErC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,qBAAqB,CAAC,CAAC;IAE5E,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;IAExE,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,UAAU,cAAc,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEvF,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC;YAC9B,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,IAAI;YACzD,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,UAAU,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function treeCommand(directory: string, options?: {
2
+ depth?: number;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/cli/tree.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -0,0 +1,65 @@
1
+ import { promises as fs } from 'fs';
2
+ import path from 'path';
3
+ import { formatBytes } from '../utils/fs-collect.js';
4
+ export async function treeCommand(directory, options = {}) {
5
+ const stat = await fs.stat(directory);
6
+ if (!stat.isDirectory())
7
+ throw new Error(`${directory} is not a directory`);
8
+ const maxDepth = options.depth ?? Infinity;
9
+ console.log(`\n${path.resolve(directory)}`);
10
+ await printTree(directory, '', 0, maxDepth);
11
+ }
12
+ async function printTree(dir, prefix, depth, maxDepth) {
13
+ if (depth >= maxDepth)
14
+ return;
15
+ const entries = await fs.readdir(dir, { withFileTypes: true });
16
+ entries.sort((a, b) => {
17
+ // Directories first, then alphabetical
18
+ if (a.isDirectory() && !b.isDirectory())
19
+ return -1;
20
+ if (!a.isDirectory() && b.isDirectory())
21
+ return 1;
22
+ return a.name.localeCompare(b.name);
23
+ });
24
+ for (let i = 0; i < entries.length; i++) {
25
+ const entry = entries[i];
26
+ const isLast = i === entries.length - 1;
27
+ const connector = isLast ? '└── ' : '├── ';
28
+ const childPrefix = prefix + (isLast ? ' ' : '│ ');
29
+ const entryPath = path.join(dir, entry.name);
30
+ if (entry.isDirectory()) {
31
+ const summary = await dirSummary(entryPath);
32
+ console.log(`${prefix}${connector}${entry.name}/ (${summary.fileCount} file(s), ${formatBytes(summary.totalBytes)})`);
33
+ await printTree(entryPath, childPrefix, depth + 1, maxDepth);
34
+ }
35
+ else {
36
+ const stat = await fs.stat(entryPath);
37
+ console.log(`${prefix}${connector}${entry.name} ${formatBytes(stat.size)}`);
38
+ }
39
+ }
40
+ }
41
+ async function dirSummary(dir) {
42
+ let fileCount = 0;
43
+ let totalBytes = 0;
44
+ try {
45
+ const entries = await fs.readdir(dir, { withFileTypes: true });
46
+ for (const entry of entries) {
47
+ const p = path.join(dir, entry.name);
48
+ if (entry.isDirectory()) {
49
+ const sub = await dirSummary(p);
50
+ fileCount += sub.fileCount;
51
+ totalBytes += sub.totalBytes;
52
+ }
53
+ else {
54
+ const stat = await fs.stat(p);
55
+ fileCount++;
56
+ totalBytes += stat.size;
57
+ }
58
+ }
59
+ }
60
+ catch {
61
+ // permission denied or similar — skip silently
62
+ }
63
+ return { fileCount, totalBytes };
64
+ }
65
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/cli/tree.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare function undoRename(sessionId?: string, options?: {
2
2
  list?: boolean;
3
+ all?: boolean;
3
4
  }): Promise<void>;
4
5
  //# sourceMappingURL=undo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"undo.d.ts","sourceRoot":"","sources":["../../src/cli/undo.ts"],"names":[],"mappings":"AAIA,wBAAsB,UAAU,CAC9B,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,OAAO,CAAC,IAAI,CAAC,CAgEf"}
1
+ {"version":3,"file":"undo.d.ts","sourceRoot":"","sources":["../../src/cli/undo.ts"],"names":[],"mappings":"AAKA,wBAAsB,UAAU,CAC9B,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9C,OAAO,CAAC,IAAI,CAAC,CAyCf"}
package/dist/cli/undo.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { promises as fs } from 'fs';
2
2
  import path from 'path';
3
+ import inquirer from 'inquirer';
3
4
  import { readHistory, appendHistory } from '../utils/history.js';
4
5
  export async function undoRename(sessionId, options = {}) {
5
6
  if (options.list) {
@@ -16,6 +17,10 @@ export async function undoRename(sessionId, options = {}) {
16
17
  });
17
18
  return;
18
19
  }
20
+ if (options.all) {
21
+ await undoAll();
22
+ return;
23
+ }
19
24
  const history = await readHistory();
20
25
  let entry;
21
26
  if (sessionId) {
@@ -34,6 +39,9 @@ export async function undoRename(sessionId, options = {}) {
34
39
  console.log(`Session ${entry.id} was a dry run — nothing to undo.`);
35
40
  return;
36
41
  }
42
+ await undoSession(entry);
43
+ }
44
+ async function undoSession(entry) {
37
45
  const reversed = [...entry.renames].reverse();
38
46
  let succeeded = 0;
39
47
  let skipped = 0;
@@ -41,12 +49,12 @@ export async function undoRename(sessionId, options = {}) {
41
49
  try {
42
50
  await fs.access(rename.newPath);
43
51
  await fs.rename(rename.newPath, rename.originalPath);
44
- console.log(`✅ Restored: ${path.basename(rename.newPath)} → ${path.basename(rename.originalPath)}`);
52
+ console.log(`Restored: ${path.basename(rename.newPath)} → ${path.basename(rename.originalPath)}`);
45
53
  succeeded++;
46
54
  }
47
55
  catch (error) {
48
56
  if (error.code === 'ENOENT') {
49
- console.warn(`⚠️ Skipped: ${path.basename(rename.newPath)} not found`);
57
+ console.warn(`Skipped: ${path.basename(rename.newPath)} not found`);
50
58
  skipped++;
51
59
  }
52
60
  else {
@@ -62,5 +70,35 @@ export async function undoRename(sessionId, options = {}) {
62
70
  renames: reversed.map(r => ({ originalPath: r.newPath, newPath: r.originalPath }))
63
71
  });
64
72
  console.log(`\nUndo complete: ${succeeded} restored, ${skipped} skipped.`);
73
+ return { succeeded, skipped };
74
+ }
75
+ async function undoAll() {
76
+ const history = await readHistory();
77
+ const sessions = [...history].reverse().filter(e => !e.dryRun);
78
+ if (sessions.length === 0) {
79
+ console.log('No undo-able rename sessions found.');
80
+ return;
81
+ }
82
+ if (sessions.length > 1) {
83
+ const { confirm } = await inquirer.prompt([{
84
+ type: 'confirm',
85
+ name: 'confirm',
86
+ message: `Undo all ${sessions.length} rename session(s)?`,
87
+ default: false
88
+ }]);
89
+ if (!confirm) {
90
+ console.log('Cancelled.');
91
+ return;
92
+ }
93
+ }
94
+ for (const session of sessions) {
95
+ console.log(`\nUndoing session: ${session.id}`);
96
+ try {
97
+ await undoSession(session);
98
+ }
99
+ catch (error) {
100
+ console.error(`Error: Failed to undo session ${session.id}: ${error instanceof Error ? error.message : 'Unknown error'}`);
101
+ }
102
+ }
65
103
  }
66
104
  //# sourceMappingURL=undo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"undo.js","sourceRoot":"","sources":["../../src/cli/undo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"undo.js","sourceRoot":"","sources":["../../src/cli/undo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function watchDirectory(directory: string, options: any): Promise<void>;
2
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/cli/watch.ts"],"names":[],"mappings":"AAUA,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAkInF"}