@mediaproc/cli 0.6.0 → 0.8.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 (105) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +21 -14
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/add.d.ts.map +1 -1
  5. package/dist/commands/add.js +2 -0
  6. package/dist/commands/add.js.map +1 -1
  7. package/dist/commands/batch.d.ts +3 -0
  8. package/dist/commands/batch.d.ts.map +1 -0
  9. package/dist/commands/batch.js +278 -0
  10. package/dist/commands/batch.js.map +1 -0
  11. package/dist/commands/benchmark.d.ts +3 -0
  12. package/dist/commands/benchmark.d.ts.map +1 -0
  13. package/dist/commands/benchmark.js +126 -0
  14. package/dist/commands/benchmark.js.map +1 -0
  15. package/dist/commands/compare.d.ts +3 -0
  16. package/dist/commands/compare.d.ts.map +1 -0
  17. package/dist/commands/compare.js +104 -0
  18. package/dist/commands/compare.js.map +1 -0
  19. package/dist/commands/delete.d.ts.map +1 -1
  20. package/dist/commands/delete.js +2 -0
  21. package/dist/commands/delete.js.map +1 -1
  22. package/dist/commands/detect.d.ts +6 -0
  23. package/dist/commands/detect.d.ts.map +1 -0
  24. package/dist/commands/detect.js +92 -0
  25. package/dist/commands/detect.js.map +1 -0
  26. package/dist/commands/doctor.d.ts +3 -0
  27. package/dist/commands/doctor.d.ts.map +1 -0
  28. package/dist/commands/doctor.js +222 -0
  29. package/dist/commands/doctor.js.map +1 -0
  30. package/dist/commands/help.d.ts.map +1 -1
  31. package/dist/commands/help.js +2 -0
  32. package/dist/commands/help.js.map +1 -1
  33. package/dist/commands/history.d.ts +3 -0
  34. package/dist/commands/history.d.ts.map +1 -0
  35. package/dist/commands/history.js +84 -0
  36. package/dist/commands/history.js.map +1 -0
  37. package/dist/commands/list.d.ts.map +1 -1
  38. package/dist/commands/list.js +2 -0
  39. package/dist/commands/list.js.map +1 -1
  40. package/dist/commands/plugins.d.ts.map +1 -1
  41. package/dist/commands/plugins.js +2 -0
  42. package/dist/commands/plugins.js.map +1 -1
  43. package/dist/commands/remove.d.ts.map +1 -1
  44. package/dist/commands/remove.js +2 -0
  45. package/dist/commands/remove.js.map +1 -1
  46. package/dist/commands/search.d.ts +3 -0
  47. package/dist/commands/search.d.ts.map +1 -0
  48. package/dist/commands/search.js +193 -0
  49. package/dist/commands/search.js.map +1 -0
  50. package/dist/commands/stats.d.ts +3 -0
  51. package/dist/commands/stats.d.ts.map +1 -0
  52. package/dist/commands/stats.js +157 -0
  53. package/dist/commands/stats.js.map +1 -0
  54. package/dist/commands/template.d.ts +3 -0
  55. package/dist/commands/template.d.ts.map +1 -0
  56. package/dist/commands/template.js +190 -0
  57. package/dist/commands/template.js.map +1 -0
  58. package/dist/commands/update.d.ts.map +1 -1
  59. package/dist/commands/update.js +2 -0
  60. package/dist/commands/update.js.map +1 -1
  61. package/dist/commands/watch.d.ts +3 -0
  62. package/dist/commands/watch.d.ts.map +1 -0
  63. package/dist/commands/watch.js +108 -0
  64. package/dist/commands/watch.js.map +1 -0
  65. package/dist/commands/workspace.d.ts +3 -0
  66. package/dist/commands/workspace.d.ts.map +1 -0
  67. package/dist/commands/workspace.js +208 -0
  68. package/dist/commands/workspace.js.map +1 -0
  69. package/dist/history-manager.d.ts +27 -0
  70. package/dist/history-manager.d.ts.map +1 -0
  71. package/dist/history-manager.js +84 -0
  72. package/dist/history-manager.js.map +1 -0
  73. package/dist/plugin-api.d.ts +6 -7
  74. package/dist/plugin-api.d.ts.map +1 -1
  75. package/dist/plugin-manager.d.ts +6 -0
  76. package/dist/plugin-manager.d.ts.map +1 -1
  77. package/dist/plugin-manager.js +27 -0
  78. package/dist/plugin-manager.js.map +1 -1
  79. package/package.json +5 -6
  80. package/LICENSE +0 -72
  81. package/README.md +0 -1530
  82. package/dist/__tests__/plugin-manager.test.d.ts +0 -2
  83. package/dist/__tests__/plugin-manager.test.d.ts.map +0 -1
  84. package/dist/__tests__/plugin-manager.test.js +0 -7
  85. package/dist/__tests__/plugin-manager.test.js.map +0 -1
  86. package/dist/commands/convert.d.ts +0 -7
  87. package/dist/commands/convert.d.ts.map +0 -1
  88. package/dist/commands/convert.js +0 -96
  89. package/dist/commands/convert.js.map +0 -1
  90. package/dist/commands/info.d.ts +0 -7
  91. package/dist/commands/info.d.ts.map +0 -1
  92. package/dist/commands/info.js +0 -117
  93. package/dist/commands/info.js.map +0 -1
  94. package/dist/commands/optimize.d.ts +0 -7
  95. package/dist/commands/optimize.d.ts.map +0 -1
  96. package/dist/commands/optimize.js +0 -196
  97. package/dist/commands/optimize.js.map +0 -1
  98. package/dist/commands/run.d.ts +0 -3
  99. package/dist/commands/run.d.ts.map +0 -1
  100. package/dist/commands/run.js +0 -16
  101. package/dist/commands/run.js.map +0 -1
  102. package/dist/commands/validate.d.ts +0 -3
  103. package/dist/commands/validate.d.ts.map +0 -1
  104. package/dist/commands/validate.js +0 -16
  105. package/dist/commands/validate.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const templateCommand: Command;
