@opencodereview/core 1.9.1

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 (453) hide show
  1. package/dist/ai/anthropic-provider.d.ts +41 -0
  2. package/dist/ai/anthropic-provider.d.ts.map +1 -0
  3. package/dist/ai/anthropic-provider.js +139 -0
  4. package/dist/ai/anthropic-provider.js.map +1 -0
  5. package/dist/ai/index.d.ts +39 -0
  6. package/dist/ai/index.d.ts.map +1 -0
  7. package/dist/ai/index.js +41 -0
  8. package/dist/ai/index.js.map +1 -0
  9. package/dist/ai/ollama-provider.d.ts +46 -0
  10. package/dist/ai/ollama-provider.d.ts.map +1 -0
  11. package/dist/ai/ollama-provider.js +149 -0
  12. package/dist/ai/ollama-provider.js.map +1 -0
  13. package/dist/ai/openai-provider.d.ts +44 -0
  14. package/dist/ai/openai-provider.d.ts.map +1 -0
  15. package/dist/ai/openai-provider.js +137 -0
  16. package/dist/ai/openai-provider.js.map +1 -0
  17. package/dist/ai/orchestrator.d.ts +60 -0
  18. package/dist/ai/orchestrator.d.ts.map +1 -0
  19. package/dist/ai/orchestrator.js +188 -0
  20. package/dist/ai/orchestrator.js.map +1 -0
  21. package/dist/ai/prompts.d.ts +27 -0
  22. package/dist/ai/prompts.d.ts.map +1 -0
  23. package/dist/ai/prompts.js +112 -0
  24. package/dist/ai/prompts.js.map +1 -0
  25. package/dist/ai/types.d.ts +75 -0
  26. package/dist/ai/types.d.ts.map +1 -0
  27. package/dist/ai/types.js +10 -0
  28. package/dist/ai/types.js.map +1 -0
  29. package/dist/ai/v4/embedding/index.d.ts +10 -0
  30. package/dist/ai/v4/embedding/index.d.ts.map +1 -0
  31. package/dist/ai/v4/embedding/index.js +10 -0
  32. package/dist/ai/v4/embedding/index.js.map +1 -0
  33. package/dist/ai/v4/embedding/local.d.ts +68 -0
  34. package/dist/ai/v4/embedding/local.d.ts.map +1 -0
  35. package/dist/ai/v4/embedding/local.js +167 -0
  36. package/dist/ai/v4/embedding/local.js.map +1 -0
  37. package/dist/ai/v4/embedding/ollama.d.ts +58 -0
  38. package/dist/ai/v4/embedding/ollama.d.ts.map +1 -0
  39. package/dist/ai/v4/embedding/ollama.js +101 -0
  40. package/dist/ai/v4/embedding/ollama.js.map +1 -0
  41. package/dist/ai/v4/embedding/openai.d.ts +36 -0
  42. package/dist/ai/v4/embedding/openai.d.ts.map +1 -0
  43. package/dist/ai/v4/embedding/openai.js +76 -0
  44. package/dist/ai/v4/embedding/openai.js.map +1 -0
  45. package/dist/ai/v4/embedding/similarity.d.ts +36 -0
  46. package/dist/ai/v4/embedding/similarity.d.ts.map +1 -0
  47. package/dist/ai/v4/embedding/similarity.js +60 -0
  48. package/dist/ai/v4/embedding/similarity.js.map +1 -0
  49. package/dist/ai/v4/index.d.ts +51 -0
  50. package/dist/ai/v4/index.d.ts.map +1 -0
  51. package/dist/ai/v4/index.js +54 -0
  52. package/dist/ai/v4/index.js.map +1 -0
  53. package/dist/ai/v4/llm/anthropic.d.ts +38 -0
  54. package/dist/ai/v4/llm/anthropic.d.ts.map +1 -0
  55. package/dist/ai/v4/llm/anthropic.js +86 -0
  56. package/dist/ai/v4/llm/anthropic.js.map +1 -0
  57. package/dist/ai/v4/llm/index.d.ts +9 -0
  58. package/dist/ai/v4/llm/index.d.ts.map +1 -0
  59. package/dist/ai/v4/llm/index.js +9 -0
  60. package/dist/ai/v4/llm/index.js.map +1 -0
  61. package/dist/ai/v4/llm/ollama.d.ts +39 -0
  62. package/dist/ai/v4/llm/ollama.d.ts.map +1 -0
  63. package/dist/ai/v4/llm/ollama.js +95 -0
  64. package/dist/ai/v4/llm/ollama.js.map +1 -0
  65. package/dist/ai/v4/llm/openai.d.ts +38 -0
  66. package/dist/ai/v4/llm/openai.d.ts.map +1 -0
  67. package/dist/ai/v4/llm/openai.js +88 -0
  68. package/dist/ai/v4/llm/openai.js.map +1 -0
  69. package/dist/ai/v4/patterns/defect-patterns.d.ts +57 -0
  70. package/dist/ai/v4/patterns/defect-patterns.d.ts.map +1 -0
  71. package/dist/ai/v4/patterns/defect-patterns.js +331 -0
  72. package/dist/ai/v4/patterns/defect-patterns.js.map +1 -0
  73. package/dist/ai/v4/patterns/index.d.ts +8 -0
  74. package/dist/ai/v4/patterns/index.d.ts.map +1 -0
  75. package/dist/ai/v4/patterns/index.js +7 -0
  76. package/dist/ai/v4/patterns/index.js.map +1 -0
  77. package/dist/ai/v4/pipeline.d.ts +74 -0
  78. package/dist/ai/v4/pipeline.d.ts.map +1 -0
  79. package/dist/ai/v4/pipeline.js +381 -0
  80. package/dist/ai/v4/pipeline.js.map +1 -0
  81. package/dist/ai/v4/sla.d.ts +62 -0
  82. package/dist/ai/v4/sla.d.ts.map +1 -0
  83. package/dist/ai/v4/sla.js +136 -0
  84. package/dist/ai/v4/sla.js.map +1 -0
  85. package/dist/ai/v4/types.d.ts +117 -0
  86. package/dist/ai/v4/types.d.ts.map +1 -0
  87. package/dist/ai/v4/types.js +16 -0
  88. package/dist/ai/v4/types.js.map +1 -0
  89. package/dist/ai-healer/prompt-builder.d.ts +33 -0
  90. package/dist/ai-healer/prompt-builder.d.ts.map +1 -0
  91. package/dist/ai-healer/prompt-builder.js +89 -0
  92. package/dist/ai-healer/prompt-builder.js.map +1 -0
  93. package/dist/config/defaults.d.ts +14 -0
  94. package/dist/config/defaults.d.ts.map +1 -0
  95. package/dist/config/defaults.js +57 -0
  96. package/dist/config/defaults.js.map +1 -0
  97. package/dist/config/index.d.ts +8 -0
  98. package/dist/config/index.d.ts.map +1 -0
  99. package/dist/config/index.js +6 -0
  100. package/dist/config/index.js.map +1 -0
  101. package/dist/config/loader.d.ts +33 -0
  102. package/dist/config/loader.d.ts.map +1 -0
  103. package/dist/config/loader.js +245 -0
  104. package/dist/config/loader.js.map +1 -0
  105. package/dist/config/types.d.ts +58 -0
  106. package/dist/config/types.d.ts.map +1 -0
  107. package/dist/config/types.js +7 -0
  108. package/dist/config/types.js.map +1 -0
  109. package/dist/config/v4-config.d.ts +77 -0
  110. package/dist/config/v4-config.d.ts.map +1 -0
  111. package/dist/config/v4-config.js +336 -0
  112. package/dist/config/v4-config.js.map +1 -0
  113. package/dist/detectors/ai-detector.d.ts +38 -0
  114. package/dist/detectors/ai-detector.d.ts.map +1 -0
  115. package/dist/detectors/ai-detector.js +62 -0
  116. package/dist/detectors/ai-detector.js.map +1 -0
  117. package/dist/detectors/context-break.d.ts +57 -0
  118. package/dist/detectors/context-break.d.ts.map +1 -0
  119. package/dist/detectors/context-break.js +199 -0
  120. package/dist/detectors/context-break.js.map +1 -0
  121. package/dist/detectors/deep-hallucination.d.ts +42 -0
  122. package/dist/detectors/deep-hallucination.d.ts.map +1 -0
  123. package/dist/detectors/deep-hallucination.js +297 -0
  124. package/dist/detectors/deep-hallucination.js.map +1 -0
  125. package/dist/detectors/duplication.d.ts +61 -0
  126. package/dist/detectors/duplication.d.ts.map +1 -0
  127. package/dist/detectors/duplication.js +204 -0
  128. package/dist/detectors/duplication.js.map +1 -0
  129. package/dist/detectors/hallucination.d.ts +80 -0
  130. package/dist/detectors/hallucination.d.ts.map +1 -0
  131. package/dist/detectors/hallucination.js +350 -0
  132. package/dist/detectors/hallucination.js.map +1 -0
  133. package/dist/detectors/index.d.ts +35 -0
  134. package/dist/detectors/index.d.ts.map +1 -0
  135. package/dist/detectors/index.js +33 -0
  136. package/dist/detectors/index.js.map +1 -0
  137. package/dist/detectors/logic-gap.d.ts +58 -0
  138. package/dist/detectors/logic-gap.d.ts.map +1 -0
  139. package/dist/detectors/logic-gap.js +284 -0
  140. package/dist/detectors/logic-gap.js.map +1 -0
  141. package/dist/detectors/over-engineering.d.ts +44 -0
  142. package/dist/detectors/over-engineering.d.ts.map +1 -0
  143. package/dist/detectors/over-engineering.js +257 -0
  144. package/dist/detectors/over-engineering.js.map +1 -0
  145. package/dist/detectors/security-pattern.d.ts +43 -0
  146. package/dist/detectors/security-pattern.d.ts.map +1 -0
  147. package/dist/detectors/security-pattern.js +235 -0
  148. package/dist/detectors/security-pattern.js.map +1 -0
  149. package/dist/detectors/stale-api.d.ts +44 -0
  150. package/dist/detectors/stale-api.d.ts.map +1 -0
  151. package/dist/detectors/stale-api.js +160 -0
  152. package/dist/detectors/stale-api.js.map +1 -0
  153. package/dist/detectors/type-safety.d.ts +41 -0
  154. package/dist/detectors/type-safety.d.ts.map +1 -0
  155. package/dist/detectors/type-safety.js +306 -0
  156. package/dist/detectors/type-safety.js.map +1 -0
  157. package/dist/detectors/v4/context-coherence.d.ts +67 -0
  158. package/dist/detectors/v4/context-coherence.d.ts.map +1 -0
  159. package/dist/detectors/v4/context-coherence.js +319 -0
  160. package/dist/detectors/v4/context-coherence.js.map +1 -0
  161. package/dist/detectors/v4/hallucinated-import.d.ts +52 -0
  162. package/dist/detectors/v4/hallucinated-import.d.ts.map +1 -0
  163. package/dist/detectors/v4/hallucinated-import.js +206 -0
  164. package/dist/detectors/v4/hallucinated-import.js.map +1 -0
  165. package/dist/detectors/v4/index.d.ts +28 -0
  166. package/dist/detectors/v4/index.d.ts.map +1 -0
  167. package/dist/detectors/v4/index.js +40 -0
  168. package/dist/detectors/v4/index.js.map +1 -0
  169. package/dist/detectors/v4/over-engineering.d.ts +69 -0
  170. package/dist/detectors/v4/over-engineering.d.ts.map +1 -0
  171. package/dist/detectors/v4/over-engineering.js +234 -0
  172. package/dist/detectors/v4/over-engineering.js.map +1 -0
  173. package/dist/detectors/v4/security-pattern.d.ts +46 -0
  174. package/dist/detectors/v4/security-pattern.d.ts.map +1 -0
  175. package/dist/detectors/v4/security-pattern.js +233 -0
  176. package/dist/detectors/v4/security-pattern.js.map +1 -0
  177. package/dist/detectors/v4/stale-api.d.ts +59 -0
  178. package/dist/detectors/v4/stale-api.d.ts.map +1 -0
  179. package/dist/detectors/v4/stale-api.js +470 -0
  180. package/dist/detectors/v4/stale-api.js.map +1 -0
  181. package/dist/detectors/v4/types.d.ts +74 -0
  182. package/dist/detectors/v4/types.d.ts.map +1 -0
  183. package/dist/detectors/v4/types.js +10 -0
  184. package/dist/detectors/v4/types.js.map +1 -0
  185. package/dist/diff/filter.d.ts +35 -0
  186. package/dist/diff/filter.d.ts.map +1 -0
  187. package/dist/diff/filter.js +65 -0
  188. package/dist/diff/filter.js.map +1 -0
  189. package/dist/diff/index.d.ts +9 -0
  190. package/dist/diff/index.d.ts.map +1 -0
  191. package/dist/diff/index.js +8 -0
  192. package/dist/diff/index.js.map +1 -0
  193. package/dist/diff/parser.d.ts +61 -0
  194. package/dist/diff/parser.d.ts.map +1 -0
  195. package/dist/diff/parser.js +203 -0
  196. package/dist/diff/parser.js.map +1 -0
  197. package/dist/i18n/en.d.ts +18 -0
  198. package/dist/i18n/en.d.ts.map +1 -0
  199. package/dist/i18n/en.js +83 -0
  200. package/dist/i18n/en.js.map +1 -0
  201. package/dist/i18n/index.d.ts +13 -0
  202. package/dist/i18n/index.d.ts.map +1 -0
  203. package/dist/i18n/index.js +14 -0
  204. package/dist/i18n/index.js.map +1 -0
  205. package/dist/i18n/provider.d.ts +54 -0
  206. package/dist/i18n/provider.d.ts.map +1 -0
  207. package/dist/i18n/provider.js +88 -0
  208. package/dist/i18n/provider.js.map +1 -0
  209. package/dist/i18n/types.d.ts +37 -0
  210. package/dist/i18n/types.d.ts.map +1 -0
  211. package/dist/i18n/types.js +10 -0
  212. package/dist/i18n/types.js.map +1 -0
  213. package/dist/i18n/zh.d.ts +14 -0
  214. package/dist/i18n/zh.d.ts.map +1 -0
  215. package/dist/i18n/zh.js +83 -0
  216. package/dist/i18n/zh.js.map +1 -0
  217. package/dist/index.d.ts +113 -0
  218. package/dist/index.d.ts.map +1 -0
  219. package/dist/index.js +106 -0
  220. package/dist/index.js.map +1 -0
  221. package/dist/ir/index.d.ts +10 -0
  222. package/dist/ir/index.d.ts.map +1 -0
  223. package/dist/ir/index.js +9 -0
  224. package/dist/ir/index.js.map +1 -0
  225. package/dist/ir/types.d.ts +126 -0
  226. package/dist/ir/types.d.ts.map +1 -0
  227. package/dist/ir/types.js +33 -0
  228. package/dist/ir/types.js.map +1 -0
  229. package/dist/languages/go/index.d.ts +7 -0
  230. package/dist/languages/go/index.d.ts.map +1 -0
  231. package/dist/languages/go/index.js +7 -0
  232. package/dist/languages/go/index.js.map +1 -0
  233. package/dist/languages/go/parser.d.ts +89 -0
  234. package/dist/languages/go/parser.d.ts.map +1 -0
  235. package/dist/languages/go/parser.js +509 -0
  236. package/dist/languages/go/parser.js.map +1 -0
  237. package/dist/languages/index.d.ts +13 -0
  238. package/dist/languages/index.d.ts.map +1 -0
  239. package/dist/languages/index.js +14 -0
  240. package/dist/languages/index.js.map +1 -0
  241. package/dist/languages/java/index.d.ts +7 -0
  242. package/dist/languages/java/index.d.ts.map +1 -0
  243. package/dist/languages/java/index.js +7 -0
  244. package/dist/languages/java/index.js.map +1 -0
  245. package/dist/languages/java/parser.d.ts +82 -0
  246. package/dist/languages/java/parser.d.ts.map +1 -0
  247. package/dist/languages/java/parser.js +492 -0
  248. package/dist/languages/java/parser.js.map +1 -0
  249. package/dist/languages/kotlin/index.d.ts +7 -0
  250. package/dist/languages/kotlin/index.d.ts.map +1 -0
  251. package/dist/languages/kotlin/index.js +7 -0
  252. package/dist/languages/kotlin/index.js.map +1 -0
  253. package/dist/languages/kotlin/parser.d.ts +84 -0
  254. package/dist/languages/kotlin/parser.d.ts.map +1 -0
  255. package/dist/languages/kotlin/parser.js +507 -0
  256. package/dist/languages/kotlin/parser.js.map +1 -0
  257. package/dist/languages/python/index.d.ts +7 -0
  258. package/dist/languages/python/index.d.ts.map +1 -0
  259. package/dist/languages/python/index.js +7 -0
  260. package/dist/languages/python/index.js.map +1 -0
  261. package/dist/languages/python/parser.d.ts +91 -0
  262. package/dist/languages/python/parser.d.ts.map +1 -0
  263. package/dist/languages/python/parser.js +375 -0
  264. package/dist/languages/python/parser.js.map +1 -0
  265. package/dist/languages/registry.d.ts +81 -0
  266. package/dist/languages/registry.d.ts.map +1 -0
  267. package/dist/languages/registry.js +150 -0
  268. package/dist/languages/registry.js.map +1 -0
  269. package/dist/languages/types.d.ts +137 -0
  270. package/dist/languages/types.d.ts.map +1 -0
  271. package/dist/languages/types.js +10 -0
  272. package/dist/languages/types.js.map +1 -0
  273. package/dist/languages/typescript/index.d.ts +7 -0
  274. package/dist/languages/typescript/index.d.ts.map +1 -0
  275. package/dist/languages/typescript/index.js +7 -0
  276. package/dist/languages/typescript/index.js.map +1 -0
  277. package/dist/languages/typescript/parser.d.ts +51 -0
  278. package/dist/languages/typescript/parser.d.ts.map +1 -0
  279. package/dist/languages/typescript/parser.js +286 -0
  280. package/dist/languages/typescript/parser.js.map +1 -0
  281. package/dist/license/generator.d.ts +43 -0
  282. package/dist/license/generator.d.ts.map +1 -0
  283. package/dist/license/generator.js +72 -0
  284. package/dist/license/generator.js.map +1 -0
  285. package/dist/license/index.d.ts +11 -0
  286. package/dist/license/index.d.ts.map +1 -0
  287. package/dist/license/index.js +12 -0
  288. package/dist/license/index.js.map +1 -0
  289. package/dist/license/types.d.ts +85 -0
  290. package/dist/license/types.d.ts.map +1 -0
  291. package/dist/license/types.js +10 -0
  292. package/dist/license/types.js.map +1 -0
  293. package/dist/license/validator.d.ts +77 -0
  294. package/dist/license/validator.d.ts.map +1 -0
  295. package/dist/license/validator.js +275 -0
  296. package/dist/license/validator.js.map +1 -0
  297. package/dist/parser/extractor.d.ts +31 -0
  298. package/dist/parser/extractor.d.ts.map +1 -0
  299. package/dist/parser/extractor.js +10 -0
  300. package/dist/parser/extractor.js.map +1 -0
  301. package/dist/parser/extractors/go.d.ts +21 -0
  302. package/dist/parser/extractors/go.d.ts.map +1 -0
  303. package/dist/parser/extractors/go.js +569 -0
  304. package/dist/parser/extractors/go.js.map +1 -0
  305. package/dist/parser/extractors/index.d.ts +13 -0
  306. package/dist/parser/extractors/index.d.ts.map +1 -0
  307. package/dist/parser/extractors/index.js +13 -0
  308. package/dist/parser/extractors/index.js.map +1 -0
  309. package/dist/parser/extractors/java.d.ts +24 -0
  310. package/dist/parser/extractors/java.d.ts.map +1 -0
  311. package/dist/parser/extractors/java.js +611 -0
  312. package/dist/parser/extractors/java.js.map +1 -0
  313. package/dist/parser/extractors/kotlin.d.ts +25 -0
  314. package/dist/parser/extractors/kotlin.d.ts.map +1 -0
  315. package/dist/parser/extractors/kotlin.js +665 -0
  316. package/dist/parser/extractors/kotlin.js.map +1 -0
  317. package/dist/parser/extractors/python.d.ts +21 -0
  318. package/dist/parser/extractors/python.d.ts.map +1 -0
  319. package/dist/parser/extractors/python.js +514 -0
  320. package/dist/parser/extractors/python.js.map +1 -0
  321. package/dist/parser/extractors/typescript.d.ts +23 -0
  322. package/dist/parser/extractors/typescript.d.ts.map +1 -0
  323. package/dist/parser/extractors/typescript.js +664 -0
  324. package/dist/parser/extractors/typescript.js.map +1 -0
  325. package/dist/parser/index.d.ts +15 -0
  326. package/dist/parser/index.d.ts.map +1 -0
  327. package/dist/parser/index.js +14 -0
  328. package/dist/parser/index.js.map +1 -0
  329. package/dist/parser/manager.d.ts +50 -0
  330. package/dist/parser/manager.d.ts.map +1 -0
  331. package/dist/parser/manager.js +159 -0
  332. package/dist/parser/manager.js.map +1 -0
  333. package/dist/registry/builtins/go-builtins.d.ts +13 -0
  334. package/dist/registry/builtins/go-builtins.d.ts.map +1 -0
  335. package/dist/registry/builtins/go-builtins.js +63 -0
  336. package/dist/registry/builtins/go-builtins.js.map +1 -0
  337. package/dist/registry/builtins/java-builtins.d.ts +10 -0
  338. package/dist/registry/builtins/java-builtins.d.ts.map +1 -0
  339. package/dist/registry/builtins/java-builtins.js +59 -0
  340. package/dist/registry/builtins/java-builtins.js.map +1 -0
  341. package/dist/registry/builtins/kotlin-builtins.d.ts +10 -0
  342. package/dist/registry/builtins/kotlin-builtins.d.ts.map +1 -0
  343. package/dist/registry/builtins/kotlin-builtins.js +38 -0
  344. package/dist/registry/builtins/kotlin-builtins.js.map +1 -0
  345. package/dist/registry/builtins/node-builtins.d.ts +10 -0
  346. package/dist/registry/builtins/node-builtins.d.ts.map +1 -0
  347. package/dist/registry/builtins/node-builtins.js +36 -0
  348. package/dist/registry/builtins/node-builtins.js.map +1 -0
  349. package/dist/registry/builtins/python-builtins.d.ts +10 -0
  350. package/dist/registry/builtins/python-builtins.d.ts.map +1 -0
  351. package/dist/registry/builtins/python-builtins.js +43 -0
  352. package/dist/registry/builtins/python-builtins.js.map +1 -0
  353. package/dist/registry/cache.d.ts +53 -0
  354. package/dist/registry/cache.d.ts.map +1 -0
  355. package/dist/registry/cache.js +147 -0
  356. package/dist/registry/cache.js.map +1 -0
  357. package/dist/registry/go-registry.d.ts +52 -0
  358. package/dist/registry/go-registry.d.ts.map +1 -0
  359. package/dist/registry/go-registry.js +148 -0
  360. package/dist/registry/go-registry.js.map +1 -0
  361. package/dist/registry/index.d.ts +18 -0
  362. package/dist/registry/index.d.ts.map +1 -0
  363. package/dist/registry/index.js +21 -0
  364. package/dist/registry/index.js.map +1 -0
  365. package/dist/registry/maven-registry.d.ts +57 -0
  366. package/dist/registry/maven-registry.d.ts.map +1 -0
  367. package/dist/registry/maven-registry.js +155 -0
  368. package/dist/registry/maven-registry.js.map +1 -0
  369. package/dist/registry/npm-registry.d.ts +40 -0
  370. package/dist/registry/npm-registry.d.ts.map +1 -0
  371. package/dist/registry/npm-registry.js +155 -0
  372. package/dist/registry/npm-registry.js.map +1 -0
  373. package/dist/registry/pypi-registry.d.ts +49 -0
  374. package/dist/registry/pypi-registry.d.ts.map +1 -0
  375. package/dist/registry/pypi-registry.js +175 -0
  376. package/dist/registry/pypi-registry.js.map +1 -0
  377. package/dist/registry/registry-manager.d.ts +45 -0
  378. package/dist/registry/registry-manager.d.ts.map +1 -0
  379. package/dist/registry/registry-manager.js +107 -0
  380. package/dist/registry/registry-manager.js.map +1 -0
  381. package/dist/registry/types.d.ts +83 -0
  382. package/dist/registry/types.d.ts.map +1 -0
  383. package/dist/registry/types.js +12 -0
  384. package/dist/registry/types.js.map +1 -0
  385. package/dist/reporter/html-reporter.d.ts +20 -0
  386. package/dist/reporter/html-reporter.d.ts.map +1 -0
  387. package/dist/reporter/html-reporter.js +612 -0
  388. package/dist/reporter/html-reporter.js.map +1 -0
  389. package/dist/reporter/index.d.ts +28 -0
  390. package/dist/reporter/index.d.ts.map +1 -0
  391. package/dist/reporter/index.js +48 -0
  392. package/dist/reporter/index.js.map +1 -0
  393. package/dist/reporter/markdown-reporter.d.ts +16 -0
  394. package/dist/reporter/markdown-reporter.d.ts.map +1 -0
  395. package/dist/reporter/markdown-reporter.js +182 -0
  396. package/dist/reporter/markdown-reporter.js.map +1 -0
  397. package/dist/reporter/sarif-reporter.d.ts +67 -0
  398. package/dist/reporter/sarif-reporter.d.ts.map +1 -0
  399. package/dist/reporter/sarif-reporter.js +73 -0
  400. package/dist/reporter/sarif-reporter.js.map +1 -0
  401. package/dist/reporter/terminal-reporter.d.ts +14 -0
  402. package/dist/reporter/terminal-reporter.d.ts.map +1 -0
  403. package/dist/reporter/terminal-reporter.js +126 -0
  404. package/dist/reporter/terminal-reporter.js.map +1 -0
  405. package/dist/reporter/types.d.ts +43 -0
  406. package/dist/reporter/types.d.ts.map +1 -0
  407. package/dist/reporter/types.js +10 -0
  408. package/dist/reporter/types.js.map +1 -0
  409. package/dist/reporter/v4-html.d.ts +24 -0
  410. package/dist/reporter/v4-html.d.ts.map +1 -0
  411. package/dist/reporter/v4-html.js +359 -0
  412. package/dist/reporter/v4-html.js.map +1 -0
  413. package/dist/reporter/v4-terminal.d.ts +55 -0
  414. package/dist/reporter/v4-terminal.d.ts.map +1 -0
  415. package/dist/reporter/v4-terminal.js +199 -0
  416. package/dist/reporter/v4-terminal.js.map +1 -0
  417. package/dist/scanner/index.d.ts +9 -0
  418. package/dist/scanner/index.d.ts.map +1 -0
  419. package/dist/scanner/index.js +9 -0
  420. package/dist/scanner/index.js.map +1 -0
  421. package/dist/scanner/v4-scanner.d.ts +162 -0
  422. package/dist/scanner/v4-scanner.d.ts.map +1 -0
  423. package/dist/scanner/v4-scanner.js +327 -0
  424. package/dist/scanner/v4-scanner.js.map +1 -0
  425. package/dist/scorer/report.d.ts +52 -0
  426. package/dist/scorer/report.d.ts.map +1 -0
  427. package/dist/scorer/report.js +347 -0
  428. package/dist/scorer/report.js.map +1 -0
  429. package/dist/scorer/scoring-engine.d.ts +170 -0
  430. package/dist/scorer/scoring-engine.d.ts.map +1 -0
  431. package/dist/scorer/scoring-engine.js +308 -0
  432. package/dist/scorer/scoring-engine.js.map +1 -0
  433. package/dist/scorer/v4-adapter.d.ts +87 -0
  434. package/dist/scorer/v4-adapter.d.ts.map +1 -0
  435. package/dist/scorer/v4-adapter.js +145 -0
  436. package/dist/scorer/v4-adapter.js.map +1 -0
  437. package/dist/sla/index.d.ts +7 -0
  438. package/dist/sla/index.d.ts.map +1 -0
  439. package/dist/sla/index.js +6 -0
  440. package/dist/sla/index.js.map +1 -0
  441. package/dist/sla/tracker.d.ts +70 -0
  442. package/dist/sla/tracker.d.ts.map +1 -0
  443. package/dist/sla/tracker.js +151 -0
  444. package/dist/sla/tracker.js.map +1 -0
  445. package/dist/sla/types.d.ts +67 -0
  446. package/dist/sla/types.d.ts.map +1 -0
  447. package/dist/sla/types.js +42 -0
  448. package/dist/sla/types.js.map +1 -0
  449. package/dist/types.d.ts +172 -0
  450. package/dist/types.d.ts.map +1 -0
  451. package/dist/types.js +69 -0
  452. package/dist/types.js.map +1 -0
  453. package/package.json +97 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v4-terminal.js","sourceRoot":"","sources":["../../src/reporter/v4-terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkBH,wEAAwE;AAExE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,kBAAkB;IAEnB;IACA;IAFV,YACU,IAAkB,EAClB,UAAmC,EAAE;QADrC,SAAI,GAAJ,IAAI,CAAc;QAClB,YAAO,GAAP,OAAO,CAA8B;IAC5C,CAAC;IAEJ;;OAEG;IACH,MAAM,CAAC,MAAoB,EAAE,KAAqB;QAChD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAExB,SAAS;QACT,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,eAAe;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,UAAU;QACV,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,QAAQ;QACR,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1H,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjF,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,sBAAsB;QACtB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,eAAe;QACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,mBAAmB;QACnB,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YACzE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,qBAAqB;QACrB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvD,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAA4B,CAAC,CAAC;gBACzE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,mBAAmB,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,gCAAgC;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAEvD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,MAAM,CAAC,MAAM,UAAU,CAAC,CAAC;gBACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEf,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAClC,MAAM,QAAQ,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBACnD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnE,CAAC,CAAC,CAAC;gBAEH,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;oBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC/C,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjF,CAAC;gBAED,IAAI,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvF,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,mEAAmE;IAE3D,UAAU,CAAC,KAAa;QAC9B,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC;YACvB,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC;YACtB,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC;YACtB,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC;YACtB,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC;YACtB,KAAK,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC;YACtB,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,QAAgB;QACnC,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;YAC1B,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC;YAC5B,KAAK,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC;YACxB,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,EAAU;QAC/B,IAAI,EAAE,GAAG,IAAI;YAAE,OAAO,GAAG,EAAE,IAAI,CAAC;QAChC,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IAEO,kBAAkB,CAAC,GAAW,EAAE,GAAwC;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC;QAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC;IAC9E,CAAC;IAEO,sBAAsB,CAAC,QAA0B;QACvD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,iBAAiB,CAAC,CAAC,OAAO,cAAc,CAAC;YAC9C,KAAK,gBAAgB,CAAC,CAAC,OAAO,WAAW,CAAC;YAC1C,KAAK,mBAAmB,CAAC,CAAC,OAAO,WAAW,CAAC;YAC7C,KAAK,gBAAgB,CAAC,CAAC,OAAO,SAAS,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,MAAwB;QAC9C,MAAM,MAAM,GAAqC,EAAE,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,MAAwB;QAC1C,MAAM,MAAM,GAAqC,EAAE,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,wEAAwE;AAExE;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAkB,EAClB,OAAiC;IAEjC,OAAO,IAAI,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAoB,EACpB,KAAgC,EAChC,IAAkB,EAClB,OAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Scanner Module — V4 Scan Orchestrator
