codeguardian-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +348 -0
  3. package/dist/agent/agentTools.d.ts +26 -0
  4. package/dist/agent/agentTools.d.ts.map +1 -0
  5. package/dist/agent/agentTools.js +699 -0
  6. package/dist/agent/agentTools.js.map +1 -0
  7. package/dist/agent/autoValidator.d.ts +110 -0
  8. package/dist/agent/autoValidator.d.ts.map +1 -0
  9. package/dist/agent/autoValidator.js +964 -0
  10. package/dist/agent/autoValidator.js.map +1 -0
  11. package/dist/agent/fileWatcher.d.ts +28 -0
  12. package/dist/agent/fileWatcher.d.ts.map +1 -0
  13. package/dist/agent/fileWatcher.js +88 -0
  14. package/dist/agent/fileWatcher.js.map +1 -0
  15. package/dist/agent/guardianPersistence.d.ts +98 -0
  16. package/dist/agent/guardianPersistence.d.ts.map +1 -0
  17. package/dist/agent/guardianPersistence.js +296 -0
  18. package/dist/agent/guardianPersistence.js.map +1 -0
  19. package/dist/agent/mcpNotifications.d.ts +38 -0
  20. package/dist/agent/mcpNotifications.d.ts.map +1 -0
  21. package/dist/agent/mcpNotifications.js +81 -0
  22. package/dist/agent/mcpNotifications.js.map +1 -0
  23. package/dist/analyzers/aiPatterns.d.ts +16 -0
  24. package/dist/analyzers/aiPatterns.d.ts.map +1 -0
  25. package/dist/analyzers/aiPatterns.js +103 -0
  26. package/dist/analyzers/aiPatterns.js.map +1 -0
  27. package/dist/analyzers/antiPatterns.d.ts +60 -0
  28. package/dist/analyzers/antiPatterns.d.ts.map +1 -0
  29. package/dist/analyzers/antiPatterns.js +198 -0
  30. package/dist/analyzers/antiPatterns.js.map +1 -0
  31. package/dist/analyzers/builtinTypes.d.ts +18 -0
  32. package/dist/analyzers/builtinTypes.d.ts.map +1 -0
  33. package/dist/analyzers/builtinTypes.js +1275 -0
  34. package/dist/analyzers/builtinTypes.js.map +1 -0
  35. package/dist/analyzers/complexity.d.ts +14 -0
  36. package/dist/analyzers/complexity.d.ts.map +1 -0
  37. package/dist/analyzers/complexity.js +610 -0
  38. package/dist/analyzers/complexity.js.map +1 -0
  39. package/dist/analyzers/findingVerifier.d.ts +59 -0
  40. package/dist/analyzers/findingVerifier.d.ts.map +1 -0
  41. package/dist/analyzers/findingVerifier.js +1169 -0
  42. package/dist/analyzers/findingVerifier.js.map +1 -0
  43. package/dist/analyzers/impactAnalyzer.d.ts +53 -0
  44. package/dist/analyzers/impactAnalyzer.d.ts.map +1 -0
  45. package/dist/analyzers/impactAnalyzer.js +152 -0
  46. package/dist/analyzers/impactAnalyzer.js.map +1 -0
  47. package/dist/analyzers/languageDetector.d.ts +48 -0
  48. package/dist/analyzers/languageDetector.d.ts.map +1 -0
  49. package/dist/analyzers/languageDetector.js +404 -0
  50. package/dist/analyzers/languageDetector.js.map +1 -0
  51. package/dist/analyzers/parsers/incrementalParser.d.ts +53 -0
  52. package/dist/analyzers/parsers/incrementalParser.d.ts.map +1 -0
  53. package/dist/analyzers/parsers/incrementalParser.js +193 -0
  54. package/dist/analyzers/parsers/incrementalParser.js.map +1 -0
  55. package/dist/analyzers/parsers/scopeResolver.d.ts +92 -0
  56. package/dist/analyzers/parsers/scopeResolver.d.ts.map +1 -0
  57. package/dist/analyzers/parsers/scopeResolver.js +324 -0
  58. package/dist/analyzers/parsers/scopeResolver.js.map +1 -0
  59. package/dist/analyzers/parsers/semanticIndex.d.ts +127 -0
  60. package/dist/analyzers/parsers/semanticIndex.d.ts.map +1 -0
  61. package/dist/analyzers/parsers/semanticIndex.js +429 -0
  62. package/dist/analyzers/parsers/semanticIndex.js.map +1 -0
  63. package/dist/analyzers/parsers/sessionDiffAnalyzer.d.ts +42 -0
  64. package/dist/analyzers/parsers/sessionDiffAnalyzer.d.ts.map +1 -0
  65. package/dist/analyzers/parsers/sessionDiffAnalyzer.js +233 -0
  66. package/dist/analyzers/parsers/sessionDiffAnalyzer.js.map +1 -0
  67. package/dist/analyzers/parsers/treeSitterParser.d.ts +76 -0
  68. package/dist/analyzers/parsers/treeSitterParser.d.ts.map +1 -0
  69. package/dist/analyzers/parsers/treeSitterParser.js +709 -0
  70. package/dist/analyzers/parsers/treeSitterParser.js.map +1 -0
  71. package/dist/analyzers/relevanceScorer.d.ts +43 -0
  72. package/dist/analyzers/relevanceScorer.d.ts.map +1 -0
  73. package/dist/analyzers/relevanceScorer.js +200 -0
  74. package/dist/analyzers/relevanceScorer.js.map +1 -0
  75. package/dist/analyzers/standardLibrary.d.ts +22 -0
  76. package/dist/analyzers/standardLibrary.d.ts.map +1 -0
  77. package/dist/analyzers/standardLibrary.js +211 -0
  78. package/dist/analyzers/standardLibrary.js.map +1 -0
  79. package/dist/analyzers/symbolGraph.d.ts +30 -0
  80. package/dist/analyzers/symbolGraph.d.ts.map +1 -0
  81. package/dist/analyzers/symbolGraph.js +380 -0
  82. package/dist/analyzers/symbolGraph.js.map +1 -0
  83. package/dist/analyzers/symbolTable.d.ts +18 -0
  84. package/dist/analyzers/symbolTable.d.ts.map +1 -0
  85. package/dist/analyzers/symbolTable.js +176 -0
  86. package/dist/analyzers/symbolTable.js.map +1 -0
  87. package/dist/analyzers/typeChecker.d.ts +13 -0
  88. package/dist/analyzers/typeChecker.d.ts.map +1 -0
  89. package/dist/analyzers/typeChecker.js +580 -0
  90. package/dist/analyzers/typeChecker.js.map +1 -0
  91. package/dist/analyzers/usagePatterns.d.ts +42 -0
  92. package/dist/analyzers/usagePatterns.d.ts.map +1 -0
  93. package/dist/analyzers/usagePatterns.js +75 -0
  94. package/dist/analyzers/usagePatterns.js.map +1 -0
  95. package/dist/api-contract/context/backend.d.ts +19 -0
  96. package/dist/api-contract/context/backend.d.ts.map +1 -0
  97. package/dist/api-contract/context/backend.js +64 -0
  98. package/dist/api-contract/context/backend.js.map +1 -0
  99. package/dist/api-contract/context/contract.d.ts +34 -0
  100. package/dist/api-contract/context/contract.d.ts.map +1 -0
  101. package/dist/api-contract/context/contract.js +306 -0
  102. package/dist/api-contract/context/contract.js.map +1 -0
  103. package/dist/api-contract/context/frontend.d.ts +19 -0
  104. package/dist/api-contract/context/frontend.d.ts.map +1 -0
  105. package/dist/api-contract/context/frontend.js +64 -0
  106. package/dist/api-contract/context/frontend.js.map +1 -0
  107. package/dist/api-contract/detector.d.ts +28 -0
  108. package/dist/api-contract/detector.d.ts.map +1 -0
  109. package/dist/api-contract/detector.js +393 -0
  110. package/dist/api-contract/detector.js.map +1 -0
  111. package/dist/api-contract/extractors/python.d.ts +32 -0
  112. package/dist/api-contract/extractors/python.d.ts.map +1 -0
  113. package/dist/api-contract/extractors/python.js +521 -0
  114. package/dist/api-contract/extractors/python.js.map +1 -0
  115. package/dist/api-contract/extractors/pythonAstUtils.d.ts +44 -0
  116. package/dist/api-contract/extractors/pythonAstUtils.d.ts.map +1 -0
  117. package/dist/api-contract/extractors/pythonAstUtils.js +489 -0
  118. package/dist/api-contract/extractors/pythonAstUtils.js.map +1 -0
  119. package/dist/api-contract/extractors/tsAstUtils.d.ts +47 -0
  120. package/dist/api-contract/extractors/tsAstUtils.d.ts.map +1 -0
  121. package/dist/api-contract/extractors/tsAstUtils.js +173 -0
  122. package/dist/api-contract/extractors/tsAstUtils.js.map +1 -0
  123. package/dist/api-contract/extractors/typescript.d.ts +32 -0
  124. package/dist/api-contract/extractors/typescript.d.ts.map +1 -0
  125. package/dist/api-contract/extractors/typescript.js +666 -0
  126. package/dist/api-contract/extractors/typescript.js.map +1 -0
  127. package/dist/api-contract/index.d.ts +104 -0
  128. package/dist/api-contract/index.d.ts.map +1 -0
  129. package/dist/api-contract/index.js +232 -0
  130. package/dist/api-contract/index.js.map +1 -0
  131. package/dist/api-contract/types.d.ts +151 -0
  132. package/dist/api-contract/types.d.ts.map +1 -0
  133. package/dist/api-contract/types.js +19 -0
  134. package/dist/api-contract/types.js.map +1 -0
  135. package/dist/api-contract/validators/endpoint.d.ts +21 -0
  136. package/dist/api-contract/validators/endpoint.d.ts.map +1 -0
  137. package/dist/api-contract/validators/endpoint.js +224 -0
  138. package/dist/api-contract/validators/endpoint.js.map +1 -0
  139. package/dist/api-contract/validators/index.d.ts +40 -0
  140. package/dist/api-contract/validators/index.d.ts.map +1 -0
  141. package/dist/api-contract/validators/index.js +875 -0
  142. package/dist/api-contract/validators/index.js.map +1 -0
  143. package/dist/api-contract/validators/parameter.d.ts +17 -0
  144. package/dist/api-contract/validators/parameter.d.ts.map +1 -0
  145. package/dist/api-contract/validators/parameter.js +250 -0
  146. package/dist/api-contract/validators/parameter.js.map +1 -0
  147. package/dist/api-contract/validators/type.d.ts +38 -0
  148. package/dist/api-contract/validators/type.d.ts.map +1 -0
  149. package/dist/api-contract/validators/type.js +244 -0
  150. package/dist/api-contract/validators/type.js.map +1 -0
  151. package/dist/context/apiContract/complexTypeSupport.d.ts +83 -0
  152. package/dist/context/apiContract/complexTypeSupport.d.ts.map +1 -0
  153. package/dist/context/apiContract/complexTypeSupport.js +665 -0
  154. package/dist/context/apiContract/complexTypeSupport.js.map +1 -0
  155. package/dist/context/apiContract/graphqlSupport.d.ts +105 -0
  156. package/dist/context/apiContract/graphqlSupport.d.ts.map +1 -0
  157. package/dist/context/apiContract/graphqlSupport.js +671 -0
  158. package/dist/context/apiContract/graphqlSupport.js.map +1 -0
  159. package/dist/context/apiContract/index.d.ts +14 -0
  160. package/dist/context/apiContract/index.d.ts.map +1 -0
  161. package/dist/context/apiContract/index.js +17 -0
  162. package/dist/context/apiContract/index.js.map +1 -0
  163. package/dist/context/apiContract/webSocketSupport.d.ts +104 -0
  164. package/dist/context/apiContract/webSocketSupport.d.ts.map +1 -0
  165. package/dist/context/apiContract/webSocketSupport.js +465 -0
  166. package/dist/context/apiContract/webSocketSupport.js.map +1 -0
  167. package/dist/context/apiContractContext.d.ts +15 -0
  168. package/dist/context/apiContractContext.d.ts.map +1 -0
  169. package/dist/context/apiContractContext.js +979 -0
  170. package/dist/context/apiContractContext.js.map +1 -0
  171. package/dist/context/apiContractExtraction.d.ts +52 -0
  172. package/dist/context/apiContractExtraction.d.ts.map +1 -0
  173. package/dist/context/apiContractExtraction.js +438 -0
  174. package/dist/context/apiContractExtraction.js.map +1 -0
  175. package/dist/context/contextLineage.d.ts +79 -0
  176. package/dist/context/contextLineage.d.ts.map +1 -0
  177. package/dist/context/contextLineage.js +259 -0
  178. package/dist/context/contextLineage.js.map +1 -0
  179. package/dist/context/contextOrchestrator.d.ts +57 -0
  180. package/dist/context/contextOrchestrator.d.ts.map +1 -0
  181. package/dist/context/contextOrchestrator.js +162 -0
  182. package/dist/context/contextOrchestrator.js.map +1 -0
  183. package/dist/context/intentTracker.d.ts +73 -0
  184. package/dist/context/intentTracker.d.ts.map +1 -0
  185. package/dist/context/intentTracker.js +168 -0
  186. package/dist/context/intentTracker.js.map +1 -0
  187. package/dist/context/projectContext.d.ts +219 -0
  188. package/dist/context/projectContext.d.ts.map +1 -0
  189. package/dist/context/projectContext.js +1984 -0
  190. package/dist/context/projectContext.js.map +1 -0
  191. package/dist/prompts/index.d.ts +17 -0
  192. package/dist/prompts/index.d.ts.map +1 -0
  193. package/dist/prompts/index.js +260 -0
  194. package/dist/prompts/index.js.map +1 -0
  195. package/dist/prompts/library.d.ts +51 -0
  196. package/dist/prompts/library.d.ts.map +1 -0
  197. package/dist/prompts/library.js +65 -0
  198. package/dist/prompts/library.js.map +1 -0
  199. package/dist/prompts/templates.d.ts +44 -0
  200. package/dist/prompts/templates.d.ts.map +1 -0
  201. package/dist/prompts/templates.js +97 -0
  202. package/dist/prompts/templates.js.map +1 -0
  203. package/dist/queue/jobPersistence.d.ts +46 -0
  204. package/dist/queue/jobPersistence.d.ts.map +1 -0
  205. package/dist/queue/jobPersistence.js +158 -0
  206. package/dist/queue/jobPersistence.js.map +1 -0
  207. package/dist/queue/jobQueue.d.ts +116 -0
  208. package/dist/queue/jobQueue.d.ts.map +1 -0
  209. package/dist/queue/jobQueue.js +275 -0
  210. package/dist/queue/jobQueue.js.map +1 -0
  211. package/dist/queue/validationJob.d.ts +69 -0
  212. package/dist/queue/validationJob.d.ts.map +1 -0
  213. package/dist/queue/validationJob.js +435 -0
  214. package/dist/queue/validationJob.js.map +1 -0
  215. package/dist/resources/index.d.ts +15 -0
  216. package/dist/resources/index.d.ts.map +1 -0
  217. package/dist/resources/index.js +328 -0
  218. package/dist/resources/index.js.map +1 -0
  219. package/dist/resources/validationReportStore.d.ts +170 -0
  220. package/dist/resources/validationReportStore.d.ts.map +1 -0
  221. package/dist/resources/validationReportStore.js +515 -0
  222. package/dist/resources/validationReportStore.js.map +1 -0
  223. package/dist/server.d.ts +12 -0
  224. package/dist/server.d.ts.map +1 -0
  225. package/dist/server.js +102 -0
  226. package/dist/server.js.map +1 -0
  227. package/dist/tools/asyncValidation.d.ts +19 -0
  228. package/dist/tools/asyncValidation.d.ts.map +1 -0
  229. package/dist/tools/asyncValidation.js +346 -0
  230. package/dist/tools/asyncValidation.js.map +1 -0
  231. package/dist/tools/buildContext.d.ts +17 -0
  232. package/dist/tools/buildContext.d.ts.map +1 -0
  233. package/dist/tools/buildContext.js +188 -0
  234. package/dist/tools/buildContext.js.map +1 -0
  235. package/dist/tools/getDependencyGraph.d.ts +16 -0
  236. package/dist/tools/getDependencyGraph.d.ts.map +1 -0
  237. package/dist/tools/getDependencyGraph.js +436 -0
  238. package/dist/tools/getDependencyGraph.js.map +1 -0
  239. package/dist/tools/incrementalValidation.d.ts +71 -0
  240. package/dist/tools/incrementalValidation.d.ts.map +1 -0
  241. package/dist/tools/incrementalValidation.js +203 -0
  242. package/dist/tools/incrementalValidation.js.map +1 -0
  243. package/dist/tools/index.d.ts +24 -0
  244. package/dist/tools/index.d.ts.map +1 -0
  245. package/dist/tools/index.js +106 -0
  246. package/dist/tools/index.js.map +1 -0
  247. package/dist/tools/validateCode.d.ts +17 -0
  248. package/dist/tools/validateCode.d.ts.map +1 -0
  249. package/dist/tools/validateCode.js +368 -0
  250. package/dist/tools/validateCode.js.map +1 -0
  251. package/dist/tools/validateCodeLite.d.ts +2 -0
  252. package/dist/tools/validateCodeLite.d.ts.map +1 -0
  253. package/dist/tools/validateCodeLite.js +2 -0
  254. package/dist/tools/validateCodeLite.js.map +1 -0
  255. package/dist/tools/validation/builtins.d.ts +92 -0
  256. package/dist/tools/validation/builtins.d.ts.map +1 -0
  257. package/dist/tools/validation/builtins.js +2184 -0
  258. package/dist/tools/validation/builtins.js.map +1 -0
  259. package/dist/tools/validation/contextualNaming.d.ts +99 -0
  260. package/dist/tools/validation/contextualNaming.d.ts.map +1 -0
  261. package/dist/tools/validation/contextualNaming.js +959 -0
  262. package/dist/tools/validation/contextualNaming.js.map +1 -0
  263. package/dist/tools/validation/deadCode.d.ts +115 -0
  264. package/dist/tools/validation/deadCode.d.ts.map +1 -0
  265. package/dist/tools/validation/deadCode.js +861 -0
  266. package/dist/tools/validation/deadCode.js.map +1 -0
  267. package/dist/tools/validation/extractors/index.d.ts +131 -0
  268. package/dist/tools/validation/extractors/index.d.ts.map +1 -0
  269. package/dist/tools/validation/extractors/index.js +233 -0
  270. package/dist/tools/validation/extractors/index.js.map +1 -0
  271. package/dist/tools/validation/extractors/javascript.d.ts +73 -0
  272. package/dist/tools/validation/extractors/javascript.d.ts.map +1 -0
  273. package/dist/tools/validation/extractors/javascript.js +1841 -0
  274. package/dist/tools/validation/extractors/javascript.js.map +1 -0
  275. package/dist/tools/validation/extractors/python.d.ts +93 -0
  276. package/dist/tools/validation/extractors/python.d.ts.map +1 -0
  277. package/dist/tools/validation/extractors/python.js +799 -0
  278. package/dist/tools/validation/extractors/python.js.map +1 -0
  279. package/dist/tools/validation/manifest.d.ts +45 -0
  280. package/dist/tools/validation/manifest.d.ts.map +1 -0
  281. package/dist/tools/validation/manifest.js +719 -0
  282. package/dist/tools/validation/manifest.js.map +1 -0
  283. package/dist/tools/validation/parser.d.ts +58 -0
  284. package/dist/tools/validation/parser.d.ts.map +1 -0
  285. package/dist/tools/validation/parser.js +232 -0
  286. package/dist/tools/validation/parser.js.map +1 -0
  287. package/dist/tools/validation/registry.d.ts +15 -0
  288. package/dist/tools/validation/registry.d.ts.map +1 -0
  289. package/dist/tools/validation/registry.js +169 -0
  290. package/dist/tools/validation/registry.js.map +1 -0
  291. package/dist/tools/validation/scoring.d.ts +54 -0
  292. package/dist/tools/validation/scoring.d.ts.map +1 -0
  293. package/dist/tools/validation/scoring.js +242 -0
  294. package/dist/tools/validation/scoring.js.map +1 -0
  295. package/dist/tools/validation/types.d.ts +120 -0
  296. package/dist/tools/validation/types.d.ts.map +1 -0
  297. package/dist/tools/validation/types.js +11 -0
  298. package/dist/tools/validation/types.js.map +1 -0
  299. package/dist/tools/validation/unusedLocals.d.ts +36 -0
  300. package/dist/tools/validation/unusedLocals.d.ts.map +1 -0
  301. package/dist/tools/validation/unusedLocals.js +333 -0
  302. package/dist/tools/validation/unusedLocals.js.map +1 -0
  303. package/dist/tools/validation/validation.d.ts +98 -0
  304. package/dist/tools/validation/validation.d.ts.map +1 -0
  305. package/dist/tools/validation/validation.js +1837 -0
  306. package/dist/tools/validation/validation.js.map +1 -0
  307. package/dist/types/codeGraph.d.ts +163 -0
  308. package/dist/types/codeGraph.d.ts.map +1 -0
  309. package/dist/types/codeGraph.js +9 -0
  310. package/dist/types/codeGraph.js.map +1 -0
  311. package/dist/types/symbolGraph.d.ts +68 -0
  312. package/dist/types/symbolGraph.d.ts.map +1 -0
  313. package/dist/types/symbolGraph.js +10 -0
  314. package/dist/types/symbolGraph.js.map +1 -0
  315. package/dist/types/tools.d.ts +43 -0
  316. package/dist/types/tools.d.ts.map +1 -0
  317. package/dist/types/tools.js +7 -0
  318. package/dist/types/tools.js.map +1 -0
  319. package/dist/utils/fileFilter.d.ts +37 -0
  320. package/dist/utils/fileFilter.d.ts.map +1 -0
  321. package/dist/utils/fileFilter.js +91 -0
  322. package/dist/utils/fileFilter.js.map +1 -0
  323. package/dist/utils/gitUtils.d.ts +28 -0
  324. package/dist/utils/gitUtils.d.ts.map +1 -0
  325. package/dist/utils/gitUtils.js +81 -0
  326. package/dist/utils/gitUtils.js.map +1 -0
  327. package/dist/utils/logger.d.ts +15 -0
  328. package/dist/utils/logger.d.ts.map +1 -0
  329. package/dist/utils/logger.js +38 -0
  330. package/dist/utils/logger.js.map +1 -0
  331. package/dist/utils/serialization.d.ts +25 -0
  332. package/dist/utils/serialization.d.ts.map +1 -0
  333. package/dist/utils/serialization.js +53 -0
  334. package/dist/utils/serialization.js.map +1 -0
  335. package/package.json +90 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treeSitterParser.js","sourceRoot":"","sources":["../../../src/analyzers/parsers/treeSitterParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Relevance Scorer
