@mediaproc/cli 0.1.0 → 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 (52) hide show
  1. package/README.md +381 -54
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +24 -9
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/add.d.ts.map +1 -1
  6. package/dist/commands/add.js +108 -39
  7. package/dist/commands/add.js.map +1 -1
  8. package/dist/commands/config.d.ts.map +1 -1
  9. package/dist/commands/config.js +86 -27
  10. package/dist/commands/config.js.map +1 -1
  11. package/dist/commands/convert.d.ts +7 -0
  12. package/dist/commands/convert.d.ts.map +1 -0
  13. package/dist/commands/convert.js +96 -0
  14. package/dist/commands/convert.js.map +1 -0
  15. package/dist/commands/help.js +2 -2
  16. package/dist/commands/help.js.map +1 -1
  17. package/dist/commands/info.d.ts +7 -0
  18. package/dist/commands/info.d.ts.map +1 -0
  19. package/dist/commands/info.js +117 -0
  20. package/dist/commands/info.js.map +1 -0
  21. package/dist/commands/init.d.ts.map +1 -1
  22. package/dist/commands/init.js +25 -47
  23. package/dist/commands/init.js.map +1 -1
  24. package/dist/commands/list.d.ts.map +1 -1
  25. package/dist/commands/list.js +90 -17
  26. package/dist/commands/list.js.map +1 -1
  27. package/dist/commands/optimize.d.ts +7 -0
  28. package/dist/commands/optimize.d.ts.map +1 -0
  29. package/dist/commands/optimize.js +196 -0
  30. package/dist/commands/optimize.js.map +1 -0
  31. package/dist/commands/plugins.d.ts +4 -0
  32. package/dist/commands/plugins.d.ts.map +1 -0
  33. package/dist/commands/plugins.js +79 -0
  34. package/dist/commands/plugins.js.map +1 -0
  35. package/dist/commands/remove.d.ts.map +1 -1
  36. package/dist/commands/remove.js +92 -11
  37. package/dist/commands/remove.js.map +1 -1
  38. package/dist/config-manager.d.ts +110 -0
  39. package/dist/config-manager.d.ts.map +1 -0
  40. package/dist/config-manager.js +201 -0
  41. package/dist/config-manager.js.map +1 -0
  42. package/dist/plugin-manager.d.ts +31 -7
  43. package/dist/plugin-manager.d.ts.map +1 -1
  44. package/dist/plugin-manager.js +75 -44
  45. package/dist/plugin-manager.js.map +1 -1
  46. package/dist/plugin-registry.d.ts +9 -0
  47. package/dist/plugin-registry.d.ts.map +1 -1
  48. package/dist/plugin-registry.js +41 -6
  49. package/dist/plugin-registry.js.map +1 -1
  50. package/dist/types.d.ts +1 -0
  51. package/dist/types.d.ts.map +1 -1
  52. package/package.json +6 -6
