@aiready/context-analyzer 0.21.26 → 0.21.27
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 +32 -25
- package/.turbo/turbo-test.log +51 -87
- package/coverage/clover.xml +392 -1878
- package/coverage/coverage-final.json +15 -19
- package/coverage/index.html +48 -63
- package/coverage/src/analyzers/index.html +21 -21
- package/coverage/src/analyzers/python-context.ts.html +96 -96
- package/coverage/src/ast-utils.ts.html +34 -109
- package/coverage/src/classifier.ts.html +104 -104
- package/coverage/src/classify/classification-patterns.ts.html +1 -1
- package/coverage/src/classify/file-classifiers.ts.html +1 -1
- package/coverage/src/classify/index.html +1 -1
- package/coverage/src/cluster-detector.ts.html +72 -72
- package/coverage/src/defaults.ts.html +1 -1
- package/coverage/src/graph-builder.ts.html +131 -131
- package/coverage/src/index.html +101 -116
- package/coverage/src/index.ts.html +2 -2
- package/coverage/src/issue-analyzer.ts.html +32 -83
- package/coverage/src/mapper.ts.html +20 -2
- package/coverage/src/metrics.ts.html +127 -130
- package/coverage/src/orchestrator.ts.html +13 -13
- package/coverage/src/provider.ts.html +19 -19
- package/coverage/src/remediation.ts.html +59 -59
- package/coverage/src/report/console-report.ts.html +2 -2
- package/coverage/src/report/html-report.ts.html +60 -84
- package/coverage/src/report/index.html +7 -7
- package/coverage/src/report/interactive-setup.ts.html +1 -1
- package/coverage/src/scoring.ts.html +62 -62
- package/coverage/src/semantic/co-usage.ts.html +1 -1
- package/coverage/src/semantic/consolidation.ts.html +1 -1
- package/coverage/src/semantic/domain-inference.ts.html +1 -1
- package/coverage/src/semantic/index.html +1 -1
- package/coverage/src/semantic/type-graph.ts.html +1 -1
- package/coverage/src/summary.ts.html +67 -67
- package/coverage/src/types.ts.html +1 -1
- package/coverage/src/utils/dependency-graph-utils.ts.html +41 -41
- package/coverage/src/utils/index.html +21 -21
- package/coverage/src/utils/string-utils.ts.html +1 -1
- package/dist/chunk-22ZO4EKZ.mjs +1297 -0
- package/dist/chunk-4U4LDWGF.mjs +360 -0
- package/dist/chunk-BA7QGUHN.mjs +1722 -0
- package/dist/chunk-BCEZGRXI.mjs +1297 -0
- package/dist/chunk-BQCISA2F.mjs +91 -0
- package/dist/chunk-EMYD7NS6.mjs +137 -0
- package/dist/chunk-EWFR366Y.mjs +1740 -0
- package/dist/chunk-FO6YT6RG.mjs +1751 -0
- package/dist/chunk-J3SZQZNU.mjs +221 -0
- package/dist/chunk-OZE3FVZT.mjs +1089 -0
- package/dist/chunk-WHB7QI7N.mjs +91 -0
- package/dist/cli-action-CXIHOVAC.mjs +95 -0
- package/dist/cli-action-SA7SCYNV.mjs +95 -0
- package/dist/cli-action-YAJOJCXJ.mjs +95 -0
- package/dist/cli.js +688 -566
- package/dist/cli.mjs +4 -88
- package/dist/index.js +889 -773
- package/dist/index.mjs +21 -14
- package/dist/orchestrator-3L3NAZYP.mjs +10 -0
- package/dist/orchestrator-MONOZHVW.mjs +10 -0
- package/dist/orchestrator-ZR7JSKWI.mjs +10 -0
- package/dist/summary-7PZVW72O.mjs +7 -0
- package/dist/summary-LKUCJAIS.mjs +7 -0
- package/package.json +2 -2
- package/src/__tests__/analyzer.test.ts +1 -1
- package/src/__tests__/enhanced-cohesion.test.ts +4 -1
- package/src/__tests__/orchestrator.test.ts +19 -4
- package/src/__tests__/python-context.test.ts +6 -0
- package/src/__tests__/report/html-report.test.ts +8 -2
- package/src/ast-utils.ts +1 -26
- package/src/cli-definition.ts +4 -2
- package/src/issue-analyzer.ts +4 -19
- package/src/metrics.ts +1 -2
- package/src/provider.ts +4 -4
- package/src/report/html-report.ts +43 -59
- package/coverage/dist/chunk-64U3PNO3.mjs.html +0 -367
- package/coverage/dist/chunk-J3MUOWHC.mjs.html +0 -5326
- package/coverage/dist/index.html +0 -146
- package/coverage/dist/index.mjs.html +0 -1396
- package/coverage/src/analyzer.ts.html +0 -88
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">85.71% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>66/77</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">70.58% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>24/34</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">91.66% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>11/12</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">89.85% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>62/69</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -359,55 +359,55 @@
|
|
|
359
359
|
<span class="cline-any cline-neutral"> </span>
|
|
360
360
|
<span class="cline-any cline-neutral"> </span>
|
|
361
361
|
<span class="cline-any cline-yes">29x</span>
|
|
362
|
-
<span class="cline-any cline-
|
|
363
|
-
<span class="cline-any cline-yes">
|
|
364
|
-
<span class="cline-any cline-
|
|
362
|
+
<span class="cline-any cline-neutral"> </span>
|
|
363
|
+
<span class="cline-any cline-yes">11x</span>
|
|
364
|
+
<span class="cline-any cline-no"> </span>
|
|
365
365
|
<span class="cline-any cline-no"> </span>
|
|
366
366
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-yes">16x</span>
|
|
368
|
-
<span class="cline-any cline-yes">16x</span>
|
|
369
367
|
<span class="cline-any cline-neutral"> </span>
|
|
370
368
|
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-yes">16x</span>
|
|
372
369
|
<span class="cline-any cline-neutral"> </span>
|
|
373
370
|
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-
|
|
375
|
-
<span class="cline-any cline-
|
|
376
|
-
<span class="cline-any cline-
|
|
377
|
-
<span class="cline-any cline-
|
|
371
|
+
<span class="cline-any cline-neutral"> </span>
|
|
372
|
+
<span class="cline-any cline-neutral"> </span>
|
|
373
|
+
<span class="cline-any cline-neutral"> </span>
|
|
374
|
+
<span class="cline-any cline-neutral"> </span>
|
|
375
|
+
<span class="cline-any cline-neutral"> </span>
|
|
376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
378
378
|
<span class="cline-any cline-no"> </span>
|
|
379
379
|
<span class="cline-any cline-neutral"> </span>
|
|
380
380
|
<span class="cline-any cline-no"> </span>
|
|
381
|
-
<span class="cline-any cline-
|
|
382
|
-
<span class="cline-any cline-
|
|
383
|
-
<span class="cline-any cline-
|
|
381
|
+
<span class="cline-any cline-no"> </span>
|
|
382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
383
|
+
<span class="cline-any cline-no"> </span>
|
|
384
|
+
<span class="cline-any cline-neutral"> </span>
|
|
384
385
|
<span class="cline-any cline-neutral"> </span>
|
|
385
386
|
<span class="cline-any cline-neutral"> </span>
|
|
386
|
-
<span class="cline-any cline-yes">31x</span>
|
|
387
387
|
<span class="cline-any cline-yes">11x</span>
|
|
388
388
|
<span class="cline-any cline-yes">4x</span>
|
|
389
389
|
<span class="cline-any cline-neutral"> </span>
|
|
390
390
|
<span class="cline-any cline-neutral"> </span>
|
|
391
391
|
<span class="cline-any cline-yes">18x</span>
|
|
392
392
|
<span class="cline-any cline-yes">18x</span>
|
|
393
|
-
<span class="cline-any cline-yes">16x</span>
|
|
394
393
|
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-
|
|
396
|
-
<span class="cline-any cline-yes">
|
|
397
|
-
<span class="cline-any cline-
|
|
398
|
-
<span class="cline-any cline-
|
|
399
|
-
<span class="cline-any cline-yes">
|
|
400
|
-
<span class="cline-any cline-yes">
|
|
401
|
-
<span class="cline-any cline-yes">
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
395
|
+
<span class="cline-any cline-yes">18x</span>
|
|
396
|
+
<span class="cline-any cline-neutral"> </span>
|
|
397
|
+
<span class="cline-any cline-neutral"> </span>
|
|
398
|
+
<span class="cline-any cline-yes">18x</span>
|
|
399
|
+
<span class="cline-any cline-yes">18x</span>
|
|
400
|
+
<span class="cline-any cline-yes">27x</span>
|
|
401
|
+
<span class="cline-any cline-yes">27x</span>
|
|
402
402
|
<span class="cline-any cline-neutral"> </span>
|
|
403
403
|
<span class="cline-any cline-neutral"> </span>
|
|
404
404
|
<span class="cline-any cline-neutral"> </span>
|
|
405
|
-
<span class="cline-any cline-yes">
|
|
406
|
-
<span class="cline-any cline-yes">
|
|
407
|
-
<span class="cline-any cline-yes">
|
|
405
|
+
<span class="cline-any cline-yes">3x</span>
|
|
406
|
+
<span class="cline-any cline-yes">12x</span>
|
|
407
|
+
<span class="cline-any cline-yes">12x</span>
|
|
408
408
|
<span class="cline-any cline-neutral"> </span>
|
|
409
409
|
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-yes">
|
|
410
|
+
<span class="cline-any cline-yes">3x</span>
|
|
411
411
|
<span class="cline-any cline-neutral"> </span>
|
|
412
412
|
<span class="cline-any cline-neutral"> </span>
|
|
413
413
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -415,38 +415,38 @@
|
|
|
415
415
|
<span class="cline-any cline-neutral"> </span>
|
|
416
416
|
<span class="cline-any cline-neutral"> </span>
|
|
417
417
|
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-
|
|
419
|
-
<span class="cline-any cline-
|
|
420
|
-
<span class="cline-any cline-yes">
|
|
418
|
+
<span class="cline-any cline-neutral"> </span>
|
|
419
|
+
<span class="cline-any cline-neutral"> </span>
|
|
420
|
+
<span class="cline-any cline-yes">22x</span>
|
|
421
421
|
<span class="cline-any cline-neutral"> </span>
|
|
422
422
|
<span class="cline-any cline-yes">22x</span>
|
|
423
|
-
<span class="cline-any cline-yes">106x</span>
|
|
424
423
|
<span class="cline-any cline-yes">38x</span>
|
|
425
|
-
<span class="cline-any cline-yes">
|
|
424
|
+
<span class="cline-any cline-yes">38x</span>
|
|
425
|
+
<span class="cline-any cline-neutral"> </span>
|
|
426
|
+
<span class="cline-any cline-neutral"> </span>
|
|
427
|
+
<span class="cline-any cline-neutral"> </span>
|
|
428
|
+
<span class="cline-any cline-neutral"> </span>
|
|
426
429
|
<span class="cline-any cline-neutral"> </span>
|
|
427
430
|
<span class="cline-any cline-neutral"> </span>
|
|
428
431
|
<span class="cline-any cline-neutral"> </span>
|
|
429
432
|
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-yes">54x</span>
|
|
431
433
|
<span class="cline-any cline-neutral"> </span>
|
|
432
434
|
<span class="cline-any cline-neutral"> </span>
|
|
433
435
|
<span class="cline-any cline-neutral"> </span>
|
|
434
436
|
<span class="cline-any cline-neutral"> </span>
|
|
435
437
|
<span class="cline-any cline-neutral"> </span>
|
|
436
438
|
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-yes">49x</span>
|
|
438
439
|
<span class="cline-any cline-neutral"> </span>
|
|
439
440
|
<span class="cline-any cline-neutral"> </span>
|
|
440
441
|
<span class="cline-any cline-neutral"> </span>
|
|
441
442
|
<span class="cline-any cline-neutral"> </span>
|
|
442
443
|
<span class="cline-any cline-neutral"> </span>
|
|
443
444
|
<span class="cline-any cline-neutral"> </span>
|
|
444
|
-
<span class="cline-any cline-yes">33x</span>
|
|
445
445
|
<span class="cline-any cline-yes">38x</span>
|
|
446
|
-
<span class="cline-any cline-yes">
|
|
447
|
-
<span class="cline-any cline-yes">
|
|
446
|
+
<span class="cline-any cline-yes">80x</span>
|
|
447
|
+
<span class="cline-any cline-yes">80x</span>
|
|
448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
448
449
|
<span class="cline-any cline-neutral"> </span>
|
|
449
|
-
<span class="cline-any cline-yes">86x</span>
|
|
450
450
|
<span class="cline-any cline-neutral"> </span>
|
|
451
451
|
<span class="cline-any cline-neutral"> </span>
|
|
452
452
|
<span class="cline-any cline-yes">12x</span>
|
|
@@ -456,71 +456,71 @@
|
|
|
456
456
|
<span class="cline-any cline-neutral"> </span>
|
|
457
457
|
<span class="cline-any cline-yes">22x</span>
|
|
458
458
|
<span class="cline-any cline-neutral"> </span>
|
|
459
|
-
<span class="cline-any cline-yes">17x</span>
|
|
460
|
-
<span class="cline-any cline-yes">17x</span>
|
|
461
459
|
<span class="cline-any cline-neutral"> </span>
|
|
462
460
|
<span class="cline-any cline-neutral"> </span>
|
|
463
|
-
<span class="cline-any cline-yes">17x</span>
|
|
464
461
|
<span class="cline-any cline-neutral"> </span>
|
|
465
|
-
<span class="cline-any cline-yes">33x</span>
|
|
466
462
|
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-yes">17x</span>
|
|
468
463
|
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-yes">33x</span>
|
|
470
464
|
<span class="cline-any cline-neutral"> </span>
|
|
471
|
-
<span class="cline-any cline-yes">40x</span>
|
|
472
|
-
<span class="cline-any cline-yes">40x</span>
|
|
473
|
-
<span class="cline-any cline-yes">27x</span>
|
|
474
|
-
<span class="cline-any cline-yes">27x</span>
|
|
475
|
-
<span class="cline-any cline-yes">40x</span>
|
|
476
|
-
<span class="cline-any cline-yes">33x</span>
|
|
477
|
-
<span class="cline-any cline-yes">56x</span>
|
|
478
465
|
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-yes">56x</span>
|
|
480
466
|
<span class="cline-any cline-neutral"> </span>
|
|
481
|
-
<span class="cline-any cline-yes">72x</span>
|
|
482
467
|
<span class="cline-any cline-neutral"> </span>
|
|
483
468
|
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-yes">56x</span>
|
|
485
|
-
<span class="cline-any cline-yes">46x</span>
|
|
486
|
-
<span class="cline-any cline-yes">72x</span>
|
|
487
|
-
<span class="cline-any cline-yes">56x</span>
|
|
488
|
-
<span class="cline-any cline-yes">56x</span>
|
|
489
|
-
<span class="cline-any cline-yes">56x</span>
|
|
490
469
|
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-
|
|
470
|
+
<span class="cline-any cline-neutral"> </span>
|
|
471
|
+
<span class="cline-any cline-yes">23x</span>
|
|
472
|
+
<span class="cline-any cline-yes">23x</span>
|
|
473
|
+
<span class="cline-any cline-neutral"> </span>
|
|
474
|
+
<span class="cline-any cline-neutral"> </span>
|
|
475
|
+
<span class="cline-any cline-yes">23x</span>
|
|
476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
477
|
+
<span class="cline-any cline-yes">39x</span>
|
|
478
|
+
<span class="cline-any cline-neutral"> </span>
|
|
479
|
+
<span class="cline-any cline-yes">23x</span>
|
|
480
|
+
<span class="cline-any cline-neutral"> </span>
|
|
481
|
+
<span class="cline-any cline-yes">39x</span>
|
|
482
|
+
<span class="cline-any cline-neutral"> </span>
|
|
483
|
+
<span class="cline-any cline-neutral"> </span>
|
|
484
|
+
<span class="cline-any cline-yes">39x</span>
|
|
485
|
+
<span class="cline-any cline-yes">29x</span>
|
|
486
|
+
<span class="cline-any cline-yes">29x</span>
|
|
487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
488
|
+
<span class="cline-any cline-yes">39x</span>
|
|
489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
490
|
+
<span class="cline-any cline-neutral"> </span>
|
|
491
|
+
<span class="cline-any cline-yes">39x</span>
|
|
492
|
+
<span class="cline-any cline-neutral"> </span>
|
|
493
|
+
<span class="cline-any cline-neutral"> </span>
|
|
492
494
|
<span class="cline-any cline-neutral"> </span>
|
|
493
495
|
<span class="cline-any cline-neutral"> </span>
|
|
494
496
|
<span class="cline-any cline-neutral"> </span>
|
|
495
497
|
<span class="cline-any cline-neutral"> </span>
|
|
496
|
-
<span class="cline-any cline-yes">
|
|
498
|
+
<span class="cline-any cline-yes">39x</span>
|
|
499
|
+
<span class="cline-any cline-yes">39x</span>
|
|
497
500
|
<span class="cline-any cline-neutral"> </span>
|
|
498
501
|
<span class="cline-any cline-yes">39x</span>
|
|
499
|
-
<span class="cline-any cline-yes">56x</span>
|
|
500
|
-
<span class="cline-any cline-yes">40x</span>
|
|
501
|
-
<span class="cline-any cline-yes">56x</span>
|
|
502
502
|
<span class="cline-any cline-neutral"> </span>
|
|
503
|
-
<span class="cline-any cline-yes">56x</span>
|
|
504
|
-
<span class="cline-any cline-yes">56x</span>
|
|
505
503
|
<span class="cline-any cline-neutral"> </span>
|
|
506
|
-
<span class="cline-any cline-yes">17x</span>
|
|
507
|
-
<span class="cline-any cline-yes">33x</span>
|
|
508
|
-
<span class="cline-any cline-yes">72x</span>
|
|
509
504
|
<span class="cline-any cline-neutral"> </span>
|
|
510
505
|
<span class="cline-any cline-neutral"> </span>
|
|
511
|
-
<span class="cline-any cline-yes">74x</span>
|
|
512
|
-
<span class="cline-any cline-yes">74x</span>
|
|
513
|
-
<span class="cline-any cline-yes">74x</span>
|
|
514
506
|
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-
|
|
516
|
-
<span class="cline-any cline-yes">
|
|
517
|
-
<span class="cline-any cline-
|
|
507
|
+
<span class="cline-any cline-neutral"> </span>
|
|
508
|
+
<span class="cline-any cline-yes">39x</span>
|
|
509
|
+
<span class="cline-any cline-neutral"> </span>
|
|
510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
511
|
+
<span class="cline-any cline-yes">23x</span>
|
|
512
|
+
<span class="cline-any cline-yes">23x</span>
|
|
513
|
+
<span class="cline-any cline-yes">23x</span>
|
|
514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
515
|
+
<span class="cline-any cline-yes">23x</span>
|
|
516
|
+
<span class="cline-any cline-yes">23x</span>
|
|
517
|
+
<span class="cline-any cline-neutral"> </span>
|
|
518
518
|
<span class="cline-any cline-yes">23x</span>
|
|
519
519
|
<span class="cline-any cline-yes">39x</span>
|
|
520
520
|
<span class="cline-any cline-yes">57x</span>
|
|
521
521
|
<span class="cline-any cline-neutral"> </span>
|
|
522
522
|
<span class="cline-any cline-neutral"> </span>
|
|
523
|
-
<span class="cline-any cline-
|
|
523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
524
524
|
<span class="cline-any cline-neutral"> </span>
|
|
525
525
|
<span class="cline-any cline-neutral"> </span>
|
|
526
526
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -532,23 +532,23 @@
|
|
|
532
532
|
<span class="cline-any cline-neutral"> </span>
|
|
533
533
|
<span class="cline-any cline-neutral"> </span>
|
|
534
534
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-yes">
|
|
535
|
+
<span class="cline-any cline-yes">23x</span>
|
|
536
|
+
<span class="cline-any cline-neutral"> </span>
|
|
537
|
+
<span class="cline-any cline-neutral"> </span>
|
|
538
|
+
<span class="cline-any cline-neutral"> </span>
|
|
539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
542
|
+
<span class="cline-any cline-neutral"> </span>
|
|
543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
536
544
|
<span class="cline-any cline-neutral"> </span>
|
|
537
|
-
<span class="cline-any cline-yes">8x</span>
|
|
538
|
-
<span class="cline-any cline-yes">8x</span>
|
|
539
545
|
<span class="cline-any cline-neutral"> </span>
|
|
540
|
-
<span class="cline-any cline-yes">5x</span>
|
|
541
|
-
<span class="cline-any cline-yes">5x</span>
|
|
542
546
|
<span class="cline-any cline-neutral"> </span>
|
|
543
|
-
<span class="cline-any cline-yes">5x</span>
|
|
544
|
-
<span class="cline-any cline-yes">5x</span>
|
|
545
547
|
<span class="cline-any cline-neutral"> </span>
|
|
546
548
|
<span class="cline-any cline-neutral"> </span>
|
|
547
549
|
<span class="cline-any cline-neutral"> </span>
|
|
548
550
|
<span class="cline-any cline-neutral"> </span>
|
|
549
551
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-yes">5x</span>
|
|
551
|
-
<span class="cline-any cline-yes">5x</span>
|
|
552
552
|
<span class="cline-any cline-neutral"> </span>
|
|
553
553
|
<span class="cline-any cline-yes">10x</span>
|
|
554
554
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -559,19 +559,19 @@
|
|
|
559
559
|
<span class="cline-any cline-neutral"> </span>
|
|
560
560
|
<span class="cline-any cline-neutral"> </span>
|
|
561
561
|
<span class="cline-any cline-neutral"> </span>
|
|
562
|
-
<span class="cline-any cline-yes">5x</span>
|
|
563
562
|
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-yes">5x</span>
|
|
565
|
-
<span class="cline-any cline-yes">5x</span>
|
|
566
|
-
<span class="cline-any cline-yes">5x</span>
|
|
567
563
|
<span class="cline-any cline-neutral"> </span>
|
|
568
|
-
<span class="cline-any cline-yes">3x</span>
|
|
569
|
-
<span class="cline-any cline-yes">17x</span>
|
|
570
|
-
<span class="cline-any cline-yes">3x</span>
|
|
571
|
-
<span class="cline-any cline-yes">3x</span>
|
|
572
564
|
<span class="cline-any cline-neutral"> </span>
|
|
573
565
|
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-
|
|
566
|
+
<span class="cline-any cline-neutral"> </span>
|
|
567
|
+
<span class="cline-any cline-neutral"> </span>
|
|
568
|
+
<span class="cline-any cline-neutral"> </span>
|
|
569
|
+
<span class="cline-any cline-yes">14x</span>
|
|
570
|
+
<span class="cline-any cline-neutral"> </span>
|
|
571
|
+
<span class="cline-any cline-neutral"> </span>
|
|
572
|
+
<span class="cline-any cline-neutral"> </span>
|
|
573
|
+
<span class="cline-any cline-neutral"> </span>
|
|
574
|
+
<span class="cline-any cline-neutral"> </span>
|
|
575
575
|
<span class="cline-any cline-neutral"> </span>
|
|
576
576
|
<span class="cline-any cline-neutral"> </span>
|
|
577
577
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -582,28 +582,28 @@
|
|
|
582
582
|
<span class="cline-any cline-neutral"> </span>
|
|
583
583
|
<span class="cline-any cline-yes">7x</span>
|
|
584
584
|
<span class="cline-any cline-yes">7x</span>
|
|
585
|
-
<span class="cline-any cline-
|
|
585
|
+
<span class="cline-any cline-neutral"> </span>
|
|
586
586
|
<span class="cline-any cline-yes">7x</span>
|
|
587
|
-
<span class="cline-any cline-yes">8x</span>
|
|
588
|
-
<span class="cline-any cline-yes">1x</span>
|
|
589
587
|
<span class="cline-any cline-yes">7x</span>
|
|
590
|
-
<span class="cline-any cline-
|
|
591
|
-
<span class="cline-any cline-yes">
|
|
592
|
-
<span class="cline-any cline-yes">
|
|
593
|
-
<span class="cline-any cline-yes">
|
|
588
|
+
<span class="cline-any cline-neutral"> </span>
|
|
589
|
+
<span class="cline-any cline-yes">7x</span>
|
|
590
|
+
<span class="cline-any cline-yes">2x</span>
|
|
591
|
+
<span class="cline-any cline-yes">2x</span>
|
|
592
|
+
<span class="cline-any cline-yes">2x</span>
|
|
593
|
+
<span class="cline-any cline-neutral"> </span>
|
|
594
594
|
<span class="cline-any cline-neutral"> </span>
|
|
595
595
|
<span class="cline-any cline-neutral"> </span>
|
|
596
596
|
<span class="cline-any cline-yes">7x</span>
|
|
597
|
-
<span class="cline-any cline-yes">1x</span>
|
|
598
597
|
<span class="cline-any cline-neutral"> </span>
|
|
599
598
|
<span class="cline-any cline-neutral"> </span>
|
|
600
599
|
<span class="cline-any cline-neutral"> </span>
|
|
601
600
|
<span class="cline-any cline-neutral"> </span>
|
|
602
601
|
<span class="cline-any cline-neutral"> </span>
|
|
603
602
|
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-
|
|
605
|
-
<span class="cline-any cline-
|
|
606
|
-
<span class="cline-any cline-
|
|
603
|
+
<span class="cline-any cline-neutral"> </span>
|
|
604
|
+
<span class="cline-any cline-neutral"> </span>
|
|
605
|
+
<span class="cline-any cline-neutral"> </span>
|
|
606
|
+
<span class="cline-any cline-yes">8x</span>
|
|
607
607
|
<span class="cline-any cline-neutral"> </span>
|
|
608
608
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { estimateTokens, parseFileExports, FileContent } from '@aiready/core';
|
|
609
609
|
import { singularize } from './utils/string-utils';
|
|
@@ -632,14 +632,14 @@ function resolveImport(
|
|
|
632
632
|
if (!source.startsWith('.') && !source.startsWith('/')) {
|
|
633
633
|
// Handle monorepo package imports (@aiready/*)
|
|
634
634
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (source.startsWith('@aiready/')) {
|
|
635
|
-
const pkgName = source.split('/')[1]
|
|
635
|
+
const pkgName = <span class="cstat-no" title="statement not covered" >source.split('/')[1];</span>
|
|
636
636
|
const possiblePaths = <span class="cstat-no" title="statement not covered" >[</span>
|
|
637
637
|
// Standard src/index.ts entry point for our packages
|
|
638
638
|
join('packages', pkgName, 'src', 'index.ts'),
|
|
639
639
|
join('packages', pkgName, 'src', 'index.tsx'),
|
|
640
640
|
// Support for sub-exports if needed (e.g. @aiready/core/client)
|
|
641
641
|
join(
|
|
642
|
-
|
|
642
|
+
'packages',
|
|
643
643
|
pkgName,
|
|
644
644
|
'src',
|
|
645
645
|
`${source.split('/').slice(2).join('/') || 'index'}.ts`
|
|
@@ -648,10 +648,10 @@ function resolveImport(
|
|
|
648
648
|
|
|
649
649
|
<span class="cstat-no" title="statement not covered" > for (const p of possiblePaths) {</span>
|
|
650
650
|
// Find the absolute path that ends with this relative path
|
|
651
|
-
const absolutePkgPath = <span class="cstat-no" title="statement not covered" >Array.from(allFiles).find((f) =></span>
|
|
652
|
-
f.endsWith(normalize(p))
|
|
651
|
+
const absolutePkgPath = <span class="cstat-no" title="statement not covered" >Array.from(allFiles).find(<span class="fstat-no" title="function not covered" >(f</span>) =></span>
|
|
652
|
+
<span class="cstat-no" title="statement not covered" > f.endsWith(normalize(p))</span>
|
|
653
653
|
);
|
|
654
|
-
|
|
654
|
+
<span class="cstat-no" title="statement not covered" > if (absolutePkgPath) <span class="cstat-no" title="statement not covered" >return absolutePkgPath;</span></span>
|
|
655
655
|
}
|
|
656
656
|
}
|
|
657
657
|
|
|
@@ -663,7 +663,7 @@ function resolveImport(
|
|
|
663
663
|
const absolutePath = normalize(join(dir, source));
|
|
664
664
|
|
|
665
665
|
// Try exact match
|
|
666
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (allFiles.has(absolutePath)) return absolutePath
|
|
666
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (allFiles.has(absolutePath)) <span class="cstat-no" title="statement not covered" >return absolutePath;</span>
|
|
667
667
|
|
|
668
668
|
// Try common extensions
|
|
669
669
|
const extensions = ['.ts', '.tsx', '.js', '.jsx'];
|
|
@@ -675,7 +675,7 @@ function resolveImport(
|
|
|
675
675
|
// Try directory index
|
|
676
676
|
for (const ext of extensions) {
|
|
677
677
|
const indexFile = normalize(join(absolutePath, `index${ext}`));
|
|
678
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (allFiles.has(indexFile)) return indexFile
|
|
678
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (allFiles.has(indexFile)) <span class="cstat-no" title="statement not covered" >return indexFile;</span>
|
|
679
679
|
}
|
|
680
680
|
|
|
681
681
|
return null;
|
|
@@ -712,9 +712,9 @@ export function extractDomainKeywordsFromPaths(files: FileContent[]): string[] {
|
|
|
712
712
|
'api',
|
|
713
713
|
'apis',
|
|
714
714
|
]);
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
715
|
+
|
|
716
|
+
for (const segment of segments) {
|
|
717
|
+
const normalized = segment.toLowerCase();
|
|
718
718
|
if (
|
|
719
719
|
normalized &&
|
|
720
720
|
!skipFolders.has(normalized) &&
|
|
@@ -735,10 +735,10 @@ export function extractDomainKeywordsFromPaths(files: FileContent[]): string[] {
|
|
|
735
735
|
* @param options - Optional configuration for domain detection.
|
|
736
736
|
* @returns Complete dependency graph with nodes, edges, and semantic matrices.
|
|
737
737
|
*/
|
|
738
|
-
export function buildDependencyGraph(
|
|
738
|
+
export async function buildDependencyGraph(
|
|
739
739
|
files: FileContent[],
|
|
740
740
|
options?: { domainKeywords?: string[] }
|
|
741
|
-
): DependencyGraph {
|
|
741
|
+
): Promise<DependencyGraph> {
|
|
742
742
|
const nodes = new Map<string, DependencyNode>();
|
|
743
743
|
const edges = new Map<string, Set<string>>();
|
|
744
744
|
|
|
@@ -749,7 +749,7 @@ export function buildDependencyGraph(
|
|
|
749
749
|
|
|
750
750
|
for (const { file, content } of files) {
|
|
751
751
|
// 1. Get high-fidelity AST-based imports & exports
|
|
752
|
-
const { imports: astImports } = parseFileExports(content, file);
|
|
752
|
+
const { imports: astImports } = await parseFileExports(content, file);
|
|
753
753
|
|
|
754
754
|
// 2. Resolve imports to absolute paths in the graph
|
|
755
755
|
const resolvedImports = astImports
|
|
@@ -759,7 +759,7 @@ export function buildDependencyGraph(
|
|
|
759
759
|
const importSources = astImports.map((i) => i.source);
|
|
760
760
|
|
|
761
761
|
// 3. Wrap with platform-specific metadata (v0.11+)
|
|
762
|
-
const exports = extractExportsWithAST(
|
|
762
|
+
const exports = await extractExportsWithAST(
|
|
763
763
|
content,
|
|
764
764
|
file,
|
|
765
765
|
{ domainKeywords: autoDetectedKeywords },
|
|
@@ -785,7 +785,7 @@ export function buildDependencyGraph(
|
|
|
785
785
|
|
|
786
786
|
graph.coUsageMatrix = coUsageMatrix;
|
|
787
787
|
graph.typeGraph = typeGraph;
|
|
788
|
-
|
|
788
|
+
|
|
789
789
|
for (const [file, node] of nodes) {
|
|
790
790
|
for (const exp of node.exports) {
|
|
791
791
|
const semanticAssignments = inferDomainFromSemantics(
|
|
@@ -830,7 +830,7 @@ export function calculateImportDepth(
|
|
|
830
830
|
* @param file - File path to analyze.
|
|
831
831
|
* @param graph - The dependency graph.
|
|
832
832
|
* @param visited - Optional set to track visited nodes.
|
|
833
|
-
|
|
833
|
+
* @returns Array of all reachable file paths.
|
|
834
834
|
*/
|
|
835
835
|
export function getTransitiveDependencies(
|
|
836
836
|
file: string,
|
|
@@ -853,14 +853,14 @@ export function calculateContextBudget(
|
|
|
853
853
|
): number {
|
|
854
854
|
const node = graph.nodes.get(file);
|
|
855
855
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!node) <span class="cstat-no" title="statement not covered" >return 0;</span>
|
|
856
|
-
|
|
856
|
+
|
|
857
857
|
let totalTokens = node.tokenCost;
|
|
858
858
|
const deps = getTransitiveDependencies(file, graph);
|
|
859
859
|
|
|
860
860
|
for (const dep of deps) {
|
|
861
861
|
const depNode = graph.nodes.get(dep);
|
|
862
862
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (depNode) {
|
|
863
|
-
|
|
863
|
+
totalTokens += depNode.tokenCost;
|
|
864
864
|
}
|
|
865
865
|
}
|
|
866
866
|
|
|
@@ -883,7 +883,7 @@ export function detectCircularDependencies(graph: DependencyGraph): string[][] {
|
|
|
883
883
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
884
884
|
Code coverage generated by
|
|
885
885
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
886
|
-
at 2026-03-
|
|
886
|
+
at 2026-03-24T11:20:59.666Z
|
|
887
887
|
</div>
|
|
888
888
|
<script src="../prettify.js"></script>
|
|
889
889
|
<script>
|