@wundr.io/cli 1.0.12 → 1.0.14

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 (233) hide show
  1. package/dist/ai/ai-service.d.ts +152 -0
  2. package/dist/ai/ai-service.d.ts.map +1 -0
  3. package/dist/ai/ai-service.js +430 -0
  4. package/dist/ai/ai-service.js.map +1 -0
  5. package/dist/ai/claude-client.d.ts +130 -0
  6. package/dist/ai/claude-client.d.ts.map +1 -0
  7. package/dist/ai/claude-client.js +340 -0
  8. package/dist/ai/claude-client.js.map +1 -0
  9. package/dist/ai/conversation-manager.d.ts +164 -0
  10. package/dist/ai/conversation-manager.d.ts.map +1 -0
  11. package/dist/ai/conversation-manager.js +614 -0
  12. package/dist/ai/conversation-manager.js.map +1 -0
  13. package/dist/ai/index.d.ts +5 -0
  14. package/dist/ai/index.d.ts.map +1 -0
  15. package/dist/ai/index.js +8 -0
  16. package/dist/ai/index.js.map +1 -0
  17. package/dist/cli.d.ts +36 -0
  18. package/dist/cli.d.ts.map +1 -0
  19. package/dist/cli.js +192 -0
  20. package/dist/cli.js.map +1 -0
  21. package/dist/commands/ai.d.ts +89 -0
  22. package/dist/commands/ai.d.ts.map +1 -0
  23. package/dist/commands/ai.js +954 -0
  24. package/dist/commands/ai.js.map +1 -0
  25. package/dist/commands/alignment.d.ts +78 -0
  26. package/dist/commands/alignment.d.ts.map +1 -0
  27. package/dist/commands/alignment.js +817 -0
  28. package/dist/commands/alignment.js.map +1 -0
  29. package/dist/commands/analyze-optimized.d.ts +14 -0
  30. package/dist/commands/analyze-optimized.d.ts.map +1 -0
  31. package/dist/commands/analyze-optimized.js +609 -0
  32. package/dist/commands/analyze-optimized.js.map +1 -0
  33. package/dist/commands/analyze.d.ts +65 -0
  34. package/dist/commands/analyze.d.ts.map +1 -0
  35. package/dist/commands/analyze.js +435 -0
  36. package/dist/commands/analyze.js.map +1 -0
  37. package/dist/commands/batch.d.ts +93 -0
  38. package/dist/commands/batch.d.ts.map +1 -0
  39. package/dist/commands/batch.js +854 -0
  40. package/dist/commands/batch.js.map +1 -0
  41. package/dist/commands/chat.d.ts +72 -0
  42. package/dist/commands/chat.d.ts.map +1 -0
  43. package/dist/commands/chat.js +678 -0
  44. package/dist/commands/chat.js.map +1 -0
  45. package/dist/commands/claude-init.d.ts +28 -0
  46. package/dist/commands/claude-init.d.ts.map +1 -0
  47. package/dist/commands/claude-init.js +591 -0
  48. package/dist/commands/claude-init.js.map +1 -0
  49. package/dist/commands/claude-setup.d.ts +119 -0
  50. package/dist/commands/claude-setup.d.ts.map +1 -0
  51. package/dist/commands/claude-setup.js +1079 -0
  52. package/dist/commands/claude-setup.js.map +1 -0
  53. package/dist/commands/computer-setup.d.ts +8 -0
  54. package/dist/commands/computer-setup.d.ts.map +1 -0
  55. package/dist/commands/computer-setup.js +877 -0
  56. package/dist/commands/computer-setup.js.map +1 -0
  57. package/dist/commands/create-command.d.ts +7 -0
  58. package/dist/commands/create-command.d.ts.map +1 -0
  59. package/dist/commands/create-command.js +158 -0
  60. package/dist/commands/create-command.js.map +1 -0
  61. package/dist/commands/create.d.ts +74 -0
  62. package/dist/commands/create.d.ts.map +1 -0
  63. package/dist/commands/create.js +556 -0
  64. package/dist/commands/create.js.map +1 -0
  65. package/dist/commands/dashboard.d.ts +91 -0
  66. package/dist/commands/dashboard.d.ts.map +1 -0
  67. package/dist/commands/dashboard.js +538 -0
  68. package/dist/commands/dashboard.js.map +1 -0
  69. package/dist/commands/govern.d.ts +70 -0
  70. package/dist/commands/govern.d.ts.map +1 -0
  71. package/dist/commands/govern.js +481 -0
  72. package/dist/commands/govern.js.map +1 -0
  73. package/dist/commands/governance.d.ts +17 -0
  74. package/dist/commands/governance.d.ts.map +1 -0
  75. package/dist/commands/governance.js +703 -0
  76. package/dist/commands/governance.js.map +1 -0
  77. package/dist/commands/guardian.d.ts +20 -0
  78. package/dist/commands/guardian.d.ts.map +1 -0
  79. package/dist/commands/guardian.js +597 -0
  80. package/dist/commands/guardian.js.map +1 -0
  81. package/dist/commands/init.d.ts +59 -0
  82. package/dist/commands/init.d.ts.map +1 -0
  83. package/dist/commands/init.js +650 -0
  84. package/dist/commands/init.js.map +1 -0
  85. package/dist/commands/orchestrator.d.ts +7 -0
  86. package/dist/commands/orchestrator.d.ts.map +1 -0
  87. package/dist/commands/orchestrator.js +578 -0
  88. package/dist/commands/orchestrator.js.map +1 -0
  89. package/dist/commands/performance-optimizer.d.ts +30 -0
  90. package/dist/commands/performance-optimizer.d.ts.map +1 -0
  91. package/dist/commands/performance-optimizer.js +650 -0
  92. package/dist/commands/performance-optimizer.js.map +1 -0
  93. package/dist/commands/plugins.d.ts +87 -0
  94. package/dist/commands/plugins.d.ts.map +1 -0
  95. package/dist/commands/plugins.js +685 -0
  96. package/dist/commands/plugins.js.map +1 -0
  97. package/dist/commands/rag.d.ts +7 -0
  98. package/dist/commands/rag.d.ts.map +1 -0
  99. package/dist/commands/rag.js +751 -0
  100. package/dist/commands/rag.js.map +1 -0
  101. package/dist/commands/session.d.ts +41 -0
  102. package/dist/commands/session.d.ts.map +1 -0
  103. package/dist/commands/session.js +441 -0
  104. package/dist/commands/session.js.map +1 -0
  105. package/dist/commands/setup.d.ts +24 -0
  106. package/dist/commands/setup.d.ts.map +1 -0
  107. package/dist/commands/setup.js +172 -0
  108. package/dist/commands/setup.js.map +1 -0
  109. package/dist/commands/test-init.d.ts +9 -0
  110. package/dist/commands/test-init.d.ts.map +1 -0
  111. package/dist/commands/test-init.js +222 -0
  112. package/dist/commands/test-init.js.map +1 -0
  113. package/dist/commands/test.d.ts +25 -0
  114. package/dist/commands/test.d.ts.map +1 -0
  115. package/dist/commands/test.js +217 -0
  116. package/dist/commands/test.js.map +1 -0
  117. package/dist/commands/watch.d.ts +76 -0
  118. package/dist/commands/watch.d.ts.map +1 -0
  119. package/dist/commands/watch.js +613 -0
  120. package/dist/commands/watch.js.map +1 -0
  121. package/dist/commands/worktree.d.ts +63 -0
  122. package/dist/commands/worktree.d.ts.map +1 -0
  123. package/dist/commands/worktree.js +774 -0
  124. package/dist/commands/worktree.js.map +1 -0
  125. package/dist/context/context-manager.d.ts +155 -0
  126. package/dist/context/context-manager.d.ts.map +1 -0
  127. package/dist/context/context-manager.js +383 -0
  128. package/dist/context/context-manager.js.map +1 -0
  129. package/dist/context/index.d.ts +3 -0
  130. package/dist/context/index.d.ts.map +1 -0
  131. package/dist/context/index.js +6 -0
  132. package/dist/context/index.js.map +1 -0
  133. package/dist/context/session-manager.d.ts +207 -0
  134. package/dist/context/session-manager.d.ts.map +1 -0
  135. package/dist/context/session-manager.js +686 -0
  136. package/dist/context/session-manager.js.map +1 -0
  137. package/dist/framework/command-interface.d.ts +349 -0
  138. package/dist/framework/command-interface.d.ts.map +1 -0
  139. package/dist/framework/command-interface.js +101 -0
  140. package/dist/framework/command-interface.js.map +1 -0
  141. package/dist/framework/command-registry.d.ts +173 -0
  142. package/dist/framework/command-registry.d.ts.map +1 -0
  143. package/dist/framework/command-registry.js +734 -0
  144. package/dist/framework/command-registry.js.map +1 -0
  145. package/dist/framework/completion-exporter.d.ts +79 -0
  146. package/dist/framework/completion-exporter.d.ts.map +1 -0
  147. package/dist/framework/completion-exporter.js +259 -0
  148. package/dist/framework/completion-exporter.js.map +1 -0
  149. package/dist/framework/debug-logger.d.ts +163 -0
  150. package/dist/framework/debug-logger.d.ts.map +1 -0
  151. package/dist/framework/debug-logger.js +373 -0
  152. package/dist/framework/debug-logger.js.map +1 -0
  153. package/dist/framework/error-handler.d.ts +196 -0
  154. package/dist/framework/error-handler.d.ts.map +1 -0
  155. package/dist/framework/error-handler.js +613 -0
  156. package/dist/framework/error-handler.js.map +1 -0
  157. package/dist/framework/help-generator.d.ts +78 -0
  158. package/dist/framework/help-generator.d.ts.map +1 -0
  159. package/dist/framework/help-generator.js +414 -0
  160. package/dist/framework/help-generator.js.map +1 -0
  161. package/dist/framework/index.d.ts +62 -0
  162. package/dist/framework/index.d.ts.map +1 -0
  163. package/dist/framework/index.js +95 -0
  164. package/dist/framework/index.js.map +1 -0
  165. package/dist/framework/interactive-repl.d.ts +138 -0
  166. package/dist/framework/interactive-repl.d.ts.map +1 -0
  167. package/dist/framework/interactive-repl.js +567 -0
  168. package/dist/framework/interactive-repl.js.map +1 -0
  169. package/dist/framework/output-formatter.d.ts +274 -0
  170. package/dist/framework/output-formatter.d.ts.map +1 -0
  171. package/dist/framework/output-formatter.js +545 -0
  172. package/dist/framework/output-formatter.js.map +1 -0
  173. package/dist/framework/progress-manager.d.ts +192 -0
  174. package/dist/framework/progress-manager.d.ts.map +1 -0
  175. package/dist/framework/progress-manager.js +408 -0
  176. package/dist/framework/progress-manager.js.map +1 -0
  177. package/dist/index.d.ts +8 -0
  178. package/dist/index.d.ts.map +1 -0
  179. package/dist/index.js +51 -0
  180. package/dist/index.js.map +1 -0
  181. package/dist/interactive/interactive-mode.d.ts +76 -0
  182. package/dist/interactive/interactive-mode.d.ts.map +1 -0
  183. package/dist/interactive/interactive-mode.js +732 -0
  184. package/dist/interactive/interactive-mode.js.map +1 -0
  185. package/dist/nlp/command-mapper.d.ts +174 -0
  186. package/dist/nlp/command-mapper.d.ts.map +1 -0
  187. package/dist/nlp/command-mapper.js +624 -0
  188. package/dist/nlp/command-mapper.js.map +1 -0
  189. package/dist/nlp/command-parser.d.ts +106 -0
  190. package/dist/nlp/command-parser.d.ts.map +1 -0
  191. package/dist/nlp/command-parser.js +417 -0
  192. package/dist/nlp/command-parser.js.map +1 -0
  193. package/dist/nlp/index.d.ts +5 -0
  194. package/dist/nlp/index.d.ts.map +1 -0
  195. package/dist/nlp/index.js +8 -0
  196. package/dist/nlp/index.js.map +1 -0
  197. package/dist/nlp/intent-classifier.d.ts +59 -0
  198. package/dist/nlp/intent-classifier.d.ts.map +1 -0
  199. package/dist/nlp/intent-classifier.js +384 -0
  200. package/dist/nlp/intent-classifier.js.map +1 -0
  201. package/dist/nlp/intent-parser.d.ts +152 -0
  202. package/dist/nlp/intent-parser.d.ts.map +1 -0
  203. package/dist/nlp/intent-parser.js +746 -0
  204. package/dist/nlp/intent-parser.js.map +1 -0
  205. package/dist/plugins/plugin-manager.d.ts +121 -0
  206. package/dist/plugins/plugin-manager.d.ts.map +1 -0
  207. package/dist/plugins/plugin-manager.js +606 -0
  208. package/dist/plugins/plugin-manager.js.map +1 -0
  209. package/dist/types/index.d.ts +224 -0
  210. package/dist/types/index.d.ts.map +1 -0
  211. package/dist/types/index.js +3 -0
  212. package/dist/types/index.js.map +1 -0
  213. package/dist/utils/backup-rollback-manager.d.ts +72 -0
  214. package/dist/utils/backup-rollback-manager.d.ts.map +1 -0
  215. package/dist/utils/backup-rollback-manager.js +288 -0
  216. package/dist/utils/backup-rollback-manager.js.map +1 -0
  217. package/dist/utils/claude-config-installer.d.ts +98 -0
  218. package/dist/utils/claude-config-installer.d.ts.map +1 -0
  219. package/dist/utils/claude-config-installer.js +678 -0
  220. package/dist/utils/claude-config-installer.js.map +1 -0
  221. package/dist/utils/config-manager.d.ts +73 -0
  222. package/dist/utils/config-manager.d.ts.map +1 -0
  223. package/dist/utils/config-manager.js +339 -0
  224. package/dist/utils/config-manager.js.map +1 -0
  225. package/dist/utils/error-handler.d.ts +46 -0
  226. package/dist/utils/error-handler.d.ts.map +1 -0
  227. package/dist/utils/error-handler.js +169 -0
  228. package/dist/utils/error-handler.js.map +1 -0
  229. package/dist/utils/logger.d.ts +25 -0
  230. package/dist/utils/logger.d.ts.map +1 -0
  231. package/dist/utils/logger.js +105 -0
  232. package/dist/utils/logger.js.map +1 -0
  233. package/package.json +6 -6