3
+ *
4
+ * Provides the V4Scanner which orchestrates parsing, detection, and scoring.
5
+ *
6
+ * @since 0.4.0
7
+ */
8
+ export { V4Scanner, createV4Scanner, DEFAULT_INCLUDE_PATTERNS, DEFAULT_EXCLUDE_PATTERNS, type V4ScanConfig, type V4ScanResult, type SLALevel, } from './v4-scanner.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,QAAQ,GACd,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Scanner Module — V4 Scan Orchestrator
3
+ *
4
+ * Provides the V4Scanner which orchestrates parsing, detection, and scoring.
5
+ *
6
+ * @since 0.4.0
7
+ */
8
+ export { V4Scanner, createV4Scanner, DEFAULT_INCLUDE_PATTERNS, DEFAULT_EXCLUDE_PATTERNS, } from './v4-scanner.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,wBAAwB,GAIzB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * V4 Scan Orchestrator
3
+ *
4
+ * The top-level orchestrator that ties together parsing, detection, and scoring.
5
+ * Supports multiple SLA levels (L1/L2/L3) and internationalization.
6
+ *
7
+ * @since 0.4.0
8
+ */
9
+ import type { CodeUnit, SupportedLanguage } from '../ir/types.js';
10
+ import type { RegistryOptions } from '../registry/types.js';
11
+ import type { V4Detector, DetectorResult } from '../detectors/v4/types.js';
12
+ import { type Locale } from '../i18n/index.js';
13
+ /**
14
+ * SLA level for scan depth.
15
+ * - L1: Fast — Structural analysis only
16
+ * - L2: Standard — Structural + Embedding + Local AI
17
+ * - L3: Deep — Structural + Embedding + Remote AI
18
+ */
19
+ export type SLALevel = 'L1' | 'L2' | 'L3';
20
+ /**
21
+ * Configuration for V4 scan.
22
+ */
23
+ export interface V4ScanConfig {
24
+ /** Project root directory */
25
+ projectRoot: string;
26
+ /** Languages to scan (auto-detect if empty) */
27
+ languages?: SupportedLanguage[];
28
+ /** SLA level */
29
+ sla?: SLALevel;
30
+ /** Registry configuration */
31
+ registry?: RegistryOptions;
32
+ /** Locale for output */
33
+ locale?: Locale;
34
+ /** Custom detectors (overrides default set) */
35
+ detectors?: V4Detector[];
36
+ /** File patterns to include (globs) */
37
+ include?: string[];
38
+ /** File patterns to exclude (globs) */
39
+ exclude?: string[];
40
+ /** Scoring threshold (default: 70) */
41
+ threshold?: number;
42
+ /** AI pipeline configuration (for L2/L3) */
43
+ ai?: {
44
+ embedding?: {
45
+ provider?: 'local' | 'openai' | 'ollama';
46
+ model?: string;
47
+ baseUrl?: string;
48
+ };
49
+ llm?: {
50
+ provider?: 'ollama' | 'openai' | 'anthropic';
51
+ model?: string;
52
+ endpoint?: string;
53
+ };
54
+ remote?: {
55
+ provider?: 'openai' | 'anthropic';
56
+ model?: string;
57
+ apiKey?: string;
58
+ };
59
+ };
60
+ }
61
+ /**
62
+ * Result of a V4 scan.
63
+ */
64
+ export interface V4ScanResult {
65
+ /** All issues found */
66
+ issues: DetectorResult[];
67
+ /** Parsed code units */
68
+ codeUnits: CodeUnit[];
69
+ /** Files scanned (relative paths) */
70
+ files: string[];
71
+ /** Languages detected */
72
+ languages: SupportedLanguage[];
73
+ /** Total scan duration in ms */
74
+ durationMs: number;
75
+ /** Per-stage timing */
76
+ stages: {
77
+ discovery: number;
78
+ parsing: number;
79
+ detection: number;
80
+ ai?: number;
81
+ };
82
+ /** Score (if scoring enabled) */
83
+ score?: {
84
+ total: number;
85
+ grade: string;
86
+ dimensions: Record<string, number>;
87
+ };
88
+ /** Project root */
89
+ projectRoot: string;
90
+ /** SLA level used */
91
+ sla: SLALevel;
92
+ }
93
+ /**
94
+ * V4 Scanner — orchestrates the full scan pipeline.
95
+ *
96
+ * Pipeline stages:
97
+ * 1. File discovery — walk project root, respect include/exclude patterns
98
+ * 2. Parsing — tree-sitter parse, extract CodeUnit IR
99
+ * 3. Detection — run all structural detectors
100
+ * 4. AI analysis (L2/L3 only) — embedding recall + LLM deep scan
101
+ * 5. Scoring — compute quality score
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * const scanner = new V4Scanner({
106
+ * projectRoot: '/path/to/project',
107
+ * sla: 'L1',
108
+ * locale: 'en',
109
+ * });
110
+ *
111
+ * const result = await scanner.scan();
112
+ * console.log(`Found ${result.issues.length} issues`);
113
+ * ```
114
+ */
115
+ export declare class V4Scanner {
116
+ private config;
117
+ private parserManager;
118
+ private registryManager?;
119
+ private detectors;
120
+ private i18n;
121
+ private extractors;
122
+ constructor(config: V4ScanConfig);
123
+ /**
124
+ * Run the full scan pipeline.
125
+ */
126
+ scan(): Promise<V4ScanResult>;
127
+ /**
128
+ * Discover files to scan based on include/exclude patterns.
129
+ */
130
+ private discoverFiles;
131
+ /**
132
+ * Walk directory recursively, filtering by include/exclude patterns.
133
+ */
134
+ private walkDirectory;
135
+ /**
136
+ * Check if a directory should be excluded.
137
+ */
138
+ private shouldExcludeDir;
139
+ /**
140
+ * Check if a file should be included based on patterns.
141
+ */
142
+ private shouldIncludeFile;
143
+ /**
144
+ * Detect language from file extension.
145
+ */
146
+ private detectLanguage;
147
+ /**
148
+ * Get the extractor for a language.
149
+ */
150
+ private getExtractor;
151
+ /**
152
+ * Build AIConfig from V4ScanConfig for the AI pipeline.
153
+ */
154
+ private buildAIConfig;
155
+ }
156
+ export declare const DEFAULT_INCLUDE_PATTERNS: string[];
157
+ export declare const DEFAULT_EXCLUDE_PATTERNS: string[];
158
+ /**
159
+ * Create a V4 scanner with the given configuration.
160
+ */
161
+ export declare function createV4Scanner(config: V4ScanConfig): V4Scanner;
162
+ //# sourceMappingURL=v4-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v4-scanner.d.ts","sourceRoot":"","sources":["../../src/scanner/v4-scanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,327 @@
1
+ /**
2
+ * V4 Scan Orchestrator
3
+ *
4
+ * The top-level orchestrator that ties together parsing, detection, and scoring.
5
+ * Supports multiple SLA levels (L1/L2/L3) and internationalization.
6
+ *
7
+ * @since 0.4.0
8
+ */
9
+ import { readdir, readFile } from 'node:fs/promises';
10
+ import { join, relative, extname } from 'node:path';
11
+ import { ParserManager } from '../parser/manager.js';
12
+ import { TypeScriptExtractor } from '../parser/extractors/typescript.js';
13
+ import { PythonExtractor } from '../parser/extractors/python.js';
14
+ import { JavaExtractor } from '../parser/extractors/java.js';
15
+ import { GoExtractor } from '../parser/extractors/go.js';
16
+ import { KotlinExtractor } from '../parser/extractors/kotlin.js';
17
+ import { RegistryManager } from '../registry/registry-manager.js';
18
+ import { createV4Detectors } from '../detectors/v4/index.js';
19
+ import { DefaultI18nProvider } from '../i18n/index.js';
20
+ import { AIScanPipeline } from '../ai/v4/pipeline.js';
21
+ // ─── V4 Scanner ────────────────────────────────────────────────────
22
+ /**
23
+ * V4 Scanner — orchestrates the full scan pipeline.
24
+ *
25
+ * Pipeline stages:
26
+ * 1. File discovery — walk project root, respect include/exclude patterns
27
+ * 2. Parsing — tree-sitter parse, extract CodeUnit IR
28
+ * 3. Detection — run all structural detectors
29
+ * 4. AI analysis (L2/L3 only) — embedding recall + LLM deep scan
30
+ * 5. Scoring — compute quality score
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const scanner = new V4Scanner({
35
+ * projectRoot: '/path/to/project',
36
+ * sla: 'L1',
37
+ * locale: 'en',
38
+ * });
39
+ *
40
+ * const result = await scanner.scan();
41
+ * console.log(`Found ${result.issues.length} issues`);
42
+ * ```
43
+ */
44
+ export class V4Scanner {
45
+ config;
46
+ parserManager;
47
+ registryManager;
48
+ detectors;
49
+ i18n;
50
+ extractors;
51
+ constructor(config) {
52
+ this.config = config;
53
+ this.parserManager = new ParserManager();
54
+ this.i18n = new DefaultI18nProvider(config.locale);
55
+ this.detectors = config.detectors ?? createV4Detectors();
56
+ // Initialize registry manager if config provided
57
+ if (config.registry) {
58
+ this.registryManager = new RegistryManager(config.registry);
59
+ }
60
+ // Initialize extractors for all supported languages
61
+ this.extractors = new Map([
62
+ ['typescript', new TypeScriptExtractor()],
63
+ ['javascript', new TypeScriptExtractor()], // JS uses TS extractor
64
+ ['python', new PythonExtractor()],
65
+ ['java', new JavaExtractor()],
66
+ ['go', new GoExtractor()],
67
+ ['kotlin', new KotlinExtractor()],
68
+ ]);
69
+ }
70
+ /**
71
+ * Run the full scan pipeline.
72
+ */
73
+ async scan() {
74
+ const startTime = Date.now();
75
+ // 1. Initialize parser
76
+ const initStart = Date.now();
77
+ await this.parserManager.init();
78
+ // Init time not tracked separately, included in parsing
79
+ // 2. Discover files
80
+ const discoveryStart = Date.now();
81
+ const files = await this.discoverFiles();
82
+ const discoveryDuration = Date.now() - discoveryStart;
83
+ // 3. Parse all files → CodeUnits
84
+ const parseStart = Date.now();
85
+ const allUnits = [];
86
+ for (const file of files) {
87
+ const language = this.detectLanguage(file);
88
+ if (!language)
89
+ continue;
90
+ try {
91
+ const absolutePath = join(this.config.projectRoot, file);
92
+ const source = await readFile(absolutePath, 'utf-8');
93
+ const tree = this.parserManager.parse(source, language);
94
+ const extractor = this.extractors.get(language);
95
+ if (extractor) {
96
+ const units = extractor.extract(tree, file, source);
97
+ allUnits.push(...units);
98
+ }
99
+ }
100
+ catch {
101
+ // Skip files that can't be parsed
102
+ continue;
103
+ }
104
+ }
105
+ const parseDuration = Date.now() - parseStart;
106
+ // 4. Run structural detectors
107
+ const detectStart = Date.now();
108
+ const context = {
109
+ projectRoot: this.config.projectRoot,
110
+ allFiles: files,
111
+ registryManager: this.registryManager,
112
+ };
113
+ const allIssues = [];
114
+ for (const detector of this.detectors) {
115
+ try {
116
+ const issues = await detector.detect(allUnits, context);
117
+ allIssues.push(...issues);
118
+ }
119
+ catch {
120
+ // Skip detectors that fail
121
+ continue;
122
+ }
123
+ }
124
+ const detectDuration = Date.now() - detectStart;
125
+ // 5. AI pipeline (L2/L3 only)
126
+ let aiDuration;
127
+ const sla = this.config.sla ?? 'L1';
128
+ if (sla !== 'L1' && allUnits.length > 0) {
129
+ const aiStartTime = Date.now();
130
+ try {
131
+ const aiConfig = this.buildAIConfig(sla);
132
+ const pipeline = new AIScanPipeline(aiConfig);
133
+ const aiResult = await pipeline.scan(allUnits, allIssues);
134
+ // Merge AI issues (skip the structural stage which is duplicated)
135
+ for (const stage of aiResult.stages) {
136
+ if (stage.stage !== 'structural') {
137
+ allIssues.push(...stage.issues);
138
+ }
139
+ }
140
+ }
141
+ catch {
142
+ // Graceful degradation: AI pipeline failure doesn't block scan
143
+ }
144
+ aiDuration = Date.now() - aiStartTime;
145
+ }
146
+ // 6. Build result
147
+ const result = {
148
+ issues: allIssues,
149
+ codeUnits: allUnits,
150
+ files,
151
+ languages: [...new Set(allUnits.map(u => u.language))],
152
+ durationMs: Date.now() - startTime,
153
+ stages: {
154
+ discovery: discoveryDuration,
155
+ parsing: parseDuration,
156
+ detection: detectDuration,
157
+ ai: aiDuration,
158
+ },
159
+ projectRoot: this.config.projectRoot,
160
+ sla,
161
+ };
162
+ return result;
163
+ }
164
+ /**
165
+ * Discover files to scan based on include/exclude patterns.
166
+ */
167
+ async discoverFiles() {
168
+ const projectRoot = this.config.projectRoot;
169
+ const include = this.config.include ?? DEFAULT_INCLUDE_PATTERNS;
170
+ const exclude = this.config.exclude ?? DEFAULT_EXCLUDE_PATTERNS;
171
+ const files = await this.walkDirectory(projectRoot, include, exclude);
172
+ return files.map(f => relative(projectRoot, f));
173
+ }
174
+ /**
175
+ * Walk directory recursively, filtering by include/exclude patterns.
176
+ */
177
+ async walkDirectory(dir, include, exclude) {
178
+ const files = [];
179
+ const entries = await readdir(dir, { withFileTypes: true });
180
+ for (const entry of entries) {
181
+ const fullPath = join(dir, entry.name);
182
+ if (entry.isDirectory()) {
183
+ // Check if directory should be excluded
184
+ if (this.shouldExcludeDir(entry.name, exclude)) {
185
+ continue;
186
+ }
187
+ // Recurse into subdirectory
188
+ const subFiles = await this.walkDirectory(fullPath, include, exclude);
189
+ files.push(...subFiles);
190
+ }
191
+ else if (entry.isFile()) {
192
+ // Check if file should be included
193
+ if (this.shouldIncludeFile(entry.name, include, exclude)) {
194
+ files.push(fullPath);
195
+ }
196
+ }
197
+ }
198
+ return files;
199
+ }
200
+ /**
201
+ * Check if a directory should be excluded.
202
+ */
203
+ shouldExcludeDir(name, exclude) {
204
+ const excludeDirs = exclude
205
+ .filter(p => p.includes('/**/') || p.endsWith('/**'))
206
+ .map(p => p.replace('/**', '').replace('**/', '').replace('**', ''));
207
+ return excludeDirs.includes(name) ||
208
+ name === 'node_modules' ||
209
+ name === 'dist' ||
210
+ name === 'build' ||
211
+ name === '.git' ||
212
+ name === 'vendor' ||
213
+ name === '__pycache__' ||
214
+ name === 'target';
215
+ }
216
+ /**
217
+ * Check if a file should be included based on patterns.
218
+ */
219
+ shouldIncludeFile(name, include, exclude) {
220
+ // Check extension against include patterns
221
+ const ext = extname(name).toLowerCase();
222
+ const includedExtensions = include
223
+ .filter(p => p.startsWith('**/*.'))
224
+ .map(p => p.replace('**/*', ''));
225
+ const hasMatchingInclude = includedExtensions.length === 0 || includedExtensions.includes(ext);
226
+ // Check exclusion patterns
227
+ const isExcluded = exclude.some(pattern => {
228
+ if (pattern.includes(name))
229
+ return true;
230
+ if (pattern.startsWith('**/*') && pattern.endsWith(ext))
231
+ return true;
232
+ return false;
233
+ });
234
+ return hasMatchingInclude && !isExcluded;
235
+ }
236
+ /**
237
+ * Detect language from file extension.
238
+ */
239
+ detectLanguage(filePath) {
240
+ const ext = extname(filePath).toLowerCase();
241
+ const mapping = {
242
+ '.ts': 'typescript',
243
+ '.tsx': 'typescript',
244
+ '.js': 'javascript',
245
+ '.jsx': 'javascript',
246
+ '.mjs': 'javascript',
247
+ '.cjs': 'javascript',
248
+ '.py': 'python',
249
+ '.java': 'java',
250
+ '.go': 'go',
251
+ '.kt': 'kotlin',
252
+ '.kts': 'kotlin',
253
+ };
254
+ return mapping[ext] ?? null;
255
+ }
256
+ /**
257
+ * Get the extractor for a language.
258
+ */
259
+ getExtractor(language) {
260
+ return this.extractors.get(language);
261
+ }
262
+ /**
263
+ * Build AIConfig from V4ScanConfig for the AI pipeline.
264
+ */
265
+ buildAIConfig(sla) {
266
+ const ai = this.config.ai;
267
+ const aiConfig = {
268
+ sla,
269
+ embedding: ai?.embedding ? {
270
+ provider: ai.embedding.provider ?? 'local',
271
+ model: ai.embedding.model,
272
+ baseUrl: ai.embedding.baseUrl,
273
+ } : { provider: 'local' },
274
+ };
275
+ // Wire up local LLM config from ai.llm
276
+ if (ai?.llm?.provider === 'ollama' && ai.llm.model) {
277
+ aiConfig.local = {
278
+ provider: 'ollama',
279
+ model: ai.llm.model,
280
+ baseUrl: ai.llm.endpoint ?? 'http://localhost:11434',
281
+ };
282
+ }
283
+ // Wire up remote LLM config
284
+ if (ai?.remote?.provider && ai.remote.apiKey) {
285
+ aiConfig.remote = {
286
+ provider: ai.remote.provider,
287
+ model: ai.remote.model ?? 'gpt-4o-mini',
288
+ apiKey: ai.remote.apiKey,
289
+ };
290
+ }
291
+ return aiConfig;
292
+ }
293
+ }
294
+ // ─── Default Patterns ───────────────────────────────────────────────
295
+ export const DEFAULT_INCLUDE_PATTERNS = [
296
+ '**/*.ts',
297
+ '**/*.tsx',
298
+ '**/*.js',
299
+ '**/*.jsx',
300
+ '**/*.mjs',
301
+ '**/*.cjs',
302
+ '**/*.py',
303
+ '**/*.java',
304
+ '**/*.go',
305
+ '**/*.kt',
306
+ '**/*.kts',
307
+ ];
308
+ export const DEFAULT_EXCLUDE_PATTERNS = [
309
+ '**/node_modules/**',
310
+ '**/dist/**',
311
+ '**/build/**',
312
+ '**/.git/**',
313
+ '**/vendor/**',
314
+ '**/__pycache__/**',
315
+ '**/target/**',
316
+ '**/*.test.*',
317
+ '**/*.spec.*',
318
+ '**/__tests__/**',
319
+ ];
320
+ // ─── Factory ────────────────────────────────────────────────────────
321
+ /**
322
+ * Create a V4 scanner with the given configuration.
323
+ */
324
+ export function createV4Scanner(config) {
325
+ return new V4Scanner(config);
326
+ }
327
+ //# sourceMappingURL=v4-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v4-scanner.js","sourceRoot":"","sources":["../../src/scanner/v4-scanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Report Generator V3
3
+ *
4
+ * Formats validation results into various output formats:
5
+ * - Terminal (human-readable with colors and SLA metrics)
6
+ * - JSON (machine-readable)
7
+ * - Markdown (for PR comments)
8
+ * - GitLab Code Quality (for CI integration)
9
+ *
10
+ * V3 additions:
11
+ * - Support for new AggregateScoreV3 / FileScoreV3 types
12
+ * - SLA metrics section in terminal and markdown output
13
+ * - Dimension-based breakdown (AI Faithfulness, Code Freshness, etc.)
14
+ * - Backward compatible with legacy AggregateScore
15
+ */
16
+ import type { AggregateScore, AggregateScoreV3 } from './scoring-engine.js';
17
+ import type { SLAMetrics } from '../sla/types.js';
18
+ /** Output format type */
19
+ export type ReportFormat = 'terminal' | 'json' | 'markdown' | 'gitlab-report';
20
+ /** GitLab Code Quality issue format for CI/CD integration. */
21
+ export interface GitLabCodeQualityIssue {
22
+ description: string;
23
+ check_name: string;
24
+ fingerprint: string;
25
+ severity: 'info' | 'minor' | 'major' | 'critical' | 'blocker';
26
+ location: {
27
+ path: string;
28
+ lines: {
29
+ begin: number;
30
+ };
31
+ };
32
+ }
33
+ export declare class ReportGenerator {
34
+ /**
35
+ * Generate a V3 report with optional SLA metrics.
36
+ */
37
+ generateV3(result: AggregateScoreV3, format: ReportFormat, slaMetrics?: SLAMetrics): string;
38
+ /**
39
+ * Generate a legacy report (backward compatible).
40
+ */
41
+ generate(result: AggregateScore, format: ReportFormat): string;
42
+ private formatTerminalV3;
43
+ private formatJSONV3;
44
+ private formatMarkdownV3;
45
+ private formatGitLabReportV3;
46
+ private formatTerminal;
47
+ private formatJSON;
48
+ private formatMarkdown;
49
+ private formatGitLabReport;
50
+ }
51
+ export default ReportGenerator;
52
+ //# sourceMappingURL=report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/scorer/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,cAAc,EAGd,gBAAgB,EAGjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,yBAAyB;AACzB,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,eAAe,CAAC;AAE9E,8DAA8D;AAC9D,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9D,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1B,CAAC;CACH;AAqCD,qBAAa,eAAe;IAC1B;;OAEG;IACH,UAAU,CACR,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,UAAU,GACtB,MAAM;IAUT;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAY9D,OAAO,CAAC,gBAAgB;IA+ExB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,gBAAgB;IAiExB,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,cAAc;IA8CtB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,kBAAkB;CA4B3B;AAmCD,eAAe,eAAe,CAAC"}