@mediaproc/cli 0.8.4 → 1.0.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 (86) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +25 -13
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/add.d.ts +1 -1
  5. package/dist/commands/add.d.ts.map +1 -1
  6. package/dist/commands/add.js +56 -131
  7. package/dist/commands/add.js.map +1 -1
  8. package/dist/commands/help.js +1 -1
  9. package/dist/commands/help.js.map +1 -1
  10. package/dist/commands/history.js +1 -1
  11. package/dist/commands/history.js.map +1 -1
  12. package/dist/commands/list.d.ts +1 -1
  13. package/dist/commands/list.d.ts.map +1 -1
  14. package/dist/commands/list.js +3 -3
  15. package/dist/commands/list.js.map +1 -1
  16. package/dist/commands/plugins.d.ts +1 -1
  17. package/dist/commands/plugins.d.ts.map +1 -1
  18. package/dist/commands/plugins.js +1 -1
  19. package/dist/commands/plugins.js.map +1 -1
  20. package/dist/commands/remove.d.ts +1 -1
  21. package/dist/commands/remove.d.ts.map +1 -1
  22. package/dist/commands/remove.js +14 -47
  23. package/dist/commands/remove.js.map +1 -1
  24. package/dist/commands/update.d.ts +2 -1
  25. package/dist/commands/update.d.ts.map +1 -1
  26. package/dist/commands/update.js +121 -142
  27. package/dist/commands/update.js.map +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/types.d.ts +3 -0
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/utils/history-manager.d.ts.map +1 -0
  35. package/dist/{history-manager.js → utils/history-manager.js} +1 -1
  36. package/dist/utils/history-manager.js.map +1 -0
  37. package/dist/utils/index.d.ts +4 -0
  38. package/dist/utils/index.d.ts.map +1 -0
  39. package/dist/utils/index.js +7 -0
  40. package/dist/utils/index.js.map +1 -0
  41. package/dist/utils/package-manager.d.ts +37 -0
  42. package/dist/utils/package-manager.d.ts.map +1 -0
  43. package/dist/utils/package-manager.js +195 -0
  44. package/dist/utils/package-manager.js.map +1 -0
  45. package/dist/utils/plugin-helpers.d.ts +39 -0
  46. package/dist/utils/plugin-helpers.d.ts.map +1 -0
  47. package/dist/utils/plugin-helpers.js +156 -0
  48. package/dist/utils/plugin-helpers.js.map +1 -0
  49. package/dist/utils/plugins/api.d.ts +106 -0
  50. package/dist/utils/plugins/api.d.ts.map +1 -0
  51. package/dist/utils/plugins/api.js +20 -0
  52. package/dist/utils/plugins/api.js.map +1 -0
  53. package/dist/utils/plugins/index.d.ts +4 -0
  54. package/dist/utils/plugins/index.d.ts.map +1 -0
  55. package/dist/utils/plugins/index.js +7 -0
  56. package/dist/utils/plugins/index.js.map +1 -0
  57. package/dist/utils/plugins/manager.d.ts +88 -0
  58. package/dist/utils/plugins/manager.d.ts.map +1 -0
  59. package/dist/utils/plugins/manager.js +267 -0
  60. package/dist/utils/plugins/manager.js.map +1 -0
  61. package/dist/{plugin-registry.d.ts → utils/plugins/registry.d.ts} +22 -1
  62. package/dist/utils/plugins/registry.d.ts.map +1 -0
  63. package/dist/{plugin-registry.js → utils/plugins/registry.js} +105 -7
  64. package/dist/utils/plugins/registry.js.map +1 -0
  65. package/package.json +4 -18
  66. package/dist/commands/delete.d.ts +0 -7
  67. package/dist/commands/delete.d.ts.map +0 -1
  68. package/dist/commands/delete.js +0 -250
  69. package/dist/commands/delete.js.map +0 -1
  70. package/dist/commands/stats.d.ts +0 -3
  71. package/dist/commands/stats.d.ts.map +0 -1
  72. package/dist/commands/stats.js +0 -157
  73. package/dist/commands/stats.js.map +0 -1
  74. package/dist/history-manager.d.ts.map +0 -1
  75. package/dist/history-manager.js.map +0 -1
  76. package/dist/plugin-api.d.ts +0 -44
  77. package/dist/plugin-api.d.ts.map +0 -1
  78. package/dist/plugin-api.js +0 -2
  79. package/dist/plugin-api.js.map +0 -1
  80. package/dist/plugin-manager.d.ts +0 -42
  81. package/dist/plugin-manager.d.ts.map +0 -1
  82. package/dist/plugin-manager.js +0 -113
  83. package/dist/plugin-manager.js.map +0 -1
  84. package/dist/plugin-registry.d.ts.map +0 -1
  85. package/dist/plugin-registry.js.map +0 -1
  86. /package/dist/{history-manager.d.ts → utils/history-manager.d.ts} +0 -0
