erosolar-cli 2.0.5 → 2.1.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 (167) hide show
  1. package/agents/erosolar-security.rules.json +147 -0
  2. package/dist/capabilities/enhancedAnalysisCapability.d.ts +13 -0
  3. package/dist/capabilities/enhancedAnalysisCapability.d.ts.map +1 -0
  4. package/dist/capabilities/enhancedAnalysisCapability.js +20 -0
  5. package/dist/capabilities/enhancedAnalysisCapability.js.map +1 -0
  6. package/dist/capabilities/offsecOpsCapability.d.ts +6 -0
  7. package/dist/capabilities/offsecOpsCapability.d.ts.map +1 -0
  8. package/dist/capabilities/offsecOpsCapability.js +20 -0
  9. package/dist/capabilities/offsecOpsCapability.js.map +1 -0
  10. package/dist/capabilities/offsecSearchCapability.d.ts +12 -0
  11. package/dist/capabilities/offsecSearchCapability.d.ts.map +1 -0
  12. package/dist/capabilities/offsecSearchCapability.js +27 -0
  13. package/dist/capabilities/offsecSearchCapability.js.map +1 -0
  14. package/dist/capabilities/taoCapability.d.ts +6 -0
  15. package/dist/capabilities/taoCapability.d.ts.map +1 -0
  16. package/dist/capabilities/taoCapability.js +20 -0
  17. package/dist/capabilities/taoCapability.js.map +1 -0
  18. package/dist/capabilities/toolRegistry.d.ts +2 -1
  19. package/dist/capabilities/toolRegistry.d.ts.map +1 -1
  20. package/dist/capabilities/toolRegistry.js +6 -1
  21. package/dist/capabilities/toolRegistry.js.map +1 -1
  22. package/dist/contracts/agent-schemas.json +18 -19
  23. package/dist/contracts/tools.schema.json +38 -8
  24. package/dist/core/agent.js +4 -4
  25. package/dist/core/agent.js.map +1 -1
  26. package/dist/core/alphaZeroEngine.js +1 -1
  27. package/dist/core/alphaZeroEngine.js.map +1 -1
  28. package/dist/core/alphaZeroModular.js +2 -2
  29. package/dist/core/alphaZeroModular.js.map +1 -1
  30. package/dist/core/contextManager.d.ts +8 -2
  31. package/dist/core/contextManager.d.ts.map +1 -1
  32. package/dist/core/contextManager.js +15 -2
  33. package/dist/core/contextManager.js.map +1 -1
  34. package/dist/core/costTracker.js +1 -1
  35. package/dist/core/costTracker.js.map +1 -1
  36. package/dist/core/deepBugAnalyzer.d.ts +128 -0
  37. package/dist/core/deepBugAnalyzer.d.ts.map +1 -0
  38. package/dist/core/deepBugAnalyzer.js +406 -0
  39. package/dist/core/deepBugAnalyzer.js.map +1 -0
  40. package/dist/core/hypothesisEngine.d.ts +113 -0
  41. package/dist/core/hypothesisEngine.d.ts.map +1 -0
  42. package/dist/core/hypothesisEngine.js +264 -0
  43. package/dist/core/hypothesisEngine.js.map +1 -0
  44. package/dist/core/intelligentSummarizer.d.ts +79 -0
  45. package/dist/core/intelligentSummarizer.d.ts.map +1 -0
  46. package/dist/core/intelligentSummarizer.js +273 -0
  47. package/dist/core/intelligentSummarizer.js.map +1 -0
  48. package/dist/core/memorySystem.js +2 -2
  49. package/dist/core/memorySystem.js.map +1 -1
  50. package/dist/core/offsecAlphaZero.d.ts +3 -0
  51. package/dist/core/offsecAlphaZero.d.ts.map +1 -1
  52. package/dist/core/offsecAlphaZero.js +166 -5
  53. package/dist/core/offsecAlphaZero.js.map +1 -1
  54. package/dist/core/productTestHarness.d.ts +113 -0
  55. package/dist/core/productTestHarness.d.ts.map +1 -0
  56. package/dist/core/productTestHarness.js +345 -0
  57. package/dist/core/productTestHarness.js.map +1 -0
  58. package/dist/core/securityAssessment.js +1 -1
  59. package/dist/core/securityAssessment.js.map +1 -1
  60. package/dist/core/toolPatternAnalyzer.d.ts +87 -0
  61. package/dist/core/toolPatternAnalyzer.d.ts.map +1 -0
  62. package/dist/core/toolPatternAnalyzer.js +272 -0
  63. package/dist/core/toolPatternAnalyzer.js.map +1 -0
  64. package/dist/core/updateChecker.js +3 -3
  65. package/dist/core/updateChecker.js.map +1 -1
  66. package/dist/mcp/sseClient.js +1 -1
  67. package/dist/mcp/sseClient.js.map +1 -1
  68. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.d.ts +3 -0
  69. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.d.ts.map +1 -0
  70. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.js +14 -0
  71. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.js.map +1 -0
  72. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.d.ts +3 -0
  73. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.d.ts.map +1 -0
  74. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.js +12 -0
  75. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.js.map +1 -0
  76. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.d.ts +3 -0
  77. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.d.ts.map +1 -0
  78. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.js +12 -0
  79. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.js.map +1 -0
  80. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  81. package/dist/plugins/tools/nodeDefaults.js +12 -0
  82. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  83. package/dist/plugins/tools/offsec/offsecOpsPlugin.d.ts +3 -0
  84. package/dist/plugins/tools/offsec/offsecOpsPlugin.d.ts.map +1 -0
  85. package/dist/plugins/tools/offsec/offsecOpsPlugin.js +10 -0
  86. package/dist/plugins/tools/offsec/offsecOpsPlugin.js.map +1 -0
  87. package/dist/plugins/tools/offsec/offsecSearchPlugin.d.ts +3 -0
  88. package/dist/plugins/tools/offsec/offsecSearchPlugin.d.ts.map +1 -0
  89. package/dist/plugins/tools/offsec/offsecSearchPlugin.js +12 -0
  90. package/dist/plugins/tools/offsec/offsecSearchPlugin.js.map +1 -0
  91. package/dist/plugins/tools/tao/taoPlugin.d.ts +3 -0
  92. package/dist/plugins/tools/tao/taoPlugin.d.ts.map +1 -0
  93. package/dist/plugins/tools/tao/taoPlugin.js +10 -0
  94. package/dist/plugins/tools/tao/taoPlugin.js.map +1 -0
  95. package/dist/shell/composableMessage.js +2 -2
  96. package/dist/shell/composableMessage.js.map +1 -1
  97. package/dist/shell/interactiveShell.d.ts +6 -0
  98. package/dist/shell/interactiveShell.d.ts.map +1 -1
  99. package/dist/shell/interactiveShell.js +50 -15
  100. package/dist/shell/interactiveShell.js.map +1 -1
  101. package/dist/shell/shellApp.js +1 -1
  102. package/dist/shell/shellApp.js.map +1 -1
  103. package/dist/shell/systemPrompt.d.ts.map +1 -1
  104. package/dist/shell/systemPrompt.js +3 -0
  105. package/dist/shell/systemPrompt.js.map +1 -1
  106. package/dist/tools/buildTools.js +1 -1
  107. package/dist/tools/buildTools.js.map +1 -1
  108. package/dist/tools/diffUtils.js +6 -6
  109. package/dist/tools/diffUtils.js.map +1 -1
  110. package/dist/tools/editTools.js +1 -1
  111. package/dist/tools/editTools.js.map +1 -1
  112. package/dist/tools/enhancedAnalysisTools.d.ts +9 -0
  113. package/dist/tools/enhancedAnalysisTools.d.ts.map +1 -0
  114. package/dist/tools/enhancedAnalysisTools.js +382 -0
  115. package/dist/tools/enhancedAnalysisTools.js.map +1 -0
  116. package/dist/tools/enhancedCodeIntelligenceTools.d.ts +1 -21
  117. package/dist/tools/enhancedCodeIntelligenceTools.d.ts.map +1 -1
  118. package/dist/tools/enhancedCodeIntelligenceTools.js +378 -256
  119. package/dist/tools/enhancedCodeIntelligenceTools.js.map +1 -1
  120. package/dist/tools/enhancedDevWorkflowTools.d.ts +2 -10
  121. package/dist/tools/enhancedDevWorkflowTools.d.ts.map +1 -1
  122. package/dist/tools/enhancedDevWorkflowTools.js +293 -165
  123. package/dist/tools/enhancedDevWorkflowTools.js.map +1 -1
  124. package/dist/tools/interactionTools.d.ts.map +1 -1
  125. package/dist/tools/interactionTools.js +55 -0
  126. package/dist/tools/interactionTools.js.map +1 -1
  127. package/dist/tools/learnTools.js +1 -1
  128. package/dist/tools/learnTools.js.map +1 -1
  129. package/dist/tools/offsec/offsecOperationsTools.d.ts +3 -0
  130. package/dist/tools/offsec/offsecOperationsTools.d.ts.map +1 -0
  131. package/dist/tools/offsec/offsecOperationsTools.js +333 -0
  132. package/dist/tools/offsec/offsecOperationsTools.js.map +1 -0
  133. package/dist/tools/offsecSearchTools.d.ts +3 -0
  134. package/dist/tools/offsecSearchTools.d.ts.map +1 -0
  135. package/dist/tools/offsecSearchTools.js +330 -0
  136. package/dist/tools/offsecSearchTools.js.map +1 -0
  137. package/dist/tools/taoOperations.d.ts +7 -0
  138. package/dist/tools/taoOperations.d.ts.map +1 -0
  139. package/dist/tools/taoOperations.js +744 -0
  140. package/dist/tools/taoOperations.js.map +1 -0
  141. package/dist/ui/ClaudeCodeRenderer.js +1 -1
  142. package/dist/ui/ClaudeCodeRenderer.js.map +1 -1
  143. package/dist/ui/ShellUIAdapter.d.ts +10 -6
  144. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  145. package/dist/ui/ShellUIAdapter.js +69 -67
  146. package/dist/ui/ShellUIAdapter.js.map +1 -1
  147. package/dist/ui/UnifiedUIRenderer.d.ts +2 -0
  148. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
  149. package/dist/ui/UnifiedUIRenderer.js +64 -13
  150. package/dist/ui/UnifiedUIRenderer.js.map +1 -1
  151. package/dist/ui/globalWriteLock.d.ts.map +1 -1
  152. package/dist/ui/globalWriteLock.js +6 -0
  153. package/dist/ui/globalWriteLock.js.map +1 -1
  154. package/dist/ui/inPlaceUpdater.js +1 -1
  155. package/dist/ui/inPlaceUpdater.js.map +1 -1
  156. package/dist/ui/outputMode.d.ts.map +1 -1
  157. package/dist/ui/outputMode.js +1 -2
  158. package/dist/ui/outputMode.js.map +1 -1
  159. package/dist/ui/richText.js +4 -4
  160. package/dist/ui/richText.js.map +1 -1
  161. package/dist/ui/streamingFormatter.d.ts +11 -0
  162. package/dist/ui/streamingFormatter.d.ts.map +1 -1
  163. package/dist/ui/streamingFormatter.js +27 -1
  164. package/dist/ui/streamingFormatter.js.map +1 -1
  165. package/dist/ui/toolDisplay.js +1 -1
  166. package/dist/ui/toolDisplay.js.map +1 -1
  167. package/package.json +4 -13
