src-mcp 1.0.1 → 1.0.3

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 (250) hide show
  1. package/README.md +8 -18
  2. package/dist/bin.d.mts +1 -0
  3. package/dist/bin.mjs +205 -0
  4. package/dist/bin.mjs.map +1 -0
  5. package/dist/index.d.mts +1 -0
  6. package/dist/index.mjs +8 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/dist/server-DL8hfycz.mjs +3791 -0
  9. package/dist/server-DL8hfycz.mjs.map +1 -0
  10. package/package.json +10 -9
  11. package/dist/bin.d.ts +0 -3
  12. package/dist/bin.d.ts.map +0 -1
  13. package/dist/bin.js +0 -4
  14. package/dist/bin.js.map +0 -1
  15. package/dist/cli/adapter.d.ts +0 -7
  16. package/dist/cli/adapter.d.ts.map +0 -1
  17. package/dist/cli/adapter.js +0 -39
  18. package/dist/cli/adapter.js.map +0 -1
  19. package/dist/cli/commands/index.d.ts +0 -24
  20. package/dist/cli/commands/index.d.ts.map +0 -1
  21. package/dist/cli/commands/index.js +0 -13
  22. package/dist/cli/commands/index.js.map +0 -1
  23. package/dist/cli/commands/serve.command.d.ts +0 -21
  24. package/dist/cli/commands/serve.command.d.ts.map +0 -1
  25. package/dist/cli/commands/serve.command.js +0 -62
  26. package/dist/cli/commands/serve.command.js.map +0 -1
  27. package/dist/cli/commands/version.command.d.ts +0 -2
  28. package/dist/cli/commands/version.command.d.ts.map +0 -1
  29. package/dist/cli/commands/version.command.js +0 -12
  30. package/dist/cli/commands/version.command.js.map +0 -1
  31. package/dist/cli/index.d.ts +0 -2
  32. package/dist/cli/index.d.ts.map +0 -1
  33. package/dist/cli/index.js +0 -15
  34. package/dist/cli/index.js.map +0 -1
  35. package/dist/cli/parser.d.ts +0 -7
  36. package/dist/cli/parser.d.ts.map +0 -1
  37. package/dist/cli/parser.js +0 -99
  38. package/dist/cli/parser.js.map +0 -1
  39. package/dist/config/index.d.ts +0 -24
  40. package/dist/config/index.d.ts.map +0 -1
  41. package/dist/config/index.js +0 -38
  42. package/dist/config/index.js.map +0 -1
  43. package/dist/core/ast/index.d.ts +0 -82
  44. package/dist/core/ast/index.d.ts.map +0 -1
  45. package/dist/core/ast/index.js +0 -204
  46. package/dist/core/ast/index.js.map +0 -1
  47. package/dist/core/ast/types.d.ts +0 -152
  48. package/dist/core/ast/types.d.ts.map +0 -1
  49. package/dist/core/ast/types.js +0 -5
  50. package/dist/core/ast/types.js.map +0 -1
  51. package/dist/core/constants.d.ts +0 -17
  52. package/dist/core/constants.d.ts.map +0 -1
  53. package/dist/core/constants.js +0 -49
  54. package/dist/core/constants.js.map +0 -1
  55. package/dist/core/embeddings/callgraph.d.ts +0 -98
  56. package/dist/core/embeddings/callgraph.d.ts.map +0 -1
  57. package/dist/core/embeddings/callgraph.js +0 -415
  58. package/dist/core/embeddings/callgraph.js.map +0 -1
  59. package/dist/core/embeddings/chunker.d.ts +0 -37
  60. package/dist/core/embeddings/chunker.d.ts.map +0 -1
  61. package/dist/core/embeddings/chunker.js +0 -298
  62. package/dist/core/embeddings/chunker.js.map +0 -1
  63. package/dist/core/embeddings/client.d.ts +0 -30
  64. package/dist/core/embeddings/client.d.ts.map +0 -1
  65. package/dist/core/embeddings/client.js +0 -65
  66. package/dist/core/embeddings/client.js.map +0 -1
  67. package/dist/core/embeddings/crossfile.d.ts +0 -58
  68. package/dist/core/embeddings/crossfile.d.ts.map +0 -1
  69. package/dist/core/embeddings/crossfile.js +0 -202
  70. package/dist/core/embeddings/crossfile.js.map +0 -1
  71. package/dist/core/embeddings/enricher.d.ts +0 -53
  72. package/dist/core/embeddings/enricher.d.ts.map +0 -1
  73. package/dist/core/embeddings/enricher.js +0 -308
  74. package/dist/core/embeddings/enricher.js.map +0 -1
  75. package/dist/core/embeddings/index.d.ts +0 -13
  76. package/dist/core/embeddings/index.d.ts.map +0 -1
  77. package/dist/core/embeddings/index.js +0 -20
  78. package/dist/core/embeddings/index.js.map +0 -1
  79. package/dist/core/embeddings/reranker.d.ts +0 -41
  80. package/dist/core/embeddings/reranker.d.ts.map +0 -1
  81. package/dist/core/embeddings/reranker.js +0 -117
  82. package/dist/core/embeddings/reranker.js.map +0 -1
  83. package/dist/core/embeddings/store.d.ts +0 -93
  84. package/dist/core/embeddings/store.d.ts.map +0 -1
  85. package/dist/core/embeddings/store.js +0 -304
  86. package/dist/core/embeddings/store.js.map +0 -1
  87. package/dist/core/embeddings/types.d.ts +0 -77
  88. package/dist/core/embeddings/types.d.ts.map +0 -1
  89. package/dist/core/embeddings/types.js +0 -5
  90. package/dist/core/embeddings/types.js.map +0 -1
  91. package/dist/core/embeddings/watcher.d.ts +0 -130
  92. package/dist/core/embeddings/watcher.d.ts.map +0 -1
  93. package/dist/core/embeddings/watcher.js +0 -448
  94. package/dist/core/embeddings/watcher.js.map +0 -1
  95. package/dist/core/fallback/index.d.ts +0 -26
  96. package/dist/core/fallback/index.d.ts.map +0 -1
  97. package/dist/core/fallback/index.js +0 -76
  98. package/dist/core/fallback/index.js.map +0 -1
  99. package/dist/core/parser/index.d.ts +0 -64
  100. package/dist/core/parser/index.d.ts.map +0 -1
  101. package/dist/core/parser/index.js +0 -205
  102. package/dist/core/parser/index.js.map +0 -1
  103. package/dist/core/parser/languages.d.ts +0 -26
  104. package/dist/core/parser/languages.d.ts.map +0 -1
  105. package/dist/core/parser/languages.js +0 -101
  106. package/dist/core/parser/languages.js.map +0 -1
  107. package/dist/core/queries/helpers.d.ts +0 -72
  108. package/dist/core/queries/helpers.d.ts.map +0 -1
  109. package/dist/core/queries/helpers.js +0 -101
  110. package/dist/core/queries/helpers.js.map +0 -1
  111. package/dist/core/queries/index.d.ts +0 -144
  112. package/dist/core/queries/index.d.ts.map +0 -1
  113. package/dist/core/queries/index.js +0 -396
  114. package/dist/core/queries/index.js.map +0 -1
  115. package/dist/core/queries/loader.d.ts +0 -46
  116. package/dist/core/queries/loader.d.ts.map +0 -1
  117. package/dist/core/queries/loader.js +0 -216
  118. package/dist/core/queries/loader.js.map +0 -1
  119. package/dist/core/queries/patterns.d.ts +0 -10
  120. package/dist/core/queries/patterns.d.ts.map +0 -1
  121. package/dist/core/queries/patterns.js +0 -112
  122. package/dist/core/queries/patterns.js.map +0 -1
  123. package/dist/core/symbols/index.d.ts +0 -70
  124. package/dist/core/symbols/index.d.ts.map +0 -1
  125. package/dist/core/symbols/index.js +0 -359
  126. package/dist/core/symbols/index.js.map +0 -1
  127. package/dist/core/unified/index.d.ts +0 -118
  128. package/dist/core/unified/index.d.ts.map +0 -1
  129. package/dist/core/unified/index.js +0 -428
  130. package/dist/core/unified/index.js.map +0 -1
  131. package/dist/core/utils/assets.d.ts +0 -34
  132. package/dist/core/utils/assets.d.ts.map +0 -1
  133. package/dist/core/utils/assets.js +0 -85
  134. package/dist/core/utils/assets.js.map +0 -1
  135. package/dist/core/utils/cache.d.ts +0 -43
  136. package/dist/core/utils/cache.d.ts.map +0 -1
  137. package/dist/core/utils/cache.js +0 -60
  138. package/dist/core/utils/cache.js.map +0 -1
  139. package/dist/core/utils/index.d.ts +0 -7
  140. package/dist/core/utils/index.d.ts.map +0 -1
  141. package/dist/core/utils/index.js +0 -10
  142. package/dist/core/utils/index.js.map +0 -1
  143. package/dist/core/utils/tsconfig.d.ts +0 -34
  144. package/dist/core/utils/tsconfig.d.ts.map +0 -1
  145. package/dist/core/utils/tsconfig.js +0 -173
  146. package/dist/core/utils/tsconfig.js.map +0 -1
  147. package/dist/features/analyze-file/index.d.ts +0 -15
  148. package/dist/features/analyze-file/index.d.ts.map +0 -1
  149. package/dist/features/analyze-file/index.js +0 -164
  150. package/dist/features/analyze-file/index.js.map +0 -1
  151. package/dist/features/get-call-graph/index.d.ts +0 -24
  152. package/dist/features/get-call-graph/index.d.ts.map +0 -1
  153. package/dist/features/get-call-graph/index.js +0 -246
  154. package/dist/features/get-call-graph/index.js.map +0 -1
  155. package/dist/features/get-index-status/index.d.ts +0 -20
  156. package/dist/features/get-index-status/index.d.ts.map +0 -1
  157. package/dist/features/get-index-status/index.js +0 -90
  158. package/dist/features/get-index-status/index.js.map +0 -1
  159. package/dist/features/index-codebase/index.d.ts +0 -24
  160. package/dist/features/index-codebase/index.d.ts.map +0 -1
  161. package/dist/features/index-codebase/index.js +0 -283
  162. package/dist/features/index-codebase/index.js.map +0 -1
  163. package/dist/features/index.d.ts +0 -15
  164. package/dist/features/index.d.ts.map +0 -1
  165. package/dist/features/index.js +0 -28
  166. package/dist/features/index.js.map +0 -1
  167. package/dist/features/info/index.d.ts +0 -19
  168. package/dist/features/info/index.d.ts.map +0 -1
  169. package/dist/features/info/index.js +0 -41
  170. package/dist/features/info/index.js.map +0 -1
  171. package/dist/features/list-symbols/index.d.ts +0 -22
  172. package/dist/features/list-symbols/index.d.ts.map +0 -1
  173. package/dist/features/list-symbols/index.js +0 -74
  174. package/dist/features/list-symbols/index.js.map +0 -1
  175. package/dist/features/parse-ast/index.d.ts +0 -12
  176. package/dist/features/parse-ast/index.d.ts.map +0 -1
  177. package/dist/features/parse-ast/index.js +0 -71
  178. package/dist/features/parse-ast/index.js.map +0 -1
  179. package/dist/features/query-code/index.d.ts +0 -23
  180. package/dist/features/query-code/index.d.ts.map +0 -1
  181. package/dist/features/query-code/index.js +0 -96
  182. package/dist/features/query-code/index.js.map +0 -1
  183. package/dist/features/search-code/index.d.ts +0 -39
  184. package/dist/features/search-code/index.d.ts.map +0 -1
  185. package/dist/features/search-code/index.js +0 -258
  186. package/dist/features/search-code/index.js.map +0 -1
  187. package/dist/features/types.d.ts +0 -14
  188. package/dist/features/types.d.ts.map +0 -1
  189. package/dist/features/types.js +0 -2
  190. package/dist/features/types.js.map +0 -1
  191. package/dist/features/update-index/index.d.ts +0 -24
  192. package/dist/features/update-index/index.d.ts.map +0 -1
  193. package/dist/features/update-index/index.js +0 -358
  194. package/dist/features/update-index/index.js.map +0 -1
  195. package/dist/features/utils/content.d.ts +0 -30
  196. package/dist/features/utils/content.d.ts.map +0 -1
  197. package/dist/features/utils/content.js +0 -49
  198. package/dist/features/utils/content.js.map +0 -1
  199. package/dist/features/utils/index.d.ts +0 -6
  200. package/dist/features/utils/index.d.ts.map +0 -1
  201. package/dist/features/utils/index.js +0 -8
  202. package/dist/features/utils/index.js.map +0 -1
  203. package/dist/features/utils/result.d.ts +0 -37
  204. package/dist/features/utils/result.d.ts.map +0 -1
  205. package/dist/features/utils/result.js +0 -53
  206. package/dist/features/utils/result.js.map +0 -1
  207. package/dist/index.d.ts +0 -2
  208. package/dist/index.d.ts.map +0 -1
  209. package/dist/index.js +0 -4
  210. package/dist/index.js.map +0 -1
  211. package/dist/prompts/index.d.ts +0 -9
  212. package/dist/prompts/index.d.ts.map +0 -1
  213. package/dist/prompts/index.js +0 -188
  214. package/dist/prompts/index.js.map +0 -1
  215. package/dist/resources/index.d.ts +0 -3
  216. package/dist/resources/index.d.ts.map +0 -1
  217. package/dist/resources/index.js +0 -17
  218. package/dist/resources/index.js.map +0 -1
  219. package/dist/server.d.ts +0 -4
  220. package/dist/server.d.ts.map +0 -1
  221. package/dist/server.js +0 -24
  222. package/dist/server.js.map +0 -1
  223. package/dist/tools/adapter.d.ts +0 -4
  224. package/dist/tools/adapter.d.ts.map +0 -1
  225. package/dist/tools/adapter.js +0 -28
  226. package/dist/tools/adapter.js.map +0 -1
  227. package/dist/tools/index.d.ts +0 -5
  228. package/dist/tools/index.d.ts.map +0 -1
  229. package/dist/tools/index.js +0 -9
  230. package/dist/tools/index.js.map +0 -1
  231. package/dist/types/index.d.ts +0 -20
  232. package/dist/types/index.d.ts.map +0 -1
  233. package/dist/types/index.js +0 -2
  234. package/dist/types/index.js.map +0 -1
  235. package/dist/utils/colors.d.ts +0 -24
  236. package/dist/utils/colors.d.ts.map +0 -1
  237. package/dist/utils/colors.js +0 -30
  238. package/dist/utils/colors.js.map +0 -1
  239. package/dist/utils/index.d.ts +0 -4
  240. package/dist/utils/index.d.ts.map +0 -1
  241. package/dist/utils/index.js +0 -4
  242. package/dist/utils/index.js.map +0 -1
  243. package/dist/utils/logger.d.ts +0 -8
  244. package/dist/utils/logger.d.ts.map +0 -1
  245. package/dist/utils/logger.js +0 -57
  246. package/dist/utils/logger.js.map +0 -1
  247. package/dist/utils/spinner.d.ts +0 -11
  248. package/dist/utils/spinner.d.ts.map +0 -1
  249. package/dist/utils/spinner.js +0 -36
  250. package/dist/utils/spinner.js.map +0 -1
