token-pilot 0.3.0 → 0.3.1

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.3.0",
3
+ "version": "0.3.1",
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,15 @@ 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.3.1] - 2026-03-01
9
+
10
+ ### Fixed
11
+ - **find_usages**: combine `refs` + `search` with exact word boundary filtering — 0% result loss vs grep (was 40% loss with refs-only)
12
+ - **read_symbol**: fix `Class.method` qualified names for flat outlines (ast-index lists methods as siblings, not children)
13
+ - **read_symbol**: filter ast-index leaf name fallback by requested file (was returning symbols from wrong files)
14
+ - **YAML smart_read**: 3-level nested parser with scalar values, array counts (was only showing top-level keys)
15
+ - Removed all "Use Grep as fallback" hints — token-pilot gives complete results on its own
16
+
8
17
  ## [0.3.0] - 2026-03-01
9
18
 
10
19
  ### Added
@@ -5,7 +5,7 @@ export declare class SymbolResolver {
5
5
  constructor(astIndex: AstIndexClient);
6
6
  /**
7
7
  * Resolve a symbol by qualified name.
8
- * First tries ast-index, falls back to searching cached structure.
8
+ * First tries structure-based lookup, falls back to ast-index.
9
9
  */
10
10
  resolve(qualifiedName: string, structure?: FileStructure): Promise<ResolvedSymbol | null>;
11
11
  /**
@@ -16,7 +16,19 @@ export declare class SymbolResolver {
16
16
  contextAfter?: number;
17
17
  }): string;
18
18
  private mapKind;
19
+ /**
20
+ * Hierarchical search: AuthService → children → login
21
+ */
19
22
  private findInStructure;
20
23
  private findByParts;
24
+ /**
25
+ * Flat search by name only (for flat outlines where methods are siblings, not children).
26
+ */
27
+ private findFlat;
28
+ /**
29
+ * Check if two file paths refer to the same file.
30
+ * Handles absolute vs relative paths.
31
+ */
32
+ private pathMatches;
21
33
  }
22
34
  //# sourceMappingURL=symbol-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-resolver.d.ts","sourceRoot":"","sources":["../../src/core/symbol-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAc,aAAa,EAAc,MAAM,aAAa,CAAC;AAEzF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAiB;gBAErB,QAAQ,EAAE,cAAc;IAIpC;;;OAGG;IACG,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAwF/F;;OAEG;IACH,aAAa,CACX,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9D,MAAM;IAeT,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,WAAW;CAcpB"}
