@defai.digital/ax-cli 3.14.7 → 3.14.9

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 (57) hide show
  1. package/README.md +21 -2
  2. package/dist/analyzers/ast/index.d.ts +2 -4
  3. package/dist/analyzers/ast/index.js +2 -4
  4. package/dist/analyzers/ast/index.js.map +1 -1
  5. package/dist/analyzers/ast/language-parser.d.ts +4 -3
  6. package/dist/analyzers/ast/language-parser.js +29 -2
  7. package/dist/analyzers/ast/language-parser.js.map +1 -1
  8. package/dist/analyzers/ast/multi-language-parser.d.ts +13 -31
  9. package/dist/analyzers/ast/multi-language-parser.js +25 -143
  10. package/dist/analyzers/ast/multi-language-parser.js.map +1 -1
  11. package/dist/checkpoint/manager.d.ts +1 -0
  12. package/dist/checkpoint/manager.js +81 -15
  13. package/dist/checkpoint/manager.js.map +1 -1
  14. package/dist/checkpoint/storage.js +22 -4
  15. package/dist/checkpoint/storage.js.map +1 -1
  16. package/dist/planner/types.d.ts +2 -2
  17. package/dist/schemas/tool-schemas.d.ts +12 -12
  18. package/package.json +1 -3
  19. package/.ax-cli/CUSTOM.md +0 -97
  20. package/.ax-cli/auto-accept-audit.json +0 -1302
  21. package/.ax-cli/index.json +0 -43
  22. package/.ax-cli/memory.json +0 -62
  23. package/.ax-cli/settings.json +0 -3
  24. package/ax.config.json +0 -303
  25. package/dist/analyzers/ast/tree-sitter-parser.d.ts +0 -134
  26. package/dist/analyzers/ast/tree-sitter-parser.js +0 -730
  27. package/dist/analyzers/ast/tree-sitter-parser.js.map +0 -1
  28. package/dist/mcp/config-detector-v2.d.ts +0 -83
  29. package/dist/mcp/config-detector-v2.js +0 -328
  30. package/dist/mcp/config-detector-v2.js.map +0 -1
  31. package/dist/mcp/config-migrator-v2.d.ts +0 -89
  32. package/dist/mcp/config-migrator-v2.js +0 -288
  33. package/dist/mcp/config-migrator-v2.js.map +0 -1
  34. package/dist/mcp/config-v2.d.ts +0 -111
  35. package/dist/mcp/config-v2.js +0 -443
  36. package/dist/mcp/config-v2.js.map +0 -1
  37. package/dist/mcp/transports-v2.d.ts +0 -152
  38. package/dist/mcp/transports-v2.js +0 -481
  39. package/dist/mcp/transports-v2.js.map +0 -1
  40. package/dist/utils/error-sanitizer.d.ts +0 -119
  41. package/dist/utils/error-sanitizer.js +0 -253
  42. package/dist/utils/error-sanitizer.js.map +0 -1
  43. package/dist/utils/errors.d.ts +0 -74
  44. package/dist/utils/errors.js +0 -139
  45. package/dist/utils/errors.js.map +0 -1
  46. package/dist/utils/incremental-analyzer.d.ts +0 -134
  47. package/dist/utils/incremental-analyzer.js +0 -377
  48. package/dist/utils/incremental-analyzer.js.map +0 -1
  49. package/dist/utils/math.d.ts +0 -1
  50. package/dist/utils/math.js +0 -4
  51. package/dist/utils/math.js.map +0 -1
  52. package/dist/utils/settings.d.ts +0 -1
  53. package/dist/utils/settings.js +0 -4
  54. package/dist/utils/settings.js.map +0 -1
  55. package/dist/utils/streaming-analyzer.d.ts +0 -160
  56. package/dist/utils/streaming-analyzer.js +0 -214
  57. package/dist/utils/streaming-analyzer.js.map +0 -1
