@defai.digital/ax-cli 3.4.6 → 3.5.2

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 (211) hide show
  1. package/LICENSE +2 -6
  2. package/README.md +90 -2
  3. package/dist/analyzers/ast/parser.d.ts +59 -0
  4. package/dist/analyzers/ast/parser.js +293 -0
  5. package/dist/analyzers/ast/parser.js.map +1 -0
  6. package/dist/analyzers/ast/types.d.ts +107 -0
  7. package/dist/analyzers/ast/types.js +7 -0
  8. package/dist/analyzers/ast/types.js.map +1 -0
  9. package/dist/analyzers/code-smells/base-smell-detector.d.ts +30 -0
  10. package/dist/analyzers/code-smells/base-smell-detector.js +44 -0
  11. package/dist/analyzers/code-smells/base-smell-detector.js.map +1 -0
  12. package/dist/analyzers/code-smells/code-smell-analyzer.d.ts +30 -0
  13. package/dist/analyzers/code-smells/code-smell-analyzer.js +167 -0
  14. package/dist/analyzers/code-smells/code-smell-analyzer.js.map +1 -0
  15. package/dist/analyzers/code-smells/detectors/data-clumps-detector.d.ts +11 -0
  16. package/dist/analyzers/code-smells/detectors/data-clumps-detector.js +66 -0
  17. package/dist/analyzers/code-smells/detectors/data-clumps-detector.js.map +1 -0
  18. package/dist/analyzers/code-smells/detectors/dead-code-detector.d.ts +11 -0
  19. package/dist/analyzers/code-smells/detectors/dead-code-detector.js +53 -0
  20. package/dist/analyzers/code-smells/detectors/dead-code-detector.js.map +1 -0
  21. package/dist/analyzers/code-smells/detectors/duplicate-code-detector.d.ts +11 -0
  22. package/dist/analyzers/code-smells/detectors/duplicate-code-detector.js +51 -0
  23. package/dist/analyzers/code-smells/detectors/duplicate-code-detector.js.map +1 -0
  24. package/dist/analyzers/code-smells/detectors/feature-envy-detector.d.ts +11 -0
  25. package/dist/analyzers/code-smells/detectors/feature-envy-detector.js +64 -0
  26. package/dist/analyzers/code-smells/detectors/feature-envy-detector.js.map +1 -0
  27. package/dist/analyzers/code-smells/detectors/inappropriate-intimacy-detector.d.ts +11 -0
  28. package/dist/analyzers/code-smells/detectors/inappropriate-intimacy-detector.js +56 -0
  29. package/dist/analyzers/code-smells/detectors/inappropriate-intimacy-detector.js.map +1 -0
  30. package/dist/analyzers/code-smells/detectors/large-class-detector.d.ts +13 -0
  31. package/dist/analyzers/code-smells/detectors/large-class-detector.js +58 -0
  32. package/dist/analyzers/code-smells/detectors/large-class-detector.js.map +1 -0
  33. package/dist/analyzers/code-smells/detectors/long-method-detector.d.ts +12 -0
  34. package/dist/analyzers/code-smells/detectors/long-method-detector.js +52 -0
  35. package/dist/analyzers/code-smells/detectors/long-method-detector.js.map +1 -0
  36. package/dist/analyzers/code-smells/detectors/long-parameter-list-detector.d.ts +12 -0
  37. package/dist/analyzers/code-smells/detectors/long-parameter-list-detector.js +50 -0
  38. package/dist/analyzers/code-smells/detectors/long-parameter-list-detector.js.map +1 -0
  39. package/dist/analyzers/code-smells/detectors/magic-numbers-detector.d.ts +12 -0
  40. package/dist/analyzers/code-smells/detectors/magic-numbers-detector.js +54 -0
  41. package/dist/analyzers/code-smells/detectors/magic-numbers-detector.js.map +1 -0
  42. package/dist/analyzers/code-smells/detectors/nested-conditionals-detector.d.ts +13 -0
  43. package/dist/analyzers/code-smells/detectors/nested-conditionals-detector.js +71 -0
  44. package/dist/analyzers/code-smells/detectors/nested-conditionals-detector.js.map +1 -0
  45. package/dist/analyzers/code-smells/index.d.ts +16 -0
  46. package/dist/analyzers/code-smells/index.js +19 -0
  47. package/dist/analyzers/code-smells/index.js.map +1 -0
  48. package/dist/analyzers/code-smells/types.d.ts +82 -0
  49. package/dist/analyzers/code-smells/types.js +30 -0
  50. package/dist/analyzers/code-smells/types.js.map +1 -0
  51. package/dist/analyzers/dependency/circular-detector.d.ts +17 -0
  52. package/dist/analyzers/dependency/circular-detector.js +71 -0
  53. package/dist/analyzers/dependency/circular-detector.js.map +1 -0
  54. package/dist/analyzers/dependency/coupling-calculator.d.ts +24 -0
  55. package/dist/analyzers/dependency/coupling-calculator.js +86 -0
  56. package/dist/analyzers/dependency/coupling-calculator.js.map +1 -0
  57. package/dist/analyzers/dependency/dependency-analyzer.d.ts +40 -0
  58. package/dist/analyzers/dependency/dependency-analyzer.js +214 -0
  59. package/dist/analyzers/dependency/dependency-analyzer.js.map +1 -0
  60. package/dist/analyzers/dependency/dependency-graph.d.ts +57 -0
  61. package/dist/analyzers/dependency/dependency-graph.js +186 -0
  62. package/dist/analyzers/dependency/dependency-graph.js.map +1 -0
  63. package/dist/analyzers/dependency/index.d.ts +8 -0
  64. package/dist/analyzers/dependency/index.js +8 -0
  65. package/dist/analyzers/dependency/index.js.map +1 -0
  66. package/dist/analyzers/dependency/types.d.ts +105 -0
  67. package/dist/analyzers/dependency/types.js +5 -0
  68. package/dist/analyzers/dependency/types.js.map +1 -0
  69. package/dist/analyzers/git/churn-calculator.d.ts +34 -0
  70. package/dist/analyzers/git/churn-calculator.js +214 -0
  71. package/dist/analyzers/git/churn-calculator.js.map +1 -0
  72. package/dist/analyzers/git/git-analyzer.d.ts +19 -0
  73. package/dist/analyzers/git/git-analyzer.js +71 -0
  74. package/dist/analyzers/git/git-analyzer.js.map +1 -0
  75. package/dist/analyzers/git/hotspot-detector.d.ts +34 -0
  76. package/dist/analyzers/git/hotspot-detector.js +170 -0
  77. package/dist/analyzers/git/hotspot-detector.js.map +1 -0
  78. package/dist/analyzers/git/index.d.ts +7 -0
  79. package/dist/analyzers/git/index.js +7 -0
  80. package/dist/analyzers/git/index.js.map +1 -0
  81. package/dist/analyzers/git/types.d.ts +88 -0
  82. package/dist/analyzers/git/types.js +5 -0
  83. package/dist/analyzers/git/types.js.map +1 -0
  84. package/dist/analyzers/metrics/halstead-calculator.d.ts +30 -0
  85. package/dist/analyzers/metrics/halstead-calculator.js +150 -0
  86. package/dist/analyzers/metrics/halstead-calculator.js.map +1 -0
  87. package/dist/analyzers/metrics/index.d.ts +9 -0
  88. package/dist/analyzers/metrics/index.js +9 -0
  89. package/dist/analyzers/metrics/index.js.map +1 -0
  90. package/dist/analyzers/metrics/maintainability-calculator.d.ts +17 -0
  91. package/dist/analyzers/metrics/maintainability-calculator.js +46 -0
  92. package/dist/analyzers/metrics/maintainability-calculator.js.map +1 -0
  93. package/dist/analyzers/metrics/metrics-analyzer.d.ts +32 -0
  94. package/dist/analyzers/metrics/metrics-analyzer.js +140 -0
  95. package/dist/analyzers/metrics/metrics-analyzer.js.map +1 -0
  96. package/dist/analyzers/metrics/types.d.ts +67 -0
  97. package/dist/analyzers/metrics/types.js +5 -0
  98. package/dist/analyzers/metrics/types.js.map +1 -0
  99. package/dist/analyzers/security/base-detector.d.ts +58 -0
  100. package/dist/analyzers/security/base-detector.js +104 -0
  101. package/dist/analyzers/security/base-detector.js.map +1 -0
  102. package/dist/analyzers/security/detectors/command-injection-detector.d.ts +12 -0
  103. package/dist/analyzers/security/detectors/command-injection-detector.js +84 -0
  104. package/dist/analyzers/security/detectors/command-injection-detector.js.map +1 -0
  105. package/dist/analyzers/security/detectors/hardcoded-secrets-detector.d.ts +16 -0
  106. package/dist/analyzers/security/detectors/hardcoded-secrets-detector.js +140 -0
  107. package/dist/analyzers/security/detectors/hardcoded-secrets-detector.js.map +1 -0
  108. package/dist/analyzers/security/detectors/insecure-deserialization-detector.d.ts +12 -0
  109. package/dist/analyzers/security/detectors/insecure-deserialization-detector.js +109 -0
  110. package/dist/analyzers/security/detectors/insecure-deserialization-detector.js.map +1 -0
  111. package/dist/analyzers/security/detectors/insecure-random-detector.d.ts +12 -0
  112. package/dist/analyzers/security/detectors/insecure-random-detector.js +61 -0
  113. package/dist/analyzers/security/detectors/insecure-random-detector.js.map +1 -0
  114. package/dist/analyzers/security/detectors/path-traversal-detector.d.ts +12 -0
  115. package/dist/analyzers/security/detectors/path-traversal-detector.js +82 -0
  116. package/dist/analyzers/security/detectors/path-traversal-detector.js.map +1 -0
  117. package/dist/analyzers/security/detectors/sql-injection-detector.d.ts +12 -0
  118. package/dist/analyzers/security/detectors/sql-injection-detector.js +88 -0
  119. package/dist/analyzers/security/detectors/sql-injection-detector.js.map +1 -0
  120. package/dist/analyzers/security/detectors/weak-crypto-detector.d.ts +12 -0
  121. package/dist/analyzers/security/detectors/weak-crypto-detector.js +104 -0
  122. package/dist/analyzers/security/detectors/weak-crypto-detector.js.map +1 -0
  123. package/dist/analyzers/security/detectors/xss-detector.d.ts +12 -0
  124. package/dist/analyzers/security/detectors/xss-detector.js +90 -0
  125. package/dist/analyzers/security/detectors/xss-detector.js.map +1 -0
  126. package/dist/analyzers/security/index.d.ts +16 -0
  127. package/dist/analyzers/security/index.js +18 -0
  128. package/dist/analyzers/security/index.js.map +1 -0
  129. package/dist/analyzers/security/security-analyzer.d.ts +38 -0
  130. package/dist/analyzers/security/security-analyzer.js +215 -0
  131. package/dist/analyzers/security/security-analyzer.js.map +1 -0
  132. package/dist/analyzers/security/types.d.ts +95 -0
  133. package/dist/analyzers/security/types.js +7 -0
  134. package/dist/analyzers/security/types.js.map +1 -0
  135. package/dist/commands/memory.js +1 -1
  136. package/dist/commands/memory.js.map +1 -1
  137. package/dist/commands/setup.js +6 -1
  138. package/dist/commands/setup.js.map +1 -1
  139. package/dist/hooks/use-enhanced-input.d.ts +0 -1
  140. package/dist/hooks/use-enhanced-input.js.map +1 -1
  141. package/dist/mcp/health.js +4 -2
  142. package/dist/mcp/health.js.map +1 -1
  143. package/dist/mcp/validation.js +12 -6
  144. package/dist/mcp/validation.js.map +1 -1
  145. package/dist/tools/analysis-tools.d.ts +73 -0
  146. package/dist/tools/analysis-tools.js +422 -0
  147. package/dist/tools/analysis-tools.js.map +1 -0
  148. package/dist/tools/bash.js +2 -1
  149. package/dist/tools/bash.js.map +1 -1
  150. package/dist/ui/components/chat-history.js +1 -1
  151. package/dist/ui/components/chat-history.js.map +1 -1
  152. package/dist/ui/components/chat-interface.js +3 -2
  153. package/dist/ui/components/chat-interface.js.map +1 -1
  154. package/dist/ui/components/confirmation-dialog.js +1 -1
  155. package/dist/ui/components/confirmation-dialog.js.map +1 -1
  156. package/dist/ui/components/welcome-panel.js +1 -1
  157. package/dist/ui/components/welcome-panel.js.map +1 -1
  158. package/dist/ui/hooks/use-chat-reducer.d.ts +61 -0
  159. package/dist/ui/hooks/use-chat-reducer.js +118 -0
  160. package/dist/ui/hooks/use-chat-reducer.js.map +1 -0
  161. package/dist/ui/hooks/use-enhanced-input.d.ts +40 -0
  162. package/dist/ui/hooks/use-enhanced-input.js +254 -0
  163. package/dist/ui/hooks/use-enhanced-input.js.map +1 -0
  164. package/dist/ui/hooks/use-input-handler.d.ts +46 -0
  165. package/dist/ui/hooks/use-input-handler.js +1434 -0
  166. package/dist/ui/hooks/use-input-handler.js.map +1 -0
  167. package/dist/ui/hooks/use-input-history.d.ts +9 -0
  168. package/dist/ui/hooks/use-input-history.js +117 -0
  169. package/dist/ui/hooks/use-input-history.js.map +1 -0
  170. package/dist/utils/config-loader.js +3 -3
  171. package/dist/utils/config-loader.js.map +1 -1
  172. package/dist/utils/parallel-analyzer.js +7 -11
  173. package/dist/utils/parallel-analyzer.js.map +1 -1
  174. package/dist/utils/paste-collapse.d.ts +46 -0
  175. package/dist/utils/paste-collapse.js +77 -0
  176. package/dist/utils/paste-collapse.js.map +1 -0
  177. package/dist/utils/settings-manager.js +16 -2
  178. package/dist/utils/settings-manager.js.map +1 -1
  179. package/dist/utils/streaming-analyzer.js +9 -21
  180. package/dist/utils/streaming-analyzer.js.map +1 -1
  181. package/package.json +5 -5
  182. package/vitest.config.ts +1 -0
  183. package/dist/commands/weather.d.ts +0 -8
  184. package/dist/commands/weather.js +0 -160
  185. package/dist/commands/weather.js.map +0 -1
  186. package/dist/grok/client.d.ts +0 -144
  187. package/dist/grok/client.js +0 -237
  188. package/dist/grok/client.js.map +0 -1
  189. package/dist/grok/tools.d.ts +0 -8
  190. package/dist/grok/tools.js +0 -318
  191. package/dist/grok/tools.js.map +0 -1
  192. package/dist/grok/types.d.ts +0 -291
  193. package/dist/grok/types.js +0 -127
  194. package/dist/grok/types.js.map +0 -1
  195. package/dist/tools/morph-editor.d.ts +0 -36
  196. package/dist/tools/morph-editor.js +0 -308
  197. package/dist/tools/morph-editor.js.map +0 -1
  198. package/dist/ui/components/session-recovery.d.ts +0 -12
  199. package/dist/ui/components/session-recovery.js +0 -93
  200. package/dist/ui/components/session-recovery.js.map +0 -1
  201. package/dist/utils/model-config.d.ts +0 -28
  202. package/dist/utils/model-config.js +0 -43
  203. package/dist/utils/model-config.js.map +0 -1
  204. package/dist/utils/tool-helpers.d.ts +0 -25
  205. package/dist/utils/tool-helpers.js +0 -79
  206. package/dist/utils/tool-helpers.js.map +0 -1
  207. /package/{automatosx.config.json → ax.config.json} +0 -0
  208. /package/{config → config-defaults}/messages.yaml +0 -0
  209. /package/{config → config-defaults}/models.yaml +0 -0
  210. /package/{config → config-defaults}/prompts.yaml +0 -0
  211. /package/{config → config-defaults}/settings.yaml +0 -0