@@ -1,113 +0,0 @@
1
- export class PluginManager {
2
- plugins = new Map();
3
- pluginPrefix = '@mediaproc/';
4
- // Official plugins (recommended, but installed on-demand)
5
- officialPlugins = [
6
- '@mediaproc/image',
7
- '@mediaproc/video',
8
- '@mediaproc/audio',
9
- '@mediaproc/document',
10
- '@mediaproc/animation',
11
- '@mediaproc/3d',
12
- '@mediaproc/stream',
13
- '@mediaproc/ai',
14
- '@mediaproc/metadata',
15
- '@mediaproc/pipeline',
16
- ];
17
- /**
18
- * Check if a plugin is official (@mediaproc/* package)
19
- */
20
- isOfficialPlugin(pluginName) {
21
- // Check if it's in the official list OR starts with @mediaproc/
22
- return this.officialPlugins.includes(pluginName) || pluginName.startsWith(this.pluginPrefix);
23
- }
24
- /**
25
- * Get the plugin prefix
26
- */
27
- getPluginPrefix() {
28
- return this.pluginPrefix;
29
- }
30
- /**
31
- * Load a specific plugin and register its commands
32
- */
33
- async loadPlugin(pluginName, program, isBuiltIn = false) {
34
- // Skip if already loaded
35
- if (this.plugins.has(pluginName)) {
36
- return true;
37
- }
38
- try {
39
- // Dynamic import of the plugin
40
- const plugin = await import(pluginName);
41
- if (typeof plugin.register !== 'function') {
42
- throw new Error(`Plugin ${pluginName} does not export a register() function`);
43
- }
44
- // Register plugin commands with the CLI
45
- await plugin.register(program);
46
- this.plugins.set(pluginName, {
47
- ...plugin,
48
- isBuiltIn
49
- });
50
- return true;
51
- }
52
- catch (error) {
53
- const errorMessage = error instanceof Error ? error.message : String(error);
54
- throw new Error(`Failed to load plugin ${pluginName}: ${errorMessage}`);
55
- }
56
- }
57
- /**
58
- * Get list of loaded plugins (currently in memory)
59
- */
60
- getLoadedPlugins() {
61
- return Array.from(this.plugins.keys());
62
- }
63
- /**
64
- * Get official plugins list
65
- */
66
- getOfficialPlugins() {
67
- return [...this.officialPlugins];
68
- }
69
- /**
70
- * Get plugin instance
71
- */
72
- getPlugin(pluginName) {
73
- return this.plugins.get(pluginName);
74
- }
75
- /**
76
- * Unload a plugin (remove from registry)
77
- */
78
- unloadPlugin(pluginName) {
79
- if (this.plugins.has(pluginName)) {
80
- this.plugins.delete(pluginName);
81
- return true;
82
- }
83
- return false;
84
- }
85
- }
86
- // Export a singleton PluginManager instance
87
- export const pluginManager = new PluginManager();
88
- /**
89
- * Get the plugin name for a given command name.
90
- * Checks loaded plugins for a command match, otherwise returns 'core'.
91
- */
92
- export function getPluginNameForCommand(commandName) {
93
- for (const [pluginName, plugin] of pluginManager['plugins'].entries()) {
94
- // If plugin has a 'commands' array property (non-standard, but some plugins may add it)
95
- if (plugin && plugin.commands && Array.isArray(plugin.commands)) {
96
- if (plugin.commands.includes(commandName)) {
97
- return pluginName;
98
- }
99
- }
100
- // If plugin has a 'getCommands' method (non-standard, but some plugins may add it)
101
- if (plugin && typeof plugin.getCommands === 'function') {
102
- try {
103
- const cmds = plugin.getCommands();
104
- if (Array.isArray(cmds) && cmds.includes(commandName)) {
105
- return pluginName;
106
- }
107
- }
108
- catch { }
109
- }
110
- }
111
- return 'core';
112
- }
113
- //# sourceMappingURL=plugin-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-manager.js","sourceRoot":"","sources":["../src/plugin-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../src/plugin-registry.ts"],"names":[],"mappings":"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"}