@skillsmith/core 0.1.2 → 2.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 (493) hide show
  1. package/README.md +233 -2
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/analysis/CodebaseAnalyzer.d.ts +4 -134
  4. package/dist/src/analysis/CodebaseAnalyzer.d.ts.map +1 -1
  5. package/dist/src/analysis/CodebaseAnalyzer.js +7 -315
  6. package/dist/src/analysis/CodebaseAnalyzer.js.map +1 -1
  7. package/dist/src/analysis/__tests__/incremental.test.d.ts +13 -0
  8. package/dist/src/analysis/__tests__/incremental.test.d.ts.map +1 -0
  9. package/dist/src/analysis/__tests__/incremental.test.js +515 -0
  10. package/dist/src/analysis/__tests__/incremental.test.js.map +1 -0
  11. package/dist/src/analysis/__tests__/integration.test.d.ts +14 -0
  12. package/dist/src/analysis/__tests__/integration.test.d.ts.map +1 -0
  13. package/dist/src/analysis/__tests__/integration.test.js +1059 -0
  14. package/dist/src/analysis/__tests__/integration.test.js.map +1 -0
  15. package/dist/src/analysis/__tests__/metrics.test.d.ts +9 -0
  16. package/dist/src/analysis/__tests__/metrics.test.d.ts.map +1 -0
  17. package/dist/src/analysis/__tests__/metrics.test.js +369 -0
  18. package/dist/src/analysis/__tests__/metrics.test.js.map +1 -0
  19. package/dist/src/analysis/__tests__/performance.test.d.ts +15 -0
  20. package/dist/src/analysis/__tests__/performance.test.d.ts.map +1 -0
  21. package/dist/src/analysis/__tests__/performance.test.js +402 -0
  22. package/dist/src/analysis/__tests__/performance.test.js.map +1 -0
  23. package/dist/src/analysis/adapters/__tests__/go.test.d.ts +12 -0
  24. package/dist/src/analysis/adapters/__tests__/go.test.d.ts.map +1 -0
  25. package/dist/src/analysis/adapters/__tests__/go.test.js +561 -0
  26. package/dist/src/analysis/adapters/__tests__/go.test.js.map +1 -0
  27. package/dist/src/analysis/adapters/__tests__/python.test.d.ts +11 -0
  28. package/dist/src/analysis/adapters/__tests__/python.test.d.ts.map +1 -0
  29. package/dist/src/analysis/adapters/__tests__/python.test.js +669 -0
  30. package/dist/src/analysis/adapters/__tests__/python.test.js.map +1 -0
  31. package/dist/src/analysis/adapters/__tests__/rust.test.d.ts +12 -0
  32. package/dist/src/analysis/adapters/__tests__/rust.test.d.ts.map +1 -0
  33. package/dist/src/analysis/adapters/__tests__/rust.test.js +676 -0
  34. package/dist/src/analysis/adapters/__tests__/rust.test.js.map +1 -0
  35. package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts +14 -0
  36. package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts.map +1 -0
  37. package/dist/src/analysis/adapters/__tests__/typescript.test.js +381 -0
  38. package/dist/src/analysis/adapters/__tests__/typescript.test.js.map +1 -0
  39. package/dist/src/analysis/adapters/base.d.ts +83 -0
  40. package/dist/src/analysis/adapters/base.d.ts.map +1 -0
  41. package/dist/src/analysis/adapters/base.js +40 -0
  42. package/dist/src/analysis/adapters/base.js.map +1 -0
  43. package/dist/src/analysis/adapters/factory.d.ts +150 -0
  44. package/dist/src/analysis/adapters/factory.d.ts.map +1 -0
  45. package/dist/src/analysis/adapters/factory.js +244 -0
  46. package/dist/src/analysis/adapters/factory.js.map +1 -0
  47. package/dist/src/analysis/adapters/go.d.ts +131 -0
  48. package/dist/src/analysis/adapters/go.d.ts.map +1 -0
  49. package/dist/src/analysis/adapters/go.js +414 -0
  50. package/dist/src/analysis/adapters/go.js.map +1 -0
  51. package/dist/src/analysis/adapters/index.d.ts +20 -0
  52. package/dist/src/analysis/adapters/index.d.ts.map +1 -0
  53. package/dist/src/analysis/adapters/index.js +23 -0
  54. package/dist/src/analysis/adapters/index.js.map +1 -0
  55. package/dist/src/analysis/adapters/java.d.ts +154 -0
  56. package/dist/src/analysis/adapters/java.d.ts.map +1 -0
  57. package/dist/src/analysis/adapters/java.js +407 -0
  58. package/dist/src/analysis/adapters/java.js.map +1 -0
  59. package/dist/src/analysis/adapters/python.d.ts +165 -0
  60. package/dist/src/analysis/adapters/python.d.ts.map +1 -0
  61. package/dist/src/analysis/adapters/python.js +475 -0
  62. package/dist/src/analysis/adapters/python.js.map +1 -0
  63. package/dist/src/analysis/adapters/rust.d.ts +116 -0
  64. package/dist/src/analysis/adapters/rust.d.ts.map +1 -0
  65. package/dist/src/analysis/adapters/rust.js +476 -0
  66. package/dist/src/analysis/adapters/rust.js.map +1 -0
  67. package/dist/src/analysis/adapters/typescript.d.ts +68 -0
  68. package/dist/src/analysis/adapters/typescript.d.ts.map +1 -0
  69. package/dist/src/analysis/adapters/typescript.js +79 -0
  70. package/dist/src/analysis/adapters/typescript.js.map +1 -0
  71. package/dist/src/analysis/aggregator.d.ts +193 -0
  72. package/dist/src/analysis/aggregator.d.ts.map +1 -0
  73. package/dist/src/analysis/aggregator.js +283 -0
  74. package/dist/src/analysis/aggregator.js.map +1 -0
  75. package/dist/src/analysis/cache.d.ts +180 -0
  76. package/dist/src/analysis/cache.d.ts.map +1 -0
  77. package/dist/src/analysis/cache.js +279 -0
  78. package/dist/src/analysis/cache.js.map +1 -0
  79. package/dist/src/analysis/file-streamer.d.ts +136 -0
  80. package/dist/src/analysis/file-streamer.d.ts.map +1 -0
  81. package/dist/src/analysis/file-streamer.js +291 -0
  82. package/dist/src/analysis/file-streamer.js.map +1 -0
  83. package/dist/src/analysis/framework-detector.d.ts +47 -0
  84. package/dist/src/analysis/framework-detector.d.ts.map +1 -0
  85. package/dist/src/analysis/framework-detector.js +151 -0
  86. package/dist/src/analysis/framework-detector.js.map +1 -0
  87. package/dist/src/analysis/incremental-parser.d.ts +186 -0
  88. package/dist/src/analysis/incremental-parser.d.ts.map +1 -0
  89. package/dist/src/analysis/incremental-parser.js +291 -0
  90. package/dist/src/analysis/incremental-parser.js.map +1 -0
  91. package/dist/src/analysis/incremental.d.ts +186 -0
  92. package/dist/src/analysis/incremental.d.ts.map +1 -0
  93. package/dist/src/analysis/incremental.js +247 -0
  94. package/dist/src/analysis/incremental.js.map +1 -0
  95. package/dist/src/analysis/index.d.ts +29 -2
  96. package/dist/src/analysis/index.d.ts.map +1 -1
  97. package/dist/src/analysis/index.js +53 -2
  98. package/dist/src/analysis/index.js.map +1 -1
  99. package/dist/src/analysis/language-detector.d.ts +92 -0
  100. package/dist/src/analysis/language-detector.d.ts.map +1 -0
  101. package/dist/src/analysis/language-detector.js +602 -0
  102. package/dist/src/analysis/language-detector.js.map +1 -0
  103. package/dist/src/analysis/memory-monitor.d.ts +199 -0
  104. package/dist/src/analysis/memory-monitor.d.ts.map +1 -0
  105. package/dist/src/analysis/memory-monitor.js +271 -0
  106. package/dist/src/analysis/memory-monitor.js.map +1 -0
  107. package/dist/src/analysis/metrics.d.ts +300 -0
  108. package/dist/src/analysis/metrics.d.ts.map +1 -0
  109. package/dist/src/analysis/metrics.js +537 -0
  110. package/dist/src/analysis/metrics.js.map +1 -0
  111. package/dist/src/analysis/parsers.d.ts +43 -0
  112. package/dist/src/analysis/parsers.d.ts.map +1 -0
  113. package/dist/src/analysis/parsers.js +219 -0
  114. package/dist/src/analysis/parsers.js.map +1 -0
  115. package/dist/src/analysis/router.d.ts +264 -0
  116. package/dist/src/analysis/router.d.ts.map +1 -0
  117. package/dist/src/analysis/router.js +398 -0
  118. package/dist/src/analysis/router.js.map +1 -0
  119. package/dist/src/analysis/tree-cache.d.ts +208 -0
  120. package/dist/src/analysis/tree-cache.d.ts.map +1 -0
  121. package/dist/src/analysis/tree-cache.js +288 -0
  122. package/dist/src/analysis/tree-cache.js.map +1 -0
  123. package/dist/src/analysis/tree-sitter/manager.d.ts +141 -0
  124. package/dist/src/analysis/tree-sitter/manager.d.ts.map +1 -0
  125. package/dist/src/analysis/tree-sitter/manager.js +239 -0
  126. package/dist/src/analysis/tree-sitter/manager.js.map +1 -0
  127. package/dist/src/analysis/types.d.ts +201 -0
  128. package/dist/src/analysis/types.d.ts.map +1 -0
  129. package/dist/src/analysis/types.js +46 -0
  130. package/dist/src/analysis/types.js.map +1 -0
  131. package/dist/src/analysis/worker-pool.d.ts +141 -0
  132. package/dist/src/analysis/worker-pool.d.ts.map +1 -0
  133. package/dist/src/analysis/worker-pool.js +418 -0
  134. package/dist/src/analysis/worker-pool.js.map +1 -0
  135. package/dist/src/analytics/AnalyticsRepository.d.ts.map +1 -1
  136. package/dist/src/analytics/AnalyticsRepository.js +4 -4
  137. package/dist/src/analytics/AnalyticsRepository.js.map +1 -1
  138. package/dist/src/analytics/schema.d.ts +1 -1
  139. package/dist/src/analytics/schema.d.ts.map +1 -1
  140. package/dist/src/analytics/schema.js +72 -0
  141. package/dist/src/analytics/schema.js.map +1 -1
  142. package/dist/src/api/cache.d.ts +131 -0
  143. package/dist/src/api/cache.d.ts.map +1 -0
  144. package/dist/src/api/cache.js +264 -0
  145. package/dist/src/api/cache.js.map +1 -0
  146. package/dist/src/api/client.d.ts +282 -0
  147. package/dist/src/api/client.d.ts.map +1 -0
  148. package/dist/src/api/client.js +417 -0
  149. package/dist/src/api/client.js.map +1 -0
  150. package/dist/src/api/index.d.ts +12 -0
  151. package/dist/src/api/index.d.ts.map +1 -0
  152. package/dist/src/api/index.js +17 -0
  153. package/dist/src/api/index.js.map +1 -0
  154. package/dist/src/api/types.d.ts +251 -0
  155. package/dist/src/api/types.d.ts.map +1 -0
  156. package/dist/src/api/types.js +9 -0
  157. package/dist/src/api/types.js.map +1 -0
  158. package/dist/src/benchmarks/BenchmarkRunner.d.ts +6 -175
  159. package/dist/src/benchmarks/BenchmarkRunner.d.ts.map +1 -1
  160. package/dist/src/benchmarks/BenchmarkRunner.js +6 -123
  161. package/dist/src/benchmarks/BenchmarkRunner.js.map +1 -1
  162. package/dist/src/benchmarks/MemoryProfiler.d.ts +4 -262
  163. package/dist/src/benchmarks/MemoryProfiler.d.ts.map +1 -1
  164. package/dist/src/benchmarks/MemoryProfiler.js +4 -400
  165. package/dist/src/benchmarks/MemoryProfiler.js.map +1 -1
  166. package/dist/src/benchmarks/comparator.d.ts +38 -0
  167. package/dist/src/benchmarks/comparator.d.ts.map +1 -0
  168. package/dist/src/benchmarks/comparator.js +81 -0
  169. package/dist/src/benchmarks/comparator.js.map +1 -0
  170. package/dist/src/benchmarks/formatters.d.ts +30 -0
  171. package/dist/src/benchmarks/formatters.d.ts.map +1 -0
  172. package/dist/src/benchmarks/formatters.js +88 -0
  173. package/dist/src/benchmarks/formatters.js.map +1 -0
  174. package/dist/src/benchmarks/index.d.ts +5 -1
  175. package/dist/src/benchmarks/index.d.ts.map +1 -1
  176. package/dist/src/benchmarks/index.js +9 -2
  177. package/dist/src/benchmarks/index.js.map +1 -1
  178. package/dist/src/benchmarks/memory/MemoryProfiler.d.ts +165 -0
  179. package/dist/src/benchmarks/memory/MemoryProfiler.d.ts.map +1 -0
  180. package/dist/src/benchmarks/memory/MemoryProfiler.js +312 -0
  181. package/dist/src/benchmarks/memory/MemoryProfiler.js.map +1 -0
  182. package/dist/src/benchmarks/memory/baseline-manager.d.ts +64 -0
  183. package/dist/src/benchmarks/memory/baseline-manager.d.ts.map +1 -0
  184. package/dist/src/benchmarks/memory/baseline-manager.js +95 -0
  185. package/dist/src/benchmarks/memory/baseline-manager.js.map +1 -0
  186. package/dist/src/benchmarks/memory/index.d.ts +12 -0
  187. package/dist/src/benchmarks/memory/index.d.ts.map +1 -0
  188. package/dist/src/benchmarks/memory/index.js +12 -0
  189. package/dist/src/benchmarks/memory/index.js.map +1 -0
  190. package/dist/src/benchmarks/memory/leak-detector.d.ts +23 -0
  191. package/dist/src/benchmarks/memory/leak-detector.d.ts.map +1 -0
  192. package/dist/src/benchmarks/memory/leak-detector.js +46 -0
  193. package/dist/src/benchmarks/memory/leak-detector.js.map +1 -0
  194. package/dist/src/benchmarks/memory/regression-detector.d.ts +17 -0
  195. package/dist/src/benchmarks/memory/regression-detector.d.ts.map +1 -0
  196. package/dist/src/benchmarks/memory/regression-detector.js +56 -0
  197. package/dist/src/benchmarks/memory/regression-detector.js.map +1 -0
  198. package/dist/src/benchmarks/memory/types.d.ts +111 -0
  199. package/dist/src/benchmarks/memory/types.d.ts.map +1 -0
  200. package/dist/src/benchmarks/memory/types.js +7 -0
  201. package/dist/src/benchmarks/memory/types.js.map +1 -0
  202. package/dist/src/benchmarks/memory/utils.d.ts +17 -0
  203. package/dist/src/benchmarks/memory/utils.d.ts.map +1 -0
  204. package/dist/src/benchmarks/memory/utils.js +29 -0
  205. package/dist/src/benchmarks/memory/utils.js.map +1 -0
  206. package/dist/src/benchmarks/types.d.ts +175 -0
  207. package/dist/src/benchmarks/types.d.ts.map +1 -0
  208. package/dist/src/benchmarks/types.js +20 -0
  209. package/dist/src/benchmarks/types.js.map +1 -0
  210. package/dist/src/embeddings/index.d.ts.map +1 -1
  211. package/dist/src/embeddings/index.js.map +1 -1
  212. package/dist/src/errors.d.ts +1 -0
  213. package/dist/src/errors.d.ts.map +1 -1
  214. package/dist/src/errors.js +1 -0
  215. package/dist/src/errors.js.map +1 -1
  216. package/dist/src/index.d.ts +5 -3
  217. package/dist/src/index.d.ts.map +1 -1
  218. package/dist/src/index.js +8 -4
  219. package/dist/src/index.js.map +1 -1
  220. package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
  221. package/dist/src/repositories/IndexerRepository.js +1 -0
  222. package/dist/src/repositories/IndexerRepository.js.map +1 -1
  223. package/dist/src/repositories/QuarantineRepository.d.ts +4 -251
  224. package/dist/src/repositories/QuarantineRepository.d.ts.map +1 -1
  225. package/dist/src/repositories/QuarantineRepository.js +4 -441
  226. package/dist/src/repositories/QuarantineRepository.js.map +1 -1
  227. package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
  228. package/dist/src/repositories/SkillRepository.js +1 -0
  229. package/dist/src/repositories/SkillRepository.js.map +1 -1
  230. package/dist/src/repositories/quarantine/QuarantineRepository.d.ts +168 -0
  231. package/dist/src/repositories/quarantine/QuarantineRepository.d.ts.map +1 -0
  232. package/dist/src/repositories/quarantine/QuarantineRepository.js +341 -0
  233. package/dist/src/repositories/quarantine/QuarantineRepository.js.map +1 -0
  234. package/dist/src/repositories/quarantine/index.d.ts +10 -0
  235. package/dist/src/repositories/quarantine/index.d.ts.map +1 -0
  236. package/dist/src/repositories/quarantine/index.js +10 -0
  237. package/dist/src/repositories/quarantine/index.js.map +1 -0
  238. package/dist/src/repositories/quarantine/queries.d.ts +58 -0
  239. package/dist/src/repositories/quarantine/queries.d.ts.map +1 -0
  240. package/dist/src/repositories/quarantine/queries.js +88 -0
  241. package/dist/src/repositories/quarantine/queries.js.map +1 -0
  242. package/dist/src/repositories/quarantine/query-builder.d.ts +44 -0
  243. package/dist/src/repositories/quarantine/query-builder.d.ts.map +1 -0
  244. package/dist/src/repositories/quarantine/query-builder.js +87 -0
  245. package/dist/src/repositories/quarantine/query-builder.js.map +1 -0
  246. package/dist/src/repositories/quarantine/types.d.ts +155 -0
  247. package/dist/src/repositories/quarantine/types.d.ts.map +1 -0
  248. package/dist/src/repositories/quarantine/types.js +13 -0
  249. package/dist/src/repositories/quarantine/types.js.map +1 -0
  250. package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts +1 -0
  251. package/dist/src/scripts/__tests__/scan-imported-skills.test.d.ts.map +1 -1
  252. package/dist/src/scripts/__tests__/scan-imported-skills.test.js +7 -43
  253. package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
  254. package/dist/src/scripts/github-import/checkpoint.d.ts +21 -0
  255. package/dist/src/scripts/github-import/checkpoint.d.ts.map +1 -0
  256. package/dist/src/scripts/github-import/checkpoint.js +52 -0
  257. package/dist/src/scripts/github-import/checkpoint.js.map +1 -0
  258. package/dist/src/scripts/github-import/deduplication.d.ts +15 -0
  259. package/dist/src/scripts/github-import/deduplication.d.ts.map +1 -0
  260. package/dist/src/scripts/github-import/deduplication.js +33 -0
  261. package/dist/src/scripts/github-import/deduplication.js.map +1 -0
  262. package/dist/src/scripts/github-import/github-client.d.ts +29 -0
  263. package/dist/src/scripts/github-import/github-client.d.ts.map +1 -0
  264. package/dist/src/scripts/github-import/github-client.js +184 -0
  265. package/dist/src/scripts/github-import/github-client.js.map +1 -0
  266. package/dist/src/scripts/github-import/index.d.ts +29 -0
  267. package/dist/src/scripts/github-import/index.d.ts.map +1 -0
  268. package/dist/src/scripts/github-import/index.js +198 -0
  269. package/dist/src/scripts/github-import/index.js.map +1 -0
  270. package/dist/src/scripts/github-import/output.d.ts +12 -0
  271. package/dist/src/scripts/github-import/output.d.ts.map +1 -0
  272. package/dist/src/scripts/github-import/output.js +34 -0
  273. package/dist/src/scripts/github-import/output.js.map +1 -0
  274. package/dist/src/scripts/github-import/types.d.ts +108 -0
  275. package/dist/src/scripts/github-import/types.d.ts.map +1 -0
  276. package/dist/src/scripts/github-import/types.js +44 -0
  277. package/dist/src/scripts/github-import/types.js.map +1 -0
  278. package/dist/src/scripts/github-import/utils.d.ts +13 -0
  279. package/dist/src/scripts/github-import/utils.d.ts.map +1 -0
  280. package/dist/src/scripts/github-import/utils.js +28 -0
  281. package/dist/src/scripts/github-import/utils.js.map +1 -0
  282. package/dist/src/scripts/import-github-skills.d.ts +3 -12
  283. package/dist/src/scripts/import-github-skills.d.ts.map +1 -1
  284. package/dist/src/scripts/import-github-skills.js +18 -398
  285. package/dist/src/scripts/import-github-skills.js.map +1 -1
  286. package/dist/src/scripts/scan-imported-skills.d.ts +7 -7
  287. package/dist/src/scripts/scan-imported-skills.d.ts.map +1 -1
  288. package/dist/src/scripts/scan-imported-skills.js +8 -397
  289. package/dist/src/scripts/scan-imported-skills.js.map +1 -1
  290. package/dist/src/scripts/skill-scanner/categorizer.d.ts +43 -0
  291. package/dist/src/scripts/skill-scanner/categorizer.d.ts.map +1 -0
  292. package/dist/src/scripts/skill-scanner/categorizer.js +61 -0
  293. package/dist/src/scripts/skill-scanner/categorizer.js.map +1 -0
  294. package/dist/src/scripts/skill-scanner/file-scanner.d.ts +43 -0
  295. package/dist/src/scripts/skill-scanner/file-scanner.d.ts.map +1 -0
  296. package/dist/src/scripts/skill-scanner/file-scanner.js +90 -0
  297. package/dist/src/scripts/skill-scanner/file-scanner.js.map +1 -0
  298. package/dist/src/scripts/skill-scanner/index.d.ts +22 -0
  299. package/dist/src/scripts/skill-scanner/index.d.ts.map +1 -0
  300. package/dist/src/scripts/skill-scanner/index.js +43 -0
  301. package/dist/src/scripts/skill-scanner/index.js.map +1 -0
  302. package/dist/src/scripts/skill-scanner/logger.d.ts +59 -0
  303. package/dist/src/scripts/skill-scanner/logger.d.ts.map +1 -0
  304. package/dist/src/scripts/skill-scanner/logger.js +104 -0
  305. package/dist/src/scripts/skill-scanner/logger.js.map +1 -0
  306. package/dist/src/scripts/skill-scanner/reporter.d.ts +56 -0
  307. package/dist/src/scripts/skill-scanner/reporter.d.ts.map +1 -0
  308. package/dist/src/scripts/skill-scanner/reporter.js +166 -0
  309. package/dist/src/scripts/skill-scanner/reporter.js.map +1 -0
  310. package/dist/src/scripts/skill-scanner/scanner.d.ts +44 -0
  311. package/dist/src/scripts/skill-scanner/scanner.d.ts.map +1 -0
  312. package/dist/src/scripts/skill-scanner/scanner.js +140 -0
  313. package/dist/src/scripts/skill-scanner/scanner.js.map +1 -0
  314. package/dist/src/scripts/skill-scanner/trust-scorer.d.ts +59 -0
  315. package/dist/src/scripts/skill-scanner/trust-scorer.d.ts.map +1 -0
  316. package/dist/src/scripts/skill-scanner/trust-scorer.js +62 -0
  317. package/dist/src/scripts/skill-scanner/trust-scorer.js.map +1 -0
  318. package/dist/src/scripts/skill-scanner/types.d.ts +98 -0
  319. package/dist/src/scripts/skill-scanner/types.d.ts.map +1 -0
  320. package/dist/src/scripts/skill-scanner/types.js +7 -0
  321. package/dist/src/scripts/skill-scanner/types.js.map +1 -0
  322. package/dist/src/scripts/validate-skills.d.ts +3 -172
  323. package/dist/src/scripts/validate-skills.d.ts.map +1 -1
  324. package/dist/src/scripts/validate-skills.js +6 -519
  325. package/dist/src/scripts/validate-skills.js.map +1 -1
  326. package/dist/src/scripts/validation/deduplication.d.ts +23 -0
  327. package/dist/src/scripts/validation/deduplication.d.ts.map +1 -0
  328. package/dist/src/scripts/validation/deduplication.js +127 -0
  329. package/dist/src/scripts/validation/deduplication.js.map +1 -0
  330. package/dist/src/scripts/validation/field-validators.d.ts +9 -0
  331. package/dist/src/scripts/validation/field-validators.d.ts.map +1 -0
  332. package/dist/src/scripts/validation/field-validators.js +135 -0
  333. package/dist/src/scripts/validation/field-validators.js.map +1 -0
  334. package/dist/src/scripts/validation/index.d.ts +29 -0
  335. package/dist/src/scripts/validation/index.d.ts.map +1 -0
  336. package/dist/src/scripts/validation/index.js +83 -0
  337. package/dist/src/scripts/validation/index.js.map +1 -0
  338. package/dist/src/scripts/validation/normalizers.d.ts +29 -0
  339. package/dist/src/scripts/validation/normalizers.d.ts.map +1 -0
  340. package/dist/src/scripts/validation/normalizers.js +79 -0
  341. package/dist/src/scripts/validation/normalizers.js.map +1 -0
  342. package/dist/src/scripts/validation/pipeline.d.ts +13 -0
  343. package/dist/src/scripts/validation/pipeline.d.ts.map +1 -0
  344. package/dist/src/scripts/validation/pipeline.js +126 -0
  345. package/dist/src/scripts/validation/pipeline.js.map +1 -0
  346. package/dist/src/scripts/validation/types.d.ts +128 -0
  347. package/dist/src/scripts/validation/types.d.ts.map +1 -0
  348. package/dist/src/scripts/validation/types.js +43 -0
  349. package/dist/src/scripts/validation/types.js.map +1 -0
  350. package/dist/src/security/index.d.ts +5 -4
  351. package/dist/src/security/index.d.ts.map +1 -1
  352. package/dist/src/security/index.js +8 -2
  353. package/dist/src/security/index.js.map +1 -1
  354. package/dist/src/security/rate-limiter/RateLimiter.d.ts +86 -0
  355. package/dist/src/security/rate-limiter/RateLimiter.d.ts.map +1 -0
  356. package/dist/src/security/rate-limiter/RateLimiter.js +260 -0
  357. package/dist/src/security/rate-limiter/RateLimiter.js.map +1 -0
  358. package/dist/src/security/rate-limiter/constants.d.ts +15 -0
  359. package/dist/src/security/rate-limiter/constants.d.ts.map +1 -0
  360. package/dist/src/security/rate-limiter/constants.js +15 -0
  361. package/dist/src/security/rate-limiter/constants.js.map +1 -0
  362. package/dist/src/security/rate-limiter/errors.d.ts +22 -0
  363. package/dist/src/security/rate-limiter/errors.d.ts.map +1 -0
  364. package/dist/src/security/rate-limiter/errors.js +32 -0
  365. package/dist/src/security/rate-limiter/errors.js.map +1 -0
  366. package/dist/src/security/rate-limiter/index.d.ts +12 -0
  367. package/dist/src/security/rate-limiter/index.d.ts.map +1 -0
  368. package/dist/src/security/rate-limiter/index.js +16 -0
  369. package/dist/src/security/rate-limiter/index.js.map +1 -0
  370. package/dist/src/security/rate-limiter/metrics-manager.d.ts +55 -0
  371. package/dist/src/security/rate-limiter/metrics-manager.d.ts.map +1 -0
  372. package/dist/src/security/rate-limiter/metrics-manager.js +144 -0
  373. package/dist/src/security/rate-limiter/metrics-manager.js.map +1 -0
  374. package/dist/src/security/rate-limiter/presets.d.ts +52 -0
  375. package/dist/src/security/rate-limiter/presets.d.ts.map +1 -0
  376. package/dist/src/security/rate-limiter/presets.js +53 -0
  377. package/dist/src/security/rate-limiter/presets.js.map +1 -0
  378. package/dist/src/security/rate-limiter/queue-manager.d.ts +59 -0
  379. package/dist/src/security/rate-limiter/queue-manager.d.ts.map +1 -0
  380. package/dist/src/security/rate-limiter/queue-manager.js +189 -0
  381. package/dist/src/security/rate-limiter/queue-manager.js.map +1 -0
  382. package/dist/src/security/rate-limiter/storage.d.ts +34 -0
  383. package/dist/src/security/rate-limiter/storage.d.ts.map +1 -0
  384. package/dist/src/security/rate-limiter/storage.js +80 -0
  385. package/dist/src/security/rate-limiter/storage.js.map +1 -0
  386. package/dist/src/security/rate-limiter/token-bucket.d.ts +44 -0
  387. package/dist/src/security/rate-limiter/token-bucket.d.ts.map +1 -0
  388. package/dist/src/security/rate-limiter/token-bucket.js +99 -0
  389. package/dist/src/security/rate-limiter/token-bucket.js.map +1 -0
  390. package/dist/src/security/rate-limiter/types.d.ts +104 -0
  391. package/dist/src/security/rate-limiter/types.d.ts.map +1 -0
  392. package/dist/src/security/rate-limiter/types.js +7 -0
  393. package/dist/src/security/rate-limiter/types.js.map +1 -0
  394. package/dist/src/security/{scanner.d.ts → scanner/SecurityScanner.d.ts} +5 -62
  395. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -0
  396. package/dist/src/security/{scanner.js → scanner/SecurityScanner.js} +6 -202
  397. package/dist/src/security/scanner/SecurityScanner.js.map +1 -0
  398. package/dist/src/security/scanner/index.d.ts +11 -0
  399. package/dist/src/security/scanner/index.d.ts.map +1 -0
  400. package/dist/src/security/scanner/index.js +14 -0
  401. package/dist/src/security/scanner/index.js.map +1 -0
  402. package/dist/src/security/scanner/patterns.d.ts +14 -0
  403. package/dist/src/security/scanner/patterns.d.ts.map +1 -0
  404. package/dist/src/security/scanner/patterns.js +147 -0
  405. package/dist/src/security/scanner/patterns.js.map +1 -0
  406. package/dist/src/security/scanner/regex-utils.d.ts +33 -0
  407. package/dist/src/security/scanner/regex-utils.d.ts.map +1 -0
  408. package/dist/src/security/scanner/regex-utils.js +41 -0
  409. package/dist/src/security/scanner/regex-utils.js.map +1 -0
  410. package/dist/src/security/scanner/types.d.ts +63 -0
  411. package/dist/src/security/scanner/types.d.ts.map +1 -0
  412. package/dist/src/security/scanner/types.js +7 -0
  413. package/dist/src/security/scanner/types.js.map +1 -0
  414. package/dist/src/security/scanner/weights.d.ts +15 -0
  415. package/dist/src/security/scanner/weights.d.ts.map +1 -0
  416. package/dist/src/security/scanner/weights.js +28 -0
  417. package/dist/src/security/scanner/weights.js.map +1 -0
  418. package/dist/src/services/SearchService.d.ts.map +1 -1
  419. package/dist/src/services/SearchService.js +1 -0
  420. package/dist/src/services/SearchService.js.map +1 -1
  421. package/dist/src/session/SessionHealthMonitor.d.ts +5 -168
  422. package/dist/src/session/SessionHealthMonitor.d.ts.map +1 -1
  423. package/dist/src/session/SessionHealthMonitor.js +22 -91
  424. package/dist/src/session/SessionHealthMonitor.js.map +1 -1
  425. package/dist/src/session/health-checks.d.ts +37 -0
  426. package/dist/src/session/health-checks.d.ts.map +1 -0
  427. package/dist/src/session/health-checks.js +64 -0
  428. package/dist/src/session/health-checks.js.map +1 -0
  429. package/dist/src/session/health-types.d.ts +78 -0
  430. package/dist/src/session/health-types.d.ts.map +1 -0
  431. package/dist/src/session/health-types.js +16 -0
  432. package/dist/src/session/health-types.js.map +1 -0
  433. package/dist/src/session/index.d.ts +5 -1
  434. package/dist/src/session/index.d.ts.map +1 -1
  435. package/dist/src/session/index.js +9 -0
  436. package/dist/src/session/index.js.map +1 -1
  437. package/dist/src/session/metrics-collector.d.ts +23 -0
  438. package/dist/src/session/metrics-collector.d.ts.map +1 -0
  439. package/dist/src/session/metrics-collector.js +44 -0
  440. package/dist/src/session/metrics-collector.js.map +1 -0
  441. package/dist/src/session/typed-event-emitter.d.ts +70 -0
  442. package/dist/src/session/typed-event-emitter.d.ts.map +1 -0
  443. package/dist/src/session/typed-event-emitter.js +79 -0
  444. package/dist/src/session/typed-event-emitter.js.map +1 -0
  445. package/dist/src/sources/BaseSourceAdapter.d.ts +1 -1
  446. package/dist/src/sources/BaseSourceAdapter.d.ts.map +1 -1
  447. package/dist/src/sources/BaseSourceAdapter.js +2 -2
  448. package/dist/src/sources/BaseSourceAdapter.js.map +1 -1
  449. package/dist/src/telemetry/index.d.ts +1 -0
  450. package/dist/src/telemetry/index.d.ts.map +1 -1
  451. package/dist/src/telemetry/index.js +2 -0
  452. package/dist/src/telemetry/index.js.map +1 -1
  453. package/dist/src/telemetry/posthog.d.ts +147 -0
  454. package/dist/src/telemetry/posthog.d.ts.map +1 -0
  455. package/dist/src/telemetry/posthog.js +213 -0
  456. package/dist/src/telemetry/posthog.js.map +1 -0
  457. package/dist/src/types/skill.d.ts +3 -0
  458. package/dist/src/types/skill.d.ts.map +1 -1
  459. package/dist/src/types.d.ts +2 -1
  460. package/dist/src/types.d.ts.map +1 -1
  461. package/dist/src/types.js +2 -2
  462. package/dist/src/types.js.map +1 -1
  463. package/dist/tests/RateLimiter.test.js +4 -4
  464. package/dist/tests/RateLimiter.test.js.map +1 -1
  465. package/dist/tests/adapters-factory.test.d.ts +13 -0
  466. package/dist/tests/adapters-factory.test.d.ts.map +1 -0
  467. package/dist/tests/adapters-factory.test.js +308 -0
  468. package/dist/tests/adapters-factory.test.js.map +1 -0
  469. package/dist/tests/adapters-java.test.d.ts +13 -0
  470. package/dist/tests/adapters-java.test.d.ts.map +1 -0
  471. package/dist/tests/adapters-java.test.js +925 -0
  472. package/dist/tests/adapters-java.test.js.map +1 -0
  473. package/dist/tests/api/client.validation.test.d.ts +7 -0
  474. package/dist/tests/api/client.validation.test.d.ts.map +1 -0
  475. package/dist/tests/api/client.validation.test.js +183 -0
  476. package/dist/tests/api/client.validation.test.js.map +1 -0
  477. package/dist/tests/e2e/security/security.e2e.test.js +3 -3
  478. package/dist/tests/e2e/security/security.e2e.test.js.map +1 -1
  479. package/dist/tests/language-detector.test.d.ts +13 -0
  480. package/dist/tests/language-detector.test.d.ts.map +1 -0
  481. package/dist/tests/language-detector.test.js +674 -0
  482. package/dist/tests/language-detector.test.js.map +1 -0
  483. package/dist/tests/telemetry/posthog.test.d.ts +13 -0
  484. package/dist/tests/telemetry/posthog.test.d.ts.map +1 -0
  485. package/dist/tests/telemetry/posthog.test.js +600 -0
  486. package/dist/tests/telemetry/posthog.test.js.map +1 -0
  487. package/package.json +5 -5
  488. package/dist/src/security/RateLimiter.d.ts +0 -337
  489. package/dist/src/security/RateLimiter.d.ts.map +0 -1
  490. package/dist/src/security/RateLimiter.js +0 -782
  491. package/dist/src/security/RateLimiter.js.map +0 -1
  492. package/dist/src/security/scanner.d.ts.map +0 -1
  493. package/dist/src/security/scanner.js.map +0 -1
