token-pilot 0.4.0 → 0.5.0

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/dist/server.js CHANGED
@@ -5,7 +5,6 @@ import { FileCache } from './core/file-cache.js';
5
5
  import { ContextRegistry } from './core/context-registry.js';
6
6
  import { SymbolResolver } from './core/symbol-resolver.js';
7
7
  import { SessionAnalytics } from './core/session-analytics.js';
8
- import { formatDuration } from './core/format-duration.js';
9
8
  import { loadConfig } from './config/loader.js';
10
9
  import { readFileSync } from 'node:fs';
11
10
  import { GitWatcher } from './git/watcher.js';
@@ -14,17 +13,17 @@ import { handleSmartRead } from './handlers/smart-read.js';
14
13
  import { handleReadSymbol } from './handlers/read-symbol.js';
15
14
  import { handleReadRange } from './handlers/read-range.js';
16
15
  import { handleReadDiff } from './handlers/read-diff.js';
17
- import { handleSearchCode } from './handlers/search-code.js';
18
16
  import { handleFindUsages } from './handlers/find-usages.js';
19
17
  import { handleSmartReadMany } from './handlers/smart-read-many.js';
20
18
  import { handleProjectOverview } from './handlers/project-overview.js';
21
19
  import { handleNonCodeRead, isNonCodeStructured } from './handlers/non-code.js';
22
- import { handleExportAstIndex } from './handlers/export-ast-index.js';
23
- import { handleChangedSymbols } from './handlers/changed-symbols.js';
24
20
  import { handleFindUnused } from './handlers/find-unused.js';
21
+ import { handleReadForEdit } from './handlers/read-for-edit.js';
22
+ import { handleRelatedFiles } from './handlers/related-files.js';
23
+ import { handleOutline } from './handlers/outline.js';
25
24
  import { detectContextMode } from './integration/context-mode-detector.js';
26
25
  import { estimateTokens } from './core/token-estimator.js';
