indexer-cli 0.12.16 → 0.12.17

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/README.md CHANGED
@@ -268,16 +268,20 @@ relative to the project root, not the subdirectory where you ran the command.
268
268
 
269
269
  ### `idx deps <path>`
270
270
 
271
- Show module import dependencies for a path. The default text output labels imported-by/imports first and keeps
272
- `Callers`/`Callees` aliases for compatibility. Useful for tracing impact of changes and understanding dependency chains.
271
+ Show module import dependencies for a path, or symbol-level call dependencies with `--mode calls`. The default text output
272
+ labels imported-by/imports first and keeps `Callers`/`Callees` aliases for compatibility. Useful for tracing impact of
273
+ changes and understanding dependency chains.
273
274
 
274
275
  Path arguments stay project-root-relative even when you invoke the command from a nested subdirectory.
276
+ Use `path::symbol` with `--mode calls` to focus on one callable symbol, for example
277
+ `idx deps src/services/user.ts::createUser --mode calls --direction both`.
275
278
 
276
279
  | Option | Default | Description |
277
280
  |------------------|---------|------------------------------------------------------------|
281
+ | `--mode <mode>` | modules | `modules`/`module-imports` or `calls`/`call-graph` |
278
282
  | `--direction <dir>` | both | `callers`/imported-by, `callees`/imports, or `both` |
279
283
  | `--depth <n>` | 1 | Traversal depth, with transitive edges marked as `d=<n>` |
280
- | `--show-edges` | — | Show the import specifier/kind that created each edge |
284
+ | `--show-edges` | — | Show the import specifier or call name/kind that created each edge |
281
285
  | `--tests` | — | Show nearest/impacted tests and a suggested verification command |
282
286
 
283
287
  ### `idx uninstall`
@@ -5,11 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerDepsCommand = registerDepsCommand;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
+ const promises_1 = require("node:fs/promises");
9
+ const ts_morph_1 = require("ts-morph");
8
10
  const config_js_1 = require("../../core/config.js");
9
11
  const logger_js_1 = require("../../core/logger.js");
10
12
  const types_js_1 = require("../../core/types.js");
11
13
  const sqlite_js_1 = require("../../storage/sqlite.js");
12
14
  const ensure_indexed_js_1 = require("./ensure-indexed.js");
15
+ const indexer_js_1 = require("../../engine/indexer.js");
13
16
  const compact_js_1 = require("../format/compact.js");
14
17
  const test_hints_js_1 = require("../test-hints.js");
15
18
  const project_root_js_1 = require("../project-root.js");
@@ -19,9 +22,335 @@ function normalizeDirection(value) {
19
22
  }
20
23
  throw new Error(`Invalid --direction "${value}". Expected callers, callees, or both.`);
21
24
  }
25
+ function normalizeMode(value) {
26
+ if (!value || value === "modules" || value === "module-imports") {
27
+ return "modules";
28
+ }
29
+ if (value === "calls" || value === "call-graph") {
30
+ return "calls";
31
+ }
32
+ throw new Error(`Invalid --mode "${value}". Expected modules or calls.`);
33
+ }
22
34
  function compactSpecifier(value) {
23
35
  return value.replace(/\s+/g, " ").trim();
24
36
  }