@@ -0,0 +1,345 @@
1
+ /**
2
+ * Comprehensive Product Test Harness
3
+ *
4
+ * This module provides extensive testing capabilities similar to human product testing,
5
+ * including runtime creation, execution, and validation of code.
6
+ */
7
+ import { spawn } from 'node:child_process';
8
+ import { writeFileSync, readFileSync, mkdirSync, existsSync, rmSync } from 'node:fs';
9
+ import { join } from 'node:path';
10
+ import { tmpdir } from 'node:os';
11
+ /**
12
+ * Product Test Harness - Comprehensive testing like a human QA engineer
13
+ */
14
+ export class ProductTestHarness {
15
+ scenarios = [];
16
+ results = [];
17
+ /**
18
+ * Add a test scenario
19
+ */
20
+ addScenario(scenario) {
21
+ this.scenarios.push(scenario);
22
+ }
23
+ /**
24
+ * Add multiple scenarios
25
+ */
26
+ addScenarios(scenarios) {
27
+ this.scenarios.push(...scenarios);
28
+ }
29
+ /**
30
+ * Run all test scenarios
31
+ */
32
+ async runAll() {
33
+ this.results = [];
34
+ for (const scenario of this.scenarios) {
35
+ const result = await this.runScenario(scenario);
36
+ this.results.push(result);
37
+ }
38
+ const passed = this.results.filter(r => r.passed).length;
39
+ const failed = this.results.length - passed;
40
+ return {
41
+ passed,
42
+ failed,
43
+ total: this.results.length,
44
+ results: this.results,
45
+ summary: this.generateSummary(),
46
+ };
47
+ }
48
+ /**
49
+ * Run a single test scenario
50
+ */
51
+ async runScenario(scenario) {
52
+ const startTime = Date.now();
53
+ let result;
54
+ try {
55
+ // Setup
56
+ if (scenario.setup) {
57
+ await scenario.setup();
58
+ }
59
+ // Execute with timeout
60
+ const timeout = scenario.timeout ?? 30000; // 30s default
61
+ const executePromise = scenario.execute();
62
+ const timeoutPromise = new Promise((_, reject) => {
63
+ setTimeout(() => reject(new Error('Test timeout exceeded')), timeout);
64
+ });
65
+ result = await Promise.race([executePromise, timeoutPromise]);
66
+ }
67
+ catch (error) {
68
+ result = {
69
+ scenario: scenario.name,
70
+ passed: false,
71
+ duration: Date.now() - startTime,
72
+ output: '',
73
+ error: error instanceof Error ? error.message : String(error),
74
+ };
75
+ }
76
+ finally {
77
+ // Teardown
78
+ if (scenario.teardown) {
79
+ try {
80
+ await scenario.teardown();
81
+ }
82
+ catch (error) {
83
+ // Log teardown errors but don't fail the test
84
+ console.error(`Teardown error for ${scenario.name}:`, error);
85
+ }
86
+ }
87
+ }
88
+ return result;
89
+ }
90
+ /**
91
+ * Generate test summary
92
+ */
93
+ generateSummary() {
94
+ const passed = this.results.filter(r => r.passed).length;
95
+ const failed = this.results.length - passed;
96
+ const totalDuration = this.results.reduce((sum, r) => sum + r.duration, 0);
97
+ let summary = `\n${'='.repeat(60)}\n`;
98
+ summary += `TEST SUMMARY\n`;
99
+ summary += `${'='.repeat(60)}\n`;
100
+ summary += `Total Tests: ${this.results.length}\n`;
101
+ summary += `Passed: ${passed} ✓\n`;
102
+ summary += `Failed: ${failed} ✗\n`;
103
+ summary += `Success Rate: ${((passed / this.results.length) * 100).toFixed(1)}%\n`;
104
+ summary += `Total Duration: ${totalDuration}ms\n`;
105
+ summary += `${'='.repeat(60)}\n`;
106
+ if (failed > 0) {
107
+ summary += `\nFailed Tests:\n`;
108
+ this.results.filter(r => !r.passed).forEach(r => {
109
+ summary += ` ✗ ${r.scenario}\n`;
110
+ if (r.error) {
111
+ summary += ` Error: ${r.error}\n`;
112
+ }
113
+ });
114
+ }
115
+ return summary;
116
+ }
117
+ /**
118
+ * Clear all scenarios and results
119
+ */
120
+ clear() {
121
+ this.scenarios = [];
122
+ this.results = [];
123
+ }
124
+ }
125
+ /**
126
+ * Create an isolated runtime environment for testing
127
+ */
128
+ export function createRuntimeEnvironment(id) {
129
+ const envId = id ?? `test_${Date.now()}_${Math.random().toString(36).substring(7)}`;
130
+ const workDir = join(tmpdir(), 'erosolar-test-env', envId);
131
+ // Create work directory
132
+ if (!existsSync(workDir)) {
133
+ mkdirSync(workDir, { recursive: true });
134
+ }
135
+ const env = {
136
+ workDir,
137
+ cleanup: () => {
138
+ try {
139
+ if (existsSync(workDir)) {
140
+ rmSync(workDir, { recursive: true, force: true });
141
+ }
142
+ }
143
+ catch (error) {
144
+ console.error(`Failed to cleanup runtime environment ${envId}:`, error);
145
+ }
146
+ },
147
+ execute: async (code, language) => {
148
+ const startTime = Date.now();
149
+ // Prepare execution based on language
150
+ let command;
151
+ let args;
152
+ let scriptPath;
153
+ if (language === 'typescript') {
154
+ // For TypeScript, write to file and use ts-node
155
+ scriptPath = join(workDir, 'script.ts');
156
+ writeFileSync(scriptPath, code);
157
+ command = 'npx';
158
+ args = ['ts-node', scriptPath];
159
+ }
160
+ else if (language === 'node') {
161
+ scriptPath = join(workDir, 'script.js');
162
+ writeFileSync(scriptPath, code);
163
+ command = 'node';
164
+ args = [scriptPath];
165
+ }
166
+ else {
167
+ // bash
168
+ scriptPath = join(workDir, 'script.sh');
169
+ writeFileSync(scriptPath, code);
170
+ command = 'bash';
171
+ args = [scriptPath];
172
+ }
173
+ return new Promise((resolve) => {
174
+ let stdout = '';
175
+ let stderr = '';
176
+ const proc = spawn(command, args, {
177
+ cwd: workDir,
178
+ env: { ...process.env },
179
+ });
180
+ proc.stdout?.on('data', (data) => {
181
+ stdout += data.toString();
182
+ });
183
+ proc.stderr?.on('data', (data) => {
184
+ stderr += data.toString();
185
+ });
186
+ proc.on('error', (error) => {
187
+ resolve({
188
+ stdout,
189
+ stderr,
190
+ exitCode: 1,
191
+ duration: Date.now() - startTime,
192
+ error,
193
+ });
194
+ });
195
+ proc.on('close', (exitCode) => {
196
+ resolve({
197
+ stdout,
198
+ stderr,
199
+ exitCode: exitCode ?? 0,
200
+ duration: Date.now() - startTime,
201
+ });
202
+ });
203
+ });
204
+ },
205
+ writeFile: (path, content) => {
206
+ const fullPath = join(workDir, path);
207
+ const dir = join(fullPath, '..');
208
+ if (!existsSync(dir)) {
209
+ mkdirSync(dir, { recursive: true });
210
+ }
211
+ writeFileSync(fullPath, content);
212
+ },
213
+ readFile: (path) => {
214
+ const fullPath = join(workDir, path);
215
+ return readFileSync(fullPath, 'utf-8');
216
+ },
217
+ fileExists: (path) => {
218
+ const fullPath = join(workDir, path);
219
+ return existsSync(fullPath);
220
+ },
221
+ };
222
+ return env;
223
+ }
224
+ /**
225
+ * Common test scenarios generator
226
+ */
227
+ export class TestScenarioGenerator {
228
+ /**
229
+ * Generate basic functionality tests
230
+ */
231
+ static generateBasicTests(functionName, testCases) {
232
+ return testCases.map((testCase, index) => ({
233
+ name: `${functionName}_test_${index + 1}`,
234
+ description: testCase.description,
235
+ execute: async () => {
236
+ const passed = testCase.input === testCase.expected;
237
+ return {
238
+ scenario: testCase.description,
239
+ passed,
240
+ duration: 0,
241
+ output: `Expected: ${testCase.expected}, Got: ${testCase.input}`,
242
+ metrics: {
243
+ assertions: [{
244
+ name: 'equality_check',
245
+ passed,
246
+ expected: testCase.expected,
247
+ actual: testCase.input,
248
+ }],
249
+ },
250
+ };
251
+ },
252
+ }));
253
+ }
254
+ /**
255
+ * Generate edge case tests
256
+ */
257
+ static generateEdgeCaseTests(functionCode) {
258
+ const scenarios = [];
259
+ // Test with null/undefined
260
+ scenarios.push({
261
+ name: 'null_input_test',
262
+ description: 'Test function behavior with null input',
263
+ execute: async () => {
264
+ const env = createRuntimeEnvironment();
265
+ try {
266
+ const testCode = `
267
+ ${functionCode}
268
+ const result = testFunction(null);
269
+ console.log(JSON.stringify(result));
270
+ `;
271
+ const result = await env.execute(testCode, 'node');
272
+ return {
273
+ scenario: 'null_input_test',
274
+ passed: result.exitCode === 0,
275
+ duration: result.duration,
276
+ output: result.stdout,
277
+ error: result.stderr,
278
+ };
279
+ }
280
+ finally {
281
+ env.cleanup();
282
+ }
283
+ },
284
+ });
285
+ // Test with empty values
286
+ scenarios.push({
287
+ name: 'empty_input_test',
288
+ description: 'Test function behavior with empty input',
289
+ execute: async () => {
290
+ const env = createRuntimeEnvironment();
291
+ try {
292
+ const testCode = `
293
+ ${functionCode}
294
+ const result = testFunction('');
295
+ console.log(JSON.stringify(result));
296
+ `;
297
+ const result = await env.execute(testCode, 'node');
298
+ return {
299
+ scenario: 'empty_input_test',
300
+ passed: result.exitCode === 0,
301
+ duration: result.duration,
302
+ output: result.stdout,
303
+ error: result.stderr,
304
+ };
305
+ }
306
+ finally {
307
+ env.cleanup();
308
+ }
309
+ },
310
+ });
311
+ return scenarios;
312
+ }
313
+ /**
314
+ * Generate performance tests
315
+ */
316
+ static generatePerformanceTest(name, code, maxDurationMs) {
317
+ return {
318
+ name: `${name}_performance`,
319
+ description: `Performance test: should complete within ${maxDurationMs}ms`,
320
+ execute: async () => {
321
+ const env = createRuntimeEnvironment();
322
+ try {
323
+ const result = await env.execute(code, 'node');
324
+ const passed = result.duration < maxDurationMs && result.exitCode === 0;
325
+ return {
326
+ scenario: `${name}_performance`,
327
+ passed,
328
+ duration: result.duration,
329
+ output: result.stdout,
330
+ error: passed ? undefined : `Exceeded ${maxDurationMs}ms (took ${result.duration}ms)`,
331
+ metrics: {
332
+ cpuTime: result.duration,
333
+ exitCode: result.exitCode,
334
+ },
335
+ };
336
+ }
337
+ finally {
338
+ env.cleanup();
339
+ }
340
+ },
341
+ timeout: maxDurationMs * 2,
342
+ };
343
+ }
344
+ }
345
+ //# sourceMappingURL=productTestHarness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productTestHarness.js","sourceRoot":"","sources":["../../src/core/productTestHarness.ts"],"names":[],"mappings":"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"}
@@ -329,7 +329,7 @@ export function scanSecrets(directory, context) {
329
329
  const lineNumber = content.substring(0, match.index ?? 0).split('\n').length;
330
330
  const snippetLine = lines[lineNumber - 1] ?? '';
331
331
  // Mask the secret in the output
332
- const masked = match[0].substring(0, 8) + '...[REDACTED]';
332
+ const masked = `${match[0].substring(0, 8)}...[REDACTED]`;
333
333
  findings.push({
334
334
  id: `secret-${filePath}-${lineNumber}`,
335
335
  severity: 'critical',
@@ -1 +1 @@
1
- {"version":3,"file":"securityAssessment.js","sourceRoot":"","sources":["../../src/core/securityAssessment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"securityAssessment.js","sourceRoot":"","sources":["../../src/core/securityAssessment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Tool Execution Pattern Analyzer
3
+ *
4
+ * Analyzes tool usage patterns to help the AI learn optimal workflows.
5
+ * Critical for Claude Code to operate efficiently without wasting context
6
+ * on redundant operations.
7
+ */
8
+ export interface ToolCall {
9
+ name: string;
10
+ args: Record<string, unknown>;
11
+ timestamp: number;
12
+ duration?: number;
13
+ success: boolean;
14
+ }
15
+ export interface Pattern {
16
+ id: string;
17
+ description: string;
18
+ sequence: string[];
19
+ frequency: number;
20
+ avgDuration: number;
21
+ successRate: number;
22
+ examples: ToolCall[][];
23
+ }
24
+ export interface Inefficiency {
25
+ type: 'redundant' | 'inefficient_order' | 'missing_step' | 'wrong_tool';
26
+ description: string;
27
+ suggestion: string;
28
+ severity: 'low' | 'medium' | 'high';
29
+ affectedCalls: string[];
30
+ }
31
+ /**
32
+ * Analyzes tool execution patterns and suggests optimizations
33
+ */
34
+ export declare class ToolPatternAnalyzer {
35
+ private callHistory;
36
+ private readonly maxHistory;
37
+ private detectedPatterns;
38
+ /**
39
+ * Record a tool call
40
+ */
41
+ recordCall(call: ToolCall): void;
42
+ /**
43
+ * Get recent tool calls
44
+ */
45
+ getRecentCalls(count?: number): ToolCall[];
46
+ /**
47
+ * Detect inefficiencies in recent tool usage
48
+ */
49
+ detectInefficiencies(lookback?: number): Inefficiency[];
50
+ /**
51
+ * Detect redundant file reads
52
+ */
53
+ private detectRedundantReads;
54
+ /**
55
+ * Detect missing validation after edits
56
+ */
57
+ private detectMissingValidation;
58
+ /**
59
+ * Detect inefficient search patterns
60
+ */
61
+ private detectInefficientSearches;
62
+ /**
63
+ * Detect wrong tool choices
64
+ */
65
+ private detectWrongToolChoices;
66
+ /**
67
+ * Update detected patterns from call history
68
+ */
69
+ private updatePatterns;
70
+ /**
71
+ * Get detected patterns sorted by frequency
72
+ */
73
+ getPatterns(): Pattern[];
74
+ /**
75
+ * Generate workflow suggestions based on patterns
76
+ */
77
+ generateSuggestions(): string[];
78
+ /**
79
+ * Clear all history and patterns
80
+ */
81
+ clear(): void;
82
+ }
83
+ /**
84
+ * Global singleton instance
85
+ */
86
+ export declare const toolPatternAnalyzer: ToolPatternAnalyzer;
87
+ //# sourceMappingURL=toolPatternAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolPatternAnalyzer.d.ts","sourceRoot":"","sources":["../../src/core/toolPatternAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,GAAG,mBAAmB,GAAG,cAAc,GAAG,YAAY,CAAC;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAO;IAClC,OAAO,CAAC,gBAAgB,CAAmC;IAE3D;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAYhC;;OAEG;IACH,cAAc,CAAC,KAAK,GAAE,MAAW,GAAG,QAAQ,EAAE;IAI9C;;OAEG;IACH,oBAAoB,CAAC,QAAQ,GAAE,MAAW,GAAG,YAAY,EAAE;IAmB3D;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA6C/B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAwCjC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;OAEG;IACH,WAAW,IAAI,OAAO,EAAE;IAKxB;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAuB/B;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}