@jafreck/lore 0.3.6 → 0.3.7
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 +20 -33
- package/dist/cli.js +17 -3
- package/dist/cli.js.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +7 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/embeddings/embedder.d.ts +12 -8
- package/dist/embeddings/embedder.d.ts.map +1 -1
- package/dist/embeddings/embedder.js +35 -19
- package/dist/embeddings/embedder.js.map +1 -1
- package/dist/indexer/index.d.ts.map +1 -1
- package/dist/indexer/index.js +41 -9
- package/dist/indexer/index.js.map +1 -1
- package/dist/indexer/pipeline.d.ts +22 -10
- package/dist/indexer/pipeline.d.ts.map +1 -1
- package/dist/indexer/pipeline.js +41 -20
- package/dist/indexer/pipeline.js.map +1 -1
- package/dist/indexer/stages/lsp-enrichment.d.ts +1 -1
- package/dist/indexer/stages/lsp-enrichment.d.ts.map +1 -1
- package/dist/indexer/stages/lsp-enrichment.js +24 -20
- package/dist/indexer/stages/lsp-enrichment.js.map +1 -1
- package/dist/indexer/stages/scip-enrichment.d.ts +1 -1
- package/dist/indexer/stages/scip-enrichment.d.ts.map +1 -1
- package/dist/indexer/stages/scip-enrichment.js +12 -14
- package/dist/indexer/stages/scip-enrichment.js.map +1 -1
- package/dist/indexer/stages/scip-source.d.ts.map +1 -1
- package/dist/indexer/stages/scip-source.js +12 -10
- package/dist/indexer/stages/scip-source.js.map +1 -1
- package/dist/indexer/stages/source-index.d.ts +1 -1
- package/dist/indexer/stages/source-index.d.ts.map +1 -1
- package/dist/indexer/stages/source-index.js +90 -19
- package/dist/indexer/stages/source-index.js.map +1 -1
- package/dist/parsing/extractors/typescript.d.ts.map +1 -1
- package/dist/parsing/extractors/typescript.js +16 -0
- package/dist/parsing/extractors/typescript.js.map +1 -1
- package/dist/resolution/resolver.d.ts +6 -0
- package/dist/resolution/resolver.d.ts.map +1 -1
- package/dist/resolution/resolver.js +21 -0
- package/dist/resolution/resolver.js.map +1 -1
- package/dist/scip/enrichment.d.ts.map +1 -1
- package/dist/scip/enrichment.js +4 -4
- package/dist/scip/enrichment.js.map +1 -1
- package/dist/server/server.d.ts +1 -2
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +1 -10
- package/dist/server/server.js.map +1 -1
- package/dist/server/tool-registry.d.ts.map +1 -1
- package/dist/server/tool-registry.js +1 -26
- package/dist/server/tool-registry.js.map +1 -1
- package/dist/server/tools/graph.d.ts +7 -3
- package/dist/server/tools/graph.d.ts.map +1 -1
- package/dist/server/tools/graph.js +15 -85
- package/dist/server/tools/graph.js.map +1 -1
- package/dist/server/tools/metrics.d.ts +5 -30
- package/dist/server/tools/metrics.d.ts.map +1 -1
- package/dist/server/tools/metrics.js +21 -57
- package/dist/server/tools/metrics.js.map +1 -1
- package/package.json +1 -1
- package/dist/server/tools/annotations.d.ts +0 -40
- package/dist/server/tools/annotations.d.ts.map +0 -1
- package/dist/server/tools/annotations.js +0 -35
- package/dist/server/tools/annotations.js.map +0 -1
- package/dist/server/tools/architecture.d.ts +0 -67
- package/dist/server/tools/architecture.d.ts.map +0 -1
- package/dist/server/tools/architecture.js +0 -209
- package/dist/server/tools/architecture.js.map +0 -1
- package/dist/server/tools/coverage.d.ts +0 -67
- package/dist/server/tools/coverage.d.ts.map +0 -1
- package/dist/server/tools/coverage.js +0 -74
- package/dist/server/tools/coverage.js.map +0 -1
- package/dist/server/tools/graph-analysis.d.ts +0 -64
- package/dist/server/tools/graph-analysis.d.ts.map +0 -1
- package/dist/server/tools/graph-analysis.js +0 -82
- package/dist/server/tools/graph-analysis.js.map +0 -1
- package/dist/server/tools/writeback.d.ts +0 -49
- package/dist/server/tools/writeback.d.ts.map +0 -1
- package/dist/server/tools/writeback.js +0 -68
- package/dist/server/tools/writeback.js.map +0 -1
package/dist/indexer/index.js
CHANGED
|
@@ -28,7 +28,7 @@ import { refreshTestMappings } from '../testing/test-mapper.js';
|
|
|
28
28
|
import { ingestGitHistory } from '../git/history.js';
|
|
29
29
|
import { getLogger } from '../logger.js';
|
|
30
30
|
import { IndexPipeline } from './pipeline.js';
|
|
31
|
-
import { ScipSourceStage, SourceIndexStage, DocsIndexStage, ImportResolutionStage, DependencyApiStage, LspEnrichmentStage, EmbeddingStage, } from './stages/index.js';
|
|
31
|
+
import { ScipSourceStage, SourceIndexStage, DocsIndexStage, ImportResolutionStage, DependencyApiStage, ScipEnrichmentStage, LspEnrichmentStage, EmbeddingStage, } from './stages/index.js';
|
|
32
32
|
// ─── IndexBuilder (façade) ────────────────────────────────────────────────────
|
|
33
33
|
/**
|
|
34
34
|
* Façade over the composable `IndexPipeline`.
|
|
@@ -89,16 +89,20 @@ export class IndexBuilder {
|
|
|
89
89
|
// ScipSourceStage runs first for SCIP-covered languages (symbols + refs
|
|
90
90
|
// from SCIP directly). SourceIndexStage then handles remaining languages
|
|
91
91
|
// via tree-sitter. LSP enrichment is optional for both paths.
|
|
92
|
+
//
|
|
93
|
+
// Stages in arrays run concurrently:
|
|
94
|
+
// - SourceIndexStage + DocsIndexStage: write to disjoint tables.
|
|
95
|
+
// - HistoryStage + ScipEnrichment + LspEnrichment: history writes to
|
|
96
|
+
// commits/commit_files (disjoint from enrichment targets).
|
|
92
97
|
const pipeline = new IndexPipeline([
|
|
93
98
|
new ScipSourceStage(),
|
|
94
|
-
new SourceIndexStage(),
|
|
95
|
-
new DocsIndexStage(),
|
|
99
|
+
[new SourceIndexStage(), new DocsIndexStage()],
|
|
96
100
|
new ImportResolutionStage(),
|
|
97
101
|
new DependencyApiStage(),
|
|
98
|
-
new LspEnrichmentStage(),
|
|
102
|
+
[new ScipEnrichmentStage(), new LspEnrichmentStage(), historyStage()],
|
|
103
|
+
ftsRefreshStage(),
|
|
99
104
|
resolutionStage(),
|
|
100
105
|
testMapStage(),
|
|
101
|
-
historyStage(),
|
|
102
106
|
new EmbeddingStage(),
|
|
103
107
|
]);
|
|
104
108
|
const context = {
|
|
@@ -117,6 +121,7 @@ export class IndexBuilder {
|
|
|
117
121
|
staleSymbolIds: [],
|
|
118
122
|
changedSourcePaths: [],
|
|
119
123
|
changedDocPaths: [],
|
|
124
|
+
sourceCache: new Map(),
|
|
120
125
|
};
|
|
121
126
|
try {
|
|
122
127
|
await pipeline.run(context, 'build');
|
|
@@ -152,14 +157,13 @@ export class IndexBuilder {
|
|
|
152
157
|
const log = getLogger();
|
|
153
158
|
const pipeline = new IndexPipeline([
|
|
154
159
|
new ScipSourceStage(),
|
|
155
|
-
new SourceIndexStage(),
|
|
156
|
-
new DocsIndexStage(),
|
|
160
|
+
[new SourceIndexStage(), new DocsIndexStage()],
|
|
157
161
|
new ImportResolutionStage(),
|
|
158
162
|
new DependencyApiStage(),
|
|
159
|
-
new LspEnrichmentStage(),
|
|
163
|
+
[new ScipEnrichmentStage(), new LspEnrichmentStage(), historyStage()],
|
|
164
|
+
ftsRefreshStage(),
|
|
160
165
|
resolutionStage(),
|
|
161
166
|
testMapStage(),
|
|
162
|
-
historyStage(),
|
|
163
167
|
new EmbeddingStage(),
|
|
164
168
|
]);
|
|
165
169
|
const context = {
|
|
@@ -179,6 +183,7 @@ export class IndexBuilder {
|
|
|
179
183
|
staleSymbolIds: [],
|
|
180
184
|
changedSourcePaths: [],
|
|
181
185
|
changedDocPaths: [],
|
|
186
|
+
sourceCache: new Map(),
|
|
182
187
|
};
|
|
183
188
|
try {
|
|
184
189
|
await pipeline.run(context, 'update');
|
|
@@ -284,6 +289,33 @@ function testMapStage() {
|
|
|
284
289
|
execute: async (ctx) => { refreshTestMappings(ctx.db, ctx.branch); },
|
|
285
290
|
};
|
|
286
291
|
}
|
|
292
|
+
/**
|
|
293
|
+
* Bulk-refresh the FTS5 index from the enriched `symbols` table.
|
|
294
|
+
*
|
|
295
|
+
* Replaces per-row FTS5 updates during enrichment with a single pass,
|
|
296
|
+
* which is substantially faster for FTS5 virtual tables.
|
|
297
|
+
*/
|
|
298
|
+
function ftsRefreshStage() {
|
|
299
|
+
return {
|
|
300
|
+
name: 'fts-refresh',
|
|
301
|
+
execute: async (ctx) => {
|
|
302
|
+
ctx.db.transaction(() => {
|
|
303
|
+
ctx.db.exec('DELETE FROM symbols_fts');
|
|
304
|
+
ctx.db.exec(`
|
|
305
|
+
INSERT INTO symbols_fts(rowid, name, signature, kind)
|
|
306
|
+
SELECT s.id,
|
|
307
|
+
s.name,
|
|
308
|
+
COALESCE(s.resolved_type_signature, '') || char(10) ||
|
|
309
|
+
COALESCE(s.resolved_return_type, '') || char(10) ||
|
|
310
|
+
COALESCE(s.signature, '') || char(10) ||
|
|
311
|
+
s.name,
|
|
312
|
+
s.kind
|
|
313
|
+
FROM symbols s
|
|
314
|
+
`);
|
|
315
|
+
})();
|
|
316
|
+
},
|
|
317
|
+
};
|
|
318
|
+
}
|
|
287
319
|
/** Ingest git history. */
|
|
288
320
|
function historyStage() {
|
|
289
321
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/indexer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,MAAM,EACN,WAAW,EACX,uBAAuB,EACvB,mCAAmC,EACnC,oCAAoC,GACrC,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAuB,MAAM,wBAAwB,CAAC;AAGnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/indexer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,6 +106,13 @@ export interface PipelineContext {
|
|
|
106
106
|
* Set by `ScipSourceStage`; read by `SourceIndexStage` to skip files.
|
|
107
107
|
*/
|
|
108
108
|
scipSourcedFiles?: ReadonlySet<string>;
|
|
109
|
+
/**
|
|
110
|
+
* In-memory cache of source file contents (path → source text).
|
|
111
|
+
* Populated by SourceIndexStage / ScipSourceStage during parsing.
|
|
112
|
+
* Later stages (SCIP enrichment, LSP enrichment) read from here to
|
|
113
|
+
* avoid redundant `readFileSync` calls.
|
|
114
|
+
*/
|
|
115
|
+
sourceCache: Map<string, string>;
|
|
109
116
|
}
|
|
110
117
|
/**
|
|
111
118
|
* A composable pipeline stage.
|
|
@@ -130,30 +137,35 @@ export interface PipelineStage {
|
|
|
130
137
|
dispose?(): Promise<void>;
|
|
131
138
|
}
|
|
132
139
|
/**
|
|
133
|
-
*
|
|
140
|
+
* A pipeline entry is either a single stage or an array of stages to run
|
|
141
|
+
* concurrently. Parallel stages must be independent (write to disjoint
|
|
142
|
+
* tables, read disjoint inputs).
|
|
143
|
+
*/
|
|
144
|
+
export type PipelineEntry = PipelineStage | PipelineStage[];
|
|
145
|
+
/**
|
|
146
|
+
* Orchestrates a sequence of `PipelineEntry` instances through a shared
|
|
134
147
|
* `PipelineContext`.
|
|
135
148
|
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
149
|
+
* Each entry is either a single stage or an array of stages that run
|
|
150
|
+
* concurrently. Entries are executed in order; within a parallel group
|
|
151
|
+
* all stages start simultaneously and the group completes when all finish.
|
|
138
152
|
*
|
|
139
153
|
* @example
|
|
140
154
|
* ```ts
|
|
141
155
|
* const pipeline = new IndexPipeline([
|
|
142
|
-
* new
|
|
143
|
-
* new DocsIndexStage(),
|
|
156
|
+
* new ScipSourceStage(),
|
|
157
|
+
* [new SourceIndexStage(), new DocsIndexStage()], // run in parallel
|
|
144
158
|
* new ImportResolutionStage(),
|
|
145
|
-
* new LspEnrichmentStage(),
|
|
146
|
-
* new ResolutionStage(),
|
|
147
159
|
* new EmbeddingStage(),
|
|
148
160
|
* ]);
|
|
149
161
|
* await pipeline.run(context, 'build');
|
|
150
162
|
* ```
|
|
151
163
|
*/
|
|
152
164
|
export declare class IndexPipeline {
|
|
153
|
-
private readonly
|
|
154
|
-
constructor(
|
|
165
|
+
private readonly entries;
|
|
166
|
+
constructor(entries: PipelineEntry[]);
|
|
155
167
|
/**
|
|
156
|
-
* Execute all
|
|
168
|
+
* Execute all entries in order. If any stage throws, the remaining entries
|
|
157
169
|
* are skipped but every stage's `dispose()` hook is still called.
|
|
158
170
|
*/
|
|
159
171
|
run(context: PipelineContext, mode: 'build' | 'update'): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/indexer/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,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,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,YAAY,EAAE,YAAY,CAAC;IAC3B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjC,iDAAiD;IACjD,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACnC,mCAAmC;IACnC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,uBAAuB;IACvB,GAAG,EAAE,UAAU,CAAC;IAEhB;;;;;OAKG;IACH,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEjD,8DAA8D;IAC9D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gCAAgC;IAChC,OAAO,EAAE,OAAO,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrD,gDAAgD;IAChD,aAAa,EAAE,OAAO,CAAC;IAIvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;OAGG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAE7B;;;OAGG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAE3C;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAE3C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/indexer/pipeline.ts"],"names":[],"mappings":"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"}
|
package/dist/indexer/pipeline.js
CHANGED
|
@@ -26,49 +26,69 @@
|
|
|
26
26
|
import { getLogger } from '../logger.js';
|
|
27
27
|
// ─── IndexPipeline ────────────────────────────────────────────────────────────
|
|
28
28
|
/**
|
|
29
|
-
* Orchestrates a sequence of `
|
|
29
|
+
* Orchestrates a sequence of `PipelineEntry` instances through a shared
|
|
30
30
|
* `PipelineContext`.
|
|
31
31
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
32
|
+
* Each entry is either a single stage or an array of stages that run
|
|
33
|
+
* concurrently. Entries are executed in order; within a parallel group
|
|
34
|
+
* all stages start simultaneously and the group completes when all finish.
|
|
34
35
|
*
|
|
35
36
|
* @example
|
|
36
37
|
* ```ts
|
|
37
38
|
* const pipeline = new IndexPipeline([
|
|
38
|
-
* new
|
|
39
|
-
* new DocsIndexStage(),
|
|
39
|
+
* new ScipSourceStage(),
|
|
40
|
+
* [new SourceIndexStage(), new DocsIndexStage()], // run in parallel
|
|
40
41
|
* new ImportResolutionStage(),
|
|
41
|
-
* new LspEnrichmentStage(),
|
|
42
|
-
* new ResolutionStage(),
|
|
43
42
|
* new EmbeddingStage(),
|
|
44
43
|
* ]);
|
|
45
44
|
* await pipeline.run(context, 'build');
|
|
46
45
|
* ```
|
|
47
46
|
*/
|
|
48
47
|
export class IndexPipeline {
|
|
49
|
-
|
|
50
|
-
constructor(
|
|
51
|
-
this.
|
|
48
|
+
entries;
|
|
49
|
+
constructor(entries) {
|
|
50
|
+
this.entries = entries;
|
|
52
51
|
}
|
|
53
52
|
/**
|
|
54
|
-
* Execute all
|
|
53
|
+
* Execute all entries in order. If any stage throws, the remaining entries
|
|
55
54
|
* are skipped but every stage's `dispose()` hook is still called.
|
|
56
55
|
*/
|
|
57
56
|
async run(context, mode) {
|
|
58
57
|
const log = context.log ?? getLogger();
|
|
59
58
|
const startMs = performance.now();
|
|
60
59
|
try {
|
|
61
|
-
for (const
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
for (const entry of this.entries) {
|
|
61
|
+
const stages = Array.isArray(entry) ? entry : [entry];
|
|
62
|
+
if (stages.length === 1) {
|
|
63
|
+
// Single stage — run directly.
|
|
64
|
+
const stage = stages[0];
|
|
65
|
+
const stageStart = performance.now();
|
|
66
|
+
log.indexing(`stage:${stage.name} started`);
|
|
67
|
+
await stage.execute(context, mode);
|
|
68
|
+
const durationMs = Math.round(performance.now() - stageStart);
|
|
69
|
+
log.indexing(`stage:${stage.name} complete`, { durationMs });
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// Parallel group — run all concurrently.
|
|
73
|
+
const groupNames = stages.map(s => s.name).join(', ');
|
|
74
|
+
log.indexing(`stage-group started: [${groupNames}]`);
|
|
75
|
+
const groupStart = performance.now();
|
|
76
|
+
await Promise.all(stages.map(async (stage) => {
|
|
77
|
+
const stageStart = performance.now();
|
|
78
|
+
log.indexing(`stage:${stage.name} started`);
|
|
79
|
+
await stage.execute(context, mode);
|
|
80
|
+
const durationMs = Math.round(performance.now() - stageStart);
|
|
81
|
+
log.indexing(`stage:${stage.name} complete`, { durationMs });
|
|
82
|
+
}));
|
|
83
|
+
const groupMs = Math.round(performance.now() - groupStart);
|
|
84
|
+
log.indexing(`stage-group complete: [${groupNames}]`, { durationMs: groupMs });
|
|
85
|
+
}
|
|
67
86
|
}
|
|
68
87
|
}
|
|
69
88
|
finally {
|
|
70
89
|
// Always clean up, even on failure.
|
|
71
|
-
|
|
90
|
+
const allStages = this.entries.flatMap(e => Array.isArray(e) ? e : [e]);
|
|
91
|
+
for (const stage of allStages) {
|
|
72
92
|
if (stage.dispose) {
|
|
73
93
|
try {
|
|
74
94
|
await stage.dispose();
|
|
@@ -79,12 +99,13 @@ export class IndexPipeline {
|
|
|
79
99
|
}
|
|
80
100
|
}
|
|
81
101
|
const totalMs = Math.round(performance.now() - startMs);
|
|
82
|
-
|
|
102
|
+
const stageCount = this.entries.flatMap(e => Array.isArray(e) ? e : [e]).length;
|
|
103
|
+
log.indexing('pipeline complete', { mode, totalStages: stageCount, durationMs: totalMs });
|
|
83
104
|
}
|
|
84
105
|
}
|
|
85
106
|
/** Returns the ordered list of stage names (useful for introspection / tests). */
|
|
86
107
|
get stageNames() {
|
|
87
|
-
return this.
|
|
108
|
+
return this.entries.flatMap(e => Array.isArray(e) ? e.map(s => s.name) : [e.name]);
|
|
88
109
|
}
|
|
89
110
|
}
|
|
90
111
|
//# sourceMappingURL=pipeline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/indexer/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAQH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/indexer/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,5 +44,5 @@ export declare class LspEnrichmentStage implements PipelineStage {
|
|
|
44
44
|
export declare function enrichProjectRefs(db: Database.Database, branch: string, files: Array<{
|
|
45
45
|
path: string;
|
|
46
46
|
language: string;
|
|
47
|
-
}>, coordinator: LspEnrichmentCoordinator): Promise<void>;
|
|
47
|
+
}>, coordinator: LspEnrichmentCoordinator, sourceCache?: Map<string, string>): Promise<void>;
|
|
48
48
|
//# sourceMappingURL=lsp-enrichment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp-enrichment.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/lsp-enrichment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"lsp-enrichment.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/lsp-enrichment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACtD,QAAQ,CAAC,IAAI,oBAAoB;IAEjC,OAAO,CAAC,WAAW,CAAyC;IAEtD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiD3E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAID;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,WAAW,EAAE,wBAAwB,EACrC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC,CAyLf"}
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import * as fs from 'node:fs';
|
|
26
26
|
import { LspEnrichmentCoordinator } from '../../lsp/enrichment.js';
|
|
27
|
-
import { buildStructuralEmbeddingText } from '../../embeddings/embedder.js';
|
|
28
27
|
/**
|
|
29
28
|
* Enriches indexed artefacts with LSP-derived metadata.
|
|
30
29
|
*
|
|
@@ -67,14 +66,14 @@ export class LspEnrichmentStage {
|
|
|
67
66
|
await this.coordinator.start(languages);
|
|
68
67
|
// Full enrichment for non-SCIP files (all targets).
|
|
69
68
|
if (fullEnrichFiles.length > 0) {
|
|
70
|
-
await enrichProjectRefs(context.db, context.branch, fullEnrichFiles, this.coordinator);
|
|
69
|
+
await enrichProjectRefs(context.db, context.branch, fullEnrichFiles, this.coordinator, context.sourceCache);
|
|
71
70
|
}
|
|
72
71
|
// Targeted enrichment for SCIP-sourced files (only unresolved refs).
|
|
73
72
|
if (scipFiles.length > 0) {
|
|
74
73
|
context.log.indexing('lsp-enrichment: enriching unresolved SCIP refs', {
|
|
75
74
|
files: scipFiles.length,
|
|
76
75
|
});
|
|
77
|
-
await enrichUnresolvedScipRefs(context.db, context.branch, scipFiles, this.coordinator);
|
|
76
|
+
await enrichUnresolvedScipRefs(context.db, context.branch, scipFiles, this.coordinator, context.sourceCache);
|
|
78
77
|
}
|
|
79
78
|
}
|
|
80
79
|
async dispose() {
|
|
@@ -89,7 +88,7 @@ export class LspEnrichmentStage {
|
|
|
89
88
|
* Enrich symbols, call refs, type refs, and relationships for every file in
|
|
90
89
|
* the context with LSP-derived metadata.
|
|
91
90
|
*/
|
|
92
|
-
export async function enrichProjectRefs(db, branch, files, coordinator) {
|
|
91
|
+
export async function enrichProjectRefs(db, branch, files, coordinator, sourceCache) {
|
|
93
92
|
const selectSymbols = db.prepare(`SELECT s.id, s.name, s.signature, s.start_line
|
|
94
93
|
FROM symbols s
|
|
95
94
|
JOIN files f ON f.id = s.file_id
|
|
@@ -114,7 +113,6 @@ export async function enrichProjectRefs(db, branch, files, coordinator) {
|
|
|
114
113
|
const updateSymbol = db.prepare(`UPDATE symbols
|
|
115
114
|
SET resolved_type_signature = ?, resolved_return_type = ?, definition_uri = ?, definition_path = ?
|
|
116
115
|
WHERE id = ?`);
|
|
117
|
-
const updateSymbolFts = db.prepare('UPDATE symbols_fts SET signature = ? WHERE rowid = ?');
|
|
118
116
|
const updateCallRef = db.prepare(`UPDATE symbol_refs
|
|
119
117
|
SET resolved_type_signature = ?, resolved_return_type = ?, definition_uri = ?, definition_path = ?, definition_line = ?, definition_character = ?
|
|
120
118
|
WHERE id = ?`);
|
|
@@ -132,11 +130,17 @@ export async function enrichProjectRefs(db, branch, files, coordinator) {
|
|
|
132
130
|
if (!file || !fs.existsSync(file.path))
|
|
133
131
|
continue;
|
|
134
132
|
let source;
|
|
135
|
-
|
|
136
|
-
|
|
133
|
+
const cached = sourceCache?.get(file.path);
|
|
134
|
+
if (cached !== undefined) {
|
|
135
|
+
source = cached;
|
|
137
136
|
}
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
else {
|
|
138
|
+
try {
|
|
139
|
+
source = fs.readFileSync(file.path, 'utf8');
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
140
144
|
}
|
|
141
145
|
const tagged = [];
|
|
142
146
|
const symbols = selectSymbols.all(file.path, branch);
|
|
@@ -174,12 +178,6 @@ export async function enrichProjectRefs(db, branch, files, coordinator) {
|
|
|
174
178
|
case 'symbol':
|
|
175
179
|
updates.push(() => {
|
|
176
180
|
updateSymbol.run(m.resolvedTypeSignature, m.resolvedReturnType, m.definitionUri, m.definitionPath, tag.rowId);
|
|
177
|
-
updateSymbolFts.run(buildStructuralEmbeddingText({
|
|
178
|
-
name: tag.name,
|
|
179
|
-
signature: tag.signature ?? null,
|
|
180
|
-
resolvedTypeSignature: m.resolvedTypeSignature,
|
|
181
|
-
resolvedReturnType: m.resolvedReturnType,
|
|
182
|
-
}), tag.rowId);
|
|
183
181
|
});
|
|
184
182
|
break;
|
|
185
183
|
case 'callRef':
|
|
@@ -215,7 +213,7 @@ export async function enrichProjectRefs(db, branch, files, coordinator) {
|
|
|
215
213
|
* call-site position. We write `definition_path` / `definition_line`
|
|
216
214
|
* so the downstream resolution stage can map them to a `callee_id`.
|
|
217
215
|
*/
|
|
218
|
-
async function enrichUnresolvedScipRefs(db, branch, files, coordinator) {
|
|
216
|
+
async function enrichUnresolvedScipRefs(db, branch, files, coordinator, sourceCache) {
|
|
219
217
|
// Only select refs that SCIP left unresolved.
|
|
220
218
|
const selectUnresolvedCallRefs = db.prepare(`SELECT sr.id, sr.call_line, sr.call_character
|
|
221
219
|
FROM symbol_refs sr
|
|
@@ -250,11 +248,17 @@ async function enrichUnresolvedScipRefs(db, branch, files, coordinator) {
|
|
|
250
248
|
if (!file || !fs.existsSync(file.path))
|
|
251
249
|
continue;
|
|
252
250
|
let source;
|
|
253
|
-
|
|
254
|
-
|
|
251
|
+
const cached = sourceCache?.get(file.path);
|
|
252
|
+
if (cached !== undefined) {
|
|
253
|
+
source = cached;
|
|
255
254
|
}
|
|
256
|
-
|
|
257
|
-
|
|
255
|
+
else {
|
|
256
|
+
try {
|
|
257
|
+
source = fs.readFileSync(file.path, 'utf8');
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
258
262
|
}
|
|
259
263
|
const tagged = [];
|
|
260
264
|
const callRefs = selectUnresolvedCallRefs.all(file.path, branch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp-enrichment.js","sourceRoot":"","sources":["../../../src/indexer/stages/lsp-enrichment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"lsp-enrichment.js","sourceRoot":"","sources":["../../../src/indexer/stages/lsp-enrichment.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,5 +39,5 @@ export declare class ScipEnrichmentStage implements PipelineStage {
|
|
|
39
39
|
export declare function enrichProjectRefsWithScip(db: Database.Database, branch: string, files: Array<{
|
|
40
40
|
path: string;
|
|
41
41
|
language: string;
|
|
42
|
-
}>, coordinator: ScipEnrichmentCoordinator): Promise<void>;
|
|
42
|
+
}>, coordinator: ScipEnrichmentCoordinator, sourceCache?: Map<string, string>): Promise<void>;
|
|
43
43
|
//# sourceMappingURL=scip-enrichment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scip-enrichment.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/scip-enrichment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"scip-enrichment.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/scip-enrichment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,IAAI,qBAAqB;IAElC,OAAO,CAAC,WAAW,CAA0C;IAEvD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAID,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,WAAW,EAAE,yBAAyB,EACtC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC,CA6Lf"}
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import * as fs from 'node:fs';
|
|
26
26
|
import { ScipEnrichmentCoordinator } from '../../scip/enrichment.js';
|
|
27
|
-
import { buildStructuralEmbeddingText } from '../../embeddings/embedder.js';
|
|
28
27
|
/**
|
|
29
28
|
* Enriches indexed artefacts with SCIP-derived metadata.
|
|
30
29
|
*
|
|
@@ -44,7 +43,7 @@ export class ScipEnrichmentStage {
|
|
|
44
43
|
return;
|
|
45
44
|
// Store which languages SCIP enriched so the LSP stage can skip them.
|
|
46
45
|
context.scipCoveredLanguages = coveredLanguages;
|
|
47
|
-
await enrichProjectRefsWithScip(context.db, context.branch, context.files, this.coordinator);
|
|
46
|
+
await enrichProjectRefsWithScip(context.db, context.branch, context.files, this.coordinator, context.sourceCache);
|
|
48
47
|
}
|
|
49
48
|
async dispose() {
|
|
50
49
|
if (this.coordinator) {
|
|
@@ -54,7 +53,7 @@ export class ScipEnrichmentStage {
|
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
55
|
// ─── Enrichment logic (mirrors lsp-enrichment.ts pattern) ─────────────────────
|
|
57
|
-
export async function enrichProjectRefsWithScip(db, branch, files, coordinator) {
|
|
56
|
+
export async function enrichProjectRefsWithScip(db, branch, files, coordinator, sourceCache) {
|
|
58
57
|
const selectSymbols = db.prepare(`SELECT s.id, s.name, s.signature, s.start_line
|
|
59
58
|
FROM symbols s
|
|
60
59
|
JOIN files f ON f.id = s.file_id
|
|
@@ -79,7 +78,6 @@ export async function enrichProjectRefsWithScip(db, branch, files, coordinator)
|
|
|
79
78
|
const updateSymbol = db.prepare(`UPDATE symbols
|
|
80
79
|
SET resolved_type_signature = ?, resolved_return_type = ?, definition_uri = ?, definition_path = ?
|
|
81
80
|
WHERE id = ?`);
|
|
82
|
-
const updateSymbolFts = db.prepare('UPDATE symbols_fts SET signature = ? WHERE rowid = ?');
|
|
83
81
|
const updateCallRef = db.prepare(`UPDATE symbol_refs
|
|
84
82
|
SET resolved_type_signature = ?, resolved_return_type = ?, definition_uri = ?, definition_path = ?, definition_line = ?, definition_character = ?
|
|
85
83
|
WHERE id = ?`);
|
|
@@ -100,11 +98,17 @@ export async function enrichProjectRefsWithScip(db, branch, files, coordinator)
|
|
|
100
98
|
if (!coordinator.coveredLanguages.has(file.language))
|
|
101
99
|
continue;
|
|
102
100
|
let source;
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
const cached = sourceCache?.get(file.path);
|
|
102
|
+
if (cached !== undefined) {
|
|
103
|
+
source = cached;
|
|
105
104
|
}
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
else {
|
|
106
|
+
try {
|
|
107
|
+
source = fs.readFileSync(file.path, 'utf8');
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
108
112
|
}
|
|
109
113
|
const tagged = [];
|
|
110
114
|
const symbols = selectSymbols.all(file.path, branch);
|
|
@@ -142,12 +146,6 @@ export async function enrichProjectRefsWithScip(db, branch, files, coordinator)
|
|
|
142
146
|
case 'symbol':
|
|
143
147
|
updates.push(() => {
|
|
144
148
|
updateSymbol.run(m.resolvedTypeSignature, m.resolvedReturnType, m.definitionUri, m.definitionPath, tag.rowId);
|
|
145
|
-
updateSymbolFts.run(buildStructuralEmbeddingText({
|
|
146
|
-
name: tag.name,
|
|
147
|
-
signature: tag.signature ?? null,
|
|
148
|
-
resolvedTypeSignature: m.resolvedTypeSignature,
|
|
149
|
-
resolvedReturnType: m.resolvedReturnType,
|
|
150
|
-
}), tag.rowId);
|
|
151
149
|
});
|
|
152
150
|
break;
|
|
153
151
|
case 'callRef':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scip-enrichment.js","sourceRoot":"","sources":["../../../src/indexer/stages/scip-enrichment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"scip-enrichment.js","sourceRoot":"","sources":["../../../src/indexer/stages/scip-enrichment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scip-source.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/scip-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAaH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAarE;;;;;;;;;;;;GAYG;AACH,iBAAS,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAsC5E;AAED;;;;;GAKG;AACH,iBAAS,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAqB7D;AAkBD;;;;;;;GAOG;AACH,iBAAS,qBAAqB,CAC5B,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,MAAM,CA2CR;AAID;;;;;;GAMG;AACH,iBAAS,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAiCzF;AAID,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,IAAI,iBAAiB;IAExB,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"scip-source.d.ts","sourceRoot":"","sources":["../../../src/indexer/stages/scip-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAaH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAarE;;;;;;;;;;;;GAYG;AACH,iBAAS,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAsC5E;AAED;;;;;GAKG;AACH,iBAAS,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAqB7D;AAkBD;;;;;;;GAOG;AACH,iBAAS,qBAAqB,CAC5B,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,MAAM,CA2CR;AAID;;;;;;GAMG;AACH,iBAAS,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAiCzF;AAID,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,IAAI,iBAAiB;IAExB,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwgB1E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAMhB,aAAa;CA4D5B;AAID;;;;;;;;;;;GAWG;AACH,iBAAS,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAgB3E;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,iBAAS,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8ChE;AAqDD;;;;;GAKG;AACH,iBAAS,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAepF;AAKD,OAAO,EACL,qBAAqB,IAAI,sBAAsB,EAC/C,gBAAgB,IAAI,iBAAiB,EACrC,2BAA2B,IAAI,4BAA4B,EAC3D,uBAAuB,IAAI,wBAAwB,EACnD,iBAAiB,IAAI,kBAAkB,EACvC,qBAAqB,IAAI,sBAAsB,EAC/C,yBAAyB,IAAI,0BAA0B,GACxD,CAAC"}
|