@@ -1,125 +1,15 @@
1
1
  /**
2
2
  * SMI-600: CodebaseAnalyzer
3
- * Analyzes TypeScript/JavaScript codebases to extract structure and patterns.
3
+ * SMI-1189: Refactored to use extracted modules
4
4
  *
5
+ * Analyzes TypeScript/JavaScript codebases to extract structure and patterns.
5
6
  * Uses TypeScript compiler API for accurate AST parsing.
6
7
  * Focuses on TS/JS only per ADR-010.
7
8
  *
8
9
  * @see ADR-010: Codebase Analysis Scope
9
10
  */
10
- /**
11
- * Import information extracted from source files
12
- */
13
- export interface ImportInfo {
14
- /** Module specifier (e.g., 'react', './utils') */
15
- module: string;
16
- /** Named imports (e.g., ['useState', 'useEffect']) */
17
- namedImports: string[];
18
- /** Default import name if present */
19
- defaultImport?: string;
20
- /** Namespace import name if present (import * as X) */
21
- namespaceImport?: string;
22
- /** Whether this is a type-only import */
23
- isTypeOnly: boolean;
24
- /** Source file where import was found */
25
- sourceFile: string;
26
- }
27
- /**
28
- * Export information extracted from source files
29
- */
30
- export interface ExportInfo {
31
- /** Exported name */
32
- name: string;
33
- /** Kind of export (function, class, variable, type, interface) */
34
- kind: 'function' | 'class' | 'variable' | 'type' | 'interface' | 'enum' | 'unknown';
35
- /** Whether this is a default export */
36
- isDefault: boolean;
37
- /** Source file where export was found */
38
- sourceFile: string;
39
- }
40
- /**
41
- * Function information extracted from source files
42
- */
43
- export interface FunctionInfo {
44
- /** Function name */
45
- name: string;
46
- /** Number of parameters */
47
- parameterCount: number;
48
- /** Whether function is async */
49
- isAsync: boolean;
50
- /** Whether function is exported */
51
- isExported: boolean;
52
- /** Source file where function was found */
53
- sourceFile: string;
54
- /** Line number */
55
- line: number;
56
- }
57
- /**
58
- * Detected framework information
59
- */
60
- export interface FrameworkInfo {
61
- /** Framework name */
62
- name: string;
63
- /** Confidence level (0-1) */
64
- confidence: number;
65
- /** Evidence for detection */
66
- evidence: string[];
67
- }
68
- /**
69
- * Package.json dependency information
70
- */
71
- export interface DependencyInfo {
72
- /** Package name */
73
- name: string;
74
- /** Version specifier */
75
- version: string;
76
- /** Whether this is a dev dependency */
77
- isDev: boolean;
78
- }
79
- /**
80
- * Complete codebase context for skill recommendations
81
- */
82
- export interface CodebaseContext {
83
- /** Root directory analyzed */
84
- rootPath: string;
85
- /** All imports found in the codebase */
86
- imports: ImportInfo[];
87
- /** All exports found in the codebase */
88
- exports: ExportInfo[];
89
- /** All functions found in the codebase */
90
- functions: FunctionInfo[];
91
- /** Detected frameworks */
92
- frameworks: FrameworkInfo[];
93
- /** Dependencies from package.json */
94
- dependencies: DependencyInfo[];
95
- /** File statistics */
96
- stats: {
97
- /** Total files analyzed */
98
- totalFiles: number;
99
- /** Files by extension */
100
- filesByExtension: Record<string, number>;
101
- /** Total lines of code (approximate) */
102
- totalLines: number;
103
- };
104
- /** Analysis metadata */
105
- metadata: {
106
- /** Analysis duration in ms */
107
- durationMs: number;
108
- /** Analyzer version */
109
- version: string;
110
- };
111
- }
112
- /**
113
- * Options for codebase analysis
114
- */
115
- export interface AnalyzeOptions {
116
- /** Maximum files to analyze (default: 1000) */
117
- maxFiles?: number;
118
- /** Directories to exclude (default: node_modules, dist, .git) */
119
- excludeDirs?: string[];
120
- /** Include dev dependencies in analysis */
121
- includeDevDeps?: boolean;
122
- }
11
+ import { type CodebaseContext, type AnalyzeOptions } from './types.js';
12
+ export type { ImportInfo, ExportInfo, FunctionInfo, FrameworkInfo, DependencyInfo, CodebaseContext, AnalyzeOptions, } from './types.js';
123
13
  /**
124
14
  * CodebaseAnalyzer - Analyzes TypeScript/JavaScript codebases
125
15
  *
@@ -142,30 +32,10 @@ export declare class CodebaseAnalyzer {
142
32
  * Find all source files in directory
143
33
  */