@@ -173,12 +173,18 @@ async function checkUrlAccessible(url) {
173
173
  // Use native fetch with timeout
174
174
  const controller = new AbortController();
175
175
  const timeout = setTimeout(() => controller.abort(), 3000); // 3 second timeout
176
- const response = await fetch(url, {
177
- method: 'HEAD',
178
- signal: controller.signal
179
- });
180
- clearTimeout(timeout);
181
- return response.ok || response.status === 404; // 404 is ok, means server exists
176
+ try {
177
+ const response = await fetch(url, {
178
+ method: 'HEAD',
179
+ signal: controller.signal
180
+ });
181
+ clearTimeout(timeout);
182
+ return response.ok || response.status === 404; // 404 is ok, means server exists
183
+ }
184
+ finally {
185
+ // Always clear timeout to prevent memory leak, even if fetch throws
186
+ clearTimeout(timeout);
187
+ }
182
188
  }
183
189
  catch {
184
190
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/mcp/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/mcp/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Analysis Tools for LLM Integration
3
+ *
4
+ * Exposes code analyzers as LLM tools
5
+ */
6
+ import type { ToolResult } from '../types/index.js';
7
+ import type { LLMTool } from '../llm/client.js';
8
+ /**
9
+ * Analyze dependencies in a directory
10
+ */
11
+ export declare class AnalyzeDependenciesTool {
12
+ private analyzer;
13
+ constructor();
14
+ execute(args: {
15
+ directory: string;
16
+ includePatterns?: string[];
17
+ excludePatterns?: string[];
18
+ }): Promise<ToolResult>;
19
+ getToolDefinition(): LLMTool;
20
+ }
21
+ /**
22
+ * Detect code smells in a directory
23
+ */
24
+ export declare class DetectCodeSmellsTool {
25
+ private analyzer;
26
+ constructor();
27
+ execute(args: {
28
+ directory: string;
29
+ includePatterns?: string[];
30
+ excludePatterns?: string[];
31
+ }): Promise<ToolResult>;
32
+ getToolDefinition(): LLMTool;
33
+ }
34
+ /**
35
+ * Find code hotspots using git history
36
+ */
37
+ export declare class FindHotspotsTool {
38
+ execute(args: {
39
+ directory: string;
40
+ since?: string;
41
+ until?: string;
42
+ includePatterns?: string[];
43
+ excludePatterns?: string[];
44
+ hotspotThreshold?: number;
45
+ }): Promise<ToolResult>;
46
+ getToolDefinition(): LLMTool;
47
+ }
48
+ /**
49
+ * Calculate advanced code metrics
50
+ */
51
+ export declare class CalculateMetricsTool {
52
+ private analyzer;
53
+ constructor();
54
+ execute(args: {
55
+ directory: string;
56
+ includePatterns?: string[];
57
+ excludePatterns?: string[];
58
+ }): Promise<ToolResult>;
59
+ getToolDefinition(): LLMTool;
60
+ }
61
+ /**
62
+ * Analyze security vulnerabilities
63
+ */
64
+ export declare class AnalyzeSecurityTool {
65
+ private analyzer;
66
+ constructor();
67
+ execute(args: {
68
+ directory: string;
69
+ includePatterns?: string[];
70
+ excludePatterns?: string[];
71
+ }): Promise<ToolResult>;
72
+ getToolDefinition(): LLMTool;
73
+ }
@@ -0,0 +1,422 @@
1
+ /**
2
+ * Analysis Tools for LLM Integration
3
+ *
4
+ * Exposes code analyzers as LLM tools
5
+ */
6
+ import { DependencyAnalyzer } from '../analyzers/dependency/index.js';
7
+ import { CodeSmellAnalyzer } from '../analyzers/code-smells/index.js';
8
+ import { GitAnalyzer } from '../analyzers/git/index.js';
9
+ import { MetricsAnalyzer } from '../analyzers/metrics/index.js';
10
+ import { SecurityAnalyzer } from '../analyzers/security/index.js';
11
+ /**
12
+ * Analyze dependencies in a directory
13
+ */
14
+ export class AnalyzeDependenciesTool {
15
+ analyzer;
16
+ constructor() {
17
+ this.analyzer = new DependencyAnalyzer();
18
+ }
19
+ async execute(args) {
20
+ try {
21
+ const result = await this.analyzer.analyzeDependencies(args.directory);
22
+ const summary = result.summary;
23
+ const circularDeps = result.circularDependencies.slice(0, 5); // Top 5
24
+ const orphans = result.orphanedFiles.slice(0, 5);
25
+ const hubs = result.hubFiles.slice(0, 5);
26
+ let output = `# Dependency Analysis\n\n`;
27
+ output += `**Files Analyzed**: ${summary.totalFiles}\n`;
28
+ output += `**Dependencies**: ${summary.totalDependencies}\n`;
29
+ output += `**Circular Dependencies**: ${summary.circularDependencyCount}\n`;
30
+ output += `**Orphan Files**: ${result.orphanedFiles.length}\n`;
31
+ output += `**Hub Files**: ${result.hubFiles.length}\n`;
32
+ output += `**Health Score**: ${summary.healthScore}/100\n\n`;
33
+ if (circularDeps.length > 0) {
34
+ output += `## Top Circular Dependencies\n\n`;
35
+ for (const dep of circularDeps) {
36
+ output += `- **Cycle**: ${dep.cycle.join(' → ')}\n`;
37
+ output += ` - Severity: ${dep.severity}\n`;
38
+ output += ` - Cycle length: ${dep.cycle.length} files\n\n`;
39
+ }
40
+ }
41
+ if (orphans.length > 0) {
42
+ output += `## Orphan Files\n\n`;
43
+ for (const file of orphans) {
44
+ output += `- ${file}\n`;
45
+ }
46
+ output += `\n`;
47
+ }
48
+ if (hubs.length > 0) {
49
+ output += `## Hub Files\n\n`;
50
+ for (const file of hubs) {
51
+ output += `- ${file}\n`;
52
+ }
53
+ }
54
+ return { success: true, output };
55
+ }
56
+ catch (error) {
57
+ return {
58
+ success: false,
59
+ error: `Failed to analyze dependencies: ${error.message}`,
60
+ };
61
+ }
62
+ }
63
+ getToolDefinition() {
64
+ return {
65
+ type: 'function',
66
+ function: {
67
+ name: 'analyze_dependencies',
68
+ description: 'Analyzes code dependencies, detects circular dependencies, identifies orphan and hub files, and calculates coupling metrics. Use this to understand code structure and dependency health.',
69
+ parameters: {
70
+ type: 'object',
71
+ properties: {
72
+ directory: {
73
+ type: 'string',
74
+ description: 'Directory to analyze',
75
+ },
76
+ includePatterns: {
77
+ type: 'array',
78
+ items: { type: 'string' },
79
+ description: 'File patterns to include (e.g., ["**/*.ts"])',
80
+ },
81
+ excludePatterns: {
82
+ type: 'array',
83
+ items: { type: 'string' },
84
+ description: 'File patterns to exclude (e.g., ["**/*.test.ts"])',
85
+ },
86
+ },
87
+ required: ['directory'],
88
+ },
89
+ },
90
+ };
91
+ }
92
+ }
93
+ /**
94
+ * Detect code smells in a directory
95
+ */
96
+ export class DetectCodeSmellsTool {
97
+ analyzer;
98
+ constructor() {
99
+ this.analyzer = new CodeSmellAnalyzer();
100
+ }
101
+ async execute(args) {
102
+ try {
103
+ const result = await this.analyzer.analyzeDirectory(args.directory, '**/*.{ts,tsx,js,jsx}');
104
+ const summary = result.summary;
105
+ const criticalSmells = result.smells.filter((s) => s.severity === 'CRITICAL').slice(0, 10);
106
+ const highSmells = result.smells.filter((s) => s.severity === 'HIGH').slice(0, 5);
107
+ // Calculate counts from smellsBySeverity
108
+ const criticalCount = summary.smellsBySeverity['CRITICAL'] || 0;
109
+ const highCount = summary.smellsBySeverity['HIGH'] || 0;
110
+ const mediumCount = summary.smellsBySeverity['MEDIUM'] || 0;
111
+ const lowCount = summary.smellsBySeverity['LOW'] || 0;
112
+ let output = `# Code Smell Analysis\n\n`;
113
+ output += `**Files Analyzed**: ${summary.filesAnalyzed}\n`;
114
+ output += `**Total Smells**: ${summary.totalSmells}\n`;
115
+ output += `**Critical**: ${criticalCount}\n`;
116
+ output += `**High**: ${highCount}\n`;
117
+ output += `**Medium**: ${mediumCount}\n`;
118
+ output += `**Low**: ${lowCount}\n`;
119
+ output += `**Health Score**: ${summary.codeHealthScore}/100\n\n`;
120
+ if (criticalSmells.length > 0) {
121
+ output += `## Critical Smells\n\n`;
122
+ for (const smell of criticalSmells) {
123
+ output += `- **${smell.type}** in ${smell.filePath}:${smell.startLine}\n`;
124
+ output += ` - ${smell.message}\n`;
125
+ output += ` - ${smell.suggestion}\n\n`;
126
+ }
127
+ }
128
+ if (highSmells.length > 0) {
129
+ output += `## High Priority Smells\n\n`;
130
+ for (const smell of highSmells) {
131
+ output += `- **${smell.type}** in ${smell.filePath}:${smell.startLine}\n`;
132
+ output += ` - ${smell.message}\n\n`;
133
+ }
134
+ }
135
+ return { success: true, output };
136
+ }
137
+ catch (error) {
138
+ return {
139
+ success: false,
140
+ error: `Failed to detect code smells: ${error.message}`,
141
+ };
142
+ }
143
+ }
144
+ getToolDefinition() {
145
+ return {
146
+ type: 'function',
147
+ function: {
148
+ name: 'detect_code_smells',
149
+ description: 'Detects 10 types of code smells including Long Method, Large Class, Magic Numbers, and more. Provides severity ratings and actionable recommendations for improving code quality.',
150
+ parameters: {
151
+ type: 'object',
152
+ properties: {
153
+ directory: {
154
+ type: 'string',
155
+ description: 'Directory to analyze',
156
+ },
157
+ includePatterns: {
158
+ type: 'array',
159
+ items: { type: 'string' },
160
+ description: 'File patterns to include',
161
+ },
162
+ excludePatterns: {
163
+ type: 'array',
164
+ items: { type: 'string' },
165
+ description: 'File patterns to exclude',
166
+ },
167
+ },
168
+ required: ['directory'],
169
+ },
170
+ },
171
+ };
172
+ }
173
+ }
174
+ /**
175
+ * Find code hotspots using git history
176
+ */
177
+ export class FindHotspotsTool {
178
+ async execute(args) {
179
+ try {
180
+ const analyzer = new GitAnalyzer(args.directory);
181
+ const result = await analyzer.analyze({
182
+ since: args.since,
183
+ until: args.until,
184
+ includePatterns: args.includePatterns,
185
+ excludePatterns: args.excludePatterns,
186
+ hotspotThreshold: args.hotspotThreshold,
187
+ });
188
+ const summary = result.summary;
189
+ const criticalHotspots = result.hotspots.filter((h) => h.severity === 'CRITICAL');
190
+ const highHotspots = result.hotspots.filter((h) => h.severity === 'HIGH').slice(0, 5);
191
+ let output = `# Code Hotspot Analysis\n\n`;
192
+ output += `**Total Commits**: ${summary.totalCommits}\n`;
193
+ output += `**Files Analyzed**: ${summary.filesAnalyzed}\n`;
194
+ output += `**Hotspots Found**: ${summary.hotspotCount}\n`;
195
+ output += `**Date Range**: ${summary.dateRange}\n`;
196
+ output += `**Top Contributor**: ${summary.topContributor}\n\n`;
197
+ if (criticalHotspots.length > 0) {
198
+ output += `## Critical Hotspots (Immediate Action Required)\n\n`;
199
+ for (const hotspot of criticalHotspots) {
200
+ output += `- **${hotspot.filePath}** (Score: ${hotspot.hotspotScore}/100)\n`;
201
+ output += ` - Commits: ${hotspot.commitCount}\n`;
202
+ output += ` - Churn: ${hotspot.churnScore}\n`;
203
+ output += ` - Complexity: ${hotspot.maxComplexity}\n`;
204
+ output += ` - Reason: ${hotspot.reason}\n`;
205
+ output += ` - **${hotspot.recommendation}**\n\n`;
206
+ }
207
+ }
208
+ if (highHotspots.length > 0) {
209
+ output += `## High Priority Hotspots\n\n`;
210
+ for (const hotspot of highHotspots) {
211
+ output += `- **${hotspot.filePath}** (Score: ${hotspot.hotspotScore}/100)\n`;
212
+ output += ` - ${hotspot.reason}\n`;
213
+ output += ` - ${hotspot.recommendation}\n\n`;
214
+ }
215
+ }
216
+ return { success: true, output };
217
+ }
218
+ catch (error) {
219
+ return {
220
+ success: false,
221
+ error: `Failed to find hotspots: ${error.message}`,
222
+ };
223
+ }
224
+ }
225
+ getToolDefinition() {
226
+ return {
227
+ type: 'function',
228
+ function: {
229
+ name: 'find_hotspots',
230
+ description: 'Analyzes git history to identify code hotspots - files that change frequently and have high complexity. Hotspots indicate problematic code that needs refactoring. Formula: Hotspot = (Churn × 40%) + (Complexity × 30%) + (Commit Frequency × 30%)',
231
+ parameters: {
232
+ type: 'object',
233
+ properties: {
234
+ directory: {
235
+ type: 'string',
236
+ description: 'Git repository directory to analyze',
237
+ },
238
+ since: {
239
+ type: 'string',
240
+ description: 'Start date (e.g., "6 months ago", "2024-01-01")',
241
+ },
242
+ until: {
243
+ type: 'string',
244
+ description: 'End date',
245
+ },
246
+ includePatterns: {
247
+ type: 'array',
248
+ items: { type: 'string' },
249
+ description: 'File patterns to include',
250
+ },
251
+ excludePatterns: {
252
+ type: 'array',
253
+ items: { type: 'string' },
254
+ description: 'File patterns to exclude',
255
+ },
256
+ hotspotThreshold: {
257
+ type: 'number',
258
+ description: 'Minimum hotspot score to report (default: 70)',
259
+ },
260
+ },
261
+ required: ['directory'],
262
+ },
263
+ },
264
+ };
265
+ }
266
+ }
267
+ /**
268
+ * Calculate advanced code metrics
269
+ */
270
+ export class CalculateMetricsTool {
271
+ analyzer;
272
+ constructor() {
273
+ this.analyzer = new MetricsAnalyzer();
274
+ }
275
+ async execute(args) {
276
+ try {
277
+ const result = await this.analyzer.analyze(args.directory, {
278
+ includePatterns: args.includePatterns,
279
+ excludePatterns: args.excludePatterns,
280
+ });
281
+ const summary = result.summary;
282
+ const lowMI = result.fileMetrics
283
+ .filter((m) => m.maintainability.score < 65)
284
+ .sort((a, b) => a.maintainability.score - b.maintainability.score)
285
+ .slice(0, 10);
286
+ let output = `# Code Metrics Analysis\n\n`;
287
+ output += `**Files Analyzed**: ${summary.filesAnalyzed}\n`;
288
+ output += `**Average Maintainability**: ${summary.averageMaintainability}/100\n`;
289
+ output += `**Average Halstead Volume**: ${summary.averageHalsteadVolume}\n`;
290
+ output += `**Average Complexity**: ${summary.averageComplexity}\n`;
291
+ output += `**Low Maintainability Files**: ${summary.lowMaintainabilityCount}\n`;
292
+ output += `**High Complexity Files**: ${summary.highComplexityCount}\n\n`;
293
+ if (lowMI.length > 0) {
294
+ output += `## Files Needing Attention (Low Maintainability)\n\n`;
295
+ for (const file of lowMI) {
296
+ output += `- **${file.filePath}**\n`;
297
+ output += ` - MI Score: ${file.maintainability.score}/100 (${file.maintainability.rating})\n`;
298
+ output += ` - Halstead Volume: ${file.halstead.volume}\n`;
299
+ output += ` - Avg Complexity: ${file.averageComplexity}\n`;
300
+ output += ` - Max Complexity: ${file.maxComplexity}\n`;
301
+ output += ` - Functions: ${file.totalFunctions}\n\n`;
302
+ }
303
+ }
304
+ return { success: true, output };
305
+ }
306
+ catch (error) {
307
+ return {
308
+ success: false,
309
+ error: `Failed to calculate metrics: ${error.message}`,
310
+ };
311
+ }
312
+ }
313
+ getToolDefinition() {
314
+ return {
315
+ type: 'function',
316
+ function: {
317
+ name: 'calculate_metrics',
318
+ description: 'Calculates advanced code metrics including Halstead metrics (volume, difficulty, effort) and Maintainability Index (0-100 scale with A-F rating). Use this to assess code complexity and maintainability objectively.',
319
+ parameters: {
320
+ type: 'object',
321
+ properties: {
322
+ directory: {
323
+ type: 'string',
324
+ description: 'Directory to analyze',
325
+ },
326
+ includePatterns: {
327
+ type: 'array',
328
+ items: { type: 'string' },
329
+ description: 'File patterns to include',
330
+ },
331
+ excludePatterns: {
332
+ type: 'array',
333
+ items: { type: 'string' },
334
+ description: 'File patterns to exclude',
335
+ },
336
+ },
337
+ required: ['directory'],
338
+ },
339
+ },
340
+ };
341
+ }
342
+ }
343
+ /**
344
+ * Analyze security vulnerabilities
345
+ */
346
+ export class AnalyzeSecurityTool {
347
+ analyzer;
348
+ constructor() {
349
+ this.analyzer = new SecurityAnalyzer();
350
+ }
351
+ async execute(args) {
352
+ try {
353
+ const result = await this.analyzer.scanDirectory(args.directory, '**/*.{ts,tsx,js,jsx}');
354
+ // Flatten vulnerabilities from all files
355
+ const allVulnerabilities = [];
356
+ for (const file of result.files) {
357
+ allVulnerabilities.push(...file.vulnerabilities);
358
+ }
359
+ const critical = allVulnerabilities.filter((v) => v.severity === 'CRITICAL').slice(0, 10);
360
+ const high = allVulnerabilities.filter((v) => v.severity === 'HIGH').slice(0, 5);
361
+ let output = `# Security Analysis\n\n`;
362
+ output += `**Files Scanned**: ${result.files.length}\n`;
363
+ output += `**Vulnerabilities**: ${result.totalVulnerabilities}\n`;
364
+ output += `**Critical**: ${result.criticalCount}\n`;
365
+ output += `**High**: ${result.highCount}\n`;
366
+ output += `**Medium**: ${result.mediumCount}\n`;
367
+ output += `**Low**: ${result.lowCount}\n\n`;
368
+ if (critical.length > 0) {
369
+ output += `## Critical Vulnerabilities\n\n`;
370
+ for (const vuln of critical) {
371
+ output += `- **${vuln.type}** in ${vuln.filePath}:${vuln.line}\n`;
372
+ output += ` - ${vuln.message}\n`;
373
+ output += ` - ${vuln.recommendation}\n\n`;
374
+ }
375
+ }
376
+ if (high.length > 0) {
377
+ output += `## High Severity Vulnerabilities\n\n`;
378
+ for (const vuln of high) {
379
+ output += `- **${vuln.type}** in ${vuln.filePath}:${vuln.line}\n`;
380
+ output += ` - ${vuln.message}\n\n`;
381
+ }
382
+ }
383
+ return { success: true, output };
384
+ }
385
+ catch (error) {
386
+ return {
387
+ success: false,
388
+ error: `Failed to analyze security: ${error.message}`,
389
+ };
390
+ }
391
+ }
392
+ getToolDefinition() {
393
+ return {
394
+ type: 'function',
395
+ function: {
396
+ name: 'analyze_security',
397
+ description: 'Analyzes code for security vulnerabilities including SQL injection, XSS, command injection, path traversal, and more. Provides severity ratings and remediation recommendations.',
398
+ parameters: {
399
+ type: 'object',
400
+ properties: {
401
+ directory: {
402
+ type: 'string',
403
+ description: 'Directory to analyze',
404
+ },
405
+ includePatterns: {
406
+ type: 'array',
407
+ items: { type: 'string' },
408
+ description: 'File patterns to include',
409
+ },
410
+ excludePatterns: {
411
+ type: 'array',
412
+ items: { type: 'string' },
413
+ description: 'File patterns to exclude',
414
+ },
415
+ },
416
+ required: ['directory'],
417
+ },
418
+ },
419
+ };
420
+ }
421
+ }
422
+ //# sourceMappingURL=analysis-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-tools.js","sourceRoot":"","sources":["../../src/tools/analysis-tools.ts"],"names":[],"mappings":"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"}
@@ -231,11 +231,12 @@ export class BashTool extends EventEmitter {
231
231
  const timeoutId = setTimeout(() => {
232
232
  if (!movedToBackground) {
233
233
  childProcess.kill('SIGTERM');
234
+ // Use unref() so timeout doesn't prevent GC after process exits
234
235
  setTimeout(() => {
235
236
  if (childProcess.exitCode === null) {
236
237
  childProcess.kill('SIGKILL');
237
238
  }
238
- }, 1000);
239
+ }, 1000).unref();
239
240
  }
240
241
  }, timeout);
