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 +7 -3
- package/dist/cli/commands/deps.js +456 -4
- package/dist/cli/commands/deps.js.map +1 -1
- package/dist/cli/commands/skills.js +6 -3
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/core/skills-version.d.ts +1 -1
- package/dist/core/skills-version.js +1 -1
- package/dist/core/skills-version.js.map +1 -1
- package/package.json +1 -1
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
|
|
272
|
-
`Callers`/`Callees` aliases for compatibility. Useful for tracing impact of
|
|
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
|
|
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
|
-
|
|
118
|
-
const normalizedPath =
|
|
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
|
|
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
|
|
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 =
|
|
1
|
+
export declare const SKILLS_VERSION = 3103177346;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-version.js","sourceRoot":"","sources":["../../src/core/skills-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"skills-version.js","sourceRoot":"","sources":["../../src/core/skills-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,UAAU,CAAC"}
|