token-pilot 0.5.1 → 0.5.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "token-pilot",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Reduces token consumption by 80-95% via AST-aware lazy file reading. Returns structural overviews instead of full files.",
5
5
  "author": "token-pilot",
6
6
  "license": "MIT",
package/CHANGELOG.md CHANGED
@@ -5,6 +5,14 @@ All notable changes to Token Pilot will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.5.2] - 2026-03-02
9
+
10
+ ### Fixed
11
+ - **`project_overview`** — HINT no longer references deleted `search_code()`, now suggests `find_usages()` and `outline()`
12
+ - **`related_files` imported_by** — now searches both `imports` AND `usages` from refs (not just imports), with increased limit (30). Cross-language filtering preserves same-family matches while removing false positives.
13
+ - **`find_unused`** — excludes framework-implicit symbols: constructors (`constructor`, `__init__`), lifecycle hooks (`onModuleInit`, `ngOnInit`, `componentDidMount`, `mounted`), DI patterns, Python dunder methods. Reduces false positives significantly.
14
+ - **README** — updated handler file list (removed deleted handlers, added new ones)
15
+
8
16
  ## [0.5.1] - 2026-03-02
9
17
 
10
18
  ### Fixed
package/README.md CHANGED
@@ -328,13 +328,11 @@ src/
328
328
  read-range.ts — read_range handler
329
329
  read-diff.ts — read_diff handler (O(n) diff)
330
330
  smart-read-many.ts — Batch smart_read
331
- search-code.ts — search_code handler
332
331
  find-usages.ts — find_usages handler (via ast-index refs)
333
- find-callers.ts find_callers handler
334
- changed-symbols.ts changed_symbols handler
332
+ read-for-edit.ts read_for_edit handler (minimal edit context)
333
+ related-files.ts related_files handler (import graph)
334
+ outline.ts — outline handler (directory overview)
335
335
  find-unused.ts — find_unused handler
336
- find-implementations.ts
337
- class-hierarchy.ts
338
336
  project-overview.ts — project_overview (via ast-index map + conventions)
339
337
  non-code.ts — JSON/YAML/MD/TOML structural summaries
340
338
  export-ast-index.ts — AST export for context-mode BM25
