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,85 +0,0 @@
1
- /**
2
- * Centralized asset directory utilities
3
- *
4
- * Provides consistent access to the assets directory and JSON config loading
5
- * across all core modules.
6
- */
7
- import { existsSync, readFileSync } from "fs";
8
- import { dirname, join } from "path";
9
- import { fileURLToPath } from "url";
10
- /**
11
- * Cached assets directory path
12
- */
13
- let assetsDirCache = null;
14
- /**
15
- * Get the assets directory path
16
- *
17
- * Handles both ESM and CJS contexts by trying multiple possible paths
18
- * relative to the current module location.
19
- */
20
- export function getAssetsDir() {
21
- if (assetsDirCache) {
22
- return assetsDirCache;
23
- }
24
- // Handle both ESM and CJS contexts
25
- const currentDir = typeof __dirname !== "undefined"
26
- ? __dirname
27
- : dirname(fileURLToPath(import.meta.url));
28
- // Try various paths relative to current file location
29
- const possiblePaths = [
30
- join(currentDir, "..", "..", "..", "assets"), // From dist/core/utils
31
- join(currentDir, "..", "..", "assets"), // From src/core/utils (dev)
32
- join(process.cwd(), "assets"), // From project root
33
- ];
34
- for (const p of possiblePaths) {
35
- if (existsSync(p)) {
36
- assetsDirCache = p;
37
- return p;
38
- }
39
- }
40
- // Default fallback
41
- assetsDirCache = join(process.cwd(), "assets");
42
- return assetsDirCache;
43
- }
44
- /**
45
- * Load and parse a JSON config file from the assets directory
46
- *
47
- * @param filename - Name of the JSON file in assets directory
48
- * @param defaultValue - Default value to return if file cannot be loaded
49
- * @returns Parsed JSON content or default value
50
- */
51
- export function loadJsonConfig(filename, defaultValue) {
52
- const configPath = join(getAssetsDir(), filename);
53
- try {
54
- const content = readFileSync(configPath, "utf-8");
55
- return JSON.parse(content);
56
- }
57
- catch {
58
- return defaultValue;
59
- }
60
- }
61
- /**
62
- * Get the path to a file within the assets directory
63
- *
64
- * @param segments - Path segments relative to assets directory
65
- * @returns Full path to the asset file
66
- */
67
- export function getAssetPath(...segments) {
68
- return join(getAssetsDir(), ...segments);
69
- }
70
- /**
71
- * Check if an asset file exists
72
- *
73
- * @param segments - Path segments relative to assets directory
74
- * @returns True if the file exists
75
- */
76
- export function assetExists(...segments) {
77
- return existsSync(getAssetPath(...segments));
78
- }
79
- /**
80
- * Clear the assets directory cache (for testing)
81
- */
82
- export function clearAssetsDirCache() {
83
- assetsDirCache = null;
84
- }
85
- //# sourceMappingURL=assets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/core/utils/assets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;GAEG;AACH,IAAI,cAAc,GAAkB,IAAI,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,GACd,OAAO,SAAS,KAAK,WAAW;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9C,sDAAsD;IACtD,MAAM,aAAa,GAAG;QACpB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,uBAAuB;QACrE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,4BAA4B;QACpE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE,oBAAoB;KACpD,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,cAAc,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/C,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAI,QAAgB,EAAE,YAAe;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAG,QAAkB;IAChD,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,GAAG,QAAkB;IAC/C,OAAO,UAAU,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC"}
@@ -1,43 +0,0 @@
1
- /**
2
- * Centralized cache management
3
- *
4
- * Provides a registry for cache clear functions across all modules.
5
- * Allows clearing all caches at once (useful for testing).
6
- */
7
- /**
8
- * Cache clear function type
9
- */
10
- export type CacheClearFn = () => void;
11
- /**
12
- * Register a cache clear function
13
- *
14
- * @param name - Unique name for this cache (for debugging/identification)
15
- * @param clearFn - Function that clears the cache
16
- */
17
- export declare function registerCache(name: string, clearFn: CacheClearFn): void;
18
- /**
19
- * Unregister a cache clear function
20
- *
21
- * @param name - Name of the cache to unregister
22
- */
23
- export declare function unregisterCache(name: string): void;
24
- /**
25
- * Clear all registered caches
26
- *
27
- * Useful for testing to ensure a clean state between tests.
28
- */
29
- export declare function clearAllCaches(): void;
30
- /**
31
- * Get names of all registered caches
32
- *
33
- * @returns Array of cache names
34
- */
35
- export declare function getRegisteredCaches(): string[];
36
- /**
37
- * Clear a specific cache by name
38
- *
39
- * @param name - Name of the cache to clear
40
- * @returns True if cache was found and cleared
41
- */
42
- export declare function clearCache(name: string): boolean;
43
- //# sourceMappingURL=cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/core/utils/cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC;AAOtC;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOhD"}
@@ -1,60 +0,0 @@
1
- /**
2
- * Centralized cache management
3
- *
4
- * Provides a registry for cache clear functions across all modules.
5
- * Allows clearing all caches at once (useful for testing).
6
- */
7
- /**
8
- * Registry of cache clear functions
9
- */
10
- const cacheRegistry = new Map();
11
- /**
12
- * Register a cache clear function
13
- *
14
- * @param name - Unique name for this cache (for debugging/identification)
15
- * @param clearFn - Function that clears the cache
16
- */
17
- export function registerCache(name, clearFn) {
18
- cacheRegistry.set(name, clearFn);
19
- }
20
- /**
21
- * Unregister a cache clear function
22
- *
23
- * @param name - Name of the cache to unregister
24
- */
25
- export function unregisterCache(name) {
26
- cacheRegistry.delete(name);
27
- }
28
- /**
29
- * Clear all registered caches
30
- *
31
- * Useful for testing to ensure a clean state between tests.
32
- */
33
- export function clearAllCaches() {
34
- for (const clearFn of cacheRegistry.values()) {
35
- clearFn();
36
- }
37
- }
38
- /**
39
- * Get names of all registered caches
40
- *
41
- * @returns Array of cache names
42
- */
43
- export function getRegisteredCaches() {
44
- return Array.from(cacheRegistry.keys());
45
- }
46
- /**
47
- * Clear a specific cache by name
48
- *
49
- * @param name - Name of the cache to clear
50
- * @returns True if cache was found and cleared
51
- */
52
- export function clearCache(name) {
53
- const clearFn = cacheRegistry.get(name);
54
- if (clearFn) {
55
- clearFn();
56
- return true;
57
- }
58
- return false;
59
- }
60
- //# sourceMappingURL=cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/core/utils/cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;GAEG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAqB;IAC/D,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC7C,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Core utilities barrel export
3
- */
4
- export { assetExists, clearAssetsDirCache, getAssetPath, getAssetsDir, loadJsonConfig, } from "./assets";
5
- export { clearAllCaches, clearCache, getRegisteredCaches, registerCache, unregisterCache, type CacheClearFn, } from "./cache";
6
- export { clearPathAliasCache, readPathAliases, readPathAliasesCached, type PathAliases, } from "./tsconfig";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Core utilities barrel export
3
- */
4
- // Asset directory utilities
5
- export { assetExists, clearAssetsDirCache, getAssetPath, getAssetsDir, loadJsonConfig, } from "./assets";
6
- // Cache management
7
- export { clearAllCaches, clearCache, getRegisteredCaches, registerCache, unregisterCache, } from "./cache";
8
- // TSConfig utilities
9
- export { clearPathAliasCache, readPathAliases, readPathAliasesCached, } from "./tsconfig";
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4BAA4B;AAC5B,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,UAAU,CAAC;AAElB,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,GAEhB,MAAM,SAAS,CAAC;AAEjB,qBAAqB;AACrB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GAEtB,MAAM,YAAY,CAAC"}
@@ -1,34 +0,0 @@
1
- /**
2
- * TSConfig utilities for reading path aliases
3
- *
4
- * Reads and parses tsconfig.json to extract path aliases
5
- * in a format usable by the cross-file resolution system.
6
- */
7
- /**
8
- * Converted path aliases in simple format
9
- * Key is the alias prefix (e.g., "@core", "@/")
10
- * Value is the resolved directory path relative to project root
11
- */
12
- export type PathAliases = Record<string, string>;
13
- /**
14
- * Read tsconfig.json and extract path aliases
15
- *
16
- * Handles:
17
- * - Comments in tsconfig (// and /* *\/)
18
- * - baseUrl relative paths
19
- * - Wildcard patterns (@core/* -> src/core/*)
20
- * - Exact patterns (@core -> src/core)
21
- *
22
- * @param projectRoot - The project root directory containing tsconfig.json
23
- * @returns Path aliases in simple format, or empty object if not found/invalid
24
- */
25
- export declare function readPathAliases(projectRoot: string): PathAliases;
26
- /**
27
- * Read path aliases with caching
28
- */
29
- export declare function readPathAliasesCached(projectRoot: string): PathAliases;
30
- /**
31
- * Clear the path aliases cache
32
- */
33
- export declare function clearPathAliasCache(): void;
34
- //# sourceMappingURL=tsconfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tsconfig.d.ts","sourceRoot":"","sources":["../../../src/core/utils/tsconfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAuHjD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAoChE;AAOD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAWtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -1,173 +0,0 @@
1
- /**
2
- * TSConfig utilities for reading path aliases
3
- *
4
- * Reads and parses tsconfig.json to extract path aliases
5
- * in a format usable by the cross-file resolution system.
6
- */
7
- import * as fs from "node:fs";
8
- import * as path from "node:path";
9
- import { logger } from "@utils";
10
- /**
11
- * Strip JSON comments (single-line // and multi-line)
12
- */
13
- function stripJsonComments(json) {
14
- let result = "";
15
- let inString = false;
16
- let inSingleLineComment = false;
17
- let inMultiLineComment = false;
18
- for (let i = 0; i < json.length; i++) {
19
- const char = json.charAt(i);
20
- const nextChar = json.charAt(i + 1);
21
- if (inSingleLineComment) {
22
- if (char === "\n") {
23
- inSingleLineComment = false;
24
- result += char;
25
- }
26
- continue;
27
- }
28
- if (inMultiLineComment) {
29
- if (char === "*" && nextChar === "/") {
30
- inMultiLineComment = false;
31
- i++; // Skip the '/'
32
- }
33
- continue;
34
- }
35
- if (inString) {
36
- result += char;
37
- if (char === '"' && json.charAt(i - 1) !== "\\") {
38
- inString = false;
39
- }
40
- continue;
41
- }
42
- // Not in string or comment
43
- if (char === '"') {
44
- inString = true;
45
- result += char;
46
- }
47
- else if (char === "/" && nextChar === "/") {
48
- inSingleLineComment = true;
49
- i++; // Skip the second '/'
50
- }
51
- else if (char === "/" && nextChar === "*") {
52
- inMultiLineComment = true;
53
- i++; // Skip the '*'
54
- }
55
- else {
56
- result += char;
57
- }
58
- }
59
- return result;
60
- }
61
- /**
62
- * Parse tsconfig.json content
63
- */
64
- function parseTsConfig(content) {
65
- try {
66
- const strippedContent = stripJsonComments(content);
67
- return JSON.parse(strippedContent);
68
- }
69
- catch (error) {
70
- logger.debug(`Failed to parse tsconfig.json: ${error instanceof Error ? error.message : String(error)}`);
71
- return null;
72
- }
73
- }
74
- /**
75
- * Convert tsconfig paths to simple path aliases format
76
- *
77
- * TSConfig format:
78
- * "@core": ["src/core"]
79
- * "@core/*": ["src/core/*"]
80
- *
81
- * Output format:
82
- * "@core": "src/core"
83
- * "@core/": "src/core/"
84
- */
85
- function convertPaths(paths, baseUrl, projectRoot) {
86
- const aliases = {};
87
- for (const [pattern, targets] of Object.entries(paths)) {
88
- const target = targets[0];
89
- if (!target) {
90
- continue;
91
- }
92
- // Handle wildcard patterns like "@core/*" -> ["src/core/*"]
93
- if (pattern.endsWith("/*") && target.endsWith("/*")) {
94
- // Remove the /* from both pattern and target
95
- const aliasPrefix = pattern.slice(0, -2) + "/";
96
- const targetPath = target.slice(0, -2) + "/";
97
- // Resolve relative to baseUrl
98
- const resolvedTarget = path.join(projectRoot, baseUrl, targetPath);
99
- const relativeTarget = path.relative(projectRoot, resolvedTarget);
100
- aliases[aliasPrefix] = relativeTarget.replace(/\\/g, "/") + "/";
101
- }
102
- else {
103
- // Handle exact matches like "@core" -> ["src/core"]
104
- const resolvedTarget = path.join(projectRoot, baseUrl, target);
105
- const relativeTarget = path.relative(projectRoot, resolvedTarget);
106
- aliases[pattern] = relativeTarget.replace(/\\/g, "/");
107
- }
108
- }
109
- return aliases;
110
- }
111
- /**
112
- * Read tsconfig.json and extract path aliases
113
- *
114
- * Handles:
115
- * - Comments in tsconfig (// and /* *\/)
116
- * - baseUrl relative paths
117
- * - Wildcard patterns (@core/* -> src/core/*)
118
- * - Exact patterns (@core -> src/core)
119
- *
120
- * @param projectRoot - The project root directory containing tsconfig.json
121
- * @returns Path aliases in simple format, or empty object if not found/invalid
122
- */
123
- export function readPathAliases(projectRoot) {
124
- const tsconfigPath = path.join(projectRoot, "tsconfig.json");
125
- if (!fs.existsSync(tsconfigPath)) {
126
- logger.debug(`No tsconfig.json found at ${tsconfigPath}`);
127
- return {};
128
- }
129
- try {
130
- const content = fs.readFileSync(tsconfigPath, "utf-8");
131
- const tsconfig = parseTsConfig(content);
132
- if (!tsconfig) {
133
- return {};
134
- }
135
- const paths = tsconfig.compilerOptions?.paths;
136
- const baseUrl = tsconfig.compilerOptions?.baseUrl ?? ".";
137
- if (!paths || Object.keys(paths).length === 0) {
138
- logger.debug("No paths defined in tsconfig.json");
139
- return {};
140
- }
141
- const aliases = convertPaths(paths, baseUrl, projectRoot);
142
- logger.debug(`Loaded ${String(Object.keys(aliases).length)} path aliases from tsconfig.json`);
143
- return aliases;
144
- }
145
- catch (error) {
146
- logger.debug(`Failed to read tsconfig.json: ${error instanceof Error ? error.message : String(error)}`);
147
- return {};
148
- }
149
- }
150
- /**
151
- * Get cache key for memoization
152
- */
153
- const pathAliasCache = new Map();
154
- /**
155
- * Read path aliases with caching
156
- */
157
- export function readPathAliasesCached(projectRoot) {
158
- const normalizedRoot = path.normalize(projectRoot);
159
- const cached = pathAliasCache.get(normalizedRoot);
160
- if (cached !== undefined) {
161
- return cached;
162
- }
163
- const aliases = readPathAliases(projectRoot);
164
- pathAliasCache.set(normalizedRoot, aliases);
165
- return aliases;
166
- }
167
- /**
168
- * Clear the path aliases cache
169
- */
170
- export function clearPathAliasCache() {
171
- pathAliasCache.clear();
172
- }
173
- //# sourceMappingURL=tsconfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../../../src/core/utils/tsconfig.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { z } from "zod";
2
- import type { Feature, FeatureResult } from "@features/types";
3
- export declare const analyzeFileSchema: z.ZodObject<{
4
- file_path: z.ZodString;
5
- include_ast: z.ZodDefault<z.ZodBoolean>;
6
- include_symbols: z.ZodDefault<z.ZodBoolean>;
7
- include_imports: z.ZodDefault<z.ZodBoolean>;
8
- include_exports: z.ZodDefault<z.ZodBoolean>;
9
- ast_max_depth: z.ZodOptional<z.ZodNumber>;
10
- include_chunks: z.ZodDefault<z.ZodBoolean>;
11
- }, z.core.$strip>;
12
- export type AnalyzeFileInput = z.input<typeof analyzeFileSchema>;
13
- export declare function execute(rawInput: AnalyzeFileInput): Promise<FeatureResult>;
14
- export declare const analyzeFileFeature: Feature<typeof analyzeFileSchema>;
15
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/analyze-file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE9D,eAAO,MAAM,iBAAiB;;;;;;;;iBA4B5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,aAAa,CAAC,CA8JxB;AAED,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,OAAO,iBAAiB,CAMhE,CAAC"}
@@ -1,164 +0,0 @@
1
- import { z } from "zod";
2
- import { getASTRoot } from "@core/parser";
3
- import { extractCodeInfo } from "@core/symbols";
4
- import { canParse, extractSymbols, getParsingCapabilities, parseFile, } from "@core/unified";
5
- export const analyzeFileSchema = z.object({
6
- file_path: z.string().describe("Path to the file to analyze"),
7
- include_ast: z
8
- .boolean()
9
- .default(false)
10
- .describe("Include full AST in response (default: false, can be verbose)"),
11
- include_symbols: z
12
- .boolean()
13
- .default(true)
14
- .describe("Include extracted symbols (default: true)"),
15
- include_imports: z
16
- .boolean()
17
- .default(true)
18
- .describe("Include import statements (default: true)"),
19
- include_exports: z
20
- .boolean()
21
- .default(true)
22
- .describe("Include export statements (default: true)"),
23
- ast_max_depth: z
24
- .number()
25
- .int()
26
- .positive()
27
- .optional()
28
- .describe("Maximum depth for AST if included"),
29
- include_chunks: z
30
- .boolean()
31
- .default(false)
32
- .describe("Include text chunks for fallback parsing (default: false)"),
33
- });
34
- export async function execute(rawInput) {
35
- // Parse with defaults applied
36
- const input = analyzeFileSchema.parse(rawInput);
37
- const { file_path, include_ast, include_symbols, include_imports, include_exports, ast_max_depth, include_chunks, } = input;
38
- try {
39
- // Check if file can be parsed
40
- if (!canParse(file_path)) {
41
- return {
42
- success: false,
43
- error: `Cannot parse binary file: ${file_path}`,
44
- };
45
- }
46
- // Get parsing capabilities for this file
47
- const capabilities = getParsingCapabilities(file_path);
48
- // Parse the file with automatic fallback
49
- const parseResult = await parseFile(file_path, {
50
- includeAst: include_ast,
51
- astMaxDepth: ast_max_depth,
52
- });
53
- // If parsing failed (unsupported file type), return error
54
- if (!parseResult) {
55
- return {
56
- success: false,
57
- error: `Cannot parse file: ${file_path}. Unsupported or unreadable file type.`,
58
- };
59
- }
60
- // Build response based on parsing method
61
- const response = {
62
- file_path,
63
- language: parseResult.language,
64
- parsing_method: parseResult.method,
65
- capabilities: capabilities.features,
66
- metrics: {
67
- lines: parseResult.lineCount,
68
- functions: 0,
69
- classes: 0,
70
- imports: 0,
71
- exports: 0,
72
- },
73
- };
74
- // Tree-sitter path - full analysis
75
- if (parseResult.method === "tree-sitter" &&
76
- parseResult.tree &&
77
- parseResult.languageInstance) {
78
- const codeInfo = extractCodeInfo(parseResult.tree, parseResult.languageInstance, parseResult.language);
79
- response.metrics = {
80
- lines: parseResult.lineCount,
81
- functions: codeInfo.symbols.summary.functions,
82
- classes: codeInfo.symbols.summary.classes,
83
- imports: codeInfo.imports.length,
84
- exports: codeInfo.exports.length,
85
- };
86
- if (include_symbols) {
87
- response.symbols = codeInfo.symbols.symbols;
88
- }
89
- if (include_imports) {
90
- response.imports = codeInfo.imports;
91
- }
92
- if (include_exports) {
93
- response.exports = codeInfo.exports;
94
- }
95
- if (include_ast) {
96
- response.ast = getASTRoot({
97
- tree: parseResult.tree,
98
- language: parseResult.language,
99
- parser: null,
100
- languageInstance: parseResult.languageInstance,
101
- }, ast_max_depth);
102
- }
103
- }
104
- else {
105
- // Fallback path - limited analysis
106
- const symbols = extractSymbols(parseResult);
107
- response.metrics = {
108
- lines: parseResult.lineCount,
109
- functions: symbols.functions.length,
110
- classes: symbols.classes.length,
111
- imports: 0, // Not available in fallback
112
- exports: 0, // Not available in fallback
113
- };
114
- if (include_symbols) {
115
- response.symbols = symbols.all;
116
- response.symbol_extraction_method = symbols.method;
117
- }
118
- if (include_chunks && parseResult.chunks) {
119
- response.chunks = parseResult.chunks.map((chunk) => ({
120
- index: chunk.index,
121
- startLine: chunk.startLine,
122
- endLine: chunk.endLine,
123
- preview: chunk.content.slice(0, 100) +
124
- (chunk.content.length > 100 ? "..." : ""),
125
- }));
126
- response.chunk_count = parseResult.chunks.length;
127
- }
128
- // Note about limited analysis
129
- response.note = `File parsed using ${parseResult.method} fallback. Some features (imports, exports, full AST) are not available.`;
130
- }
131
- // Build summary message
132
- const metrics = response.metrics;
133
- const methodNote = parseResult.method !== "tree-sitter" ? ` [${parseResult.method}]` : "";
134
- const summary = [
135
- `${parseResult.language} file${methodNote}`,
136
- `${String(metrics.lines)} lines`,
137
- `${String(metrics.functions)} functions`,
138
- `${String(metrics.classes)} classes`,
139
- ];
140
- if (parseResult.method === "tree-sitter") {
141
- summary.push(`${String(metrics.imports)} imports`);
142
- summary.push(`${String(metrics.exports)} exports`);
143
- }
144
- return {
145
- success: true,
146
- data: response,
147
- message: `Analyzed ${file_path}: ${summary.join(", ")}`,
148
- };
149
- }
150
- catch (error) {
151
- const message = error instanceof Error ? error.message : String(error);
152
- return {
153
- success: false,
154
- error: `Failed to analyze file: ${message}`,
155
- };
156
- }
157
- }
158
- export const analyzeFileFeature = {
159
- name: "analyze_file",
160
- description: "Perform a comprehensive analysis of a source code file. Returns symbols, imports, exports, and code metrics. Optionally includes the full AST.",
161
- schema: analyzeFileSchema,
162
- execute,
163
- };
164
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/analyze-file/index.ts"],"names":[],"mappings":"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"}