@fodx/codelens 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/adapters/pi/codelens.extension.ts +20 -20
- package/build/src/cli.js +7 -4
- package/build/src/cli.js.map +1 -1
- package/build/src/db/migrations.js +8 -0
- package/build/src/db/migrations.js.map +1 -1
- package/build/src/graph/edges.js +77 -26
- package/build/src/graph/edges.js.map +1 -1
- package/build/src/graph/grammars.js +12 -0
- package/build/src/graph/grammars.js.map +1 -1
- package/build/src/graph/symbols.js +4 -11
- package/build/src/graph/symbols.js.map +1 -1
- package/build/src/index/freshness.js +13 -0
- package/build/src/index/freshness.js.map +1 -1
- package/build/src/index/fts.js +205 -21
- package/build/src/index/fts.js.map +1 -1
- package/build/src/installer/agents.js +17 -6
- package/build/src/installer/agents.js.map +1 -1
- package/build/src/search/identifiers.js +52 -0
- package/build/src/search/identifiers.js.map +1 -0
- package/build/src/search/query.js +13 -0
- package/build/src/search/query.js.map +1 -0
- package/build/src/search/rank.js +21 -10
- package/build/src/search/rank.js.map +1 -1
- package/build/src/search/snippet.js +33 -1
- package/build/src/search/snippet.js.map +1 -1
- package/build/src/server.js +1 -1
- package/build/src/server.js.map +1 -1
- package/build/src/tools/map.js +50 -0
- package/build/src/tools/map.js.map +1 -0
- package/build/src/tools/registry.js +20 -0
- package/build/src/tools/registry.js.map +1 -1
- package/build/src/tools/search.js +101 -16
- package/build/src/tools/search.js.map +1 -1
- package/docs/agent-guide.md +9 -4
- package/docs/routing.md +27 -21
- package/docs/tools.md +13 -3
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -149,9 +149,10 @@ node build/src/server.js
|
|
|
149
149
|
|
|
150
150
|
1. In your repo, the agent calls `cl_current` (builds index if missing) or
|
|
151
151
|
`cl_refresh` explicitly.
|
|
152
|
-
2. `cl_search(query: "session validation")` → ranked handles.
|
|
153
|
-
3. `cl_related(path: "src/auth/session.ts", types: ["tests"])` → tests.
|
|
154
|
-
4. `
|
|
152
|
+
2. `cl_search(query: "session validation")` → ranked handles (signature-first previews; pass `snippet:"full"` for more).
|
|
153
|
+
3. `cl_related(path: "src/auth/session.ts", types: ["tests"])` → tests/callers.
|
|
154
|
+
4. `cl_map(path: "src/auth")` → per-file symbol outline for orientation.
|
|
155
|
+
5. `cl_expand(path: "src/auth/session.ts", startLine: 12, endLine: 58)` → exact code.
|
|
155
156
|
|
|
156
157
|
See [`docs/agent-guide.md`](docs/agent-guide.md) for a full walkthrough,
|
|
157
158
|
[`docs/tools.md`](docs/tools.md) for the tool reference, and
|
|
@@ -184,6 +185,7 @@ npm run lint # eslint
|
|
|
184
185
|
npm test # vitest run
|
|
185
186
|
npm run build # tsc + copy schema assets
|
|
186
187
|
npm run benchmark # performance gate (search <50ms, cold <3s)
|
|
188
|
+
npm run quality # retrieval-quality fixture (recall@5/MRR/top-1/latency)
|
|
187
189
|
```
|
|
188
190
|
|
|
189
191
|
## Docs
|
|
@@ -148,27 +148,27 @@ class McpStdioClient {
|
|
|
148
148
|
const ROUTING = `
|
|
149
149
|
## CodeLens (code context index) — routing
|
|
150
150
|
|
|
151
|
-
A local branch-scoped code index is available via these tools
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
|
|
156
|
-
contentType:"code" for source only. Auto-builds the index on
|
|
157
|
-
first use, so you can call it directly.
|
|
158
|
-
- cl_related — graph neighbors of a file/symbol (tests, importers, callers)
|
|
151
|
+
A local branch-scoped code index is available via these tools:
|
|
152
|
+
- cl_current — repo/branch/index status (call if unsure whether the index is ready)
|
|
153
|
+
- cl_search — ranked semantic+lexical search → compact handles (path + line range + score)
|
|
154
|
+
- cl_related — graph neighbors of a file/symbol (imports/importers/tests/callers)
|
|
155
|
+
- cl_map — per-file symbol outline (repo map) for quick orientation
|
|
159
156
|
- cl_expand — exact current file content by path/range (reads disk, never stale)
|
|
160
157
|
|
|
161
|
-
|
|
162
|
-
-
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
|
|
166
|
-
- After \`git checkout\`, results auto-scope to the new branch; call cl_current
|
|
167
|
-
if you want to confirm index status.
|
|
168
|
-
- If cl_search returns nothing relevant, fall back to grep/read as usual.
|
|
158
|
+
Prefer cl_* for discovery when:
|
|
159
|
+
- you don't know the exact name/string (semantic or conceptual search)
|
|
160
|
+
- you need relationships (importers, tests, callers) or a quick outline
|
|
161
|
+
- the repo is large or unfamiliar, or you'd otherwise grep + read many files
|
|
162
|
+
- branch-scoped correctness matters (results won't leak across branches)
|
|
169
163
|
|
|
170
|
-
|
|
171
|
-
|
|
164
|
+
Raw grep/find/read is fine (or better) when:
|
|
165
|
+
- you already know an exact string/symbol/path
|
|
166
|
+
- you're reading or editing a single known file
|
|
167
|
+
- the repo is tiny or familiar
|
|
168
|
+
|
|
169
|
+
Always use cl_expand or a raw read for the exact file you're about to edit.
|
|
170
|
+
After \`git checkout\`, results auto-scope to the new branch; call cl_current to
|
|
171
|
+
confirm. You do NOT need the user's permission to use these tools.`;
|
|
172
172
|
|
|
173
173
|
// ── Extension entry ──────────────────────────────────────────
|
|
174
174
|
|
|
@@ -282,8 +282,8 @@ export default function (pi: PiExtensionAPI) {
|
|
|
282
282
|
const text = await call("cl_search", { query, limit: 5 });
|
|
283
283
|
try {
|
|
284
284
|
const r = JSON.parse(text);
|
|
285
|
-
const lines = (r.results ?? []).map((h: { score: number; path: string;
|
|
286
|
-
`${h.score.toFixed(3)} ${h.path}:${h.
|
|
285
|
+
const lines = (r.results ?? []).map((h: { score: number; path: string; lines: string; why?: string }) =>
|
|
286
|
+
`${h.score.toFixed(3)} ${h.path}:${h.lines} [${h.why ?? ""}]`);
|
|
287
287
|
ctx.ui.notify(lines.length ? lines.join("\n") : "no results", "info");
|
|
288
288
|
} catch { ctx.ui.notify(text.slice(0, 800), "info"); }
|
|
289
289
|
},
|
package/build/src/cli.js
CHANGED
|
@@ -156,19 +156,22 @@ export async function cli(args) {
|
|
|
156
156
|
break;
|
|
157
157
|
}
|
|
158
158
|
case "search": {
|
|
159
|
-
// support --type code|prose
|
|
159
|
+
// support --type code|prose and --preview
|
|
160
160
|
const typeIdx = args.indexOf("--type");
|
|
161
161
|
const contentType = typeIdx >= 0 ? args[typeIdx + 1] : undefined;
|
|
162
|
-
const
|
|
162
|
+
const preview = args.includes("--preview");
|
|
163
|
+
const queryArgs = args.slice(1).filter((a) => a !== "--type" && a !== "--preview" && a !== contentType);
|
|
163
164
|
const query = queryArgs.join(" ");
|
|
164
165
|
if (!query) {
|
|
165
166
|
console.error("search requires a query");
|
|
166
167
|
return 1;
|
|
167
168
|
}
|
|
168
169
|
ensureActiveIndex(coreDb, repoRoot);
|
|
169
|
-
const r = ctxSearch(coreDb, query, { scope: detectScope(repoRoot) ?? undefined, contentType });
|
|
170
|
+
const r = ctxSearch(coreDb, query, { scope: detectScope(repoRoot) ?? undefined, contentType, snippet: preview ? "headline" : undefined });
|
|
170
171
|
for (const h of r.results) {
|
|
171
|
-
console.log(`${h.score.toFixed(3)} ${h.path}:${h.
|
|
172
|
+
console.log(`${h.score.toFixed(3)} ${h.path}:${h.lines} [${h.why}]`);
|
|
173
|
+
if (preview && h.preview)
|
|
174
|
+
console.log(` ${h.preview}`);
|
|
172
175
|
}
|
|
173
176
|
break;
|
|
174
177
|
}
|
package/build/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,14 @@ export class DbVersionMismatch extends Error {
|
|
|
24
24
|
/** v1 migration: create the full initial schema. */
|
|
25
25
|
export const MIGRATIONS = [
|
|
26
26
|
{ version: 1, description: "initial schema", sql: SCHEMA_V1 },
|
|
27
|
+
{
|
|
28
|
+
version: 2,
|
|
29
|
+
description: "chunker metadata",
|
|
30
|
+
sql: `
|
|
31
|
+
ALTER TABLE chunks ADD COLUMN chunker TEXT;
|
|
32
|
+
ALTER TABLE chunks ADD COLUMN chunker_version INTEGER;
|
|
33
|
+
`,
|
|
34
|
+
},
|
|
27
35
|
];
|
|
28
36
|
export const CODE_SCHEMA_VERSION = MIGRATIONS.reduce((m, x) => Math.max(m, x.version), 0);
|
|
29
37
|
/** Read the highest applied version from the DB (0 if fresh). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/db/migrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;;;;;;;;GASG;AAEH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACvB;IAA0B;IAA7C,YAAmB,SAAiB,EAAS,WAAmB;QAC9D,KAAK,CAAC,qBAAqB,SAAS,uBAAuB,WAAW,oBAAoB,CAAC,CAAC;QAD3E,cAAS,GAAT,SAAS,CAAQ;QAAS,gBAAW,GAAX,WAAW,CAAQ;QAE9D,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAQD,oDAAoD;AACpD,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/db/migrations.ts"],"names":[],"mappings":"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"}
|
package/build/src/graph/edges.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
-
import {
|
|
2
|
+
import { parseFile } from "./grammars.js";
|
|
3
3
|
import { resolveImportFs, resolveImport } from "./resolve.js";
|
|
4
4
|
// Node types that carry an import spec, per grammar.
|
|
5
5
|
const IMPORT_SPEC_FIELDS = ["source", "module_name", "name", "path"];
|
|
@@ -25,40 +25,91 @@ function* iterAll(node) {
|
|
|
25
25
|
function stripQuotes(s) {
|
|
26
26
|
return s.replace(/^["'`]|["'`]$/g, "");
|
|
27
27
|
}
|
|
28
|
+
/** Safe `childForFieldName` accessor (the tree-sitter type doesn't declare it). */
|
|
29
|
+
function childField(node, field) {
|
|
30
|
+
return node.childForFieldName?.(field) ?? null;
|
|
31
|
+
}
|
|
32
|
+
/** First string literal inside a call's argument list (for dynamic import()). */
|
|
33
|
+
function firstStringArg(call) {
|
|
34
|
+
const scan = childField(call, "arguments") ?? call;
|
|
35
|
+
for (const c of iterAll(scan)) {
|
|
36
|
+
if (c.type === "string" || c.type === "string_fragment")
|
|
37
|
+
return stripQuotes(c.text);
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
/** Local binding names introduced by an import statement (TS/JS). */
|
|
42
|
+
function importBindingNames(node) {
|
|
43
|
+
const names = [];
|
|
44
|
+
for (const c of iterAll(node)) {
|
|
45
|
+
if (c.type === "identifier")
|
|
46
|
+
names.push(c.text);
|
|
47
|
+
}
|
|
48
|
+
return names;
|
|
49
|
+
}
|
|
28
50
|
/**
|
|
29
51
|
* Extract edges for a single file. `knownFiles` (repo-relative POSIX set) is
|
|
30
52
|
* used to resolve imports to indexed files; falls back to the filesystem.
|
|
31
53
|
*/
|
|
32
|
-
export function extractEdges(path, lang, source, repoRoot, knownFiles) {
|
|
33
|
-
const
|
|
34
|
-
if (!
|
|
54
|
+
export function extractEdges(path, lang, source, repoRoot, knownFiles, parsedTree) {
|
|
55
|
+
const tree = parsedTree ?? parseFile(lang, source);
|
|
56
|
+
if (!tree)
|
|
35
57
|
return [];
|
|
36
|
-
let tree;
|
|
37
|
-
try {
|
|
38
|
-
tree = parser.parse(source);
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
return [];
|
|
42
|
-
}
|
|
43
58
|
const out = [];
|
|
44
59
|
const root = tree.rootNode;
|
|
45
|
-
|
|
60
|
+
const jsts = lang === "typescript" || lang === "javascript";
|
|
61
|
+
// local import name -> resolved target file (TS/JS, for calls/references)
|
|
62
|
+
const bindings = new Map();
|
|
63
|
+
const resolveSpec = (spec) => spec ? (resolveImportFs(repoRoot, path, spec) ?? resolveImport(path, spec, knownFiles)) : null;
|
|
64
|
+
// Pass 1: imports (static + dynamic). Unresolved imports emit a 0-confidence
|
|
65
|
+
// edge that insertEdges filters out (no edge beats a wrong edge).
|
|
46
66
|
for (const node of iterAll(root)) {
|
|
47
67
|
if (node.type === "import_statement" || node.type === "import_declaration" || node.type === "import_from_statement") {
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
68
|
+
const target = resolveSpec(importSpec(node));
|
|
69
|
+
out.push({ fromPath: path, toPath: target, fromSymbol: null, toSymbol: null, type: "imports", confidence: target ? 0.9 : 0.0 });
|
|
70
|
+
if (jsts && target)
|
|
71
|
+
for (const name of importBindingNames(node))
|
|
72
|
+
bindings.set(name, target);
|
|
73
|
+
}
|
|
74
|
+
else if (node.type === "call_expression") {
|
|
75
|
+
const fn = childField(node, "function");
|
|
76
|
+
if (fn && (fn.type === "import" || fn.text === "import")) {
|
|
77
|
+
// dynamic import("…")
|
|
78
|
+
const target = resolveSpec(firstStringArg(node));
|
|
79
|
+
out.push({ fromPath: path, toPath: target, fromSymbol: null, toSymbol: null, type: "imports", confidence: target ? 0.9 : 0.0 });
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Pass 2 (TS/JS only): calls + references resolved THROUGH import bindings, so
|
|
84
|
+
// every emitted edge points at a known file. Deduped per (target, type) to
|
|
85
|
+
// keep the graph compact.
|
|
86
|
+
if (jsts && bindings.size > 0) {
|
|
87
|
+
const callsSeen = new Set();
|
|
88
|
+
const refsSeen = new Set();
|
|
89
|
+
for (const node of iterAll(root)) {
|
|
90
|
+
if (node.type === "call_expression") {
|
|
91
|
+
const fn = childField(node, "function");
|
|
92
|
+
if (!fn)
|
|
93
|
+
continue;
|
|
94
|
+
let callee = null;
|
|
95
|
+
if (fn.type === "identifier")
|
|
96
|
+
callee = fn.text;
|
|
97
|
+
else if (fn.type === "member_expression") {
|
|
98
|
+
const obj = childField(fn, "object");
|
|
99
|
+
if (obj && obj.type === "identifier")
|
|
100
|
+
callee = obj.text; // ns.foo()
|
|
101
|
+
}
|
|
102
|
+
if (callee && bindings.has(callee) && !callsSeen.has(callee)) {
|
|
103
|
+
callsSeen.add(callee);
|
|
104
|
+
out.push({ fromPath: path, toPath: bindings.get(callee), fromSymbol: null, toSymbol: callee, type: "calls", confidence: 0.7 });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else if (node.type === "member_expression") {
|
|
108
|
+
const obj = childField(node, "object");
|
|
109
|
+
if (obj && obj.type === "identifier" && bindings.has(obj.text) && !refsSeen.has(obj.text)) {
|
|
110
|
+
refsSeen.add(obj.text);
|
|
111
|
+
out.push({ fromPath: path, toPath: bindings.get(obj.text), fromSymbol: null, toSymbol: obj.text, type: "references", confidence: 0.6 });
|
|
112
|
+
}
|
|
62
113
|
}
|
|
63
114
|
}
|
|
64
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edges.js","sourceRoot":"","sources":["../../../src/graph/edges.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"edges.js","sourceRoot":"","sources":["../../../src/graph/edges.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,4 +54,16 @@ export function makeParser(lang) {
|
|
|
54
54
|
return null;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
+
/** Parse source once for a language, or null on unsupported grammar / parse failure. */
|
|
58
|
+
export function parseFile(lang, source) {
|
|
59
|
+
const parser = makeParser(lang);
|
|
60
|
+
if (!parser)
|
|
61
|
+
return null;
|
|
62
|
+
try {
|
|
63
|
+
return parser.parse(source);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
57
69
|
//# sourceMappingURL=grammars.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../../src/graph/grammars.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAYhD,MAAM,eAAe,GAAmC;IACtD,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,UAAsB;IAC3E,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAa;IAChE,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IACxD,EAAE,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAChD,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAa;IACpD,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAa;IACpD,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAa;IACpD,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAe;IACtD,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAa;IAC9C,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAa;CACnD,CAAC;AAEF,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEjD,gFAAgF;AAChF,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACpD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,WAAW,CAAC,IAA+B;IACzD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AACpC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,oFAAoF;QACnF,MAA2D,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClF,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../../src/graph/grammars.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { parseFile } from "./grammars.js";
|
|
2
2
|
// Node types → symbol kind. Covers TS/JS/Python/Go/Rust/Java/Ruby/PHP/C/C++.
|
|
3
3
|
const SYMBOL_TYPES = {
|
|
4
4
|
function_declaration: "function",
|
|
@@ -24,17 +24,10 @@ const SYMBOL_TYPES = {
|
|
|
24
24
|
};
|
|
25
25
|
// Node types that indicate an export (TS/JS).
|
|
26
26
|
const EXPORT_WRAPPERS = new Set(["export_statement", "export_declaration"]);
|
|
27
|
-
export function extractSymbols(path, lang, source) {
|
|
28
|
-
const
|
|
29
|
-
if (!
|
|
27
|
+
export function extractSymbols(path, lang, source, parsedTree) {
|
|
28
|
+
const tree = parsedTree ?? parseFile(lang, source);
|
|
29
|
+
if (!tree)
|
|
30
30
|
return [];
|
|
31
|
-
let tree;
|
|
32
|
-
try {
|
|
33
|
-
tree = parser.parse(source);
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
36
|
-
return [];
|
|
37
|
-
}
|
|
38
31
|
const out = [];
|
|
39
32
|
const root = tree.rootNode;
|
|
40
33
|
function nodeName(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../src/graph/symbols.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../src/graph/symbols.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { readFileSync } from "node:fs";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { resolveReal } from "../util/paths.js";
|
|
4
4
|
import { contentHash } from "../util/hash.js";
|
|
5
|
+
import { CHUNKER_VERSION } from "./fts.js";
|
|
5
6
|
/** Load indexed file rows for an index, keyed by POSIX path. */
|
|
6
7
|
function loadStored(db, indexId) {
|
|
7
8
|
const rows = db
|
|
@@ -9,6 +10,14 @@ function loadStored(db, indexId) {
|
|
|
9
10
|
.all(indexId);
|
|
10
11
|
return new Map(rows.map((r) => [r.path, r]));
|
|
11
12
|
}
|
|
13
|
+
/** Paths with at least one chunk produced by an older or unknown chunker. */
|
|
14
|
+
function loadStaleChunkPaths(db, indexId) {
|
|
15
|
+
const rows = db
|
|
16
|
+
.prepare(`SELECT DISTINCT path FROM chunks
|
|
17
|
+
WHERE index_id = ? AND (chunker_version IS NULL OR chunker_version < ?)`)
|
|
18
|
+
.all(indexId, CHUNKER_VERSION);
|
|
19
|
+
return new Set(rows.map((r) => r.path));
|
|
20
|
+
}
|
|
12
21
|
/**
|
|
13
22
|
* Diff scanned files vs stored rows. Fast path: skip hashing when size AND
|
|
14
23
|
* mtime match. Changed/new files are flagged for reindex (hashing happens
|
|
@@ -16,6 +25,7 @@ function loadStored(db, indexId) {
|
|
|
16
25
|
*/
|
|
17
26
|
export function diffFiles(db, indexId, scanned, repoRoot) {
|
|
18
27
|
const stored = loadStored(db, indexId);
|
|
28
|
+
const staleChunkPaths = loadStaleChunkPaths(db, indexId);
|
|
19
29
|
const scannedByPath = new Map(scanned.map((f) => [f.path, f]));
|
|
20
30
|
const unchanged = [];
|
|
21
31
|
const changed = [];
|
|
@@ -26,6 +36,9 @@ export function diffFiles(db, indexId, scanned, repoRoot) {
|
|
|
26
36
|
if (!s) {
|
|
27
37
|
newFiles.push(f);
|
|
28
38
|
}
|
|
39
|
+
else if (staleChunkPaths.has(f.path)) {
|
|
40
|
+
changed.push(f);
|
|
41
|
+
}
|
|
29
42
|
else if (s.size === f.size && s.mtime_ms === f.mtimeMs) {
|
|
30
43
|
unchanged.push(f);
|
|
31
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freshness.js","sourceRoot":"","sources":["../../../src/index/freshness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"freshness.js","sourceRoot":"","sources":["../../../src/index/freshness.ts"],"names":[],"mappings":"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"}
|