src-mcp 1.0.1 → 1.0.2
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/dist/bin.d.mts +1 -0
- package/dist/bin.mjs +205 -0
- package/dist/bin.mjs.map +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +8 -0
- package/dist/index.mjs.map +1 -0
- package/dist/server-B2Ms4jQx.mjs +3889 -0
- package/dist/server-B2Ms4jQx.mjs.map +1 -0
- package/package.json +10 -9
- package/dist/bin.d.ts +0 -3
- package/dist/bin.d.ts.map +0 -1
- package/dist/bin.js +0 -4
- package/dist/bin.js.map +0 -1
- package/dist/cli/adapter.d.ts +0 -7
- package/dist/cli/adapter.d.ts.map +0 -1
- package/dist/cli/adapter.js +0 -39
- package/dist/cli/adapter.js.map +0 -1
- package/dist/cli/commands/index.d.ts +0 -24
- package/dist/cli/commands/index.d.ts.map +0 -1
- package/dist/cli/commands/index.js +0 -13
- package/dist/cli/commands/index.js.map +0 -1
- package/dist/cli/commands/serve.command.d.ts +0 -21
- package/dist/cli/commands/serve.command.d.ts.map +0 -1
- package/dist/cli/commands/serve.command.js +0 -62
- package/dist/cli/commands/serve.command.js.map +0 -1
- package/dist/cli/commands/version.command.d.ts +0 -2
- package/dist/cli/commands/version.command.d.ts.map +0 -1
- package/dist/cli/commands/version.command.js +0 -12
- package/dist/cli/commands/version.command.js.map +0 -1
- package/dist/cli/index.d.ts +0 -2
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -15
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/parser.d.ts +0 -7
- package/dist/cli/parser.d.ts.map +0 -1
- package/dist/cli/parser.js +0 -99
- package/dist/cli/parser.js.map +0 -1
- package/dist/config/index.d.ts +0 -24
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -38
- package/dist/config/index.js.map +0 -1
- package/dist/core/ast/index.d.ts +0 -82
- package/dist/core/ast/index.d.ts.map +0 -1
- package/dist/core/ast/index.js +0 -204
- package/dist/core/ast/index.js.map +0 -1
- package/dist/core/ast/types.d.ts +0 -152
- package/dist/core/ast/types.d.ts.map +0 -1
- package/dist/core/ast/types.js +0 -5
- package/dist/core/ast/types.js.map +0 -1
- package/dist/core/constants.d.ts +0 -17
- package/dist/core/constants.d.ts.map +0 -1
- package/dist/core/constants.js +0 -49
- package/dist/core/constants.js.map +0 -1
- package/dist/core/embeddings/callgraph.d.ts +0 -98
- package/dist/core/embeddings/callgraph.d.ts.map +0 -1
- package/dist/core/embeddings/callgraph.js +0 -415
- package/dist/core/embeddings/callgraph.js.map +0 -1
- package/dist/core/embeddings/chunker.d.ts +0 -37
- package/dist/core/embeddings/chunker.d.ts.map +0 -1
- package/dist/core/embeddings/chunker.js +0 -298
- package/dist/core/embeddings/chunker.js.map +0 -1
- package/dist/core/embeddings/client.d.ts +0 -30
- package/dist/core/embeddings/client.d.ts.map +0 -1
- package/dist/core/embeddings/client.js +0 -65
- package/dist/core/embeddings/client.js.map +0 -1
- package/dist/core/embeddings/crossfile.d.ts +0 -58
- package/dist/core/embeddings/crossfile.d.ts.map +0 -1
- package/dist/core/embeddings/crossfile.js +0 -202
- package/dist/core/embeddings/crossfile.js.map +0 -1
- package/dist/core/embeddings/enricher.d.ts +0 -53
- package/dist/core/embeddings/enricher.d.ts.map +0 -1
- package/dist/core/embeddings/enricher.js +0 -308
- package/dist/core/embeddings/enricher.js.map +0 -1
- package/dist/core/embeddings/index.d.ts +0 -13
- package/dist/core/embeddings/index.d.ts.map +0 -1
- package/dist/core/embeddings/index.js +0 -20
- package/dist/core/embeddings/index.js.map +0 -1
- package/dist/core/embeddings/reranker.d.ts +0 -41
- package/dist/core/embeddings/reranker.d.ts.map +0 -1
- package/dist/core/embeddings/reranker.js +0 -117
- package/dist/core/embeddings/reranker.js.map +0 -1
- package/dist/core/embeddings/store.d.ts +0 -93
- package/dist/core/embeddings/store.d.ts.map +0 -1
- package/dist/core/embeddings/store.js +0 -304
- package/dist/core/embeddings/store.js.map +0 -1
- package/dist/core/embeddings/types.d.ts +0 -77
- package/dist/core/embeddings/types.d.ts.map +0 -1
- package/dist/core/embeddings/types.js +0 -5
- package/dist/core/embeddings/types.js.map +0 -1
- package/dist/core/embeddings/watcher.d.ts +0 -130
- package/dist/core/embeddings/watcher.d.ts.map +0 -1
- package/dist/core/embeddings/watcher.js +0 -448
- package/dist/core/embeddings/watcher.js.map +0 -1
- package/dist/core/fallback/index.d.ts +0 -26
- package/dist/core/fallback/index.d.ts.map +0 -1
- package/dist/core/fallback/index.js +0 -76
- package/dist/core/fallback/index.js.map +0 -1
- package/dist/core/parser/index.d.ts +0 -64
- package/dist/core/parser/index.d.ts.map +0 -1
- package/dist/core/parser/index.js +0 -205
- package/dist/core/parser/index.js.map +0 -1
- package/dist/core/parser/languages.d.ts +0 -26
- package/dist/core/parser/languages.d.ts.map +0 -1
- package/dist/core/parser/languages.js +0 -101
- package/dist/core/parser/languages.js.map +0 -1
- package/dist/core/queries/helpers.d.ts +0 -72
- package/dist/core/queries/helpers.d.ts.map +0 -1
- package/dist/core/queries/helpers.js +0 -101
- package/dist/core/queries/helpers.js.map +0 -1
- package/dist/core/queries/index.d.ts +0 -144
- package/dist/core/queries/index.d.ts.map +0 -1
- package/dist/core/queries/index.js +0 -396
- package/dist/core/queries/index.js.map +0 -1
- package/dist/core/queries/loader.d.ts +0 -46
- package/dist/core/queries/loader.d.ts.map +0 -1
- package/dist/core/queries/loader.js +0 -216
- package/dist/core/queries/loader.js.map +0 -1
- package/dist/core/queries/patterns.d.ts +0 -10
- package/dist/core/queries/patterns.d.ts.map +0 -1
- package/dist/core/queries/patterns.js +0 -112
- package/dist/core/queries/patterns.js.map +0 -1
- package/dist/core/symbols/index.d.ts +0 -70
- package/dist/core/symbols/index.d.ts.map +0 -1
- package/dist/core/symbols/index.js +0 -359
- package/dist/core/symbols/index.js.map +0 -1
- package/dist/core/unified/index.d.ts +0 -118
- package/dist/core/unified/index.d.ts.map +0 -1
- package/dist/core/unified/index.js +0 -428
- package/dist/core/unified/index.js.map +0 -1
- package/dist/core/utils/assets.d.ts +0 -34
- package/dist/core/utils/assets.d.ts.map +0 -1
- package/dist/core/utils/assets.js +0 -85
- package/dist/core/utils/assets.js.map +0 -1
- package/dist/core/utils/cache.d.ts +0 -43
- package/dist/core/utils/cache.d.ts.map +0 -1
- package/dist/core/utils/cache.js +0 -60
- package/dist/core/utils/cache.js.map +0 -1
- package/dist/core/utils/index.d.ts +0 -7
- package/dist/core/utils/index.d.ts.map +0 -1
- package/dist/core/utils/index.js +0 -10
- package/dist/core/utils/index.js.map +0 -1
- package/dist/core/utils/tsconfig.d.ts +0 -34
- package/dist/core/utils/tsconfig.d.ts.map +0 -1
- package/dist/core/utils/tsconfig.js +0 -173
- package/dist/core/utils/tsconfig.js.map +0 -1
- package/dist/features/analyze-file/index.d.ts +0 -15
- package/dist/features/analyze-file/index.d.ts.map +0 -1
- package/dist/features/analyze-file/index.js +0 -164
- package/dist/features/analyze-file/index.js.map +0 -1
- package/dist/features/get-call-graph/index.d.ts +0 -24
- package/dist/features/get-call-graph/index.d.ts.map +0 -1
- package/dist/features/get-call-graph/index.js +0 -246
- package/dist/features/get-call-graph/index.js.map +0 -1
- package/dist/features/get-index-status/index.d.ts +0 -20
- package/dist/features/get-index-status/index.d.ts.map +0 -1
- package/dist/features/get-index-status/index.js +0 -90
- package/dist/features/get-index-status/index.js.map +0 -1
- package/dist/features/index-codebase/index.d.ts +0 -24
- package/dist/features/index-codebase/index.d.ts.map +0 -1
- package/dist/features/index-codebase/index.js +0 -283
- package/dist/features/index-codebase/index.js.map +0 -1
- package/dist/features/index.d.ts +0 -15
- package/dist/features/index.d.ts.map +0 -1
- package/dist/features/index.js +0 -28
- package/dist/features/index.js.map +0 -1
- package/dist/features/info/index.d.ts +0 -19
- package/dist/features/info/index.d.ts.map +0 -1
- package/dist/features/info/index.js +0 -41
- package/dist/features/info/index.js.map +0 -1
- package/dist/features/list-symbols/index.d.ts +0 -22
- package/dist/features/list-symbols/index.d.ts.map +0 -1
- package/dist/features/list-symbols/index.js +0 -74
- package/dist/features/list-symbols/index.js.map +0 -1
- package/dist/features/parse-ast/index.d.ts +0 -12
- package/dist/features/parse-ast/index.d.ts.map +0 -1
- package/dist/features/parse-ast/index.js +0 -71
- package/dist/features/parse-ast/index.js.map +0 -1
- package/dist/features/query-code/index.d.ts +0 -23
- package/dist/features/query-code/index.d.ts.map +0 -1
- package/dist/features/query-code/index.js +0 -96
- package/dist/features/query-code/index.js.map +0 -1
- package/dist/features/search-code/index.d.ts +0 -39
- package/dist/features/search-code/index.d.ts.map +0 -1
- package/dist/features/search-code/index.js +0 -258
- package/dist/features/search-code/index.js.map +0 -1
- package/dist/features/types.d.ts +0 -14
- package/dist/features/types.d.ts.map +0 -1
- package/dist/features/types.js +0 -2
- package/dist/features/types.js.map +0 -1
- package/dist/features/update-index/index.d.ts +0 -24
- package/dist/features/update-index/index.d.ts.map +0 -1
- package/dist/features/update-index/index.js +0 -358
- package/dist/features/update-index/index.js.map +0 -1
- package/dist/features/utils/content.d.ts +0 -30
- package/dist/features/utils/content.d.ts.map +0 -1
- package/dist/features/utils/content.js +0 -49
- package/dist/features/utils/content.js.map +0 -1
- package/dist/features/utils/index.d.ts +0 -6
- package/dist/features/utils/index.d.ts.map +0 -1
- package/dist/features/utils/index.js +0 -8
- package/dist/features/utils/index.js.map +0 -1
- package/dist/features/utils/result.d.ts +0 -37
- package/dist/features/utils/result.d.ts.map +0 -1
- package/dist/features/utils/result.js +0 -53
- package/dist/features/utils/result.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +0 -1
- package/dist/prompts/index.d.ts +0 -9
- package/dist/prompts/index.d.ts.map +0 -1
- package/dist/prompts/index.js +0 -188
- package/dist/prompts/index.js.map +0 -1
- package/dist/resources/index.d.ts +0 -3
- package/dist/resources/index.d.ts.map +0 -1
- package/dist/resources/index.js +0 -17
- package/dist/resources/index.js.map +0 -1
- package/dist/server.d.ts +0 -4
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -24
- package/dist/server.js.map +0 -1
- package/dist/tools/adapter.d.ts +0 -4
- package/dist/tools/adapter.d.ts.map +0 -1
- package/dist/tools/adapter.js +0 -28
- package/dist/tools/adapter.js.map +0 -1
- package/dist/tools/index.d.ts +0 -5
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -9
- package/dist/tools/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -20
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/utils/colors.d.ts +0 -24
- package/dist/utils/colors.d.ts.map +0 -1
- package/dist/utils/colors.js +0 -30
- package/dist/utils/colors.js.map +0 -1
- package/dist/utils/index.d.ts +0 -4
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -4
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -8
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -57
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/spinner.d.ts +0 -11
- package/dist/utils/spinner.d.ts.map +0 -1
- package/dist/utils/spinner.js +0 -36
- package/dist/utils/spinner.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crossfile.js","sourceRoot":"","sources":["../../../src/core/embeddings/crossfile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Chunk enrichment module for better embeddings
|
|
3
|
-
*
|
|
4
|
-
* Enriches code chunks with semantic metadata (symbols, imports, exports)
|
|
5
|
-
* and cross-file context (resolved import definitions) to improve
|
|
6
|
-
* embedding quality for semantic search.
|
|
7
|
-
*
|
|
8
|
-
* Pipeline:
|
|
9
|
-
* File → chunkFile() → CodeChunk[] → enrichChunks() → EnrichedChunk[]
|
|
10
|
-
* ↓
|
|
11
|
-
* embedBatch(enrichedContent)
|
|
12
|
-
*/
|
|
13
|
-
import type { CodeChunk, EnrichedChunk } from "./types";
|
|
14
|
-
/**
|
|
15
|
-
* Options for enrichment
|
|
16
|
-
*/
|
|
17
|
-
export interface EnrichmentOptions {
|
|
18
|
-
/** Project root directory for cross-file resolution */
|
|
19
|
-
projectRoot?: string;
|
|
20
|
-
/** Path aliases (e.g., {"@core": "src/core"}) */
|
|
21
|
-
pathAliases?: Record<string, string>;
|
|
22
|
-
/** Whether to include cross-file context (default: from config) */
|
|
23
|
-
includeCrossFileContext?: boolean;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Clear the AST cache
|
|
27
|
-
*/
|
|
28
|
-
export declare function clearASTCache(): void;
|
|
29
|
-
/**
|
|
30
|
-
* Enrich a single chunk with semantic metadata
|
|
31
|
-
*
|
|
32
|
-
* Note: For multiple chunks from the same file, use `enrichChunksFromFile`
|
|
33
|
-
* which is more efficient as it parses the file only once.
|
|
34
|
-
*/
|
|
35
|
-
export declare function enrichChunk(chunk: CodeChunk, content: string, options?: EnrichmentOptions): Promise<EnrichedChunk>;
|
|
36
|
-
/**
|
|
37
|
-
* Enrich all chunks from a single file (optimized - parses once)
|
|
38
|
-
*/
|
|
39
|
-
export declare function enrichChunksFromFile(chunks: CodeChunk[], content: string, options?: EnrichmentOptions): Promise<EnrichedChunk[]>;
|
|
40
|
-
/**
|
|
41
|
-
* Enrich chunks from multiple files
|
|
42
|
-
*
|
|
43
|
-
* Groups chunks by file path for efficient processing.
|
|
44
|
-
*/
|
|
45
|
-
export declare function enrichChunks(chunks: CodeChunk[], fileContents: Map<string, string>, options?: EnrichmentOptions): Promise<EnrichedChunk[]>;
|
|
46
|
-
/**
|
|
47
|
-
* Get cache statistics
|
|
48
|
-
*/
|
|
49
|
-
export declare function getASTCacheStats(): {
|
|
50
|
-
files: number;
|
|
51
|
-
entries: string[];
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=enricher.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enricher.d.ts","sourceRoot":"","sources":["../../../src/core/embeddings/enricher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,OAAO,KAAK,EAAe,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAkBrE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,mEAAmE;IACnE,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAOD;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AA6MD;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAoCxB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,EAAE,CAAC,CA0D1B;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EAAE,EACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,EAAE,CAAC,CA8D1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAKvE"}
|
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Chunk enrichment module for better embeddings
|
|
3
|
-
*
|
|
4
|
-
* Enriches code chunks with semantic metadata (symbols, imports, exports)
|
|
5
|
-
* and cross-file context (resolved import definitions) to improve
|
|
6
|
-
* embedding quality for semantic search.
|
|
7
|
-
*
|
|
8
|
-
* Pipeline:
|
|
9
|
-
* File → chunkFile() → CodeChunk[] → enrichChunks() → EnrichedChunk[]
|
|
10
|
-
* ↓
|
|
11
|
-
* embedBatch(enrichedContent)
|
|
12
|
-
*/
|
|
13
|
-
import { parseCode } from "@core/parser";
|
|
14
|
-
import { extractExports, extractImports, extractSymbols } from "@core/symbols";
|
|
15
|
-
import { registerCache } from "@core/utils";
|
|
16
|
-
import { logger } from "@utils";
|
|
17
|
-
import { ENRICHMENT_CONFIG } from "@config";
|
|
18
|
-
import { resolveCrossFileContext, } from "./crossfile";
|
|
19
|
-
/**
|
|
20
|
-
* AST cache per file path to avoid re-parsing
|
|
21
|
-
*/
|
|
22
|
-
const astCache = new Map();
|
|
23
|
-
/**
|
|
24
|
-
* Clear the AST cache
|
|
25
|
-
*/
|
|
26
|
-
export function clearASTCache() {
|
|
27
|
-
astCache.clear();
|
|
28
|
-
}
|
|
29
|
-
// Register cache for centralized clearing
|
|
30
|
-
registerCache("embeddings:astCache", clearASTCache);
|
|
31
|
-
/** Maximum number of imports to include in enriched content */
|
|
32
|
-
const MAX_IMPORTS = 10;
|
|
33
|
-
/** Maximum number of exports to include in enriched content */
|
|
34
|
-
const MAX_EXPORTS = 10;
|
|
35
|
-
/**
|
|
36
|
-
* Get or create file analysis from cache
|
|
37
|
-
*/
|
|
38
|
-
async function getFileAnalysis(filePath, content, options) {
|
|
39
|
-
// Check cache first
|
|
40
|
-
const cached = astCache.get(filePath);
|
|
41
|
-
if (cached) {
|
|
42
|
-
return cached;
|
|
43
|
-
}
|
|
44
|
-
try {
|
|
45
|
-
// Parse the file
|
|
46
|
-
const parseResult = await parseCode(content, { filePath });
|
|
47
|
-
// Extract symbols, imports, and exports
|
|
48
|
-
const { symbols } = extractSymbols(parseResult.tree, parseResult.languageInstance, parseResult.language);
|
|
49
|
-
const imports = extractImports(parseResult.tree, parseResult.languageInstance, parseResult.language);
|
|
50
|
-
const exports = extractExports(parseResult.tree, parseResult.languageInstance, parseResult.language);
|
|
51
|
-
const analysis = {
|
|
52
|
-
parseResult,
|
|
53
|
-
symbols,
|
|
54
|
-
imports,
|
|
55
|
-
exports,
|
|
56
|
-
};
|
|
57
|
-
// Resolve cross-file context if enabled
|
|
58
|
-
const shouldIncludeCrossFile = options?.includeCrossFileContext ??
|
|
59
|
-
ENRICHMENT_CONFIG.includeCrossFileContext;
|
|
60
|
-
if (shouldIncludeCrossFile && imports.length > 0 && options?.projectRoot) {
|
|
61
|
-
try {
|
|
62
|
-
const crossFileOptions = {
|
|
63
|
-
projectRoot: options.projectRoot,
|
|
64
|
-
pathAliases: options.pathAliases,
|
|
65
|
-
maxImports: ENRICHMENT_CONFIG.maxImportsToResolve,
|
|
66
|
-
maxSymbolsPerFile: ENRICHMENT_CONFIG.maxSymbolsPerImport,
|
|
67
|
-
};
|
|
68
|
-
const crossFileContext = await resolveCrossFileContext(imports, filePath, crossFileOptions);
|
|
69
|
-
analysis.crossFileContext = crossFileContext;
|
|
70
|
-
logger.debug(`Resolved cross-file context for ${filePath}: ${String(crossFileContext.resolvedImports.length)} imports`);
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
logger.debug(`Failed to resolve cross-file context for ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
// Cache for future chunks from same file
|
|
77
|
-
astCache.set(filePath, analysis);
|
|
78
|
-
return analysis;
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
logger.debug(`Failed to parse ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Find symbols that overlap with a chunk's line range
|
|
87
|
-
*/
|
|
88
|
-
function findSymbolsInRange(symbols, startLine, endLine) {
|
|
89
|
-
const chunkSymbols = [];
|
|
90
|
-
for (const symbol of symbols) {
|
|
91
|
-
// Check if symbol overlaps with chunk's line range
|
|
92
|
-
const symbolStart = symbol.start.line;
|
|
93
|
-
const symbolEnd = symbol.end.line;
|
|
94
|
-
// Symbol overlaps if it starts before chunk ends AND ends after chunk starts
|
|
95
|
-
if (symbolStart <= endLine && symbolEnd >= startLine) {
|
|
96
|
-
chunkSymbols.push({
|
|
97
|
-
name: symbol.name,
|
|
98
|
-
type: symbol.type,
|
|
99
|
-
signature: symbol.signature,
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
return chunkSymbols;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Format import sources for enrichment header
|
|
107
|
-
*/
|
|
108
|
-
function formatImportSources(imports) {
|
|
109
|
-
const sources = imports
|
|
110
|
-
.slice(0, MAX_IMPORTS)
|
|
111
|
-
.map((imp) => imp.source)
|
|
112
|
-
.filter((source) => source.length > 0);
|
|
113
|
-
return sources.join(", ");
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Format export names for enrichment header
|
|
117
|
-
*/
|
|
118
|
-
function formatExportNames(exports) {
|
|
119
|
-
const names = exports
|
|
120
|
-
.slice(0, MAX_EXPORTS)
|
|
121
|
-
.map((exp) => exp.name)
|
|
122
|
-
.filter((name) => name.length > 0 && name !== "default");
|
|
123
|
-
return names.join(", ");
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Format symbols for enrichment header
|
|
127
|
-
*/
|
|
128
|
-
function formatSymbols(symbols) {
|
|
129
|
-
return symbols.map((s) => `${s.name} (${s.type})`).join(", ");
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Build enriched content with metadata header
|
|
133
|
-
*/
|
|
134
|
-
function buildEnrichedContent(chunk, symbols, imports, exports, crossFileContext) {
|
|
135
|
-
const headerLines = [];
|
|
136
|
-
// Always include file path
|
|
137
|
-
headerLines.push(`File: ${chunk.filePath}`);
|
|
138
|
-
// Always include language
|
|
139
|
-
headerLines.push(`Language: ${chunk.language}`);
|
|
140
|
-
// Include symbols if present
|
|
141
|
-
if (symbols.length > 0) {
|
|
142
|
-
headerLines.push(`Symbols: ${formatSymbols(symbols)}`);
|
|
143
|
-
}
|
|
144
|
-
// Include imports if present
|
|
145
|
-
if (imports.length > 0) {
|
|
146
|
-
const importStr = formatImportSources(imports);
|
|
147
|
-
if (importStr.length > 0) {
|
|
148
|
-
headerLines.push(`Imports: ${importStr}`);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
// Include exports if present
|
|
152
|
-
if (exports.length > 0) {
|
|
153
|
-
const exportStr = formatExportNames(exports);
|
|
154
|
-
if (exportStr.length > 0) {
|
|
155
|
-
headerLines.push(`Exports: ${exportStr}`);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
// Include cross-file context (resolved import definitions)
|
|
159
|
-
if (crossFileContext && crossFileContext.importedSymbolsSummary.length > 0) {
|
|
160
|
-
headerLines.push(`Imported definitions:\n${crossFileContext.importedSymbolsSummary}`);
|
|
161
|
-
}
|
|
162
|
-
// Always have header with at least file path and language
|
|
163
|
-
return headerLines.join("\n") + "\n\n---\n" + chunk.content;
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Enrich a single chunk with semantic metadata
|
|
167
|
-
*
|
|
168
|
-
* Note: For multiple chunks from the same file, use `enrichChunksFromFile`
|
|
169
|
-
* which is more efficient as it parses the file only once.
|
|
170
|
-
*/
|
|
171
|
-
export async function enrichChunk(chunk, content, options) {
|
|
172
|
-
const analysis = await getFileAnalysis(chunk.filePath, content, options);
|
|
173
|
-
if (!analysis) {
|
|
174
|
-
// Fallback: return with basic enrichment (file path and language only)
|
|
175
|
-
const basicHeader = `File: ${chunk.filePath}\nLanguage: ${chunk.language}\n\n---\n`;
|
|
176
|
-
return {
|
|
177
|
-
...chunk,
|
|
178
|
-
enrichedContent: basicHeader + chunk.content,
|
|
179
|
-
containedSymbols: [],
|
|
180
|
-
wasEnriched: false,
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
// Find symbols in this chunk's range
|
|
184
|
-
const chunkSymbols = findSymbolsInRange(analysis.symbols, chunk.startLine, chunk.endLine);
|
|
185
|
-
// Build enriched content with cross-file context
|
|
186
|
-
const enrichedContent = buildEnrichedContent(chunk, chunkSymbols, analysis.imports, analysis.exports, analysis.crossFileContext);
|
|
187
|
-
return {
|
|
188
|
-
...chunk,
|
|
189
|
-
enrichedContent,
|
|
190
|
-
containedSymbols: chunkSymbols,
|
|
191
|
-
wasEnriched: true,
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Enrich all chunks from a single file (optimized - parses once)
|
|
196
|
-
*/
|
|
197
|
-
export async function enrichChunksFromFile(chunks, content, options) {
|
|
198
|
-
if (chunks.length === 0) {
|
|
199
|
-
return [];
|
|
200
|
-
}
|
|
201
|
-
// All chunks should be from the same file
|
|
202
|
-
const filePath = chunks[0]?.filePath;
|
|
203
|
-
if (!filePath) {
|
|
204
|
-
return chunks.map((chunk) => {
|
|
205
|
-
const basicHeader = `File: ${chunk.filePath}\nLanguage: ${chunk.language}\n\n---\n`;
|
|
206
|
-
return {
|
|
207
|
-
...chunk,
|
|
208
|
-
enrichedContent: basicHeader + chunk.content,
|
|
209
|
-
containedSymbols: [],
|
|
210
|
-
wasEnriched: false,
|
|
211
|
-
};
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
// Parse once for all chunks
|
|
215
|
-
const analysis = await getFileAnalysis(filePath, content, options);
|
|
216
|
-
if (!analysis) {
|
|
217
|
-
// Fallback: return with basic enrichment
|
|
218
|
-
return chunks.map((chunk) => {
|
|
219
|
-
const basicHeader = `File: ${chunk.filePath}\nLanguage: ${chunk.language}\n\n---\n`;
|
|
220
|
-
return {
|
|
221
|
-
...chunk,
|
|
222
|
-
enrichedContent: basicHeader + chunk.content,
|
|
223
|
-
containedSymbols: [],
|
|
224
|
-
wasEnriched: false,
|
|
225
|
-
};
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
// Enrich each chunk using the cached analysis with cross-file context
|
|
229
|
-
return chunks.map((chunk) => {
|
|
230
|
-
const chunkSymbols = findSymbolsInRange(analysis.symbols, chunk.startLine, chunk.endLine);
|
|
231
|
-
const enrichedContent = buildEnrichedContent(chunk, chunkSymbols, analysis.imports, analysis.exports, analysis.crossFileContext);
|
|
232
|
-
return {
|
|
233
|
-
...chunk,
|
|
234
|
-
enrichedContent,
|
|
235
|
-
containedSymbols: chunkSymbols,
|
|
236
|
-
wasEnriched: true,
|
|
237
|
-
};
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Enrich chunks from multiple files
|
|
242
|
-
*
|
|
243
|
-
* Groups chunks by file path for efficient processing.
|
|
244
|
-
*/
|
|
245
|
-
export async function enrichChunks(chunks, fileContents, options) {
|
|
246
|
-
// Group chunks by file path
|
|
247
|
-
const chunksByFile = new Map();
|
|
248
|
-
for (const chunk of chunks) {
|
|
249
|
-
const existing = chunksByFile.get(chunk.filePath) ?? [];
|
|
250
|
-
existing.push(chunk);
|
|
251
|
-
chunksByFile.set(chunk.filePath, existing);
|
|
252
|
-
}
|
|
253
|
-
// Process each file's chunks
|
|
254
|
-
const enrichedByFile = new Map();
|
|
255
|
-
for (const [filePath, fileChunks] of chunksByFile) {
|
|
256
|
-
const content = fileContents.get(filePath);
|
|
257
|
-
if (!content) {
|
|
258
|
-
// No content available, return with basic enrichment
|
|
259
|
-
enrichedByFile.set(filePath, fileChunks.map((chunk) => {
|
|
260
|
-
const basicHeader = `File: ${chunk.filePath}\nLanguage: ${chunk.language}\n\n---\n`;
|
|
261
|
-
return {
|
|
262
|
-
...chunk,
|
|
263
|
-
enrichedContent: basicHeader + chunk.content,
|
|
264
|
-
containedSymbols: [],
|
|
265
|
-
wasEnriched: false,
|
|
266
|
-
};
|
|
267
|
-
}));
|
|
268
|
-
continue;
|
|
269
|
-
}
|
|
270
|
-
const enriched = await enrichChunksFromFile(fileChunks, content, options);
|
|
271
|
-
enrichedByFile.set(filePath, enriched);
|
|
272
|
-
}
|
|
273
|
-
// Reconstruct in original order
|
|
274
|
-
return chunks.map((chunk) => {
|
|
275
|
-
const fileEnriched = enrichedByFile.get(chunk.filePath);
|
|
276
|
-
if (!fileEnriched) {
|
|
277
|
-
const basicHeader = `File: ${chunk.filePath}\nLanguage: ${chunk.language}\n\n---\n`;
|
|
278
|
-
return {
|
|
279
|
-
...chunk,
|
|
280
|
-
enrichedContent: basicHeader + chunk.content,
|
|
281
|
-
containedSymbols: [],
|
|
282
|
-
wasEnriched: false,
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
// Find matching enriched chunk by id
|
|
286
|
-
const enriched = fileEnriched.find((e) => e.id === chunk.id);
|
|
287
|
-
if (enriched) {
|
|
288
|
-
return enriched;
|
|
289
|
-
}
|
|
290
|
-
const basicHeader = `File: ${chunk.filePath}\nLanguage: ${chunk.language}\n\n---\n`;
|
|
291
|
-
return {
|
|
292
|
-
...chunk,
|
|
293
|
-
enrichedContent: basicHeader + chunk.content,
|
|
294
|
-
containedSymbols: [],
|
|
295
|
-
wasEnriched: false,
|
|
296
|
-
};
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Get cache statistics
|
|
301
|
-
*/
|
|
302
|
-
export function getASTCacheStats() {
|
|
303
|
-
return {
|
|
304
|
-
files: astCache.size,
|
|
305
|
-
entries: Array.from(astCache.keys()),
|
|
306
|
-
};
|
|
307
|
-
}
|
|
308
|
-
//# sourceMappingURL=enricher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enricher.js","sourceRoot":"","sources":["../../../src/core/embeddings/enricher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Embeddings module barrel exports
|
|
3
|
-
*/
|
|
4
|
-
export type { ChunkSymbol, CodeChunk, EmbeddedChunk, EmbeddingConfig, EnrichedChunk, IndexStatus, SearchResult, } from "@core/embeddings/types";
|
|
5
|
-
export { OllamaClient, createOllamaClient } from "@core/embeddings/client";
|
|
6
|
-
export { VectorStore, createVectorStore, getIndexPath, type SearchMode, type HybridSearchOptions, } from "@core/embeddings/store";
|
|
7
|
-
export { chunkFile, chunkFiles, detectLanguage, shouldIndexFile, SUPPORTED_EXTENSIONS, } from "@core/embeddings/chunker";
|
|
8
|
-
export { IndexWatcher, createIndexWatcher, type WatcherOptions, } from "@core/embeddings/watcher";
|
|
9
|
-
export { clearASTCache, enrichChunk, enrichChunks, enrichChunksFromFile, getASTCacheStats, type EnrichmentOptions, } from "@core/embeddings/enricher";
|
|
10
|
-
export { rerank, createReranker, type RerankerOptions, type RerankedResult, } from "@core/embeddings/reranker";
|
|
11
|
-
export { clearCrossFileCache, getCrossFileCacheStats, resolveCrossFileContext, type CrossFileContext, type CrossFileOptions, type ResolvedImport, } from "@core/embeddings/crossfile";
|
|
12
|
-
export { analyzeFileForCallGraph, buildCallGraph, clearCallGraphCache, formatCallContext, getCallContext, getCallGraphCacheStats, type CallGraph, type CallGraphNode, type FunctionCall, } from "@core/embeddings/callgraph";
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/embeddings/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,GACb,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG3E,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,mBAAmB,GACzB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,MAAM,EACN,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,4BAA4B,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Embeddings module barrel exports
|
|
3
|
-
*/
|
|
4
|
-
// Ollama client
|
|
5
|
-
export { OllamaClient, createOllamaClient } from "@core/embeddings/client";
|
|
6
|
-
// Vector store
|
|
7
|
-
export { VectorStore, createVectorStore, getIndexPath, } from "@core/embeddings/store";
|
|
8
|
-
// Chunker
|
|
9
|
-
export { chunkFile, chunkFiles, detectLanguage, shouldIndexFile, SUPPORTED_EXTENSIONS, } from "@core/embeddings/chunker";
|
|
10
|
-
// Watcher
|
|
11
|
-
export { IndexWatcher, createIndexWatcher, } from "@core/embeddings/watcher";
|
|
12
|
-
// Enricher
|
|
13
|
-
export { clearASTCache, enrichChunk, enrichChunks, enrichChunksFromFile, getASTCacheStats, } from "@core/embeddings/enricher";
|
|
14
|
-
// Reranker
|
|
15
|
-
export { rerank, createReranker, } from "@core/embeddings/reranker";
|
|
16
|
-
// Cross-file context
|
|
17
|
-
export { clearCrossFileCache, getCrossFileCacheStats, resolveCrossFileContext, } from "@core/embeddings/crossfile";
|
|
18
|
-
// Call graph
|
|
19
|
-
export { analyzeFileForCallGraph, buildCallGraph, clearCallGraphCache, formatCallContext, getCallContext, getCallGraphCacheStats, } from "@core/embeddings/callgraph";
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/embeddings/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,eAAe;AACf,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,YAAY,GAGb,MAAM,wBAAwB,CAAC;AAEhC,UAAU;AACV,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,UAAU;AACV,OAAO,EACL,YAAY,EACZ,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAElC,WAAW;AACX,OAAO,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AAEnC,WAAW;AACX,OAAO,EACL,MAAM,EACN,cAAc,GAGf,MAAM,2BAA2B,CAAC;AAEnC,qBAAqB;AACrB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GAIxB,MAAM,4BAA4B,CAAC;AAEpC,aAAa;AACb,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,GAIvB,MAAM,4BAA4B,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Re-ranking module for improving search result relevance
|
|
3
|
-
*
|
|
4
|
-
* Uses Ollama LLM to score query-document pairs and reorder results
|
|
5
|
-
* based on semantic relevance rather than just vector similarity.
|
|
6
|
-
*/
|
|
7
|
-
import type { SearchResult } from "@core/embeddings/types";
|
|
8
|
-
/**
|
|
9
|
-
* Re-ranking options
|
|
10
|
-
*/
|
|
11
|
-
export interface RerankerOptions {
|
|
12
|
-
/** Ollama base URL */
|
|
13
|
-
ollamaBaseUrl: string;
|
|
14
|
-
/** Model to use for re-ranking (default: llama3.2) */
|
|
15
|
-
model?: string;
|
|
16
|
-
/** Maximum number of results to re-rank (default: 20) */
|
|
17
|
-
maxResults?: number;
|
|
18
|
-
/** Timeout in milliseconds (default: 30000) */
|
|
19
|
-
timeout?: number;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Re-ranked result with LLM score
|
|
23
|
-
*/
|
|
24
|
-
export interface RerankedResult extends SearchResult {
|
|
25
|
-
/** Original search score */
|
|
26
|
-
originalScore: number;
|
|
27
|
-
/** LLM relevance score (0-10) */
|
|
28
|
-
rerankScore: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Re-rank search results using LLM scoring
|
|
32
|
-
*
|
|
33
|
-
* Takes initial search results and re-scores them based on
|
|
34
|
-
* semantic relevance to the query using an LLM.
|
|
35
|
-
*/
|
|
36
|
-
export declare function rerank(query: string, results: SearchResult[], options: RerankerOptions): Promise<RerankedResult[]>;
|
|
37
|
-
/**
|
|
38
|
-
* Create a reranker function with preset options
|
|
39
|
-
*/
|
|
40
|
-
export declare function createReranker(options: RerankerOptions): (query: string, results: SearchResult[]) => Promise<RerankedResult[]>;
|
|
41
|
-
//# sourceMappingURL=reranker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reranker.d.ts","sourceRoot":"","sources":["../../../src/core/embeddings/reranker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,4BAA4B;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;CACrB;AA8ED;;;;;GAKG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,EAAE,CAAC,CA8C3B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,GACvB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAGvE"}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Re-ranking module for improving search result relevance
|
|
3
|
-
*
|
|
4
|
-
* Uses Ollama LLM to score query-document pairs and reorder results
|
|
5
|
-
* based on semantic relevance rather than just vector similarity.
|
|
6
|
-
*/
|
|
7
|
-
import { logger } from "@utils";
|
|
8
|
-
/**
|
|
9
|
-
* Parse LLM response to extract relevance score
|
|
10
|
-
*/
|
|
11
|
-
function parseScore(response) {
|
|
12
|
-
// Try to extract a number from the response
|
|
13
|
-
const match = /\b(\d+(?:\.\d+)?)\b/.exec(response);
|
|
14
|
-
if (match?.[1]) {
|
|
15
|
-
const score = parseFloat(match[1]);
|
|
16
|
-
// Normalize to 0-10 range
|
|
17
|
-
if (score >= 0 && score <= 10) {
|
|
18
|
-
return score;
|
|
19
|
-
}
|
|
20
|
-
if (score > 10 && score <= 100) {
|
|
21
|
-
return score / 10;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
// Default to middle score if parsing fails
|
|
25
|
-
return 5;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Score a single query-document pair using Ollama
|
|
29
|
-
*/
|
|
30
|
-
async function scoreResult(query, content, options) {
|
|
31
|
-
const model = options.model ?? "llama3.2";
|
|
32
|
-
const timeout = options.timeout ?? 30000;
|
|
33
|
-
const prompt = `Rate the relevance of the following code snippet to the search query on a scale of 0-10.
|
|
34
|
-
0 = completely irrelevant
|
|
35
|
-
5 = somewhat relevant
|
|
36
|
-
10 = highly relevant and directly answers the query
|
|
37
|
-
|
|
38
|
-
Query: "${query}"
|
|
39
|
-
|
|
40
|
-
Code:
|
|
41
|
-
\`\`\`
|
|
42
|
-
${content.slice(0, 1000)}
|
|
43
|
-
\`\`\`
|
|
44
|
-
|
|
45
|
-
Respond with ONLY a number between 0 and 10.`;
|
|
46
|
-
try {
|
|
47
|
-
const response = await fetch(`${options.ollamaBaseUrl}/api/generate`, {
|
|
48
|
-
method: "POST",
|
|
49
|
-
headers: { "Content-Type": "application/json" },
|
|
50
|
-
body: JSON.stringify({
|
|
51
|
-
model,
|
|
52
|
-
prompt,
|
|
53
|
-
stream: false,
|
|
54
|
-
options: {
|
|
55
|
-
temperature: 0,
|
|
56
|
-
num_predict: 10, // We only need a short response
|
|
57
|
-
},
|
|
58
|
-
}),
|
|
59
|
-
signal: AbortSignal.timeout(timeout),
|
|
60
|
-
});
|
|
61
|
-
if (!response.ok) {
|
|
62
|
-
logger.warn(`Re-ranking request failed: ${response.statusText}`);
|
|
63
|
-
return 5; // Default score
|
|
64
|
-
}
|
|
65
|
-
const data = (await response.json());
|
|
66
|
-
return parseScore(data.response ?? "5");
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
logger.warn(`Re-ranking error: ${error instanceof Error ? error.message : String(error)}`);
|
|
70
|
-
return 5; // Default score on error
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Re-rank search results using LLM scoring
|
|
75
|
-
*
|
|
76
|
-
* Takes initial search results and re-scores them based on
|
|
77
|
-
* semantic relevance to the query using an LLM.
|
|
78
|
-
*/
|
|
79
|
-
export async function rerank(query, results, options) {
|
|
80
|
-
const maxResults = options.maxResults ?? 20;
|
|
81
|
-
// Limit results to re-rank for performance
|
|
82
|
-
const toRerank = results.slice(0, maxResults);
|
|
83
|
-
if (toRerank.length === 0) {
|
|
84
|
-
return [];
|
|
85
|
-
}
|
|
86
|
-
logger.debug(`Re-ranking ${String(toRerank.length)} results for: ${query}`);
|
|
87
|
-
// Score all results in parallel (with some concurrency limit)
|
|
88
|
-
const batchSize = 5;
|
|
89
|
-
const rerankedResults = [];
|
|
90
|
-
for (let i = 0; i < toRerank.length; i += batchSize) {
|
|
91
|
-
const batch = toRerank.slice(i, i + batchSize);
|
|
92
|
-
const scores = await Promise.all(batch.map(async (result) => scoreResult(query, result.chunk.content, options)));
|
|
93
|
-
for (let j = 0; j < batch.length; j++) {
|
|
94
|
-
const result = batch[j];
|
|
95
|
-
const score = scores[j];
|
|
96
|
-
if (result !== undefined && score !== undefined) {
|
|
97
|
-
rerankedResults.push({
|
|
98
|
-
...result,
|
|
99
|
-
originalScore: result.score,
|
|
100
|
-
rerankScore: score,
|
|
101
|
-
score: score, // Use rerank score as the new score
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
// Sort by rerank score (higher is better)
|
|
107
|
-
rerankedResults.sort((a, b) => b.rerankScore - a.rerankScore);
|
|
108
|
-
logger.debug(`Re-ranking complete, top score: ${String(rerankedResults[0]?.rerankScore ?? 0)}`);
|
|
109
|
-
return rerankedResults;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Create a reranker function with preset options
|
|
113
|
-
*/
|
|
114
|
-
export function createReranker(options) {
|
|
115
|
-
return async (query, results) => rerank(query, results, options);
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=reranker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reranker.js","sourceRoot":"","sources":["../../../src/core/embeddings/reranker.ts"],"names":[],"mappings":"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"}
|