@@ -1 +1 @@
1
- {"version":3,"file":"find-unused.d.ts","sourceRoot":"","sources":["../../src/handlers/find-unused.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA0C7D"}
1
+ {"version":3,"file":"find-unused.d.ts","sourceRoot":"","sources":["../../src/handlers/find-unused.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsDD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA+C7D"}
@@ -1,26 +1,80 @@
1
+ /**
2
+ * Names that are never "unused" — constructors, lifecycle hooks, DI patterns.
3
+ * Frameworks call these implicitly, so ast-index refs won't find callers.
4
+ */
5
+ const FRAMEWORK_IMPLICIT_NAMES = new Set([
6
+ // Constructors
7
+ 'constructor', '__init__', '__new__', '__del__',
8
+ // Python dunder methods
9
+ '__str__', '__repr__', '__eq__', '__hash__', '__len__', '__iter__',
10
+ '__next__', '__enter__', '__exit__', '__getitem__', '__setitem__',
11
+ '__contains__', '__call__', '__bool__', '__lt__', '__gt__', '__le__',
12
+ '__ge__', '__ne__', '__add__', '__sub__', '__mul__',
13
+ // NestJS / Angular lifecycle hooks
14
+ 'onModuleInit', 'onModuleDestroy', 'onApplicationBootstrap',
15
+ 'onApplicationShutdown', 'beforeApplicationShutdown',
16
+ // Angular component lifecycle
17
+ 'ngOnInit', 'ngOnDestroy', 'ngOnChanges', 'ngAfterViewInit',
18
+ 'ngAfterContentInit', 'ngDoCheck',
19
+ // React lifecycle
20
+ 'componentDidMount', 'componentWillUnmount', 'componentDidUpdate',
21
+ 'shouldComponentUpdate', 'getDerivedStateFromProps', 'getSnapshotBeforeUpdate',
22
+ // Vue lifecycle
23
+ 'mounted', 'created', 'beforeMount', 'beforeDestroy', 'destroyed',
24
+ 'beforeCreate', 'updated', 'beforeUpdate', 'setup',
25
+ // Java / Spring
26
+ 'init', 'destroy', 'afterPropertiesSet',
27
+ // Go interfaces (common)
28
+ 'ServeHTTP', 'String', 'Error', 'Close', 'Read', 'Write',
29
+ // Rust traits (common)
30
+ 'new', 'default', 'fmt', 'from', 'into', 'drop',
31
+ ]);
32
+ /**
33
+ * Patterns for names that are likely framework-invoked.
34
+ */
35
+ const FRAMEWORK_IMPLICIT_PATTERNS = [
36
+ /^on[A-Z]/, // onInit, onChange, onSubmit, onRequest...
37
+ /^handle[A-Z]/, // handleRequest, handleError...
38
+ /^before[A-Z]/, // beforeEach, beforeAll, beforeInsert...
39
+ /^after[A-Z]/, // afterEach, afterAll, afterInsert...
40
+ /^__\w+__$/, // Python dunder methods
41
+ /^test[A-Z_]/, // test methods (JUnit, pytest)
42
+ /^Test[A-Z]/, // Go test functions
43
+ /^setup$/i, // setup/teardown
44
+ /^teardown$/i,
45
+ ];
46
+ function isFrameworkImplicit(name) {
47
+ if (FRAMEWORK_IMPLICIT_NAMES.has(name))
48
+ return true;
49
+ return FRAMEWORK_IMPLICIT_PATTERNS.some(p => p.test(name));
50
+ }
1
51
  export async function handleFindUnused(args, astIndex) {
2
52
  const unused = await astIndex.unusedSymbols({
3
53
  module: args.module,
4
54
  exportOnly: args.export_only,
5
- limit: args.limit ?? 30,
55
+ limit: (args.limit ?? 30) + 20, // request extra to compensate for filtering
6
56
  });
7
- if (unused.length === 0) {
57
+ // Filter out framework-implicit symbols (constructors, lifecycle hooks, DI)
58
+ const filtered = unused.filter(sym => !isFrameworkImplicit(sym.name));
59
+ const trimmed = filtered.slice(0, args.limit ?? 30);
60
+ const excludedCount = unused.length - filtered.length;
61
+ if (trimmed.length === 0) {
8
62
  return {
9
63
  content: [{
10
64
  type: 'text',
11
65
  text: args.module
12
- ? `No unused symbols found in module "${args.module}".`
13
- : 'No unused symbols found in the project.',
66
+ ? `No unused symbols found in module "${args.module}".${excludedCount > 0 ? ` (${excludedCount} framework-implicit symbols excluded)` : ''}`
67
+ : `No unused symbols found in the project.${excludedCount > 0 ? ` (${excludedCount} framework-implicit symbols excluded)` : ''}`,
14
68
  }],
15
69
  };
16
70
  }
17
71
  const lines = [
18
- `UNUSED SYMBOLS: ${unused.length} potentially unused`,
72
+ `UNUSED SYMBOLS: ${trimmed.length} potentially unused${excludedCount > 0 ? ` (${excludedCount} framework-implicit excluded)` : ''}`,
19
73
  '',
20
74
  ];
21
75
  // Group by file
22
76
  const byFile = new Map();
23
- for (const sym of unused) {
77
+ for (const sym of trimmed) {
24
78
  const existing = byFile.get(sym.path) ?? [];
25
79
  existing.push(sym);
26
80
  byFile.set(sym.path, existing);
@@ -1 +1 @@
1
- {"version":3,"file":"find-unused.js","sourceRoot":"","sources":["../../src/handlers/find-unused.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAoB,EACpB,QAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;QAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,WAAW;QAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;KACxB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,MAAM;wBACf,CAAC,CAAC,sCAAsC,IAAI,CAAC,MAAM,IAAI;wBACvD,CAAC,CAAC,yCAAyC;iBAC9C,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,mBAAmB,MAAM,CAAC,MAAM,qBAAqB;QACrD,EAAE;KACH,CAAC;IAEF,gBAAgB;IAChB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,yIAAyI,CAAC,CAAC;IAEtJ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"find-unused.js","sourceRoot":"","sources":["../../src/handlers/find-unused.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ export async function handleProjectOverview(projectRoot, astIndex) {
73
73
  catch { /* ignore */ }
74
74
  }
75
75
  }
76
- lines.push('HINT: Use smart_read() on files, search_code() for symbols, find_usages() for references.');
76
+ lines.push('HINT: Use smart_read() on files, find_usages() for symbol references, outline() for directory overview.');
77
77
  return { content: [{ type: 'text', text: lines.join('\n') }] };
78
78
  }
79
79
  async function detectProjectInfo(projectRoot) {
@@ -1 +1 @@
1
- {"version":3,"file":"project-overview.js","sourceRoot":"","sources":["../../src/handlers/project-overview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-overview.js","sourceRoot":"","sources":["../../src/handlers/project-overview.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"related-files.d.ts","sourceRoot":"","sources":["../../src/handlers/related-files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA4B7D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAWD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAqH7D"}
1
+ {"version":3,"file":"related-files.d.ts","sourceRoot":"","sources":["../../src/handlers/related-files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA4B7D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAWD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,gBAAgB,EACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA2H7D"}
@@ -69,27 +69,31 @@ export async function handleRelatedFiles(args, projectRoot, astIndex) {
69
69
  if (!exportNames.includes(fileBase)) {
70
70
  exportNames.push(fileBase);
71
71
  }
72
- // Search refs for each exported symbol
72
+ // Search refs for each exported symbol (check imports + usages)
73
73
  const seenFiles = new Set();
74
74
  seenFiles.add(absPath);
75
75
  for (const name of exportNames) {
76
76
  try {
77
- const refs = await astIndex.refs(name, 20);
78
- if (refs?.imports) {
79
- for (const ref of refs.imports) {
80
- const refPath = ref.path;
81
- if (!refPath || seenFiles.has(refPath))
77
+ const refs = await astIndex.refs(name, 30);
78
+ // Check both imports and usages — imports catch direct `import X from`,
79
+ // usages catch re-exports, function calls, type references from other files
80
+ const refEntries = [
81
+ ...(refs?.imports ?? []),
82
+ ...(refs?.usages ?? []),
83
+ ];
84
+ for (const ref of refEntries) {
85
+ const refPath = ref.path;
86
+ if (!refPath || seenFiles.has(refPath))
87
+ continue;
88
+ // Filter cross-language false positives:
89
+ // only include files from the same language family
90
+ if (sourceLang) {
91
+ const refLang = getLangFamily(refPath);
92
+ if (refLang && refLang !== sourceLang)
82
93
  continue;
83
- // Filter cross-language false positives:
84
- // only include files from the same language family
85
- if (sourceLang) {
86
- const refLang = getLangFamily(refPath);
87
- if (refLang && refLang !== sourceLang)
88
- continue;
89
- }
90
- seenFiles.add(refPath);
91
- importedBy.push(refPath);
92
94
  }
95
+ seenFiles.add(refPath);
96
+ importedBy.push(refPath);
93
97
  }
94
98
  }
95
99
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"related-files.js","sourceRoot":"","sources":["../../src/handlers/related-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"related-files.js","sourceRoot":"","sources":["../../src/handlers/related-files.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "token-pilot",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "MCP server that reduces token consumption in AI coding assistants via AST-aware lazy file reading",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",