37
+ function parseTarget(value) {
38
+ const normalized = value.replace(/^\.\//, "");
39
+ const separator = normalized.indexOf("::");
40
+ if (separator === -1) {
41
+ return { path: normalized };
42
+ }
43
+ return {
44
+ path: normalized.slice(0, separator),
45
+ symbolName: normalized.slice(separator + 2),
46
+ };
47
+ }
48
+ function isCallableSymbol(symbol) {
49
+ return symbol.kind === "function" || symbol.kind === "method";
50
+ }
51
+ function symbolDisplayName(symbol) {
52
+ const qualifiedName = symbol.containerName
53
+ ? `${symbol.containerName}.${symbol.name}`
54
+ : symbol.name;
55
+ return `${symbol.filePath}::${qualifiedName}`;
56
+ }
57
+ function symbolMatchesName(symbol, query) {
58
+ const qualifiedName = symbol.containerName
59
+ ? `${symbol.containerName}.${symbol.name}`
60
+ : symbol.name;
61
+ return (symbol.name === query ||
62
+ qualifiedName === query ||
63
+ symbol.name.toLowerCase() === query.toLowerCase() ||
64
+ qualifiedName.toLowerCase() === query.toLowerCase());
65
+ }
66
+ function formatCallEdge(edge, prefix, showEdges) {
67
+ const depth = edge.depth > 1 ? ` d=${edge.depth}` : "";
68
+ const label = symbolDisplayName(edge.symbol);
69
+ if (!showEdges)
70
+ return `${prefix} ${label}${depth}`;
71
+ return `${prefix} ${label}${depth} via=${edge.via ?? edge.symbol.name}() kind=call`;
72
+ }
73
+ function appendUniqueCallEdge(edges, seen, edge) {
74
+ const key = `${edge.symbol.id}\0${edge.depth}`;
75
+ if (seen.has(key))
76
+ return;
77
+ seen.add(key);
78
+ edges.push(edge);
79
+ }
80
+ function findLanguagePlugin(plugins, filePath) {
81
+ const extension = node_path_1.default.extname(filePath).toLowerCase();
82
+ return plugins.find((plugin) => plugin.fileExtensions.includes(extension));
83
+ }
84
+ async function getParsedFile(repoRoot, plugins, fileCache, filePath) {
85
+ let entry = fileCache.get(filePath);
86
+ if (!entry) {
87
+ const plugin = findLanguagePlugin(plugins, filePath);
88
+ if (!plugin) {
89
+ throw new Error(`No language plugin found for ${filePath}`);
90
+ }
91
+ const resolvedRoot = node_path_1.default.resolve(repoRoot);
92
+ const resolvedPath = node_path_1.default.resolve(resolvedRoot, filePath);
93
+ const relativePath = node_path_1.default.relative(resolvedRoot, resolvedPath);
94
+ if (relativePath.startsWith("..") || node_path_1.default.isAbsolute(relativePath)) {
95
+ throw new Error(`Indexed file path escapes project root: ${filePath}`);
96
+ }
97
+ const content = await (0, promises_1.readFile)(resolvedPath, "utf8");
98
+ entry = {
99
+ plugin,
100
+ parsed: plugin.parse({
101
+ path: filePath,
102
+ content,
103
+ projectRoot: repoRoot,
104
+ }),
105
+ };
106
+ fileCache.set(filePath, entry);
107
+ }
108
+ return entry;
109
+ }
110
+ function nodeStartsInSymbolRange(sourceFile, node, symbol) {
111
+ const position = sourceFile.getLineAndColumnAtPos(node.getStart());
112
+ return (position.line >= symbol.range.start.line &&
113
+ position.line <= symbol.range.end.line);
114
+ }
115
+ function calledNameFromTypeScriptExpression(expression) {
116
+ if (ts_morph_1.Node.isIdentifier(expression))
117
+ return expression.getText();
118
+ if (ts_morph_1.Node.isPropertyAccessExpression(expression))
119
+ return expression.getName();
120
+ return undefined;
121
+ }
122
+ function calledNamesInTypeScript(sourceFile, symbol) {
123
+ const names = new Set();
124
+ for (const callExpression of sourceFile.getDescendantsOfKind(ts_morph_1.SyntaxKind.CallExpression)) {
125
+ if (!nodeStartsInSymbolRange(sourceFile, callExpression, symbol))
126
+ continue;
127
+ const calledName = calledNameFromTypeScriptExpression(callExpression.getExpression());
128
+ if (calledName)
129
+ names.add(calledName);
130
+ }
131
+ for (const newExpression of sourceFile.getDescendantsOfKind(ts_morph_1.SyntaxKind.NewExpression)) {
132
+ if (!nodeStartsInSymbolRange(sourceFile, newExpression, symbol))
133
+ continue;
134
+ const calledName = calledNameFromTypeScriptExpression(newExpression.getExpression());
135
+ if (calledName)
136
+ names.add(calledName);
137
+ }
138
+ return names;
139
+ }
140
+ function treeSitterChildren(node) {
141
+ return node.namedChildren ?? node.children ?? [];
142
+ }
143
+ function treeSitterNodeText(source, node) {
144
+ return source.slice(node.startIndex, node.endIndex);
145
+ }
146
+ function treeSitterNodeName(source, node) {
147
+ const fieldName = node.childForFieldName?.("name");
148
+ if (fieldName)
149
+ return treeSitterNodeText(source, fieldName);
150
+ const identifier = treeSitterChildren(node).find((child) => [
151
+ "identifier",
152
+ "constant",
153
+ "type_identifier",
154
+ "property_identifier",
155
+ "field_identifier",
156
+ "name",
157
+ ].includes(child.type));
158
+ return identifier ? treeSitterNodeText(source, identifier) : undefined;
159
+ }
160
+ function isTreeSitterCallableNode(languageId, node) {
161
+ if (languageId === "python")
162
+ return node.type === "function_definition";
163
+ if (languageId === "ruby") {
164
+ return node.type === "method" || node.type === "singleton_method";
165
+ }
166
+ if (languageId === "rust") {
167
+ return (node.type === "function_item" || node.type === "function_signature_item");
168
+ }
169
+ if (languageId === "csharp")
170
+ return node.type === "method_declaration";
171
+ if (languageId === "gdscript")
172
+ return node.type === "function_definition";
173
+ return false;
174
+ }
175
+ function isTreeSitterCallNode(languageId, node) {
176
+ if (languageId === "python")
177
+ return node.type === "call";
178
+ if (languageId === "ruby")
179
+ return node.type === "call";
180
+ if (languageId === "rust") {
181
+ return node.type === "call_expression" || node.type === "macro_invocation";
182
+ }
183
+ if (languageId === "csharp") {
184
+ return (node.type === "invocation_expression" ||
185
+ node.type === "object_creation_expression");
186
+ }
187
+ if (languageId === "gdscript") {
188
+ return node.type === "call" || node.type === "attribute_call";
189
+ }
190
+ return false;
191
+ }
192
+ function findTreeSitterSymbolNode(ast, languageId, symbol) {
193
+ let result;
194
+ const visit = (node) => {
195
+ if (isTreeSitterCallableNode(languageId, node)) {
196
+ const name = treeSitterNodeName(ast.source, node);
197
+ const startLine = node.startPosition.row + 1;
198
+ const endLine = node.endPosition.row + 1;
199
+ if (name === symbol.name &&
200
+ startLine <= symbol.range.start.line &&
201
+ symbol.range.start.line <= endLine &&
202
+ (!result ||
203
+ endLine - startLine <
204
+ result.endPosition.row + 1 - (result.startPosition.row + 1))) {
205
+ result = node;
206
+ }
207
+ }
208
+ for (const child of treeSitterChildren(node))
209
+ visit(child);
210
+ };
211
+ visit(ast.tree.rootNode);
212
+ return result;
213
+ }
214
+ function lastIdentifierText(source, node) {
215
+ if ([
216
+ "identifier",
217
+ "constant",
218
+ "type_identifier",
219
+ "property_identifier",
220
+ "field_identifier",
221
+ "name",
222
+ ].includes(node.type)) {
223
+ return treeSitterNodeText(source, node);
224
+ }
225
+ const children = treeSitterChildren(node);
226
+ for (let index = children.length - 1; index >= 0; index -= 1) {
227
+ const value = lastIdentifierText(source, children[index]);
228
+ if (value)
229
+ return value;
230
+ }
231
+ return undefined;
232
+ }
233
+ function calledNameFromTreeSitterNode(source, node) {
234
+ const expression = node.childForFieldName?.("function") ??
235
+ node.childForFieldName?.("name") ??
236
+ node.childForFieldName?.("type");
237
+ if (expression)
238
+ return lastIdentifierText(source, expression);
239
+ const callableChildren = treeSitterChildren(node).filter((child) => ![
240
+ "argument_list",
241
+ "arguments",
242
+ "block",
243
+ "do_block",
244
+ "lambda",
245
+ "token_tree",
246
+ ].includes(child.type));
247
+ const fallbackExpression = callableChildren[callableChildren.length - 1];
248
+ return fallbackExpression
249
+ ? lastIdentifierText(source, fallbackExpression)
250
+ : undefined;
251
+ }
252
+ function calledNamesInTreeSitter(parsed, symbol) {
253
+ const ast = parsed.ast;
254
+ const names = new Set();
255
+ const symbolNode = findTreeSitterSymbolNode(ast, parsed.languageId, symbol);
256
+ if (!symbolNode)
257
+ return names;
258
+ const visit = (node) => {
259
+ if (node !== symbolNode && isTreeSitterCallNode(parsed.languageId, node)) {
260
+ const calledName = calledNameFromTreeSitterNode(ast.source, node);
261
+ if (calledName)
262
+ names.add(calledName);
263
+ }
264
+ for (const child of treeSitterChildren(node))
265
+ visit(child);
266
+ };
267
+ visit(symbolNode);
268
+ return names;
269
+ }
270
+ function calledNamesInParsedFile(entry, symbol) {
271
+ if (entry.plugin.id === "typescript") {
272
+ return calledNamesInTypeScript(entry.parsed.ast, symbol);
273
+ }
274
+ return calledNamesInTreeSitter(entry.parsed, symbol);
275
+ }
276
+ function createCallGraphIndexes(repoRoot, symbols, dependencies) {
277
+ const callableSymbols = symbols.filter(isCallableSymbol);
278
+ const symbolsByFileAndName = new Map();
279
+ for (const symbol of callableSymbols) {
280
+ let symbolsByName = symbolsByFileAndName.get(symbol.filePath);
281
+ if (!symbolsByName) {
282
+ symbolsByName = new Map();
283
+ symbolsByFileAndName.set(symbol.filePath, symbolsByName);
284
+ }
285
+ const sameNameSymbols = symbolsByName.get(symbol.name) ?? [];
286
+ sameNameSymbols.push(symbol);
287
+ symbolsByName.set(symbol.name, sameNameSymbols);
288
+ }
289
+ const internalImportsByFile = new Map();
290
+ const internalImportersByFile = new Map();
291
+ for (const dependency of dependencies) {
292
+ if (dependency.dependencyType !== "internal" || !dependency.toPath)
293
+ continue;
294
+ const imports = internalImportsByFile.get(dependency.fromPath) ?? new Set();
295
+ imports.add(dependency.toPath);
296
+ internalImportsByFile.set(dependency.fromPath, imports);
297
+ const importers = internalImportersByFile.get(dependency.toPath) ?? new Set();
298
+ importers.add(dependency.fromPath);
299
+ internalImportersByFile.set(dependency.toPath, importers);
300
+ }
301
+ const languagePlugins = (0, indexer_js_1.createDefaultLanguagePlugins)();
302
+ const fileCache = new Map();
303
+ const calleesByCaller = new Map();
304
+ const callersByCallee = new Map();
305
+ const processedCallers = new Set();
306
+ const processCaller = async (caller) => {
307
+ if (processedCallers.has(caller.id))
308
+ return;
309
+ processedCallers.add(caller.id);
310
+ const parsedEntry = await getParsedFile(repoRoot, languagePlugins, fileCache, caller.filePath);
311
+ const calledNames = calledNamesInParsedFile(parsedEntry, caller);
312
+ const importedFiles = internalImportsByFile.get(caller.filePath) ?? new Set();
313
+ const candidateFiles = [caller.filePath, ...importedFiles];
314
+ const callees = [];
315
+ for (const calledName of calledNames) {
316
+ for (const candidateFile of candidateFiles) {
317
+ const candidates = symbolsByFileAndName
318
+ .get(candidateFile)
319
+ ?.get(calledName);
320
+ if (!candidates)
321
+ continue;
322
+ for (const callee of candidates) {
323
+ if (callee.id === caller.id)
324
+ continue;
325
+ callees.push(callee);
326
+ const callers = callersByCallee.get(callee.id) ?? [];
327
+ callers.push(caller);
328
+ callersByCallee.set(callee.id, callers);
329
+ }
330
+ }
331
+ }
332
+ calleesByCaller.set(caller.id, callees);
333
+ };
334
+ const processCallersForCallee = async (callee) => {
335
+ const candidateFiles = new Set([
336
+ callee.filePath,
337
+ ...(internalImportersByFile.get(callee.filePath) ?? []),
338
+ ]);
339
+ for (const caller of callableSymbols) {
340
+ if (!candidateFiles.has(caller.filePath))
341
+ continue;
342
+ await processCaller(caller);
343
+ }
344
+ };
345
+ return {
346
+ callableSymbols,
347
+ calleesByCaller,
348
+ callersByCallee,
349
+ processedCallers,
350
+ processCaller,
351
+ processCallersForCallee,
352
+ };
353
+ }
25
354
  function formatImportEdge(edge, prefix, showEdges) {
26
355
  const depth = edge.depth > 1 ? ` d=${edge.depth}` : "";
27
356
  if (!showEdges || !edge.via)
@@ -71,10 +400,11 @@ function toImportsEdge(dep, depth) {
71
400
  function registerDepsCommand(program) {
72
401
  program
73
402
  .command("deps <path>")
74
- .description("Show module import dependencies for a path")
403
+ .description("Show module import dependencies or symbol call dependencies")
404
+ .option("--mode <mode>", "dependency mode: modules/module-imports or calls/call-graph", "modules")
75
405
  .option("--direction <dir>", "callers/imported-by, callees/imports, or both", "both")
76
406
  .option("--depth <n>", "traversal depth (default: 1)", "1")
77
- .option("--show-edges", "show import specifier reasons for dependency edges")
407
+ .option("--show-edges", "show import specifier or call reasons for dependency edges")
78
408
  .option("--tests", "show nearest/impacted tests and suggested verification")
79
409
  .action(async (targetPath, options) => {
80
410
  let resolvedProjectPath;
@@ -110,17 +440,139 @@ function registerDepsCommand(program) {
110
440
  if (!snapshot) {
111
441
  throw new Error("No completed snapshot found.");
112
442
  }
443
+ const mode = normalizeMode(options?.mode);
113
444
  const direction = normalizeDirection(options?.direction ?? "both");
114
445
  const depth = Math.max(1, Math.min(5, parseInt(options?.depth ?? "1", 10)));
115
446
  const showEdges = options?.showEdges === true;
116
447
  const includeTests = options?.tests === true;
117
- // Normalize path (strip leading ./)
118
- const normalizedPath = targetPath.replace(/^\.\//, "");
448
+ const target = parseTarget(targetPath);
449
+ const normalizedPath = target.path;
119
450
  const matchedFiles = await metadata.listFiles(types_js_1.DEFAULT_PROJECT_ID, snapshot.id, { pathPrefix: normalizedPath });
120
451
  if (matchedFiles.length === 0) {
121
452
  throw new Error(`Module "${normalizedPath}" not found in index. Run "indexer-cli index" to update.`);
122
453
  }
123
454
  const seedPaths = matchedFiles.map((file) => file.path);
455
+ if (mode === "calls") {
456
+ const allSymbols = await metadata.listSymbols(types_js_1.DEFAULT_PROJECT_ID, snapshot.id);
457
+ let seedSymbols = allSymbols.filter((symbol) => seedPaths.includes(symbol.filePath) && isCallableSymbol(symbol));
458
+ if (target.symbolName) {
459
+ seedSymbols = seedSymbols.filter((symbol) => symbolMatchesName(symbol, target.symbolName));
460
+ }
461
+ if (seedSymbols.length === 0) {
462
+ throw new Error(target.symbolName
463
+ ? `Callable symbol "${target.symbolName}" not found in ${normalizedPath}.`
464
+ : `No callable symbols found in ${normalizedPath}.`);
465
+ }
466
+ const allDependencies = await metadata.listDependencies(types_js_1.DEFAULT_PROJECT_ID, snapshot.id);
467
+ const callGraph = createCallGraphIndexes(resolvedProjectPath, allSymbols, allDependencies);
468
+ const { calleesByCaller, callersByCallee } = callGraph;
469
+ const calledBy = [];
470
+ const calls = [];
471
+ if (direction === "callers" || direction === "both") {
472
+ const visited = new Set();
473
+ let queue = seedSymbols;
474
+ const seenEdges = new Set();
475
+ for (let d = 0; d < depth && queue.length > 0; d++) {
476
+ const next = [];
477
+ for (const symbol of queue) {
478
+ if (visited.has(symbol.id))
479
+ continue;
480
+ visited.add(symbol.id);
481
+ await callGraph.processCallersForCallee(symbol);
482
+ for (const caller of callersByCallee.get(symbol.id) ?? []) {
483
+ if (visited.has(caller.id))
484
+ continue;
485
+ appendUniqueCallEdge(calledBy, seenEdges, {
486
+ symbol: caller,
487
+ via: symbol.name,
488
+ depth: d + 1,
489
+ });
490
+ next.push(caller);
491
+ }
492
+ }
493
+ queue = next;
494
+ }
495
+ calledBy.sort((a, b) => symbolDisplayName(a.symbol).localeCompare(symbolDisplayName(b.symbol)));
496
+ }
497
+ if (direction === "callees" || direction === "both") {
498
+ const visited = new Set();
499
+ let queue = seedSymbols;
500
+ const seenEdges = new Set();
501
+ for (let d = 0; d < depth && queue.length > 0; d++) {
502
+ const next = [];
503
+ for (const symbol of queue) {
504
+ if (visited.has(symbol.id))
505
+ continue;
506
+ visited.add(symbol.id);
507
+ await callGraph.processCaller(symbol);
508
+ for (const callee of calleesByCaller.get(symbol.id) ?? []) {
509
+ if (visited.has(callee.id))
510
+ continue;
511
+ appendUniqueCallEdge(calls, seenEdges, {
512
+ symbol: callee,
513
+ via: callee.name,
514
+ depth: d + 1,
515
+ });
516
+ next.push(callee);
517
+ }
518
+ }
519
+ queue = next;
520
+ }
521
+ calls.sort((a, b) => symbolDisplayName(a.symbol).localeCompare(symbolDisplayName(b.symbol)));
522
+ }
523
+ const targetLabel = target.symbolName
524
+ ? `${normalizedPath}::${target.symbolName}`
525
+ : normalizedPath;
526
+ console.log(`M ${targetLabel} mode=call-graph`);
527
+ if (direction === "callers" || direction === "both") {
528
+ if (calledBy.length === 0) {
529
+ console.log("\ncalled-by (Callers): none");
530
+ }
531
+ else {
532
+ console.log(`\ncalled-by (Callers) ${sectionCountLabel(calledBy, depth)}:`);
533
+ for (const caller of calledBy) {
534
+ console.log(formatCallEdge(caller, "<-", showEdges));
535
+ }
536
+ }
537
+ }
538
+ if (direction === "callees" || direction === "both") {
539
+ if (calls.length === 0) {
540
+ console.log("\ncalls (Callees): none");
541
+ }
542
+ else {
543
+ console.log(`\ncalls (Callees) ${sectionCountLabel(calls, depth)}:`);
544
+ for (const callee of calls) {
545
+ console.log(formatCallEdge(callee, "->", showEdges));
546
+ }
547
+ }
548
+ }
549
+ const risk = riskLevel(calledBy.length, calls.length);
550
+ console.log(`\nRisk: ${risk} called-by=${calledBy.length} calls=${calls.length} mode=call-graph`);
551
+ if (includeTests) {
552
+ const allFiles = await metadata.listFiles(types_js_1.DEFAULT_PROJECT_ID, snapshot.id, {});
553
+ const testHints = (0, test_hints_js_1.findNearestTests)({
554
+ targetPaths: seedPaths,
555
+ files: allFiles,
556
+ dependencies: allDependencies,
557
+ maxTests: 3,
558
+ });
559
+ const testLines = (0, test_hints_js_1.formatTestHints)(testHints);
560
+ if (testLines.length > 0) {
561
+ console.log("");
562
+ for (const line of testLines) {
563
+ console.log(line);
564
+ }
565
+ const verify = (0, test_hints_js_1.formatSuggestedVerification)(testHints);
566
+ if (verify)
567
+ console.log(verify);
568
+ }
569
+ else {
570
+ console.log("\nTests: none");
571
+ console.log("Verify: inspect package scripts");
572
+ }
573
+ }
574
+ return;
575
+ }
124
576
  const result = {
125
577
  path: normalizedPath,
126
578
  importedBy: [],
@@ -1 +1 @@
1
- {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../../src/cli/commands/deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../../src/cli/commands/deps.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ Pick the single cheapest command that answers the question, run it, and stop whe
21
21
  - \`idx ast <file>\` — compact syntax tree for one large file; use before repeated reads when ranges are coarse or JSX/parent structure matters
22
22
  - \`idx search\` — conceptual behavior questions like "how does X work?"; returns ranked file ranges plus \`why=\` reason codes
23
23
  - \`idx explain\` — a known symbol when you want indexed explanation
24
- - \`idx deps\` — imported-by/imports or impact for a known path/module
24
+ - \`idx deps\` — imported-by/imports for a known path/module, or callers/callees for a known callable symbol with \`--mode calls\`
25
25
 
26
26
  ## Operating rules
27
27
 
@@ -32,7 +32,7 @@ Pick the single cheapest command that answers the question, run it, and stop whe
32
32
  - If \`idx structure\` prints \`TRUNC\`/\`NEXT\`, run the \`NEXT\` command only when the hidden page is still relevant.
33
33
  - Use \`idx ast <file>\` after you know a large file is relevant and need a map before reading ranges; if you are about to make a second overlapping \`Read\` on that file, run \`idx ast\` first.
34
34
  - If \`idx ast\` prints \`TRUNC\`/\`NEXT\`, run \`NEXT\` only when the hidden nodes are still relevant.
35
- - For \`idx deps\`, start with \`--depth 1\`; increase only if first-hop impact is insufficient.
35
+ - For \`idx deps\`, start with \`--depth 1\`; use \`--mode calls path::symbol\` when module imports are too coarse; increase depth only if first-hop impact is insufficient.
36
36
  - For \`idx explain\`, prefer \`file::symbol\` when the name may be ambiguous.
37
37
  - \`--include-content\` is expensive. Use it only when you need implementation detail *without* planning to \`Read\`; if you'll read files anyway, skip it.
38
38
  - After \`idx search\`, read the returned files/ranges. Do **not** follow search with \`idx explain\` on the same results.
@@ -92,6 +92,9 @@ idx deps src/api/client.ts --direction callers --depth 1
92
92
  # Good: inspect the import specifier behind dependency edges
93
93
  idx deps src/api/client.ts --show-edges
94
94
 
95
+ # Good: trace symbol-level callers/callees when module deps are too coarse
96
+ idx deps src/api/client.ts::createClient --mode calls --direction both --depth 1
97
+
95
98
  # Bad: semantic search for an exact identifier
96
99
  idx search "MyType" --path-prefix src/models/
97
100
 
@@ -113,7 +116,7 @@ rg -n "MyType" src/models/
113
116
  - AST: \`idx ast <file> [--max-depth <n>] [--max-nodes <n>] [--cursor <n>] [--no-include-text]\`
114
117
  - Search: \`idx search <query> [--max-files <n>] [--path-prefix <area>] [--chunk-types <types|api|impl|tests|imports>] [--mode hybrid|semantic|lexical|symbol] [--min-score <score>] [--include-content] [--include-imports] [--dedupe-file] [--dedupe-symbol] [--cluster] [--exclude-tests] [--include-tests]\`
115
118
  - Explain: \`idx explain <symbol|file::symbol> [--path-prefix <area>] [--include-fixtures] [--include-body] [--body-lines <n>] [--signature-only]\`
116
- - Deps: \`idx deps <path> [--direction callers|callees|both] [--depth <n>] [--show-edges] [--tests]\`
119
+ - Deps: \`idx deps <path|path::symbol> [--mode modules|calls] [--direction callers|callees|both] [--depth <n>] [--show-edges] [--tests]\`
117
120
  `;
118
121
  }
119
122
  exports.GENERATED_SKILLS = [
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":";;;AAMA,SAAS,8BAA8B;IACtC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHP,CAAC;AACF,CAAC;AAEY,QAAA,gBAAgB,GAAqB;IACjD;QACC,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,8BAA8B,EAAE;KACzC;CACD,CAAC;AAEW,QAAA,4BAA4B,GAAG;IAC3C,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;CAClB,CAAC;AAEW,QAAA,2BAA2B,GAAG,wBAAgB,CAAC,GAAG,CAC9D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAC1B,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":";;;AAMA,SAAS,8BAA8B;IACtC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHP,CAAC;AACF,CAAC;AAEY,QAAA,gBAAgB,GAAqB;IACjD;QACC,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,8BAA8B,EAAE;KACzC;CACD,CAAC;AAEW,QAAA,4BAA4B,GAAG;IAC3C,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;CAClB,CAAC;AAEW,QAAA,2BAA2B,GAAG,wBAAgB,CAAC,GAAG,CAC9D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAC1B,CAAC"}
@@ -1 +1 @@
1
- export declare const SKILLS_VERSION = 503726199;
1
+ export declare const SKILLS_VERSION = 3103177346;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SKILLS_VERSION = void 0;
4
- exports.SKILLS_VERSION = 503726199;
4
+ exports.SKILLS_VERSION = 3103177346;
5
5
  //# sourceMappingURL=skills-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills-version.js","sourceRoot":"","sources":["../../src/core/skills-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"skills-version.js","sourceRoot":"","sources":["../../src/core/skills-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "indexer-cli",
3
- "version": "0.12.16",
3
+ "version": "0.12.17",
4
4
  "description": "Lightweight CLI project indexer with semantic search via Ollama",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",