3
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,eAAO,MAAM,eAAe,SAKxB,CAAC"}
@@ -0,0 +1,190 @@
1
+ import { Command } from 'commander';
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+ import * as os from 'os';
5
+ import { showBranding } from '@mediaproc/core';
6
+ const TEMPLATES_FILE = path.join(os.homedir(), '.mediaproc', 'templates.json');
7
+ export const templateCommand = new Command()
8
+ .name('template')
9
+ .description('Manage command templates')
10
+ .action(() => {
11
+ templateCommand.help();
12
+ });
13
+ // Save template
14
+ templateCommand
15
+ .command('save')
16
+ .description('Save command as template')
17
+ .argument('<name>', 'Template name')
18
+ .argument('<command>', 'Command template (use {param} for parameters)')
19
+ .option('-d, --description <text>', 'Template description')
20
+ .action(async (name, command, options) => {
21
+ const templates = loadTemplates();
22
+ if (templates[name]) {
23
+ console.log(`\n⚠️ Template "${name}" already exists. Use --force to overwrite\n`);
24
+ return;
25
+ }
26
+ // Extract parameters from command (anything in {braces})
27
+ const params = command.match(/\{([^}]+)\}/g)?.map(p => p.slice(1, -1)) || [];
28
+ templates[name] = {
29
+ name,
30
+ command,
31
+ description: options.description || '',
32
+ parameters: params,
33
+ createdAt: Date.now()
34
+ };
35
+ saveTemplates(templates);
36
+ console.log(`\n✓ Template "${name}" saved\n`);
37
+ console.log(`Command: ${command}`);
38
+ if (params.length > 0) {
39
+ console.log(`Parameters: ${params.join(', ')}`);
40
+ }
41
+ console.log('');
42
+ showBranding();
43
+ });
44
+ // Run template
45
+ templateCommand
46
+ .command('run')
47
+ .description('Run a saved template')
48
+ .argument('<name>', 'Template name')
49
+ .argument('[args...]', 'Template arguments (key=value)')
50
+ .action(async (name, args) => {
51
+ const templates = loadTemplates();
52
+ const template = templates[name];
53
+ if (!template) {
54
+ console.log(`\n❌ Template "${name}" not found\n`);
55
+ console.log('💡 List templates with: mediaproc template list\n');
56
+ return;
57
+ }
58
+ // Parse arguments
59
+ const params = {};
60
+ args.forEach(arg => {
61
+ const [key, value] = arg.split('=');
62
+ if (key && value) {
63
+ params[key] = value;
64
+ }
65
+ });
66
+ // Replace parameters in command
67
+ let command = template.command;
68
+ template.parameters.forEach(param => {
69
+ if (!params[param]) {
70
+ console.log(`\n❌ Missing required parameter: ${param}\n`);
71
+ process.exit(1);
72
+ }
73
+ command = command.replace(`{${param}}`, params[param]);
74
+ });
75
+ console.log(`\n🚀 Running template "${name}":\n`);
76
+ console.log(` ${command}\n`);
77
+ console.log('⚠️ Note: Actual command execution requires full implementation\n');
78
+ console.log(`Run manually: mediaproc ${command}\n`);
79
+ showBranding();
80
+ });
81
+ // List templates
82
+ templateCommand
83
+ .command('list')
84
+ .description('List all saved templates')
85
+ .option('--json', 'Output as JSON')
86
+ .action(async (options) => {
87
+ const templates = loadTemplates();
88
+ const templateList = Object.values(templates);
89
+ if (templateList.length === 0) {
90
+ console.log('\n📦 No templates saved\n');
91
+ console.log('💡 Save a template with: mediaproc template save <name> <command>\n');
92
+ return;
93
+ }
94
+ if (options.json) {
95
+ console.log(JSON.stringify(templateList, null, 2));
96
+ return;
97
+ }
98
+ console.log('\n📋 Saved Templates\n');
99
+ console.log('━'.repeat(70));
100
+ templateList.forEach((template, index) => {
101
+ console.log(`\n${index + 1}. \x1b[36m${template.name}\x1b[0m`);
102
+ if (template.description) {
103
+ console.log(` ${template.description}`);
104
+ }
105
+ console.log(` Command: ${template.command}`);
106
+ if (template.parameters.length > 0) {
107
+ console.log(` Parameters: ${template.parameters.join(', ')}`);
108
+ }
109
+ console.log(` Created: ${new Date(template.createdAt).toLocaleDateString()}`);
110
+ });
111
+ console.log('\n' + '━'.repeat(70));
112
+ console.log('\n💡 Run a template: mediaproc template run <name> [args]\n');
113
+ showBranding();
114
+ });
115
+ // Delete template
116
+ templateCommand
117
+ .command('delete')
118
+ .description('Delete a saved template')
119
+ .argument('<name>', 'Template name')
120
+ .action(async (name) => {
121
+ const templates = loadTemplates();
122
+ if (!templates[name]) {
123
+ console.log(`\n❌ Template "${name}" not found\n`);
124
+ return;
125
+ }
126
+ delete templates[name];
127
+ saveTemplates(templates);
128
+ console.log(`\n✓ Template "${name}" deleted\n`);
129
+ showBranding();
130
+ });
131
+ // Show template details
132
+ templateCommand
133
+ .command('show')
134
+ .description('Show template details')
135
+ .argument('<name>', 'Template name')
136
+ .action(async (name) => {
137
+ const templates = loadTemplates();
138
+ const template = templates[name];
139
+ if (!template) {
140
+ console.log(`\n❌ Template "${name}" not found\n`);
141
+ return;
142
+ }
143
+ console.log('\n📄 Template Details\n');
144
+ console.log('━'.repeat(60));
145
+ console.log(`\nName: ${template.name}`);
146
+ if (template.description) {
147
+ console.log(`Description: ${template.description}`);
148
+ }
149
+ console.log(`Command: ${template.command}`);
150
+ if (template.parameters.length > 0) {
151
+ console.log('\nParameters:');
152
+ template.parameters.forEach(param => {
153
+ console.log(` • ${param}`);
154
+ });
155
+ console.log('\nExample usage:');
156
+ const exampleArgs = template.parameters.map(p => `${p}=value`).join(' ');
157
+ console.log(` mediaproc template run ${template.name} ${exampleArgs}`);
158
+ }
159
+ console.log('\n' + '━'.repeat(60) + '\n');
160
+ showBranding();
161
+ });
162
+ function loadTemplates() {
163
+ try {
164
+ ensureTemplatesDirectory();
165
+ if (!fs.existsSync(TEMPLATES_FILE)) {
166
+ return {};
167
+ }
168
+ const data = fs.readFileSync(TEMPLATES_FILE, 'utf-8');
169
+ return JSON.parse(data);
170
+ }
171
+ catch (error) {
172
+ return {};
173
+ }
174
+ }
175
+ function saveTemplates(templates) {
176
+ try {
177
+ ensureTemplatesDirectory();
178
+ fs.writeFileSync(TEMPLATES_FILE, JSON.stringify(templates, null, 2));
179
+ }
180
+ catch (error) {
181
+ console.error('Error saving templates:', error);
182
+ }
183
+ }
184
+ function ensureTemplatesDirectory() {
185
+ const dir = path.dirname(TEMPLATES_FILE);
186
+ if (!fs.existsSync(dir)) {
187
+ fs.mkdirSync(dir, { recursive: true });
188
+ }
189
+ }
190
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6HzC;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqIpD"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8HzC;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqIpD"}
@@ -1,6 +1,7 @@
1
1
  import chalk from 'chalk';