144
34
  private findSourceFiles;
145
- /**
146
- * Parse a single file and extract information
147
- */
148
- private parseFile;
149
- /**
150
- * Extract import information from an import declaration
151
- */
152
- private extractImport;
153
- /**
154
- * Extract export information from an export declaration
155
- */
156
- private extractExport;
157
- /**
158
- * Extract function information from a function declaration
159
- */
160
- private extractFunction;
161
35
  /**
162
36
  * Read dependencies from package.json
163
37
  */
164
38
  private readDependencies;
165
- /**
166
- * Detect frameworks based on imports and dependencies
167
- */
168
- private detectFrameworks;
169
39
  /**
170
40
  * Get a summary of the codebase for skill matching
171
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CodebaseAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analysis/CodebaseAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodebaseAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analysis/CodebaseAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAQL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAA;AAKnB,YAAY,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAA;AAEnB;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC;;;;;;OAMG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsEvF;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;CAiC7C;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,20 +1,18 @@
1
1
  /**
2
2
  * SMI-600: CodebaseAnalyzer
3
- * Analyzes TypeScript/JavaScript codebases to extract structure and patterns.
3
+ * SMI-1189: Refactored to use extracted modules
4
4
  *
5
+ * Analyzes TypeScript/JavaScript codebases to extract structure and patterns.
5
6
  * Uses TypeScript compiler API for accurate AST parsing.
6
7
  * Focuses on TS/JS only per ADR-010.
7
8
  *
8
9
  * @see ADR-010: Codebase Analysis Scope
9
10
  */