1
+ {"version":3,"file":"symbol-resolver.d.ts","sourceRoot":"","sources":["../../src/core/symbol-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAc,aAAa,EAAc,MAAM,aAAa,CAAC;AAEzF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAiB;gBAErB,QAAQ,EAAE,cAAc;IAIpC;;;OAGG;IACG,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA0G/F;;OAEG;IACH,aAAa,CACX,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9D,MAAM;IAeT,OAAO,CAAC,OAAO;IAWf;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;;OAGG;IACH,OAAO,CAAC,WAAW;CAUpB"}
@@ -5,9 +5,10 @@ export class SymbolResolver {
5
5
  }
6
6
  /**
7
7
  * Resolve a symbol by qualified name.
8
- * First tries ast-index, falls back to searching cached structure.
8
+ * First tries structure-based lookup, falls back to ast-index.
9
9
  */
10
10
  async resolve(qualifiedName, structure) {
11
+ const filePath = structure?.path;
11
12
  // 1. Try structure-based lookup first (supports Class.method and Class::method)
12
13
  if (structure) {
13
14
  const found = this.findInStructure(qualifiedName, structure.symbols);
@@ -19,10 +20,27 @@ export class SymbolResolver {
19
20
  endLine: found.location.endLine,
20
21
  };
21
22
  }
23
+ // 1b. For qualified names like Class.method — ast-index outline is flat
24
+ // (methods are siblings, not children of the class).
25
+ // Try finding just the member name in the flat symbol list.
26
+ const separator = qualifiedName.includes('::') ? '::' : qualifiedName.includes('.') ? '.' : null;
27
+ if (separator) {
28
+ const parts = qualifiedName.split(separator);
29
+ const memberName = parts[parts.length - 1];
30
+ const member = this.findFlat(memberName, structure.symbols);
31
+ if (member) {
32
+ return {
33
+ symbol: member,
34
+ filePath: structure.path,
35
+ startLine: member.location.startLine,
36
+ endLine: member.location.endLine,
37
+ };
38
+ }
39
+ }
22
40
  }
23
41
  // 2. Try ast-index with full qualified name
24
42
  const detail = await this.astIndex.symbol(qualifiedName);
25
- if (detail) {
43
+ if (detail && (!filePath || this.pathMatches(detail.file, filePath))) {
26
44
  let endLine = detail.start_line + 10;
27
45
  if (structure) {
28
46
  const found = this.findInStructure(qualifiedName, structure.symbols);
@@ -54,15 +72,13 @@ export class SymbolResolver {
54
72
  };
55
73
  }
56
74
  // 3. If qualified (has . or ::), try ast-index with just the leaf name
57
- const separator = qualifiedName.includes('::') ? '::' : qualifiedName.includes('.') ? '.' : null;
58
- if (separator) {
59
- const parts = qualifiedName.split(separator);
75
+ // Filter to requested file to avoid returning results from wrong files.
76
+ const sep2 = qualifiedName.includes('::') ? '::' : qualifiedName.includes('.') ? '.' : null;
77
+ if (sep2) {
78
+ const parts = qualifiedName.split(sep2);
60
79
  const leafName = parts[parts.length - 1];
61
- const parentName = parts.slice(0, -1).join(separator);
62
80
  const leafDetail = await this.astIndex.symbol(leafName);
63
- if (leafDetail) {
64
- // Verify it belongs to the expected parent by checking if the parent name
65
- // appears in the file near the symbol (heuristic for ast-index which doesn't track nesting)
81
+ if (leafDetail && (!filePath || this.pathMatches(leafDetail.file, filePath))) {
66
82
  let endLine = leafDetail.start_line + 10;
67
83
  return {
68
84
  symbol: {
@@ -115,8 +131,10 @@ export class SymbolResolver {
115
131
  };
116
132
  return map[kind.toLowerCase()] ?? 'function';
117
133
  }
134
+ /**
135
+ * Hierarchical search: AuthService → children → login
136
+ */
118
137
  findInStructure(qualifiedName, symbols) {
119
- // Support both . and :: separators (PHP uses ::)
120
138
  const parts = qualifiedName.includes('::')
121
139
  ? qualifiedName.split('::')
122
140
  : qualifiedName.split('.');
@@ -135,5 +153,31 @@ export class SymbolResolver {
135
153
  }
136
154
  return null;
137
155
  }
156
+ /**
157
+ * Flat search by name only (for flat outlines where methods are siblings, not children).
158
+ */
159
+ findFlat(name, symbols) {
160
+ for (const sym of symbols) {
161
+ if (sym.name === name)
162
+ return sym;
163
+ }
164
+ return null;
165
+ }
166
+ /**
167
+ * Check if two file paths refer to the same file.
168
+ * Handles absolute vs relative paths.
169
+ */
170
+ pathMatches(a, b) {
171
+ // Exact match
172
+ if (a === b)
173
+ return true;
174
+ // One ends with the other (relative vs absolute)
175
+ if (a.endsWith(b) || b.endsWith(a))
176
+ return true;
177
+ // Compare basenames as last resort
178
+ const baseA = a.split('/').pop();
179
+ const baseB = b.split('/').pop();
180
+ return baseA === baseB;
181
+ }
138
182
  }
139
183
  //# sourceMappingURL=symbol-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbol-resolver.js","sourceRoot":"","sources":["../../src/core/symbol-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symbol-resolver.js","sourceRoot":"","sources":["../../src/core/symbol-resolver.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export async function handleFindCallers(args, astIndex) {
7
7
  return {
8
8
  content: [{
9
9
  type: 'text',
10
- text: `No callers found for "${args.function}".\nTIP: Use Grep as a fallback for text-based search.`,
10
+ text: `No callers found for "${args.function}".\nTIP: ast-index callers tracks direct function calls. Method calls via objects (this.service.method()) may not be detected.`,
11
11
  }],
12
12
  };
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"find-callers.js","sourceRoot":"","sources":["../../src/handlers/find-callers.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAqB,EACrB,QAAwB;IAExB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAE9B,iDAAiD;IACjD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB,IAAI,CAAC,QAAQ,wDAAwD;qBACrG,CAAC;aACH,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,aAAa,IAAI,CAAC,QAAQ,MAAM,OAAO,CAAC,MAAM,WAAW;YACzD,EAAE;SACH,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAEtE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,iBAAiB;IACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE3D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,2BAA2B,IAAI,CAAC,QAAQ,IAAI;iBACnD,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,eAAe,IAAI,CAAC,QAAQ,YAAY,KAAK,GAAG;QAChD,EAAE;KACH,CAAC;IAEF,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAE/B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,IAA0B,EAAE,KAAe,EAAE,MAAc;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;IAErE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"find-callers.js","sourceRoot":"","sources":["../../src/handlers/find-callers.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAqB,EACrB,QAAwB;IAExB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAE9B,iDAAiD;IACjD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB,IAAI,CAAC,QAAQ,gIAAgI;qBAC7K,CAAC;aACH,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,aAAa,IAAI,CAAC,QAAQ,MAAM,OAAO,CAAC,MAAM,WAAW;YACzD,EAAE;SACH,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAEtE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,iBAAiB;IACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE3D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,2BAA2B,IAAI,CAAC,QAAQ,IAAI;iBACnD,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,eAAe,IAAI,CAAC,QAAQ,YAAY,KAAK,GAAG;QAChD,EAAE;KACH,CAAC;IAEF,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAE/B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CAAC,IAA0B,EAAE,KAAe,EAAE,MAAc;IACjF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;IAErE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -13,7 +13,7 @@ export async function handleSearchCode(args, astIndex) {
13
13
  }
14
14
  else {
15
15
  hints.push('TIP: Index may not cover this language/project. Run `ast-index build` in the project root.');
16
- hints.push('TIP: Use Grep as a fallback for text-based search.');
16
+ hints.push('TIP: Check that the symbol exists and the index is up to date (project_overview shows index status).');
17
17
  }
18
18
  return { content: [{ type: 'text', text: hints.join('\n') }] };
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-code.js","sourceRoot":"","sources":["../../src/handlers/search-code.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAoB,EACpB,QAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;QAChD,MAAM,EAAE,IAAI,CAAC,OAAO;QACpB,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QAClC,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,yBAAyB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;YACzG,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,YAAY,IAAI,CAAC,KAAK,MAAM,OAAO,CAAC,MAAM,WAAW;QACrD,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAEhF,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":"search-code.js","sourceRoot":"","sources":["../../src/handlers/search-code.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAoB,EACpB,QAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;QAChD,MAAM,EAAE,IAAI,CAAC,OAAO;QACpB,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QAClC,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,yBAAyB,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;YACzG,KAAK,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;QACrH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,YAAY,IAAI,CAAC,KAAK,MAAM,OAAO,CAAC,MAAM,WAAW;QACrD,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAEhF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "token-pilot",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
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",