2
2
  import ora from 'ora';
3
3
  import { execSync } from 'child_process';
4
+ import { showBranding } from '@mediaproc/core';
4
5
  /**
5
6
  * Detect plugin type and return full package name
6
7
  */
@@ -214,6 +215,7 @@ export function updateCommand(program) {
214
215
  spinner.succeed(chalk.green('✓ All MediaProc plugins updated successfully'));
215
216
  }
216
217
  console.log(chalk.dim('\n💡 Tip: Run a command to use the updated version, or restart your terminal.'));
218
+ showBranding();
217
219
  }
218
220
  catch (error) {
219
221
  spinner.fail(chalk.red('Failed to update plugin(s)'));
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const watchCommand: Command;
3
+ //# sourceMappingURL=watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,eAAO,MAAM,YAAY,SAsDrB,CAAC"}
@@ -0,0 +1,108 @@
1
+ import { Command } from 'commander';
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+ import { showBranding } from '@mediaproc/core';
5
+ export const watchCommand = new Command()
6
+ .name('watch')
7
+ .description('Monitor directories and auto-process files')
8
+ .argument('<directory>', 'Directory to watch')
9
+ .option('--on-image <cmd>', 'Command to run on new images')
10
+ .option('--on-video <cmd>', 'Command to run on new videos')
11
+ .option('--on-audio <cmd>', 'Command to run on new audio files')
12
+ .option('--on-any <cmd>', 'Command to run on any new file')
13
+ .option('--ignore <patterns>', 'Comma-separated patterns to ignore')
14
+ .option('--recursive', 'Watch subdirectories recursively')
15
+ .option('--debounce <ms>', 'Debounce delay in milliseconds', '1000')
16
+ .action(async (directory, options) => {
17
+ if (!fs.existsSync(directory)) {
18
+ console.log(`\n❌ Directory not found: ${directory}\n`);
19
+ return;
20
+ }
21
+ const config = {
22
+ directory: path.resolve(directory),
23
+ rules: buildWatchRules(options),
24
+ ignorePatterns: options.ignore ? options.ignore.split(',') : [],
25
+ recursive: options.recursive || false
26
+ };
27
+ if (config.rules.length === 0) {
28
+ console.log('\n❌ No watch rules specified\n');
29
+ console.log('💡 Use options like --on-image, --on-video, --on-audio, or --on-any\n');
30
+ return;
31
+ }
32
+ console.log('\n👁️ MediaProc File Watcher\n');
33
+ console.log('━'.repeat(60));
34
+ console.log(`\nWatching: ${config.directory}`);
35
+ console.log(`Recursive: ${config.recursive ? 'Yes' : 'No'}`);
36
+ console.log(`Debounce: ${options.debounce}ms\n`);
37
+ console.log('Rules:');
38
+ config.rules.forEach((rule, index) => {
39
+ console.log(` ${index + 1}. ${rule.pattern} → ${rule.command}`);
40
+ });
41
+ if (config.ignorePatterns.length > 0) {
42
+ console.log(`\nIgnoring: ${config.ignorePatterns.join(', ')}`);
43
+ }
44
+ console.log('\n' + '━'.repeat(60));
45
+ console.log('\n🚀 Watcher started (Ctrl+C to stop)\n');
46
+ console.log('⚠️ Note: Full implementation requires fs.watch with proper event handling\n');
47
+ console.log('Simulated watch mode - no actual monitoring implemented yet.\n');
48
+ // In real implementation, use fs.watch or chokidar
49
+ // fs.watch(directory, { recursive: config.recursive }, (eventType, filename) => {
50
+ // handleFileEvent(eventType, filename, config);
51
+ // });
52
+ });
53
+ // List active watchers
54
+ watchCommand
55
+ .command('list')
56
+ .description('List active watchers')
57
+ .action(async () => {
58
+ console.log('\n👁️ Active Watchers\n');
59
+ console.log('━'.repeat(60));
60
+ console.log('\nNo active watchers (requires daemon implementation)\n');
61
+ });
62
+ // Stop watcher
63
+ watchCommand
64
+ .command('stop')
65
+ .description('Stop a watcher')
66
+ .argument('[directory]', 'Directory being watched (stops all if not specified)')
67
+ .action(async (directory) => {
68
+ if (directory) {
69
+ console.log(`\n✓ Stopped watcher for: ${directory}\n`);
70
+ }
71
+ else {
72
+ console.log('\n✓ Stopped all watchers\n');
73
+ }
74
+ showBranding();
75
+ });
76
+ function buildWatchRules(options) {
77
+ const rules = [];
78
+ if (options.onImage) {
79
+ rules.push({
80
+ pattern: '\\.(jpg|jpeg|png|gif|webp|bmp|tiff|avif)$',
81
+ command: options.onImage,
82
+ debounce: parseInt(options.debounce)
83
+ });
84
+ }
85
+ if (options.onVideo) {
86
+ rules.push({
87
+ pattern: '\\.(mp4|webm|avi|mov|mkv|flv|wmv)$',
88
+ command: options.onVideo,
89
+ debounce: parseInt(options.debounce)
90
+ });
91
+ }
92
+ if (options.onAudio) {
93
+ rules.push({
94
+ pattern: '\\.(mp3|wav|flac|aac|ogg|m4a)$',
95
+ command: options.onAudio,
96
+ debounce: parseInt(options.debounce)
97
+ });
98
+ }
99
+ if (options.onAny) {
100
+ rules.push({
101
+ pattern: '.*',
102
+ command: options.onAny,
103
+ debounce: parseInt(options.debounce)
104
+ });
105
+ }
106
+ return rules;
107
+ }
108
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAe/C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,EAAE;KACtC,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,4CAA4C,CAAC;KACzD,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;KAC7C,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;KAC1D,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;KAC1D,MAAM,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;KAC/D,MAAM,CAAC,gBAAgB,EAAE,gCAAgC,CAAC;KAC1D,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;KACnE,MAAM,CAAC,aAAa,EAAE,kCAAkC,CAAC;KACzD,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,CAAC;KACnE,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAAO,EAAE,EAAE;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,4BAA4B,SAAS,IAAI,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAgB;QAC1B,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAClC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC;QAC/B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QAC/D,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;KACtC,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,MAAM,CAAC,CAAC;IAEjD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAE9E,mDAAmD;IACnD,kFAAkF;IAClF,kDAAkD;IAClD,MAAM;AACR,CAAC,CAAC,CAAC;AAEL,uBAAuB;AACvB,YAAY;KACT,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,YAAY;KACT,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gBAAgB,CAAC;KAC7B,QAAQ,CAAC,aAAa,EAAE,sDAAsD,CAAC;KAC/E,MAAM,CAAC,KAAK,EAAE,SAAkB,EAAE,EAAE;IACnC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,4BAA4B,SAAS,IAAI,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IACD,YAAY,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,SAAS,eAAe,CAAC,OAAY;IACnC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,gCAAgC;YACzC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,OAAO,CAAC,KAAK;YACtB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const workspaceCommand: Command;
3
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/commands/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC,eAAO,MAAM,gBAAgB,SAKzB,CAAC"}
@@ -0,0 +1,208 @@
1
+ import { Command } from 'commander';
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+ import { showBranding } from '@mediaproc/core';
5
+ const WORKSPACE_DIR = '.mediaproc';
6
+ export const workspaceCommand = new Command()
7
+ .name('workspace')
8
+ .description('Manage project workspaces and batch processing rules')
9
+ .action(() => {
10
+ workspaceCommand.help();
11
+ });
12
+ // Create workspace
13
+ workspaceCommand
14
+ .command('create')
15
+ .description('Create a new workspace')
16
+ .argument('<name>', 'Workspace name')
17
+ .option('-d, --description <text>', 'Workspace description')
18
+ .option('--preset <type>', 'Use preset (web, mobile, print, social)')
19
+ .action(async (name, options) => {
20
+ if (fs.existsSync(path.join(WORKSPACE_DIR, `${name}.json`))) {
21
+ console.log(`\n⚠️ Workspace "${name}" already exists\n`);
22
+ return;
23
+ }
24
+ const config = {
25
+ name,
26
+ description: options.description || '',
27
+ presets: getPresets(options.preset),
28
+ rules: [],
29
+ createdAt: Date.now(),
30
+ lastUsed: Date.now()
31
+ };
32
+ ensureWorkspaceDirectory();
33
+ fs.writeFileSync(path.join(WORKSPACE_DIR, `${name}.json`), JSON.stringify(config, null, 2));
34
+ console.log(`\n✓ Workspace "${name}" created\n`);
35
+ if (options.preset) {
36
+ console.log(`Using ${options.preset} preset settings`);
37
+ }
38
+ console.log('');
39
+ showBranding();
40
+ });
41
+ // Use workspace
42
+ workspaceCommand
43
+ .command('use')
44
+ .description('Set active workspace')
45
+ .argument('<name>', 'Workspace name')
46
+ .action(async (name) => {
47
+ const workspacePath = path.join(WORKSPACE_DIR, `${name}.json`);
48
+ if (!fs.existsSync(workspacePath)) {
49
+ console.log(`\n❌ Workspace "${name}" not found\n`);
50
+ return;
51
+ }
52
+ const config = JSON.parse(fs.readFileSync(workspacePath, 'utf-8'));
53
+ config.lastUsed = Date.now();
54
+ fs.writeFileSync(workspacePath, JSON.stringify(config, null, 2));
55
+ // Set as active workspace
56
+ fs.writeFileSync(path.join(WORKSPACE_DIR, 'active.txt'), name);
57
+ console.log(`\n✓ Workspace "${name}" is now active\n`);
58
+ showBranding();
59
+ });
60
+ // List workspaces
61
+ workspaceCommand
62
+ .command('list')
63
+ .description('List all workspaces')
64
+ .option('--json', 'Output as JSON')
65
+ .action(async (options) => {
66
+ const workspaces = listWorkspaces();
67
+ if (workspaces.length === 0) {
68
+ console.log('\n📦 No workspaces created\n');
69
+ console.log('💡 Create one with: mediaproc workspace create <name>\n');
70
+ return;
71
+ }
72
+ if (options.json) {
73
+ console.log(JSON.stringify(workspaces, null, 2));
74
+ return;
75
+ }
76
+ const active = getActiveWorkspace();
77
+ console.log('\n📁 Workspaces\n');
78
+ console.log('━'.repeat(60));
79
+ workspaces.forEach((ws, index) => {
80
+ const isActive = ws.name === active;
81
+ const indicator = isActive ? '\x1b[32m●\x1b[0m' : ' ';
82
+ console.log(`\n${indicator} ${index + 1}. \x1b[36m${ws.name}\x1b[0m${isActive ? ' (active)' : ''}`);
83
+ if (ws.description) {
84
+ console.log(` ${ws.description}`);
85
+ }
86
+ console.log(` Rules: ${ws.rules.length}`);
87
+ console.log(` Last used: ${new Date(ws.lastUsed).toLocaleDateString()}`);
88
+ });
89
+ console.log('\n' + '━'.repeat(60) + '\n');
90
+ showBranding();
91
+ });
92
+ // Add rule
93
+ workspaceCommand
94
+ .command('add-rule')
95
+ .description('Add processing rule to workspace')
96
+ .argument('<workspace>', 'Workspace name')
97
+ .option('--pattern <pattern>', 'File pattern (e.g., "*.jpg")', '*')
98
+ .option('--command <cmd>', 'Command to run', 'image optimize')
99
+ .option('--args <json>', 'Command arguments as JSON')
100
+ .action(async (workspace, options) => {
101
+ const workspacePath = path.join(WORKSPACE_DIR, `${workspace}.json`);
102
+ if (!fs.existsSync(workspacePath)) {
103
+ console.log(`\n❌ Workspace "${workspace}" not found\n`);
104
+ return;
105
+ }
106
+ const config = JSON.parse(fs.readFileSync(workspacePath, 'utf-8'));
107
+ const rule = {
108
+ pattern: options.pattern,
109
+ command: options.command,
110
+ args: options.args ? JSON.parse(options.args) : {}
111
+ };
112
+ config.rules.push(rule);
113
+ fs.writeFileSync(workspacePath, JSON.stringify(config, null, 2));
114
+ console.log(`\n✓ Rule added to workspace "${workspace}"\n`);
115
+ console.log(`Pattern: ${rule.pattern}`);
116
+ console.log(`Command: ${rule.command}\n`);
117
+ showBranding();
118
+ });
119
+ // Process with workspace
120
+ workspaceCommand
121
+ .command('process')
122
+ .description('Process files using workspace rules')
123
+ .argument('<directory>', 'Directory to process')
124
+ .option('--workspace <name>', 'Workspace to use (defaults to active)')
125
+ .option('--dry-run', 'Show what would be processed without executing')
126
+ .action(async (directory, options) => {
127
+ const workspaceName = options.workspace || getActiveWorkspace();
128
+ if (!workspaceName) {
129
+ console.log('\n❌ No active workspace. Set one with: mediaproc workspace use <name>\n');
130
+ return;
131
+ }
132
+ const workspacePath = path.join(WORKSPACE_DIR, `${workspaceName}.json`);
133
+ const config = JSON.parse(fs.readFileSync(workspacePath, 'utf-8'));
134
+ console.log(`\n🚀 Processing with workspace "${workspaceName}"\n`);
135
+ console.log(`Directory: ${directory}`);
136
+ console.log(`Rules: ${config.rules.length}\n`);
137
+ if (options.dryRun) {
138
+ console.log('📄 Dry run - showing what would be processed:\n');
139
+ config.rules.forEach((rule, index) => {
140
+ console.log(`${index + 1}. Pattern: ${rule.pattern}`);
141
+ console.log(` Command: mediaproc ${rule.command}`);
142
+ });
143
+ console.log('');
144
+ }
145
+ else {
146
+ console.log('⚠️ Note: Actual processing requires full implementation\n');
147
+ }
148
+ showBranding();
149
+ });
150
+ // Delete workspace
151
+ workspaceCommand
152
+ .command('delete')
153
+ .description('Delete a workspace')
154
+ .argument('<name>', 'Workspace name')
155
+ .action(async (name) => {
156
+ const workspacePath = path.join(WORKSPACE_DIR, `${name}.json`);
157
+ if (!fs.existsSync(workspacePath)) {
158
+ console.log(`\n❌ Workspace "${name}" not found\n`);
159
+ return;
160
+ }
161
+ fs.unlinkSync(workspacePath);
162
+ console.log(`\n✓ Workspace "${name}" deleted\n`);
163
+ showBranding();
164
+ });
165
+ function ensureWorkspaceDirectory() {
166
+ if (!fs.existsSync(WORKSPACE_DIR)) {
167
+ fs.mkdirSync(WORKSPACE_DIR, { recursive: true });
168
+ }
169
+ }
170
+ function listWorkspaces() {
171
+ if (!fs.existsSync(WORKSPACE_DIR)) {
172
+ return [];
173
+ }
174
+ const files = fs.readdirSync(WORKSPACE_DIR)
175
+ .filter(f => f.endsWith('.json') && f !== 'workspace.json');
176
+ return files.map(f => {
177
+ const data = fs.readFileSync(path.join(WORKSPACE_DIR, f), 'utf-8');
178
+ return JSON.parse(data);
179
+ });
180
+ }
181
+ function getActiveWorkspace() {
182
+ const activePath = path.join(WORKSPACE_DIR, 'active.txt');
183
+ if (fs.existsSync(activePath)) {
184
+ return fs.readFileSync(activePath, 'utf-8').trim();
185
+ }
186
+ return null;
187
+ }
188
+ function getPresets(preset) {
189
+ const presets = {
190
+ web: {
191
+ image: { format: 'webp', quality: 85, maxWidth: 1920 },
192
+ video: { codec: 'h264', quality: 'medium' }
193
+ },
194
+ mobile: {
195
+ image: { format: 'webp', quality: 80, maxWidth: 1080 },
196
+ video: { codec: 'h264', quality: 'low', maxWidth: 720 }
197
+ },
198
+ print: {
199
+ image: { format: 'tiff', quality: 100, dpi: 300 }
200
+ },
201
+ social: {
202
+ image: { format: 'jpg', quality: 90, maxWidth: 1200 },
203
+ video: { codec: 'h264', quality: 'high', maxDuration: 60 }
204
+ }
205
+ };
206
+ return preset ? presets[preset] || {} : {};
207
+ }
208
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/commands/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export interface HistoryEntry {
2
+ id: number;
3
+ timestamp: number;
4
+ command: string;
5
+ plugin: string;
6
+ flags: Record<string, any>;
7
+ args: string[];
8
+ inputPath?: string;
9
+ outputPath?: string;
10
+ cwd: string;
11
+ success: boolean;
12
+ duration?: number;
13
+ }
14
+ export declare class HistoryManager {
15
+ loadHistory(): HistoryEntry[];
16
+ saveHistoryEntry(entry: Omit<HistoryEntry, 'id' | 'timestamp' | 'plugin'>): void;
17
+ clearHistory(): void;
18
+ ensureHistoryDirectory(): void;
19
+ displayHistory(history: HistoryEntry[], limit: number): void;
20
+ summarizeHistory(history: HistoryEntry[]): {
21
+ commands: Record<string, {
22
+ count: number;
23
+ plugin: string;
24
+ }>;
25
+ };
26
+ }
27
+ //# sourceMappingURL=history-manager.d.ts.map