10
- import * as ts from 'typescript';
11
11
  import * as fs from 'fs';
12
12
  import * as path from 'path';
13
- /**
14
- * Supported file extensions for analysis
15
- */
16
- const SUPPORTED_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'];
17
- const DEFAULT_EXCLUDE_DIRS = ['node_modules', 'dist', 'build', '.git', 'coverage', '.next', '.nuxt'];
13
+ import { SUPPORTED_EXTENSIONS, DEFAULT_EXCLUDE_DIRS, } from './types.js';
14
+ import { parseFile } from './parsers.js';
15
+ import { detectFrameworks } from './framework-detector.js';
18
16
  /**
19
17
  * CodebaseAnalyzer - Analyzes TypeScript/JavaScript codebases
20
18
  *
@@ -56,7 +54,7 @@ export class CodebaseAnalyzer {
56
54
  const content = fs.readFileSync(filePath, 'utf-8');
57
55
  totalLines += content.split('\n').length;
58
56
  const relativePath = path.relative(absolutePath, filePath);
59
- const fileInfo = this.parseFile(content, relativePath);
57
+ const fileInfo = parseFile(content, relativePath);
60
58
  imports.push(...fileInfo.imports);
61
59
  exports.push(...fileInfo.exports);
62
60
  functions.push(...fileInfo.functions);
@@ -69,7 +67,7 @@ export class CodebaseAnalyzer {
69
67
  // Read dependencies from package.json
70
68
  const dependencies = this.readDependencies(absolutePath, includeDevDeps);
71
69
  // Detect frameworks
72
- const frameworks = this.detectFrameworks(imports, dependencies);
70
+ const frameworks = detectFrameworks(imports, dependencies);
73
71
  const endTime = performance.now();
74
72
  return {
75
73
  rootPath: absolutePath,
@@ -125,199 +123,6 @@ export class CodebaseAnalyzer {
125
123
  walk(dir);
126
124
  return files;
127
125
  }
128
- /**
129
- * Parse a single file and extract information
130
- */
131
- parseFile(content, relativePath) {
132
- const imports = [];
133
- const exports = [];
134
- const functions = [];
135
- // Create source file
136
- const sourceFile = ts.createSourceFile(relativePath, content, ts.ScriptTarget.Latest, true, relativePath.endsWith('.tsx') || relativePath.endsWith('.jsx')
137
- ? ts.ScriptKind.TSX
138
- : ts.ScriptKind.TS);
139
- // Walk the AST
140
- const visit = (node) => {
141
- // Import declarations
142
- if (ts.isImportDeclaration(node)) {
143
- const importInfo = this.extractImport(node, relativePath);
144
- if (importInfo) {
145
- imports.push(importInfo);
146
- }
147
- }
148
- // Export declarations
149
- if (ts.isExportDeclaration(node) || ts.isExportAssignment(node)) {
150
- const exportInfos = this.extractExport(node, relativePath);
151
- exports.push(...exportInfos);
152
- }
153
- // Function declarations
154
- if (ts.isFunctionDeclaration(node) && node.name) {
155
- const funcInfo = this.extractFunction(node, relativePath, sourceFile);
156
- if (funcInfo) {
157
- functions.push(funcInfo);
158
- // Also track as export if exported
159
- if (funcInfo.isExported) {
160
- const isDefault = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.DefaultKeyword);
161
- exports.push({
162
- name: node.name.text,
163
- kind: 'function',
164
- isDefault: isDefault ?? false,
165
- sourceFile: relativePath,
166
- });
167
- }
168
- }
169
- }
170
- // Arrow functions assigned to variables
171
- if (ts.isVariableStatement(node)) {
172
- for (const decl of node.declarationList.declarations) {
173
- if (decl.initializer &&
174
- ts.isArrowFunction(decl.initializer) &&
175
- ts.isIdentifier(decl.name)) {
176
- const isExported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
177
- const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
178
- functions.push({
179
- name: decl.name.text,
180
- parameterCount: decl.initializer.parameters.length,
181
- isAsync: decl.initializer.modifiers?.some((m) => m.kind === ts.SyntaxKind.AsyncKeyword) ??
182
- false,
183
- isExported: isExported ?? false,
184
- sourceFile: relativePath,
185
- line: line + 1,
186
- });
187
- // Also track as export if exported
188
- if (isExported) {
189
- exports.push({
190
- name: decl.name.text,
191
- kind: 'function',
192
- isDefault: false,
193
- sourceFile: relativePath,
194
- });
195
- }
196
- }
197
- }
198
- }
199
- // Class declarations
200
- if (ts.isClassDeclaration(node) && node.name) {
201
- const isExported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
202
- const isDefault = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.DefaultKeyword);
203
- if (isExported) {
204
- exports.push({
205
- name: node.name.text,
206
- kind: 'class',
207
- isDefault: isDefault ?? false,
208
- sourceFile: relativePath,
209
- });
210
- }
211
- }
212
- // Interface declarations
213
- if (ts.isInterfaceDeclaration(node)) {
214
- const isExported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
215
- if (isExported) {
216
- exports.push({
217
- name: node.name.text,
218
- kind: 'interface',
219
- isDefault: false,
220
- sourceFile: relativePath,
221
- });
222
- }
223
- }
224
- // Type alias declarations
225
- if (ts.isTypeAliasDeclaration(node)) {
226
- const isExported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
227
- if (isExported) {
228
- exports.push({
229
- name: node.name.text,
230
- kind: 'type',
231
- isDefault: false,
232
- sourceFile: relativePath,
233
- });
234
- }
235
- }
236
- ts.forEachChild(node, visit);
237
- };
238
- visit(sourceFile);
239
- return { imports, exports, functions };
240
- }
241
- /**
242
- * Extract import information from an import declaration
243
- */
244
- extractImport(node, sourceFile) {
245
- const moduleSpecifier = node.moduleSpecifier;
246
- if (!ts.isStringLiteral(moduleSpecifier)) {
247
- return null;
248
- }
249
- const importInfo = {
250
- module: moduleSpecifier.text,
251
- namedImports: [],
252
- isTypeOnly: node.importClause?.isTypeOnly ?? false,
253
- sourceFile,
254
- };
255
- const importClause = node.importClause;
256
- if (importClause) {
257
- // Default import
258
- if (importClause.name) {
259
- importInfo.defaultImport = importClause.name.text;
260
- }
261
- // Named imports
262
- const namedBindings = importClause.namedBindings;
263
- if (namedBindings) {
264
- if (ts.isNamespaceImport(namedBindings)) {
265
- importInfo.namespaceImport = namedBindings.name.text;
266
- }
267
- else if (ts.isNamedImports(namedBindings)) {
268
- for (const element of namedBindings.elements) {
269
- importInfo.namedImports.push(element.name.text);
270
- }
271
- }
272
- }
273
- }
274
- return importInfo;
275
- }
276
- /**
277
- * Extract export information from an export declaration
278
- */
279
- extractExport(node, sourceFile) {
280
- const exports = [];
281
- if (ts.isExportAssignment(node)) {
282
- // export default X
283
- exports.push({
284
- name: 'default',
285
- kind: 'unknown',
286
- isDefault: true,
287
- sourceFile,
288
- });
289
- }
290
- else if (node.exportClause && ts.isNamedExports(node.exportClause)) {
291
- // export { X, Y }
292
- for (const element of node.exportClause.elements) {
293
- exports.push({
294
- name: element.name.text,
295
- kind: 'unknown',
296
- isDefault: false,
297
- sourceFile,
298
- });
299
- }
300
- }
301
- return exports;
302
- }
303
- /**
304
- * Extract function information from a function declaration
305
- */
306
- extractFunction(node, relativePath, sourceFile) {
307
- if (!node.name)
308
- return null;
309
- const isExported = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
310
- const isAsync = node.modifiers?.some((m) => m.kind === ts.SyntaxKind.AsyncKeyword);
311
- const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
312
- return {
313
- name: node.name.text,
314
- parameterCount: node.parameters.length,
315
- isAsync: isAsync ?? false,
316
- isExported: isExported ?? false,
317
- sourceFile: relativePath,
318
- line: line + 1,
319
- };
320
- }
321
126
  /**
322
127
  * Read dependencies from package.json
323
128
  */
