@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,331 @@
1
+ /**
2
+ * Defect Pattern Database
3
+ *
4
+ * Curated set of AI-generated code defect patterns.
5
+ * These are used as embedding comparison targets in Stage 1 (Embedding Recall).
6
+ *
7
+ * Each pattern includes:
8
+ * - Unique ID for tracking
9
+ * - Category aligned with V4 scoring dimensions
10
+ * - Description used for embedding generation
11
+ * - Example code snippets matching the pattern
12
+ * - Severity and applicable languages
13
+ *
14
+ * @since 0.4.0
15
+ */
16
+ // ─── Defect Pattern Database ───────────────────────────────────────
17
+ /**
18
+ * Curated defect patterns that AI commonly generates.
19
+ * These are used as embedding comparison targets in Stage 1.
20
+ *
21
+ * Organized by category:
22
+ * - ai-faithfulness: Hallucinated imports, phantom APIs, fabricated types
23
+ * - code-freshness: Deprecated APIs, outdated patterns, stale knowledge
24
+ * - context-coherence: Inconsistencies, contradictions, style shifts
25
+ * - implementation: Over-engineering, security, incomplete implementations
26
+ */
27
+ export const DEFECT_PATTERNS = [
28
+ // ─── AI Faithfulness (Hallucinations) ──────────────────────────
29
+ {
30
+ id: 'hallucinated-import',
31
+ category: 'ai-faithfulness',
32
+ description: 'Import of a non-existent package or module that AI fabricated',
33
+ examples: [
34
+ 'import { createAIValidator } from "ai-validator-pro"',
35
+ 'from advanced_ml_toolkit import HyperOptimizer',
36
+ 'import "github.com/ai-tools/nonexistent-package"',
37
+ 'import ai.magic.transformer.AutoModel',
38
+ ],
39
+ severity: 'error',
40
+ languages: [],
41
+ },
42
+ {
43
+ id: 'phantom-api',
44
+ category: 'ai-faithfulness',
45
+ description: 'Usage of an API method that does not exist on the object or library',
46
+ examples: [
47
+ 'array.filterMap(x => x > 0)',
48
+ 'string.toCapitalCase()',
49
+ 'response.getJSON()',
50
+ 'promise.flatMap(result => result)',
51
+ 'map.getOrDefault(key, fallback)',
52
+ ],
53
+ severity: 'error',
54
+ languages: [],
55
+ },
56
+ {
57
+ id: 'fabricated-type',
58
+ category: 'ai-faithfulness',
59
+ description: 'Reference to a type or interface that does not exist in the imported library',
60
+ examples: [
61
+ 'const config: NextConfig<AppProps> = {}',
62
+ 'type Handler = express.TypedHandler<Req, Res>',
63
+ 'implements SpringSecurityFilter',
64
+ 'class MyService extends AbstractServiceBase',
65
+ ],
66
+ severity: 'error',
67
+ languages: [],
68
+ },
69
+ {
70
+ id: 'wrong-api-signature',
71
+ category: 'ai-faithfulness',
72
+ description: 'Calling a real API with incorrect parameter types or wrong number of arguments',
73
+ examples: [
74
+ 'fs.readFile(path, "utf8", callback, options)',
75
+ 'json.loads(data, encoding="utf-8")',
76
+ 'Arrays.sort(list, comparator, reverse)',
77
+ 'http.Get(url, headers)',
78
+ ],
79
+ severity: 'error',
80
+ languages: [],
81
+ },
82
+ {
83
+ id: 'imaginary-config-option',
84
+ category: 'ai-faithfulness',
85
+ description: 'Using configuration options that do not exist for a library or framework',
86
+ examples: [
87
+ 'new Webpack({ optimizeChunks: true, autoTree: true })',
88
+ 'app.use(cors({ allowAllHeaders: true }))',
89
+ 'logging.config({ autoRotate: true, maxSize: "10mb" })',
90
+ ],
91
+ severity: 'warning',
92
+ languages: [],
93
+ },
94
+ // ─── Code Freshness (Stale/Deprecated) ─────────────────────────
95
+ {
96
+ id: 'deprecated-node-api',
97
+ category: 'code-freshness',
98
+ description: 'Usage of deprecated Node.js API that should be replaced with modern alternative',
99
+ examples: [
100
+ 'new Buffer("data")',
101
+ 'require("url").parse(urlString)',
102
+ 'fs.exists(path, callback)',
103
+ 'new require("domain").Domain()',
104
+ ],
105
+ severity: 'warning',
106
+ languages: ['typescript', 'javascript'],
107
+ },
108
+ {
109
+ id: 'deprecated-python-api',
110
+ category: 'code-freshness',
111
+ description: 'Usage of deprecated Python API or pattern from older Python versions',
112
+ examples: [
113
+ 'import imp',
114
+ 'from collections import MutableMapping',
115
+ 'asyncio.get_event_loop()',
116
+ 'from distutils.core import setup',
117
+ 'os.popen("command")',
118
+ ],
119
+ severity: 'warning',
120
+ languages: ['python'],
121
+ },
122
+ {
123
+ id: 'deprecated-java-api',
124
+ category: 'code-freshness',
125
+ description: 'Usage of deprecated Java API that has modern replacements',
126
+ examples: [
127
+ 'new Date(year, month, day)',
128
+ 'Thread.stop()',
129
+ 'Runtime.getRuntime().exec("command")',
130
+ 'new StringBuffer()',
131
+ ],
132
+ severity: 'warning',
133
+ languages: ['java', 'kotlin'],
134
+ },
135
+ {
136
+ id: 'outdated-framework-pattern',
137
+ category: 'code-freshness',
138
+ description: 'Using outdated framework patterns that have been superseded',
139
+ examples: [
140
+ 'componentWillMount() { }',
141
+ 'class MyComponent extends React.Component { render() { } }',
142
+ 'app.use(bodyParser.json())',
143
+ '@RunWith(SpringJUnit4ClassRunner.class)',
144
+ ],
145
+ severity: 'info',
146
+ languages: [],
147
+ },
148
+ {
149
+ id: 'legacy-syntax-pattern',
150
+ category: 'code-freshness',
151
+ description: 'Using legacy language syntax when modern alternatives exist',
152
+ examples: [
153
+ 'var self = this;',
154
+ 'function.apply(null, arguments)',
155
+ '.then(function(result) { return result; })',
156
+ 'for (var i = 0; i < arr.length; i++)',
157
+ ],
158
+ severity: 'info',
159
+ languages: ['typescript', 'javascript'],
160
+ },
161
+ // ─── Context Coherence (Inconsistency) ─────────────────────────
162
+ {
163
+ id: 'naming-inconsistency',
164
+ category: 'context-coherence',
165
+ description: 'Inconsistent naming conventions within the same file or function',
166
+ examples: [
167
+ 'const user_name = ""; const userName = ""; const UserName = "";',
168
+ 'function getData() {} function process_result() {} function HandleError() {}',
169
+ 'let maxRetries = 3; let min_timeout = 100;',
170
+ ],
171
+ severity: 'warning',
172
+ languages: [],
173
+ },
174
+ {
175
+ id: 'contradictory-comment',
176
+ category: 'context-coherence',
177
+ description: 'Comment that contradicts the actual code behavior',
178
+ examples: [
179
+ '// Returns true if valid\nfunction validate(x) { return false; }',
180
+ '// Sort in ascending order\narray.sort((a, b) => b - a)',
181
+ '// This function never throws\nasync function fetch() { throw new Error(); }',
182
+ ],
183
+ severity: 'warning',
184
+ languages: [],
185
+ },
186
+ {
187
+ id: 'unused-variable-from-context-loss',
188
+ category: 'context-coherence',
189
+ description: 'Variable declared and assigned but never used in the rest of the function',
190
+ examples: [
191
+ 'const result = await fetchData();\n// result never referenced again\nreturn defaultValue;',
192
+ 'const config = loadConfig();\nsetupApp(hardcodedConfig);',
193
+ 'err := doSomething()\n_ = err\n// error silently ignored',
194
+ ],
195
+ severity: 'warning',
196
+ languages: [],
197
+ },
198
+ {
199
+ id: 'abrupt-style-shift',
200
+ category: 'context-coherence',
201
+ description: 'Sudden change in code style mid-function suggesting context window boundary',
202
+ examples: [
203
+ '// First half uses async/await, second half uses .then() callbacks',
204
+ '// First half uses const, second half uses var',
205
+ '// Error handling changes from try/catch to .catch() mid-function',
206
+ ],
207
+ severity: 'info',
208
+ languages: [],
209
+ },
210
+ {
211
+ id: 'duplicate-logic-different-style',
212
+ category: 'context-coherence',
213
+ description: 'Same logic implemented twice in different styles within a file',
214
+ examples: [
215
+ 'function formatDate(d) { return d.toISOString(); }\nfunction dateToString(d) { return `${d.getFullYear()}-${d.getMonth()}`; }',
216
+ 'const isValid = (x) => x > 0;\nfunction checkValid(value) { if (value > 0) return true; return false; }',
217
+ ],
218
+ severity: 'info',
219
+ languages: [],
220
+ },
221
+ // ─── Implementation (Over-engineering, Security, Incomplete) ───
222
+ {
223
+ id: 'unnecessary-abstraction',
224
+ category: 'implementation',
225
+ description: 'Over-engineered abstraction layers that add complexity without value',
226
+ examples: [
227
+ 'class AbstractFactoryProvider<T> { abstract createFactory(): Factory<T>; }',
228
+ 'interface IServiceLocatorStrategy<TService, TLocator>',
229
+ 'class ConfigurationManagerBuilderFactory',
230
+ 'export abstract class BaseAbstractHandler implements IHandler',
231
+ ],
232
+ severity: 'warning',
233
+ languages: [],
234
+ },
235
+ {
236
+ id: 'hardcoded-secret',
237
+ category: 'implementation',
238
+ description: 'Hardcoded API keys, passwords, or tokens in source code',
239
+ examples: [
240
+ 'const API_KEY = "sk-proj-abc123def456"',
241
+ 'password = "admin123"',
242
+ 'private static final String SECRET = "my-secret-key"',
243
+ 'token := "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"',
244
+ ],
245
+ severity: 'error',
246
+ languages: [],
247
+ },
248
+ {
249
+ id: 'empty-catch-block',
250
+ category: 'implementation',
251
+ description: 'Empty catch block that silently swallows errors',
252
+ examples: [
253
+ 'try { riskyOperation(); } catch (e) { }',
254
+ 'try { riskyOperation(); } catch (e) { /* TODO */ }',
255
+ 'except Exception:\n pass',
256
+ 'catch (Exception e) { // ignore }',
257
+ ],
258
+ severity: 'warning',
259
+ languages: [],
260
+ },
261
+ {
262
+ id: 'todo-stub-placeholder',
263
+ category: 'implementation',
264
+ description: 'Placeholder or stub implementation that should be completed',
265
+ examples: [
266
+ 'function processData() { /* TODO: implement */ return null; }',
267
+ 'def calculate(): raise NotImplementedError()',
268
+ 'public void handle() { throw new UnsupportedOperationException("Not implemented"); }',
269
+ 'func (s *Service) Process() error { return nil // TODO }',
270
+ ],
271
+ severity: 'warning',
272
+ languages: [],
273
+ },
274
+ {
275
+ id: 'sql-injection-risk',
276
+ category: 'implementation',
277
+ description: 'SQL query built with string concatenation instead of parameterized queries',
278
+ examples: [
279
+ 'const query = "SELECT * FROM users WHERE id = " + userId',
280
+ 'cursor.execute(f"SELECT * FROM users WHERE name = \'{name}\'")',
281
+ 'String sql = "DELETE FROM orders WHERE id=" + orderId;',
282
+ ],
283
+ severity: 'error',
284
+ languages: [],
285
+ },
286
+ {
287
+ id: 'insecure-random',
288
+ category: 'implementation',
289
+ description: 'Using non-cryptographic random for security-sensitive operations',
290
+ examples: [
291
+ 'const token = Math.random().toString(36)',
292
+ 'import random; secret = random.randint(0, 999999)',
293
+ 'Random random = new Random(); int otp = random.nextInt(999999);',
294
+ ],
295
+ severity: 'warning',
296
+ languages: [],
297
+ },
298
+ {
299
+ id: 'excessive-function-complexity',
300
+ category: 'implementation',
301
+ description: 'Function with very high cyclomatic complexity suggesting AI generated a monolith',
302
+ examples: [
303
+ '// 200-line function with 15+ if/else branches',
304
+ '// deeply nested switch inside for inside if inside try',
305
+ '// function handling 10 different concerns in one method',
306
+ ],
307
+ severity: 'warning',
308
+ languages: [],
309
+ },
310
+ ];
311
+ /**
312
+ * Get all defect patterns for a specific category.
313
+ */
314
+ export function getPatternsByCategory(category) {
315
+ return DEFECT_PATTERNS.filter(p => p.category === category);
316
+ }
317
+ /**
318
+ * Get all defect patterns applicable to a specific language.
319
+ * Patterns with empty languages array apply to all languages.
320
+ */
321
+ export function getPatternsForLanguage(language) {
322
+ return DEFECT_PATTERNS.filter(p => p.languages.length === 0 || p.languages.includes(language));
323
+ }
324
+ /**
325
+ * Get the combined text representation of a pattern for embedding.
326
+ * Concatenates description and examples for richer embedding.
327
+ */
328
+ export function getPatternText(pattern) {
329
+ return `${pattern.description}\n${pattern.examples.join('\n')}`;
330
+ }
331
+ //# sourceMappingURL=defect-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defect-patterns.js","sourceRoot":"","sources":["../../../../src/ai/v4/patterns/defect-patterns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Defect Pattern Database Module
3
+ *
4
+ * @since 0.4.0
5
+ */
6
+ export type { DefectPattern } from './defect-patterns.js';
7
+ export { DEFECT_PATTERNS, getPatternsByCategory, getPatternsForLanguage, getPatternText, } from './defect-patterns.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai/v4/patterns/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,GACf,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Defect Pattern Database Module
3
+ *
4
+ * @since 0.4.0
5
+ */
6
+ export { DEFECT_PATTERNS, getPatternsByCategory, getPatternsForLanguage, getPatternText, } from './defect-patterns.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai/v4/patterns/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,GACf,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * AI Scan Pipeline Orchestrator
3
+ *
4
+ * Coordinates the two-stage AI scan pipeline:
5
+ * - Stage 0: Structural detectors (always runs, passed in)
6
+ * - Stage 1: Embedding recall (L2+)
7
+ * - Stage 2: LLM deep scan (L3)
8
+ *
9
+ * @since 0.4.0
10
+ */
11
+ import type { CodeUnit } from '../../ir/types.js';
12
+ import type { DetectorResult } from '../../detectors/v4/types.js';
13
+ import type { AIConfig, AIPipelineResult } from './types.js';
14
+ /** Structured issue parsed from LLM JSON response. */
15
+ export interface ParsedLLMIssue {
16
+ line: number;
17
+ severity: 'error' | 'warning' | 'info';
18
+ message: string;
19
+ category: string;
20
+ }
21
+ /**
22
+ * AI Scan Pipeline orchestrator.
23
+ *
24
+ * Runs the two-stage AI analysis based on SLA level configuration.
25
+ */
26
+ export declare class AIScanPipeline {
27
+ private config;
28
+ private readonly maxLLMBlocks;
29
+ private readonly similarityThreshold;
30
+ constructor(config: AIConfig);
31
+ /**
32
+ * Run the full scan pipeline.
33
+ *
34
+ * @param units CodeUnits from parsing
35
+ * @param structuralResults Results from structural detectors (V4 detectors)
36
+ * @returns Combined results from all stages
37
+ */
38
+ scan(units: CodeUnit[], structuralResults: DetectorResult[]): Promise<AIPipelineResult>;
39
+ /**
40
+ * Build the final result object.
41
+ */
42
+ private buildResult;
43
+ /**
44
+ * Stage 1: Run embedding-based recall to find suspicious code blocks.
45
+ */
46
+ private runEmbeddingStage;
47
+ /**
48
+ * Stage 2: Run LLM deep scan on suspicious blocks.
49
+ */
50
+ private runLLMStage;
51
+ /**
52
+ * Get suspicious blocks from embedding results.
53
+ * Returns units that have embedding matches above threshold.
54
+ */
55
+ private getSuspiciousBlocks;
56
+ /**
57
+ * Create embedding provider based on configuration.
58
+ */
59
+ private createEmbeddingProvider;
60
+ /**
61
+ * Create LLM provider based on configuration.
62
+ * Prefers local (Ollama), falls back to remote.
63
+ */
64
+ private createLLMProvider;
65
+ /**
66
+ * Build text representation of a CodeUnit for embedding.
67
+ */
68
+ private buildCodeText;
69
+ /**
70
+ * Build a focused prompt for the LLM to analyze a code block.
71
+ */
72
+ private buildPrompt;
73
+ }
74
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/ai/v4/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAKjB,MAAM,YAAY,CAAC;AAepB,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkED;;;;GAIG;AACH,qBAAa,cAAc;IAIb,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;gBAEzB,MAAM,EAAE,QAAQ;IAKpC;;;;;;OAMG;IACG,IAAI,CACR,KAAK,EAAE,QAAQ,EAAE,EACjB,iBAAiB,EAAE,cAAc,EAAE,GAClC,OAAO,CAAC,gBAAgB,CAAC;IA8B5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;YACW,iBAAiB;IAmF/B;;OAEG;YACW,WAAW;IAmEzB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;;OAGG;YACW,iBAAiB;IAgC/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;OAEG;IACH,OAAO,CAAC,WAAW;CA4BpB"}