@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,84 @@
1
+ /**
2
+ * Kotlin Language Adapter
3
+ *
4
+ * Regex-based parser for Kotlin source code. No native AST dependencies needed.
5
+ *
6
+ * Supports:
7
+ * - Import extraction (single, wildcard, aliased imports)
8
+ * - Function/method call extraction (including top-level functions)
9
+ * - Complexity metrics (cyclomatic, cognitive, nesting; includes `when` expression)
10
+ * - Deprecated API detection (via deprecated-apis-kotlin.json)
11
+ * - Package verification (Kotlin stdlib + Java interop + common third-party)
12
+ *
13
+ * @since 0.3.0
14
+ */
15
+ import type { SupportedLanguage } from '../../types.js';
16
+ import type { LanguageAdapter, ASTNode, ImportInfo, CallInfo, PackageVerifyResult, DeprecatedInfo, ComplexityMetrics } from '../types.js';
17
+ /**
18
+ * Kotlin standard library packages and commonly used kotlinx packages.
19
+ * Also includes Java stdlib prefixes since Kotlin has full Java interop.
20
+ */
21
+ export declare const KOTLIN_STDLIB_PACKAGES: Set<string>;
22
+ /**
23
+ * Well-known Kotlin/JVM third-party packages.
24
+ * Covers Ktor, Android, testing, DI, serialization, Arrow, etc.
25
+ */
26
+ export declare const KOTLIN_COMMON_PACKAGES: Set<string>;
27
+ /**
28
+ * KotlinAdapter — LanguageAdapter implementation for Kotlin.
29
+ *
30
+ * Covers: .kt, .kts
31
+ *
32
+ * Uses regex-based parsing. Kotlin's syntax is similar to Java but with
33
+ * differences like `when` expressions, `val`/`var`, extension functions,
34
+ * and top-level functions.
35
+ */
36
+ export declare class KotlinAdapter implements LanguageAdapter {
37
+ readonly id: SupportedLanguage;
38
+ readonly extensions: string[];
39
+ /**
40
+ * Parse Kotlin source code.
41
+ * Returns a lightweight AST-like structure with lines and source.
42
+ */
43
+ parse(source: string, _filePath: string): Promise<ASTNode>;
44
+ /**
45
+ * Extract import statements from Kotlin source.
46
+ *
47
+ * Matches:
48
+ * - import kotlin.collections.listOf
49
+ * - import kotlinx.coroutines.*
50
+ * - import java.io.File
51
+ * - import com.example.Foo as Bar
52
+ */
53
+ extractImports(source: string, _ast?: ASTNode): ImportInfo[];
54
+ /**
55
+ * Extract function/method calls from Kotlin source.
56
+ *
57
+ * Matches patterns like:
58
+ * - println(...)
59
+ * - list.add(...)
60
+ * - System.out.println(...)
61
+ * - TopLevelFunction(...)
62
+ * - obj.extensionFunc(...)
63
+ */
64
+ extractCalls(source: string, _ast?: ASTNode): CallInfo[];
65
+ /**
66
+ * Verify if a Kotlin/Java package exists.
67
+ *
68
+ * Checks against Kotlin stdlib, Java stdlib (interop), and common third-party whitelists.
69
+ */
70
+ verifyPackage(name: string): Promise<PackageVerifyResult>;
71
+ /**
72
+ * Check if an API is deprecated.
73
+ * Searches the deprecated-apis-kotlin.json database.
74
+ */
75
+ checkDeprecated(api: string): DeprecatedInfo | null;
76
+ /**
77
+ * Compute complexity metrics for Kotlin source code.
78
+ *
79
+ * Uses brace-based nesting detection and regex matching for decision points.
80
+ * Kotlin-specific: `when` expression branches add to complexity.
81
+ */
82
+ computeComplexity(source: string, _ast?: ASTNode): ComplexityMetrics;
83
+ }
84
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/languages/kotlin/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAIrB;;;GAGG;AACH,eAAO,MAAM,sBAAsB,aAuDjC,CAAC;AAIH;;;GAGG;AACH,eAAO,MAAM,sBAAsB,aAiFjC,CAAC;AA6DH;;;;;;;;GAQG;AACH,qBAAa,aAAc,YAAW,eAAe;IACnD,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAY;IAC1C,QAAQ,CAAC,UAAU,WAAmB;IAEtC;;;OAGG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE;;;;;;;;OAQG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE;IAwD5D;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE;IA+ExD;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyC/D;;;OAGG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAenD;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB;CA+FrE"}
@@ -0,0 +1,507 @@
1
+ /**
2
+ * Kotlin Language Adapter
3
+ *
4
+ * Regex-based parser for Kotlin source code. No native AST dependencies needed.
5
+ *
6
+ * Supports:
7
+ * - Import extraction (single, wildcard, aliased imports)
8
+ * - Function/method call extraction (including top-level functions)
9
+ * - Complexity metrics (cyclomatic, cognitive, nesting; includes `when` expression)
10
+ * - Deprecated API detection (via deprecated-apis-kotlin.json)
11
+ * - Package verification (Kotlin stdlib + Java interop + common third-party)
12
+ *
13
+ * @since 0.3.0
14
+ */
15
+ import { createRequire } from 'node:module';
16
+ // ─── Kotlin Standard Library Packages ───
17
+ /**
18
+ * Kotlin standard library packages and commonly used kotlinx packages.
19
+ * Also includes Java stdlib prefixes since Kotlin has full Java interop.
20
+ */
21
+ export const KOTLIN_STDLIB_PACKAGES = new Set([
22
+ // Kotlin stdlib
23
+ 'kotlin',
24
+ 'kotlin.annotation',
25
+ 'kotlin.collections',
26
+ 'kotlin.comparisons',
27
+ 'kotlin.concurrent',
28
+ 'kotlin.contracts',
29
+ 'kotlin.coroutines',
30
+ 'kotlin.enums',
31
+ 'kotlin.io',
32
+ 'kotlin.jvm',
33
+ 'kotlin.math',
34
+ 'kotlin.properties',
35
+ 'kotlin.random',
36
+ 'kotlin.ranges',
37
+ 'kotlin.reflect',
38
+ 'kotlin.sequences',
39
+ 'kotlin.system',
40
+ 'kotlin.text',
41
+ 'kotlin.time',
42
+ // kotlinx official extensions
43
+ 'kotlinx.coroutines',
44
+ 'kotlinx.serialization',
45
+ 'kotlinx.datetime',
46
+ 'kotlinx.html',
47
+ 'kotlinx.cli',
48
+ 'kotlinx.atomicfu',
49
+ 'kotlinx.io',
50
+ // Java stdlib — Kotlin has full interop
51
+ 'java.lang',
52
+ 'java.util',
53
+ 'java.io',
54
+ 'java.nio',
55
+ 'java.net',
56
+ 'java.sql',
57
+ 'java.time',
58
+ 'java.math',
59
+ 'java.security',
60
+ 'java.text',
61
+ 'java.beans',
62
+ 'java.lang.reflect',
63
+ 'java.lang.invoke',
64
+ 'java.util.concurrent',
65
+ 'java.util.stream',
66
+ 'java.util.function',
67
+ 'java.util.regex',
68
+ 'java.nio.file',
69
+ 'java.nio.charset',
70
+ 'java.net.http',
71
+ 'javax.swing',
72
+ 'javax.annotation',
73
+ 'javax.crypto',
74
+ 'javax.net',
75
+ 'javax.net.ssl',
76
+ ]);
77
+ // ─── Common Third-Party Packages ───
78
+ /**
79
+ * Well-known Kotlin/JVM third-party packages.
80
+ * Covers Ktor, Android, testing, DI, serialization, Arrow, etc.
81
+ */
82
+ export const KOTLIN_COMMON_PACKAGES = new Set([
83
+ // Ktor
84
+ 'io.ktor',
85
+ 'io.ktor.client',
86
+ 'io.ktor.server',
87
+ 'io.ktor.http',
88
+ 'io.ktor.serialization',
89
+ // Exposed (JetBrains ORM)
90
+ 'org.jetbrains.exposed',
91
+ 'org.jetbrains.exposed.sql',
92
+ 'org.jetbrains.exposed.dao',
93
+ // Serialization (third-party formats)
94
+ 'com.squareup.moshi',
95
+ 'com.squareup.moshi.kotlin',
96
+ // Retrofit / OkHttp
97
+ 'com.squareup.retrofit2',
98
+ 'com.squareup.okhttp3',
99
+ 'okhttp3',
100
+ // Testing
101
+ 'io.kotest',
102
+ 'io.kotest.core',
103
+ 'io.kotest.matchers',
104
+ 'io.kotest.property',
105
+ 'org.mockk',
106
+ 'io.mockk',
107
+ // DI
108
+ 'com.google.dagger',
109
+ 'dagger',
110
+ 'dagger.hilt',
111
+ 'org.koin',
112
+ 'org.koin.core',
113
+ 'org.koin.android',
114
+ 'io.insert.koin',
115
+ // Android / AndroidX
116
+ 'androidx.compose',
117
+ 'androidx.compose.ui',
118
+ 'androidx.compose.material',
119
+ 'androidx.compose.material3',
120
+ 'androidx.compose.foundation',
121
+ 'androidx.compose.runtime',
122
+ 'androidx.lifecycle',
123
+ 'androidx.room',
124
+ 'androidx.navigation',
125
+ 'androidx.activity',
126
+ 'androidx.fragment',
127
+ 'androidx.core',
128
+ 'androidx.appcompat',
129
+ 'androidx.recyclerview',
130
+ 'android.content',
131
+ 'android.os',
132
+ 'android.view',
133
+ 'android.widget',
134
+ 'android.app',
135
+ 'android.util',
136
+ // Firebase
137
+ 'com.google.firebase',
138
+ 'com.google.firebase.auth',
139
+ 'com.google.firebase.firestore',
140
+ // Arrow (FP for Kotlin)
141
+ 'arrow.core',
142
+ 'arrow.fx',
143
+ 'arrow.optics',
144
+ // Spring (Kotlin support)
145
+ 'org.springframework',
146
+ 'org.springframework.boot',
147
+ 'org.springframework.web',
148
+ // Google / Protobuf
149
+ 'com.google.gson',
150
+ 'com.google.protobuf',
151
+ // Logging
152
+ 'org.slf4j',
153
+ 'io.github.microutils',
154
+ 'mu',
155
+ // JUnit (Kotlin-compatible)
156
+ 'org.junit',
157
+ 'org.junit.jupiter',
158
+ // Jackson Kotlin module
159
+ 'com.fasterxml.jackson',
160
+ 'com.fasterxml.jackson.module.kotlin',
161
+ // Coroutines test
162
+ 'kotlinx.coroutines.test',
163
+ ]);
164
+ /** Load deprecated APIs from JSON data file */
165
+ function loadDeprecatedAPIs() {
166
+ try {
167
+ const require = createRequire(import.meta.url);
168
+ return require('../../data/deprecated-apis-kotlin.json');
169
+ }
170
+ catch {
171
+ return [];
172
+ }
173
+ }
174
+ const KOTLIN_DEPRECATED_DB = loadDeprecatedAPIs();
175
+ // ─── Helpers ───
176
+ /**
177
+ * Extract the top-level package prefix from a fully-qualified Kotlin/Java package.
178
+ * e.g. "kotlin.collections.listOf" → "kotlin.collections"
179
+ * "androidx.compose.material3" → "androidx.compose"
180
+ */
181
+ function getPackagePrefix(fullPkg) {
182
+ const parts = fullPkg.split('.');
183
+ // For kotlin.* / kotlinx.*, use first two segments
184
+ if (parts[0] === 'kotlin' || parts[0] === 'kotlinx') {
185
+ return parts.slice(0, 2).join('.');
186
+ }
187
+ // For java.* / javax.*, use first two segments
188
+ if (parts[0] === 'java' || parts[0] === 'javax') {
189
+ return parts.slice(0, 2).join('.');
190
+ }
191
+ // For androidx.*, use first two segments
192
+ if (parts[0] === 'androidx') {
193
+ return parts.slice(0, 2).join('.');
194
+ }
195
+ // For android.*, use first two segments
196
+ if (parts[0] === 'android') {
197
+ return parts.slice(0, 2).join('.');
198
+ }
199
+ // For third-party: use first two segments
200
+ return parts.slice(0, Math.min(2, parts.length)).join('.');
201
+ }
202
+ // ─── Kotlin Adapter ───
203
+ /**
204
+ * KotlinAdapter — LanguageAdapter implementation for Kotlin.
205
+ *
206
+ * Covers: .kt, .kts
207
+ *
208
+ * Uses regex-based parsing. Kotlin's syntax is similar to Java but with
209
+ * differences like `when` expressions, `val`/`var`, extension functions,
210
+ * and top-level functions.
211
+ */
212
+ export class KotlinAdapter {
213
+ id = 'kotlin';
214
+ extensions = ['.kt', '.kts'];
215
+ /**
216
+ * Parse Kotlin source code.
217
+ * Returns a lightweight AST-like structure with lines and source.
218
+ */
219
+ async parse(source, _filePath) {
220
+ return {
221
+ type: 'KotlinSourceFile',
222
+ lines: source.split('\n'),
223
+ source,
224
+ };
225
+ }
226
+ /**
227
+ * Extract import statements from Kotlin source.
228
+ *
229
+ * Matches:
230
+ * - import kotlin.collections.listOf
231
+ * - import kotlinx.coroutines.*
232
+ * - import java.io.File
233
+ * - import com.example.Foo as Bar
234
+ */
235
+ extractImports(source, _ast) {
236
+ const lines = source.split('\n');
237
+ const imports = [];
238
+ for (let i = 0; i < lines.length; i++) {
239
+ const line = lines[i];
240
+ const trimmed = line.trim();
241
+ const lineNum = i + 1;
242
+ // Skip comments
243
+ if (trimmed.startsWith('//') || trimmed.startsWith('*') || trimmed.startsWith('/*')) {
244
+ continue;
245
+ }
246
+ // Match: import package.path.Name
247
+ // Match: import package.path.*
248
+ // Match: import package.path.Name as Alias
249
+ const importMatch = trimmed.match(/^import\s+([\w.]+(?:\.\*)?)\s*(?:as\s+(\w+))?\s*$/);
250
+ if (importMatch) {
251
+ const fullPath = importMatch[1];
252
+ const alias = importMatch[2];
253
+ const parts = fullPath.split('.');
254
+ let moduleName;
255
+ let bindings = [];
256
+ if (fullPath.endsWith('.*')) {
257
+ // Wildcard import: kotlinx.coroutines.* → module = "kotlinx.coroutines"
258
+ moduleName = parts.slice(0, -1).join('.');
259
+ bindings = ['*'];
260
+ }
261
+ else {
262
+ // Regular import: kotlin.collections.listOf → module = "kotlin.collections", binding = "listOf"
263
+ moduleName = parts.slice(0, -1).join('.');
264
+ bindings = [alias || parts[parts.length - 1]];
265
+ }
266
+ // Determine if this is a stdlib package
267
+ const prefix = getPackagePrefix(moduleName);
268
+ const isBuiltin = KOTLIN_STDLIB_PACKAGES.has(prefix) ||
269
+ KOTLIN_STDLIB_PACKAGES.has(moduleName);
270
+ imports.push({
271
+ module: moduleName,
272
+ bindings,
273
+ line: lineNum,
274
+ isRelative: false, // Kotlin doesn't have relative imports
275
+ isBuiltin,
276
+ });
277
+ }
278
+ }
279
+ return imports;
280
+ }
281
+ /**
282
+ * Extract function/method calls from Kotlin source.
283
+ *
284
+ * Matches patterns like:
285
+ * - println(...)
286
+ * - list.add(...)
287
+ * - System.out.println(...)
288
+ * - TopLevelFunction(...)
289
+ * - obj.extensionFunc(...)
290
+ */
291
+ extractCalls(source, _ast) {
292
+ const lines = source.split('\n');
293
+ const calls = [];
294
+ // Kotlin keywords that look like function calls but aren't
295
+ const kotlinKeywords = new Set([
296
+ 'if', 'else', 'for', 'while', 'do', 'when', 'switch',
297
+ 'break', 'continue', 'return', 'throw', 'try', 'catch', 'finally',
298
+ 'class', 'interface', 'object', 'enum', 'annotation',
299
+ 'fun', 'val', 'var', 'const', 'typealias',
300
+ 'import', 'package', 'as', 'is', 'in', 'out',
301
+ 'super', 'this', 'null', 'true', 'false',
302
+ 'constructor', 'init', 'companion', 'data', 'sealed', 'inline',
303
+ 'suspend', 'tailrec', 'operator', 'infix', 'external',
304
+ 'open', 'abstract', 'final', 'override', 'internal', 'private',
305
+ 'protected', 'public', 'lateinit', 'by', 'where', 'typeof',
306
+ ]);
307
+ let inBlockComment = false;
308
+ for (let i = 0; i < lines.length; i++) {
309
+ const line = lines[i];
310
+ const trimmed = line.trim();
311
+ const lineNum = i + 1;
312
+ // Handle block comments
313
+ if (inBlockComment) {
314
+ if (trimmed.includes('*/')) {
315
+ inBlockComment = false;
316
+ }
317
+ continue;
318
+ }
319
+ if (trimmed.startsWith('/*')) {
320
+ inBlockComment = true;
321
+ if (trimmed.includes('*/')) {
322
+ inBlockComment = false;
323
+ }
324
+ continue;
325
+ }
326
+ // Skip single-line comments
327
+ if (trimmed.startsWith('//'))
328
+ continue;
329
+ // Skip import/package declarations
330
+ if (trimmed.startsWith('import ') || trimmed.startsWith('package '))
331
+ continue;
332
+ // Match method/qualified calls: word.word.word(
333
+ const methodCallPattern = /(\w+(?:\.\w+)+)\s*\(/g;
334
+ let match;
335
+ while ((match = methodCallPattern.exec(line)) !== null) {
336
+ calls.push({
337
+ name: match[1],
338
+ line: lineNum,
339
+ column: match.index + 1,
340
+ isMethodCall: true,
341
+ });
342
+ }
343
+ // Match standalone function calls: name(
344
+ const funcCallPattern = /(?<!\.)(?<!\w)([a-zA-Z_]\w*)\s*\(/g;
345
+ while ((match = funcCallPattern.exec(line)) !== null) {
346
+ const name = match[1];
347
+ // Skip keywords
348
+ if (kotlinKeywords.has(name))
349
+ continue;
350
+ // Skip annotations
351
+ if (line.charAt(match.index - 1) === '@')
352
+ continue;
353
+ calls.push({
354
+ name,
355
+ line: lineNum,
356
+ column: match.index + 1,
357
+ isMethodCall: false,
358
+ });
359
+ }
360
+ }
361
+ return calls;
362
+ }
363
+ /**
364
+ * Verify if a Kotlin/Java package exists.
365
+ *
366
+ * Checks against Kotlin stdlib, Java stdlib (interop), and common third-party whitelists.
367
+ */
368
+ async verifyPackage(name) {
369
+ const prefix = getPackagePrefix(name);
370
+ // Check Kotlin stdlib + Java stdlib
371
+ if (KOTLIN_STDLIB_PACKAGES.has(name) || KOTLIN_STDLIB_PACKAGES.has(prefix)) {
372
+ return {
373
+ name,
374
+ exists: true,
375
+ checkedAt: Date.now(),
376
+ };
377
+ }
378
+ // Check common third-party packages
379
+ if (KOTLIN_COMMON_PACKAGES.has(name) || KOTLIN_COMMON_PACKAGES.has(prefix)) {
380
+ return {
381
+ name,
382
+ exists: true,
383
+ checkedAt: Date.now(),
384
+ };
385
+ }
386
+ // Also check with progressively longer prefixes
387
+ const parts = name.split('.');
388
+ for (let len = 2; len <= parts.length; len++) {
389
+ const candidate = parts.slice(0, len).join('.');
390
+ if (KOTLIN_STDLIB_PACKAGES.has(candidate) || KOTLIN_COMMON_PACKAGES.has(candidate)) {
391
+ return {
392
+ name,
393
+ exists: true,
394
+ checkedAt: Date.now(),
395
+ };
396
+ }
397
+ }
398
+ return {
399
+ name,
400
+ exists: false,
401
+ checkedAt: Date.now(),
402
+ };
403
+ }
404
+ /**
405
+ * Check if an API is deprecated.
406
+ * Searches the deprecated-apis-kotlin.json database.
407
+ */
408
+ checkDeprecated(api) {
409
+ for (const entry of KOTLIN_DEPRECATED_DB) {
410
+ const regex = new RegExp(entry.pattern);
411
+ if (regex.test(api)) {
412
+ return {
413
+ api: entry.api,
414
+ reason: entry.reason,
415
+ replacement: entry.replacement,
416
+ since: entry.deprecated_since,
417
+ };
418
+ }
419
+ }
420
+ return null;
421
+ }
422
+ /**
423
+ * Compute complexity metrics for Kotlin source code.
424
+ *
425
+ * Uses brace-based nesting detection and regex matching for decision points.
426
+ * Kotlin-specific: `when` expression branches add to complexity.
427
+ */
428
+ computeComplexity(source, _ast) {
429
+ const lines = source.split('\n');
430
+ let cyclomatic = 1; // base complexity
431
+ let cognitive = 0;
432
+ let maxNestingDepth = 0;
433
+ let currentDepth = 0;
434
+ let functionCount = 0;
435
+ let inBlockComment = false;
436
+ const codeLines = [];
437
+ for (const line of lines) {
438
+ const trimmed = line.trim();
439
+ // Handle block comments
440
+ if (inBlockComment) {
441
+ if (trimmed.includes('*/')) {
442
+ inBlockComment = false;
443
+ }
444
+ continue;
445
+ }
446
+ if (trimmed.startsWith('/*')) {
447
+ inBlockComment = true;
448
+ if (trimmed.includes('*/')) {
449
+ inBlockComment = false;
450
+ }
451
+ continue;
452
+ }
453
+ // Skip single-line comments and empty lines
454
+ if (!trimmed || trimmed.startsWith('//'))
455
+ continue;
456
+ codeLines.push(trimmed);
457
+ // Decision points → cyclomatic complexity
458
+ const ifMatches = (trimmed.match(/\b(if|else\s+if)\s*\(/g) || []).length;
459
+ cyclomatic += ifMatches;
460
+ const forMatches = (trimmed.match(/\b(for|while)\s*\(/g) || []).length;
461
+ cyclomatic += forMatches;
462
+ // `when` branches (Kotlin's pattern matching)
463
+ // Each branch in a `when` block adds a decision path
464
+ // We count `when {` or `when (expr) {` as starting a when block
465
+ const whenMatches = (trimmed.match(/\bwhen\b\s*(?:\([^)]*\))?\s*\{/g) || []).length;
466
+ cyclomatic += whenMatches;
467
+ // Individual when branches (lines that look like "value ->" or "is Type ->")
468
+ // Only count if not the else branch
469
+ if (/^\s*(?:(?:is\s+\w+|in\s+|!in\s+|[^{}\n]+)\s*->)/.test(trimmed) && !trimmed.startsWith('else')) {
470
+ cyclomatic += 1;
471
+ }
472
+ const catchMatches = (trimmed.match(/\bcatch\s*\(/g) || []).length;
473
+ cyclomatic += catchMatches;
474
+ // Logical operators
475
+ const logicalOps = (trimmed.match(/&&|\|\|/g) || []).length;
476
+ cyclomatic += logicalOps;
477
+ // Ternary / elvis operator
478
+ const elvisOps = (trimmed.match(/\?:/g) || []).length;
479
+ cyclomatic += elvisOps;
480
+ // Track nesting depth via braces
481
+ const opens = (trimmed.match(/\{/g) || []).length;
482
+ const closes = (trimmed.match(/\}/g) || []).length;
483
+ currentDepth += opens - closes;
484
+ if (currentDepth > maxNestingDepth) {
485
+ maxNestingDepth = currentDepth;
486
+ }
487
+ // Cognitive complexity: nested conditions add more
488
+ if (/\b(if|for|while|catch|when)\b/.test(trimmed)) {
489
+ cognitive += 1 + Math.max(0, currentDepth - 1);
490
+ }
491
+ cognitive += logicalOps;
492
+ // Count functions
493
+ // Matches: fun name( or fun Type.name( or suspend fun name(
494
+ if (/\bfun\s+(?:\w+\.)?(\w+)\s*\(/.test(trimmed)) {
495
+ functionCount++;
496
+ }
497
+ }
498
+ return {
499
+ cyclomatic,
500
+ cognitive,
501
+ loc: codeLines.length,
502
+ functionCount,
503
+ maxNestingDepth,
504
+ };
505
+ }
506
+ }
507
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/languages/kotlin/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Python Language Adapter — Exports
3
+ *
4
+ * @since 0.3.0
5
+ */
6
+ export { PythonAdapter, PYTHON_BUILTIN_MODULES, PYTHON_COMMON_PACKAGES } from './parser.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/languages/python/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Python Language Adapter — Exports
3
+ *
4
+ * @since 0.3.0
5
+ */
6
+ export { PythonAdapter, PYTHON_BUILTIN_MODULES, PYTHON_COMMON_PACKAGES } from './parser.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/languages/python/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}