@@ -1,55 +1,45 @@
1
- import { readFileSync, existsSync } from 'fs';
2
- import { join } from 'path';
3
- import chalk from 'chalk';
1
+ import { ConfigManager } from './config-manager.js';
4
2
  export class PluginManager {
5
3
  plugins = new Map();
6
4
  pluginPrefix = '@mediaproc/';
5
+ configManager;
6
+ constructor() {
7
+ this.configManager = new ConfigManager();
8
+ }
9
+ // Official plugins (recommended, but installed on-demand)
10
+ officialPlugins = [
11
+ '@mediaproc/image',
12
+ '@mediaproc/video',
13
+ '@mediaproc/audio',
14
+ '@mediaproc/document',
15
+ '@mediaproc/animation',
16
+ '@mediaproc/3d',
17
+ '@mediaproc/stream',
18
+ '@mediaproc/ai',
19
+ '@mediaproc/metadata',
20
+ '@mediaproc/pipeline',
21
+ ];
7
22
  /**
8
- * Discover and load all installed @mediaproc/* plugins
23
+ * Check if a plugin is official (@mediaproc/* package)
9
24
  */
10
- async loadPlugins(program) {
11
- const installedPlugins = this.discoverPlugins();
12
- for (const pluginName of installedPlugins) {
13
- try {
14
- await this.loadPlugin(pluginName, program);
15
- }
16
- catch (error) {
17
- const errorMessage = error instanceof Error ? error.message : String(error);
18
- console.error(chalk.yellow(`Warning: Failed to load plugin ${pluginName}:`), errorMessage);
19
- }
20
- }
25
+ isOfficialPlugin(pluginName) {
26
+ // Check if it's in the official list OR starts with @mediaproc/
27
+ return this.officialPlugins.includes(pluginName) || pluginName.startsWith(this.pluginPrefix);
21
28
  }
22
29
  /**
23
- * Discover installed plugins by scanning node_modules
30
+ * Get the plugin prefix
24
31
  */
25
- discoverPlugins() {
26
- const plugins = [];
27
- try {
28
- // Try to read package.json to find dependencies
29
- const packageJsonPath = join(process.cwd(), 'package.json');
30
- if (existsSync(packageJsonPath)) {
31
- const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
32
- const allDeps = {
33
- ...packageJson.dependencies,
34
- ...packageJson.devDependencies,
35
- };
36
- // Find all @mediaproc/* packages
37
- for (const dep of Object.keys(allDeps)) {
38
- if (dep.startsWith(this.pluginPrefix) && dep !== '@mediaproc/core') {
39
- plugins.push(dep);
40
- }
41
- }
42
- }
43
- }
44
- catch (error) {
45
- // Silently fail - no plugins installed yet
46
- }
47
- return plugins;
32
+ getPluginPrefix() {
33
+ return this.pluginPrefix;
48
34
  }
49
35
  /**
50
36
  * Load a specific plugin and register its commands
51
37
  */
52
- async loadPlugin(pluginName, program) {
38
+ async loadPlugin(pluginName, program, isBuiltIn = false) {
39
+ // Skip if already loaded
40
+ if (this.plugins.has(pluginName)) {
41
+ return true;
42
+ }
53
43
  try {
54
44
  // Dynamic import of the plugin
55
45
  const plugin = await import(pluginName);
@@ -58,7 +48,12 @@ export class PluginManager {
58
48
  }
59
49
  // Register plugin commands with the CLI
60
50
  await plugin.register(program);
61
- this.plugins.set(pluginName, plugin);
51
+ this.plugins.set(pluginName, {
52
+ ...plugin,
53
+ isBuiltIn
54
+ });
55
+ // Update config to mark as loaded
56
+ this.configManager.addLoadedPlugin(pluginName);
62
57
  return true;
63
58
  }
64
59
  catch (error) {
@@ -67,16 +62,34 @@ export class PluginManager {
67
62
  }
68
63
  }
69
64
  /**
70
- * Get list of loaded plugins
65
+ * Get list of loaded plugins (currently in memory)
71
66
  */
72
67
  getLoadedPlugins() {
73
68
  return Array.from(this.plugins.keys());
74
69
  }
75
70
  /**
76
- * Check if a plugin is loaded
71
+ * Get list of installed plugins from config
72
+ */
73
+ getInstalledPlugins() {
74
+ return this.configManager.getInstalledPlugins();
75
+ }
76
+ /**
77
+ * Check if a plugin is installed (from config)
78
+ */
79
+ isPluginInstalled(pluginName) {
80
+ return this.configManager.isPluginInstalled(pluginName);
81
+ }
82
+ /**
83
+ * Get official plugins list
84
+ */
85
+ getOfficialPlugins() {
86
+ return [...this.officialPlugins];
87
+ }
88
+ /**
89
+ * Check if a plugin is loaded (in memory)
77
90
  */
78
91
  isPluginLoaded(pluginName) {
79
- return this.plugins.has(pluginName);
92
+ return this.configManager.isPluginLoaded(pluginName);
80
93
  }
81
94
  /**
82
95
  * Get plugin instance
@@ -84,5 +97,23 @@ export class PluginManager {
84
97
  getPlugin(pluginName) {
85
98
  return this.plugins.get(pluginName);
86
99
  }
100
+ /**
101
+ * Unload a plugin (remove from registry)
102
+ */
103
+ unloadPlugin(pluginName) {
104
+ if (this.plugins.has(pluginName)) {
105
+ this.plugins.delete(pluginName);
106
+ // Update config to mark as unloaded
107
+ this.configManager.removeLoadedPlugin(pluginName);
108
+ return true;
109
+ }
110
+ return false;
111
+ }
112
+ /**
113
+ * Get the config manager instance
114
+ */
115
+ getConfigManager() {
116
+ return this.configManager;
117
+ }
87
118
  }
88
119
  //# sourceMappingURL=plugin-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../src/plugin-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../src/plugin-manager.ts"],"names":[],"mappings":"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"}
@@ -8,14 +8,23 @@ export interface PluginRegistryEntry {
8
8
  package: string;
9
9
  description: string;
10
10
  category: 'core' | 'advanced' | 'future-proof';
11
+ type: 'official' | 'community';
11
12
  dependencies?: string[];
12
13
  systemRequirements?: string[];
13
14
  }
14
15
  export declare const PLUGIN_REGISTRY: Record<string, PluginRegistryEntry>;
15
16
  /**
16
17
  * Resolve short name to full package name
18
+ * Handles three types of plugins:
19
+ * 1. Official: @mediaproc/<name> (e.g., @mediaproc/image)
20
+ * 2. Community: mediaproc-<name> (e.g., mediaproc-super-filters)
21
+ * 3. Third-party: any npm package (e.g., my-custom-mediaproc-plugin)
17
22
  */
18
23
  export declare function resolvePluginPackage(shortName: string): string;
24
+ /**
25
+ * Detect plugin type from package name
26
+ */
27
+ export declare function detectPluginType(packageName: string): 'official' | 'community' | 'third-party';
19
28
  /**
20
29
  * Get all available plugins grouped by category
21
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,cAAc,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAyI/D,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAe9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAiB5E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD"}
1
+ {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,cAAc,CAAC;IAC/C,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CA0J/D,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAe9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAQ9F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAiB5E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD"}
@@ -10,6 +10,7 @@ export const PLUGIN_REGISTRY = {
10
10
  package: '@mediaproc/image',
11
11
  description: 'Image processing (resize, convert, filters, effects)',
12
12
  category: 'core',
13
+ type: 'official',
13
14
  systemRequirements: ['Sharp (auto-installed)'],
14
15
  },
15
16
  'video': {
@@ -17,6 +18,7 @@ export const PLUGIN_REGISTRY = {
17
18
  package: '@mediaproc/video',
18
19
  description: 'Video processing (transcode, compress, extract)',
19
20
  category: 'core',
21
+ type: 'official',
20
22
  systemRequirements: ['FFmpeg'],
21
23
  },
22
24
  'audio': {
@@ -24,6 +26,7 @@ export const PLUGIN_REGISTRY = {
24
26
  package: '@mediaproc/audio',
25
27
  description: 'Audio processing (convert, normalize, extract)',
26
28
  category: 'core',
29
+ type: 'official',
27
30
  systemRequirements: ['FFmpeg'],
28
31
  },
29
32
  // Document Media (Very Important)
@@ -32,6 +35,7 @@ export const PLUGIN_REGISTRY = {
32
35
  package: '@mediaproc/document',
33
36
  description: 'PDF/DOCX/PPTX/EPUB processing, OCR, compression',
34
37
  category: 'core',
38
+ type: 'official',
35
39
  systemRequirements: ['Ghostscript', 'Tesseract OCR', 'Poppler'],
36
40
  },
37
41
  'doc': {
@@ -39,6 +43,7 @@ export const PLUGIN_REGISTRY = {
39
43
  package: '@mediaproc/document',
40
44
  description: 'Alias for document plugin',
41
45
  category: 'core',
46
+ type: 'official',
42
47
  },
43
48
  // Animation & Motion Media
44
49
  'animation': {
@@ -46,6 +51,7 @@ export const PLUGIN_REGISTRY = {
46
51
  package: '@mediaproc/animation',
47
52
  description: 'GIF/APNG/WebP animations, Lottie, SVG animations',
48
53
  category: 'core',
54
+ type: 'official',
49
55
  systemRequirements: ['FFmpeg'],
50
56
  },
51
57
  'anim': {
@@ -53,6 +59,7 @@ export const PLUGIN_REGISTRY = {
53
59
  package: '@mediaproc/animation',
54
60
  description: 'Alias for animation plugin',
55
61
  category: 'core',
62
+ type: 'official',
56
63
  },
57
64
  // 3D & Spatial Media (Advanced)
58
65
  '3d': {
@@ -60,6 +67,7 @@ export const PLUGIN_REGISTRY = {
60
67
  package: '@mediaproc/3d',
61
68
  description: '3D models (GLTF, GLB, OBJ), textures, HDRI, AR/VR assets',
62
69
  category: 'advanced',
70
+ type: 'official',
63
71
  systemRequirements: ['gltf-transform'],
64
72
  },
65
73
  'spatial': {
@@ -67,6 +75,7 @@ export const PLUGIN_REGISTRY = {
67
75
  package: '@mediaproc/3d',
68
76
  description: 'Alias for 3d plugin',
69
77
  category: 'advanced',
78
+ type: 'official',
70
79
  },
71
80
  // Metadata-only Processing (Underrated but Powerful)
72
81
  'metadata': {
@@ -74,6 +83,7 @@ export const PLUGIN_REGISTRY = {
74
83
  package: '@mediaproc/metadata',
75
84
  description: 'EXIF cleanup, GPS removal, codec inspection, compliance checks',
76
85
  category: 'core',
86
+ type: 'official',
77
87
  systemRequirements: ['ExifTool'],
78
88
  },
79
89
  'meta': {
@@ -81,12 +91,14 @@ export const PLUGIN_REGISTRY = {
81
91
  package: '@mediaproc/metadata',
82
92
  description: 'Alias for metadata plugin',
83
93
  category: 'core',
94
+ type: 'official',
84
95
  },
85
96
  'inspect': {
86
97
  name: 'inspect',
87
98
  package: '@mediaproc/metadata',
88
99
  description: 'Alias for metadata plugin',
89
100
  category: 'core',
101
+ type: 'official',
90
102
  },
91
103
  // Streaming & Packaging Media (Advanced, Industry-Relevant)
92
104
  'stream': {
@@ -94,6 +106,7 @@ export const PLUGIN_REGISTRY = {
94
106
  package: '@mediaproc/stream',
95
107
  description: 'HLS/DASH packaging, chunking, encryption, manifests',
96
108
  category: 'advanced',
109
+ type: 'official',
97
110
  systemRequirements: ['FFmpeg', 'Shaka Packager (optional)'],
98
111
  },
99
112
  'streaming': {
@@ -101,6 +114,7 @@ export const PLUGIN_REGISTRY = {
101
114
  package: '@mediaproc/stream',
102
115
  description: 'Alias for stream plugin',
103
116
  category: 'advanced',
117
+ type: 'official',
104
118
  },
105
119
  // AI-Assisted Media (Future-Proof)
106
120
  'ai': {
@@ -108,6 +122,7 @@ export const PLUGIN_REGISTRY = {
108
122
  package: '@mediaproc/ai',
109
123
  description: 'Auto-captioning, scene detection, face blur, background removal, speech-to-text',
110
124
  category: 'future-proof',
125
+ type: 'official',
111
126
  systemRequirements: ['TensorFlow/ONNX Runtime (optional)', 'Whisper (optional)'],
112
127
  },
113
128
  'ml': {
@@ -115,6 +130,7 @@ export const PLUGIN_REGISTRY = {
115
130
  package: '@mediaproc/ai',
116
131
  description: 'Alias for ai plugin',
117
132
  category: 'future-proof',
133
+ type: 'official',
118
134
  },
119
135
  // Media Pipelines (Highest Level)
120
136
  'pipeline': {
@@ -122,23 +138,42 @@ export const PLUGIN_REGISTRY = {
122
138
  package: '@mediaproc/pipeline',
123
139
  description: 'Declarative YAML-based media processing workflows',
124
140
  category: 'advanced',
141
+ type: 'official',
125
142
  dependencies: ['Can use any installed plugins'],
126
143
  },
127
144
  };
128
145
  /**
129
146
  * Resolve short name to full package name
147
+ * Handles three types of plugins:
148
+ * 1. Official: @mediaproc/<name> (e.g., @mediaproc/image)
149
+ * 2. Community: mediaproc-<name> (e.g., mediaproc-super-filters)
150
+ * 3. Third-party: any npm package (e.g., my-custom-mediaproc-plugin)
130
151
  */
131
152
  export function resolvePluginPackage(shortName) {
132
- // If already full package name, return as-is
133
- if (shortName.startsWith('@mediaproc/')) {
153
+ // Already a full package name - return as-is
154
+ if (shortName.includes('/') || shortName.startsWith('mediaproc-')) {
134
155
  return shortName;
135
156
  }
136
- // Look up in registry
157
+ // Look up in official registry first
137
158
  const entry = PLUGIN_REGISTRY[shortName.toLowerCase()];
138
- if (!entry) {
139
- throw new Error(`Unknown plugin: ${shortName}\nRun 'mediaproc plugins' to see available plugins`);
159
+ if (entry) {
160
+ return entry.package;
140
161
  }
141
- return entry.package;
162
+ // Not in registry - could be community or third-party
163
+ // Assume community format: mediaproc-<name>
164
+ return `mediaproc-${shortName}`;
165
+ }
166
+ /**
167
+ * Detect plugin type from package name
168
+ */
169
+ export function detectPluginType(packageName) {
170
+ if (packageName.startsWith('@mediaproc/')) {
171
+ return 'official';
172
+ }
173
+ if (packageName.startsWith('mediaproc-')) {
174
+ return 'community';
175
+ }
176
+ return 'third-party';
142
177
  }
143
178
  /**
144
179
  * Get all available plugins grouped by category
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,MAAM,CAAC,MAAM,eAAe,GAAwC;IAClE,qBAAqB;IACrB,OAAO,EAAE;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,sDAAsD;QACnE,QAAQ,EAAE,MAAM;QAChB,kBAAkB,EAAE,CAAC,wBAAwB,CAAC;KAC/C;IAED,OAAO,EAAE;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,MAAM;QAChB,kBAAkB,EAAE,CAAC,QAAQ,CAAC;KAC/B;IAED,OAAO,EAAE;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,gDAAgD;QAC7D,QAAQ,EAAE,MAAM;QAChB,kBAAkB,EAAE,CAAC,QAAQ,CAAC;KAC/B;IAED,kCAAkC;IAClC,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,MAAM;QAChB,kBAAkB,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,SAAS,CAAC;KAChE;IAED,KAAK,EAAE;QACL,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,MAAM;KACjB;IAED,2BAA2B;IAC3B,WAAW,EAAE;QACX,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,kDAAkD;QAC/D,QAAQ,EAAE,MAAM;QAChB,kBAAkB,EAAE,CAAC,QAAQ,CAAC;KAC/B;IAED,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,4BAA4B;QACzC,QAAQ,EAAE,MAAM;KACjB;IAED,gCAAgC;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,0DAA0D;QACvE,QAAQ,EAAE,UAAU;QACpB,kBAAkB,EAAE,CAAC,gBAAgB,CAAC;KACvC;IAED,SAAS,EAAE;QACT,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,qBAAqB;QAClC,QAAQ,EAAE,UAAU;KACrB;IAED,qDAAqD;IACrD,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,gEAAgE;QAC7E,QAAQ,EAAE,MAAM;QAChB,kBAAkB,EAAE,CAAC,UAAU,CAAC;KACjC;IAED,MAAM,EAAE;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,MAAM;KACjB;IAED,SAAS,EAAE;QACT,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,MAAM;KACjB;IAED,4DAA4D;IAC5D,QAAQ,EAAE;QACR,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,UAAU;QACpB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,2BAA2B,CAAC;KAC5D;IAED,WAAW,EAAE;QACX,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,yBAAyB;QACtC,QAAQ,EAAE,UAAU;KACrB;IAED,mCAAmC;IACnC,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,iFAAiF;QAC9F,QAAQ,EAAE,cAAc;QACxB,kBAAkB,EAAE,CAAC,oCAAoC,EAAE,oBAAoB,CAAC;KACjF;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,qBAAqB;QAClC,QAAQ,EAAE,cAAc;KACzB;IAED,kCAAkC;IAClC,UAAU,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,mDAAmD;QAChE,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,CAAC,+BAA+B,CAAC;KAChD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,6CAA6C;IAC7C,IAAI,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sBAAsB;IACtB,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,mBAAmB,SAAS,oDAAoD,CACjF,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAA0C;QACrD,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE,EAAE;KACnB,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,eAAe,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -3,6 +3,7 @@ export interface MediaProcPlugin {
3
3
  name: string;
4
4
  version: string;
5
5
  register: (program: Command) => void | Promise<void>;
6
+ isBuiltIn?: boolean;
6
7
  }
7
8
  export interface PluginMetadata {
8
9
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediaproc/cli",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Universal media processing CLI with plugin architecture",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -56,17 +56,17 @@
56
56
  "@gltf-transform/core": "^4.2.1",
57
57
  "@lottiefiles/dotlottie-web": "^0.60.0",
58
58
  "chalk": "^5.3.0",
59
- "commander": "^11.1.0",
60
- "execa": "^8.0.1",
59
+ "commander": "^14.0.2",
60
+ "execa": "^9.6.1",
61
61
  "ghostscript4js": "^3.2.3",
62
62
  "node-poppler": "^9.0.1",
63
- "ora": "^7.0.1",
63
+ "ora": "^9.0.0",
64
64
  "shaka-player": "^4.16.12",
65
- "sharp": "^0.33.5",
65
+ "sharp": "^0.34.5",
66
66
  "tesseract.js": "^7.0.0"
67
67
  },
68
68
  "devDependencies": {
69
- "@types/node": "^20.10.4",
69
+ "@types/node": "^25.0.3",
70
70
  "typescript": "^5.3.3"
71
71
  }
72
72
  }