@lzehrung/codegraph 2.3.3 → 2.3.5
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/codegraph-skill/codegraph/SKILL.md +6 -9
- package/dist/bin/cli.js +116 -40
- package/dist/cli/commandCatalog.d.ts.map +1 -1
- package/dist/cli/commandCatalog.js +1 -5
- package/dist/cli/commandCatalog.js.map +1 -1
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +4 -3
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/progress.js +27 -7
- package/dist/cli/progress.js.map +1 -1
- package/dist/indexer/build-index.d.ts.map +1 -1
- package/dist/indexer/build-index.js +36 -4
- package/dist/indexer/build-index.js.map +1 -1
- package/dist/mcp/tools.js +1 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/util/projectFiles.d.ts +8 -1
- package/dist/util/projectFiles.d.ts.map +1 -1
- package/dist/util/projectFiles.js +55 -15
- package/dist/util/projectFiles.js.map +1 -1
- package/docs/mcp.md +2 -2
- package/package.json +3 -3
|
@@ -45,20 +45,17 @@ Use `--root` to define the boundary for config lookup, path confinement, and out
|
|
|
45
45
|
- `languages.extensions` maps literal suffixes such as `.tpl` to supported language IDs; longest suffix wins, while `.vue` and `.svelte` cannot be remapped.
|
|
46
46
|
- CLI `--include-glob` and `--ignore-glob` values are one-off filters relative to each active scan root.
|
|
47
47
|
- Use `--no-gitignore` only when ignored files are intentionally in scope.
|
|
48
|
-
- Index-backed commands stay quiet for their first second, then write progress and a heartbeat to stderr. Use `--progress` for immediate logs or `--no-progress` to suppress feedback; JSON stdout remains unchanged.
|
|
48
|
+
- Index-backed commands stay quiet for their first second, then write progress and a heartbeat to stderr. Cold or incompatible rebuilds report source and metadata discovery before build progress; path checks include completed and total counts when known. Use `--progress` for immediate logs or `--no-progress` to suppress feedback; JSON stdout remains unchanged.
|
|
49
49
|
|
|
50
50
|
## Choose the Smallest Follow-up
|
|
51
51
|
|
|
52
52
|
### Understand
|
|
53
53
|
|
|
54
|
-
-
|
|
55
|
-
- find a
|
|
56
|
-
-
|
|
57
|
-
- explain a
|
|
58
|
-
-
|
|
59
|
-
- read current disk content: `codegraph file <path> --offset 1 --limit 200`
|
|
60
|
-
|
|
61
|
-
`explore` returns ranked anchors, bounded packets, dependency paths, blast radius, candidate tests, explicit limits, omission counts, and copyable follow-ups. CLI `explore` includes source packets and exact-path `fileView` by default because people read its inline output; use `--no-source` when anchors, paths, and follow-up commands are enough. JSON keeps the stable `schemaVersion: 1` fields and `followUps` array as tool-call descriptors (`{tool, arguments, label?}`), not CLI strings. Hybrid search is code-first by default, and search, explain, explore, and review preserve analysis labels so reduced or mixed runs remain visible.
|
|
54
|
+
- map a repo: `codegraph orient --root . --budget small`
|
|
55
|
+
- find a target: `codegraph symbols "CodeReviewSession"` / `codegraph search "auth user"` / `codegraph grep "spawn|timeout"`
|
|
56
|
+
- navigate a symbol: `codegraph refs <handle>` -> `codegraph callers <handle>` -> `codegraph rdeps <file|handle>`
|
|
57
|
+
- explain or retrieve a target: `codegraph explain <handle>` or `codegraph packet get <handle>`
|
|
58
|
+
- use `codegraph explore` only for one hybrid search plus context from top results
|
|
62
59
|
|
|
63
60
|
Use `search --no-snippets` when handles and paths are sufficient and source text will be fetched separately with `file`. Use `explain --changed-context` for bounded source context around changed ranges in changed-file or review workflows.
|
|
64
61
|
|
package/dist/bin/cli.js
CHANGED
|
@@ -1179,6 +1179,7 @@ function createInteractiveProgressDisplay(write, delayMs = 0) {
|
|
|
1179
1179
|
let current = 0;
|
|
1180
1180
|
let total = 0;
|
|
1181
1181
|
let mode = "build";
|
|
1182
|
+
let activity = progressAction(mode);
|
|
1182
1183
|
let interval;
|
|
1183
1184
|
let delay;
|
|
1184
1185
|
const clear = () => {
|
|
@@ -1190,11 +1191,10 @@ function createInteractiveProgressDisplay(write, delayMs = 0) {
|
|
|
1190
1191
|
const render = () => {
|
|
1191
1192
|
if (!active)
|
|
1192
1193
|
return;
|
|
1193
|
-
const action = progressAction(mode);
|
|
1194
1194
|
const frame = SPINNER_FRAMES[frameIndex % SPINNER_FRAMES.length];
|
|
1195
1195
|
frameIndex += 1;
|
|
1196
|
-
const count = formatProgressCount(current, total);
|
|
1197
|
-
write(`${CLEAR_LINE}${
|
|
1196
|
+
const count = hasProgressCount(mode, current, total) ? formatProgressCount(current, total) : "";
|
|
1197
|
+
write(`${CLEAR_LINE}${activity}... ${frame}${count}`);
|
|
1198
1198
|
rendered = true;
|
|
1199
1199
|
};
|
|
1200
1200
|
const stopInterval = () => {
|
|
@@ -1216,6 +1216,7 @@ function createInteractiveProgressDisplay(write, delayMs = 0) {
|
|
|
1216
1216
|
current = update.current;
|
|
1217
1217
|
total = update.total;
|
|
1218
1218
|
mode = update.mode ?? "build";
|
|
1219
|
+
activity = update.activity ?? `${progressAction(mode)} project index`;
|
|
1219
1220
|
const beginRendering = () => {
|
|
1220
1221
|
if (!active)
|
|
1221
1222
|
return;
|
|
@@ -1262,6 +1263,8 @@ function createInteractiveProgressDisplay(write, delayMs = 0) {
|
|
|
1262
1263
|
current = update.current;
|
|
1263
1264
|
total = update.total;
|
|
1264
1265
|
mode = update.mode ?? mode;
|
|
1266
|
+
if (update.activity !== void 0)
|
|
1267
|
+
activity = update.activity;
|
|
1265
1268
|
},
|
|
1266
1269
|
clear,
|
|
1267
1270
|
dispose: () => {
|
|
@@ -1281,12 +1284,16 @@ function formatProgressCount(current, total) {
|
|
|
1281
1284
|
return ` ${current}/${formatFileCount(total)}`;
|
|
1282
1285
|
return ` ${formatFileCount(current)} processed`;
|
|
1283
1286
|
}
|
|
1287
|
+
function hasProgressCount(mode, current, total) {
|
|
1288
|
+
return mode !== "check" || current > 0 || total > 0;
|
|
1289
|
+
}
|
|
1284
1290
|
function createLogProgressDisplay(write, delayMs = 0) {
|
|
1285
1291
|
let active = false;
|
|
1286
1292
|
let rendered = false;
|
|
1287
1293
|
let current = 0;
|
|
1288
1294
|
let total = 0;
|
|
1289
1295
|
let mode = "build";
|
|
1296
|
+
let activity = progressAction(mode);
|
|
1290
1297
|
let delay;
|
|
1291
1298
|
let heartbeat;
|
|
1292
1299
|
const stopTimers = () => {
|
|
@@ -1303,12 +1310,13 @@ function createLogProgressDisplay(write, delayMs = 0) {
|
|
|
1303
1310
|
if (!active || rendered)
|
|
1304
1311
|
return;
|
|
1305
1312
|
rendered = true;
|
|
1306
|
-
write(`[Progress] ${
|
|
1313
|
+
write(`[Progress] ${activity}.
|
|
1307
1314
|
`);
|
|
1308
1315
|
heartbeat = setInterval(() => {
|
|
1309
1316
|
if (!active)
|
|
1310
1317
|
return;
|
|
1311
|
-
|
|
1318
|
+
const count = hasProgressCount(mode, current, total) ? `:${formatProgressCount(current, total)}` : "";
|
|
1319
|
+
write(`[Progress] ${activity}${count}.
|
|
1312
1320
|
`);
|
|
1313
1321
|
}, 1e3);
|
|
1314
1322
|
heartbeat.unref();
|
|
@@ -1320,6 +1328,7 @@ function createLogProgressDisplay(write, delayMs = 0) {
|
|
|
1320
1328
|
current = update.current;
|
|
1321
1329
|
total = update.total;
|
|
1322
1330
|
mode = update.mode ?? "build";
|
|
1331
|
+
activity = update.activity ?? `${progressAction(mode)} project index`;
|
|
1323
1332
|
if (delayMs) {
|
|
1324
1333
|
delay = setTimeout(renderStart, delayMs);
|
|
1325
1334
|
delay.unref();
|
|
@@ -1351,13 +1360,25 @@ function createLogProgressDisplay(write, delayMs = 0) {
|
|
|
1351
1360
|
return;
|
|
1352
1361
|
start(update);
|
|
1353
1362
|
}
|
|
1363
|
+
const previousActivity = activity;
|
|
1354
1364
|
current = update.current;
|
|
1355
1365
|
total = update.total;
|
|
1356
1366
|
mode = update.mode ?? mode;
|
|
1367
|
+
if (update.activity !== void 0)
|
|
1368
|
+
activity = update.activity;
|
|
1369
|
+
if (rendered && activity !== previousActivity) {
|
|
1370
|
+
write(`[Progress] ${activity}.
|
|
1371
|
+
`);
|
|
1372
|
+
}
|
|
1357
1373
|
const isComplete = update.total > 0 && update.current >= update.total;
|
|
1358
|
-
if (rendered && (update.current === 1 || isComplete || update.current % 100 === 0)) {
|
|
1359
|
-
|
|
1374
|
+
if (rendered && (update.current === 1 || isComplete || update.current > 0 && update.current % 100 === 0)) {
|
|
1375
|
+
if (update.activity !== void 0) {
|
|
1376
|
+
write(`[Progress] ${activity}:${formatProgressCount(update.current, update.total)}.
|
|
1360
1377
|
`);
|
|
1378
|
+
} else {
|
|
1379
|
+
write(`[Progress] ${formatFileCount(update.current)} processed.
|
|
1380
|
+
`);
|
|
1381
|
+
}
|
|
1361
1382
|
}
|
|
1362
1383
|
},
|
|
1363
1384
|
clear: () => {
|
|
@@ -14125,6 +14146,15 @@ __export(projectFiles_exports, {
|
|
|
14125
14146
|
import fs6 from "node:fs";
|
|
14126
14147
|
import fsp5 from "node:fs/promises";
|
|
14127
14148
|
import path9 from "node:path";
|
|
14149
|
+
function createPathCheckProgressReporter(total, onProgress) {
|
|
14150
|
+
onProgress?.(0, total);
|
|
14151
|
+
let completed = 0;
|
|
14152
|
+
return () => {
|
|
14153
|
+
completed += 1;
|
|
14154
|
+
if (completed === total || completed % 100 === 0)
|
|
14155
|
+
onProgress?.(completed, total);
|
|
14156
|
+
};
|
|
14157
|
+
}
|
|
14128
14158
|
function isPresent(value) {
|
|
14129
14159
|
return value !== void 0;
|
|
14130
14160
|
}
|
|
@@ -14476,11 +14506,14 @@ async function listProjectFilesInternal(projectRoot, patterns = DEFAULT_PROJECT_
|
|
|
14476
14506
|
followSymbolicLinks: false,
|
|
14477
14507
|
ignore: translatedUserIgnoreGlobs
|
|
14478
14508
|
}) : [];
|
|
14509
|
+
const reportSourceSymlinkChecks = options?.onDiscoveryProgress ? (current, total) => options.onDiscoveryProgress?.({ activity: "Checking source symlinks", current, total }) : void 0;
|
|
14510
|
+
const reportSourcePathChecks = options?.onDiscoveryProgress ? (current, total) => options.onDiscoveryProgress?.({ activity: "Checking source file paths", current, total }) : void 0;
|
|
14479
14511
|
const symlinkOptions = {
|
|
14480
14512
|
globRoot,
|
|
14481
14513
|
...gitCandidates ? { candidatePaths: gitCandidates.files } : {},
|
|
14482
14514
|
...options?.knownSymlinkDirectories !== void 0 ? { knownSymlinkDirectories: options.knownSymlinkDirectories } : {},
|
|
14483
|
-
...options?.onSymlinkDirectoriesDiscovered ? { onSymlinkDirectoriesDiscovered: options.onSymlinkDirectoriesDiscovered } : {}
|
|
14515
|
+
...options?.onSymlinkDirectoriesDiscovered ? { onSymlinkDirectoriesDiscovered: options.onSymlinkDirectoriesDiscovered } : {},
|
|
14516
|
+
...reportSourceSymlinkChecks ? { onPathCheckProgress: reportSourceSymlinkChecks } : {}
|
|
14484
14517
|
};
|
|
14485
14518
|
const safeSymlinkDirectories = await resolveSafeSymlinkDirectories(root, realRoot, symlinkProbeIgnoreGlobs, symlinkOptions);
|
|
14486
14519
|
const linkedFiles = await listEntriesFromSafeSymlinkDirectories(root, realRoot, patterns, fastGlobIgnoreGlobs, {
|
|
@@ -14493,7 +14526,7 @@ async function listProjectFilesInternal(projectRoot, patterns = DEFAULT_PROJECT_
|
|
|
14493
14526
|
filterIgnoreGlobs: userIgnoreGlobs,
|
|
14494
14527
|
resolvedSafeSymlinkDirectories: safeSymlinkDirectories
|
|
14495
14528
|
});
|
|
14496
|
-
const rootSafeFiles = await filterRealPathsWithinRootEntries([...files, ...includedOverrideFiles, ...linkedFiles, ...linkedOverrideFiles], realRoot);
|
|
14529
|
+
const rootSafeFiles = await filterRealPathsWithinRootEntries([...files, ...includedOverrideFiles, ...linkedFiles, ...linkedOverrideFiles], realRoot, reportSourcePathChecks);
|
|
14497
14530
|
const seen = /* @__PURE__ */ new Set();
|
|
14498
14531
|
return rootSafeFiles.map(({ path: filePath, realPath }) => ({ filePath: normalizePath(filePath), realPath })).filter(({ filePath, realPath }) => {
|
|
14499
14532
|
if (seen.has(filePath))
|
|
@@ -14561,10 +14594,20 @@ async function isSafeSymlinkDirectory(root, linkPath, realRoot) {
|
|
|
14561
14594
|
return false;
|
|
14562
14595
|
}
|
|
14563
14596
|
}
|
|
14597
|
+
async function verifySafeSymlinkDirectories(root, realRoot, paths, onPathCheckProgress) {
|
|
14598
|
+
const reportPathCheck = createPathCheckProgressReporter(paths.length, onPathCheckProgress);
|
|
14599
|
+
const verified = await mapLimitSemaphore(Array.from(paths), REALPATH_FILTER_CONCURRENCY, async (linkPath) => {
|
|
14600
|
+
try {
|
|
14601
|
+
return await isSafeSymlinkDirectory(root, linkPath, realRoot) ? linkPath : null;
|
|
14602
|
+
} finally {
|
|
14603
|
+
reportPathCheck();
|
|
14604
|
+
}
|
|
14605
|
+
});
|
|
14606
|
+
return verified.filter((entry) => entry !== null);
|
|
14607
|
+
}
|
|
14564
14608
|
async function resolveSafeSymlinkDirectories(root, realRoot, ignore, options) {
|
|
14565
14609
|
if (options.knownSymlinkDirectories !== void 0) {
|
|
14566
|
-
const
|
|
14567
|
-
const resolved = verified.filter((entry) => entry !== null);
|
|
14610
|
+
const resolved = await verifySafeSymlinkDirectories(root, realRoot, Array.from(new Set(options.knownSymlinkDirectories)), options.onPathCheckProgress);
|
|
14568
14611
|
options.onSymlinkDirectoriesDiscovered?.(resolved, "known");
|
|
14569
14612
|
return resolved;
|
|
14570
14613
|
}
|
|
@@ -14576,8 +14619,7 @@ async function resolveSafeSymlinkDirectories(root, realRoot, ignore, options) {
|
|
|
14576
14619
|
return false;
|
|
14577
14620
|
return !ignoreMatchers.some((matcher) => matcher(relativePath3));
|
|
14578
14621
|
});
|
|
14579
|
-
const
|
|
14580
|
-
const discovered2 = verified.filter((entry) => entry !== null);
|
|
14622
|
+
const discovered2 = await verifySafeSymlinkDirectories(root, realRoot, candidatePaths, options.onPathCheckProgress);
|
|
14581
14623
|
options.onSymlinkDirectoriesDiscovered?.(discovered2, "git-candidates");
|
|
14582
14624
|
return discovered2;
|
|
14583
14625
|
}
|
|
@@ -14590,8 +14632,7 @@ async function resolveSafeSymlinkDirectories(root, realRoot, ignore, options) {
|
|
|
14590
14632
|
objectMode: true,
|
|
14591
14633
|
ignore
|
|
14592
14634
|
});
|
|
14593
|
-
const
|
|
14594
|
-
const discovered = candidates.filter((entry) => entry !== null);
|
|
14635
|
+
const discovered = await verifySafeSymlinkDirectories(root, realRoot, entries.filter((entry) => entry.dirent.isSymbolicLink()).map((entry) => entry.path), options.onPathCheckProgress);
|
|
14595
14636
|
options.onSymlinkDirectoriesDiscovered?.(discovered, "filesystem");
|
|
14596
14637
|
return discovered;
|
|
14597
14638
|
}
|
|
@@ -14623,19 +14664,22 @@ async function listEntriesFromSafeSymlinkDirectories(root, realRoot, patterns, i
|
|
|
14623
14664
|
}
|
|
14624
14665
|
return [...filesByPath.values()];
|
|
14625
14666
|
}
|
|
14626
|
-
async function filterRealPathsWithinRootEntries(paths, realRoot) {
|
|
14667
|
+
async function filterRealPathsWithinRootEntries(paths, realRoot, onPathCheckProgress) {
|
|
14668
|
+
const reportPathCheck = createPathCheckProgressReporter(paths.length, onPathCheckProgress);
|
|
14627
14669
|
const filtered = await mapLimitSemaphore(paths, REALPATH_FILTER_CONCURRENCY, async (filePath) => {
|
|
14628
14670
|
try {
|
|
14629
14671
|
const realPath = await fsp5.realpath(filePath);
|
|
14630
14672
|
return isFilePathWithinRoot(realRoot, realPath) ? { path: filePath, realPath } : null;
|
|
14631
14673
|
} catch {
|
|
14632
14674
|
return null;
|
|
14675
|
+
} finally {
|
|
14676
|
+
reportPathCheck();
|
|
14633
14677
|
}
|
|
14634
14678
|
});
|
|
14635
14679
|
return filtered.filter((entry) => entry !== null);
|
|
14636
14680
|
}
|
|
14637
|
-
async function filterRealPathsWithinRoot(paths, realRoot) {
|
|
14638
|
-
const entries = await filterRealPathsWithinRootEntries(paths, realRoot);
|
|
14681
|
+
async function filterRealPathsWithinRoot(paths, realRoot, onPathCheckProgress) {
|
|
14682
|
+
const entries = await filterRealPathsWithinRootEntries(paths, realRoot, onPathCheckProgress);
|
|
14639
14683
|
return entries.map((entry) => entry.path);
|
|
14640
14684
|
}
|
|
14641
14685
|
function toProjectGlob(pattern) {
|
|
@@ -14694,6 +14738,9 @@ async function discoverProjectFilesInternal(projectRoot, options) {
|
|
|
14694
14738
|
gitCandidates = await listGitCandidateFiles(root, options?.logLevel);
|
|
14695
14739
|
}
|
|
14696
14740
|
options?.onGitCandidatesDiscovered?.(gitCandidates);
|
|
14741
|
+
const reportMetadataSymlinkChecks = options?.onDiscoveryProgress ? (current, total) => options.onDiscoveryProgress?.({ activity: "Checking project metadata symlinks", current, total }) : void 0;
|
|
14742
|
+
const reportMetadataFileChecks = options?.onDiscoveryProgress ? (current, total) => options.onDiscoveryProgress?.({ activity: "Checking project metadata files", current, total }) : void 0;
|
|
14743
|
+
const reportMetadataDirectoryChecks = options?.onDiscoveryProgress ? (current, total) => options.onDiscoveryProgress?.({ activity: "Checking project metadata directories", current, total }) : void 0;
|
|
14697
14744
|
let rootSafeMatches;
|
|
14698
14745
|
if (gitCandidates) {
|
|
14699
14746
|
const gitignoreIndex = await buildGitignoreIndex(gitCandidates.gitignoreFiles, gitCandidates.gitignoreRoots, gitCandidates.gitignoreAliases);
|
|
@@ -14712,7 +14759,8 @@ async function discoverProjectFilesInternal(projectRoot, options) {
|
|
|
14712
14759
|
const symlinkOptions = {
|
|
14713
14760
|
candidatePaths: gitCandidates.files,
|
|
14714
14761
|
...options?.knownSymlinkDirectories !== void 0 ? { knownSymlinkDirectories: options.knownSymlinkDirectories } : {},
|
|
14715
|
-
...options?.onSymlinkDirectoriesDiscovered ? { onSymlinkDirectoriesDiscovered: options.onSymlinkDirectoriesDiscovered } : {}
|
|
14762
|
+
...options?.onSymlinkDirectoriesDiscovered ? { onSymlinkDirectoriesDiscovered: options.onSymlinkDirectoriesDiscovered } : {},
|
|
14763
|
+
...reportMetadataSymlinkChecks ? { onPathCheckProgress: reportMetadataSymlinkChecks } : {}
|
|
14716
14764
|
};
|
|
14717
14765
|
const safeSymlinkDirectories = await resolveSafeSymlinkDirectories(root, realRoot, DEFAULT_PROJECT_FILE_IGNORES, symlinkOptions);
|
|
14718
14766
|
const allPatterns = PROJECT_FILE_DEFINITIONS.flatMap((definition) => definition.patterns.map(toProjectGlob));
|
|
@@ -14721,18 +14769,18 @@ async function discoverProjectFilesInternal(projectRoot, options) {
|
|
|
14721
14769
|
onlyFiles: false,
|
|
14722
14770
|
resolvedSafeSymlinkDirectories: safeSymlinkDirectories
|
|
14723
14771
|
});
|
|
14724
|
-
const rootSafeCandidateEntries = await filterRealPathsWithinRootEntries(gitCandidates.files, realRoot);
|
|
14772
|
+
const rootSafeCandidateEntries = await filterRealPathsWithinRootEntries(gitCandidates.files, realRoot, reportMetadataFileChecks);
|
|
14725
14773
|
const filteredFiles = filterGitIgnoredEntries(rootSafeCandidateEntries);
|
|
14726
14774
|
const fileMatches = filteredFiles.filter((file2) => PROJECT_FILE_DEFINITIONS.some((definition, definitionIndex) => definition.kind === "file" && matchesDefinition(path9.basename(file2), definitionIndex)));
|
|
14727
14775
|
const rawCandidateDirectories = collectCandidateAncestorDirectories(root, rootSafeCandidateEntries.map(({ path: filePath }) => filePath));
|
|
14728
14776
|
const candidateDirectoryKeys = new Set(rawCandidateDirectories.map(fileIdentityKey));
|
|
14729
14777
|
const safeSymlinkDirectoryKeys = new Set(safeSymlinkDirectories.map(fileIdentityKey));
|
|
14730
14778
|
const directoryMatches = [
|
|
14731
|
-
...filterGitIgnoredEntries(await filterRealPathsWithinRootEntries(rawCandidateDirectories, realRoot), candidateDirectoryKeys),
|
|
14732
|
-
...filterGitIgnoredEntries(await filterRealPathsWithinRootEntries(safeSymlinkDirectories, realRoot), safeSymlinkDirectoryKeys)
|
|
14779
|
+
...filterGitIgnoredEntries(await filterRealPathsWithinRootEntries(rawCandidateDirectories, realRoot, reportMetadataDirectoryChecks), candidateDirectoryKeys),
|
|
14780
|
+
...filterGitIgnoredEntries(await filterRealPathsWithinRootEntries(safeSymlinkDirectories, realRoot, reportMetadataDirectoryChecks), safeSymlinkDirectoryKeys)
|
|
14733
14781
|
].filter((directory) => PROJECT_FILE_DEFINITIONS.some((definition, definitionIndex) => definition.kind === "dir" && matchesDefinition(path9.basename(directory), definitionIndex)));
|
|
14734
14782
|
const linkedDirectoryKeys = new Set(linkedMatches.filter((match) => match.endsWith("/")).map((match) => fileIdentityKey(match.slice(0, -1))));
|
|
14735
|
-
const rootSafeLinked = filterGitIgnoredEntries(await filterRealPathsWithinRootEntries(linkedMatches.map((match) => match.endsWith("/") ? match.slice(0, -1) : match), realRoot), linkedDirectoryKeys);
|
|
14783
|
+
const rootSafeLinked = filterGitIgnoredEntries(await filterRealPathsWithinRootEntries(linkedMatches.map((match) => match.endsWith("/") ? match.slice(0, -1) : match), realRoot, reportMetadataFileChecks), linkedDirectoryKeys);
|
|
14736
14784
|
rootSafeMatches = [...fileMatches, ...directoryMatches, ...rootSafeLinked];
|
|
14737
14785
|
} else {
|
|
14738
14786
|
const allPatterns = PROJECT_FILE_DEFINITIONS.flatMap((definition) => definition.patterns.map(toProjectGlob));
|
|
@@ -14749,9 +14797,10 @@ async function discoverProjectFilesInternal(projectRoot, options) {
|
|
|
14749
14797
|
markDirectories: true,
|
|
14750
14798
|
onlyFiles: false,
|
|
14751
14799
|
...options?.knownSymlinkDirectories !== void 0 ? { knownSymlinkDirectories: options.knownSymlinkDirectories } : {},
|
|
14752
|
-
...options?.onSymlinkDirectoriesDiscovered ? { onSymlinkDirectoriesDiscovered: options.onSymlinkDirectoriesDiscovered } : {}
|
|
14800
|
+
...options?.onSymlinkDirectoriesDiscovered ? { onSymlinkDirectoriesDiscovered: options.onSymlinkDirectoriesDiscovered } : {},
|
|
14801
|
+
...reportMetadataSymlinkChecks ? { onPathCheckProgress: reportMetadataSymlinkChecks } : {}
|
|
14753
14802
|
});
|
|
14754
|
-
rootSafeMatches = await filterRealPathsWithinRoot([...matches, ...linkedMatches].map((match) => match.endsWith("/") ? match.slice(0, -1) : match), realRoot);
|
|
14803
|
+
rootSafeMatches = await filterRealPathsWithinRoot([...matches, ...linkedMatches].map((match) => match.endsWith("/") ? match.slice(0, -1) : match), realRoot, reportMetadataFileChecks);
|
|
14755
14804
|
}
|
|
14756
14805
|
const entries = [];
|
|
14757
14806
|
const matchTasks = rootSafeMatches.map(async (cleanMatch) => {
|
|
@@ -55234,6 +55283,17 @@ function emitIndexLifecycleProgress(opts, phase, mode, total, elapsedMs2) {
|
|
|
55234
55283
|
...elapsedMs2 !== void 0 ? { elapsedMs: elapsedMs2 } : {}
|
|
55235
55284
|
});
|
|
55236
55285
|
}
|
|
55286
|
+
function emitIndexCheckActivity(opts, activity, current = 0, total = 0) {
|
|
55287
|
+
opts?.onProgress?.({
|
|
55288
|
+
type: "progress",
|
|
55289
|
+
phase: "update",
|
|
55290
|
+
mode: "check",
|
|
55291
|
+
message: activity,
|
|
55292
|
+
activity,
|
|
55293
|
+
current,
|
|
55294
|
+
total
|
|
55295
|
+
});
|
|
55296
|
+
}
|
|
55237
55297
|
function buildConcurrency(opts) {
|
|
55238
55298
|
return resolveWorkerThreadCount({ requested: Number(opts?.threads || 0), defaultCount: 8, max: 64 });
|
|
55239
55299
|
}
|
|
@@ -55654,12 +55714,16 @@ async function buildProjectIndexWithManifestOptions(projectRoot, opts, helperOpt
|
|
|
55654
55714
|
const onGitCandidatesDiscovered = (candidates) => {
|
|
55655
55715
|
discoveredGitCandidates = candidates;
|
|
55656
55716
|
};
|
|
55717
|
+
const onDiscoveryProgress = helperOpts?.reportDiscoveryProgress ? (progress) => emitIndexCheckActivity(opts, progress.activity, progress.current, progress.total) : void 0;
|
|
55718
|
+
if (helperOpts?.reportDiscoveryProgress)
|
|
55719
|
+
emitIndexCheckActivity(opts, "Discovering source files");
|
|
55657
55720
|
const discoveredFiles = await listProjectFilesWithGitCandidates(projectRoot, projectPatternsForLanguageExtensions(opts), {
|
|
55658
55721
|
...opts?.discovery,
|
|
55659
55722
|
...opts?.logLevel ? { logLevel: opts.logLevel } : {},
|
|
55660
55723
|
...knownSymlinkDirectories !== void 0 ? { knownSymlinkDirectories } : {},
|
|
55661
55724
|
onSymlinkDirectoriesDiscovered,
|
|
55662
|
-
onGitCandidatesDiscovered
|
|
55725
|
+
onGitCandidatesDiscovered,
|
|
55726
|
+
...onDiscoveryProgress ? { onDiscoveryProgress } : {}
|
|
55663
55727
|
});
|
|
55664
55728
|
const additionalFileCandidates = await normalizeIndexedFileInputsWithinRoot(projectRoot, opts?.additionalFiles ?? [], "Additional index file");
|
|
55665
55729
|
const additionalFileExistence = await probePathExistence(additionalFileCandidates, buildConcurrency(opts));
|
|
@@ -55667,10 +55731,13 @@ async function buildProjectIndexWithManifestOptions(projectRoot, opts, helperOpt
|
|
|
55667
55731
|
const discoveredFileSet = new Set(discoveredFiles);
|
|
55668
55732
|
const files = Array.from(/* @__PURE__ */ new Set([...discoveredFiles, ...additionalFiles]));
|
|
55669
55733
|
const transientFiles = additionalFiles.filter((file2) => !discoveredFileSet.has(file2));
|
|
55734
|
+
if (helperOpts?.reportDiscoveryProgress)
|
|
55735
|
+
emitIndexCheckActivity(opts, "Discovering project metadata");
|
|
55670
55736
|
const projectFiles = await discoverProjectFilesWithGitCandidates(projectRoot, {
|
|
55671
55737
|
...opts?.logLevel ? { logLevel: opts.logLevel } : {},
|
|
55672
55738
|
...discoveredSymlinkDirectories !== void 0 ? { knownSymlinkDirectories: discoveredSymlinkDirectories } : {},
|
|
55673
|
-
...discoveredGitCandidates !== void 0 ? { knownGitCandidates: discoveredGitCandidates } : {}
|
|
55739
|
+
...discoveredGitCandidates !== void 0 ? { knownGitCandidates: discoveredGitCandidates } : {},
|
|
55740
|
+
...onDiscoveryProgress ? { onDiscoveryProgress } : {}
|
|
55674
55741
|
});
|
|
55675
55742
|
return await buildIndexFromFileListShared(projectRoot, files, opts, {
|
|
55676
55743
|
manifestMode: useDiskCache ? "read-write" : "off",
|
|
@@ -55810,7 +55877,10 @@ async function buildProjectIndexIncremental(projectRoot, opts) {
|
|
|
55810
55877
|
manifestReport.reason = reason;
|
|
55811
55878
|
manifestReport.reused = false;
|
|
55812
55879
|
}
|
|
55813
|
-
return await buildProjectIndexFromExport(projectRoot, opts, {
|
|
55880
|
+
return await buildProjectIndexFromExport(projectRoot, opts, {
|
|
55881
|
+
ignoreExistingManifest: true,
|
|
55882
|
+
reportDiscoveryProgress: true
|
|
55883
|
+
});
|
|
55814
55884
|
}
|
|
55815
55885
|
const gitAvailable = await isGitRepo(projectRoot);
|
|
55816
55886
|
const hasExplicitGitRange = !!opts?.gitBase || !!opts?.gitHead;
|
|
@@ -55831,7 +55901,10 @@ async function buildProjectIndexIncremental(projectRoot, opts) {
|
|
|
55831
55901
|
manifestReport.reused = false;
|
|
55832
55902
|
}
|
|
55833
55903
|
logWithLevel(opts?.logLevel, "warn", "Warning: Manifest commit is no longer available; rebuilding full index.");
|
|
55834
|
-
const rebuiltIndex = await buildProjectIndexFromExport(projectRoot, opts, {
|
|
55904
|
+
const rebuiltIndex = await buildProjectIndexFromExport(projectRoot, opts, {
|
|
55905
|
+
ignoreExistingManifest: true,
|
|
55906
|
+
reportDiscoveryProgress: true
|
|
55907
|
+
});
|
|
55835
55908
|
if (manifestReport) {
|
|
55836
55909
|
manifestReport.reason = "staleGitCommit";
|
|
55837
55910
|
manifestReport.reused = false;
|
|
@@ -55849,7 +55922,10 @@ async function buildProjectIndexIncremental(projectRoot, opts) {
|
|
|
55849
55922
|
}
|
|
55850
55923
|
if (mismatches > 0 || missing > 0) {
|
|
55851
55924
|
logWithLevel(opts?.logLevel, "warn", `Warning: Manifest verification failed (mismatches: ${mismatches}, missing: ${missing}). Rebuilding full index.`);
|
|
55852
|
-
return await buildProjectIndexFromExport(projectRoot, opts, {
|
|
55925
|
+
return await buildProjectIndexFromExport(projectRoot, opts, {
|
|
55926
|
+
ignoreExistingManifest: true,
|
|
55927
|
+
reportDiscoveryProgress: true
|
|
55928
|
+
});
|
|
55853
55929
|
}
|
|
55854
55930
|
}
|
|
55855
55931
|
const trackedEntries = sanitizeManifestEntriesForRoot(projectRoot, manifest.files);
|
|
@@ -55874,7 +55950,10 @@ async function buildProjectIndexIncremental(projectRoot, opts) {
|
|
|
55874
55950
|
manifestReport.reused = false;
|
|
55875
55951
|
}
|
|
55876
55952
|
logWithLevel(opts?.logLevel, "warn", "Warning: Failed to list untracked project files via Git; rebuilding full index.", error51);
|
|
55877
|
-
return await buildProjectIndexFromExport(projectRoot, opts, {
|
|
55953
|
+
return await buildProjectIndexFromExport(projectRoot, opts, {
|
|
55954
|
+
ignoreExistingManifest: true,
|
|
55955
|
+
reportDiscoveryProgress: true
|
|
55956
|
+
});
|
|
55878
55957
|
}
|
|
55879
55958
|
} else if (!opts?.filesAreProjectScope) {
|
|
55880
55959
|
rediscoveredFiles = await listProjectFilesWithGitCandidates(projectRoot, projectPatternsForLanguageExtensions(opts), {
|
|
@@ -76764,11 +76843,7 @@ var init_commandCatalog = __esm({
|
|
|
76764
76843
|
"use strict";
|
|
76765
76844
|
CLI_COMMAND_CATALOG = [
|
|
76766
76845
|
{ name: "orient", summary: "Build a compact first-turn packet for agent repo context", family: "start" },
|
|
76767
|
-
{
|
|
76768
|
-
name: "explore",
|
|
76769
|
-
summary: "Answer a broad repo question with search, packets, paths, and blast radius",
|
|
76770
|
-
family: "start"
|
|
76771
|
-
},
|
|
76846
|
+
{ name: "explore", summary: "Derive context from one hybrid search", family: "search" },
|
|
76772
76847
|
{ name: "file", summary: "Read a live project file with bounded line pagination", family: "navigate" },
|
|
76773
76848
|
{ name: "review", summary: "Generate code review report", family: "review" },
|
|
76774
76849
|
{ name: "packet", summary: "Retrieve bounded evidence packets by file path or stable target", family: "navigate" },
|
|
@@ -77130,13 +77205,14 @@ Safety:
|
|
|
77130
77205
|
Supports shared --cache, --cache-dir, --cache-strict, --cache-verify, --threads, --native, --workers, --include-glob, --ignore-glob, and --no-gitignore options.
|
|
77131
77206
|
Cache precedence is --cache-dir, then CODEGRAPH_CACHE_DIR, then cache.location from project/user config, then repository metadata, then the project root. Use cache.location "project", "repo", "user", or an absolute path. A configured anchor that resolves to the home directory or a filesystem root is rejected with an error.
|
|
77132
77207
|
Index builds report progress automatically on an interactive stderr terminal. Use --progress to force redirected progress logs or --no-progress to suppress feedback.`;
|
|
77133
|
-
EXPLORE_HELP_TEXT = `codegraph explore -
|
|
77208
|
+
EXPLORE_HELP_TEXT = `codegraph explore - Derive context from one hybrid search
|
|
77134
77209
|
|
|
77135
77210
|
Usage: codegraph explore "<query>" [--root <path>] [--limit <n>] [--max-packets <n>] [--max-paths <n>] [--no-source] [--include-graph-context] [--allow-sensitive] [--json | --pretty]
|
|
77136
77211
|
|
|
77137
77212
|
Output:
|
|
77138
|
-
|
|
77139
|
-
|
|
77213
|
+
One hybrid search plus context from top results.
|
|
77214
|
+
Not a first step: \`codegraph orient\`, \`codegraph search\`/\`codegraph grep\`, then \`codegraph refs\`/\`codegraph callers\`. Use explore only for context from a narrow query.
|
|
77215
|
+
\`analysis\` is parser backend quality, not query reasoning.
|
|
77140
77216
|
|
|
77141
77217
|
${SHARED_INDEX_OPTIONS_HELP}
|
|
77142
77218
|
`;
|
|
@@ -100407,7 +100483,7 @@ var init_tools = __esm({
|
|
|
100407
100483
|
},
|
|
100408
100484
|
{
|
|
100409
100485
|
name: "explore",
|
|
100410
|
-
description: "
|
|
100486
|
+
description: "One hybrid search plus context from top results. Not a first step; use refs or calls for known symbols.",
|
|
100411
100487
|
inputSchema: objectSchema({
|
|
100412
100488
|
query: stringProperty,
|
|
100413
100489
|
limit: { type: "integer", minimum: 0, maximum: 50, default: 5 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandCatalog.d.ts","sourceRoot":"","sources":["../../src/cli/commandCatalog.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,SAAS,kBAAkB,
|
|
1
|
+
{"version":3,"file":"commandCatalog.d.ts","sourceRoot":"","sources":["../../src/cli/commandCatalog.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,SAAS,kBAAkB,EAuD5D,CAAC;AAOF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAgBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,EAAE,CAW7E;AASD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnE;AAYD,wBAAgB,oBAAoB,CAAC,QAAQ,GAAE,OAAe,GAAG,MAAM,CAMtE"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
export const CLI_COMMAND_CATALOG = [
|
|
2
2
|
{ name: "orient", summary: "Build a compact first-turn packet for agent repo context", family: "start" },
|
|
3
|
-
{
|
|
4
|
-
name: "explore",
|
|
5
|
-
summary: "Answer a broad repo question with search, packets, paths, and blast radius",
|
|
6
|
-
family: "start",
|
|
7
|
-
},
|
|
3
|
+
{ name: "explore", summary: "Derive context from one hybrid search", family: "search" },
|
|
8
4
|
{ name: "file", summary: "Read a live project file with bounded line pagination", family: "navigate" },
|
|
9
5
|
{ name: "review", summary: "Generate code review report", family: "review" },
|
|
10
6
|
{ name: "packet", summary: "Retrieve bounded evidence packets by file path or stable target", family: "navigate" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandCatalog.js","sourceRoot":"","sources":["../../src/cli/commandCatalog.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,mBAAmB,GAAkC;IAChE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,0DAA0D,EAAE,MAAM,EAAE,OAAO,EAAE;IACxG
|
|
1
|
+
{"version":3,"file":"commandCatalog.js","sourceRoot":"","sources":["../../src/cli/commandCatalog.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/help.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const LIFECYCLE_HELP_TEXT = "codegraph init/status/sync/uninit -
|
|
|
6
6
|
export declare const AFFECTED_HELP_TEXT = "codegraph affected - List tests likely affected by changed files\n\nUsage:\n codegraph affected [file...] [--stdin] [--base <ref> --head <ref>] [--root <path>] [--depth <n>] [--filter <glob>] [--json | --quiet]\n\nOptions:\n --depth <n> Reverse dependency traversal depth (default: 1)\n --filter <glob> Restrict returned test files by project-root-relative glob\n --stdin Read newline-delimited changed files from stdin\n --quiet Print affected test paths only\n";
|
|
7
7
|
export declare const INSTALL_HELP_TEXT = "codegraph install - Configure Codegraph for supported agent clients\n\nUsage: codegraph install [target] [--target <codex,claude,cursor,gemini,opencode,omp,kilo,agents> | --all] [--yes | --dry-run] [--force] [--json | --pretty] [--print-config <target>] [--detect]\n\nTargets:\n codex, claude, cursor, gemini, opencode, omp, kilo, agents\n --all selects the full catalog in the listed order without detection.\n\nSafety:\n Interactive terminals preview changes and ask for confirmation. Noninteractive writes require --yes; use --dry-run to preview changed files or --print-config <target> to print the MCP snippet.\n --force overwrites conflicting skill or config files the installer refuses to clobber by default; collision errors tell you to re-run with --force.\n --all cannot be combined with a target, --detect, or --print-config.\n";
|
|
8
8
|
export declare const UNINSTALL_HELP_TEXT = "codegraph uninstall - Remove Codegraph-owned installer configuration\n\nUsage: codegraph uninstall [target] [--target <codex,claude,cursor,gemini,opencode,omp,kilo,agents>] [--yes | --dry-run] [--json | --pretty] [--detect]\n\nSafety:\n Removes only Codegraph-owned marker blocks, marker files, exact bundled skill payloads, or exact installer-owned MCP entries.\n";
|
|
9
|
-
export declare const EXPLORE_HELP_TEXT = "codegraph explore -
|
|
9
|
+
export declare const EXPLORE_HELP_TEXT = "codegraph explore - Derive context from one hybrid search\n\nUsage: codegraph explore \"<query>\" [--root <path>] [--limit <n>] [--max-packets <n>] [--max-paths <n>] [--no-source] [--include-graph-context] [--allow-sensitive] [--json | --pretty]\n\nOutput:\n One hybrid search plus context from top results.\n Not a first step: `codegraph orient`, `codegraph search`/`codegraph grep`, then `codegraph refs`/`codegraph callers`. Use explore only for context from a narrow query.\n `analysis` is parser backend quality, not query reasoning.\n\nIndex options:\n Supports shared --cache, --cache-dir, --cache-strict, --cache-verify, --threads, --native, --workers, --include-glob, --ignore-glob, and --no-gitignore options.\n Cache precedence is --cache-dir, then CODEGRAPH_CACHE_DIR, then cache.location from project/user config, then repository metadata, then the project root. Use cache.location \"project\", \"repo\", \"user\", or an absolute path. A configured anchor that resolves to the home directory or a filesystem root is rejected with an error.\n Index builds report progress automatically on an interactive stderr terminal. Use --progress to force redirected progress logs or --no-progress to suppress feedback.\n";
|
|
10
10
|
export declare const FILE_HELP_TEXT = "codegraph file - Read a live project file with bounded line pagination\n\nUsage: codegraph file <path> [--root <path>] [--offset <line>] [--limit <lines>] [--max-bytes <bytes>] [--include-graph-context] [--allow-sensitive] [--json | --pretty]\n\nOutput:\n Pretty output is the default and uses exact number<TAB>line source lines plus bounded graph context when requested. Use --json for structured fields.\n A file-ending newline is represented as a final numbered empty line. Follow page.nextOffset or the pretty next-page command for more lines.\n\nSafety:\n Paths are confined to --root after realpath resolution. Binary files are rejected. Known sensitive text configs return structural key summaries; key material returns metadata only. Use --allow-sensitive for raw access subject to binary and UTF-8 guards.\n";
|
|
11
11
|
export declare const SEARCH_HELP_TEXT = "codegraph search - Ranked agent search across project context\n\nUsage: codegraph search \"<query>\" [--root <path>] [--mode hybrid|symbol|path|text|graph|sql] [--limit <n>] [--from <file|handle>] [--depth <n>] [--no-snippets] [--report [--report-file <path>]] [--json | --pretty]\n\nSearch Modes:\n hybrid Rank across files, symbols, chunks, SQL, and graph context\n symbol Prefer indexed symbols and stable symbol handles\n path Prefer file paths\n text Prefer text/snippet matches\n graph Prefer graph neighborhoods\n sql Prefer SQL object context\n\nOutput:\n Results include top-level analysis metadata plus stable handles, rank reasons, provenance, evidence, graph neighbors, follow-up commands, limits, and omission counts.\n Hybrid search is code-first by default: source files and symbols outrank docs unless you use text mode or the docs are the strongest remaining evidence.\n --report writes command and index timings to stderr; --report-file writes the same JSON report to a file without changing search output.\n\nIndex options:\n Supports shared --cache, --cache-dir, --cache-strict, --cache-verify, --threads, --native, --workers, --include-glob, --ignore-glob, and --no-gitignore options.\n Cache precedence is --cache-dir, then CODEGRAPH_CACHE_DIR, then cache.location from project/user config, then repository metadata, then the project root. Use cache.location \"project\", \"repo\", \"user\", or an absolute path. A configured anchor that resolves to the home directory or a filesystem root is rejected with an error.\n Index builds report progress automatically on an interactive stderr terminal. Use --progress to force redirected progress logs or --no-progress to suppress feedback.\n";
|
|
12
12
|
export declare const GOTO_HELP_TEXT = "codegraph goto - Go to a definition\n\nUsage: codegraph goto <file|file::symbol|symbol:...> [--root <path>] [--json | --pretty]\n codegraph goto <file>[:line[:column]] [line] [column] [--root <path>] [--json | --pretty]\n\nA qualified symbol path or portable symbol handle resolves one definition without a location. A file-only target succeeds when the file defines one symbol; otherwise JSON returns bounded candidates. Search-result locations and portable symbol handles can be pasted directly.\n\nIndex options:\n Supports shared --cache, --cache-dir, --cache-strict, --cache-verify, --threads, --native, --workers, --include-glob, --ignore-glob, and --no-gitignore options.\n Cache precedence is --cache-dir, then CODEGRAPH_CACHE_DIR, then cache.location from project/user config, then repository metadata, then the project root. Use cache.location \"project\", \"repo\", \"user\", or an absolute path. A configured anchor that resolves to the home directory or a filesystem root is rejected with an error.\n Index builds report progress automatically on an interactive stderr terminal. Use --progress to force redirected progress logs or --no-progress to suppress feedback.\n";
|
package/dist/cli/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,eAAO,MAAM,kBAAkB,ydASQ,CAAC;AAExC,eAAO,MAAM,aAAa,QAkHzB,CAAC;AACF,eAAO,MAAM,kBAAkB,QAI9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,miDAiB/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,ofAU9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,g1BAY7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,kXAM/B,CAAC;AAMF,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,eAAO,MAAM,kBAAkB,ydASQ,CAAC;AAExC,eAAO,MAAM,aAAa,QAkHzB,CAAC;AACF,eAAO,MAAM,kBAAkB,QAI9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,miDAiB/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,ofAU9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,g1BAY7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,kXAM/B,CAAC;AAMF,eAAO,MAAM,iBAAiB,itCAU7B,CAAC;AAEF,eAAO,MAAM,cAAc,wzBAU1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,itDAkB5B,CAAC;AAEF,eAAO,MAAM,cAAc,2qCAQ1B,CAAC;AAEF,eAAO,MAAM,cAAc,usCAS1B,CAAC;AAEF,eAAO,MAAM,cAAc,4yBAO1B,CAAC;AAEF,eAAO,MAAM,aAAa,yNAIzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,y6CAY7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,skCAO7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,skCAO7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,q/BAOhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,++BAO9B,CAAC;AAEF,eAAO,MAAM,yBAAyB,oiCAOrC,CAAC;AAEF,eAAO,MAAM,wBAAwB,qyCASpC,CAAC;AAEF,eAAO,MAAM,uBAAuB,+4CASnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,i2CAS5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,y8CAgB5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,g/CAW7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,+3CAgB9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,2jDAkB5B,CAAC;AAEF,eAAO,MAAM,aAAa,g2CAwBzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,i4EAwC/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,k8FAwChC,CAAC;AAEF,eAAO,MAAM,eAAe,qrCAe3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,qgCAc5B,CAAC;AAEF,eAAO,MAAM,eAAe,2jCAQ3B,CAAC;AAEF,eAAO,MAAM,eAAe,mmCAQ3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,qnDAiB5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,o9BAQ5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,o2BAK7B,CAAC;AAEF,eAAO,MAAM,cAAc,wmCAS1B,CAAC;AAEF,eAAO,MAAM,eAAe,0nCAS3B,CAAC;AAEF,eAAO,MAAM,cAAc,u0BAK1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,s0BAK5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,6zBAK9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,4zBAKhC,CAAC;AAEF,eAAO,MAAM,eAAe,2mBAY3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,2zBAKhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,y2BAKjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,wPAM5B,CAAC;AAEF,eAAO,MAAM,eAAe,+KAG3B,CAAC;AAEF,eAAO,MAAM,eAAe,4UAM3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,syBAK7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gHAG7B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAoDtG"}
|
package/dist/cli/help.js
CHANGED
|
@@ -183,13 +183,14 @@ const SHARED_INDEX_OPTIONS_HELP = `Index options:
|
|
|
183
183
|
Supports shared --cache, --cache-dir, --cache-strict, --cache-verify, --threads, --native, --workers, --include-glob, --ignore-glob, and --no-gitignore options.
|
|
184
184
|
Cache precedence is --cache-dir, then CODEGRAPH_CACHE_DIR, then cache.location from project/user config, then repository metadata, then the project root. Use cache.location "project", "repo", "user", or an absolute path. A configured anchor that resolves to the home directory or a filesystem root is rejected with an error.
|
|
185
185
|
Index builds report progress automatically on an interactive stderr terminal. Use --progress to force redirected progress logs or --no-progress to suppress feedback.`;
|
|
186
|
-
export const EXPLORE_HELP_TEXT = `codegraph explore -
|
|
186
|
+
export const EXPLORE_HELP_TEXT = `codegraph explore - Derive context from one hybrid search
|
|
187
187
|
|
|
188
188
|
Usage: codegraph explore "<query>" [--root <path>] [--limit <n>] [--max-packets <n>] [--max-paths <n>] [--no-source] [--include-graph-context] [--allow-sensitive] [--json | --pretty]
|
|
189
189
|
|
|
190
190
|
Output:
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
One hybrid search plus context from top results.
|
|
192
|
+
Not a first step: \`codegraph orient\`, \`codegraph search\`/\`codegraph grep\`, then \`codegraph refs\`/\`codegraph callers\`. Use explore only for context from a narrow query.
|
|
193
|
+
\`analysis\` is parser backend quality, not query reasoning.
|
|
193
194
|
|
|
194
195
|
${SHARED_INDEX_OPTIONS_HELP}
|
|
195
196
|
`;
|
package/dist/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;uCASK,CAAC;AAExC,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;EAY3B,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGvB,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;EAGhC,oBAAoB,CAAC,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;CAiBlC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;CAUjC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;CAYhC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;CAMlC,CAAC;AACF,MAAM,yBAAyB,GAAG;;;wKAGsI,CAAC;AAEzK,MAAM,CAAC,MAAM,iBAAiB,GAAG
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"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"}
|