@@ -346,119 +151,6 @@ export class CodebaseAnalyzer {
346
151
  }
347
152
  return dependencies;
348
153
  }
349
- /**
350
- * Detect frameworks based on imports and dependencies
351
- */
352
- detectFrameworks(imports, dependencies) {
353
- const frameworks = [];
354
- const depNames = new Set(dependencies.map((d) => d.name));
355
- const importModules = new Set(imports.map((i) => i.module));
356
- // Framework detection rules
357
- const frameworkRules = [
358
- {
359
- name: 'React',
360
- depIndicators: ['react', 'react-dom'],
361
- importIndicators: ['react', 'react-dom'],
362
- },
363
- {
364
- name: 'Next.js',
365
- depIndicators: ['next'],
366
- importIndicators: ['next', 'next/router', 'next/link', 'next/image'],
367
- },
368
- {
369
- name: 'Vue',
370
- depIndicators: ['vue'],
371
- importIndicators: ['vue'],
372
- },
373
- {
374
- name: 'Nuxt',
375
- depIndicators: ['nuxt'],
376
- importIndicators: ['nuxt', '#app', '#imports'],
377
- },
378
- {
379
- name: 'Angular',
380
- depIndicators: ['@angular/core'],
381
- importIndicators: ['@angular/core', '@angular/common'],
382
- },
383
- {
384
- name: 'Express',
385
- depIndicators: ['express'],
386
- importIndicators: ['express'],
387
- },
388
- {
389
- name: 'Fastify',
390
- depIndicators: ['fastify'],
391
- importIndicators: ['fastify'],
392
- },
393
- {
394
- name: 'NestJS',
395
- depIndicators: ['@nestjs/core'],
396
- importIndicators: ['@nestjs/core', '@nestjs/common'],
397
- },
398
- {
399
- name: 'Jest',
400
- depIndicators: ['jest'],
401
- importIndicators: ['@jest/globals', 'jest'],
402
- },
403
- {
404
- name: 'Vitest',
405
- depIndicators: ['vitest'],
406
- importIndicators: ['vitest'],
407
- },
408
- {
409
- name: 'Playwright',
410
- depIndicators: ['@playwright/test', 'playwright'],
411
- importIndicators: ['@playwright/test', 'playwright'],
412
- },
413
- {
414
- name: 'Prisma',
415
- depIndicators: ['@prisma/client', 'prisma'],
416
- importIndicators: ['@prisma/client'],
417
- },
418
- {
419
- name: 'TypeORM',
420
- depIndicators: ['typeorm'],
421
- importIndicators: ['typeorm'],
422
- },
423
- {
424
- name: 'Tailwind CSS',
425
- depIndicators: ['tailwindcss'],
426
- importIndicators: [],
427
- },
428
- {
429
- name: 'Electron',
430
- depIndicators: ['electron'],
431
- importIndicators: ['electron'],
432
- },
433
- ];
434
- for (const rule of frameworkRules) {
435
- const evidence = [];
436
- // Check dependencies
437
- for (const dep of rule.depIndicators) {
438
- if (depNames.has(dep)) {
439
- evidence.push(`Dependency: ${dep}`);
440
- }
441
- }
442
- // Check imports
443
- for (const imp of rule.importIndicators) {
444
- if (importModules.has(imp)) {
445
- evidence.push(`Import: ${imp}`);
446
- }
447
- }
448
- if (evidence.length > 0) {
449
- // Calculate confidence based on evidence
450
- const confidence = Math.min(1, evidence.length * 0.4);
451
- frameworks.push({
452
- name: rule.name,
453
- confidence,
454
- evidence,
455
- });
456
- }
457
- }
458
- // Sort by confidence
459
- frameworks.sort((a, b) => b.confidence - a.confidence);
460
- return frameworks;
461
- }
462
154
  /**
463
155
  * Get a summary of the codebase for skill matching
464
156
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CodebaseAnalyzer.js","sourceRoot":"","sources":["../../../src/analysis/CodebaseAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodebaseAnalyzer.js","sourceRoot":"","sources":["../../../src/analysis/CodebaseAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SMI-1309: Incremental Parsing Tests
3
+ *
4
+ * Test suite for incremental parsing and tree caching.
5
+ *
6
+ * Performance Targets:
7
+ * - Incremental parse: < 100ms
8
+ * - Tree cache hit rate: > 80%
9
+ *
10
+ * @see docs/architecture/multi-language-analysis.md
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=incremental.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incremental.test.d.ts","sourceRoot":"","sources":["../../../../src/analysis/__tests__/incremental.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}