27
- import { validateSmartReadArgs, validateReadSymbolArgs, validateReadRangeArgs, validateReadDiffArgs, validateSearchCodeArgs, validateFindUsagesArgs, validateSmartReadManyArgs, validateExportAstIndexArgs, validateChangedSymbolsArgs, validateFindUnusedArgs, } from './core/validation.js';
26
+ import { validateSmartReadArgs, validateReadSymbolArgs, validateReadRangeArgs, validateReadDiffArgs, validateFindUsagesArgs, validateSmartReadManyArgs, validateReadForEditArgs, validateRelatedFilesArgs, validateOutlineArgs, validateFindUnusedArgs, } from './core/validation.js';
28
27
  export async function createServer(projectRoot) {
29
28
  const config = await loadConfig(projectRoot);
30
29
  const astIndex = new AstIndexClient(projectRoot, config.astIndex.timeout, {
@@ -80,10 +79,10 @@ export async function createServer(projectRoot) {
80
79
  const server = new Server({ name: 'token-pilot', version: pkgVersion }, { capabilities: { tools: {} } });
81
80
  server.setRequestHandler(ListToolsRequestSchema, () => ({
82
81
  tools: [
83
- // --- Phase 1: Core reading tools ---
82
+ // --- Core reading tools (USE INSTEAD OF Read/cat) ---
84
83
  {
85
84
  name: 'smart_read',
86
- description: 'Read a file as a structural overview (AST-based). Returns classes, functions, methods with signatures and line ranges instead of full content. PREFERRED over Read for files > 80 lines — saves 80-95% tokens.',
85
+ description: 'ALWAYS use instead of Read/cat for code files. Returns AST structural overview: classes, functions, methods with signatures and line ranges. Saves 80-99% tokens. After reading structure, use read_symbol() to load specific functions.',
87
86
  inputSchema: {
88
87
  type: 'object',
89
88
  properties: {
@@ -97,7 +96,7 @@ export async function createServer(projectRoot) {
97
96
  },
98
97
  {
99
98
  name: 'read_symbol',
100
- description: 'Read the source code of a specific symbol (function, method, class). Use after smart_read to load only the code you need.',
99
+ description: 'Read source code of a specific function/method/class. Use after smart_read() loads only the code you need instead of the entire file. Supports Class.method syntax.',
101
100
  inputSchema: {
102
101
  type: 'object',
103
102
  properties: {
@@ -105,6 +104,7 @@ export async function createServer(projectRoot) {
105
104
  symbol: { type: 'string', description: 'Symbol name, e.g. "UserService.updateUser"' },
106
105
  context_before: { type: 'number', description: 'Lines of context before (default: 2)' },
107
106
  context_after: { type: 'number', description: 'Lines of context after (default: 0)' },
107
+ show: { type: 'string', enum: ['full', 'head', 'tail', 'outline'], description: 'Display mode: full (all lines), head (first 50), tail (last 30), outline (head + methods + tail). Default: auto (full ≤300 lines, outline >300)' },
108
108
  },
109
109
  required: ['path', 'symbol'],
110
110
  },
@@ -124,7 +124,7 @@ export async function createServer(projectRoot) {
124
124
  },
125
125
  {
126
126
  name: 'read_diff',
127
- description: 'Show only what changed in a file since Token Pilot last served it. Saves 80-95% tokens on re-reads after edits.',
127
+ description: 'After editing a file, use this instead of re-reading it. Shows only changed hunks since last smart_read. Saves 80-95% tokens on re-reads.',
128
128
  inputSchema: {
129
129
  type: 'object',
130
130
  properties: {
@@ -135,38 +135,38 @@ export async function createServer(projectRoot) {
135
135
  },
136
136
  },
137
137
  {
138
- name: 'smart_read_many',
139
- description: 'Batch smart_read for multiple files. Returns structural overview for each file in one call. Max 20 files.',
138
+ name: 'read_for_edit',
139
+ description: 'Get minimal code context for editing. Returns RAW source (no line numbers) around a symbol or line — copy directly as old_string for Edit tool. 97% fewer tokens than reading full file before editing.',
140
140
  inputSchema: {
141
141
  type: 'object',
142
142
  properties: {
143
- paths: {
144
- type: 'array',
145
- items: { type: 'string' },
146
- description: 'Array of file paths',
147
- },
143
+ path: { type: 'string', description: 'File path' },
144
+ symbol: { type: 'string', description: 'Symbol name to edit (e.g. "UserService.updateUser")' },
145
+ line: { type: 'number', description: 'Line number to edit (alternative to symbol)' },
146
+ context: { type: 'number', description: 'Lines of context around target (default: 5)' },
148
147
  },
149
- required: ['paths'],
148
+ required: ['path'],
150
149
  },
151
150
  },
152
- // --- Phase 2: Search & navigation ---
153
151
  {
154
- name: 'search_code',
155
- description: 'Indexed structural code search. Searches symbols and code using ast-index. Much faster and more accurate than grep for finding functions, classes, and variables.',
152
+ name: 'smart_read_many',
153
+ description: 'Read multiple files at once. Returns AST structural overview for each file in one call. ALWAYS use instead of multiple Read calls. Max 20 files.',
156
154
  inputSchema: {
157
155
  type: 'object',
158
156
  properties: {
159
- query: { type: 'string', description: 'Search query (symbol name, pattern)' },
160
- in_file: { type: 'string', description: 'Filter results to a specific file path' },
161
- max_results: { type: 'number', description: 'Max results (default: 20)' },
162
- fuzzy: { type: 'boolean', description: 'Enable fuzzy matching (default: false)' },
157
+ paths: {
158
+ type: 'array',
159
+ items: { type: 'string' },
160
+ description: 'Array of file paths',
161
+ },
163
162
  },
164
- required: ['query'],
163
+ required: ['paths'],
165
164
  },
166
165
  },
166
+ // --- Search & navigation ---
167
167
  {
168
168
  name: 'find_usages',
169
- description: 'Find all usages of a symbol across the project. Groups results by: definitions, calls, imports, references.',
169
+ description: 'Find all usages of a symbol across the project. Use instead of Grep for symbol references. Groups by: definitions, imports, usages.',
170
170
  inputSchema: {
171
171
  type: 'object',
172
172
  properties: {
@@ -177,78 +177,44 @@ export async function createServer(projectRoot) {
177
177
  },
178
178
  {
179
179
  name: 'project_overview',
180
- description: 'Show a compact project overview: project info, type, and structure map.',
181
- inputSchema: {
182
- type: 'object',
183
- properties: {},
184
- },
185
- },
186
- // --- Integration ---
187
- {
188
- name: 'export_ast_index',
189
- description: 'Export AST structural data for cross-tool indexing. Outputs markdown or JSON that can be passed to context-mode\'s index() for BM25-searchable code structure. Use all_indexed=true to export all files from ast-index (not just cached ones).',
190
- inputSchema: {
191
- type: 'object',
192
- properties: {
193
- paths: {
194
- type: 'array',
195
- items: { type: 'string' },
196
- description: 'Specific file paths to export (default: all cached files, or all indexed files when all_indexed=true)',
197
- },
198
- format: {
199
- type: 'string',
200
- enum: ['markdown', 'json'],
201
- description: 'Output format: "markdown" (default, best for BM25) or "json"',
202
- },
203
- all_indexed: {
204
- type: 'boolean',
205
- description: 'When true, exports all files from ast-index (not just cached). For large projects (>50 files), returns a file list with hint to filter by paths.',
206
- },
207
- },
208
- },
209
- },
210
- // --- Context management & analytics ---
211
- {
212
- name: 'session_analytics',
213
- description: 'Show token savings report for this session: total tokens saved, per-tool breakdown, top files by savings.',
180
+ description: 'Start here. Shows project type, architecture, framework detection, directory structure with symbol counts. Use before exploring unfamiliar codebases.',
214
181
  inputSchema: {
215
182
  type: 'object',
216
183
  properties: {},
217
184
  },
218
185
  },
219
186
  {
220
- name: 'context_status',
221
- description: 'Show what files/symbols are currently tracked in context.',
187
+ name: 'related_files',
188
+ description: 'Show import graph for a file: what it imports, what imports it, and its test files. Saves 3-5 Read calls when exploring module relationships.',
222
189
  inputSchema: {
223
190
  type: 'object',
224
191
  properties: {
225
- path: { type: 'string', description: 'Show details for a specific file (optional)' },
192
+ path: { type: 'string', description: 'File path to analyze' },
226
193
  },
194
+ required: ['path'],
227
195
  },
228
196
  },
229
197
  {
230
- name: 'forget',
231
- description: 'Remove a file or symbol from context tracking.',
198
+ name: 'outline',
199
+ description: 'Compact overview of all code files in a directory. One call instead of 5-6 smart_read calls. Shows classes, functions, methods, HTTP routes per file.',
232
200
  inputSchema: {
233
201
  type: 'object',
234
202
  properties: {
235
- path: { type: 'string', description: 'File path to forget' },
236
- symbol: { type: 'string', description: 'Specific symbol to forget' },
237
- all: { type: 'boolean', description: 'Forget everything' },
203
+ path: { type: 'string', description: 'Directory path' },
238
204
  },
205
+ required: ['path'],
239
206
  },
240
207
  },
241
- // --- Advanced analysis ---
208
+ // --- Analytics ---
242
209
  {
243
- name: 'changed_symbols',
244
- description: 'Show symbols that changed since a base branch (git diff). Shows added, modified, and removed functions/classes/methods.',
210
+ name: 'session_analytics',
211
+ description: 'Show token savings report for this session: total tokens saved, per-tool breakdown, top files by savings.',
245
212
  inputSchema: {
246
213
  type: 'object',
247
- properties: {
248
- base: { type: 'string', description: 'Base branch to compare against (default: auto-detected, usually origin/main)' },
249
- },
214
+ properties: {},
250
215
  },
251
216
  },
217
+ // --- Analysis ---
252
218
  {
253
219
  name: 'find_unused',
254
220
  description: 'Find potentially unused symbols in the project. Detects dead code — functions, classes, and variables with no references.',
@@ -284,12 +250,7 @@ export async function createServer(projectRoot) {
284
250
  }
285
251
  }
286
252
  const result = await handleSmartRead(validArgs, projectRoot, astIndex, fileCache, contextRegistry, config);
287
- let text = result.content[0]?.text ?? '';
288
- // Cross-index hint when context-mode is active
289
- if (contextModeStatus.detected && config.contextMode.adviseDelegation) {
290
- text += '\nCROSS-INDEX: Use export_ast_index to make this structure searchable via context-mode.';
291
- result.content[0] = { type: 'text', text };
292
- }
253
+ const text = result.content[0]?.text ?? '';
293
254
  analytics.record({ tool: 'smart_read', path: validArgs.path, tokensReturned: estimateTokens(text), tokensWouldBe: estimateTokens(text) * 5, timestamp: Date.now() });
294
255
  return result;
295
256
  }
@@ -317,6 +278,14 @@ export async function createServer(projectRoot) {
317
278
  analytics.record({ tool: 'read_diff', path: diffArgs.path, tokensReturned: diffTokens, tokensWouldBe: diffTokens * 5, timestamp: Date.now() });
318
279
  return diffResult;
319
280
  }
281
+ case 'read_for_edit': {
282
+ const editArgs = validateReadForEditArgs(args);
283
+ const editResult = await handleReadForEdit(editArgs, projectRoot, symbolResolver, fileCache, contextRegistry, astIndex);
284
+ const editText = editResult.content[0]?.text ?? '';
285
+ const editTokens = estimateTokens(editText);
286
+ analytics.record({ tool: 'read_for_edit', path: editArgs.path, tokensReturned: editTokens, tokensWouldBe: editTokens * 30, timestamp: Date.now() });
287
+ return editResult;
288
+ }
320
289
  case 'smart_read_many': {
321
290
  const manyArgs = validateSmartReadManyArgs(args);
322
291
  const manyResult = await handleSmartReadMany(manyArgs, projectRoot, astIndex, fileCache, contextRegistry, config);
@@ -325,17 +294,6 @@ export async function createServer(projectRoot) {
325
294
  analytics.record({ tool: 'smart_read_many', path: manyArgs.paths.join(', '), tokensReturned: manyTokens, tokensWouldBe: manyTokens * 5, timestamp: Date.now() });
326
295
  return manyResult;
327
296
  }
328
- case 'search_code': {
329
- const searchArgs = validateSearchCodeArgs(args);
330
- const searchResult = await handleSearchCode(searchArgs, astIndex);
331
- let searchText = searchResult.content[0]?.text ?? '';
332
- if (contextModeStatus.detected && config.contextMode.adviseDelegation) {
333
- searchText += '\nCROSS-INDEX: Pass these results to context-mode index(source: "token-pilot-search") for persistent BM25 search.';
334
- searchResult.content[0] = { type: 'text', text: searchText };
335
- }
336
- analytics.record({ tool: 'search_code', path: searchArgs.query, tokensReturned: estimateTokens(searchText), tokensWouldBe: estimateTokens(searchText), timestamp: Date.now() });
337
- return searchResult;
338
- }
339
297
  case 'find_usages': {
340
298
  const usagesArgs = validateFindUsagesArgs(args);
341
299
  const usagesResult = await handleFindUsages(usagesArgs, astIndex);
@@ -349,21 +307,22 @@ export async function createServer(projectRoot) {
349
307
  overviewResult.content[0] = { type: 'text', text: `TOKEN PILOT v${pkgVersion}\n\n${overviewText}` };
350
308
  return overviewResult;
351
309
  }
352
- case 'export_ast_index':
353
- return await handleExportAstIndex(validateExportAstIndexArgs(args), astIndex, fileCache);
310
+ case 'related_files': {
311
+ const relArgs = validateRelatedFilesArgs(args);
312
+ const relResult = await handleRelatedFiles(relArgs, projectRoot, astIndex);
313
+ const relText = relResult.content[0]?.text ?? '';
314
+ analytics.record({ tool: 'related_files', path: relArgs.path, tokensReturned: estimateTokens(relText), tokensWouldBe: estimateTokens(relText) * 5, timestamp: Date.now() });
315
+ return relResult;
316
+ }
317
+ case 'outline': {
318
+ const outlineArgs = validateOutlineArgs(args);
319
+ const outlineResult = await handleOutline(outlineArgs, projectRoot, astIndex);
320
+ const outlineText = outlineResult.content[0]?.text ?? '';
321
+ analytics.record({ tool: 'outline', path: outlineArgs.path, tokensReturned: estimateTokens(outlineText), tokensWouldBe: estimateTokens(outlineText) * 5, timestamp: Date.now() });
322
+ return outlineResult;
323
+ }
354
324
  case 'session_analytics':
355
325
  return { content: [{ type: 'text', text: `TOKEN PILOT v${pkgVersion}\n\n${analytics.report()}` }] };
356
- case 'context_status':
357
- return handleContextStatus(contextRegistry, args);
358
- case 'forget':
359
- return handleForget(contextRegistry, fileCache, args);
360
- case 'changed_symbols': {
361
- const changedArgs = validateChangedSymbolsArgs(args);
362
- const changedResult = await handleChangedSymbols(changedArgs, astIndex);
363
- const changedText = changedResult.content[0]?.text ?? '';
364
- analytics.record({ tool: 'changed_symbols', path: changedArgs.base ?? 'auto', tokensReturned: estimateTokens(changedText), tokensWouldBe: estimateTokens(changedText), timestamp: Date.now() });
365
- return changedResult;
366
- }
367
326
  case 'find_unused': {
368
327
  const unusedArgs = validateFindUnusedArgs(args);
369
328
  const unusedResult = await handleFindUnused(unusedArgs, astIndex);
@@ -388,42 +347,4 @@ export async function createServer(projectRoot) {
388
347
  });
389
348
  return server;
390
349
  }
391
- function handleContextStatus(registry, args) {
392
- const summary = registry.summary();
393
- const lines = [
394
- `CONTEXT STATUS (session: ${formatDuration(summary.sessionDuration)})`,
395
- '',
396
- `Files tracked: ${summary.files}`,
397
- `Total tokens in context: ~${summary.totalTokens}`,
398
- '',
399
- ];
400
- for (const entry of summary.entries) {
401
- if (args?.path && !entry.path.includes(args.path))
402
- continue;
403
- lines.push(` ${entry.path}:`);
404
- for (const region of entry.loaded) {
405
- const label = region.symbolName ?? region.type;
406
- const elapsed = formatDuration(Date.now() - entry.loadedAt);
407
- lines.push(` - ${label} (${region.tokens} tokens) — loaded ${elapsed} ago`);
408
- }
409
- lines.push('');
410
- }
411
- return { content: [{ type: 'text', text: lines.join('\n') }] };
412
- }
413
- function handleForget(registry, fileCache, args) {
414
- if (args?.all) {
415
- registry.forgetAll();
416
- fileCache.invalidate();
417
- return { content: [{ type: 'text', text: 'Forgot all tracked content and cleared file cache.' }] };
418
- }
419
- if (args?.path) {
420
- registry.forget(args.path, args.symbol);
421
- if (!args.symbol) {
422
- fileCache.invalidate(args.path);
423
- }
424
- const what = args.symbol ? `${args.symbol} from ${args.path}` : args.path;
425
- return { content: [{ type: 'text', text: `Forgot: ${what}` }] };
426
- }
427
- return { content: [{ type: 'text', text: 'Specify path, symbol, or all=true.' }] };
428
- }
429
350
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.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.4.0",
3
+ "version": "0.5.0",
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",