241
242
  // Helper to cleanup abort listener when process completes
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,wDAAwD;IACxD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC3C,CAAC;AAkBD,MAAM,OAAO,QAAS,SAAQ,YAAY;IAChC,MAAM,CAAU,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;IACrD,MAAM,CAAU,eAAe,GAAG,KAAK,CAAC,CAAC,aAAa;IAEtD,gBAAgB,GAAW,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,mBAAmB,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC;IACxD,qBAAqB,GAAG,wBAAwB,EAAE,CAAC;IAE3D,sDAAsD;IAC9C,cAAc,GAAwB,IAAI,CAAC;IAC3C,cAAc,GAAW,EAAE,CAAC;IAC5B,aAAa,GAAa,EAAE,CAAC;IAErC;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yCAAyC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CACpD,cAAc,EACd,cAAc,EACd,IAAI,CAAC,gBAAgB,EACrB,aAAa,CACd,CAAC;YAEF,6CAA6C;YAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAExB,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2EAA2E;YAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAExB,4DAA4D;YAC5D,IAAI,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC/D,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,UAAuC,EAAE;QACtE,kCAAkC;QAClC,MAAM,IAAI,GAAuB,OAAO,OAAO,KAAK,QAAQ;YAC1D,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;YACtB,CAAC,CAAC,OAAO,CAAC;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC;QAEzD,4CAA4C;QAC5C,mDAAmD;QACnD,MAAM,qBAAqB,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAElF,IAAI,CAAC;YACH,6BAA6B;YAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBAC9C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,oBAAoB,OAAO,8BAA8B;iBACjE,CAAC;YACJ,CAAC;YAED,kDAAkD;YAClD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,MAAM,EAAE;gBACzE,SAAS,EAAE,kBAAkB;gBAC7B,QAAQ,EAAE,OAAO;gBACjB,cAAc,EAAE,KAAK;gBACrB,OAAO,EAAE,YAAY,OAAO,wBAAwB,IAAI,CAAC,gBAAgB,EAAE;aAC5E,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,qCAAqC;iBAC7C,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,kCAAkC;gBAClC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACnD,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBACvC,CAAC,CAAC,OAAO,CAAC;gBAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACrF,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,wCAAwC,MAAM,cAAc,YAAY,iDAAiD,MAAM,kBAAkB;iBAC1J,CAAC;YACJ,CAAC;YAED,mDAAmD;YACnD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YAED,wCAAwC;YACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE1E,iDAAiD;YACjD,IAAI,mBAAmB,IAAI,MAAM,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC9D,MAAM,QAAQ,GAAG,MAAkC,CAAC;gBACpD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,4CAA4C,QAAQ,CAAC,MAAM,qBAAqB,QAAQ,CAAC,aAAa,IAAI,QAAQ,iDAAiD,QAAQ,CAAC,MAAM,kBAAkB;iBAC7M,CAAC;YACJ,CAAC;YAED,OAAO,MAAoB,CAAC;QAE9B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,kDAAkD;YAClD,IAAI,YAAY,GAAG,eAAe,CAAC;YAEnC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC7B,yCAAyC;gBACzC,MAAM,SAAS,GAAG,KAAqD,CAAC;gBACxE,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBACzC,YAAY,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtG,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;YAED,4CAA4C;YAC5C,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAErE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,oBAAoB,SAAS,CAAC,OAAO,EAAE;aAC/C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAe;QACrC,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEzC,uCAAuC;QACvC,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,iDAAiD;aACzD,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChD,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,6BAA6B;QAC7B,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,2CAA2C;iBACnD,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,2CAA2C;iBACnD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtB,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,yBAAyB,IAAI,CAAC,gBAAgB,EAAE;aACzD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,4BAA4B,KAAK,CAAC,OAAO,EAAE;aACnD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,gBAAgB,CACtB,OAAe,EACf,OAAe,EACf,MAAoB;QAEpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAE9B,oBAAoB;YACpB,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;gBAClD,GAAG,EAAE,IAAI,CAAC,gBAAgB;gBAC1B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;gBACvB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;YAEH,0CAA0C;YAC1C,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAExB,8CAA8C;YAC9C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;YAElE,iBAAiB;YACjB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC7B,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;4BACnC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC,EAAE,IAAI,CAAC,CAAC;gBACX,CAAC;YACH,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,0DAA0D;YAC1D,sDAAsD;YACtD,IAAI,YAAY,GAAwB,IAAI,CAAC;YAC7C,MAAM,oBAAoB,GAAG,GAAG,EAAE;gBAChC,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;oBAC3B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;oBAClD,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC,CAAC;YAEF,uDAAuD;YACvD,8DAA8D;YAC9D,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,GAAG,GAAG,EAAE;oBAClB,IAAI,IAAI,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;wBACzC,YAAY,CAAC,SAAS,CAAC,CAAC;wBAExB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACvC,IAAI,MAAM,EAAE,CAAC;4BACX,iBAAiB,GAAG,IAAI,CAAC;4BACzB,0FAA0F;4BAC1F,oBAAoB,EAAE,CAAC;4BACvB,OAAO,CAAC;gCACN,iBAAiB,EAAE,IAAI;gCACvB,MAAM;gCACN,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;6BACjC,CAAC,CAAC;wBACL,CAAC;wBACD,wFAAwF;oBAC1F,CAAC;gBACH,CAAC,CAAC;gBACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,iBAAiB;YACjB,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7B,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC;gBAEzB,4BAA4B;gBAC5B,IAAI,UAAU,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;oBAC1C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,CAAC;gBAED,4BAA4B;gBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,iBAAiB;YACjB,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;gBAE1C,4BAA4B;gBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,4BAA4B;YAC5B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;gBAC/C,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,oBAAoB,EAAE,CAAC,CAAC,gDAAgD;gBAExE,8BAA8B;gBAC9B,IAAI,IAAI,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;oBACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC1B,CAAC;gBAED,wBAAwB;gBACxB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE7D,IAAI,iBAAiB,EAAE,CAAC;oBACtB,OAAO,CAAC,mBAAmB;gBAC7B,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9F,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,2CAA2C,CAAC;gBAEtF,kBAAkB;gBAClB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBAEtE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC;wBACN,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,SAAS,CAAC,OAAO;qBAC1B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC;wBACN,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,6BAA6B,IAAI,OAAO,SAAS,CAAC,OAAO,EAAE;qBACnE,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,wBAAwB;YACxB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBACxC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,oBAAoB,EAAE,CAAC,CAAC,gDAAgD;gBAExE,IAAI,IAAI,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;oBACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBAC1B,CAAC;gBAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,YAAoB,GAAG;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,YAAoB,GAAG;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,cAAc,CAAC,SAAS,CAAC,UAAU,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpG,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,QAAgB,GAAG;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
@@ -172,7 +172,7 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
172
172
  // Try to count matches with better formatting
173
173
  const matches = content.match(/Found (\d+) match/);
174
174
  if (matches) {
175
- const count = parseInt(matches[1]);
175
+ const count = parseInt(matches[1], 10);
176
176
  return `${count} match${count !== 1 ? 'es' : ''} found`;
177
177
  }
178
178
  return `${lineCount} result${lineCount !== 1 ? 's' : ''}`;