@jafreck/lore 0.3.7 → 0.3.8
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 +23 -122
- package/dist/cli.d.ts +2 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +63 -29
- package/dist/cli.js.map +1 -1
- package/dist/db/read-only.d.ts +22 -43
- package/dist/db/read-only.d.ts.map +1 -1
- package/dist/db/read-only.js +80 -156
- package/dist/db/read-only.js.map +1 -1
- package/dist/db/schema.d.ts +9 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +164 -85
- package/dist/db/schema.js.map +1 -1
- package/dist/discovery/poller.d.ts +6 -16
- package/dist/discovery/poller.d.ts.map +1 -1
- package/dist/discovery/poller.js +21 -52
- package/dist/discovery/poller.js.map +1 -1
- package/dist/discovery/scip-flush.d.ts +44 -0
- package/dist/discovery/scip-flush.d.ts.map +1 -0
- package/dist/discovery/scip-flush.js +67 -0
- package/dist/discovery/scip-flush.js.map +1 -0
- package/dist/discovery/watcher.d.ts +6 -16
- package/dist/discovery/watcher.d.ts.map +1 -1
- package/dist/discovery/watcher.js +22 -54
- package/dist/discovery/watcher.js.map +1 -1
- package/dist/docs/docs.d.ts +0 -2
- package/dist/docs/docs.d.ts.map +1 -1
- package/dist/docs/docs.js +0 -27
- package/dist/docs/docs.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/indexer/index.d.ts +19 -10
- package/dist/indexer/index.d.ts.map +1 -1
- package/dist/indexer/index.js +99 -24
- package/dist/indexer/index.js.map +1 -1
- package/dist/indexer/pipeline.d.ts +25 -14
- package/dist/indexer/pipeline.d.ts.map +1 -1
- package/dist/indexer/pipeline.js +8 -7
- package/dist/indexer/pipeline.js.map +1 -1
- package/dist/indexer/stages/docs-index.d.ts +1 -3
- package/dist/indexer/stages/docs-index.d.ts.map +1 -1
- package/dist/indexer/stages/docs-index.js +1 -25
- package/dist/indexer/stages/docs-index.js.map +1 -1
- package/dist/indexer/stages/index.d.ts +4 -2
- package/dist/indexer/stages/index.d.ts.map +1 -1
- package/dist/indexer/stages/index.js +3 -2
- package/dist/indexer/stages/index.js.map +1 -1
- package/dist/indexer/stages/lsp-enrichment.d.ts.map +1 -1
- package/dist/indexer/stages/lsp-enrichment.js +20 -1
- package/dist/indexer/stages/lsp-enrichment.js.map +1 -1
- package/dist/indexer/stages/overlay-cleanup.d.ts +31 -0
- package/dist/indexer/stages/overlay-cleanup.d.ts.map +1 -0
- package/dist/indexer/stages/overlay-cleanup.js +64 -0
- package/dist/indexer/stages/overlay-cleanup.js.map +1 -0
- package/dist/indexer/stages/reverse-deps.d.ts +13 -0
- package/dist/indexer/stages/reverse-deps.d.ts.map +1 -0
- package/dist/indexer/stages/reverse-deps.js +81 -0
- package/dist/indexer/stages/reverse-deps.js.map +1 -0
- package/dist/indexer/stages/{scip-source.d.ts → scip-indexer.d.ts} +38 -9
- package/dist/indexer/stages/scip-indexer.d.ts.map +1 -0
- package/dist/indexer/stages/{scip-source.js → scip-indexer.js} +350 -91
- package/dist/indexer/stages/scip-indexer.js.map +1 -0
- package/dist/indexer/stages/source-index.d.ts +3 -3
- package/dist/indexer/stages/source-index.d.ts.map +1 -1
- package/dist/indexer/stages/source-index.js +116 -69
- package/dist/indexer/stages/source-index.js.map +1 -1
- package/dist/lsp/enrichment.d.ts.map +1 -1
- package/dist/lsp/enrichment.js +1 -18
- package/dist/lsp/enrichment.js.map +1 -1
- package/dist/parsing/extractors/go.d.ts.map +1 -1
- package/dist/parsing/extractors/go.js +0 -38
- package/dist/parsing/extractors/go.js.map +1 -1
- package/dist/parsing/extractors/javascript.d.ts.map +1 -1
- package/dist/parsing/extractors/javascript.js +0 -47
- package/dist/parsing/extractors/javascript.js.map +1 -1
- package/dist/parsing/extractors/python.d.ts.map +1 -1
- package/dist/parsing/extractors/python.js +0 -22
- package/dist/parsing/extractors/python.js.map +1 -1
- package/dist/parsing/extractors/types.d.ts +0 -16
- package/dist/parsing/extractors/types.d.ts.map +1 -1
- package/dist/parsing/extractors/types.js +1 -1
- package/dist/parsing/extractors/types.js.map +1 -1
- package/dist/parsing/extractors/typescript.js +2 -2
- package/dist/parsing/extractors/typescript.js.map +1 -1
- package/dist/resolution/call-graph.d.ts +3 -1
- package/dist/resolution/call-graph.d.ts.map +1 -1
- package/dist/resolution/call-graph.js +15 -13
- package/dist/resolution/call-graph.js.map +1 -1
- package/dist/resolution/resolution-method.d.ts +1 -1
- package/dist/resolution/resolution-method.d.ts.map +1 -1
- package/dist/resolution/resolution-method.js +2 -0
- package/dist/resolution/resolution-method.js.map +1 -1
- package/dist/runtime.d.ts +0 -2
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js.map +1 -1
- package/dist/scip/compdb.d.ts +38 -0
- package/dist/scip/compdb.d.ts.map +1 -0
- package/dist/scip/compdb.js +138 -0
- package/dist/scip/compdb.js.map +1 -0
- package/dist/scip/enrichment.d.ts +6 -1
- package/dist/scip/enrichment.d.ts.map +1 -1
- package/dist/scip/enrichment.js +59 -2
- package/dist/scip/enrichment.js.map +1 -1
- package/dist/scip/installer.d.ts +59 -0
- package/dist/scip/installer.d.ts.map +1 -0
- package/dist/scip/installer.js +302 -0
- package/dist/scip/installer.js.map +1 -0
- package/dist/scip/registry.d.ts +1 -1
- package/dist/scip/registry.d.ts.map +1 -1
- package/dist/scip/registry.js +33 -5
- package/dist/scip/registry.js.map +1 -1
- package/dist/server/server.d.ts +2 -6
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +6 -56
- package/dist/server/server.js.map +1 -1
- package/dist/server/tool-registry.d.ts +2 -2
- package/dist/server/tool-registry.d.ts.map +1 -1
- package/dist/server/tool-registry.js +41 -20
- package/dist/server/tool-registry.js.map +1 -1
- package/dist/server/tools/cohesion.d.ts +46 -0
- package/dist/server/tools/cohesion.d.ts.map +1 -0
- package/dist/server/tools/cohesion.js +100 -0
- package/dist/server/tools/cohesion.js.map +1 -0
- package/dist/server/tools/dependents.d.ts +139 -0
- package/dist/server/tools/dependents.d.ts.map +1 -0
- package/dist/server/tools/dependents.js +354 -0
- package/dist/server/tools/dependents.js.map +1 -0
- package/dist/server/tools/diff.d.ts +73 -0
- package/dist/server/tools/diff.d.ts.map +1 -0
- package/dist/server/tools/diff.js +157 -0
- package/dist/server/tools/diff.js.map +1 -0
- package/dist/server/tools/structure.d.ts +77 -0
- package/dist/server/tools/structure.d.ts.map +1 -0
- package/dist/server/tools/structure.js +309 -0
- package/dist/server/tools/structure.js.map +1 -0
- package/dist/server/tools/test-map.d.ts +7 -0
- package/dist/server/tools/test-map.d.ts.map +1 -1
- package/dist/server/tools/test-map.js +18 -1
- package/dist/server/tools/test-map.js.map +1 -1
- package/dist/server/tools/trace.d.ts +84 -0
- package/dist/server/tools/trace.d.ts.map +1 -0
- package/dist/server/tools/trace.js +317 -0
- package/dist/server/tools/trace.js.map +1 -0
- package/dist/testing/coverage.d.ts +11 -0
- package/dist/testing/coverage.d.ts.map +1 -1
- package/dist/testing/coverage.js +34 -2
- package/dist/testing/coverage.js.map +1 -1
- package/dist/testing/test-mapper.d.ts +1 -1
- package/dist/testing/test-mapper.d.ts.map +1 -1
- package/dist/testing/test-mapper.js +1 -0
- package/dist/testing/test-mapper.js.map +1 -1
- package/package.json +3 -1
- package/dist/indexer/stages/scip-enrichment.d.ts +0 -43
- package/dist/indexer/stages/scip-enrichment.d.ts.map +0 -1
- package/dist/indexer/stages/scip-enrichment.js +0 -172
- package/dist/indexer/stages/scip-enrichment.js.map +0 -1
- package/dist/indexer/stages/scip-source.d.ts.map +0 -1
- package/dist/indexer/stages/scip-source.js.map +0 -1
- package/dist/server/tools/notes.d.ts +0 -165
- package/dist/server/tools/notes.d.ts.map +0 -1
- package/dist/server/tools/notes.js +0 -214
- package/dist/server/tools/notes.js.map +0 -1
- package/dist/server/tools/routes.d.ts +0 -38
- package/dist/server/tools/routes.d.ts.map +0 -1
- package/dist/server/tools/routes.js +0 -38
- package/dist/server/tools/routes.js.map +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module discovery/scip-flush
|
|
3
|
+
*
|
|
4
|
+
* Shared SCIP background baseline rebuild logic used by both
|
|
5
|
+
* FilePoller and FileWatcher.
|
|
6
|
+
*/
|
|
7
|
+
import { IndexBuilder } from '../indexer/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Manages deferred SCIP baseline rebuilds.
|
|
10
|
+
*
|
|
11
|
+
* After each batch of overlay changes, call `accumulate(paths)`. A background
|
|
12
|
+
* baseline rebuild is scheduled after `scipQuietPeriodMs` of inactivity.
|
|
13
|
+
*/
|
|
14
|
+
export class ScipFlushManager {
|
|
15
|
+
config;
|
|
16
|
+
pathsSinceLastScip = new Set();
|
|
17
|
+
timer = null;
|
|
18
|
+
constructor(config) {
|
|
19
|
+
this.config = config;
|
|
20
|
+
}
|
|
21
|
+
/** Accumulate changed paths and (re-)schedule the background rebuild. */
|
|
22
|
+
accumulate(paths) {
|
|
23
|
+
for (const p of paths)
|
|
24
|
+
this.pathsSinceLastScip.add(p);
|
|
25
|
+
this.schedule();
|
|
26
|
+
}
|
|
27
|
+
/** Cancel any pending deferred rebuild. */
|
|
28
|
+
cancel() {
|
|
29
|
+
if (this.timer !== null) {
|
|
30
|
+
clearTimeout(this.timer);
|
|
31
|
+
this.timer = null;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
schedule() {
|
|
35
|
+
if (this.timer !== null) {
|
|
36
|
+
clearTimeout(this.timer);
|
|
37
|
+
}
|
|
38
|
+
this.timer = setTimeout(() => this.flush(), this.config.scipQuietPeriodMs);
|
|
39
|
+
}
|
|
40
|
+
async flush() {
|
|
41
|
+
this.timer = null;
|
|
42
|
+
const paths = [...this.pathsSinceLastScip];
|
|
43
|
+
this.pathsSinceLastScip.clear();
|
|
44
|
+
if (paths.length === 0)
|
|
45
|
+
return;
|
|
46
|
+
const { dbPath, walkerConfig, embedder, history, indexDependencies, lsp, scip, source } = this.config;
|
|
47
|
+
const builder = new IndexBuilder(dbPath, walkerConfig, embedder, {
|
|
48
|
+
history,
|
|
49
|
+
...(indexDependencies && { indexDependencies: true }),
|
|
50
|
+
...(lsp && { lsp }),
|
|
51
|
+
scip,
|
|
52
|
+
});
|
|
53
|
+
try {
|
|
54
|
+
await builder.baselineRebuild();
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
process.stderr.write(JSON.stringify({ level: 'error', source, message: String(err) }) + '\n');
|
|
58
|
+
}
|
|
59
|
+
process.stderr.write(JSON.stringify({
|
|
60
|
+
level: 'info',
|
|
61
|
+
source,
|
|
62
|
+
message: 'baseline rebuild complete',
|
|
63
|
+
files: paths.length,
|
|
64
|
+
}) + '\n');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=scip-flush.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scip-flush.js","sourceRoot":"","sources":["../../src/discovery/scip-flush.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAmBnD;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACV,MAAM,CAAkB;IACjC,kBAAkB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAC5C,KAAK,GAAyC,IAAI,CAAC;IAE3D,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,yEAAyE;IACzE,UAAU,CAAC,KAAe;QACxB,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,2CAA2C;IAC3C,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3C,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACtG,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC/D,OAAO;YACP,GAAG,CAAC,iBAAiB,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACrD,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;YACnB,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CACxE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,KAAK,EAAE,MAAM;YACb,MAAM;YACN,OAAO,EAAE,2BAA2B;YACpC,KAAK,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,GAAG,IAAI,CACV,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -27,10 +27,10 @@ export interface WatcherOptions {
|
|
|
27
27
|
/** Effective SCIP settings forwarded to update cycles. */
|
|
28
28
|
scip?: EffectiveScipSettings;
|
|
29
29
|
/**
|
|
30
|
-
* Quiet-period in milliseconds before running a
|
|
31
|
-
* After each change,
|
|
32
|
-
*
|
|
33
|
-
* Set to `0` to
|
|
30
|
+
* Quiet-period in milliseconds before running a background baseline rebuild.
|
|
31
|
+
* After each change, overlay updates run immediately. A full SCIP baseline
|
|
32
|
+
* rebuild is deferred until no new changes arrive for this duration.
|
|
33
|
+
* Set to `0` to disable background baseline rebuilds.
|
|
34
34
|
* Defaults to 10 000 (10 s).
|
|
35
35
|
*/
|
|
36
36
|
scipQuietPeriodMs?: number;
|
|
@@ -68,10 +68,8 @@ export declare class FileWatcher {
|
|
|
68
68
|
private pendingPaths;
|
|
69
69
|
private debounceTimer;
|
|
70
70
|
private flushRunning;
|
|
71
|
-
/**
|
|
72
|
-
private
|
|
73
|
-
/** Timer for the deferred SCIP update. */
|
|
74
|
-
private scipTimer;
|
|
71
|
+
/** Deferred SCIP baseline rebuild manager. */
|
|
72
|
+
private scipFlush;
|
|
75
73
|
constructor(dbPath: string, walkerConfig: WalkerConfig, options?: WatcherOptions);
|
|
76
74
|
/** Begin watching `walkerConfig.rootDir` recursively for file changes. */
|
|
77
75
|
start(): void;
|
|
@@ -79,13 +77,5 @@ export declare class FileWatcher {
|
|
|
79
77
|
stop(): void;
|
|
80
78
|
private scheduleFlush;
|
|
81
79
|
private flush;
|
|
82
|
-
/**
|
|
83
|
-
* Schedule (or reschedule) a SCIP-enabled update after the quiet period.
|
|
84
|
-
*
|
|
85
|
-
* Every call resets the timer so that SCIP only runs once editing stops
|
|
86
|
-
* for `scipQuietPeriodMs` milliseconds.
|
|
87
|
-
*/
|
|
88
|
-
private scheduleScipFlush;
|
|
89
|
-
private scipFlush;
|
|
90
80
|
}
|
|
91
81
|
//# sourceMappingURL=watcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/discovery/watcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../src/discovery/watcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACtD,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yDAAyD;IACzD,GAAG,CAAC,EAAE,oBAAoB,CAAC;IAC3B,0DAA0D;IAC1D,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmC;IACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoC;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IAEzD,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,YAAY,CAAS;IAE7B,8CAA8C;IAC9C,OAAO,CAAC,SAAS,CAAiC;gBAEtC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,cAAmB;IA2BpF,0EAA0E;IAC1E,KAAK,IAAI,IAAI;IAoCb,2DAA2D;IAC3D,IAAI,IAAI,IAAI;IAcZ,OAAO,CAAC,aAAa;YAOP,KAAK;CAoDpB"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import * as fs from 'node:fs';
|
|
9
9
|
import { IndexBuilder } from '../indexer/index.js';
|
|
10
|
+
import { ScipFlushManager } from './scip-flush.js';
|
|
10
11
|
// ─── FileWatcher ──────────────────────────────────────────────────────────────
|
|
11
12
|
/**
|
|
12
13
|
* Watches a directory tree for file changes and triggers incremental index
|
|
@@ -35,10 +36,8 @@ export class FileWatcher {
|
|
|
35
36
|
pendingPaths = new Set();
|
|
36
37
|
debounceTimer = null;
|
|
37
38
|
flushRunning = false;
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
/** Timer for the deferred SCIP update. */
|
|
41
|
-
scipTimer = null;
|
|
39
|
+
/** Deferred SCIP baseline rebuild manager. */
|
|
40
|
+
scipFlush = null;
|
|
42
41
|
constructor(dbPath, walkerConfig, options = {}) {
|
|
43
42
|
this.dbPath = dbPath;
|
|
44
43
|
this.walkerConfig = walkerConfig;
|
|
@@ -50,6 +49,19 @@ export class FileWatcher {
|
|
|
50
49
|
this.scip = options.scip;
|
|
51
50
|
this.scipQuietPeriodMs = options.scipQuietPeriodMs ?? 10_000;
|
|
52
51
|
this.embedder = options.embedder;
|
|
52
|
+
if (this.scip && this.scipQuietPeriodMs > 0) {
|
|
53
|
+
this.scipFlush = new ScipFlushManager({
|
|
54
|
+
dbPath: this.dbPath,
|
|
55
|
+
walkerConfig: this.walkerConfig,
|
|
56
|
+
embedder: this.embedder,
|
|
57
|
+
history: this.history,
|
|
58
|
+
indexDependencies: this.indexDependencies,
|
|
59
|
+
lsp: this.lsp,
|
|
60
|
+
scip: this.scip,
|
|
61
|
+
scipQuietPeriodMs: this.scipQuietPeriodMs,
|
|
62
|
+
source: 'FileWatcher',
|
|
63
|
+
});
|
|
64
|
+
}
|
|
53
65
|
}
|
|
54
66
|
/** Begin watching `walkerConfig.rootDir` recursively for file changes. */
|
|
55
67
|
start() {
|
|
@@ -84,10 +96,7 @@ export class FileWatcher {
|
|
|
84
96
|
clearTimeout(this.debounceTimer);
|
|
85
97
|
this.debounceTimer = null;
|
|
86
98
|
}
|
|
87
|
-
|
|
88
|
-
clearTimeout(this.scipTimer);
|
|
89
|
-
this.scipTimer = null;
|
|
90
|
-
}
|
|
99
|
+
this.scipFlush?.cancel();
|
|
91
100
|
if (this.watcher) {
|
|
92
101
|
this.watcher.close();
|
|
93
102
|
this.watcher = null;
|
|
@@ -110,15 +119,13 @@ export class FileWatcher {
|
|
|
110
119
|
this.pendingPaths.clear();
|
|
111
120
|
if (paths.length === 0)
|
|
112
121
|
return;
|
|
113
|
-
//
|
|
114
|
-
//
|
|
115
|
-
// only (scip: null); SCIP re-indexing is deferred to scheduleScipFlush().
|
|
116
|
-
const useScip = this.scip && this.scipQuietPeriodMs === 0;
|
|
122
|
+
// Overlay update: tree-sitter + LSP only, no SCIP.
|
|
123
|
+
// SCIP baseline rebuild is deferred to scheduleScipFlush().
|
|
117
124
|
const builder = new IndexBuilder(this.dbPath, this.walkerConfig, this.embedder, {
|
|
118
125
|
history: this.history,
|
|
119
126
|
...(this.indexDependencies && { indexDependencies: true }),
|
|
120
127
|
...(this.lsp && { lsp: this.lsp }),
|
|
121
|
-
|
|
128
|
+
// Note: SCIP is not passed here — overlay updates never invoke SCIP.
|
|
122
129
|
});
|
|
123
130
|
let errorCount = 0;
|
|
124
131
|
try {
|
|
@@ -137,10 +144,8 @@ export class FileWatcher {
|
|
|
137
144
|
}) + '\n');
|
|
138
145
|
// If SCIP is configured with throttling, accumulate paths and
|
|
139
146
|
// schedule a deferred SCIP-enabled update after the quiet period.
|
|
140
|
-
if (this.
|
|
141
|
-
|
|
142
|
-
this.pathsSinceLastScip.add(p);
|
|
143
|
-
this.scheduleScipFlush();
|
|
147
|
+
if (this.scipFlush) {
|
|
148
|
+
this.scipFlush.accumulate(paths);
|
|
144
149
|
}
|
|
145
150
|
}
|
|
146
151
|
finally {
|
|
@@ -150,42 +155,5 @@ export class FileWatcher {
|
|
|
150
155
|
}
|
|
151
156
|
}
|
|
152
157
|
}
|
|
153
|
-
/**
|
|
154
|
-
* Schedule (or reschedule) a SCIP-enabled update after the quiet period.
|
|
155
|
-
*
|
|
156
|
-
* Every call resets the timer so that SCIP only runs once editing stops
|
|
157
|
-
* for `scipQuietPeriodMs` milliseconds.
|
|
158
|
-
*/
|
|
159
|
-
scheduleScipFlush() {
|
|
160
|
-
if (this.scipTimer !== null) {
|
|
161
|
-
clearTimeout(this.scipTimer);
|
|
162
|
-
}
|
|
163
|
-
this.scipTimer = setTimeout(() => this.scipFlush(), this.scipQuietPeriodMs);
|
|
164
|
-
}
|
|
165
|
-
async scipFlush() {
|
|
166
|
-
this.scipTimer = null;
|
|
167
|
-
const paths = [...this.pathsSinceLastScip];
|
|
168
|
-
this.pathsSinceLastScip.clear();
|
|
169
|
-
if (paths.length === 0)
|
|
170
|
-
return;
|
|
171
|
-
const builder = new IndexBuilder(this.dbPath, this.walkerConfig, this.embedder, {
|
|
172
|
-
history: this.history,
|
|
173
|
-
...(this.indexDependencies && { indexDependencies: true }),
|
|
174
|
-
...(this.lsp && { lsp: this.lsp }),
|
|
175
|
-
scip: this.scip,
|
|
176
|
-
});
|
|
177
|
-
try {
|
|
178
|
-
await builder.update(paths);
|
|
179
|
-
}
|
|
180
|
-
catch (err) {
|
|
181
|
-
process.stderr.write(JSON.stringify({ level: 'error', source: 'FileWatcher', message: String(err) }) + '\n');
|
|
182
|
-
}
|
|
183
|
-
process.stderr.write(JSON.stringify({
|
|
184
|
-
level: 'info',
|
|
185
|
-
source: 'FileWatcher',
|
|
186
|
-
message: 'scip refresh cycle complete',
|
|
187
|
-
files: paths.length,
|
|
188
|
-
}) + '\n');
|
|
189
|
-
}
|
|
190
158
|
}
|
|
191
159
|
//# sourceMappingURL=watcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/discovery/watcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/discovery/watcher.ts"],"names":[],"mappings":"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"}
|
package/dist/docs/docs.d.ts
CHANGED
|
@@ -37,6 +37,4 @@ export declare function inferDocumentKind(filePath: string): DocumentKind;
|
|
|
37
37
|
export declare function inferDocumentTitle(filePath: string, content: string): string;
|
|
38
38
|
export declare function inferDocumentSections(filePath: string, content: string): DocumentSection[];
|
|
39
39
|
export declare function inferDocumentChunks(filePath: string, content: string, sections: DocumentSection[]): DocumentChunk[];
|
|
40
|
-
export declare function inferSeededDocNoteKey(doc: Pick<DocumentationFile, 'path' | 'kind'>): string | null;
|
|
41
|
-
export declare function buildDocNoteScope(docPath: string, branch: string): string;
|
|
42
40
|
//# sourceMappingURL=docs.d.ts.map
|
package/dist/docs/docs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/docs/docs.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,KAAK,GACL,cAAc,GACd,QAAQ,GACR,OAAO,GACP,WAAW,GACX,WAAW,GACX,MAAM,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/docs/docs.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,KAAK,GACL,cAAc,GACd,QAAQ,GACR,OAAO,GACP,WAAW,GACX,WAAW,GACX,MAAM,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAWD,eAAO,MAAM,sBAAsB,UAAmC,CAAC;AAEvE,eAAO,MAAM,yBAAyB,UAOrC,CAAC;AAIF,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2C1G;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CA4BhE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAU5E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAqC1F;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,eAAe,EAAE,GAC1B,aAAa,EAAE,CAwCjB"}
|
package/dist/docs/docs.js
CHANGED
|
@@ -20,7 +20,6 @@ export const DEFAULT_DOC_INCLUDE_GLOBS = [
|
|
|
20
20
|
'{architecture,ARCHITECTURE,design,DESIGN,overview,OVERVIEW,changelog,CHANGELOG,guide,GUIDE}*.{md,rst,adoc,txt}',
|
|
21
21
|
];
|
|
22
22
|
const MARKDOWN_HEADING_RE = /^(#{1,6})\s+(.+?)\s*#*\s*$/;
|
|
23
|
-
const SEEDABLE_DOC_KINDS = new Set(['readme', 'architecture', 'adr']);
|
|
24
23
|
export async function discoverDocumentationFiles(config) {
|
|
25
24
|
const includePatterns = config.includeGlobs && config.includeGlobs.length > 0
|
|
26
25
|
? config.includeGlobs
|
|
@@ -172,25 +171,6 @@ export function inferDocumentChunks(filePath, content, sections) {
|
|
|
172
171
|
}
|
|
173
172
|
return chunks;
|
|
174
173
|
}
|
|
175
|
-
export function inferSeededDocNoteKey(doc) {
|
|
176
|
-
if (!SEEDABLE_DOC_KINDS.has(doc.kind)) {
|
|
177
|
-
return null;
|
|
178
|
-
}
|
|
179
|
-
if (doc.kind === 'readme') {
|
|
180
|
-
return 'docs/readme';
|
|
181
|
-
}
|
|
182
|
-
const stem = basename(doc.path, extname(doc.path));
|
|
183
|
-
const slug = toSlug(stem) || 'doc';
|
|
184
|
-
if (doc.kind === 'architecture') {
|
|
185
|
-
return slug === 'architecture' || slug === 'arch'
|
|
186
|
-
? 'docs/architecture'
|
|
187
|
-
: `docs/architecture/${slug}`;
|
|
188
|
-
}
|
|
189
|
-
return `docs/adr/${slug}`;
|
|
190
|
-
}
|
|
191
|
-
export function buildDocNoteScope(docPath, branch) {
|
|
192
|
-
return `doc:${docPath}@${branch}`;
|
|
193
|
-
}
|
|
194
174
|
function extractFirstMarkdownHeading(content) {
|
|
195
175
|
const lines = content.split(/\r?\n/);
|
|
196
176
|
for (const line of lines) {
|
|
@@ -208,11 +188,4 @@ function isReadmeVariant(filePath) {
|
|
|
208
188
|
const lowerName = basename(filePath).toLowerCase();
|
|
209
189
|
return lowerName === 'readme' || lowerName.startsWith('readme.');
|
|
210
190
|
}
|
|
211
|
-
function toSlug(value) {
|
|
212
|
-
return value
|
|
213
|
-
.trim()
|
|
214
|
-
.toLowerCase()
|
|
215
|
-
.replace(/[^a-z0-9]+/g, '-')
|
|
216
|
-
.replace(/^-+|-+$/g, '');
|
|
217
|
-
}
|
|
218
191
|
//# sourceMappingURL=docs.js.map
|
package/dist/docs/docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/docs/docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/docs/docs.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export { installGitHooks } from './git/hooks.js';
|
|
|
22
22
|
export type { InstallGitHooksOptions } from './git/hooks.js';
|
|
23
23
|
export type { EffectiveLspSettings, LspSettingsOverrides } from './lsp/config.js';
|
|
24
24
|
export type { EffectiveScipSettings, ScipSettingsOverrides } from './scip/config.js';
|
|
25
|
+
export { installAllMissing as installScipIndexers, SCIP_INSTALL_SPECS } from './scip/installer.js';
|
|
26
|
+
export type { ScipInstallResult, ScipInstallSpec } from './scip/installer.js';
|
|
25
27
|
export { TransformersJsProvider, LazyEmbeddingProvider, DEFAULT_EMBEDDING_MODEL, tokenAwareBatch, hashEmbeddingText, buildStructuralEmbeddingText } from './embeddings/embedder.js';
|
|
26
28
|
export type { EmbeddingProvider, OnnxDtype } from './embeddings/embedder.js';
|
|
27
29
|
export type { ExtractionResult, RawCallRef, RawImport, RawSymbol, SymbolExtractor, } from './parsing/extractors/types.js';
|
|
@@ -29,18 +31,19 @@ export { RESOLUTION_METHODS, RESOLVED_METHODS, UNRESOLVED_METHODS } from './reso
|
|
|
29
31
|
export type { ResolutionMethod } from './resolution/resolution-method.js';
|
|
30
32
|
export { IndexPipeline } from './indexer/pipeline.js';
|
|
31
33
|
export type { PipelineContext, PipelineStage } from './indexer/pipeline.js';
|
|
32
|
-
export {
|
|
34
|
+
export { ScipIndexerStage, SourceIndexStage, DocsIndexStage, ImportResolutionStage, DependencyApiStage, LspEnrichmentStage, EmbeddingStage, } from './indexer/stages/index.js';
|
|
33
35
|
export { LoreRuntime } from './runtime.js';
|
|
34
36
|
export type { RuntimeConfig, Refresher } from './runtime.js';
|
|
35
37
|
export { FileWatcher } from './discovery/watcher.js';
|
|
36
38
|
export type { WatcherOptions } from './discovery/watcher.js';
|
|
37
39
|
export { FilePoller } from './discovery/poller.js';
|
|
38
40
|
export type { PollerOptions } from './discovery/poller.js';
|
|
39
|
-
export { createLoreMcpServer
|
|
41
|
+
export { createLoreMcpServer } from './server/server.js';
|
|
40
42
|
export type { LoreServerOptions } from './server/server.js';
|
|
41
43
|
export type { SearchObservation, SearchObserver } from './server/tools/search.js';
|
|
42
44
|
export { registerTools } from './server/tool-registry.js';
|
|
43
45
|
export type { ToolModule, ToolDefinition } from './server/tool-registry.js';
|
|
46
|
+
export type { CohesionArgs, CohesionResult } from './server/tools/cohesion.js';
|
|
44
47
|
export { openReadOnly, getSymbolById, getSymbolsByName, listSymbols, getFileById, getFileByPath, listFiles, listResolvedEdges, listTypeRefs, listSymbolRelationships, } from './db/read-only.js';
|
|
45
48
|
export type { SymbolRow, FileRow, ResolvedEdge, ListResolvedEdgesOptions, TypeRefEdge, ListTypeRefsOptions, SymbolRelationshipEdge, ListSymbolRelationshipsOptions, } from './db/read-only.js';
|
|
46
49
|
export { LoreLogger, LogLevel, LOG_LEVEL_NAMES, initLogger, getLogger, resetLogger } from './logger.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpF,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,QAAQ,EACR,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,aAAa,GACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAClF,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACpL,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC7E,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,SAAS,EACT,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC7G,YAAY,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,19 +17,20 @@ export { detectSymbolCycles, findConnectedComponents, clusterSymbols, buildCodeb
|
|
|
17
17
|
export { walkFiles, detectLanguageForPath } from './discovery/walker.js';
|
|
18
18
|
export { ImportResolver } from './resolution/resolver.js';
|
|
19
19
|
export { installGitHooks } from './git/hooks.js';
|
|
20
|
+
export { installAllMissing as installScipIndexers, SCIP_INSTALL_SPECS } from './scip/installer.js';
|
|
20
21
|
export { TransformersJsProvider, LazyEmbeddingProvider, DEFAULT_EMBEDDING_MODEL, tokenAwareBatch, hashEmbeddingText, buildStructuralEmbeddingText } from './embeddings/embedder.js';
|
|
21
22
|
// ── Resolution method taxonomy (shared constant) ─────────────────────────────
|
|
22
23
|
export { RESOLUTION_METHODS, RESOLVED_METHODS, UNRESOLVED_METHODS } from './resolution/resolution-method.js';
|
|
23
24
|
// ── Pipeline (composable indexing stages) ─────────────────────────────────────
|
|
24
25
|
export { IndexPipeline } from './indexer/pipeline.js';
|
|
25
|
-
export {
|
|
26
|
+
export { ScipIndexerStage, SourceIndexStage, DocsIndexStage, ImportResolutionStage, DependencyApiStage, LspEnrichmentStage, EmbeddingStage, } from './indexer/stages/index.js';
|
|
26
27
|
// ── Runtime ───────────────────────────────────────────────────────────────────
|
|
27
28
|
export { LoreRuntime } from './runtime.js';
|
|
28
29
|
// ── File watcher / poller ─────────────────────────────────────────────────────
|
|
29
30
|
export { FileWatcher } from './discovery/watcher.js';
|
|
30
31
|
export { FilePoller } from './discovery/poller.js';
|
|
31
32
|
// ── MCP server ────────────────────────────────────────────────────────────────
|
|
32
|
-
export { createLoreMcpServer
|
|
33
|
+
export { createLoreMcpServer } from './server/server.js';
|
|
33
34
|
export { registerTools } from './server/tool-registry.js';
|
|
34
35
|
export { openReadOnly, getSymbolById, getSymbolsByName, listSymbols, getFileById, getFileByPath, listFiles, listResolvedEdges, listTypeRefs, listSymbolRelationships, } from './db/read-only.js';
|
|
35
36
|
// ── Logging ───────────────────────────────────────────────────────────────────
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpF,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAWxC,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAUpL,gFAAgF;AAChF,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAG7G,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpF,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAWxC,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD,OAAO,EAAE,iBAAiB,IAAI,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEnG,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAUpL,gFAAgF;AAChF,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAG7G,iFAAiF;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,GACf,MAAM,2BAA2B,CAAC;AAGnC,iFAAiF;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,iFAAiF;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,iFAAiF;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAY3B,iFAAiF;AACjF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGxG,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/indexer/index.d.ts
CHANGED
|
@@ -7,13 +7,17 @@
|
|
|
7
7
|
* For full builds, `build()` delegates entirely to the pipeline which
|
|
8
8
|
* enforces the data-dependency chain:
|
|
9
9
|
* ```
|
|
10
|
-
*
|
|
11
|
-
* →
|
|
12
|
-
* →
|
|
10
|
+
* ScipIndexerStage → SourceIndexStage → DocsIndexStage
|
|
11
|
+
* → ImportResolutionStage → DependencyApiStage
|
|
12
|
+
* → LspEnrichmentStage → ResolutionStage → TestMapStage
|
|
13
|
+
* → HistoryStage → EmbeddingStage
|
|
13
14
|
* ```
|
|
14
15
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
16
|
+
* `ScipIndexerStage` now populates both structural data (symbols, refs)
|
|
17
|
+
* and enrichment metadata (type signatures, definition locations) in a
|
|
18
|
+
* single pass. `SourceIndexStage` then adds tree-sitter metrics
|
|
19
|
+
* (complexity, nesting depth) to SCIP-sourced files and handles
|
|
20
|
+
* remaining languages.
|
|
17
21
|
*
|
|
18
22
|
* The enrichment → resolution ordering is **load-bearing** and enforced
|
|
19
23
|
* structurally by the pipeline rather than by call-site discipline.
|
|
@@ -29,7 +33,6 @@ interface IndexBuilderOptions {
|
|
|
29
33
|
all?: boolean;
|
|
30
34
|
};
|
|
31
35
|
embeddingModel?: string;
|
|
32
|
-
docsAutoNotes?: boolean;
|
|
33
36
|
indexDependencies?: boolean;
|
|
34
37
|
lsp?: EffectiveLspSettings;
|
|
35
38
|
scip?: EffectiveScipSettings;
|
|
@@ -53,7 +56,6 @@ export declare class IndexBuilder {
|
|
|
53
56
|
private readonly history;
|
|
54
57
|
private readonly indexDependencies;
|
|
55
58
|
private readonly embeddingModel;
|
|
56
|
-
private readonly docsAutoNotes;
|
|
57
59
|
private readonly lspSettings;
|
|
58
60
|
private readonly scipSettings;
|
|
59
61
|
constructor(dbPath: string, walkerConfig: WalkerConfig, embedder?: EmbeddingProvider, embeddingModelOrOptions?: string | IndexBuilderOptions);
|
|
@@ -65,14 +67,21 @@ export declare class IndexBuilder {
|
|
|
65
67
|
*/
|
|
66
68
|
build(): Promise<void>;
|
|
67
69
|
/**
|
|
68
|
-
* Incrementally re-processes only the listed files
|
|
70
|
+
* Incrementally re-processes only the listed files using the overlay layer.
|
|
69
71
|
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
+
* Tree-sitter is the primary indexer; LSP enriches cross-file refs.
|
|
73
|
+
* SCIP is never invoked during overlay updates.
|
|
72
74
|
*
|
|
73
75
|
* @param changedFiles Absolute paths of files that have changed.
|
|
74
76
|
*/
|
|
75
77
|
update(changedFiles: string[]): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Perform a background baseline rebuild (SCIP reconciliation).
|
|
80
|
+
*
|
|
81
|
+
* Writes to a new generation, then atomically promotes and cleans
|
|
82
|
+
* stale overlay rows. This is the only path that invokes SCIP.
|
|
83
|
+
*/
|
|
84
|
+
baselineRebuild(): Promise<void>;
|
|
76
85
|
/**
|
|
77
86
|
* Writes an LLM-generated summary for a symbol to `symbol_summaries`.
|
|
78
87
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indexer/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indexer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAiBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAqB/D,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,GAAG,CAAC,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;gBAG1D,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,uBAAuB,CAAC,EAAE,MAAM,GAAG,mBAAmB;IA0BxD;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2E5B;;;;;;;OAOG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDnD;;;;;OAKG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA6DtC;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlF,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnG,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,aAAa;CAWtB"}
|