@@ -0,0 +1,65 @@
1
+ import type { PluginManager } from '../plugins/plugin-manager';
2
+ import type { ConfigManager } from '../utils/config-manager';
3
+ import type { Command } from 'commander';
4
+ /**
5
+ * Analyze commands for code analysis and dependency management
6
+ */
7
+ export declare class AnalyzeCommands {
8
+ private program;
9
+ private _configManager;
10
+ private _pluginManager;
11
+ constructor(program: Command, _configManager: ConfigManager, _pluginManager: PluginManager);
12
+ private registerCommands;
13
+ /**
14
+ * Analyze project dependencies
15
+ */
16
+ private analyzeDependencies;
17
+ /**
18
+ * Analyze code quality
19
+ */
20
+ private analyzeQuality;
21
+ /**
22
+ * Analyze performance
23
+ */
24
+ private analyzePerformance;
25
+ /**
26
+ * Analyze architecture
27
+ */
28
+ private analyzeArchitecture;
29
+ /**
30
+ * Run all analysis types
31
+ */
32
+ private analyzeAll;
33
+ /**
34
+ * Scan for issues in directory
35
+ */
36
+ private scanForIssues;
37
+ /**
38
+ * Analysis implementation methods
39
+ */
40
+ private detectCircularDependencies;
41
+ private findUnusedDependencies;
42
+ private checkOutdatedPackages;
43
+ private runSecurityAudit;
44
+ private analyzeComplexity;
45
+ private detectDuplication;
46
+ private analyzeCoverage;
47
+ private generateQualityMetrics;
48
+ private analyzeBundleSize;
49
+ private analyzeRuntimePerformance;
50
+ private analyzeMemoryUsage;
51
+ private analyzeProjectStructure;
52
+ private detectArchitecturalPatterns;
53
+ private findArchitecturalViolations;
54
+ private performDirectoryScan;
55
+ private autoFixIssues;
56
+ /**
57
+ * Output and reporting methods
58
+ */
59
+ private outputResults;
60
+ private outputTable;
61
+ private outputGraph;
62
+ private generateComprehensiveReport;
63
+ private exportResults;
64
+ }
65
+ //# sourceMappingURL=analyze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,qBAAa,eAAe;IAExB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;gBAFd,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,aAAa,EAC7B,cAAc,EAAE,aAAa;IAKvC,OAAO,CAAC,gBAAgB;IAkFxB;;OAEG;YACW,mBAAmB;IAgDjC;;OAEG;YACW,cAAc;IA+C5B;;OAEG;YACW,kBAAkB;IA0ChC;;OAEG;YACW,mBAAmB;IAyCjC;;OAEG;YACW,UAAU;IAuCxB;;OAEG;YACW,aAAa;IA+B3B;;OAEG;YACW,0BAA0B;YAS1B,sBAAsB;YAStB,qBAAqB;YASrB,gBAAgB;YAShB,iBAAiB;YAQjB,iBAAiB;YAQjB,eAAe;YAQf,sBAAsB;YAKtB,iBAAiB;YAQjB,yBAAyB;YAQzB,kBAAkB;YAQlB,uBAAuB;YAQvB,2BAA2B;YAQ3B,2BAA2B;YAK3B,oBAAoB;YAQpB,aAAa;IAc3B;;OAEG;YACW,aAAa;IAmB3B,OAAO,CAAC,WAAW;YA6BL,WAAW;YAKX,2BAA2B;YAO3B,aAAa;CAO5B"}
@@ -0,0 +1,435 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnalyzeCommands = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
+ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
7
+ // import path from 'path'; // Unused import
8
+ const error_handler_1 = require("../utils/error-handler");
9
+ const logger_1 = require("../utils/logger");
10
+ /**
11
+ * Analyze commands for code analysis and dependency management
12
+ */
13
+ class AnalyzeCommands {
14
+ program;
15
+ _configManager;
16
+ _pluginManager;
17
+ constructor(program, _configManager, _pluginManager) {
18
+ this.program = program;
19
+ this._configManager = _configManager;
20
+ this._pluginManager = _pluginManager;
21
+ this.registerCommands();
22
+ }
23
+ registerCommands() {
24
+ const analyzeCmd = this.program
25
+ .command('analyze')
26
+ .description('analyze code dependencies, quality, and performance');
27
+ // Analyze dependencies
28
+ analyzeCmd
29
+ .command('deps')
30
+ .alias('dependencies')
31
+ .description('analyze project dependencies')
32
+ .option('--circular', 'detect circular dependencies')
33
+ .option('--unused', 'find unused dependencies')
34
+ .option('--outdated', 'check for outdated packages')
35
+ .option('--security', 'run security audit')
36
+ .option('--format <format>', 'output format (json, table, graph)', 'table')
37
+ .action(async (options) => {
38
+ await this.analyzeDependencies(options);
39
+ });
40
+ // Analyze code quality
41
+ analyzeCmd
42
+ .command('quality')
43
+ .alias('code')
44
+ .description('analyze code quality metrics')
45
+ .option('--complexity', 'analyze code complexity')
46
+ .option('--duplication', 'detect code duplication')
47
+ .option('--coverage', 'analyze test coverage')
48
+ .option('--metrics', 'generate quality metrics')
49
+ .action(async (options) => {
50
+ await this.analyzeQuality(options);
51
+ });
52
+ // Analyze performance
53
+ analyzeCmd
54
+ .command('perf')
55
+ .alias('performance')
56
+ .description('analyze performance metrics')
57
+ .option('--bundle', 'analyze bundle size')
58
+ .option('--runtime', 'analyze runtime performance')
59
+ .option('--memory', 'analyze memory usage')
60
+ .action(async (options) => {
61
+ await this.analyzePerformance(options);
62
+ });
63
+ // Analyze architecture
64
+ analyzeCmd
65
+ .command('arch')
66
+ .alias('architecture')
67
+ .description('analyze project architecture')
68
+ .option('--structure', 'analyze project structure')
69
+ .option('--patterns', 'detect architectural patterns')
70
+ .option('--violations', 'find architectural violations')
71
+ .action(async (options) => {
72
+ await this.analyzeArchitecture(options);
73
+ });
74
+ // Full analysis
75
+ analyzeCmd
76
+ .command('all')
77
+ .description('run all analysis types')
78
+ .option('--report', 'generate comprehensive report')
79
+ .option('--export <path>', 'export results to file')
80
+ .action(async (options) => {
81
+ await this.analyzeAll(options);
82
+ });
83
+ // Scan for issues
84
+ analyzeCmd
85
+ .command('scan [path]')
86
+ .description('scan directory for issues')
87
+ .option('--rules <rules>', 'custom rules to apply')
88
+ .option('--severity <level>', 'minimum severity level', 'warning')
89
+ .option('--fix', 'automatically fix issues where possible')
90
+ .action(async (scanPath, options) => {
91
+ await this.scanForIssues(scanPath || process.cwd(), options);
92
+ });
93
+ }
94
+ /**
95
+ * Analyze project dependencies
96
+ */
97
+ async analyzeDependencies(options) {
98
+ try {
99
+ logger_1.logger.info('Analyzing dependencies...');
100
+ const results = {
101
+ type: 'dependency',
102
+ findings: [],
103
+ metrics: {},
104
+ recommendations: [],
105
+ timestamp: new Date(),
106
+ };
107
+ if (options.circular) {
108
+ const circularDeps = await this.detectCircularDependencies();
109
+ results.findings.push(...circularDeps);
110
+ logger_1.logger.info(`Found ${circularDeps.length} circular dependencies`);
111
+ }
112
+ if (options.unused) {
113
+ const unusedDeps = await this.findUnusedDependencies();
114
+ results.findings.push(...unusedDeps);
115
+ logger_1.logger.info(`Found ${unusedDeps.length} unused dependencies`);
116
+ }
117
+ if (options.outdated) {
118
+ const outdatedDeps = await this.checkOutdatedPackages();
119
+ results.findings.push(...outdatedDeps);
120
+ logger_1.logger.info(`Found ${outdatedDeps.length} outdated packages`);
121
+ }
122
+ if (options.security) {
123
+ const securityIssues = await this.runSecurityAudit();
124
+ results.findings.push(...securityIssues);
125
+ logger_1.logger.info(`Found ${securityIssues.length} security issues`);
126
+ }
127
+ await this.outputResults(results, options.format);
128
+ logger_1.logger.success('Dependency analysis completed');
129
+ }
130
+ catch (error) {
131
+ throw error_handler_1.errorHandler.createError('WUNDR_ANALYZE_DEPS_FAILED', 'Failed to analyze dependencies', { options }, true);
132
+ }
133
+ }
134
+ /**
135
+ * Analyze code quality
136
+ */
137
+ async analyzeQuality(options) {
138
+ try {
139
+ logger_1.logger.info('Analyzing code quality...');
140
+ const results = {
141
+ type: 'quality',
142
+ findings: [],
143
+ metrics: {},
144
+ recommendations: [],
145
+ timestamp: new Date(),
146
+ };
147
+ if (options['complexity']) {
148
+ const complexity = await this.analyzeComplexity();
149
+ results.metrics['complexity'] = complexity.average;
150
+ results.findings.push(...complexity.violations);
151
+ }
152
+ if (options['duplication']) {
153
+ const duplication = await this.detectDuplication();
154
+ results.metrics['duplication'] = duplication.percentage;
155
+ results.findings.push(...duplication.violations);
156
+ }
157
+ if (options['coverage']) {
158
+ const coverage = await this.analyzeCoverage();
159
+ results.metrics['coverage'] = coverage.percentage;
160
+ results.findings.push(...coverage.violations);
161
+ }
162
+ if (options.metrics) {
163
+ const metrics = await this.generateQualityMetrics();
164
+ Object.assign(results.metrics, metrics);
165
+ }
166
+ await this.outputResults(results, 'table');
167
+ logger_1.logger.success('Quality analysis completed');
168
+ }
169
+ catch (error) {
170
+ throw error_handler_1.errorHandler.createError('WUNDR_ANALYZE_QUALITY_FAILED', 'Failed to analyze code quality', { options }, true);
171
+ }
172
+ }
173
+ /**
174
+ * Analyze performance
175
+ */
176
+ async analyzePerformance(options) {
177
+ try {
178
+ logger_1.logger.info('Analyzing performance...');
179
+ const results = {
180
+ type: 'performance',
181
+ findings: [],
182
+ metrics: {},
183
+ recommendations: [],
184
+ timestamp: new Date(),
185
+ };
186
+ if (options.bundle) {
187
+ const bundleAnalysis = await this.analyzeBundleSize();
188
+ results.metrics['bundleSize'] = bundleAnalysis.totalSize;
189
+ results.findings.push(...bundleAnalysis.issues);
190
+ }
191
+ if (options.runtime) {
192
+ const runtimeAnalysis = await this.analyzeRuntimePerformance();
193
+ results.metrics['runtime'] = runtimeAnalysis.averageTime;
194
+ results.findings.push(...runtimeAnalysis.issues);
195
+ }
196
+ if (options.memory) {
197
+ const memoryAnalysis = await this.analyzeMemoryUsage();
198
+ results.metrics['memory'] = memoryAnalysis.peakUsage;
199
+ results.findings.push(...memoryAnalysis.issues);
200
+ }
201
+ await this.outputResults(results, 'table');
202
+ logger_1.logger.success('Performance analysis completed');
203
+ }
204
+ catch (error) {
205
+ throw error_handler_1.errorHandler.createError('WUNDR_ANALYZE_PERF_FAILED', 'Failed to analyze performance', { options }, true);
206
+ }
207
+ }
208
+ /**
209
+ * Analyze architecture
210
+ */
211
+ async analyzeArchitecture(options) {
212
+ try {
213
+ logger_1.logger.info('Analyzing architecture...');
214
+ const results = {
215
+ type: 'dependency',
216
+ findings: [],
217
+ metrics: {},
218
+ recommendations: [],
219
+ timestamp: new Date(),
220
+ };
221
+ if (options.structure) {
222
+ const structure = await this.analyzeProjectStructure();
223
+ results.findings.push(...structure.violations);
224
+ results.recommendations.push(...structure.recommendations);
225
+ }
226
+ if (options.patterns) {
227
+ const patterns = await this.detectArchitecturalPatterns();
228
+ results.findings.push(...patterns.violations);
229
+ results.recommendations.push(...patterns.recommendations);
230
+ }
231
+ if (options.violations) {
232
+ const violations = await this.findArchitecturalViolations();
233
+ results.findings.push(...violations);
234
+ }
235
+ await this.outputResults(results, 'table');
236
+ logger_1.logger.success('Architecture analysis completed');
237
+ }
238
+ catch (error) {
239
+ throw error_handler_1.errorHandler.createError('WUNDR_ANALYZE_ARCH_FAILED', 'Failed to analyze architecture', { options }, true);
240
+ }
241
+ }
242
+ /**
243
+ * Run all analysis types
244
+ */
245
+ async analyzeAll(options) {
246
+ try {
247
+ logger_1.logger.info('Running comprehensive analysis...');
248
+ const allResults = [];
249
+ // Run all analysis types
250
+ await this.analyzeDependencies({
251
+ circular: true,
252
+ unused: true,
253
+ security: true,
254
+ });
255
+ await this.analyzeQuality({
256
+ complexity: true,
257
+ duplication: true,
258
+ coverage: true,
259
+ });
260
+ await this.analyzePerformance({ bundle: true, runtime: true });
261
+ await this.analyzeArchitecture({ structure: true, patterns: true });
262
+ if (options.report) {
263
+ await this.generateComprehensiveReport(allResults);
264
+ }
265
+ if (options.export) {
266
+ await this.exportResults(allResults, options.export);
267
+ }
268
+ logger_1.logger.success('Comprehensive analysis completed');
269
+ }
270
+ catch (error) {
271
+ throw error_handler_1.errorHandler.createError('WUNDR_ANALYZE_ALL_FAILED', 'Failed to run comprehensive analysis', { options }, true);
272
+ }
273
+ }
274
+ /**
275
+ * Scan for issues in directory
276
+ */
277
+ async scanForIssues(scanPath, options) {
278
+ try {
279
+ logger_1.logger.info(`Scanning ${chalk_1.default.cyan(scanPath)} for issues...`);
280
+ const findings = await this.performDirectoryScan(scanPath, options);
281
+ if (options.fix) {
282
+ const fixedCount = await this.autoFixIssues(findings);
283
+ logger_1.logger.success(`Fixed ${fixedCount} issues automatically`);
284
+ }
285
+ const results = {
286
+ type: 'quality',
287
+ findings,
288
+ metrics: { totalIssues: findings.length },
289
+ recommendations: [],
290
+ timestamp: new Date(),
291
+ };
292
+ await this.outputResults(results, 'table');
293
+ logger_1.logger.success(`Scan completed: ${findings.length} issues found`);
294
+ }
295
+ catch (error) {
296
+ throw error_handler_1.errorHandler.createError('WUNDR_SCAN_FAILED', 'Failed to scan for issues', { scanPath, options }, true);
297
+ }
298
+ }
299
+ /**
300
+ * Analysis implementation methods
301
+ */
302
+ async detectCircularDependencies() {
303
+ const findings = [];
304
+ // Implementation for detecting circular dependencies
305
+ // This would integrate with existing analysis tools
306
+ return findings;
307
+ }
308
+ async findUnusedDependencies() {
309
+ const findings = [];
310
+ // Implementation for finding unused dependencies
311
+ // This would analyze package.json and actual usage
312
+ return findings;
313
+ }
314
+ async checkOutdatedPackages() {
315
+ const findings = [];
316
+ // Implementation for checking outdated packages
317
+ // This would check npm registry for newer versions
318
+ return findings;
319
+ }
320
+ async runSecurityAudit() {
321
+ const findings = [];
322
+ // Implementation for security audit
323
+ // This would use npm audit or similar tools
324
+ return findings;
325
+ }
326
+ async analyzeComplexity() {
327
+ // Implementation for complexity analysis
328
+ return { average: 0, violations: [] };
329
+ }
330
+ async detectDuplication() {
331
+ // Implementation for duplication detection
332
+ return { percentage: 0, violations: [] };
333
+ }
334
+ async analyzeCoverage() {
335
+ // Implementation for coverage analysis
336
+ return { percentage: 0, violations: [] };
337
+ }
338
+ async generateQualityMetrics() {
339
+ // Implementation for quality metrics
340
+ return {};
341
+ }
342
+ async analyzeBundleSize() {
343
+ // Implementation for bundle size analysis
344
+ return { totalSize: 0, issues: [] };
345
+ }
346
+ async analyzeRuntimePerformance() {
347
+ // Implementation for runtime performance analysis
348
+ return { averageTime: 0, issues: [] };
349
+ }
350
+ async analyzeMemoryUsage() {
351
+ // Implementation for memory usage analysis
352
+ return { peakUsage: 0, issues: [] };
353
+ }
354
+ async analyzeProjectStructure() {
355
+ // Implementation for project structure analysis
356
+ return { violations: [], recommendations: [] };
357
+ }
358
+ async detectArchitecturalPatterns() {
359
+ // Implementation for architectural pattern detection
360
+ return { violations: [], recommendations: [] };
361
+ }
362
+ async findArchitecturalViolations() {
363
+ // Implementation for architectural violation detection
364
+ return [];
365
+ }
366
+ async performDirectoryScan(scanPath, options) {
367
+ // Implementation for directory scanning
368
+ return [];
369
+ }
370
+ async autoFixIssues(findings) {
371
+ // Implementation for auto-fixing issues
372
+ let fixedCount = 0;
373
+ for (const finding of findings) {
374
+ if (finding.fixable && finding.fix) {
375
+ // Apply fix
376
+ fixedCount++;
377
+ }
378
+ }
379
+ return fixedCount;
380
+ }
381
+ /**
382
+ * Output and reporting methods
383
+ */
384
+ async outputResults(results, format) {
385
+ switch (format) {
386
+ case 'json':
387
+ console.log(JSON.stringify(results, null, 2));
388
+ break;
389
+ case 'table':
390
+ this.outputTable(results);
391
+ break;
392
+ case 'graph':
393
+ await this.outputGraph(results);
394
+ break;
395
+ default:
396
+ this.outputTable(results);
397
+ }
398
+ }
399
+ outputTable(results) {
400
+ if (results.findings.length > 0) {
401
+ console.log(chalk_1.default.yellow('\nFindings:'));
402
+ console.table(results.findings.map(f => ({
403
+ Severity: f.severity,
404
+ File: f.file,
405
+ Line: f.line || 'N/A',
406
+ Description: f.description,
407
+ Fixable: f.fixable ? '✓' : '✗',
408
+ })));
409
+ }
410
+ if (Object.keys(results.metrics).length > 0) {
411
+ console.log(chalk_1.default.blue('\nMetrics:'));
412
+ console.table(results.metrics);
413
+ }
414
+ if (results.recommendations.length > 0) {
415
+ console.log(chalk_1.default.green('\nRecommendations:'));
416
+ results.recommendations.forEach((rec, i) => {
417
+ console.log(`${i + 1}. ${rec.title} (${rec.impact} impact, ${rec.effort} effort)`);
418
+ });
419
+ }
420
+ }
421
+ async outputGraph(results) {
422
+ // Implementation for graph output
423
+ logger_1.logger.info('Graph visualization not yet implemented');
424
+ }
425
+ async generateComprehensiveReport(results) {
426
+ // Implementation for comprehensive report generation
427
+ logger_1.logger.info('Generating comprehensive report...');
428
+ }
429
+ async exportResults(results, exportPath) {
430
+ await fs_extra_1.default.writeJson(exportPath, results, { spaces: 2 });
431
+ logger_1.logger.success(`Results exported to ${exportPath}`);
432
+ }
433
+ }
434
+ exports.AnalyzeCommands = AnalyzeCommands;
435
+ //# sourceMappingURL=analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/commands/analyze.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ import type { PluginManager } from '../plugins/plugin-manager';
2
+ import type { ConfigManager } from '../utils/config-manager';
3
+ import type { Command } from 'commander';
4
+ /**
5
+ * Batch commands for YAML automation and batch processing
6
+ */
7
+ export declare class BatchCommands {
8
+ private program;
9
+ private configManager;
10
+ private pluginManager;
11
+ private runningJobs;
12
+ constructor(program: Command, configManager: ConfigManager, pluginManager: PluginManager);
13
+ private registerCommands;
14
+ /**
15
+ * Run batch job from YAML file
16
+ */
17
+ private runBatchJob;
18
+ /**
19
+ * Create a new batch job
20
+ */
21
+ private createBatchJob;
22
+ /**
23
+ * List available batch jobs
24
+ */
25
+ private listBatchJobs;
26
+ /**
27
+ * Validate batch job YAML file
28
+ */
29
+ private validateBatchJob;
30
+ /**
31
+ * Stop a running batch job
32
+ */
33
+ private stopBatchJob;
34
+ /**
35
+ * Show job status
36
+ */
37
+ private showJobStatus;
38
+ /**
39
+ * Schedule batch job execution
40
+ */
41
+ private scheduleBatchJob;
42
+ /**
43
+ * Export batch job to different formats
44
+ */
45
+ private exportBatchJob;
46
+ /**
47
+ * Import batch job from different formats
48
+ */
49
+ private importBatchJob;
50
+ /**
51
+ * Helper methods for batch job operations
52
+ */
53
+ private loadBatchJob;
54
+ private validateJobStructure;
55
+ /**
56
+ * Regex for valid variable names in batch templates.
57
+ */
58
+ private static readonly VALID_VARIABLE_NAME;
59
+ private processJobVariables;
60
+ private showDryRun;
61
+ private executeBatchJob;
62
+ /**
63
+ * Shell metacharacters that indicate injection attempts.
64
+ * These characters have special meaning in sh/bash and must not
65
+ * appear in arguments passed to spawn().
66
+ */
67
+ private static readonly SHELL_METACHARACTERS;
68
+ /**
69
+ * Tokenize a command string into [binary, ...args] without shell
70
+ * interpretation. Supports simple single/double quoting.
71
+ */
72
+ private tokenizeCommand;
73
+ /**
74
+ * Validate that no argument contains shell metacharacters.
75
+ * This is a defense-in-depth measure: since we never use shell: true,
76
+ * metacharacters would be treated literally, but their presence strongly
77
+ * suggests a command injection attempt.
78
+ */
79
+ private validateArgs;
80
+ private executeCommand;
81
+ private evaluateCondition;
82
+ private createInteractiveBatchJob;
83
+ private createBasicBatchJob;
84
+ private createJobFromTemplate;
85
+ private convertToShellScript;
86
+ private convertToDockerfile;
87
+ private importFromJSON;
88
+ private importFromShell;
89
+ private importFromPackageScripts;
90
+ private listTemplates;
91
+ private createTemplate;
92
+ }
93
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/commands/batch.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,aAAa;IALvB,OAAO,CAAC,WAAW,CAA+B;gBAGxC,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa;IAKtC,OAAO,CAAC,gBAAgB;IA2HxB;;OAEG;YACW,WAAW;IAyCzB;;OAEG;YACW,cAAc;IAkC5B;;OAEG;YACW,aAAa;IA2D3B;;OAEG;YACW,gBAAgB;IAkC9B;;OAEG;YACW,YAAY;IAwB1B;;OAEG;YACW,aAAa;IA0C3B;;OAEG;YACW,gBAAgB;IA+B9B;;OAEG;YACW,cAAc;IAqC5B;;OAEG;YACW,cAAc;IA0C5B;;OAEG;YACW,YAAY;YAiBZ,oBAAoB;IAsBlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAA8B;YAE3D,mBAAmB;YAmEnB,UAAU;YA2BV,eAAe;IAyB7B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAiC;IAE7E;;;OAGG;IACH,OAAO,CAAC,eAAe;IA0DvB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;YAUN,cAAc;YA+Dd,iBAAiB;YAcjB,yBAAyB;IAuEvC,OAAO,CAAC,mBAAmB;YAgBb,qBAAqB;IAmBnC,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,mBAAmB;YAkBb,cAAc;YAKd,eAAe;YAiBf,wBAAwB;YAoBxB,aAAa;YAqBb,cAAc;CAmB7B"}