@liendev/core 0.19.5

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 (298) hide show
  1. package/README.md +336 -0
  2. package/dist/config/loader.d.ts +12 -0
  3. package/dist/config/loader.d.ts.map +1 -0
  4. package/dist/config/loader.js +46 -0
  5. package/dist/config/loader.js.map +1 -0
  6. package/dist/config/merge.d.ts +20 -0
  7. package/dist/config/merge.d.ts.map +1 -0
  8. package/dist/config/merge.js +71 -0
  9. package/dist/config/merge.js.map +1 -0
  10. package/dist/config/migration-manager.d.ts +46 -0
  11. package/dist/config/migration-manager.d.ts.map +1 -0
  12. package/dist/config/migration-manager.js +119 -0
  13. package/dist/config/migration-manager.js.map +1 -0
  14. package/dist/config/migration.d.ts +20 -0
  15. package/dist/config/migration.d.ts.map +1 -0
  16. package/dist/config/migration.js +155 -0
  17. package/dist/config/migration.js.map +1 -0
  18. package/dist/config/schema.d.ts +101 -0
  19. package/dist/config/schema.d.ts.map +1 -0
  20. package/dist/config/schema.js +58 -0
  21. package/dist/config/schema.js.map +1 -0
  22. package/dist/config/service.d.ts +122 -0
  23. package/dist/config/service.d.ts.map +1 -0
  24. package/dist/config/service.js +477 -0
  25. package/dist/config/service.js.map +1 -0
  26. package/dist/constants.d.ts +20 -0
  27. package/dist/constants.d.ts.map +1 -0
  28. package/dist/constants.js +43 -0
  29. package/dist/constants.js.map +1 -0
  30. package/dist/embeddings/cache.d.ts +45 -0
  31. package/dist/embeddings/cache.d.ts.map +1 -0
  32. package/dist/embeddings/cache.js +109 -0
  33. package/dist/embeddings/cache.js.map +1 -0
  34. package/dist/embeddings/local.d.ts +10 -0
  35. package/dist/embeddings/local.d.ts.map +1 -0
  36. package/dist/embeddings/local.js +63 -0
  37. package/dist/embeddings/local.js.map +1 -0
  38. package/dist/embeddings/types.d.ts +9 -0
  39. package/dist/embeddings/types.d.ts.map +1 -0
  40. package/dist/embeddings/types.js +5 -0
  41. package/dist/embeddings/types.js.map +1 -0
  42. package/dist/errors/codes.d.ts +18 -0
  43. package/dist/errors/codes.d.ts.map +1 -0
  44. package/dist/errors/codes.js +25 -0
  45. package/dist/errors/codes.js.map +1 -0
  46. package/dist/errors/index.d.ts +85 -0
  47. package/dist/errors/index.d.ts.map +1 -0
  48. package/dist/errors/index.js +134 -0
  49. package/dist/errors/index.js.map +1 -0
  50. package/dist/frameworks/detector-service.d.ts +59 -0
  51. package/dist/frameworks/detector-service.d.ts.map +1 -0
  52. package/dist/frameworks/detector-service.js +219 -0
  53. package/dist/frameworks/detector-service.js.map +1 -0
  54. package/dist/frameworks/laravel/config.d.ts +6 -0
  55. package/dist/frameworks/laravel/config.d.ts.map +1 -0
  56. package/dist/frameworks/laravel/config.js +68 -0
  57. package/dist/frameworks/laravel/config.js.map +1 -0
  58. package/dist/frameworks/laravel/detector.d.ts +6 -0
  59. package/dist/frameworks/laravel/detector.d.ts.map +1 -0
  60. package/dist/frameworks/laravel/detector.js +96 -0
  61. package/dist/frameworks/laravel/detector.js.map +1 -0
  62. package/dist/frameworks/nodejs/config.d.ts +6 -0
  63. package/dist/frameworks/nodejs/config.d.ts.map +1 -0
  64. package/dist/frameworks/nodejs/config.js +57 -0
  65. package/dist/frameworks/nodejs/config.js.map +1 -0
  66. package/dist/frameworks/nodejs/detector.d.ts +6 -0
  67. package/dist/frameworks/nodejs/detector.d.ts.map +1 -0
  68. package/dist/frameworks/nodejs/detector.js +77 -0
  69. package/dist/frameworks/nodejs/detector.js.map +1 -0
  70. package/dist/frameworks/php/config.d.ts +6 -0
  71. package/dist/frameworks/php/config.d.ts.map +1 -0
  72. package/dist/frameworks/php/config.js +53 -0
  73. package/dist/frameworks/php/config.js.map +1 -0
  74. package/dist/frameworks/php/detector.d.ts +7 -0
  75. package/dist/frameworks/php/detector.d.ts.map +1 -0
  76. package/dist/frameworks/php/detector.js +101 -0
  77. package/dist/frameworks/php/detector.js.map +1 -0
  78. package/dist/frameworks/registry.d.ts +20 -0
  79. package/dist/frameworks/registry.d.ts.map +1 -0
  80. package/dist/frameworks/registry.js +38 -0
  81. package/dist/frameworks/registry.js.map +1 -0
  82. package/dist/frameworks/shopify/config.d.ts +6 -0
  83. package/dist/frameworks/shopify/config.d.ts.map +1 -0
  84. package/dist/frameworks/shopify/config.js +50 -0
  85. package/dist/frameworks/shopify/config.js.map +1 -0
  86. package/dist/frameworks/shopify/detector.d.ts +6 -0
  87. package/dist/frameworks/shopify/detector.d.ts.map +1 -0
  88. package/dist/frameworks/shopify/detector.js +103 -0
  89. package/dist/frameworks/shopify/detector.js.map +1 -0
  90. package/dist/frameworks/types.d.ts +51 -0
  91. package/dist/frameworks/types.d.ts.map +1 -0
  92. package/dist/frameworks/types.js +21 -0
  93. package/dist/frameworks/types.js.map +1 -0
  94. package/dist/git/tracker.d.ts +56 -0
  95. package/dist/git/tracker.d.ts.map +1 -0
  96. package/dist/git/tracker.js +189 -0
  97. package/dist/git/tracker.js.map +1 -0
  98. package/dist/git/utils.d.ts +60 -0
  99. package/dist/git/utils.d.ts.map +1 -0
  100. package/dist/git/utils.js +152 -0
  101. package/dist/git/utils.js.map +1 -0
  102. package/dist/index.d.ts +77 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +95 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/indexer/ast/chunker.d.ts +28 -0
  107. package/dist/indexer/ast/chunker.d.ts.map +1 -0
  108. package/dist/indexer/ast/chunker.js +268 -0
  109. package/dist/indexer/ast/chunker.js.map +1 -0
  110. package/dist/indexer/ast/complexity/cognitive.d.ts +16 -0
  111. package/dist/indexer/ast/complexity/cognitive.d.ts.map +1 -0
  112. package/dist/indexer/ast/complexity/cognitive.js +106 -0
  113. package/dist/indexer/ast/complexity/cognitive.js.map +1 -0
  114. package/dist/indexer/ast/complexity/cyclomatic.d.ts +12 -0
  115. package/dist/indexer/ast/complexity/cyclomatic.d.ts.map +1 -0
  116. package/dist/indexer/ast/complexity/cyclomatic.js +61 -0
  117. package/dist/indexer/ast/complexity/cyclomatic.js.map +1 -0
  118. package/dist/indexer/ast/complexity/halstead.d.ts +55 -0
  119. package/dist/indexer/ast/complexity/halstead.d.ts.map +1 -0
  120. package/dist/indexer/ast/complexity/halstead.js +290 -0
  121. package/dist/indexer/ast/complexity/halstead.js.map +1 -0
  122. package/dist/indexer/ast/complexity/index.d.ts +13 -0
  123. package/dist/indexer/ast/complexity/index.d.ts.map +1 -0
  124. package/dist/indexer/ast/complexity/index.js +12 -0
  125. package/dist/indexer/ast/complexity/index.js.map +1 -0
  126. package/dist/indexer/ast/parser.d.ts +27 -0
  127. package/dist/indexer/ast/parser.d.ts.map +1 -0
  128. package/dist/indexer/ast/parser.js +103 -0
  129. package/dist/indexer/ast/parser.js.map +1 -0
  130. package/dist/indexer/ast/symbols.d.ts +17 -0
  131. package/dist/indexer/ast/symbols.d.ts.map +1 -0
  132. package/dist/indexer/ast/symbols.js +265 -0
  133. package/dist/indexer/ast/symbols.js.map +1 -0
  134. package/dist/indexer/ast/traversers/index.d.ts +19 -0
  135. package/dist/indexer/ast/traversers/index.d.ts.map +1 -0
  136. package/dist/indexer/ast/traversers/index.js +42 -0
  137. package/dist/indexer/ast/traversers/index.js.map +1 -0
  138. package/dist/indexer/ast/traversers/php.d.ts +21 -0
  139. package/dist/indexer/ast/traversers/php.d.ts.map +1 -0
  140. package/dist/indexer/ast/traversers/php.js +67 -0
  141. package/dist/indexer/ast/traversers/php.js.map +1 -0
  142. package/dist/indexer/ast/traversers/python.d.ts +28 -0
  143. package/dist/indexer/ast/traversers/python.d.ts.map +1 -0
  144. package/dist/indexer/ast/traversers/python.js +67 -0
  145. package/dist/indexer/ast/traversers/python.js.map +1 -0
  146. package/dist/indexer/ast/traversers/types.d.ts +98 -0
  147. package/dist/indexer/ast/traversers/types.d.ts.map +1 -0
  148. package/dist/indexer/ast/traversers/types.js +2 -0
  149. package/dist/indexer/ast/traversers/types.js.map +1 -0
  150. package/dist/indexer/ast/traversers/typescript.d.ts +29 -0
  151. package/dist/indexer/ast/traversers/typescript.d.ts.map +1 -0
  152. package/dist/indexer/ast/traversers/typescript.js +88 -0
  153. package/dist/indexer/ast/traversers/typescript.js.map +1 -0
  154. package/dist/indexer/ast/types.d.ts +59 -0
  155. package/dist/indexer/ast/types.d.ts.map +1 -0
  156. package/dist/indexer/ast/types.js +2 -0
  157. package/dist/indexer/ast/types.js.map +1 -0
  158. package/dist/indexer/change-detector.d.ts +17 -0
  159. package/dist/indexer/change-detector.d.ts.map +1 -0
  160. package/dist/indexer/change-detector.js +207 -0
  161. package/dist/indexer/change-detector.js.map +1 -0
  162. package/dist/indexer/chunk-batch-processor.d.ts +103 -0
  163. package/dist/indexer/chunk-batch-processor.d.ts.map +1 -0
  164. package/dist/indexer/chunk-batch-processor.js +179 -0
  165. package/dist/indexer/chunk-batch-processor.js.map +1 -0
  166. package/dist/indexer/chunker.d.ts +10 -0
  167. package/dist/indexer/chunker.d.ts.map +1 -0
  168. package/dist/indexer/chunker.js +96 -0
  169. package/dist/indexer/chunker.js.map +1 -0
  170. package/dist/indexer/dependency-analyzer.d.ts +60 -0
  171. package/dist/indexer/dependency-analyzer.d.ts.map +1 -0
  172. package/dist/indexer/dependency-analyzer.js +261 -0
  173. package/dist/indexer/dependency-analyzer.js.map +1 -0
  174. package/dist/indexer/incremental.d.ts +47 -0
  175. package/dist/indexer/incremental.d.ts.map +1 -0
  176. package/dist/indexer/incremental.js +284 -0
  177. package/dist/indexer/incremental.js.map +1 -0
  178. package/dist/indexer/index.d.ts +80 -0
  179. package/dist/indexer/index.d.ts.map +1 -0
  180. package/dist/indexer/index.js +364 -0
  181. package/dist/indexer/index.js.map +1 -0
  182. package/dist/indexer/json-template-chunker.d.ts +9 -0
  183. package/dist/indexer/json-template-chunker.d.ts.map +1 -0
  184. package/dist/indexer/json-template-chunker.js +83 -0
  185. package/dist/indexer/json-template-chunker.js.map +1 -0
  186. package/dist/indexer/liquid-chunker.d.ts +13 -0
  187. package/dist/indexer/liquid-chunker.d.ts.map +1 -0
  188. package/dist/indexer/liquid-chunker.js +272 -0
  189. package/dist/indexer/liquid-chunker.js.map +1 -0
  190. package/dist/indexer/manifest.d.ts +122 -0
  191. package/dist/indexer/manifest.d.ts.map +1 -0
  192. package/dist/indexer/manifest.js +262 -0
  193. package/dist/indexer/manifest.js.map +1 -0
  194. package/dist/indexer/progress-tracker.d.ts +35 -0
  195. package/dist/indexer/progress-tracker.d.ts.map +1 -0
  196. package/dist/indexer/progress-tracker.js +33 -0
  197. package/dist/indexer/progress-tracker.js.map +1 -0
  198. package/dist/indexer/scanner.d.ts +16 -0
  199. package/dist/indexer/scanner.d.ts.map +1 -0
  200. package/dist/indexer/scanner.js +159 -0
  201. package/dist/indexer/scanner.js.map +1 -0
  202. package/dist/indexer/symbol-extractor.d.ts +18 -0
  203. package/dist/indexer/symbol-extractor.d.ts.map +1 -0
  204. package/dist/indexer/symbol-extractor.js +351 -0
  205. package/dist/indexer/symbol-extractor.js.map +1 -0
  206. package/dist/indexer/types.d.ts +34 -0
  207. package/dist/indexer/types.d.ts.map +1 -0
  208. package/dist/indexer/types.js +2 -0
  209. package/dist/indexer/types.js.map +1 -0
  210. package/dist/insights/complexity-analyzer.d.ts +82 -0
  211. package/dist/insights/complexity-analyzer.d.ts.map +1 -0
  212. package/dist/insights/complexity-analyzer.js +356 -0
  213. package/dist/insights/complexity-analyzer.js.map +1 -0
  214. package/dist/insights/formatters/index.d.ts +11 -0
  215. package/dist/insights/formatters/index.d.ts.map +1 -0
  216. package/dist/insights/formatters/index.js +20 -0
  217. package/dist/insights/formatters/index.js.map +1 -0
  218. package/dist/insights/formatters/json.d.ts +7 -0
  219. package/dist/insights/formatters/json.d.ts.map +1 -0
  220. package/dist/insights/formatters/json.js +14 -0
  221. package/dist/insights/formatters/json.js.map +1 -0
  222. package/dist/insights/formatters/sarif.d.ts +6 -0
  223. package/dist/insights/formatters/sarif.d.ts.map +1 -0
  224. package/dist/insights/formatters/sarif.js +113 -0
  225. package/dist/insights/formatters/sarif.js.map +1 -0
  226. package/dist/insights/formatters/text.d.ts +6 -0
  227. package/dist/insights/formatters/text.d.ts.map +1 -0
  228. package/dist/insights/formatters/text.js +154 -0
  229. package/dist/insights/formatters/text.js.map +1 -0
  230. package/dist/insights/types.d.ts +73 -0
  231. package/dist/insights/types.d.ts.map +1 -0
  232. package/dist/insights/types.js +9 -0
  233. package/dist/insights/types.js.map +1 -0
  234. package/dist/types/index.d.ts +14 -0
  235. package/dist/types/index.d.ts.map +1 -0
  236. package/dist/types/index.js +8 -0
  237. package/dist/types/index.js.map +1 -0
  238. package/dist/utils/path-matching.d.ts +69 -0
  239. package/dist/utils/path-matching.d.ts.map +1 -0
  240. package/dist/utils/path-matching.js +123 -0
  241. package/dist/utils/path-matching.js.map +1 -0
  242. package/dist/utils/result.d.ts +65 -0
  243. package/dist/utils/result.d.ts.map +1 -0
  244. package/dist/utils/result.js +67 -0
  245. package/dist/utils/result.js.map +1 -0
  246. package/dist/utils/version.d.ts +22 -0
  247. package/dist/utils/version.d.ts.map +1 -0
  248. package/dist/utils/version.js +28 -0
  249. package/dist/utils/version.js.map +1 -0
  250. package/dist/vectordb/batch-insert.d.ts +14 -0
  251. package/dist/vectordb/batch-insert.d.ts.map +1 -0
  252. package/dist/vectordb/batch-insert.js +185 -0
  253. package/dist/vectordb/batch-insert.js.map +1 -0
  254. package/dist/vectordb/boosting/composer.d.ts +51 -0
  255. package/dist/vectordb/boosting/composer.d.ts.map +1 -0
  256. package/dist/vectordb/boosting/composer.js +65 -0
  257. package/dist/vectordb/boosting/composer.js.map +1 -0
  258. package/dist/vectordb/boosting/index.d.ts +22 -0
  259. package/dist/vectordb/boosting/index.d.ts.map +1 -0
  260. package/dist/vectordb/boosting/index.js +22 -0
  261. package/dist/vectordb/boosting/index.js.map +1 -0
  262. package/dist/vectordb/boosting/strategies.d.ts +40 -0
  263. package/dist/vectordb/boosting/strategies.d.ts.map +1 -0
  264. package/dist/vectordb/boosting/strategies.js +174 -0
  265. package/dist/vectordb/boosting/strategies.js.map +1 -0
  266. package/dist/vectordb/boosting/types.d.ts +20 -0
  267. package/dist/vectordb/boosting/types.d.ts.map +1 -0
  268. package/dist/vectordb/boosting/types.js +2 -0
  269. package/dist/vectordb/boosting/types.js.map +1 -0
  270. package/dist/vectordb/intent-classifier.d.ts +99 -0
  271. package/dist/vectordb/intent-classifier.d.ts.map +1 -0
  272. package/dist/vectordb/intent-classifier.js +193 -0
  273. package/dist/vectordb/intent-classifier.js.map +1 -0
  274. package/dist/vectordb/lancedb.d.ts +45 -0
  275. package/dist/vectordb/lancedb.d.ts.map +1 -0
  276. package/dist/vectordb/lancedb.js +203 -0
  277. package/dist/vectordb/lancedb.js.map +1 -0
  278. package/dist/vectordb/maintenance.d.ts +18 -0
  279. package/dist/vectordb/maintenance.d.ts.map +1 -0
  280. package/dist/vectordb/maintenance.js +87 -0
  281. package/dist/vectordb/maintenance.js.map +1 -0
  282. package/dist/vectordb/query.d.ts +34 -0
  283. package/dist/vectordb/query.d.ts.map +1 -0
  284. package/dist/vectordb/query.js +303 -0
  285. package/dist/vectordb/query.js.map +1 -0
  286. package/dist/vectordb/relevance.d.ts +15 -0
  287. package/dist/vectordb/relevance.d.ts.map +1 -0
  288. package/dist/vectordb/relevance.js +19 -0
  289. package/dist/vectordb/relevance.js.map +1 -0
  290. package/dist/vectordb/types.d.ts +29 -0
  291. package/dist/vectordb/types.d.ts.map +1 -0
  292. package/dist/vectordb/types.js +2 -0
  293. package/dist/vectordb/types.js.map +1 -0
  294. package/dist/vectordb/version.d.ts +16 -0
  295. package/dist/vectordb/version.d.ts.map +1 -0
  296. package/dist/vectordb/version.js +40 -0
  297. package/dist/vectordb/version.js.map +1 -0
  298. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol-extractor.js","sourceRoot":"","sources":["../../src/indexer/symbol-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export interface CodeChunk {
2
+ content: string;
3
+ metadata: ChunkMetadata;
4
+ }
5
+ export interface ChunkMetadata {
6
+ file: string;
7
+ startLine: number;
8
+ endLine: number;
9
+ type: 'function' | 'class' | 'block' | 'template';
10
+ language: string;
11
+ symbols?: {
12
+ functions: string[];
13
+ classes: string[];
14
+ interfaces: string[];
15
+ };
16
+ symbolName?: string;
17
+ symbolType?: 'function' | 'method' | 'class' | 'interface' | 'schema' | 'style' | 'javascript' | 'template';
18
+ parentClass?: string;
19
+ complexity?: number;
20
+ cognitiveComplexity?: number;
21
+ parameters?: string[];
22
+ signature?: string;
23
+ imports?: string[];
24
+ halsteadVolume?: number;
25
+ halsteadDifficulty?: number;
26
+ halsteadEffort?: number;
27
+ halsteadBugs?: number;
28
+ }
29
+ export interface ScanOptions {
30
+ rootDir: string;
31
+ includePatterns?: string[];
32
+ excludePatterns?: string[];
33
+ }
34
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/indexer/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE;QACR,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IAGF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAC;IAC5G,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAGnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/indexer/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,82 @@
1
+ import { VectorDB } from '../vectordb/lancedb.js';
2
+ import { LienConfig } from '../config/schema.js';
3
+ import { ComplexityReport } from './types.js';
4
+ /**
5
+ * Analyzer for code complexity based on indexed codebase
6
+ */
7
+ export declare class ComplexityAnalyzer {
8
+ private vectorDB;
9
+ private config;
10
+ constructor(vectorDB: VectorDB, config: LienConfig);
11
+ /**
12
+ * Analyze complexity of codebase or specific files
13
+ * @param files - Optional list of specific files to analyze
14
+ * @returns Complexity report with violations and summary
15
+ */
16
+ analyze(files?: string[]): Promise<ComplexityReport>;
17
+ /**
18
+ * Normalize a file path to a consistent relative format
19
+ * Converts absolute paths to relative paths from workspace root
20
+ */
21
+ private normalizeFilePath;
22
+ /**
23
+ * Check if a chunk's file matches any of the target files
24
+ * Uses exact match or suffix matching to avoid unintended matches
25
+ */
26
+ private matchesAnyFile;
27
+ /**
28
+ * Create a violation if complexity exceeds threshold
29
+ */
30
+ private createViolation;
31
+ /**
32
+ * Deduplicate and filter chunks to only function/method types.
33
+ * Handles potential index duplicates by tracking file+line ranges.
34
+ */
35
+ private getUniqueFunctionChunks;
36
+ /**
37
+ * Convert Halstead effort to time in minutes.
38
+ * Formula: Time (seconds) = Effort / 18 (Stroud number for mental discrimination)
39
+ * Time (minutes) = Effort / (18 * 60) = Effort / 1080
40
+ */
41
+ private effortToMinutes;
42
+ /**
43
+ * Format minutes as human-readable time (e.g., "2h 30m" or "45m")
44
+ */
45
+ private formatTime;
46
+ /**
47
+ * Create a Halstead violation if metrics exceed thresholds
48
+ */
49
+ private createHalsteadViolation;
50
+ /**
51
+ * Check complexity metrics and create violations for a single chunk.
52
+ */
53
+ private checkChunkComplexity;
54
+ /**
55
+ * Convert time in minutes to Halstead effort.
56
+ * This is the inverse of effortToMinutes().
57
+ * Formula: Time (seconds) = Effort / 18 (Stroud number)
58
+ * So: Effort = Time (minutes) * 60 * 18 = Time * 1080
59
+ */
60
+ private minutesToEffort;
61
+ /**
62
+ * Find all complexity violations based on thresholds.
63
+ * Checks cyclomatic, cognitive, and Halstead complexity.
64
+ */
65
+ private findViolations;
66
+ /**
67
+ * Build the final report with summary and per-file data
68
+ */
69
+ private buildReport;
70
+ /**
71
+ * Calculate risk level based on violations
72
+ */
73
+ private calculateRiskLevel;
74
+ /**
75
+ * Enrich files with violations with dependency data
76
+ * This adds:
77
+ * - List of dependent files (who imports this?)
78
+ * - Boosted risk level based on dependents + complexity
79
+ */
80
+ private enrichWithDependencies;
81
+ }
82
+ //# sourceMappingURL=complexity-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complexity-analyzer.d.ts","sourceRoot":"","sources":["../../src/insights/complexity-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAuB,gBAAgB,EAA8D,MAAM,YAAY,CAAC;AAY/H;;GAEG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;gBADN,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,UAAU;IAG5B;;;;OAIG;IACG,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuB1D;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkCvB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8D/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAIvB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,WAAW;IA2DnB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;CAqC/B"}
@@ -0,0 +1,356 @@
1
+ import { RISK_ORDER } from './types.js';
2
+ import { analyzeDependencies } from '../indexer/dependency-analyzer.js';
3
+ /**
4
+ * Hardcoded severity multipliers:
5
+ * - Warning: triggers at 1x threshold (e.g., testPaths >= 15)
6
+ * - Error: triggers at 2x threshold (e.g., testPaths >= 30)
7
+ */
8
+ const SEVERITY = { warning: 1.0, error: 2.0 };
9
+ /**
10
+ * Analyzer for code complexity based on indexed codebase
11
+ */
12
+ export class ComplexityAnalyzer {
13
+ vectorDB;
14
+ config;
15
+ constructor(vectorDB, config) {
16
+ this.vectorDB = vectorDB;
17
+ this.config = config;
18
+ }
19
+ /**
20
+ * Analyze complexity of codebase or specific files
21
+ * @param files - Optional list of specific files to analyze
22
+ * @returns Complexity report with violations and summary
23
+ */
24
+ async analyze(files) {
25
+ // 1. Get all chunks from index (uses full scan internally for LanceDB)
26
+ // Note: We fetch all chunks even with --files filter because dependency analysis
27
+ // needs the complete dataset to find dependents accurately
28
+ const allChunks = await this.vectorDB.scanAll();
29
+ // 2. Filter to specified files if provided
30
+ const chunks = files
31
+ ? allChunks.filter(c => this.matchesAnyFile(c.metadata.file, files))
32
+ : allChunks;
33
+ // 3. Find violations from filtered chunks
34
+ const violations = this.findViolations(chunks);
35
+ // 4. Build report - pass filtered chunks for file list, but keep violations from those files
36
+ const report = this.buildReport(violations, chunks);
37
+ // 5. Enrich files with violations with dependency data
38
+ this.enrichWithDependencies(report, allChunks);
39
+ return report;
40
+ }
41
+ /**
42
+ * Normalize a file path to a consistent relative format
43
+ * Converts absolute paths to relative paths from workspace root
44
+ */
45
+ normalizeFilePath(filepath) {
46
+ const workspaceRoot = process.cwd();
47
+ // Convert to forward slashes first
48
+ const normalized = filepath.replace(/\\/g, '/');
49
+ const normalizedRoot = workspaceRoot.replace(/\\/g, '/');
50
+ // Convert absolute paths to relative
51
+ if (normalized.startsWith(normalizedRoot + '/')) {
52
+ return normalized.slice(normalizedRoot.length + 1);
53
+ }
54
+ if (normalized.startsWith(normalizedRoot)) {
55
+ return normalized.slice(normalizedRoot.length);
56
+ }
57
+ return normalized;
58
+ }
59
+ /**
60
+ * Check if a chunk's file matches any of the target files
61
+ * Uses exact match or suffix matching to avoid unintended matches
62
+ */
63
+ matchesAnyFile(chunkFile, targetFiles) {
64
+ // Normalize to forward slashes for cross-platform consistency
65
+ // Don't use path.normalize() as its behavior is platform-dependent
66
+ const normalizedChunkFile = chunkFile.replace(/\\/g, '/');
67
+ return targetFiles.some(target => {
68
+ const normalizedTarget = target.replace(/\\/g, '/');
69
+ // Exact match or target is a suffix of the chunk file
70
+ return normalizedChunkFile === normalizedTarget ||
71
+ normalizedChunkFile.endsWith('/' + normalizedTarget);
72
+ });
73
+ }
74
+ /**
75
+ * Create a violation if complexity exceeds threshold
76
+ */
77
+ createViolation(metadata, complexity, baseThreshold, metricType) {
78
+ const warningThreshold = baseThreshold * SEVERITY.warning;
79
+ const errorThreshold = baseThreshold * SEVERITY.error;
80
+ if (complexity < warningThreshold)
81
+ return null;
82
+ const violationSeverity = complexity >= errorThreshold ? 'error' : 'warning';
83
+ const effectiveThreshold = violationSeverity === 'error' ? errorThreshold : warningThreshold;
84
+ // Human-friendly messages
85
+ const message = metricType === 'cyclomatic'
86
+ ? `Needs ~${complexity} test cases for full coverage (threshold: ${Math.round(effectiveThreshold)})`
87
+ : `Mental load ${complexity} exceeds threshold ${Math.round(effectiveThreshold)} (hard to follow)`;
88
+ return {
89
+ filepath: metadata.file,
90
+ startLine: metadata.startLine,
91
+ endLine: metadata.endLine,
92
+ symbolName: metadata.symbolName || 'unknown',
93
+ symbolType: metadata.symbolType,
94
+ language: metadata.language,
95
+ complexity,
96
+ threshold: Math.round(effectiveThreshold),
97
+ severity: violationSeverity,
98
+ message,
99
+ metricType,
100
+ };
101
+ }
102
+ /**
103
+ * Deduplicate and filter chunks to only function/method types.
104
+ * Handles potential index duplicates by tracking file+line ranges.
105
+ */
106
+ getUniqueFunctionChunks(chunks) {
107
+ const seen = new Set();
108
+ const result = [];
109
+ for (const { metadata } of chunks) {
110
+ if (metadata.symbolType !== 'function' && metadata.symbolType !== 'method')
111
+ continue;
112
+ const key = `${metadata.file}:${metadata.startLine}-${metadata.endLine}`;
113
+ if (seen.has(key))
114
+ continue;
115
+ seen.add(key);
116
+ result.push(metadata);
117
+ }
118
+ return result;
119
+ }
120
+ /**
121
+ * Convert Halstead effort to time in minutes.
122
+ * Formula: Time (seconds) = Effort / 18 (Stroud number for mental discrimination)
123
+ * Time (minutes) = Effort / (18 * 60) = Effort / 1080
124
+ */
125
+ effortToMinutes(effort) {
126
+ return effort / 1080;
127
+ }
128
+ /**
129
+ * Format minutes as human-readable time (e.g., "2h 30m" or "45m")
130
+ */
131
+ formatTime(minutes) {
132
+ if (minutes >= 60) {
133
+ const hours = Math.floor(minutes / 60);
134
+ const mins = Math.round(minutes % 60);
135
+ return mins > 0 ? `${hours}h ${mins}m` : `${hours}h`;
136
+ }
137
+ return `${Math.round(minutes)}m`;
138
+ }
139
+ /**
140
+ * Create a Halstead violation if metrics exceed thresholds
141
+ */
142
+ createHalsteadViolation(metadata, metricValue, threshold, metricType) {
143
+ const warningThreshold = threshold * SEVERITY.warning;
144
+ const errorThreshold = threshold * SEVERITY.error;
145
+ if (metricValue < warningThreshold)
146
+ return null;
147
+ const violationSeverity = metricValue >= errorThreshold ? 'error' : 'warning';
148
+ const effectiveThreshold = violationSeverity === 'error' ? errorThreshold : warningThreshold;
149
+ // For effort, show time in minutes; for bugs, show decimal with 2 places
150
+ let message;
151
+ if (metricType === 'halstead_effort') {
152
+ const timeMinutes = this.effortToMinutes(metricValue);
153
+ const thresholdMinutes = this.effortToMinutes(effectiveThreshold);
154
+ message = `Time to understand ~${this.formatTime(timeMinutes)} exceeds threshold ${this.formatTime(thresholdMinutes)}`;
155
+ }
156
+ else {
157
+ message = `Estimated bugs ${metricValue.toFixed(2)} exceeds threshold ${effectiveThreshold.toFixed(1)}`;
158
+ }
159
+ const halsteadDetails = {
160
+ volume: metadata.halsteadVolume || 0,
161
+ difficulty: metadata.halsteadDifficulty || 0,
162
+ effort: metadata.halsteadEffort || 0,
163
+ bugs: metadata.halsteadBugs || 0,
164
+ };
165
+ // Store human-scale values for complexity/threshold:
166
+ // - halstead_effort: rounded to integer minutes for readability (typical values 60-300)
167
+ // - halstead_bugs: kept as decimal for precision (typical values < 5, e.g. 1.5, 2.27)
168
+ let complexity;
169
+ let displayThreshold;
170
+ if (metricType === 'halstead_effort') {
171
+ // Convert raw effort to minutes and round for comparable deltas
172
+ complexity = Math.round(this.effortToMinutes(metricValue));
173
+ displayThreshold = Math.round(this.effortToMinutes(effectiveThreshold));
174
+ }
175
+ else {
176
+ // halstead_bugs: store as decimal for precision in small values
177
+ complexity = metricValue;
178
+ displayThreshold = effectiveThreshold;
179
+ }
180
+ return {
181
+ filepath: metadata.file,
182
+ startLine: metadata.startLine,
183
+ endLine: metadata.endLine,
184
+ symbolName: metadata.symbolName || 'unknown',
185
+ symbolType: metadata.symbolType,
186
+ language: metadata.language,
187
+ complexity,
188
+ threshold: displayThreshold,
189
+ severity: violationSeverity,
190
+ message,
191
+ metricType,
192
+ halsteadDetails,
193
+ };
194
+ }
195
+ /**
196
+ * Check complexity metrics and create violations for a single chunk.
197
+ */
198
+ checkChunkComplexity(metadata, thresholds) {
199
+ const violations = [];
200
+ // Check test paths (cyclomatic complexity)
201
+ if (metadata.complexity) {
202
+ const v = this.createViolation(metadata, metadata.complexity, thresholds.testPaths, 'cyclomatic');
203
+ if (v)
204
+ violations.push(v);
205
+ }
206
+ // Check mental load (cognitive complexity)
207
+ if (metadata.cognitiveComplexity) {
208
+ const v = this.createViolation(metadata, metadata.cognitiveComplexity, thresholds.mentalLoad, 'cognitive');
209
+ if (v)
210
+ violations.push(v);
211
+ }
212
+ // Check time to understand (Halstead effort)
213
+ if (thresholds.halsteadEffort && metadata.halsteadEffort) {
214
+ const v = this.createHalsteadViolation(metadata, metadata.halsteadEffort, thresholds.halsteadEffort, 'halstead_effort');
215
+ if (v)
216
+ violations.push(v);
217
+ }
218
+ // Check estimated bugs
219
+ if (thresholds.estimatedBugs && metadata.halsteadBugs) {
220
+ const v = this.createHalsteadViolation(metadata, metadata.halsteadBugs, thresholds.estimatedBugs, 'halstead_bugs');
221
+ if (v)
222
+ violations.push(v);
223
+ }
224
+ return violations;
225
+ }
226
+ /**
227
+ * Convert time in minutes to Halstead effort.
228
+ * This is the inverse of effortToMinutes().
229
+ * Formula: Time (seconds) = Effort / 18 (Stroud number)
230
+ * So: Effort = Time (minutes) * 60 * 18 = Time * 1080
231
+ */
232
+ minutesToEffort(minutes) {
233
+ return minutes * 1080;
234
+ }
235
+ /**
236
+ * Find all complexity violations based on thresholds.
237
+ * Checks cyclomatic, cognitive, and Halstead complexity.
238
+ */
239
+ findViolations(chunks) {
240
+ const configThresholds = this.config.complexity?.thresholds;
241
+ // Convert timeToUnderstandMinutes to effort internally
242
+ const halsteadEffort = configThresholds?.timeToUnderstandMinutes
243
+ ? this.minutesToEffort(configThresholds.timeToUnderstandMinutes)
244
+ : this.minutesToEffort(60); // Default: 60 minutes = 64,800 effort
245
+ const thresholds = {
246
+ testPaths: configThresholds?.testPaths ?? 15,
247
+ mentalLoad: configThresholds?.mentalLoad ?? 15,
248
+ halsteadEffort, // Converted from minutes to effort internally (see above)
249
+ estimatedBugs: configThresholds?.estimatedBugs ?? 1.5, // Direct decimal value (no conversion needed)
250
+ };
251
+ const functionChunks = this.getUniqueFunctionChunks(chunks);
252
+ return functionChunks.flatMap(metadata => this.checkChunkComplexity(metadata, thresholds));
253
+ }
254
+ /**
255
+ * Build the final report with summary and per-file data
256
+ */
257
+ buildReport(violations, allChunks) {
258
+ // Normalize violation filepaths and group by normalized path
259
+ const fileViolationsMap = new Map();
260
+ for (const violation of violations) {
261
+ const normalizedPath = this.normalizeFilePath(violation.filepath);
262
+ // Update violation's filepath to normalized form
263
+ violation.filepath = normalizedPath;
264
+ const existing = fileViolationsMap.get(normalizedPath) || [];
265
+ existing.push(violation);
266
+ fileViolationsMap.set(normalizedPath, existing);
267
+ }
268
+ // Get unique files from all analyzed chunks, normalized to relative paths
269
+ const analyzedFiles = new Set(allChunks.map(c => this.normalizeFilePath(c.metadata.file)));
270
+ // Build file data
271
+ const files = {};
272
+ for (const filepath of analyzedFiles) {
273
+ const fileViolations = fileViolationsMap.get(filepath) || [];
274
+ files[filepath] = {
275
+ violations: fileViolations,
276
+ dependents: [], // Will be enriched later if needed
277
+ testAssociations: [], // Will be enriched later if needed
278
+ riskLevel: this.calculateRiskLevel(fileViolations),
279
+ };
280
+ }
281
+ // Calculate summary statistics
282
+ const errorCount = violations.filter(v => v.severity === 'error').length;
283
+ const warningCount = violations.filter(v => v.severity === 'warning').length;
284
+ // Calculate average and max complexity from all chunks with complexity data
285
+ const complexityValues = allChunks
286
+ .filter(c => c.metadata.complexity !== undefined && c.metadata.complexity > 0)
287
+ .map(c => c.metadata.complexity);
288
+ const avgComplexity = complexityValues.length > 0
289
+ ? complexityValues.reduce((sum, val) => sum + val, 0) / complexityValues.length
290
+ : 0;
291
+ const maxComplexity = complexityValues.length > 0
292
+ ? Math.max(...complexityValues)
293
+ : 0;
294
+ return {
295
+ summary: {
296
+ filesAnalyzed: analyzedFiles.size,
297
+ totalViolations: violations.length,
298
+ bySeverity: { error: errorCount, warning: warningCount },
299
+ avgComplexity: Math.round(avgComplexity * 10) / 10, // Round to 1 decimal
300
+ maxComplexity,
301
+ },
302
+ files,
303
+ };
304
+ }
305
+ /**
306
+ * Calculate risk level based on violations
307
+ */
308
+ calculateRiskLevel(violations) {
309
+ if (violations.length === 0)
310
+ return 'low';
311
+ const hasErrors = violations.some(v => v.severity === 'error');
312
+ const errorCount = violations.filter(v => v.severity === 'error').length;
313
+ if (errorCount >= 3)
314
+ return 'critical';
315
+ if (hasErrors)
316
+ return 'high';
317
+ if (violations.length >= 3)
318
+ return 'medium';
319
+ return 'low';
320
+ }
321
+ /**
322
+ * Enrich files with violations with dependency data
323
+ * This adds:
324
+ * - List of dependent files (who imports this?)
325
+ * - Boosted risk level based on dependents + complexity
326
+ */
327
+ enrichWithDependencies(report, allChunks) {
328
+ const workspaceRoot = process.cwd();
329
+ // Only enrich files that have violations (to save computation)
330
+ const filesWithViolations = Object.entries(report.files)
331
+ .filter(([_, data]) => data.violations.length > 0)
332
+ .map(([filepath, _]) => filepath);
333
+ for (const filepath of filesWithViolations) {
334
+ const fileData = report.files[filepath];
335
+ // Analyze dependencies for this file
336
+ const depAnalysis = analyzeDependencies(filepath, allChunks, workspaceRoot);
337
+ // Update file data with dependency information
338
+ fileData.dependents = depAnalysis.dependents.map(d => d.filepath);
339
+ fileData.dependentCount = depAnalysis.dependentCount;
340
+ // Boost risk level based on dependency analysis
341
+ // Take the higher of the two risk levels
342
+ if (RISK_ORDER[depAnalysis.riskLevel] > RISK_ORDER[fileData.riskLevel]) {
343
+ fileData.riskLevel = depAnalysis.riskLevel;
344
+ }
345
+ // Add complexity metrics if available
346
+ if (depAnalysis.complexityMetrics) {
347
+ fileData.dependentComplexityMetrics = {
348
+ averageComplexity: depAnalysis.complexityMetrics.averageComplexity,
349
+ maxComplexity: depAnalysis.complexityMetrics.maxComplexity,
350
+ filesWithComplexityData: depAnalysis.complexityMetrics.filesWithComplexityData,
351
+ };
352
+ }
353
+ }
354
+ }
355
+ }
356
+ //# sourceMappingURL=complexity-analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complexity-analyzer.js","sourceRoot":"","sources":["../../src/insights/complexity-analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ComplexityReport } from '../types.js';
2
+ import { formatTextReport } from './text.js';
3
+ import { formatJsonReport } from './json.js';
4
+ import { formatSarifReport } from './sarif.js';
5
+ export type OutputFormat = 'text' | 'json' | 'sarif';
6
+ /**
7
+ * Format complexity report in the specified format
8
+ */
9
+ export declare function formatReport(report: ComplexityReport, format: OutputFormat): string;
10
+ export { formatTextReport, formatJsonReport, formatSarifReport };
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/insights/formatters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAErD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,YAAY,GACnB,MAAM,CAUR;AAGD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { formatTextReport } from './text.js';
2
+ import { formatJsonReport } from './json.js';
3
+ import { formatSarifReport } from './sarif.js';
4
+ /**
5
+ * Format complexity report in the specified format
6
+ */
7
+ export function formatReport(report, format) {
8
+ switch (format) {
9
+ case 'json':
10
+ return formatJsonReport(report);
11
+ case 'sarif':
12
+ return formatSarifReport(report);
13
+ case 'text':
14
+ default:
15
+ return formatTextReport(report);
16
+ }
17
+ }
18
+ // Export individual formatters
19
+ export { formatTextReport, formatJsonReport, formatSarifReport };
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/insights/formatters/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAI/C;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAwB,EACxB,MAAoB;IAEpB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,+BAA+B;AAC/B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ComplexityReport } from '../types.js';
2
+ /**
3
+ * Format complexity report as JSON for consumption by GitHub Action.
4
+ * Only includes files with violations to reduce noise.
5
+ */
6
+ export declare function formatJsonReport(report: ComplexityReport): string;
7
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/insights/formatters/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAYjE"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Format complexity report as JSON for consumption by GitHub Action.
3
+ * Only includes files with violations to reduce noise.
4
+ */
5
+ export function formatJsonReport(report) {
6
+ // Filter to only files with violations - no point showing files with empty arrays
7
+ const filesWithViolations = Object.fromEntries(Object.entries(report.files).filter(([_, data]) => data.violations.length > 0));
8
+ const filteredReport = {
9
+ summary: report.summary,
10
+ files: filesWithViolations,
11
+ };
12
+ return JSON.stringify(filteredReport, null, 2);
13
+ }
14
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/insights/formatters/json.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAwB;IACvD,kFAAkF;IAClF,MAAM,mBAAmB,GAAG,MAAM,CAAC,WAAW,CAC5C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAC/E,CAAC;IAEF,MAAM,cAAc,GAAqB;QACvC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,mBAAmB;KAC3B,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ComplexityReport } from '../types.js';
2
+ /**
3
+ * Format complexity report as SARIF for GitHub Code Scanning
4
+ */
5
+ export declare function formatSarifReport(report: ComplexityReport): string;
6
+ //# sourceMappingURL=sarif.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sarif.d.ts","sourceRoot":"","sources":["../../../src/insights/formatters/sarif.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAyE/C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAqGlE"}