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.
Files changed (249) hide show
  1. package/dist/bin.d.mts +1 -0
  2. package/dist/bin.mjs +205 -0
  3. package/dist/bin.mjs.map +1 -0
  4. package/dist/index.d.mts +1 -0
  5. package/dist/index.mjs +8 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/dist/server-B2Ms4jQx.mjs +3889 -0
  8. package/dist/server-B2Ms4jQx.mjs.map +1 -0
  9. package/package.json +10 -9
  10. package/dist/bin.d.ts +0 -3
  11. package/dist/bin.d.ts.map +0 -1
  12. package/dist/bin.js +0 -4
  13. package/dist/bin.js.map +0 -1
  14. package/dist/cli/adapter.d.ts +0 -7
  15. package/dist/cli/adapter.d.ts.map +0 -1
  16. package/dist/cli/adapter.js +0 -39
  17. package/dist/cli/adapter.js.map +0 -1
  18. package/dist/cli/commands/index.d.ts +0 -24
  19. package/dist/cli/commands/index.d.ts.map +0 -1
  20. package/dist/cli/commands/index.js +0 -13
  21. package/dist/cli/commands/index.js.map +0 -1
  22. package/dist/cli/commands/serve.command.d.ts +0 -21
  23. package/dist/cli/commands/serve.command.d.ts.map +0 -1
  24. package/dist/cli/commands/serve.command.js +0 -62
  25. package/dist/cli/commands/serve.command.js.map +0 -1
  26. package/dist/cli/commands/version.command.d.ts +0 -2
  27. package/dist/cli/commands/version.command.d.ts.map +0 -1
  28. package/dist/cli/commands/version.command.js +0 -12
  29. package/dist/cli/commands/version.command.js.map +0 -1
  30. package/dist/cli/index.d.ts +0 -2
  31. package/dist/cli/index.d.ts.map +0 -1
  32. package/dist/cli/index.js +0 -15
  33. package/dist/cli/index.js.map +0 -1
  34. package/dist/cli/parser.d.ts +0 -7
  35. package/dist/cli/parser.d.ts.map +0 -1
  36. package/dist/cli/parser.js +0 -99
  37. package/dist/cli/parser.js.map +0 -1
  38. package/dist/config/index.d.ts +0 -24
  39. package/dist/config/index.d.ts.map +0 -1
  40. package/dist/config/index.js +0 -38
  41. package/dist/config/index.js.map +0 -1
  42. package/dist/core/ast/index.d.ts +0 -82
  43. package/dist/core/ast/index.d.ts.map +0 -1
  44. package/dist/core/ast/index.js +0 -204
  45. package/dist/core/ast/index.js.map +0 -1
  46. package/dist/core/ast/types.d.ts +0 -152
  47. package/dist/core/ast/types.d.ts.map +0 -1
  48. package/dist/core/ast/types.js +0 -5
  49. package/dist/core/ast/types.js.map +0 -1
  50. package/dist/core/constants.d.ts +0 -17
  51. package/dist/core/constants.d.ts.map +0 -1
  52. package/dist/core/constants.js +0 -49
  53. package/dist/core/constants.js.map +0 -1
  54. package/dist/core/embeddings/callgraph.d.ts +0 -98
  55. package/dist/core/embeddings/callgraph.d.ts.map +0 -1
  56. package/dist/core/embeddings/callgraph.js +0 -415
  57. package/dist/core/embeddings/callgraph.js.map +0 -1
  58. package/dist/core/embeddings/chunker.d.ts +0 -37
  59. package/dist/core/embeddings/chunker.d.ts.map +0 -1
  60. package/dist/core/embeddings/chunker.js +0 -298
  61. package/dist/core/embeddings/chunker.js.map +0 -1
  62. package/dist/core/embeddings/client.d.ts +0 -30
  63. package/dist/core/embeddings/client.d.ts.map +0 -1
  64. package/dist/core/embeddings/client.js +0 -65
  65. package/dist/core/embeddings/client.js.map +0 -1
  66. package/dist/core/embeddings/crossfile.d.ts +0 -58
  67. package/dist/core/embeddings/crossfile.d.ts.map +0 -1
  68. package/dist/core/embeddings/crossfile.js +0 -202
  69. package/dist/core/embeddings/crossfile.js.map +0 -1
  70. package/dist/core/embeddings/enricher.d.ts +0 -53
  71. package/dist/core/embeddings/enricher.d.ts.map +0 -1
  72. package/dist/core/embeddings/enricher.js +0 -308
  73. package/dist/core/embeddings/enricher.js.map +0 -1
  74. package/dist/core/embeddings/index.d.ts +0 -13
  75. package/dist/core/embeddings/index.d.ts.map +0 -1
  76. package/dist/core/embeddings/index.js +0 -20
  77. package/dist/core/embeddings/index.js.map +0 -1
  78. package/dist/core/embeddings/reranker.d.ts +0 -41
  79. package/dist/core/embeddings/reranker.d.ts.map +0 -1
  80. package/dist/core/embeddings/reranker.js +0 -117
  81. package/dist/core/embeddings/reranker.js.map +0 -1
  82. package/dist/core/embeddings/store.d.ts +0 -93
  83. package/dist/core/embeddings/store.d.ts.map +0 -1
  84. package/dist/core/embeddings/store.js +0 -304
  85. package/dist/core/embeddings/store.js.map +0 -1
  86. package/dist/core/embeddings/types.d.ts +0 -77
  87. package/dist/core/embeddings/types.d.ts.map +0 -1
  88. package/dist/core/embeddings/types.js +0 -5
  89. package/dist/core/embeddings/types.js.map +0 -1
  90. package/dist/core/embeddings/watcher.d.ts +0 -130
  91. package/dist/core/embeddings/watcher.d.ts.map +0 -1
  92. package/dist/core/embeddings/watcher.js +0 -448
  93. package/dist/core/embeddings/watcher.js.map +0 -1
  94. package/dist/core/fallback/index.d.ts +0 -26
  95. package/dist/core/fallback/index.d.ts.map +0 -1
  96. package/dist/core/fallback/index.js +0 -76
  97. package/dist/core/fallback/index.js.map +0 -1
  98. package/dist/core/parser/index.d.ts +0 -64
  99. package/dist/core/parser/index.d.ts.map +0 -1
  100. package/dist/core/parser/index.js +0 -205
  101. package/dist/core/parser/index.js.map +0 -1
  102. package/dist/core/parser/languages.d.ts +0 -26
  103. package/dist/core/parser/languages.d.ts.map +0 -1
  104. package/dist/core/parser/languages.js +0 -101
  105. package/dist/core/parser/languages.js.map +0 -1
  106. package/dist/core/queries/helpers.d.ts +0 -72
  107. package/dist/core/queries/helpers.d.ts.map +0 -1
  108. package/dist/core/queries/helpers.js +0 -101
  109. package/dist/core/queries/helpers.js.map +0 -1
  110. package/dist/core/queries/index.d.ts +0 -144
  111. package/dist/core/queries/index.d.ts.map +0 -1
  112. package/dist/core/queries/index.js +0 -396
  113. package/dist/core/queries/index.js.map +0 -1
  114. package/dist/core/queries/loader.d.ts +0 -46
  115. package/dist/core/queries/loader.d.ts.map +0 -1
  116. package/dist/core/queries/loader.js +0 -216
  117. package/dist/core/queries/loader.js.map +0 -1
  118. package/dist/core/queries/patterns.d.ts +0 -10
  119. package/dist/core/queries/patterns.d.ts.map +0 -1
  120. package/dist/core/queries/patterns.js +0 -112
  121. package/dist/core/queries/patterns.js.map +0 -1
  122. package/dist/core/symbols/index.d.ts +0 -70
  123. package/dist/core/symbols/index.d.ts.map +0 -1
  124. package/dist/core/symbols/index.js +0 -359
  125. package/dist/core/symbols/index.js.map +0 -1
  126. package/dist/core/unified/index.d.ts +0 -118
  127. package/dist/core/unified/index.d.ts.map +0 -1
  128. package/dist/core/unified/index.js +0 -428
  129. package/dist/core/unified/index.js.map +0 -1
  130. package/dist/core/utils/assets.d.ts +0 -34
  131. package/dist/core/utils/assets.d.ts.map +0 -1
  132. package/dist/core/utils/assets.js +0 -85
  133. package/dist/core/utils/assets.js.map +0 -1
  134. package/dist/core/utils/cache.d.ts +0 -43
  135. package/dist/core/utils/cache.d.ts.map +0 -1
  136. package/dist/core/utils/cache.js +0 -60
  137. package/dist/core/utils/cache.js.map +0 -1
  138. package/dist/core/utils/index.d.ts +0 -7
  139. package/dist/core/utils/index.d.ts.map +0 -1
  140. package/dist/core/utils/index.js +0 -10
  141. package/dist/core/utils/index.js.map +0 -1
  142. package/dist/core/utils/tsconfig.d.ts +0 -34
  143. package/dist/core/utils/tsconfig.d.ts.map +0 -1
  144. package/dist/core/utils/tsconfig.js +0 -173
  145. package/dist/core/utils/tsconfig.js.map +0 -1
  146. package/dist/features/analyze-file/index.d.ts +0 -15
  147. package/dist/features/analyze-file/index.d.ts.map +0 -1
  148. package/dist/features/analyze-file/index.js +0 -164
  149. package/dist/features/analyze-file/index.js.map +0 -1
  150. package/dist/features/get-call-graph/index.d.ts +0 -24
  151. package/dist/features/get-call-graph/index.d.ts.map +0 -1
  152. package/dist/features/get-call-graph/index.js +0 -246
  153. package/dist/features/get-call-graph/index.js.map +0 -1
  154. package/dist/features/get-index-status/index.d.ts +0 -20
  155. package/dist/features/get-index-status/index.d.ts.map +0 -1
  156. package/dist/features/get-index-status/index.js +0 -90
  157. package/dist/features/get-index-status/index.js.map +0 -1
  158. package/dist/features/index-codebase/index.d.ts +0 -24
  159. package/dist/features/index-codebase/index.d.ts.map +0 -1
  160. package/dist/features/index-codebase/index.js +0 -283
  161. package/dist/features/index-codebase/index.js.map +0 -1
  162. package/dist/features/index.d.ts +0 -15
  163. package/dist/features/index.d.ts.map +0 -1
  164. package/dist/features/index.js +0 -28
  165. package/dist/features/index.js.map +0 -1
  166. package/dist/features/info/index.d.ts +0 -19
  167. package/dist/features/info/index.d.ts.map +0 -1
  168. package/dist/features/info/index.js +0 -41
  169. package/dist/features/info/index.js.map +0 -1
  170. package/dist/features/list-symbols/index.d.ts +0 -22
  171. package/dist/features/list-symbols/index.d.ts.map +0 -1
  172. package/dist/features/list-symbols/index.js +0 -74
  173. package/dist/features/list-symbols/index.js.map +0 -1
  174. package/dist/features/parse-ast/index.d.ts +0 -12
  175. package/dist/features/parse-ast/index.d.ts.map +0 -1
  176. package/dist/features/parse-ast/index.js +0 -71
  177. package/dist/features/parse-ast/index.js.map +0 -1
  178. package/dist/features/query-code/index.d.ts +0 -23
  179. package/dist/features/query-code/index.d.ts.map +0 -1
  180. package/dist/features/query-code/index.js +0 -96
  181. package/dist/features/query-code/index.js.map +0 -1
  182. package/dist/features/search-code/index.d.ts +0 -39
  183. package/dist/features/search-code/index.d.ts.map +0 -1
  184. package/dist/features/search-code/index.js +0 -258
  185. package/dist/features/search-code/index.js.map +0 -1
  186. package/dist/features/types.d.ts +0 -14
  187. package/dist/features/types.d.ts.map +0 -1
  188. package/dist/features/types.js +0 -2
  189. package/dist/features/types.js.map +0 -1
  190. package/dist/features/update-index/index.d.ts +0 -24
  191. package/dist/features/update-index/index.d.ts.map +0 -1
  192. package/dist/features/update-index/index.js +0 -358
  193. package/dist/features/update-index/index.js.map +0 -1
  194. package/dist/features/utils/content.d.ts +0 -30
  195. package/dist/features/utils/content.d.ts.map +0 -1
  196. package/dist/features/utils/content.js +0 -49
  197. package/dist/features/utils/content.js.map +0 -1
  198. package/dist/features/utils/index.d.ts +0 -6
  199. package/dist/features/utils/index.d.ts.map +0 -1
  200. package/dist/features/utils/index.js +0 -8
  201. package/dist/features/utils/index.js.map +0 -1
  202. package/dist/features/utils/result.d.ts +0 -37
  203. package/dist/features/utils/result.d.ts.map +0 -1
  204. package/dist/features/utils/result.js +0 -53
  205. package/dist/features/utils/result.js.map +0 -1
  206. package/dist/index.d.ts +0 -2
  207. package/dist/index.d.ts.map +0 -1
  208. package/dist/index.js +0 -4
  209. package/dist/index.js.map +0 -1
  210. package/dist/prompts/index.d.ts +0 -9
  211. package/dist/prompts/index.d.ts.map +0 -1
  212. package/dist/prompts/index.js +0 -188
  213. package/dist/prompts/index.js.map +0 -1
  214. package/dist/resources/index.d.ts +0 -3
  215. package/dist/resources/index.d.ts.map +0 -1
  216. package/dist/resources/index.js +0 -17
  217. package/dist/resources/index.js.map +0 -1
  218. package/dist/server.d.ts +0 -4
  219. package/dist/server.d.ts.map +0 -1
  220. package/dist/server.js +0 -24
  221. package/dist/server.js.map +0 -1
  222. package/dist/tools/adapter.d.ts +0 -4
  223. package/dist/tools/adapter.d.ts.map +0 -1
  224. package/dist/tools/adapter.js +0 -28
  225. package/dist/tools/adapter.js.map +0 -1
  226. package/dist/tools/index.d.ts +0 -5
  227. package/dist/tools/index.d.ts.map +0 -1
  228. package/dist/tools/index.js +0 -9
  229. package/dist/tools/index.js.map +0 -1
  230. package/dist/types/index.d.ts +0 -20
  231. package/dist/types/index.d.ts.map +0 -1
  232. package/dist/types/index.js +0 -2
  233. package/dist/types/index.js.map +0 -1
  234. package/dist/utils/colors.d.ts +0 -24
  235. package/dist/utils/colors.d.ts.map +0 -1
  236. package/dist/utils/colors.js +0 -30
  237. package/dist/utils/colors.js.map +0 -1
  238. package/dist/utils/index.d.ts +0 -4
  239. package/dist/utils/index.d.ts.map +0 -1
  240. package/dist/utils/index.js +0 -4
  241. package/dist/utils/index.js.map +0 -1
  242. package/dist/utils/logger.d.ts +0 -8
  243. package/dist/utils/logger.d.ts.map +0 -1
  244. package/dist/utils/logger.js +0 -57
  245. package/dist/utils/logger.js.map +0 -1
  246. package/dist/utils/spinner.d.ts +0 -11
  247. package/dist/utils/spinner.d.ts.map +0 -1
  248. package/dist/utils/spinner.js +0 -36
  249. 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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"}