@@ -1,214 +0,0 @@
1
- /**
2
- * Streaming Analyzer
3
- *
4
- * Emits analysis results as they're found instead of waiting for all files.
5
- * Provides better user experience with immediate feedback.
6
- *
7
- * Quick Win #3: Streaming Results (Est. time: 30 minutes)
8
- * Impact: Better UX, perceived 2-5x faster
9
- */
10
- import { EventEmitter } from 'events';
11
- import { formatDuration } from '../ui/utils/tool-grouper.js';
12
- /**
13
- * Streaming Analyzer
14
- *
15
- * Analyzes files and emits results as they're completed.
16
- *
17
- * @example
18
- * ```typescript
19
- * const analyzer = new StreamingAnalyzer();
20
- *
21
- * analyzer.on('result', (result) => {
22
- * if (result.error) {
23
- * console.error(`Error in ${result.file}: ${result.error.message}`);
24
- * } else {
25
- * console.log(`✓ ${result.file} (${result.duration}ms)`);
26
- * }
27
- * });
28
- *
29
- * analyzer.on('progress', (progress) => {
30
- * console.log(`Progress: ${progress.percentage}%`);
31
- * });
32
- *
33
- * analyzer.on('complete', (summary) => {
34
- * console.log(`Done! ${summary.successCount} files analyzed`);
35
- * });
36
- *
37
- * await analyzer.analyze(files, analyzeFile);
38
- * ```
39
- */
40
- export class StreamingAnalyzer extends EventEmitter {
41
- results = [];
42
- startTime = 0;
43
- completed = 0;
44
- total = 0;
45
- /**
46
- * Analyze files and emit results as they complete
47
- *
48
- * @param files - Array of file paths to analyze
49
- * @param analyzer - Analysis function
50
- * @returns Promise that resolves when all files are analyzed
51
- */
52
- async analyze(files, analyzer) {
53
- this.results = [];
54
- this.startTime = Date.now();
55
- this.completed = 0;
56
- this.total = files.length;
57
- for (const file of files) {
58
- await this.analyzeFile(file, analyzer);
59
- }
60
- return this.createSummary();
61
- }
62
- /**
63
- * Analyze files in parallel and emit results as they complete
64
- *
65
- * @param files - Array of file paths to analyze
66
- * @param analyzer - Analysis function
67
- * @param concurrency - Maximum concurrent analyses (default: 4)
68
- * @returns Promise that resolves when all files are analyzed
69
- */
70
- async analyzeParallel(files, analyzer, concurrency = 4) {
71
- this.results = [];
72
- this.startTime = Date.now();
73
- this.completed = 0;
74
- this.total = files.length;
75
- // Process files in parallel batches
76
- const queue = [...files];
77
- const executing = new Set();
78
- while (queue.length > 0 || executing.size > 0) {
79
- // Start new analyses up to concurrency limit
80
- while (queue.length > 0 && executing.size < concurrency) {
81
- const file = queue.shift();
82
- const promise = this.analyzeFile(file, analyzer);
83
- // Wrap promise to auto-remove from set when completed
84
- const tracked = promise.finally(() => {
85
- executing.delete(tracked);
86
- });
87
- executing.add(tracked);
88
- }
89
- // Wait for at least one to complete
90
- if (executing.size > 0) {
91
- await Promise.race(executing);
92
- }
93
- }
94
- return this.createSummary();
95
- }
96
- /**
97
- * Get current progress
98
- */
99
- getProgress() {
100
- const percentage = this.total > 0 ? (this.completed / this.total) * 100 : 0;
101
- const elapsed = Date.now() - this.startTime;
102
- const avgTimePerFile = this.completed > 0 ? elapsed / this.completed : 0;
103
- const remaining = this.total - this.completed;
104
- const estimatedTimeRemaining = avgTimePerFile * remaining;
105
- return {
106
- completed: this.completed,
107
- total: this.total,
108
- percentage,
109
- estimatedTimeRemaining: estimatedTimeRemaining > 0 ? estimatedTimeRemaining : undefined,
110
- };
111
- }
112
- /**
113
- * Analyze a single file and emit events
114
- */
115
- async analyzeFile(file, analyzer) {
116
- this.emit('start', file);
117
- const startTime = Date.now();
118
- let result;
119
- try {
120
- const analysisResult = await analyzer(file);
121
- const duration = Date.now() - startTime;
122
- result = {
123
- file,
124
- result: analysisResult,
125
- duration,
126
- cached: false, // Analyzer should set this
127
- };
128
- this.results.push(result);
129
- this.emit('result', result);
130
- }
131
- catch (error) {
132
- const duration = Date.now() - startTime;
133
- result = {
134
- file,
135
- error: error,
136
- duration,
137
- cached: false,
138
- };
139
- this.results.push(result);
140
- this.emit('result', result);
141
- this.emit('error', file, error);
142
- }
143
- this.completed++;
144
- this.emit('progress', this.getProgress());
145
- }
146
- /**
147
- * Create analysis summary
148
- */
149
- createSummary() {
150
- const successCount = this.results.filter((r) => !r.error).length;
151
- const errorCount = this.results.filter((r) => r.error).length;
152
- const cachedCount = this.results.filter((r) => r.cached).length;
153
- const totalDuration = Date.now() - this.startTime;
154
- const avgDuration = this.results.length > 0
155
- ? this.results.reduce((sum, r) => sum + r.duration, 0) / this.results.length
156
- : 0;
157
- const cacheHitRate = this.results.length > 0
158
- ? cachedCount / this.results.length
159
- : 0;
160
- const summary = {
161
- results: this.results,
162
- successCount,
163
- errorCount,
164
- cachedCount,
165
- totalDuration,
166
- avgDuration,
167
- cacheHitRate,
168
- };
169
- this.emit('complete', summary);
170
- return summary;
171
- }
172
- }
173
- /**
174
- * Helper function to create a progress bar string
175
- *
176
- * @param progress - Progress info
177
- * @param width - Width of progress bar (default: 40)
178
- * @returns Progress bar string
179
- *
180
- * @example
181
- * ```typescript
182
- * const bar = createProgressBar({ completed: 50, total: 100, percentage: 50 });
183
- * console.log(bar); // [#################### ] 50%
184
- * ```
185
- */
186
- export function createProgressBar(progress, width = 40) {
187
- const filledWidth = Math.round((progress.percentage / 100) * width);
188
- const emptyWidth = width - filledWidth;
189
- const filled = '#'.repeat(filledWidth);
190
- const empty = ' '.repeat(emptyWidth);
191
- return `[${filled}${empty}] ${progress.percentage.toFixed(1)}%`;
192
- }
193
- // Re-export formatDuration for backwards compatibility
194
- export { formatDuration };
195
- /**
196
- * Helper function to format summary
197
- *
198
- * @param summary - Analysis summary
199
- * @returns Formatted summary string
200
- */
201
- export function formatSummary(summary) {
202
- const lines = [];
203
- lines.push('Analysis Summary');
204
- lines.push('─'.repeat(50));
205
- lines.push(`Total files: ${summary.results.length}`);
206
- lines.push(`Successful: ${summary.successCount}`);
207
- lines.push(`Errors: ${summary.errorCount}`);
208
- lines.push(`Cached: ${summary.cachedCount}`);
209
- lines.push(`Total duration: ${formatDuration(summary.totalDuration)}`);
210
- lines.push(`Avg per file: ${formatDuration(summary.avgDuration)}`);
211
- lines.push(`Cache hit rate: ${(summary.cacheHitRate * 100).toFixed(1)}%`);
212
- return lines.join('\n');
213
- }
214
- //# sourceMappingURL=streaming-analyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"streaming-analyzer.js","sourceRoot":"","sources":["../../src/utils/streaming-analyzer.ts"],"names":[],"mappings":"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"}