@aiready/context-analyzer 0.21.18 → 0.21.23
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.
- package/.turbo/turbo-build.log +26 -25
- package/.turbo/turbo-lint.log +5 -5
- package/.turbo/turbo-test.log +104 -41
- package/coverage/clover.xml +2615 -1242
- package/coverage/coverage-final.json +30 -13
- package/coverage/dist/chunk-64U3PNO3.mjs.html +367 -0
- package/coverage/dist/chunk-J3MUOWHC.mjs.html +5326 -0
- package/coverage/dist/index.html +146 -0
- package/coverage/{classifier.ts.html → dist/index.mjs.html} +537 -912
- package/coverage/index.html +84 -189
- package/coverage/src/analyzer.ts.html +88 -0
- package/coverage/src/analyzers/index.html +116 -0
- package/coverage/src/analyzers/python-context.ts.html +910 -0
- package/coverage/{ast-utils.ts.html → src/ast-utils.ts.html} +84 -54
- package/coverage/src/classifier.ts.html +892 -0
- package/coverage/src/classify/classification-patterns.ts.html +307 -0
- package/coverage/src/classify/file-classifiers.ts.html +973 -0
- package/coverage/src/classify/index.html +131 -0
- package/coverage/{cluster-detector.ts.html → src/cluster-detector.ts.html} +154 -91
- package/coverage/{defaults.ts.html → src/defaults.ts.html} +74 -65
- package/coverage/{graph-builder.ts.html → src/graph-builder.ts.html} +268 -229
- package/coverage/src/index.html +341 -0
- package/coverage/{index.ts.html → src/index.ts.html} +70 -13
- package/coverage/{scoring.ts.html → src/issue-analyzer.ts.html} +201 -261
- package/coverage/src/mapper.ts.html +439 -0
- package/coverage/{metrics.ts.html → src/metrics.ts.html} +201 -132
- package/coverage/src/orchestrator.ts.html +493 -0
- package/coverage/{provider.ts.html → src/provider.ts.html} +21 -21
- package/coverage/{remediation.ts.html → src/remediation.ts.html} +112 -52
- package/coverage/src/report/console-report.ts.html +415 -0
- package/coverage/src/report/html-report.ts.html +361 -0
- package/coverage/src/report/index.html +146 -0
- package/coverage/src/report/interactive-setup.ts.html +373 -0
- package/coverage/src/scoring.ts.html +895 -0
- package/coverage/src/semantic/co-usage.ts.html +340 -0
- package/coverage/src/semantic/consolidation.ts.html +223 -0
- package/coverage/src/semantic/domain-inference.ts.html +859 -0
- package/coverage/src/semantic/index.html +161 -0
- package/coverage/src/semantic/type-graph.ts.html +163 -0
- package/coverage/{summary.ts.html → src/summary.ts.html} +155 -275
- package/coverage/{types.ts.html → src/types.ts.html} +133 -31
- package/coverage/src/utils/dependency-graph-utils.ts.html +463 -0
- package/coverage/src/utils/index.html +131 -0
- package/coverage/src/utils/string-utils.ts.html +148 -0
- package/dist/chunk-J3MUOWHC.mjs +1747 -0
- package/dist/cli.js +59 -171
- package/dist/cli.mjs +1 -1
- package/dist/index.js +55 -167
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
- package/src/__tests__/consolidation.test.ts +247 -0
- package/src/__tests__/defaults.test.ts +121 -0
- package/src/__tests__/domain-inference.test.ts +420 -0
- package/src/__tests__/issue-analyzer.test.ts +155 -0
- package/src/__tests__/orchestrator.test.ts +143 -0
- package/src/__tests__/python-context.test.ts +98 -0
- package/src/__tests__/report/console-report.test.ts +292 -0
- package/src/__tests__/report/html-report.test.ts +232 -0
- package/src/report/html-report.ts +58 -174
- package/coverage/analyzer.ts.html +0 -1369
- package/coverage/semantic-analysis.ts.html +0 -1201
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for defaults.ts</title>
|
|
6
|
+
<title>Code coverage report for src/defaults.ts</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
|
8
|
+
<link rel="stylesheet" href="../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
|
11
11
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
12
|
<style type='text/css'>
|
|
13
13
|
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(sort-arrow-sprite.png);
|
|
14
|
+
background-image: url(../sort-arrow-sprite.png);
|
|
15
15
|
}
|
|
16
16
|
</style>
|
|
17
17
|
</head>
|
|
@@ -19,34 +19,34 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="index.html">All files</a> defaults.ts</h1>
|
|
22
|
+
<h1><a href="../index.html">All files</a> / <a href="index.html">src</a> defaults.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>22/22</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>8/8</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>22/22</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -122,7 +122,10 @@
|
|
|
122
122
|
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
123
|
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
124
|
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
126
129
|
<span class="cline-any cline-neutral"> </span>
|
|
127
130
|
<span class="cline-any cline-neutral"> </span>
|
|
128
131
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -134,42 +137,45 @@
|
|
|
134
137
|
<span class="cline-any cline-neutral"> </span>
|
|
135
138
|
<span class="cline-any cline-neutral"> </span>
|
|
136
139
|
<span class="cline-any cline-neutral"> </span>
|
|
137
|
-
<span class="cline-any cline-no"> </span>
|
|
138
140
|
<span class="cline-any cline-neutral"> </span>
|
|
139
141
|
<span class="cline-any cline-neutral"> </span>
|
|
140
142
|
<span class="cline-any cline-neutral"> </span>
|
|
143
|
+
<span class="cline-any cline-yes">8x</span>
|
|
141
144
|
<span class="cline-any cline-neutral"> </span>
|
|
142
145
|
<span class="cline-any cline-neutral"> </span>
|
|
143
|
-
<span class="cline-any cline-no"> </span>
|
|
144
146
|
<span class="cline-any cline-neutral"> </span>
|
|
145
147
|
<span class="cline-any cline-neutral"> </span>
|
|
146
148
|
<span class="cline-any cline-neutral"> </span>
|
|
149
|
+
<span class="cline-any cline-yes">8x</span>
|
|
147
150
|
<span class="cline-any cline-neutral"> </span>
|
|
148
151
|
<span class="cline-any cline-neutral"> </span>
|
|
149
152
|
<span class="cline-any cline-neutral"> </span>
|
|
150
|
-
<span class="cline-any cline-no"> </span>
|
|
151
|
-
<span class="cline-any cline-no"> </span>
|
|
152
|
-
<span class="cline-any cline-no"> </span>
|
|
153
|
-
<span class="cline-any cline-no"> </span>
|
|
154
|
-
<span class="cline-any cline-no"> </span>
|
|
155
|
-
<span class="cline-any cline-no"> </span>
|
|
156
|
-
<span class="cline-any cline-no"> </span>
|
|
157
|
-
<span class="cline-any cline-no"> </span>
|
|
158
|
-
<span class="cline-any cline-no"> </span>
|
|
159
|
-
<span class="cline-any cline-no"> </span>
|
|
160
|
-
<span class="cline-any cline-no"> </span>
|
|
161
|
-
<span class="cline-any cline-no"> </span>
|
|
162
|
-
<span class="cline-any cline-no"> </span>
|
|
163
|
-
<span class="cline-any cline-no"> </span>
|
|
164
|
-
<span class="cline-any cline-no"> </span>
|
|
165
153
|
<span class="cline-any cline-neutral"> </span>
|
|
166
|
-
<span class="cline-any cline-no"> </span>
|
|
167
|
-
<span class="cline-any cline-no"> </span>
|
|
168
|
-
<span class="cline-any cline-no"> </span>
|
|
169
|
-
<span class="cline-any cline-no"> </span>
|
|
170
154
|
<span class="cline-any cline-neutral"> </span>
|
|
171
155
|
<span class="cline-any cline-neutral"> </span>
|
|
172
|
-
<span class="cline-any cline-
|
|
156
|
+
<span class="cline-any cline-yes">8x</span>
|
|
157
|
+
<span class="cline-any cline-yes">5x</span>
|
|
158
|
+
<span class="cline-any cline-yes">5x</span>
|
|
159
|
+
<span class="cline-any cline-yes">5x</span>
|
|
160
|
+
<span class="cline-any cline-yes">5x</span>
|
|
161
|
+
<span class="cline-any cline-yes">3x</span>
|
|
162
|
+
<span class="cline-any cline-yes">1x</span>
|
|
163
|
+
<span class="cline-any cline-yes">1x</span>
|
|
164
|
+
<span class="cline-any cline-yes">1x</span>
|
|
165
|
+
<span class="cline-any cline-yes">1x</span>
|
|
166
|
+
<span class="cline-any cline-yes">2x</span>
|
|
167
|
+
<span class="cline-any cline-yes">1x</span>
|
|
168
|
+
<span class="cline-any cline-yes">1x</span>
|
|
169
|
+
<span class="cline-any cline-yes">1x</span>
|
|
170
|
+
<span class="cline-any cline-yes">1x</span>
|
|
171
|
+
<span class="cline-any cline-neutral"> </span>
|
|
172
|
+
<span class="cline-any cline-yes">1x</span>
|
|
173
|
+
<span class="cline-any cline-yes">1x</span>
|
|
174
|
+
<span class="cline-any cline-yes">1x</span>
|
|
175
|
+
<span class="cline-any cline-yes">1x</span>
|
|
176
|
+
<span class="cline-any cline-neutral"> </span>
|
|
177
|
+
<span class="cline-any cline-neutral"> </span>
|
|
178
|
+
<span class="cline-any cline-yes">8x</span>
|
|
173
179
|
<span class="cline-any cline-neutral"> </span>
|
|
174
180
|
<span class="cline-any cline-neutral"> </span>
|
|
175
181
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -187,48 +193,51 @@ import type { ContextAnalyzerOptions } from './types';
|
|
|
187
193
|
/**
|
|
188
194
|
* Generate smart defaults for context analysis based on repository size
|
|
189
195
|
* Automatically tunes thresholds to target ~10 most serious issues
|
|
196
|
+
* @param directory - The root directory to analyze
|
|
197
|
+
* @param userOptions - Partial user-provided options to merge with defaults
|
|
198
|
+
* @returns Complete ContextAnalyzerOptions with smart defaults
|
|
190
199
|
*/
|
|
191
|
-
export async function
|
|
200
|
+
export async function getSmartDefaults(
|
|
192
201
|
directory: string,
|
|
193
202
|
userOptions: Partial<ContextAnalyzerOptions>
|
|
194
203
|
): Promise<ContextAnalyzerOptions> {
|
|
195
204
|
// Estimate repository size by scanning files
|
|
196
|
-
const files =
|
|
205
|
+
const files = await scanFiles({
|
|
197
206
|
rootDir: directory,
|
|
198
207
|
include: userOptions.include,
|
|
199
208
|
exclude: userOptions.exclude,
|
|
200
209
|
});
|
|
201
210
|
|
|
202
|
-
const estimatedBlocks =
|
|
211
|
+
const estimatedBlocks = files.length;
|
|
203
212
|
|
|
204
213
|
let maxDepth: number;
|
|
205
214
|
let maxContextBudget: number;
|
|
206
215
|
let minCohesion: number;
|
|
207
216
|
let maxFragmentation: number;
|
|
208
217
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
218
|
+
if (estimatedBlocks < 100) {
|
|
219
|
+
maxDepth = 5;
|
|
220
|
+
maxContextBudget = 8000;
|
|
221
|
+
minCohesion = 0.5;
|
|
222
|
+
maxFragmentation = 0.5;
|
|
223
|
+
} else if (estimatedBlocks < 500) {
|
|
224
|
+
maxDepth = 6;
|
|
225
|
+
maxContextBudget = 15000;
|
|
226
|
+
minCohesion = 0.45;
|
|
227
|
+
maxFragmentation = 0.6;
|
|
228
|
+
} else if (estimatedBlocks < 2000) {
|
|
229
|
+
maxDepth = 8;
|
|
230
|
+
maxContextBudget = 25000;
|
|
231
|
+
minCohesion = 0.4;
|
|
232
|
+
maxFragmentation = 0.7;
|
|
224
233
|
} else {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
234
|
+
maxDepth = 12;
|
|
235
|
+
maxContextBudget = 40000;
|
|
236
|
+
minCohesion = 0.35;
|
|
237
|
+
maxFragmentation = 0.8;
|
|
229
238
|
}
|
|
230
239
|
|
|
231
|
-
|
|
240
|
+
return {
|
|
232
241
|
maxDepth,
|
|
233
242
|
maxContextBudget,
|
|
234
243
|
minCohesion,
|
|
@@ -247,16 +256,16 @@ export async function <span class="fstat-no" title="function not covered" >getSm
|
|
|
247
256
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
248
257
|
Code coverage generated by
|
|
249
258
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
250
|
-
at 2026-03-
|
|
259
|
+
at 2026-03-21T12:52:37.698Z
|
|
251
260
|
</div>
|
|
252
|
-
<script src="prettify.js"></script>
|
|
261
|
+
<script src="../prettify.js"></script>
|
|
253
262
|
<script>
|
|
254
263
|
window.onload = function () {
|
|
255
264
|
prettyPrint();
|
|
256
265
|
};
|
|
257
266
|
</script>
|
|
258
|
-
<script src="sorter.js"></script>
|
|
259
|
-
<script src="block-navigation.js"></script>
|
|
267
|
+
<script src="../sorter.js"></script>
|
|
268
|
+
<script src="../block-navigation.js"></script>
|
|
260
269
|
</body>
|
|
261
270
|
</html>
|
|
262
271
|
|