@@ -1,118 +0,0 @@
1
- import type { Language, Tree } from "web-tree-sitter";
2
- import type { ASTNode } from "@core/ast/types";
3
- import { type TextChunk } from "@core/fallback";
4
- /** Clear caches (for testing) */
5
- export declare function clearUnifiedCache(): void;
6
- /**
7
- * Unified parse result - works for both Tree-sitter and fallback
8
- */
9
- export interface UnifiedParseResult {
10
- /** Parsing method used */
11
- method: "tree-sitter" | "langchain" | "generic";
12
- /** Language detected */
13
- language: string;
14
- /** File path */
15
- filePath: string;
16
- /** Original content */
17
- content: string;
18
- /** Line count */
19
- lineCount: number;
20
- /** Tree-sitter tree (if available) */
21
- tree?: Tree;
22
- /** Language instance (if available) */
23
- languageInstance?: Language;
24
- /** AST root node (if available) */
25
- ast?: ASTNode;
26
- /** Text chunks (if using fallback) */
27
- chunks?: TextChunk[];
28
- }
29
- /**
30
- * Unified symbol extraction result
31
- */
32
- export interface UnifiedSymbols {
33
- /** Extraction method used */
34
- method: "tree-sitter" | "regex";
35
- /** Functions found */
36
- functions: UnifiedSymbol[];
37
- /** Classes found */
38
- classes: UnifiedSymbol[];
39
- /** All symbols */
40
- all: UnifiedSymbol[];
41
- }
42
- /**
43
- * Unified symbol representation
44
- */
45
- export interface UnifiedSymbol {
46
- name: string;
47
- type: "function" | "method" | "class" | "interface" | "module" | "variable";
48
- line: number;
49
- endLine?: number;
50
- signature?: string;
51
- documentation?: string;
52
- }
53
- /**
54
- * Parse options
55
- */
56
- export interface UnifiedParseOptions {
57
- /** Force a specific language (skip auto-detection) */
58
- language?: string;
59
- /** Include AST in result (Tree-sitter only, can be verbose) */
60
- includeAst?: boolean;
61
- /** Max AST depth (Tree-sitter only) */
62
- astMaxDepth?: number;
63
- /** Chunk size for fallback splitting */
64
- chunkSize?: number;
65
- /** Chunk overlap for fallback splitting */
66
- chunkOverlap?: number;
67
- }
68
- /**
69
- * Check if a file is binary based on extension
70
- */
71
- export declare function isBinaryFile(filePath: string): boolean;
72
- /**
73
- * Detect language from file path (extended detection)
74
- */
75
- export declare function detectLanguage(filePath: string): string;
76
- /**
77
- * Parse a file with automatic fallback
78
- *
79
- * 1. If Tree-sitter supports the language → full AST parsing
80
- * 2. If LangChain supports the language → text splitting with language separators
81
- * 3. LangChain generic → text splitting with default separators
82
- * 4. If all fail → returns undefined (file is ignored)
83
- */
84
- export declare function parseFile(filePath: string, options?: UnifiedParseOptions): Promise<UnifiedParseResult | undefined>;
85
- /**
86
- * Parse content directly (without file)
87
- *
88
- * Returns undefined if content cannot be parsed
89
- */
90
- export declare function parseContent(content: string, language: string, options?: Omit<UnifiedParseOptions, "language">): Promise<Omit<UnifiedParseResult, "filePath"> | undefined>;
91
- /**
92
- * Extract symbols with automatic fallback
93
- *
94
- * 1. Tree-sitter → accurate AST-based extraction
95
- * 2. Regex fallback → best-effort pattern matching
96
- */
97
- export declare function extractSymbols(result: UnifiedParseResult): UnifiedSymbols;
98
- /**
99
- * Get a summary of parsing capabilities for a file
100
- */
101
- export declare function getParsingCapabilities(filePath: string): {
102
- language: string;
103
- method: "tree-sitter" | "langchain" | "generic";
104
- features: string[];
105
- };
106
- /**
107
- * Check if a file can be parsed (not binary)
108
- */
109
- export declare function canParse(filePath: string): boolean;
110
- /**
111
- * Get all supported languages with their parsing method
112
- */
113
- export declare function getSupportedLanguagesInfo(): {
114
- language: string;
115
- method: "tree-sitter" | "langchain";
116
- extensions: string[];
117
- }[];
118
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/unified/index.ts"],"names":[],"mappings":"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"}
@@ -1,428 +0,0 @@
1
- /**
2
- * Unified Parser Module
3
- *
4
- * Provides a single interface for code parsing with automatic fallback:
5
- * 1. Tree-sitter (AST parsing) - for supported languages
6
- * 2. LangChain text splitter - for unsupported languages but known file types
7
- * 3. Generic text splitting - for any other text files
8
- */
9
- import { readFileSync } from "fs";
10
- import { extname } from "path";
11
- import { isTextSplitterLanguage, splitCode, } from "@core/fallback";
12
- import { getASTRoot, getLanguageFromPath, isLanguageSupported, parseCode, } from "@core/parser";
13
- import { extractSymbolsFromTags, findClasses, findFunctions, } from "@core/queries";
14
- import { DEFAULT_CHUNK_OVERLAP, DEFAULT_CHUNK_SIZE, SKIP_KEYWORDS, } from "@core/constants";
15
- import { loadJsonConfig, registerCache } from "@core/utils";
16
- // Config cache
17
- let configCache = null;
18
- let binaryExtensionsCache = null;
19
- let extensionToLanguageCache = null;
20
- let specialFilenamesCache = null;
21
- function loadConfig() {
22
- if (configCache) {
23
- return configCache;
24
- }
25
- configCache = loadJsonConfig("languages.json", {
26
- treesitter: {},
27
- fallbackExtensions: {},
28
- specialFilenames: {},
29
- binaryExtensions: [],
30
- });
31
- return configCache;
32
- }
33
- function getBinaryExtensions() {
34
- if (binaryExtensionsCache) {
35
- return binaryExtensionsCache;
36
- }
37
- const config = loadConfig();
38
- binaryExtensionsCache = new Set(config.binaryExtensions);
39
- return binaryExtensionsCache;
40
- }
41
- function getExtensionToLanguage() {
42
- if (extensionToLanguageCache) {
43
- return extensionToLanguageCache;
44
- }
45
- const config = loadConfig();
46
- extensionToLanguageCache = config.fallbackExtensions;
47
- return extensionToLanguageCache;
48
- }
49
- function getSpecialFilenames() {
50
- if (specialFilenamesCache) {
51
- return specialFilenamesCache;
52
- }
53
- const config = loadConfig();
54
- specialFilenamesCache = config.specialFilenames;
55
- return specialFilenamesCache;
56
- }
57
- /** Clear caches (for testing) */
58
- export function clearUnifiedCache() {
59
- configCache = null;
60
- binaryExtensionsCache = null;
61
- extensionToLanguageCache = null;
62
- specialFilenamesCache = null;
63
- }
64
- /**
65
- * Extract a meaningful name from AST node text, skipping keywords
66
- */
67
- function extractNameFromNode(text) {
68
- // Split by common delimiters
69
- const parts = text.split(/[(\s{<:=[\]]/);
70
- // Find first non-keyword identifier
71
- for (const part of parts) {
72
- const trimmed = part.trim();
73
- if (trimmed &&
74
- !SKIP_KEYWORDS.has(trimmed.toLowerCase()) &&
75
- /^[a-zA-Z_]/.test(trimmed)) {
76
- return trimmed;
77
- }
78
- }
79
- return "anonymous";
80
- }
81
- /**
82
- * Check if a file is binary based on extension
83
- */
84
- export function isBinaryFile(filePath) {
85
- const ext = extname(filePath).toLowerCase();
86
- return getBinaryExtensions().has(ext);
87
- }
88
- /**
89
- * Detect language from file path (extended detection)
90
- */
91
- export function detectLanguage(filePath) {
92
- // First try Tree-sitter supported languages
93
- const tsConfig = getLanguageFromPath(filePath);
94
- if (tsConfig) {
95
- return tsConfig.name;
96
- }
97
- // Then try extension mapping from config
98
- const ext = extname(filePath).toLowerCase();
99
- const extensionMap = getExtensionToLanguage();
100
- const mappedLang = extensionMap[ext];
101
- if (mappedLang) {
102
- return mappedLang;
103
- }
104
- // Check for special filenames from config
105
- const filename = filePath.split(/[/\\]/).pop()?.toLowerCase() ?? "";
106
- const specialFilenames = getSpecialFilenames();
107
- const specialLang = specialFilenames[filename];
108
- if (specialLang) {
109
- return specialLang;
110
- }
111
- // Check for patterns like .env.local, dockerfile.prod
112
- if (filename.startsWith(".env.") || filename === ".env") {
113
- return "env";
114
- }
115
- if (filename.startsWith("dockerfile.") || filename === "dockerfile") {
116
- return "dockerfile";
117
- }
118
- return "text";
119
- }
120
- /**
121
- * Parse a file with automatic fallback
122
- *
123
- * 1. If Tree-sitter supports the language → full AST parsing
124
- * 2. If LangChain supports the language → text splitting with language separators
125
- * 3. LangChain generic → text splitting with default separators
126
- * 4. If all fail → returns undefined (file is ignored)
127
- */
128
- export async function parseFile(filePath, options = {}) {
129
- // Check for binary files - ignore them
130
- if (isBinaryFile(filePath)) {
131
- return undefined;
132
- }
133
- // Read file content
134
- let content;
135
- try {
136
- const rawContent = readFileSync(filePath, "utf-8");
137
- // Normalize line endings (handle CRLF and CR)
138
- content = rawContent.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
139
- }
140
- catch {
141
- // Cannot read file - ignore
142
- return undefined;
143
- }
144
- const lineCount = content.split("\n").length;
145
- // Detect language
146
- const language = options.language ?? detectLanguage(filePath);
147
- // Try Tree-sitter first
148
- if (isLanguageSupported(language)) {
149
- try {
150
- const parseResult = await parseCode(content, { language });
151
- const result = {
152
- method: "tree-sitter",
153
- language: parseResult.language,
154
- filePath,
155
- content,
156
- lineCount,
157
- tree: parseResult.tree,
158
- languageInstance: parseResult.languageInstance,
159
- };
160
- // Include AST if requested
161
- if (options.includeAst) {
162
- result.ast = getASTRoot(parseResult, options.astMaxDepth);
163
- }
164
- return result;
165
- }
166
- catch {
167
- // Tree-sitter failed, fall through to LangChain
168
- }
169
- }
170
- // Try LangChain with detected language
171
- const { chunkSize = DEFAULT_CHUNK_SIZE, chunkOverlap = DEFAULT_CHUNK_OVERLAP, } = options;
172
- if (isTextSplitterLanguage(language)) {
173
- try {
174
- const splitResult = await splitCode(content, language, {
175
- chunkSize,
176
- chunkOverlap,
177
- });
178
- return {
179
- method: "langchain",
180
- language,
181
- filePath,
182
- content,
183
- lineCount,
184
- chunks: splitResult.chunks,
185
- };
186
- }
187
- catch {
188
- // LangChain with language failed, try generic
189
- }
190
- }
191
- // Try LangChain generic
192
- try {
193
- const splitResult = await splitCode(content, "generic", {
194
- chunkSize,
195
- chunkOverlap,
196
- });
197
- return {
198
- method: "generic",
199
- language,
200
- filePath,
201
- content,
202
- lineCount,
203
- chunks: splitResult.chunks,
204
- };
205
- }
206
- catch {
207
- // All methods failed - ignore file
208
- return undefined;
209
- }
210
- }
211
- /**
212
- * Parse content directly (without file)
213
- *
214
- * Returns undefined if content cannot be parsed
215
- */
216
- export async function parseContent(content, language, options = {}) {
217
- // Normalize line endings (handle CRLF and CR)
218
- const normalizedContent = content.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
219
- const lineCount = normalizedContent.split("\n").length;
220
- // Try Tree-sitter first
221
- if (isLanguageSupported(language)) {
222
- try {
223
- const parseResult = await parseCode(content, { language });
224
- const result = {
225
- method: "tree-sitter",
226
- language: parseResult.language,
227
- content,
228
- lineCount,
229
- tree: parseResult.tree,
230
- languageInstance: parseResult.languageInstance,
231
- };
232
- if (options.includeAst) {
233
- result.ast = getASTRoot(parseResult, options.astMaxDepth);
234
- }
235
- return result;
236
- }
237
- catch {
238
- // Tree-sitter failed, fall through to LangChain
239
- }
240
- }
241
- // Try LangChain with detected language
242
- const { chunkSize = DEFAULT_CHUNK_SIZE, chunkOverlap = DEFAULT_CHUNK_OVERLAP, } = options;
243
- if (isTextSplitterLanguage(language)) {
244
- try {
245
- const splitResult = await splitCode(content, language, {
246
- chunkSize,
247
- chunkOverlap,
248
- });
249
- return {
250
- method: "langchain",
251
- language,
252
- content,
253
- lineCount,
254
- chunks: splitResult.chunks,
255
- };
256
- }
257
- catch {
258
- // LangChain with language failed, try generic
259
- }
260
- }
261
- // Try LangChain generic
262
- try {
263
- const splitResult = await splitCode(content, "generic", {
264
- chunkSize,
265
- chunkOverlap,
266
- });
267
- return {
268
- method: "generic",
269
- language,
270
- content,
271
- lineCount,
272
- chunks: splitResult.chunks,
273
- };
274
- }
275
- catch {
276
- // All methods failed - ignore
277
- return undefined;
278
- }
279
- }
280
- /**
281
- * Extract symbols with automatic fallback
282
- *
283
- * 1. Tree-sitter → accurate AST-based extraction
284
- * 2. Regex fallback → best-effort pattern matching
285
- */
286
- export function extractSymbols(result) {
287
- // Tree-sitter path
288
- if (result.method === "tree-sitter" &&
289
- result.tree &&
290
- result.languageInstance) {
291
- const { definitions } = extractSymbolsFromTags(result.tree, result.languageInstance, result.language);
292
- const functions = [];
293
- const classes = [];
294
- const all = [];
295
- for (const def of definitions) {
296
- const symbol = {
297
- name: def.name,
298
- type: def.kind,
299
- line: def.node.start.line,
300
- endLine: def.node.end.line,
301
- documentation: def.documentation,
302
- };
303
- all.push(symbol);
304
- if (def.kind === "function" || def.kind === "method") {
305
- functions.push(symbol);
306
- }
307
- else if (def.kind === "class" ||
308
- def.kind === "interface" ||
309
- def.kind === "module") {
310
- classes.push(symbol);
311
- }
312
- }
313
- // If tags.scm didn't find anything, try direct AST queries
314
- if (functions.length === 0) {
315
- const funcNodes = findFunctions(result.tree, result.languageInstance, result.language);
316
- for (const node of funcNodes) {
317
- const symbol = {
318
- name: extractNameFromNode(node.text),
319
- type: "function",
320
- line: node.start.line,
321
- endLine: node.end.line,
322
- };
323
- functions.push(symbol);
324
- all.push(symbol);
325
- }
326
- }
327
- if (classes.length === 0) {
328
- const classNodes = findClasses(result.tree, result.languageInstance, result.language);
329
- for (const node of classNodes) {
330
- const symbol = {
331
- name: extractNameFromNode(node.text),
332
- type: "class",
333
- line: node.start.line,
334
- endLine: node.end.line,
335
- };
336
- classes.push(symbol);
337
- all.push(symbol);
338
- }
339
- }
340
- return { method: "tree-sitter", functions, classes, all };
341
- }
342
- // LangChain fallback - no symbol extraction (text splitting only)
343
- return { method: "regex", functions: [], classes: [], all: [] };
344
- }
345
- /**
346
- * Get a summary of parsing capabilities for a file
347
- */
348
- export function getParsingCapabilities(filePath) {
349
- if (isBinaryFile(filePath)) {
350
- return {
351
- language: "binary",
352
- method: "generic",
353
- features: [],
354
- };
355
- }
356
- const language = detectLanguage(filePath);
357
- if (isLanguageSupported(language)) {
358
- return {
359
- language,
360
- method: "tree-sitter",
361
- features: [
362
- "Full AST parsing",
363
- "Accurate symbol extraction",
364
- "Syntax highlighting queries",
365
- "Code navigation",
366
- "Semantic analysis",
367
- ],
368
- };
369
- }
370
- if (isTextSplitterLanguage(language)) {
371
- return {
372
- language,
373
- method: "langchain",
374
- features: [
375
- "Intelligent text splitting",
376
- "Language-aware chunking",
377
- "Basic symbol extraction (regex)",
378
- ],
379
- };
380
- }
381
- return {
382
- language,
383
- method: "generic",
384
- features: ["Generic text splitting", "Basic symbol extraction (regex)"],
385
- };
386
- }
387
- /**
388
- * Check if a file can be parsed (not binary)
389
- */
390
- export function canParse(filePath) {
391
- return !isBinaryFile(filePath);
392
- }
393
- /**
394
- * Get all supported languages with their parsing method
395
- */
396
- export function getSupportedLanguagesInfo() {
397
- const result = [];
398
- const config = loadConfig();
399
- // Tree-sitter languages from config
400
- for (const [name, langConfig] of Object.entries(config.treesitter)) {
401
- result.push({
402
- language: name,
403
- method: "tree-sitter",
404
- extensions: langConfig.extensions,
405
- });
406
- }
407
- // LangChain languages - group extensions by language from fallbackExtensions
408
- const langchainExtensions = {};
409
- for (const [ext, lang] of Object.entries(config.fallbackExtensions)) {
410
- // Skip languages already covered by Tree-sitter
411
- if (config.treesitter[lang]) {
412
- continue;
413
- }
414
- langchainExtensions[lang] ??= [];
415
- langchainExtensions[lang].push(ext);
416
- }
417
- for (const [lang, extensions] of Object.entries(langchainExtensions)) {
418
- result.push({
419
- language: lang,
420
- method: "langchain",
421
- extensions,
422
- });
423
- }
424
- return result;
425
- }
426
- // Register cache for centralized clearing
427
- registerCache("unified:config", clearUnifiedCache);
428
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/unified/index.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Get the assets directory path
3
- *
4
- * Handles both ESM and CJS contexts by trying multiple possible paths
5
- * relative to the current module location.
6
- */
7
- export declare function getAssetsDir(): string;
8
- /**
9
- * Load and parse a JSON config file from the assets directory
10
- *
11
- * @param filename - Name of the JSON file in assets directory
12
- * @param defaultValue - Default value to return if file cannot be loaded
13
- * @returns Parsed JSON content or default value
14
- */
15
- export declare function loadJsonConfig<T>(filename: string, defaultValue: T): T;
16
- /**
17
- * Get the path to a file within the assets directory
18
- *
19
- * @param segments - Path segments relative to assets directory
20
- * @returns Full path to the asset file
21
- */
22
- export declare function getAssetPath(...segments: string[]): string;
23
- /**
24
- * Check if an asset file exists
25
- *
26
- * @param segments - Path segments relative to assets directory
27
- * @returns True if the file exists
28
- */
29
- export declare function assetExists(...segments: string[]): boolean;
30
- /**
31
- * Clear the assets directory cache (for testing)
32
- */
33
- export declare function clearAssetsDirCache(): void;
34
- //# sourceMappingURL=assets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/core/utils/assets.ts"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,MAAM,CA4BrC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAStE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}