@liendev/core 0.20.0 → 0.21.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 +10 -26
- package/dist/config/global-config.d.ts +37 -0
- package/dist/config/global-config.d.ts.map +1 -0
- package/dist/config/global-config.js +160 -0
- package/dist/config/global-config.js.map +1 -0
- package/dist/config/merge.js +1 -1
- package/dist/config/merge.js.map +1 -1
- package/dist/config/schema.d.ts +8 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +2 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/config/service.d.ts +2 -25
- package/dist/config/service.d.ts.map +1 -1
- package/dist/config/service.js +4 -79
- package/dist/config/service.js.map +1 -1
- package/dist/constants.d.ts +0 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -3
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +20 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -9
- package/dist/index.js.map +1 -1
- package/dist/indexer/ast/chunker.d.ts +2 -0
- package/dist/indexer/ast/chunker.d.ts.map +1 -1
- package/dist/indexer/ast/chunker.js +13 -7
- package/dist/indexer/ast/chunker.js.map +1 -1
- package/dist/indexer/change-detector.d.ts +2 -3
- package/dist/indexer/change-detector.d.ts.map +1 -1
- package/dist/indexer/change-detector.js +19 -34
- package/dist/indexer/change-detector.js.map +1 -1
- package/dist/indexer/chunk-batch-processor.d.ts +2 -2
- package/dist/indexer/chunk-batch-processor.d.ts.map +1 -1
- package/dist/indexer/chunk-batch-processor.js.map +1 -1
- package/dist/indexer/chunker.d.ts +2 -0
- package/dist/indexer/chunker.d.ts.map +1 -1
- package/dist/indexer/chunker.js +9 -5
- package/dist/indexer/chunker.js.map +1 -1
- package/dist/indexer/incremental.d.ts +4 -4
- package/dist/indexer/incremental.d.ts.map +1 -1
- package/dist/indexer/incremental.js +35 -23
- package/dist/indexer/incremental.js.map +1 -1
- package/dist/indexer/index.d.ts +3 -1
- package/dist/indexer/index.d.ts.map +1 -1
- package/dist/indexer/index.js +109 -47
- package/dist/indexer/index.js.map +1 -1
- package/dist/indexer/json-template-chunker.d.ts +4 -1
- package/dist/indexer/json-template-chunker.d.ts.map +1 -1
- package/dist/indexer/json-template-chunker.js +3 -1
- package/dist/indexer/json-template-chunker.js.map +1 -1
- package/dist/indexer/liquid-chunker.d.ts +4 -1
- package/dist/indexer/liquid-chunker.d.ts.map +1 -1
- package/dist/indexer/liquid-chunker.js +16 -14
- package/dist/indexer/liquid-chunker.js.map +1 -1
- package/dist/indexer/progress-tracker.d.ts +3 -1
- package/dist/indexer/progress-tracker.d.ts.map +1 -1
- package/dist/indexer/progress-tracker.js +8 -2
- package/dist/indexer/progress-tracker.js.map +1 -1
- package/dist/indexer/scanner.d.ts.map +1 -1
- package/dist/indexer/scanner.js +28 -6
- package/dist/indexer/scanner.js.map +1 -1
- package/dist/indexer/types.d.ts +12 -0
- package/dist/indexer/types.d.ts.map +1 -1
- package/dist/insights/complexity-analyzer.d.ts +6 -5
- package/dist/insights/complexity-analyzer.d.ts.map +1 -1
- package/dist/insights/complexity-analyzer.js +33 -14
- package/dist/insights/complexity-analyzer.js.map +1 -1
- package/dist/test/helpers/mock-embeddings.d.ts +12 -0
- package/dist/test/helpers/mock-embeddings.d.ts.map +1 -0
- package/dist/test/helpers/mock-embeddings.js +43 -0
- package/dist/test/helpers/mock-embeddings.js.map +1 -0
- package/dist/test/helpers/test-db.d.ts +21 -0
- package/dist/test/helpers/test-db.d.ts.map +1 -0
- package/dist/test/helpers/test-db.js +48 -0
- package/dist/test/helpers/test-db.js.map +1 -0
- package/dist/vectordb/factory.d.ts +15 -0
- package/dist/vectordb/factory.d.ts.map +1 -0
- package/dist/vectordb/factory.js +64 -0
- package/dist/vectordb/factory.js.map +1 -0
- package/dist/vectordb/qdrant-payload-mapper.d.ts +47 -0
- package/dist/vectordb/qdrant-payload-mapper.d.ts.map +1 -0
- package/dist/vectordb/qdrant-payload-mapper.js +78 -0
- package/dist/vectordb/qdrant-payload-mapper.js.map +1 -0
- package/dist/vectordb/qdrant.d.ts +87 -0
- package/dist/vectordb/qdrant.d.ts.map +1 -0
- package/dist/vectordb/qdrant.js +462 -0
- package/dist/vectordb/qdrant.js.map +1 -0
- package/dist/vectordb/types.d.ts +11 -1
- package/dist/vectordb/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/dist/config/loader.d.ts +0 -12
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -46
- package/dist/config/loader.js.map +0 -1
- package/dist/config/migration-manager.d.ts +0 -46
- package/dist/config/migration-manager.d.ts.map +0 -1
- package/dist/config/migration-manager.js +0 -119
- package/dist/config/migration-manager.js.map +0 -1
- package/dist/config/migration.d.ts +0 -20
- package/dist/config/migration.d.ts.map +0 -1
- package/dist/config/migration.js +0 -155
- package/dist/config/migration.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
* indexCodebase,
|
|
14
14
|
* VectorDB,
|
|
15
15
|
* ComplexityAnalyzer,
|
|
16
|
-
* loadConfig,
|
|
17
16
|
* } from '@liendev/core';
|
|
18
17
|
*
|
|
19
18
|
* // Index a codebase
|
|
@@ -21,8 +20,7 @@
|
|
|
21
20
|
*
|
|
22
21
|
* // Run complexity analysis
|
|
23
22
|
* const db = await VectorDB.load('/path/to/project');
|
|
24
|
-
* const
|
|
25
|
-
* const analyzer = new ComplexityAnalyzer(db, config);
|
|
23
|
+
* const analyzer = new ComplexityAnalyzer(db);
|
|
26
24
|
* const report = await analyzer.analyze();
|
|
27
25
|
* ```
|
|
28
26
|
*/
|
|
@@ -39,6 +37,8 @@ export { CachedEmbeddings } from './embeddings/cache.js';
|
|
|
39
37
|
export type { EmbeddingService } from './embeddings/types.js';
|
|
40
38
|
export { EMBEDDING_DIMENSION, EMBEDDING_DIMENSIONS } from './embeddings/types.js';
|
|
41
39
|
export { VectorDB } from './vectordb/lancedb.js';
|
|
40
|
+
export { QdrantDB } from './vectordb/qdrant.js';
|
|
41
|
+
export { createVectorDB } from './vectordb/factory.js';
|
|
42
42
|
export type { VectorDBInterface, SearchResult } from './vectordb/types.js';
|
|
43
43
|
export { calculateRelevance } from './vectordb/relevance.js';
|
|
44
44
|
export type { RelevanceCategory } from './vectordb/relevance.js';
|
|
@@ -49,14 +49,26 @@ export type { OutputFormat } from './insights/formatters/index.js';
|
|
|
49
49
|
import { ConfigService, configService as _configService } from './config/service.js';
|
|
50
50
|
import { defaultConfig as _defaultConfig, isLegacyConfig, isModernConfig } from './config/schema.js';
|
|
51
51
|
import type { LienConfig, LegacyLienConfig, FrameworkConfig, FrameworkInstance } from './config/schema.js';
|
|
52
|
+
/**
|
|
53
|
+
* @deprecated Per-project config is no longer required. Use global config or environment variables instead.
|
|
54
|
+
* @see loadGlobalConfig in config/global-config.ts
|
|
55
|
+
*/
|
|
52
56
|
export { ConfigService, _configService as configService };
|
|
53
|
-
export type { ValidationResult
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
export type { ValidationResult } from './config/service.js';
|
|
58
|
+
/**
|
|
59
|
+
* @deprecated Migration is no longer needed - per-project config is deprecated
|
|
60
|
+
*/
|
|
61
|
+
/**
|
|
62
|
+
* @deprecated Migration is no longer needed - per-project config is deprecated
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* @deprecated Default config is no longer used - Lien uses sensible defaults automatically
|
|
66
|
+
*/
|
|
56
67
|
export { _defaultConfig as defaultConfig, isLegacyConfig, isModernConfig };
|
|
68
|
+
/**
|
|
69
|
+
* @deprecated Config types are kept for backward compatibility only
|
|
70
|
+
*/
|
|
57
71
|
export type { LienConfig, LegacyLienConfig, FrameworkConfig, FrameworkInstance };
|
|
58
|
-
export declare const loadConfig: (rootDir?: string) => Promise<LienConfig>;
|
|
59
|
-
export declare const saveConfig: (rootDir: string, config: LienConfig) => Promise<void>;
|
|
60
72
|
export declare const createDefaultConfig: () => LienConfig;
|
|
61
73
|
export { isGitRepo, isGitAvailable, getCurrentBranch, getCurrentCommit, getChangedFiles, getChangedFilesBetweenCommits, } from './git/utils.js';
|
|
62
74
|
export { GitStateTracker } from './git/tracker.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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
* indexCodebase,
|
|
14
14
|
* VectorDB,
|
|
15
15
|
* ComplexityAnalyzer,
|
|
16
|
-
* loadConfig,
|
|
17
16
|
* } from '@liendev/core';
|
|
18
17
|
*
|
|
19
18
|
* // Index a codebase
|
|
@@ -21,8 +20,7 @@
|
|
|
21
20
|
*
|
|
22
21
|
* // Run complexity analysis
|
|
23
22
|
* const db = await VectorDB.load('/path/to/project');
|
|
24
|
-
* const
|
|
25
|
-
* const analyzer = new ComplexityAnalyzer(db, config);
|
|
23
|
+
* const analyzer = new ComplexityAnalyzer(db);
|
|
26
24
|
* const report = await analyzer.analyze();
|
|
27
25
|
* ```
|
|
28
26
|
*/
|
|
@@ -45,6 +43,8 @@ export { EMBEDDING_DIMENSION, EMBEDDING_DIMENSIONS } from './embeddings/types.js
|
|
|
45
43
|
// VECTOR DATABASE
|
|
46
44
|
// =============================================================================
|
|
47
45
|
export { VectorDB } from './vectordb/lancedb.js';
|
|
46
|
+
export { QdrantDB } from './vectordb/qdrant.js';
|
|
47
|
+
export { createVectorDB } from './vectordb/factory.js';
|
|
48
48
|
export { calculateRelevance } from './vectordb/relevance.js';
|
|
49
49
|
export { readVersionFile, writeVersionFile } from './vectordb/version.js';
|
|
50
50
|
// =============================================================================
|
|
@@ -53,17 +53,33 @@ export { readVersionFile, writeVersionFile } from './vectordb/version.js';
|
|
|
53
53
|
export { ComplexityAnalyzer } from './insights/complexity-analyzer.js';
|
|
54
54
|
export { formatReport, formatTextReport, formatJsonReport, formatSarifReport } from './insights/formatters/index.js';
|
|
55
55
|
// =============================================================================
|
|
56
|
-
// CONFIGURATION
|
|
56
|
+
// CONFIGURATION (DEPRECATED - kept for backward compatibility)
|
|
57
57
|
// =============================================================================
|
|
58
|
+
// Note: Per-project config is no longer required. Lien now uses:
|
|
59
|
+
// - Global config at ~/.lien/config.json (optional, for backend selection)
|
|
60
|
+
// - Environment variables (LIEN_BACKEND, LIEN_QDRANT_URL, etc.)
|
|
61
|
+
// - Auto-detected frameworks
|
|
62
|
+
// - Sensible defaults for all settings
|
|
58
63
|
import { ConfigService, configService as _configService } from './config/service.js';
|
|
59
64
|
import { defaultConfig as _defaultConfig, isLegacyConfig, isModernConfig } from './config/schema.js';
|
|
65
|
+
/**
|
|
66
|
+
* @deprecated Per-project config is no longer required. Use global config or environment variables instead.
|
|
67
|
+
* @see loadGlobalConfig in config/global-config.ts
|
|
68
|
+
*/
|
|
60
69
|
export { ConfigService, _configService as configService };
|
|
61
|
-
|
|
62
|
-
|
|
70
|
+
/**
|
|
71
|
+
* @deprecated Migration is no longer needed - per-project config is deprecated
|
|
72
|
+
*/
|
|
73
|
+
// Migration removed - no longer needed
|
|
74
|
+
/**
|
|
75
|
+
* @deprecated Migration is no longer needed - per-project config is deprecated
|
|
76
|
+
*/
|
|
77
|
+
// Migration removed - no longer needed
|
|
78
|
+
/**
|
|
79
|
+
* @deprecated Default config is no longer used - Lien uses sensible defaults automatically
|
|
80
|
+
*/
|
|
63
81
|
export { _defaultConfig as defaultConfig, isLegacyConfig, isModernConfig };
|
|
64
|
-
//
|
|
65
|
-
export const loadConfig = (rootDir) => _configService.load(rootDir);
|
|
66
|
-
export const saveConfig = (rootDir, config) => _configService.save(rootDir, config);
|
|
82
|
+
// Per-project config removed - no longer needed
|
|
67
83
|
export const createDefaultConfig = () => _defaultConfig;
|
|
68
84
|
// =============================================================================
|
|
69
85
|
// GIT UTILITIES
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/indexer/ast/chunker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/indexer/ast/chunker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,eAAoB,GAC5B,QAAQ,EAAE,CA4EZ;AA4QD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD"}
|
|
@@ -20,7 +20,7 @@ import { getTraverser } from './traversers/index.js';
|
|
|
20
20
|
* @throws Error if AST parsing fails and astFallback is 'error'
|
|
21
21
|
*/
|
|
22
22
|
export function chunkByAST(filepath, content, options = {}) {
|
|
23
|
-
const { minChunkSize = 5 } = options;
|
|
23
|
+
const { minChunkSize = 5, repoId, orgId } = options;
|
|
24
24
|
// Check if AST is supported for this file
|
|
25
25
|
const language = detectLanguage(filepath);
|
|
26
26
|
if (!language) {
|
|
@@ -58,14 +58,14 @@ export function chunkByAST(filepath, content, options = {}) {
|
|
|
58
58
|
// Create a chunk for this semantic unit
|
|
59
59
|
// Note: Large functions are kept as single chunks (may exceed maxChunkSize)
|
|
60
60
|
// This preserves semantic boundaries - better than splitting mid-function
|
|
61
|
-
chunks.push(createChunk(filepath, node, nodeContent, symbolInfo, fileImports, language));
|
|
61
|
+
chunks.push(createChunk(filepath, node, nodeContent, symbolInfo, fileImports, language, { repoId, orgId }));
|
|
62
62
|
}
|
|
63
63
|
// Handle remaining code (imports, exports, top-level statements)
|
|
64
64
|
const coveredRanges = topLevelNodes.map(n => ({
|
|
65
65
|
start: n.startPosition.row,
|
|
66
66
|
end: n.endPosition.row,
|
|
67
67
|
}));
|
|
68
|
-
const uncoveredChunks = extractUncoveredCode(lines, coveredRanges, filepath, minChunkSize, fileImports, language);
|
|
68
|
+
const uncoveredChunks = extractUncoveredCode(lines, coveredRanges, filepath, minChunkSize, fileImports, language, { repoId, orgId });
|
|
69
69
|
chunks.push(...uncoveredChunks);
|
|
70
70
|
// Sort chunks by line number
|
|
71
71
|
chunks.sort((a, b) => a.metadata.startLine - b.metadata.startLine);
|
|
@@ -159,7 +159,7 @@ function getChunkType(symbolInfo) {
|
|
|
159
159
|
/**
|
|
160
160
|
* Create a chunk from an AST node
|
|
161
161
|
*/
|
|
162
|
-
function createChunk(filepath, node, content, symbolInfo, imports, language) {
|
|
162
|
+
function createChunk(filepath, node, content, symbolInfo, imports, language, tenantContext) {
|
|
163
163
|
const symbols = buildLegacySymbols(symbolInfo);
|
|
164
164
|
const shouldCalcComplexity = symbolInfo?.type && COMPLEXITY_SYMBOL_TYPES.has(symbolInfo.type);
|
|
165
165
|
// Calculate complexity metrics only for functions and methods
|
|
@@ -192,6 +192,9 @@ function createChunk(filepath, node, content, symbolInfo, imports, language) {
|
|
|
192
192
|
halsteadDifficulty: halstead?.difficulty,
|
|
193
193
|
halsteadEffort: halstead?.effort,
|
|
194
194
|
halsteadBugs: halstead?.bugs,
|
|
195
|
+
// Multi-tenant fields
|
|
196
|
+
...(tenantContext?.repoId && { repoId: tenantContext.repoId }),
|
|
197
|
+
...(tenantContext?.orgId && { orgId: tenantContext.orgId }),
|
|
195
198
|
},
|
|
196
199
|
};
|
|
197
200
|
}
|
|
@@ -225,7 +228,7 @@ function findUncoveredRanges(coveredRanges, totalLines) {
|
|
|
225
228
|
/**
|
|
226
229
|
* Create a chunk from a line range
|
|
227
230
|
*/
|
|
228
|
-
function createChunkFromRange(range, lines, filepath, language, imports) {
|
|
231
|
+
function createChunkFromRange(range, lines, filepath, language, imports, tenantContext) {
|
|
229
232
|
const uncoveredLines = lines.slice(range.start, range.end + 1);
|
|
230
233
|
const content = uncoveredLines.join('\n').trim();
|
|
231
234
|
return {
|
|
@@ -239,6 +242,9 @@ function createChunkFromRange(range, lines, filepath, language, imports) {
|
|
|
239
242
|
// Empty symbols for uncovered code (imports, exports, etc.)
|
|
240
243
|
symbols: { functions: [], classes: [], interfaces: [] },
|
|
241
244
|
imports,
|
|
245
|
+
// Multi-tenant fields
|
|
246
|
+
...(tenantContext?.repoId && { repoId: tenantContext.repoId }),
|
|
247
|
+
...(tenantContext?.orgId && { orgId: tenantContext.orgId }),
|
|
242
248
|
},
|
|
243
249
|
};
|
|
244
250
|
}
|
|
@@ -253,10 +259,10 @@ function isValidChunk(chunk, minChunkSize) {
|
|
|
253
259
|
* Extract code that wasn't covered by function/class chunks
|
|
254
260
|
* (imports, exports, top-level statements)
|
|
255
261
|
*/
|
|
256
|
-
function extractUncoveredCode(lines, coveredRanges, filepath, minChunkSize, imports, language) {
|
|
262
|
+
function extractUncoveredCode(lines, coveredRanges, filepath, minChunkSize, imports, language, tenantContext) {
|
|
257
263
|
const uncoveredRanges = findUncoveredRanges(coveredRanges, lines.length);
|
|
258
264
|
return uncoveredRanges
|
|
259
|
-
.map(range => createChunkFromRange(range, lines, filepath, language, imports))
|
|
265
|
+
.map(range => createChunkFromRange(range, lines, filepath, language, imports, tenantContext))
|
|
260
266
|
.filter(chunk => isValidChunk(chunk, minChunkSize));
|
|
261
267
|
}
|
|
262
268
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../../src/indexer/ast/chunker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../../src/indexer/ast/chunker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAUrD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,UAAU,CACxB,QAAgB,EAChB,OAAe,EACf,UAA2B,EAAE;IAE7B,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEpD,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,iBAAiB;IACjB,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEhD,wEAAwE;IACxE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;IAE3C,kCAAkC;IAClC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAEzC,kCAAkC;IAClC,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE7C,qDAAqD;IACrD,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE7D,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,6DAA6D;QAC7D,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC1B,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAC;YACrC,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,MAAM,eAAe,GAAG,SAAS,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEtE,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QAErF,0EAA0E;QAC1E,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEhD,wCAAwC;QACxC,4EAA4E;QAC5E,0EAA0E;QAC1E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,iEAAiE;IACjE,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5C,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG;QAC1B,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG;KACvB,CAAC,CAAC,CAAC;IAEJ,MAAM,eAAe,GAAG,oBAAoB,CAC1C,KAAK,EACL,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IAEhC,6BAA6B;IAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEnE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sEAAsE;AACtE,SAAS,qBAAqB,CAC5B,IAAuB,EACvB,KAAa,EACb,SAA0C;IAE1C,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,OAAO,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;AAC/D,CAAC;AAED,oDAAoD;AACpD,SAAS,YAAY,CACnB,IAAuB,EACvB,KAAa,EACb,SAA0C;IAE1C,OAAO,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CACxB,QAA2B,EAC3B,SAA0C;IAE1C,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,SAAS,QAAQ,CAAC,IAAuB,EAAE,KAAa;QACtD,iDAAiD;QACjD,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;YAC1F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,uDAAuD;QACvD,IAAI,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,IAAI;gBAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAAE,OAAO;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,KAAK;gBAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAuB,EAAE,KAAe;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAErC,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,oDAAoD;AACpD,MAAM,oBAAoB,GAA2D;IACnF,QAAQ,EAAE,WAAW;IACrB,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,YAAY;CACxB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhE;;GAEG;AACH,SAAS,kBAAkB,CAAC,UAAgD;IAK1E,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAc,EAAE,OAAO,EAAE,EAAc,EAAE,UAAU,EAAE,EAAc,EAAE,CAAC;IAEnG,IAAI,UAAU,EAAE,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,QAAQ;YAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,UAAgD;IACpE,IAAI,CAAC,UAAU;QAAE,OAAO,OAAO,CAAC;IAChC,OAAO,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAClB,QAAgB,EAChB,IAAuB,EACvB,OAAe,EACf,UAAgD,EAChD,OAAiB,EACjB,QAAgB,EAChB,aAAmD;IAEnD,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,oBAAoB,GAAG,UAAU,EAAE,IAAI,IAAI,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAE9F,8DAA8D;IAC9D,MAAM,mBAAmB,GAAG,oBAAoB;QAC9C,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC;IAEd,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,oBAAoB;QACnC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,OAAO;QACP,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;YACjC,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC;YAC9B,QAAQ;YACR,OAAO;YACP,UAAU,EAAE,UAAU,EAAE,IAAI;YAC5B,UAAU,EAAE,UAAU,EAAE,IAAI;YAC5B,WAAW,EAAE,UAAU,EAAE,WAAW;YACpC,UAAU,EAAE,UAAU,EAAE,UAAU;YAClC,mBAAmB;YACnB,UAAU,EAAE,UAAU,EAAE,UAAU;YAClC,SAAS,EAAE,UAAU,EAAE,SAAS;YAChC,OAAO;YACP,mBAAmB;YACnB,cAAc,EAAE,QAAQ,EAAE,MAAM;YAChC,kBAAkB,EAAE,QAAQ,EAAE,UAAU;YACxC,cAAc,EAAE,QAAQ,EAAE,MAAM;YAChC,YAAY,EAAE,QAAQ,EAAE,IAAI;YAC5B,sBAAsB;YACtB,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;YAC9D,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;SAC5D;KACF,CAAC;AACJ,CAAC;AAUD;;GAEG;AACH,SAAS,mBAAmB,CAC1B,aAA0B,EAC1B,UAAkB;IAElB,MAAM,eAAe,GAAgB,EAAE,CAAC;IACxC,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,sBAAsB;IACtB,MAAM,YAAY,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAE1E,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,kCAAkC;YAClC,eAAe,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,YAAY;gBACnB,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;aACrB,CAAC,CAAC;QACL,CAAC;QACD,YAAY,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,iDAAiD;IACjD,IAAI,YAAY,GAAG,UAAU,EAAE,CAAC;QAC9B,eAAe,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,YAAY;YACnB,GAAG,EAAE,UAAU,GAAG,CAAC;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,KAAgB,EAChB,KAAe,EACf,QAAgB,EAChB,QAAgB,EAChB,OAAiB,EACjB,aAAmD;IAEnD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjD,OAAO;QACL,OAAO;QACP,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;YAC1B,OAAO,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;YACtB,IAAI,EAAE,OAAO;YACb,QAAQ;YACR,4DAA4D;YAC5D,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACvD,OAAO;YACP,sBAAsB;YACtB,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;YAC9D,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;SAC5D;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAe,EAAE,YAAoB;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IACxE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,IAAI,YAAY,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,KAAe,EACf,aAAoD,EACpD,QAAgB,EAChB,YAAoB,EACpB,OAAiB,EACjB,QAAgB,EAChB,aAAmD;IAEnD,MAAM,eAAe,GAAG,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzE,OAAO,eAAe;SACnB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;SAC5F,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { LienConfig, LegacyLienConfig } from '../config/schema.js';
|
|
1
|
+
import type { VectorDBInterface } from '../vectordb/types.js';
|
|
3
2
|
/**
|
|
4
3
|
* Result of change detection, categorized by type of change
|
|
5
4
|
*/
|
|
@@ -13,5 +12,5 @@ export interface ChangeDetectionResult {
|
|
|
13
12
|
* Detects which files have changed since last indexing.
|
|
14
13
|
* Uses git state detection to handle branch switches, then falls back to mtime.
|
|
15
14
|
*/
|
|
16
|
-
export declare function detectChanges(rootDir: string, vectorDB:
|
|
15
|
+
export declare function detectChanges(rootDir: string, vectorDB: VectorDBInterface): Promise<ChangeDetectionResult>;
|
|
17
16
|
//# sourceMappingURL=change-detector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-detector.d.ts","sourceRoot":"","sources":["../../src/indexer/change-detector.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"change-detector.d.ts","sourceRoot":"","sources":["../../src/indexer/change-detector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAO9D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,mBAAmB,CAAC;CAChD;AAsID;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAwBhC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import fs from 'fs/promises';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { ManifestManager } from './manifest.js';
|
|
4
|
-
|
|
5
|
-
import { isModernConfig, isLegacyConfig } from '../config/schema.js';
|
|
4
|
+
// scanFilesToIndex is imported from index.ts to avoid circular dependency
|
|
6
5
|
import { GitStateTracker } from '../git/tracker.js';
|
|
7
6
|
import { isGitAvailable, isGitRepo, getChangedFiles } from '../git/utils.js';
|
|
8
7
|
import { normalizeToRelativePath } from './incremental.js';
|
|
@@ -71,10 +70,10 @@ function normalizeManifestPaths(manifestFiles, rootDir) {
|
|
|
71
70
|
/**
|
|
72
71
|
* Detect changes using git diff between commits.
|
|
73
72
|
*/
|
|
74
|
-
async function detectGitBasedChanges(rootDir, savedManifest, currentCommit
|
|
73
|
+
async function detectGitBasedChanges(rootDir, savedManifest, currentCommit) {
|
|
75
74
|
const changedFilesAbsolute = await getChangedFiles(rootDir, savedManifest.gitState.commit, currentCommit);
|
|
76
75
|
const changedFilesPaths = changedFilesAbsolute.map(fp => normalizeToRelativePath(fp, rootDir));
|
|
77
|
-
const allFiles = await getAllFiles(rootDir
|
|
76
|
+
const allFiles = await getAllFiles(rootDir);
|
|
78
77
|
const currentFileSet = new Set(allFiles);
|
|
79
78
|
const normalizedManifestFiles = normalizeManifestPaths(savedManifest.files, rootDir);
|
|
80
79
|
const { added, modified, deleted } = categorizeChangedFiles(changedFilesPaths, currentFileSet, normalizedManifestFiles, allFiles);
|
|
@@ -83,8 +82,8 @@ async function detectGitBasedChanges(rootDir, savedManifest, currentCommit, conf
|
|
|
83
82
|
/**
|
|
84
83
|
* Fall back to full reindex when git diff fails.
|
|
85
84
|
*/
|
|
86
|
-
async function fallbackToFullReindex(rootDir, savedManifest
|
|
87
|
-
const allFiles = await getAllFiles(rootDir
|
|
85
|
+
async function fallbackToFullReindex(rootDir, savedManifest) {
|
|
86
|
+
const allFiles = await getAllFiles(rootDir);
|
|
88
87
|
const currentFileSet = new Set(allFiles);
|
|
89
88
|
const deleted = [];
|
|
90
89
|
for (const filepath of Object.keys(savedManifest.files)) {
|
|
@@ -99,63 +98,49 @@ async function fallbackToFullReindex(rootDir, savedManifest, config) {
|
|
|
99
98
|
* Detects which files have changed since last indexing.
|
|
100
99
|
* Uses git state detection to handle branch switches, then falls back to mtime.
|
|
101
100
|
*/
|
|
102
|
-
export async function detectChanges(rootDir, vectorDB
|
|
101
|
+
export async function detectChanges(rootDir, vectorDB) {
|
|
103
102
|
const manifest = new ManifestManager(vectorDB.dbPath);
|
|
104
103
|
const savedManifest = await manifest.load();
|
|
105
104
|
// No manifest = first run = full index
|
|
106
105
|
if (!savedManifest) {
|
|
107
|
-
const allFiles = await getAllFiles(rootDir
|
|
106
|
+
const allFiles = await getAllFiles(rootDir);
|
|
108
107
|
return { added: allFiles, modified: [], deleted: [], reason: 'full' };
|
|
109
108
|
}
|
|
110
109
|
// Check if git state has changed
|
|
111
110
|
const gitCheck = await hasGitStateChanged(rootDir, vectorDB.dbPath, savedManifest.gitState);
|
|
112
111
|
if (gitCheck.changed && gitCheck.currentState) {
|
|
113
112
|
try {
|
|
114
|
-
return await detectGitBasedChanges(rootDir, savedManifest, gitCheck.currentState.commit
|
|
113
|
+
return await detectGitBasedChanges(rootDir, savedManifest, gitCheck.currentState.commit);
|
|
115
114
|
}
|
|
116
115
|
catch (error) {
|
|
117
116
|
console.warn(`[Lien] Git diff failed, falling back to full reindex: ${error}`);
|
|
118
|
-
return await fallbackToFullReindex(rootDir, savedManifest
|
|
117
|
+
return await fallbackToFullReindex(rootDir, savedManifest);
|
|
119
118
|
}
|
|
120
119
|
}
|
|
121
120
|
// Use mtime-based detection for file-level changes
|
|
122
|
-
return await mtimeBasedDetection(rootDir, savedManifest
|
|
121
|
+
return await mtimeBasedDetection(rootDir, savedManifest);
|
|
123
122
|
}
|
|
124
123
|
/**
|
|
125
|
-
* Gets all files in the project
|
|
124
|
+
* Gets all files in the project by auto-detecting frameworks.
|
|
126
125
|
* Always returns relative paths for consistent comparison with manifest and git diff.
|
|
127
126
|
*/
|
|
128
|
-
async function getAllFiles(rootDir
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
else if (isLegacyConfig(config)) {
|
|
134
|
-
files = await scanCodebase({
|
|
135
|
-
rootDir,
|
|
136
|
-
includePatterns: config.indexing.include,
|
|
137
|
-
excludePatterns: config.indexing.exclude,
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
files = await scanCodebase({
|
|
142
|
-
rootDir,
|
|
143
|
-
includePatterns: [],
|
|
144
|
-
excludePatterns: [],
|
|
145
|
-
});
|
|
146
|
-
}
|
|
127
|
+
async function getAllFiles(rootDir) {
|
|
128
|
+
// Use the same auto-detection logic as scanFilesToIndex
|
|
129
|
+
// Import it from index.ts to reuse the framework detection logic
|
|
130
|
+
const { scanFilesToIndex } = await import('./index.js');
|
|
131
|
+
const files = await scanFilesToIndex(rootDir);
|
|
147
132
|
// Normalize all paths to relative for consistent comparison
|
|
148
|
-
return files.map(fp => normalizeToRelativePath(fp, rootDir));
|
|
133
|
+
return files.map((fp) => normalizeToRelativePath(fp, rootDir));
|
|
149
134
|
}
|
|
150
135
|
/**
|
|
151
136
|
* Detects changes by comparing file modification times
|
|
152
137
|
*/
|
|
153
|
-
async function mtimeBasedDetection(rootDir, savedManifest
|
|
138
|
+
async function mtimeBasedDetection(rootDir, savedManifest) {
|
|
154
139
|
const added = [];
|
|
155
140
|
const modified = [];
|
|
156
141
|
const deleted = [];
|
|
157
142
|
// Get all current files (already normalized to relative paths by getAllFiles)
|
|
158
|
-
const currentFiles = await getAllFiles(rootDir
|
|
143
|
+
const currentFiles = await getAllFiles(rootDir);
|
|
159
144
|
const currentFileSet = new Set(currentFiles);
|
|
160
145
|
// Build a normalized map of manifest files for comparison
|
|
161
146
|
// This handles cases where manifest has absolute paths (from tests or legacy data)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-detector.js","sourceRoot":"","sources":["../../src/indexer/change-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAiB,MAAM,eAAe,CAAC;AAC/D,
|
|
1
|
+
{"version":3,"file":"change-detector.js","sourceRoot":"","sources":["../../src/indexer/change-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - Manage concurrent access with mutex pattern
|
|
13
13
|
* - Process batches through embedding → vectordb pipeline
|
|
14
14
|
*/
|
|
15
|
-
import type {
|
|
15
|
+
import type { VectorDBInterface } from '../vectordb/types.js';
|
|
16
16
|
import type { EmbeddingService } from '../embeddings/types.js';
|
|
17
17
|
import type { ProgressTracker } from './progress-tracker.js';
|
|
18
18
|
import type { CodeChunk } from './types.js';
|
|
@@ -67,7 +67,7 @@ export declare class ChunkBatchProcessor {
|
|
|
67
67
|
private processedChunkCount;
|
|
68
68
|
private addChunksLock;
|
|
69
69
|
private processingQueue;
|
|
70
|
-
constructor(vectorDB:
|
|
70
|
+
constructor(vectorDB: VectorDBInterface, embeddings: EmbeddingService, config: BatchProcessorConfig, progressTracker: ProgressTracker);
|
|
71
71
|
/**
|
|
72
72
|
* Add chunks from a processed file.
|
|
73
73
|
* Thread-safe: uses mutex to prevent race conditions with concurrent calls.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-batch-processor.d.ts","sourceRoot":"","sources":["../../src/indexer/chunk-batch-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"chunk-batch-processor.d.ts","sourceRoot":"","sources":["../../src/indexer/chunk-batch-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,gBAAgB,GAC3B,OAAO,CAAC,YAAY,EAAE,CAAC,CAazB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAmB;IAU5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAZlC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,mBAAmB,CAAK;IAGhC,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,eAAe,CAA8B;gBAGlC,QAAQ,EAAE,iBAAiB,EAC3B,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,oBAAoB,EAC5B,eAAe,EAAE,eAAe;IAGnD;;;;;;;OAOG;IACG,SAAS,CACb,MAAM,EAAE,SAAS,EAAE,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IA2ChB;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACH,UAAU,IAAI;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,cAAc,EAAE,CAAA;KAAE;IAOzE;;;OAGG;YACW,iBAAiB;IAU/B;;;OAGG;YACW,SAAS;CA4CxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-batch-processor.js","sourceRoot":"","sources":["../../src/indexer/chunk-batch-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAuB7D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAe,EACf,UAA4B;IAE5B,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,0BAA0B,EAAE,CAAC;QAClE,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,0BAA0B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAE9B,4CAA4C;QAC5C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,mBAAmB;IAUX;IACA;IACA;IACA;IAZF,WAAW,GAAuB,EAAE,CAAC;IACrC,YAAY,GAAqB,EAAE,CAAC;IAC7C,mBAAmB,GAAG,CAAC,CAAC;IAEhC,+CAA+C;IACvC,aAAa,GAAyB,IAAI,CAAC;IAC3C,eAAe,GAAyB,IAAI,CAAC;IAErD,YACmB,
|
|
1
|
+
{"version":3,"file":"chunk-batch-processor.js","sourceRoot":"","sources":["../../src/indexer/chunk-batch-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ export interface ChunkOptions {
|
|
|
4
4
|
chunkOverlap?: number;
|
|
5
5
|
useAST?: boolean;
|
|
6
6
|
astFallback?: 'line-based' | 'error';
|
|
7
|
+
repoId?: string;
|
|
8
|
+
orgId?: string;
|
|
7
9
|
}
|
|
8
10
|
export declare function chunkFile(filepath: string, content: string, options?: ChunkOptions): CodeChunk[];
|
|
9
11
|
export declare function chunkText(text: string, options?: ChunkOptions): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/indexer/chunker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAOvC,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/indexer/chunker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAOvC,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAErC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,SAAS,EAAE,CAqCb;AA0DD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,EAAE,CAqB5E"}
|
package/dist/indexer/chunker.js
CHANGED
|
@@ -4,23 +4,25 @@ import { shouldUseAST, chunkByAST } from './ast/chunker.js';
|
|
|
4
4
|
import { chunkLiquidFile } from './liquid-chunker.js';
|
|
5
5
|
import { chunkJSONTemplate } from './json-template-chunker.js';
|
|
6
6
|
export function chunkFile(filepath, content, options = {}) {
|
|
7
|
-
const { chunkSize = 75, chunkOverlap = 10, useAST = true, astFallback = 'line-based' } = options;
|
|
7
|
+
const { chunkSize = 75, chunkOverlap = 10, useAST = true, astFallback = 'line-based', repoId, orgId } = options;
|
|
8
8
|
// Special handling for Liquid files
|
|
9
9
|
if (filepath.endsWith('.liquid')) {
|
|
10
|
-
return chunkLiquidFile(filepath, content, chunkSize, chunkOverlap);
|
|
10
|
+
return chunkLiquidFile(filepath, content, chunkSize, chunkOverlap, { repoId, orgId });
|
|
11
11
|
}
|
|
12
12
|
// Special handling for Shopify JSON template files (templates/**/*.json)
|
|
13
13
|
// Use regex to ensure 'templates/' is a path segment, not part of another name
|
|
14
14
|
// Matches: templates/product.json OR some-path/templates/customers/account.json
|
|
15
15
|
// Rejects: my-templates/config.json OR node_modules/pkg/templates/file.json (filtered by scanner)
|
|
16
16
|
if (filepath.endsWith('.json') && /(?:^|\/)templates\//.test(filepath)) {
|
|
17
|
-
return chunkJSONTemplate(filepath, content);
|
|
17
|
+
return chunkJSONTemplate(filepath, content, { repoId, orgId });
|
|
18
18
|
}
|
|
19
19
|
// Try AST-based chunking for supported languages
|
|
20
20
|
if (useAST && shouldUseAST(filepath)) {
|
|
21
21
|
try {
|
|
22
22
|
return chunkByAST(filepath, content, {
|
|
23
23
|
minChunkSize: Math.floor(chunkSize / 10),
|
|
24
|
+
repoId,
|
|
25
|
+
orgId,
|
|
24
26
|
});
|
|
25
27
|
}
|
|
26
28
|
catch (error) {
|
|
@@ -34,12 +36,12 @@ export function chunkFile(filepath, content, options = {}) {
|
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
// Line-based chunking (original implementation)
|
|
37
|
-
return chunkByLines(filepath, content, chunkSize, chunkOverlap);
|
|
39
|
+
return chunkByLines(filepath, content, chunkSize, chunkOverlap, { repoId, orgId });
|
|
38
40
|
}
|
|
39
41
|
/**
|
|
40
42
|
* Original line-based chunking implementation
|
|
41
43
|
*/
|
|
42
|
-
function chunkByLines(filepath, content, chunkSize, chunkOverlap) {
|
|
44
|
+
function chunkByLines(filepath, content, chunkSize, chunkOverlap, tenantContext) {
|
|
43
45
|
const lines = content.split('\n');
|
|
44
46
|
const chunks = [];
|
|
45
47
|
const language = detectLanguage(filepath);
|
|
@@ -67,6 +69,8 @@ function chunkByLines(filepath, content, chunkSize, chunkOverlap) {
|
|
|
67
69
|
type: 'block', // MVP: all chunks are 'block' type
|
|
68
70
|
language,
|
|
69
71
|
symbols,
|
|
72
|
+
...(tenantContext?.repoId && { repoId: tenantContext.repoId }),
|
|
73
|
+
...(tenantContext?.orgId && { orgId: tenantContext.orgId }),
|
|
70
74
|
},
|
|
71
75
|
});
|
|
72
76
|
// If we've reached the end, break
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../src/indexer/chunker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../src/indexer/chunker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAY/D,MAAM,UAAU,SAAS,CACvB,QAAgB,EAChB,OAAe,EACf,UAAwB,EAAE;IAE1B,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,GAAG,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEhH,oCAAoC;IACpC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,yEAAyE;IACzE,+EAA+E;IAC/E,gFAAgF;IAChF,kGAAkG;IAClG,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,OAAO,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,iDAAiD;IACjD,IAAI,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE;gBACnC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;gBACxC,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2CAA2C;YAC3C,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;gBAC5B,qDAAqD;gBACrD,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpH,CAAC;YACD,4CAA4C;YAC5C,OAAO,CAAC,IAAI,CAAC,2BAA2B,QAAQ,+BAA+B,EAAE,KAAK,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACrF,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,QAAgB,EAChB,OAAe,EACf,SAAiB,EACjB,YAAoB,EACpB,aAAmD;IAEnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE1C,qBAAqB;IACrB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACzE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,8BAA8B;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,oBAAoB;QACpB,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,SAAS;QACX,CAAC;QAED,iCAAiC;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEvD,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,CAAC,GAAG,CAAC;gBAChB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,OAAO,EAAE,mCAAmC;gBAClD,QAAQ;gBACR,OAAO;gBACP,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC9D,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;aAC5D;SACF,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,UAAwB,EAAE;IAChE,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,GAAG,YAAY,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|