3
+ *
4
+ * Scores symbols by relevance to the current validation context.
5
+ * Inspired by Augment Code's "helpfulness over relevance" approach.
6
+ *
7
+ * Uses multiple signals:
8
+ * - Import relationships (what's explicitly imported)
9
+ * - Intent-based context (recently edited symbols) - NEW
10
+ * - Co-occurrence patterns (symbols often used together)
11
+ * - Usage frequency (popular symbols)
12
+ * - File proximity (symbols from nearby files)
13
+ *
14
+ * @format
15
+ */
16
+ import { ProjectContext } from "../context/projectContext.js";
17
+ import { type LineageContext } from "../context/contextLineage.js";
18
+ export interface RelevanceContext {
19
+ importedSymbols?: string[];
20
+ currentFile?: string;
21
+ recentFiles?: string[];
22
+ lineageContext?: LineageContext | null;
23
+ }
24
+ export interface ScoredSymbol {
25
+ symbol: string;
26
+ score: number;
27
+ reasons: string[];
28
+ }
29
+ /**
30
+ * Score all symbols by relevance to the current context
31
+ * Returns symbols sorted by relevance (highest first)
32
+ */
33
+ export declare function scoreSymbolRelevance(projectContext: ProjectContext, relevanceContext: RelevanceContext, maxResults?: number): ScoredSymbol[];
34
+ /**
35
+ * Filter symbols to only the most relevant ones
36
+ * This is the main API for validation to use
37
+ */
38
+ export declare function getRelevantSymbolsForValidation(projectContext: ProjectContext, relevanceContext: RelevanceContext, minScore?: number, maxResults?: number): string[];
39
+ /**
40
+ * Get detailed relevance information for debugging/logging
41
+ */
42
+ export declare function explainRelevance(projectContext: ProjectContext, relevanceContext: RelevanceContext, topN?: number): string;
43
+ //# sourceMappingURL=relevanceScorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relevanceScorer.d.ts","sourceRoot":"","sources":["../../src/analyzers/relevanceScorer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAK9D,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,gBAAgB;IAE/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAGvB,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,GAAE,MAAY,GACvB,YAAY,EAAE,CAuHhB;AAsFD;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,GAAE,MAAY,EACtB,UAAU,GAAE,MAAY,GACvB,MAAM,EAAE,CAkBV;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,GAAE,MAAW,GAChB,MAAM,CAaR"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * Relevance Scorer
3
+ *
4
+ * Scores symbols by relevance to the current validation context.
5
+ * Inspired by Augment Code's "helpfulness over relevance" approach.
6
+ *
7
+ * Uses multiple signals:
8
+ * - Import relationships (what's explicitly imported)
9
+ * - Intent-based context (recently edited symbols) - NEW
10
+ * - Co-occurrence patterns (symbols often used together)
11
+ * - Usage frequency (popular symbols)
12
+ * - File proximity (symbols from nearby files)
13
+ *
14
+ * @format
15
+ */
16
+ import { getRelevantSymbols } from "./symbolGraph.js";
17
+ import { logger } from "../utils/logger.js";
18
+ import { intentTracker } from "../context/intentTracker.js";
19
+ import { contextLineage, } from "../context/contextLineage.js";
20
+ /**
21
+ * Score all symbols by relevance to the current context
22
+ * Returns symbols sorted by relevance (highest first)
23
+ */
24
+ export function scoreSymbolRelevance(projectContext, relevanceContext, maxResults = 200) {
25
+ const startTime = Date.now();
26
+ const scores = new Map();
27
+ const { importedSymbols = [], currentFile, recentFiles = [], lineageContext, } = relevanceContext;
28
+ const symbolGraph = projectContext.symbolGraph;
29
+ if (!symbolGraph) {
30
+ logger.warn("Symbol graph not available, falling back to all symbols");
31
+ return getAllSymbolsWithBasicScoring(projectContext, maxResults);
32
+ }
33
+ // Signal 1: Explicitly imported symbols (highest priority)
34
+ for (const imported of importedSymbols) {
35
+ addScore(scores, imported, 1.0, "Explicitly imported");
36
+ }
37
+ // Signal 2: Symbols related to imports (via symbol graph)
38
+ const relatedToImports = getRelevantSymbols(symbolGraph, importedSymbols, 50);
39
+ for (const symbol of relatedToImports) {
40
+ addScore(scores, symbol, 0.8, "Related to imports");
41
+ }
42
+ // Signal 3: Symbols from current file
43
+ if (currentFile && projectContext.files.has(currentFile)) {
44
+ const fileInfo = projectContext.files.get(currentFile);
45
+ for (const symbol of fileInfo.symbols) {
46
+ addScore(scores, symbol.name, 0.7, "From current file");
47
+ }
48
+ }
49
+ // Signal 4: Intent-based - Recently edited files & symbols (NEW - merged)
50
+ const intent = intentTracker.getCurrentIntent();
51
+ const allRecentFiles = new Set([...recentFiles, ...intent.recentFiles]);
52
+ // Boost symbols from recently edited files (high priority)
53
+ for (const filePath of allRecentFiles) {
54
+ if (projectContext.files.has(filePath)) {
55
+ const fileInfo = projectContext.files.get(filePath);
56
+ for (const symbol of fileInfo.symbols) {
57
+ addScore(scores, symbol.name, 0.9, "Recently edited");
58
+ }
59
+ }
60
+ }
61
+ // Boost specific recently edited symbols
62
+ for (const symbol of intent.recentSymbols) {
63
+ addScore(scores, symbol, 0.6, "Recently edited");
64
+ }
65
+ // Signal 5: Git lineage - Recently modified files (NEW)
66
+ if (lineageContext) {
67
+ // Symbols from recently modified files
68
+ for (const filePath of lineageContext.recentlyModifiedFiles.slice(0, 10)) {
69
+ if (projectContext.files.has(filePath)) {
70
+ const fileInfo = projectContext.files.get(filePath);
71
+ const lineageScore = contextLineage.getFileLineageScore(filePath, lineageContext);
72
+ for (const symbol of fileInfo.symbols) {
73
+ addScore(scores, symbol.name, lineageScore * 0.5, "Recently modified (git)");
74
+ }
75
+ }
76
+ }
77
+ // Symbols from hotspot files (frequently changed)
78
+ for (const filePath of lineageContext.hotspotFiles.slice(0, 5)) {
79
+ if (projectContext.files.has(filePath)) {
80
+ const fileInfo = projectContext.files.get(filePath);
81
+ for (const symbol of fileInfo.symbols) {
82
+ addScore(scores, symbol.name, 0.35, "Hotspot file");
83
+ }
84
+ }
85
+ }
86
+ }
87
+ // Signal 7: Frequently used symbols (global popularity)
88
+ const popularSymbols = getPopularSymbols(symbolGraph, 100);
89
+ for (const { symbol, usageCount } of popularSymbols) {
90
+ const popularityScore = Math.min(0.4, usageCount / 100);
91
+ addScore(scores, symbol, popularityScore, `Popular (${usageCount} uses)`);
92
+ }
93
+ // Signal 8: Symbols from files that import similar things
94
+ const similarFiles = findSimilarFiles(projectContext, importedSymbols);
95
+ for (const filePath of similarFiles.slice(0, 5)) {
96
+ const fileInfo = projectContext.files.get(filePath);
97
+ for (const symbol of fileInfo.symbols) {
98
+ addScore(scores, symbol.name, 0.3, "From similar file");
99
+ }
100
+ }
101
+ // Convert to sorted array
102
+ const scored = Array.from(scores.entries())
103
+ .map(([symbol, { score, reasons }]) => ({
104
+ symbol,
105
+ score,
106
+ reasons: Array.from(reasons),
107
+ }))
108
+ .sort((a, b) => b.score - a.score)
109
+ .slice(0, maxResults);
110
+ const elapsed = Date.now() - startTime;
111
+ logger.debug(`Scored ${scores.size} symbols in ${elapsed}ms, returning top ${scored.length}`);
112
+ return scored;
113
+ }
114
+ /**
115
+ * Add score to a symbol with a reason
116
+ */
117
+ function addScore(scores, symbol, scoreToAdd, reason) {
118
+ if (!scores.has(symbol)) {
119
+ scores.set(symbol, { score: 0, reasons: new Set() });
120
+ }
121
+ const entry = scores.get(symbol);
122
+ entry.score += scoreToAdd;
123
+ entry.reasons.add(reason);
124
+ }
125
+ /**
126
+ * Get most popular symbols by usage count
127
+ */
128
+ function getPopularSymbols(symbolGraph, limit) {
129
+ return Array.from(symbolGraph.usage.entries())
130
+ .map(([symbol, usage]) => ({ symbol, usageCount: usage.usageCount }))
131
+ .sort((a, b) => b.usageCount - a.usageCount)
132
+ .slice(0, limit);
133
+ }
134
+ /**
135
+ * Find files that import similar symbols (similar context)
136
+ */
137
+ function findSimilarFiles(projectContext, importedSymbols) {
138
+ const fileScores = new Map();
139
+ for (const [filePath, fileInfo] of projectContext.files) {
140
+ let matchCount = 0;
141
+ // Count how many of the imported symbols this file also imports
142
+ for (const imp of fileInfo.imports) {
143
+ const fileImports = [...imp.namedImports, imp.defaultImport].filter(Boolean);
144
+ for (const imported of importedSymbols) {
145
+ if (fileImports.includes(imported)) {
146
+ matchCount++;
147
+ }
148
+ }
149
+ }
150
+ if (matchCount > 0) {
151
+ fileScores.set(filePath, matchCount);
152
+ }
153
+ }
154
+ return Array.from(fileScores.entries())
155
+ .sort((a, b) => b[1] - a[1])
156
+ .map(([filePath]) => filePath);
157
+ }
158
+ /**
159
+ * Fallback: Get all symbols with basic scoring when symbol graph unavailable
160
+ */
161
+ function getAllSymbolsWithBasicScoring(projectContext, maxResults) {
162
+ const scored = [];
163
+ for (const [symbol, definitions] of projectContext.symbolIndex) {
164
+ scored.push({
165
+ symbol,
166
+ score: 0.5, // Neutral score
167
+ reasons: [`Defined in ${definitions.length} file(s)`],
168
+ });
169
+ }
170
+ return scored.slice(0, maxResults);
171
+ }
172
+ /**
173
+ * Filter symbols to only the most relevant ones
174
+ * This is the main API for validation to use
175
+ */
176
+ export function getRelevantSymbolsForValidation(projectContext, relevanceContext, minScore = 0.3, maxResults = 200) {
177
+ const scored = scoreSymbolRelevance(projectContext, relevanceContext, maxResults * 2);
178
+ // Filter by minimum score and limit results
179
+ const relevant = scored
180
+ .filter((s) => s.score >= minScore)
181
+ .slice(0, maxResults)
182
+ .map((s) => s.symbol);
183
+ logger.debug(`Filtered to ${relevant.length} relevant symbols (min score: ${minScore})`);
184
+ return relevant;
185
+ }
186
+ /**
187
+ * Get detailed relevance information for debugging/logging
188
+ */
189
+ export function explainRelevance(projectContext, relevanceContext, topN = 10) {
190
+ const scored = scoreSymbolRelevance(projectContext, relevanceContext, topN);
191
+ const lines = [`Top ${topN} relevant symbols:`, ""];
192
+ for (const { symbol, score, reasons } of scored) {
193
+ lines.push(` ${symbol} (score: ${score.toFixed(2)})`);
194
+ for (const reason of reasons) {
195
+ lines.push(` - ${reason}`);
196
+ }
197
+ }
198
+ return lines.join("\n");
199
+ }
200
+ //# sourceMappingURL=relevanceScorer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relevanceScorer.js","sourceRoot":"","sources":["../../src/analyzers/relevanceScorer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Standard Library Registry
3
+ * Maintains lists of standard library functions, classes, and modules
4
+ * to prevent false positives when detecting hallucinations
5
+ */
6
+ export declare const PYTHON_BUILTINS: Set<string>;
7
+ export declare const PYTHON_STDLIB: Record<string, string[]>;
8
+ export declare const PYTHON_THIRD_PARTY: Record<string, string[]>;
9
+ export declare const JS_BUILTINS: Set<string>;
10
+ export declare const JS_STDLIB: Record<string, string[]>;
11
+ export declare const JS_THIRD_PARTY: Record<string, string[]>;
12
+ export declare const JS_KEYWORDS: Set<string>;
13
+ export declare const PYTHON_KEYWORDS: Set<string>;
14
+ /**
15
+ * Check if a function/class is from a standard library
16
+ */
17
+ export declare function isStandardLibrary(name: string, language: string): boolean;
18
+ /**
19
+ * Get the module/package for a standard library function
20
+ */
21
+ export declare function getStandardLibraryModule(name: string, language: string): string | null;
22
+ //# sourceMappingURL=standardLibrary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standardLibrary.d.ts","sourceRoot":"","sources":["../../src/analyzers/standardLibrary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,eAAO,MAAM,eAAe,aAe1B,CAAC;AAGH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CA+BlD,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAuBvD,CAAC;AAGF,eAAO,MAAM,WAAW,aActB,CAAC;AAGH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAW9C,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAmBnD,CAAC;AAGF,eAAO,MAAM,WAAW,aAMtB,CAAC;AAGH,eAAO,MAAM,eAAe,aAK1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAoCzE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkBtF"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Standard Library Registry
3
+ * Maintains lists of standard library functions, classes, and modules
4
+ * to prevent false positives when detecting hallucinations
5
+ */
6
+ // Python built-in functions
7
+ export const PYTHON_BUILTINS = new Set([
8
+ // Built-in functions
9
+ 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes',
10
+ 'callable', 'chr', 'classmethod', 'compile', 'complex', 'delattr', 'dict', 'dir',
11
+ 'divmod', 'enumerate', 'eval', 'exec', 'filter', 'float', 'format', 'frozenset',
12
+ 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int',
13
+ 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals', 'map', 'max',
14
+ 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print',
15
+ 'property', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',
16
+ 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip',
17
+ '__import__',
18
+ // Common exceptions
19
+ 'Exception', 'ValueError', 'TypeError', 'KeyError', 'AttributeError', 'IndexError',
20
+ 'RuntimeError', 'NotImplementedError', 'StopIteration', 'ImportError', 'JSONDecodeError',
21
+ ]);
22
+ // Python standard library modules and their common functions
23
+ export const PYTHON_STDLIB = {
24
+ 'os': ['getenv', 'environ', 'path', 'getcwd', 'chdir', 'listdir', 'mkdir', 'remove', 'rename', 'system', 'walk'],
25
+ 'os.path': ['join', 'exists', 'isfile', 'isdir', 'basename', 'dirname', 'abspath', 'split'],
26
+ 'sys': ['argv', 'exit', 'path', 'version', 'platform', 'stdout', 'stderr', 'stdin'],
27
+ 'json': ['loads', 'dumps', 'load', 'dump', 'JSONDecodeError'],
28
+ 'datetime': ['datetime', 'date', 'time', 'timedelta', 'timezone', 'utcnow', 'now', 'strptime', 'strftime'],
29
+ 'time': ['sleep', 'time', 'strftime', 'strptime'],
30
+ 're': ['match', 'search', 'findall', 'sub', 'compile', 'split'],
31
+ 'math': ['sqrt', 'pow', 'floor', 'ceil', 'sin', 'cos', 'tan', 'log', 'exp'],
32
+ 'random': ['random', 'randint', 'choice', 'shuffle', 'sample'],
33
+ 'collections': ['defaultdict', 'Counter', 'OrderedDict', 'namedtuple', 'deque'],
34
+ 'itertools': ['chain', 'combinations', 'permutations', 'product', 'cycle'],
35
+ 'functools': ['wraps', 'lru_cache', 'partial', 'reduce'],
36
+ 'pathlib': ['Path', 'PurePath'],
37
+ 'typing': ['List', 'Dict', 'Set', 'Tuple', 'Optional', 'Union', 'Any', 'Callable'],
38
+ 'asyncio': ['run', 'create_task', 'gather', 'sleep', 'wait', 'Queue'],
39
+ 'logging': ['getLogger', 'info', 'debug', 'warning', 'error', 'critical'],
40
+ 'unittest': ['TestCase', 'main', 'mock', 'patch'],
41
+ 'pytest': ['fixture', 'mark', 'raises', 'skip'],
42
+ 'requests': ['get', 'post', 'put', 'delete', 'patch', 'Session'],
43
+ 'urllib': ['request', 'parse', 'error'],
44
+ 'hashlib': ['md5', 'sha1', 'sha256', 'sha512', 'new'],
45
+ 'base64': ['b64encode', 'b64decode'],
46
+ 'pickle': ['dump', 'load', 'dumps', 'loads'],
47
+ 'csv': ['reader', 'writer', 'DictReader', 'DictWriter'],
48
+ 'subprocess': ['run', 'Popen', 'call', 'check_output'],
49
+ 'threading': ['Thread', 'Lock', 'Event', 'Semaphore'],
50
+ 'multiprocessing': ['Process', 'Pool', 'Queue', 'Manager'],
51
+ 'traceback': ['format_exc', 'print_exc', 'format_stack', 'print_stack'],
52
+ 'hmac': ['new', 'compare_digest'],
53
+ 'uuid': ['UUID', 'uuid4', 'uuid1', 'uuid3', 'uuid5'],
54
+ };
55
+ // Python popular third-party libraries
56
+ export const PYTHON_THIRD_PARTY = {
57
+ 'fastapi': ['FastAPI', 'APIRouter', 'Depends', 'HTTPException', 'status', 'Request', 'Response', 'File', 'UploadFile', 'Form', 'Query', 'Path', 'Body', 'Header'],
58
+ 'fastapi.security': ['OAuth2PasswordBearer', 'OAuth2PasswordRequestForm', 'HTTPBearer', 'HTTPAuthorizationCredentials'],
59
+ 'pydantic': ['BaseModel', 'Field', 'validator', 'root_validator', 'ValidationError'],
60
+ 'sqlalchemy': ['create_engine', 'Column', 'Integer', 'String', 'Boolean', 'DateTime', 'ForeignKey', 'relationship', 'Table', 'MetaData'],
61
+ 'sqlalchemy.orm': ['Session', 'sessionmaker', 'declarative_base', 'relationship', 'Query', 'select', 'where', 'order_by', 'scalars', 'execute', 'add', 'commit', 'refresh', 'query'],
62
+ 'sqlalchemy.ext.declarative': ['declarative_base'],
63
+ 'flask': ['Flask', 'request', 'jsonify', 'render_template', 'redirect', 'url_for', 'session', 'abort'],
64
+ 'django.db': ['models', 'connection', 'transaction'],
65
+ 'django.db.models': ['Model', 'CharField', 'IntegerField', 'DateTimeField', 'ForeignKey', 'ManyToManyField', 'Q', 'F'],
66
+ 'django.http': ['HttpResponse', 'JsonResponse', 'HttpRequest', 'HttpResponseRedirect'],
67
+ 'django.shortcuts': ['render', 'redirect', 'get_object_or_404'],
68
+ 'django.contrib.auth': ['authenticate', 'login', 'logout', 'get_user_model'],
69
+ 'pandas': ['DataFrame', 'Series', 'read_csv', 'read_excel', 'read_json'],
70
+ 'numpy': ['array', 'zeros', 'ones', 'arange', 'linspace', 'random'],
71
+ 'dotenv': ['load_dotenv', 'find_dotenv', 'dotenv_values'],
72
+ 'jwt': ['encode', 'decode', 'PyJWT'],
73
+ 'bcrypt': ['hashpw', 'checkpw', 'gensalt'],
74
+ 'redis': ['Redis', 'StrictRedis'],
75
+ 'celery': ['Celery', 'task', 'shared_task'],
76
+ 'pytest': ['fixture', 'mark', 'raises', 'skip', 'parametrize'],
77
+ 'httpx': ['AsyncClient', 'Client', 'get', 'post', 'Timeout', 'Limits'],
78
+ 'openai': ['OpenAI', 'ChatCompletion', 'Completion'],
79
+ };
80
+ // JavaScript/TypeScript built-in objects and functions
81
+ export const JS_BUILTINS = new Set([
82
+ // Global objects
83
+ 'Object', 'Array', 'String', 'Number', 'Boolean', 'Symbol', 'BigInt',
84
+ 'Math', 'Date', 'RegExp', 'Error', 'Map', 'Set', 'WeakMap', 'WeakSet',
85
+ 'Promise', 'Proxy', 'Reflect', 'JSON', 'Intl',
86
+ // Global functions
87
+ 'parseInt', 'parseFloat', 'isNaN', 'isFinite', 'encodeURI', 'decodeURI',
88
+ 'encodeURIComponent', 'decodeURIComponent', 'eval', 'setTimeout', 'setInterval',
89
+ 'clearTimeout', 'clearInterval', 'console',
90
+ // Common methods
91
+ 'toString', 'valueOf', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable',
92
+ 'toLocaleString', 'constructor',
93
+ ]);
94
+ // JavaScript/TypeScript standard library
95
+ export const JS_STDLIB = {
96
+ 'fs': ['readFile', 'writeFile', 'readFileSync', 'writeFileSync', 'existsSync', 'mkdirSync', 'readdirSync'],
97
+ 'path': ['join', 'resolve', 'dirname', 'basename', 'extname', 'normalize'],
98
+ 'http': ['createServer', 'request', 'get'],
99
+ 'https': ['createServer', 'request', 'get'],
100
+ 'crypto': ['createHash', 'randomBytes', 'createCipheriv', 'createDecipheriv'],
101
+ 'util': ['promisify', 'inspect', 'format', 'inherits'],
102
+ 'events': ['EventEmitter'],
103
+ 'stream': ['Readable', 'Writable', 'Transform', 'pipeline'],
104
+ 'buffer': ['Buffer'],
105
+ 'process': ['env', 'argv', 'exit', 'cwd', 'nextTick'],
106
+ };
107
+ // JavaScript/TypeScript popular third-party libraries
108
+ export const JS_THIRD_PARTY = {
109
+ 'react': ['useState', 'useEffect', 'useContext', 'useReducer', 'useCallback', 'useMemo', 'useRef', 'useImperativeHandle', 'useLayoutEffect', 'useDebugValue', 'Component', 'PureComponent', 'createElement', 'Fragment', 'StrictMode', 'Suspense', 'lazy'],
110
+ 'react-dom': ['render', 'hydrate', 'createPortal', 'findDOMNode', 'unmountComponentAtNode'],
111
+ 'express': ['Router', 'json', 'urlencoded', 'static', 'use', 'get', 'post', 'put', 'delete', 'patch'],
112
+ 'axios': ['get', 'post', 'put', 'delete', 'patch', 'request', 'create'],
113
+ 'lodash': ['map', 'filter', 'reduce', 'find', 'findIndex', 'forEach', 'some', 'every', 'debounce', 'throttle', 'cloneDeep', 'merge'],
114
+ 'moment': ['format', 'parse', 'add', 'subtract', 'diff', 'isBefore', 'isAfter'],
115
+ 'dayjs': ['format', 'parse', 'add', 'subtract', 'diff', 'isBefore', 'isAfter'],
116
+ 'joi': ['object', 'string', 'number', 'boolean', 'array', 'validate'],
117
+ 'yup': ['object', 'string', 'number', 'boolean', 'array', 'validate'],
118
+ 'bcrypt': ['hash', 'compare', 'genSalt', 'hashSync', 'compareSync'],
119
+ 'jsonwebtoken': ['sign', 'verify', 'decode'],
120
+ 'mongoose': ['Schema', 'model', 'connect', 'connection'],
121
+ 'sequelize': ['Sequelize', 'Model', 'DataTypes'],
122
+ 'typeorm': ['Entity', 'Column', 'PrimaryGeneratedColumn', 'ManyToOne', 'OneToMany', 'ManyToMany', 'CreateDateColumn', 'UpdateDateColumn'],
123
+ 'next': ['useRouter', 'usePathname', 'useSearchParams', 'Link', 'Image', 'Head'],
124
+ 'vue': ['ref', 'reactive', 'computed', 'watch', 'onMounted', 'onUnmounted', 'defineComponent'],
125
+ 'angular': ['Component', 'Injectable', 'NgModule', 'Input', 'Output', 'EventEmitter'],
126
+ 'react-query': ['useQuery', 'useMutation', 'useQueryClient', 'QueryClient', 'QueryClientProvider'],
127
+ };
128
+ // JavaScript/TypeScript keywords (not functions)
129
+ export const JS_KEYWORDS = new Set([
130
+ 'async', 'await', 'break', 'case', 'catch', 'class', 'const', 'continue',
131
+ 'debugger', 'default', 'delete', 'do', 'else', 'export', 'extends', 'finally',
132
+ 'for', 'function', 'if', 'import', 'in', 'instanceof', 'let', 'new', 'return',
133
+ 'static', 'super', 'switch', 'this', 'throw', 'try', 'typeof', 'var', 'void',
134
+ 'while', 'with', 'yield',
135
+ ]);
136
+ // Python keywords (not functions)
137
+ export const PYTHON_KEYWORDS = new Set([
138
+ 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def',
139
+ 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if',
140
+ 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',
141
+ 'return', 'try', 'while', 'with', 'yield',
142
+ ]);
143
+ /**
144
+ * Check if a function/class is from a standard library
145
+ */
146
+ export function isStandardLibrary(name, language) {
147
+ if (language === 'python') {
148
+ // Check built-ins
149
+ if (PYTHON_BUILTINS.has(name))
150
+ return true;
151
+ // Check keywords
152
+ if (PYTHON_KEYWORDS.has(name))
153
+ return true;
154
+ // Check standard library
155
+ for (const funcs of Object.values(PYTHON_STDLIB)) {
156
+ if (funcs.includes(name))
157
+ return true;
158
+ }
159
+ // Check popular third-party
160
+ for (const funcs of Object.values(PYTHON_THIRD_PARTY)) {
161
+ if (funcs.includes(name))
162
+ return true;
163
+ }
164
+ }
165
+ else if (language === 'javascript' || language === 'typescript') {
166
+ // Check built-ins
167
+ if (JS_BUILTINS.has(name))
168
+ return true;
169
+ // Check keywords
170
+ if (JS_KEYWORDS.has(name))
171
+ return true;
172
+ // Check standard library
173
+ for (const funcs of Object.values(JS_STDLIB)) {
174
+ if (funcs.includes(name))
175
+ return true;
176
+ }
177
+ // Check popular third-party
178
+ for (const funcs of Object.values(JS_THIRD_PARTY)) {
179
+ if (funcs.includes(name))
180
+ return true;
181
+ }
182
+ }
183
+ return false;
184
+ }
185
+ /**
186
+ * Get the module/package for a standard library function
187
+ */
188
+ export function getStandardLibraryModule(name, language) {
189
+ if (language === 'python') {
190
+ for (const [module, funcs] of Object.entries(PYTHON_STDLIB)) {
191
+ if (funcs.includes(name))
192
+ return module;
193
+ }
194
+ for (const [module, funcs] of Object.entries(PYTHON_THIRD_PARTY)) {
195
+ if (funcs.includes(name))
196
+ return module;
197
+ }
198
+ }
199
+ else if (language === 'javascript' || language === 'typescript') {
200
+ for (const [module, funcs] of Object.entries(JS_STDLIB)) {
201
+ if (funcs.includes(name))
202
+ return module;
203
+ }
204
+ for (const [module, funcs] of Object.entries(JS_THIRD_PARTY)) {
205
+ if (funcs.includes(name))
206
+ return module;
207
+ }
208
+ }
209
+ return null;
210
+ }
211
+ //# sourceMappingURL=standardLibrary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standardLibrary.js","sourceRoot":"","sources":["../../src/analyzers/standardLibrary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Symbol Graph Builder
3
+ *
4
+ * Builds symbol-level dependency graphs to understand relationships between
5
+ * functions, classes, and other symbols across the codebase.
6
+ *
7
+ * Inspired by Augment Code's semantic dependency analysis.
8
+ *
9
+ * @format
10
+ */
11
+ import { ProjectContext } from "../context/projectContext.js";
12
+ import { SymbolGraph, SymbolUsage, SymbolGraphOptions, RelatedSymbols } from "../types/symbolGraph.js";
13
+ /**
14
+ * Build symbol-level dependency graph from project context
15
+ */
16
+ export declare function buildSymbolGraph(context: ProjectContext, options?: SymbolGraphOptions): Promise<SymbolGraph>;
17
+ /**
18
+ * Find symbols related to a given symbol
19
+ */
20
+ export declare function findRelatedSymbols(graph: SymbolGraph, symbolName: string, maxResults?: number): RelatedSymbols;
21
+ /**
22
+ * Get symbols that are most relevant to a set of imports
23
+ * This is useful for validation - given what's imported, what else is likely needed?
24
+ */
25
+ export declare function getRelevantSymbols(graph: SymbolGraph, importedSymbols: string[], maxResults?: number): string[];
26
+ /**
27
+ * Get usage statistics for a symbol
28
+ */
29
+ export declare function getSymbolUsage(graph: SymbolGraph, symbolName: string): SymbolUsage | null;
30
+ //# sourceMappingURL=symbolGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolGraph.d.ts","sourceRoot":"","sources":["../../src/analyzers/symbolGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAY,MAAM,8BAA8B,CAAC;AAKxE,OAAO,EACL,WAAW,EAEX,WAAW,EACX,kBAAkB,EAClB,cAAc,EAEf,MAAM,yBAAyB,CAAC;AAGjC;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,WAAW,CAAC,CA8CtB;AAoTD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAW,GACtB,cAAc,CAiDhB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,eAAe,EAAE,MAAM,EAAE,EACzB,UAAU,GAAE,MAAW,GACtB,MAAM,EAAE,CAmBV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,MAAM,GACjB,WAAW,GAAG,IAAI,CAEpB"}