From 7549284c585d23e6867b8d3b301e220c7c827a5a Mon Sep 17 00:00:00 2001 From: gmasci Date: Wed, 29 Apr 2026 16:08:14 +0200 Subject: [PATCH 1/3] fix(proxy): fix import handling - Added functions to extract and replace module specifiers in import statements. - Implemented logic to rewrite relative imports for generated proxy files. - Ensured only used symbols are retained in grouped imports. --- coverage/coverage-summary.json | 4 +- coverage/index.html | 38 +- .../decorators/expose-tool.decorator.ts.html | 2 +- coverage/src/decorators/index.html | 2 +- coverage/src/index.html | 36 +- coverage/src/patcher.ts.html | 2 +- coverage/src/proxy-generator.ts.html | 327 ++++++++++++++---- coverage/src/proxy-scanner.ts.html | 2 +- coverage/src/scanner/index.html | 2 +- coverage/src/scanner/tool-scanner.ts.html | 2 +- src/proxy-generator.ts | 65 +++- src/proxy-scanner.ts | 98 +++++- tests/unit/proxy-generator.unit.test.ts | 53 +++ tests/unit/proxy-scanner.unit.test.ts | 30 ++ 14 files changed, 534 insertions(+), 129 deletions(-) diff --git a/coverage/coverage-summary.json b/coverage/coverage-summary.json index 9c8682a..71f7f27 100644 --- a/coverage/coverage-summary.json +++ b/coverage/coverage-summary.json @@ -1,6 +1,6 @@ -{"total": {"lines":{"total":513,"covered":439,"skipped":0,"pct":85.57},"statements":{"total":523,"covered":448,"skipped":0,"pct":85.65},"functions":{"total":70,"covered":63,"skipped":0,"pct":90},"branches":{"total":410,"covered":298,"skipped":0,"pct":72.68},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}} +{"total": {"lines":{"total":524,"covered":449,"skipped":0,"pct":85.68},"statements":{"total":535,"covered":459,"skipped":0,"pct":85.79},"functions":{"total":75,"covered":68,"skipped":0,"pct":90.66},"branches":{"total":414,"covered":303,"skipped":0,"pct":73.18},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}} ,"C:\\Projects\\CodeArchitects\\mcp-scanner\\src\\patcher.ts": {"lines":{"total":76,"covered":65,"skipped":0,"pct":85.52},"functions":{"total":13,"covered":12,"skipped":0,"pct":92.3},"statements":{"total":82,"covered":70,"skipped":0,"pct":85.36},"branches":{"total":61,"covered":44,"skipped":0,"pct":72.13}} -,"C:\\Projects\\CodeArchitects\\mcp-scanner\\src\\proxy-generator.ts": {"lines":{"total":117,"covered":96,"skipped":0,"pct":82.05},"functions":{"total":20,"covered":16,"skipped":0,"pct":80},"statements":{"total":117,"covered":96,"skipped":0,"pct":82.05},"branches":{"total":84,"covered":59,"skipped":0,"pct":70.23}} +,"C:\\Projects\\CodeArchitects\\mcp-scanner\\src\\proxy-generator.ts": {"lines":{"total":128,"covered":106,"skipped":0,"pct":82.81},"functions":{"total":25,"covered":21,"skipped":0,"pct":84},"statements":{"total":129,"covered":107,"skipped":0,"pct":82.94},"branches":{"total":88,"covered":64,"skipped":0,"pct":72.72}} ,"C:\\Projects\\CodeArchitects\\mcp-scanner\\src\\proxy-scanner.ts": {"lines":{"total":150,"covered":123,"skipped":0,"pct":82},"functions":{"total":18,"covered":16,"skipped":0,"pct":88.88},"statements":{"total":152,"covered":125,"skipped":0,"pct":82.23},"branches":{"total":113,"covered":72,"skipped":0,"pct":63.71}} ,"C:\\Projects\\CodeArchitects\\mcp-scanner\\src\\decorators\\expose-tool.decorator.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}} ,"C:\\Projects\\CodeArchitects\\mcp-scanner\\src\\scanner\\tool-scanner.ts": {"lines":{"total":164,"covered":149,"skipped":0,"pct":90.85},"functions":{"total":16,"covered":16,"skipped":0,"pct":100},"statements":{"total":166,"covered":151,"skipped":0,"pct":90.96},"branches":{"total":148,"covered":119,"skipped":0,"pct":80.4}} diff --git a/coverage/index.html b/coverage/index.html index a10269e..e516796 100644 --- a/coverage/index.html +++ b/coverage/index.html @@ -23,30 +23,30 @@

All files

- 85.65% + 85.79% Statements - 448/523 + 459/535
- 72.68% + 73.18% Branches - 298/410 + 303/414
- 90% + 90.66% Functions - 63/70 + 68/75
- 85.57% + 85.68% Lines - 439/513 + 449/524
@@ -80,17 +80,17 @@

All files

src - -
+ +
- 82.9% - 291/351 - 67.82% - 175/258 - 86.27% - 44/51 - 82.79% - 284/343 + 83.19% + 302/363 + 68.7% + 180/262 + 87.5% + 49/56 + 83.05% + 294/354 @@ -131,7 +131,7 @@

All files

+ + + + + + \ No newline at end of file diff --git a/coverage/src/index.html b/coverage/src/index.html index 1e146ac..01996dd 100644 --- a/coverage/src/index.html +++ b/coverage/src/index.html @@ -23,30 +23,30 @@

All files src

- 83.19% + 81.43% Statements - 302/363 + 329/404
- 68.7% + 67.55% Branches - 180/262 + 202/299
- 87.5% + 85.71% Functions - 49/56 + 54/63
- 83.05% + 81.37% Lines - 294/354 + 319/392
@@ -109,18 +109,18 @@

All files src

- proxy-scanner.ts - -
+ proxy-scanner.ts + +
- 82.23% - 125/152 - 63.71% - 72/113 - 88.88% - 16/18 - 82% - 123/150 + 78.75% + 152/193 + 62.66% + 94/150 + 84% + 21/25 + 78.72% + 148/188 @@ -131,7 +131,7 @@

All files src