codereview-aia 0.1.2 → 0.1.3

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 (427) hide show
  1. package/dist/index.js +0 -2
  2. package/docs/opt-in-full-context.md +27 -0
  3. package/package.json +11 -11
  4. package/reports/cr-cr-aia-17-11-2025-20-13.md +354 -0
  5. package/src/clients/implementations/openRouterClient.ts +2 -0
  6. package/src/clients/openRouterClient.ts +8 -1
  7. package/src/clients/utils/promptFormatter.ts +97 -20
  8. package/src/core/handlers/FileProcessingHandler.ts +6 -0
  9. package/src/index.ts +0 -3
  10. package/src/runtime/cliEntry.ts +21 -3
  11. package/src/runtime/fileCollector.ts +278 -5
  12. package/src/runtime/reviewPipeline.ts +46 -7
  13. package/src/runtime/runAiCodeReview.ts +161 -6
  14. package/src/runtime/ui/RuntimeApp.tsx +34 -5
  15. package/src/runtime/ui/screens/ProgressScreen.tsx +49 -1
  16. package/src/runtime/ui/screens/ResultsScreen.tsx +29 -9
  17. package/src/types/review.ts +18 -0
  18. package/dist/analysis/FindingsExtractor.d.ts +0 -105
  19. package/dist/analysis/FindingsExtractor.js +0 -363
  20. package/dist/analysis/FindingsExtractor.js.map +0 -1
  21. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +0 -111
  22. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +0 -215
  23. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +0 -1
  24. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +0 -142
  25. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +0 -503
  26. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +0 -1
  27. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +0 -88
  28. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +0 -343
  29. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +0 -1
  30. package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +0 -104
  31. package/dist/analysis/ai-detection/core/AIDetectionEngine.js +0 -369
  32. package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +0 -1
  33. package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +0 -364
  34. package/dist/analysis/ai-detection/types/DetectionTypes.js +0 -32
  35. package/dist/analysis/ai-detection/types/DetectionTypes.js.map +0 -1
  36. package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +0 -97
  37. package/dist/analysis/ai-detection/utils/SubmissionConverter.js +0 -339
  38. package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +0 -1
  39. package/dist/analysis/context/ReviewContext.d.ts +0 -184
  40. package/dist/analysis/context/ReviewContext.js +0 -294
  41. package/dist/analysis/context/ReviewContext.js.map +0 -1
  42. package/dist/analysis/context/index.d.ts +0 -6
  43. package/dist/analysis/context/index.js +0 -23
  44. package/dist/analysis/context/index.js.map +0 -1
  45. package/dist/analysis/index.d.ts +0 -7
  46. package/dist/analysis/index.js +0 -24
  47. package/dist/analysis/index.js.map +0 -1
  48. package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +0 -27
  49. package/dist/analysis/tokens/TokenAnalysisFormatter.js +0 -143
  50. package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +0 -1
  51. package/dist/analysis/tokens/TokenAnalyzer.d.ts +0 -155
  52. package/dist/analysis/tokens/TokenAnalyzer.js +0 -502
  53. package/dist/analysis/tokens/TokenAnalyzer.js.map +0 -1
  54. package/dist/analysis/tokens/index.d.ts +0 -7
  55. package/dist/analysis/tokens/index.js +0 -24
  56. package/dist/analysis/tokens/index.js.map +0 -1
  57. package/dist/clients/base/abstractClient.d.ts +0 -99
  58. package/dist/clients/base/abstractClient.js +0 -98
  59. package/dist/clients/base/abstractClient.js.map +0 -1
  60. package/dist/clients/base/httpClient.d.ts +0 -24
  61. package/dist/clients/base/httpClient.js +0 -147
  62. package/dist/clients/base/httpClient.js.map +0 -1
  63. package/dist/clients/base/index.d.ts +0 -11
  64. package/dist/clients/base/index.js +0 -28
  65. package/dist/clients/base/index.js.map +0 -1
  66. package/dist/clients/base/modelDetection.d.ts +0 -41
  67. package/dist/clients/base/modelDetection.js +0 -88
  68. package/dist/clients/base/modelDetection.js.map +0 -1
  69. package/dist/clients/base/responseProcessor.d.ts +0 -45
  70. package/dist/clients/base/responseProcessor.js +0 -495
  71. package/dist/clients/base/responseProcessor.js.map +0 -1
  72. package/dist/clients/factory/clientFactory.d.ts +0 -23
  73. package/dist/clients/factory/clientFactory.js +0 -50
  74. package/dist/clients/factory/clientFactory.js.map +0 -1
  75. package/dist/clients/factory/index.d.ts +0 -7
  76. package/dist/clients/factory/index.js +0 -24
  77. package/dist/clients/factory/index.js.map +0 -1
  78. package/dist/clients/implementations/index.d.ts +0 -7
  79. package/dist/clients/implementations/index.js +0 -24
  80. package/dist/clients/implementations/index.js.map +0 -1
  81. package/dist/clients/implementations/openRouterClient.d.ts +0 -69
  82. package/dist/clients/implementations/openRouterClient.js +0 -294
  83. package/dist/clients/implementations/openRouterClient.js.map +0 -1
  84. package/dist/clients/openRouterClient.d.ts +0 -42
  85. package/dist/clients/openRouterClient.js +0 -738
  86. package/dist/clients/openRouterClient.js.map +0 -1
  87. package/dist/clients/openRouterClientWrapper.d.ts +0 -22
  88. package/dist/clients/openRouterClientWrapper.js +0 -64
  89. package/dist/clients/openRouterClientWrapper.js.map +0 -1
  90. package/dist/clients/utils/directoryStructure.d.ts +0 -14
  91. package/dist/clients/utils/directoryStructure.js +0 -48
  92. package/dist/clients/utils/directoryStructure.js.map +0 -1
  93. package/dist/clients/utils/index.d.ts +0 -10
  94. package/dist/clients/utils/index.js +0 -31
  95. package/dist/clients/utils/index.js.map +0 -1
  96. package/dist/clients/utils/languageDetection.d.ts +0 -13
  97. package/dist/clients/utils/languageDetection.js +0 -46
  98. package/dist/clients/utils/languageDetection.js.map +0 -1
  99. package/dist/clients/utils/promptFormatter.d.ts +0 -36
  100. package/dist/clients/utils/promptFormatter.js +0 -92
  101. package/dist/clients/utils/promptFormatter.js.map +0 -1
  102. package/dist/clients/utils/promptLoader.d.ts +0 -27
  103. package/dist/clients/utils/promptLoader.js +0 -49
  104. package/dist/clients/utils/promptLoader.js.map +0 -1
  105. package/dist/clients/utils/tokenCounter.d.ts +0 -81
  106. package/dist/clients/utils/tokenCounter.js +0 -209
  107. package/dist/clients/utils/tokenCounter.js.map +0 -1
  108. package/dist/core/ApiClientSelector.d.ts +0 -8
  109. package/dist/core/ApiClientSelector.js +0 -29
  110. package/dist/core/ApiClientSelector.js.map +0 -1
  111. package/dist/core/ConfigurationService.d.ts +0 -286
  112. package/dist/core/ConfigurationService.js +0 -477
  113. package/dist/core/ConfigurationService.js.map +0 -1
  114. package/dist/core/ConsolidationService.d.ts +0 -99
  115. package/dist/core/ConsolidationService.js +0 -341
  116. package/dist/core/ConsolidationService.js.map +0 -1
  117. package/dist/core/InteractiveDisplayManager.d.ts +0 -22
  118. package/dist/core/InteractiveDisplayManager.js +0 -70
  119. package/dist/core/InteractiveDisplayManager.js.map +0 -1
  120. package/dist/core/OutputManager.d.ts +0 -26
  121. package/dist/core/OutputManager.js +0 -217
  122. package/dist/core/OutputManager.js.map +0 -1
  123. package/dist/core/ReviewGenerator.d.ts +0 -13
  124. package/dist/core/ReviewGenerator.js +0 -102
  125. package/dist/core/ReviewGenerator.js.map +0 -1
  126. package/dist/core/fileDiscovery.d.ts +0 -35
  127. package/dist/core/fileDiscovery.js +0 -202
  128. package/dist/core/fileDiscovery.js.map +0 -1
  129. package/dist/core/handlers/EstimationHandler.d.ts +0 -18
  130. package/dist/core/handlers/EstimationHandler.js +0 -110
  131. package/dist/core/handlers/EstimationHandler.js.map +0 -1
  132. package/dist/core/handlers/FileProcessingHandler.d.ts +0 -31
  133. package/dist/core/handlers/FileProcessingHandler.js +0 -159
  134. package/dist/core/handlers/FileProcessingHandler.js.map +0 -1
  135. package/dist/core/handlers/OutputHandler.d.ts +0 -27
  136. package/dist/core/handlers/OutputHandler.js +0 -127
  137. package/dist/core/handlers/OutputHandler.js.map +0 -1
  138. package/dist/core/handlers/ReviewExecutor.d.ts +0 -32
  139. package/dist/core/handlers/ReviewExecutor.js +0 -111
  140. package/dist/core/handlers/ReviewExecutor.js.map +0 -1
  141. package/dist/core/reviewOrchestrator.d.ts +0 -24
  142. package/dist/core/reviewOrchestrator.js +0 -294
  143. package/dist/core/reviewOrchestrator.js.map +0 -1
  144. package/dist/core/utils/ModelInfoUtils.d.ts +0 -16
  145. package/dist/core/utils/ModelInfoUtils.js +0 -54
  146. package/dist/core/utils/ModelInfoUtils.js.map +0 -1
  147. package/dist/formatters/outputFormatter.d.ts +0 -31
  148. package/dist/formatters/outputFormatter.js +0 -65
  149. package/dist/formatters/outputFormatter.js.map +0 -1
  150. package/dist/formatters/utils/IssueFormatters.d.ts +0 -20
  151. package/dist/formatters/utils/IssueFormatters.js +0 -67
  152. package/dist/formatters/utils/IssueFormatters.js.map +0 -1
  153. package/dist/formatters/utils/JsonFormatter.d.ts +0 -13
  154. package/dist/formatters/utils/JsonFormatter.js +0 -57
  155. package/dist/formatters/utils/JsonFormatter.js.map +0 -1
  156. package/dist/formatters/utils/MarkdownFormatters.d.ts +0 -51
  157. package/dist/formatters/utils/MarkdownFormatters.js +0 -456
  158. package/dist/formatters/utils/MarkdownFormatters.js.map +0 -1
  159. package/dist/formatters/utils/MetadataFormatter.d.ts +0 -65
  160. package/dist/formatters/utils/MetadataFormatter.js +0 -219
  161. package/dist/formatters/utils/MetadataFormatter.js.map +0 -1
  162. package/dist/formatters/utils/ModelInfoExtractor.d.ts +0 -33
  163. package/dist/formatters/utils/ModelInfoExtractor.js +0 -111
  164. package/dist/formatters/utils/ModelInfoExtractor.js.map +0 -1
  165. package/dist/index.d.ts +0 -2
  166. package/dist/index.js.map +0 -1
  167. package/dist/plugins/PluginInterface.d.ts +0 -44
  168. package/dist/plugins/PluginInterface.js +0 -9
  169. package/dist/plugins/PluginInterface.js.map +0 -1
  170. package/dist/plugins/PluginManager.d.ts +0 -51
  171. package/dist/plugins/PluginManager.js +0 -151
  172. package/dist/plugins/PluginManager.js.map +0 -1
  173. package/dist/prompts/PromptManager.d.ts +0 -30
  174. package/dist/prompts/PromptManager.js +0 -62
  175. package/dist/prompts/PromptManager.js.map +0 -1
  176. package/dist/prompts/cache/PromptCache.d.ts +0 -32
  177. package/dist/prompts/cache/PromptCache.js +0 -48
  178. package/dist/prompts/cache/PromptCache.js.map +0 -1
  179. package/dist/runtime/auth/service.d.ts +0 -2
  180. package/dist/runtime/auth/service.js +0 -41
  181. package/dist/runtime/auth/service.js.map +0 -1
  182. package/dist/runtime/auth/session.d.ts +0 -5
  183. package/dist/runtime/auth/session.js +0 -87
  184. package/dist/runtime/auth/session.js.map +0 -1
  185. package/dist/runtime/auth/types.d.ts +0 -9
  186. package/dist/runtime/auth/types.js +0 -3
  187. package/dist/runtime/auth/types.js.map +0 -1
  188. package/dist/runtime/cliEntry.d.ts +0 -1
  189. package/dist/runtime/cliEntry.js +0 -213
  190. package/dist/runtime/cliEntry.js.map +0 -1
  191. package/dist/runtime/debug/logManager.d.ts +0 -5
  192. package/dist/runtime/debug/logManager.js +0 -31
  193. package/dist/runtime/debug/logManager.js.map +0 -1
  194. package/dist/runtime/errors.d.ts +0 -5
  195. package/dist/runtime/errors.js +0 -15
  196. package/dist/runtime/errors.js.map +0 -1
  197. package/dist/runtime/fileCollector.d.ts +0 -5
  198. package/dist/runtime/fileCollector.js +0 -167
  199. package/dist/runtime/fileCollector.js.map +0 -1
  200. package/dist/runtime/manifest.d.ts +0 -1
  201. package/dist/runtime/manifest.js +0 -65
  202. package/dist/runtime/manifest.js.map +0 -1
  203. package/dist/runtime/openrouterProxy.d.ts +0 -4
  204. package/dist/runtime/openrouterProxy.js +0 -43
  205. package/dist/runtime/openrouterProxy.js.map +0 -1
  206. package/dist/runtime/preprod/webCheck.d.ts +0 -1
  207. package/dist/runtime/preprod/webCheck.js +0 -98
  208. package/dist/runtime/preprod/webCheck.js.map +0 -1
  209. package/dist/runtime/proxyConfig.d.ts +0 -6
  210. package/dist/runtime/proxyConfig.js +0 -86
  211. package/dist/runtime/proxyConfig.js.map +0 -1
  212. package/dist/runtime/proxyEnvironment.d.ts +0 -3
  213. package/dist/runtime/proxyEnvironment.js +0 -63
  214. package/dist/runtime/proxyEnvironment.js.map +0 -1
  215. package/dist/runtime/reportMerge.d.ts +0 -30
  216. package/dist/runtime/reportMerge.js +0 -70
  217. package/dist/runtime/reportMerge.js.map +0 -1
  218. package/dist/runtime/reporting/markdownReportBuilder.d.ts +0 -15
  219. package/dist/runtime/reporting/markdownReportBuilder.js +0 -97
  220. package/dist/runtime/reporting/markdownReportBuilder.js.map +0 -1
  221. package/dist/runtime/reporting/reportDataCollector.d.ts +0 -31
  222. package/dist/runtime/reporting/reportDataCollector.js +0 -170
  223. package/dist/runtime/reporting/reportDataCollector.js.map +0 -1
  224. package/dist/runtime/reporting/summaryGenerator.d.ts +0 -10
  225. package/dist/runtime/reporting/summaryGenerator.js +0 -67
  226. package/dist/runtime/reporting/summaryGenerator.js.map +0 -1
  227. package/dist/runtime/reviewPipeline.d.ts +0 -28
  228. package/dist/runtime/reviewPipeline.js +0 -122
  229. package/dist/runtime/reviewPipeline.js.map +0 -1
  230. package/dist/runtime/runAiCodeReview.d.ts +0 -10
  231. package/dist/runtime/runAiCodeReview.js +0 -138
  232. package/dist/runtime/runAiCodeReview.js.map +0 -1
  233. package/dist/runtime/runtimeConfig.d.ts +0 -4
  234. package/dist/runtime/runtimeConfig.js +0 -7
  235. package/dist/runtime/runtimeConfig.js.map +0 -1
  236. package/dist/runtime/ui/Layout.d.ts +0 -11
  237. package/dist/runtime/ui/Layout.js +0 -47
  238. package/dist/runtime/ui/Layout.js.map +0 -1
  239. package/dist/runtime/ui/RuntimeApp.d.ts +0 -6
  240. package/dist/runtime/ui/RuntimeApp.js +0 -161
  241. package/dist/runtime/ui/RuntimeApp.js.map +0 -1
  242. package/dist/runtime/ui/inkModules.d.ts +0 -10
  243. package/dist/runtime/ui/inkModules.js +0 -63
  244. package/dist/runtime/ui/inkModules.js.map +0 -1
  245. package/dist/runtime/ui/screens/AuthScreen.d.ts +0 -6
  246. package/dist/runtime/ui/screens/AuthScreen.js +0 -67
  247. package/dist/runtime/ui/screens/AuthScreen.js.map +0 -1
  248. package/dist/runtime/ui/screens/ModeSelection.d.ts +0 -10
  249. package/dist/runtime/ui/screens/ModeSelection.js +0 -100
  250. package/dist/runtime/ui/screens/ModeSelection.js.map +0 -1
  251. package/dist/runtime/ui/screens/ProgressScreen.d.ts +0 -7
  252. package/dist/runtime/ui/screens/ProgressScreen.js +0 -38
  253. package/dist/runtime/ui/screens/ProgressScreen.js.map +0 -1
  254. package/dist/runtime/ui/screens/ResultsScreen.d.ts +0 -7
  255. package/dist/runtime/ui/screens/ResultsScreen.js +0 -22
  256. package/dist/runtime/ui/screens/ResultsScreen.js.map +0 -1
  257. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +0 -29
  258. package/dist/strategies/ArchitecturalReviewStrategy.js +0 -42
  259. package/dist/strategies/ArchitecturalReviewStrategy.js.map +0 -1
  260. package/dist/strategies/CodingTestReviewStrategy.d.ts +0 -194
  261. package/dist/strategies/CodingTestReviewStrategy.js +0 -681
  262. package/dist/strategies/CodingTestReviewStrategy.js.map +0 -1
  263. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +0 -25
  264. package/dist/strategies/ConsolidatedReviewStrategy.js +0 -45
  265. package/dist/strategies/ConsolidatedReviewStrategy.js.map +0 -1
  266. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +0 -30
  267. package/dist/strategies/ExtractPatternsReviewStrategy.js +0 -51
  268. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +0 -1
  269. package/dist/strategies/MultiPassReviewStrategy.d.ts +0 -86
  270. package/dist/strategies/MultiPassReviewStrategy.js +0 -590
  271. package/dist/strategies/MultiPassReviewStrategy.js.map +0 -1
  272. package/dist/strategies/ReviewStrategy.d.ts +0 -45
  273. package/dist/strategies/ReviewStrategy.js +0 -24
  274. package/dist/strategies/ReviewStrategy.js.map +0 -1
  275. package/dist/strategies/StrategyFactory.d.ts +0 -19
  276. package/dist/strategies/StrategyFactory.js +0 -72
  277. package/dist/strategies/StrategyFactory.js.map +0 -1
  278. package/dist/strategies/index.d.ts +0 -13
  279. package/dist/strategies/index.js +0 -30
  280. package/dist/strategies/index.js.map +0 -1
  281. package/dist/tokenizers/baseTokenizer.d.ts +0 -25
  282. package/dist/tokenizers/baseTokenizer.js +0 -48
  283. package/dist/tokenizers/baseTokenizer.js.map +0 -1
  284. package/dist/tokenizers/gptTokenizer.d.ts +0 -7
  285. package/dist/tokenizers/gptTokenizer.js +0 -28
  286. package/dist/tokenizers/gptTokenizer.js.map +0 -1
  287. package/dist/tokenizers/index.d.ts +0 -7
  288. package/dist/tokenizers/index.js +0 -24
  289. package/dist/tokenizers/index.js.map +0 -1
  290. package/dist/types/apiResponses.d.ts +0 -39
  291. package/dist/types/apiResponses.js +0 -9
  292. package/dist/types/apiResponses.js.map +0 -1
  293. package/dist/types/cli.d.ts +0 -22
  294. package/dist/types/cli.js +0 -3
  295. package/dist/types/cli.js.map +0 -1
  296. package/dist/types/common.d.ts +0 -22
  297. package/dist/types/common.js +0 -14
  298. package/dist/types/common.js.map +0 -1
  299. package/dist/types/configuration.d.ts +0 -682
  300. package/dist/types/configuration.js +0 -65
  301. package/dist/types/configuration.js.map +0 -1
  302. package/dist/types/review.d.ts +0 -258
  303. package/dist/types/review.js +0 -8
  304. package/dist/types/review.js.map +0 -1
  305. package/dist/types/reviewSchema.d.ts +0 -543
  306. package/dist/types/reviewSchema.js +0 -121
  307. package/dist/types/reviewSchema.js.map +0 -1
  308. package/dist/types/structuredReview.d.ts +0 -119
  309. package/dist/types/structuredReview.js +0 -6
  310. package/dist/types/structuredReview.js.map +0 -1
  311. package/dist/types/tokenAnalysis.d.ts +0 -44
  312. package/dist/types/tokenAnalysis.js +0 -4
  313. package/dist/types/tokenAnalysis.js.map +0 -1
  314. package/dist/utils/FileReader.d.ts +0 -33
  315. package/dist/utils/FileReader.js +0 -88
  316. package/dist/utils/FileReader.js.map +0 -1
  317. package/dist/utils/FileWriter.d.ts +0 -26
  318. package/dist/utils/FileWriter.js +0 -76
  319. package/dist/utils/FileWriter.js.map +0 -1
  320. package/dist/utils/PathGenerator.d.ts +0 -30
  321. package/dist/utils/PathGenerator.js +0 -82
  322. package/dist/utils/PathGenerator.js.map +0 -1
  323. package/dist/utils/api/apiUtils.d.ts +0 -3
  324. package/dist/utils/api/apiUtils.js +0 -20
  325. package/dist/utils/api/apiUtils.js.map +0 -1
  326. package/dist/utils/api/index.d.ts +0 -1
  327. package/dist/utils/api/index.js +0 -18
  328. package/dist/utils/api/index.js.map +0 -1
  329. package/dist/utils/apiErrorHandler.d.ts +0 -130
  330. package/dist/utils/apiErrorHandler.js +0 -256
  331. package/dist/utils/apiErrorHandler.js.map +0 -1
  332. package/dist/utils/ciDataCollector.d.ts +0 -51
  333. package/dist/utils/ciDataCollector.js +0 -197
  334. package/dist/utils/ciDataCollector.js.map +0 -1
  335. package/dist/utils/codingTestConfigLoader.d.ts +0 -66
  336. package/dist/utils/codingTestConfigLoader.js +0 -420
  337. package/dist/utils/codingTestConfigLoader.js.map +0 -1
  338. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +0 -30
  339. package/dist/utils/dependencies/aiDependencyAnalyzer.js +0 -343
  340. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +0 -1
  341. package/dist/utils/detection/frameworkDetector.d.ts +0 -43
  342. package/dist/utils/detection/frameworkDetector.js +0 -795
  343. package/dist/utils/detection/frameworkDetector.js.map +0 -1
  344. package/dist/utils/detection/index.d.ts +0 -9
  345. package/dist/utils/detection/index.js +0 -28
  346. package/dist/utils/detection/index.js.map +0 -1
  347. package/dist/utils/detection/projectTypeDetector.d.ts +0 -27
  348. package/dist/utils/detection/projectTypeDetector.js +0 -469
  349. package/dist/utils/detection/projectTypeDetector.js.map +0 -1
  350. package/dist/utils/diagramGenerator.d.ts +0 -49
  351. package/dist/utils/diagramGenerator.js +0 -218
  352. package/dist/utils/diagramGenerator.js.map +0 -1
  353. package/dist/utils/errorLogger.d.ts +0 -24
  354. package/dist/utils/errorLogger.js +0 -59
  355. package/dist/utils/errorLogger.js.map +0 -1
  356. package/dist/utils/estimationUtils.d.ts +0 -139
  357. package/dist/utils/estimationUtils.js +0 -329
  358. package/dist/utils/estimationUtils.js.map +0 -1
  359. package/dist/utils/fileFilters.d.ts +0 -72
  360. package/dist/utils/fileFilters.js +0 -338
  361. package/dist/utils/fileFilters.js.map +0 -1
  362. package/dist/utils/fileSystem.d.ts +0 -22
  363. package/dist/utils/fileSystem.js +0 -45
  364. package/dist/utils/fileSystem.js.map +0 -1
  365. package/dist/utils/index.d.ts +0 -22
  366. package/dist/utils/index.js +0 -52
  367. package/dist/utils/index.js.map +0 -1
  368. package/dist/utils/logger.d.ts +0 -77
  369. package/dist/utils/logger.js +0 -271
  370. package/dist/utils/logger.js.map +0 -1
  371. package/dist/utils/pathValidator.d.ts +0 -40
  372. package/dist/utils/pathValidator.js +0 -98
  373. package/dist/utils/pathValidator.js.map +0 -1
  374. package/dist/utils/priorityFilter.d.ts +0 -34
  375. package/dist/utils/priorityFilter.js +0 -54
  376. package/dist/utils/priorityFilter.js.map +0 -1
  377. package/dist/utils/projectDocs.d.ts +0 -47
  378. package/dist/utils/projectDocs.js +0 -158
  379. package/dist/utils/projectDocs.js.map +0 -1
  380. package/dist/utils/promptPaths.d.ts +0 -6
  381. package/dist/utils/promptPaths.js +0 -33
  382. package/dist/utils/promptPaths.js.map +0 -1
  383. package/dist/utils/promptTemplateManager.d.ts +0 -34
  384. package/dist/utils/promptTemplateManager.js +0 -140
  385. package/dist/utils/promptTemplateManager.js.map +0 -1
  386. package/dist/utils/review/consolidateReview.d.ts +0 -15
  387. package/dist/utils/review/consolidateReview.js +0 -481
  388. package/dist/utils/review/consolidateReview.js.map +0 -1
  389. package/dist/utils/review/fixDisplay.d.ts +0 -20
  390. package/dist/utils/review/fixDisplay.js +0 -84
  391. package/dist/utils/review/fixDisplay.js.map +0 -1
  392. package/dist/utils/review/fixImplementation.d.ts +0 -28
  393. package/dist/utils/review/fixImplementation.js +0 -60
  394. package/dist/utils/review/fixImplementation.js.map +0 -1
  395. package/dist/utils/review/index.d.ts +0 -13
  396. package/dist/utils/review/index.js +0 -50
  397. package/dist/utils/review/index.js.map +0 -1
  398. package/dist/utils/review/interactiveProcessing.d.ts +0 -25
  399. package/dist/utils/review/interactiveProcessing.js +0 -251
  400. package/dist/utils/review/interactiveProcessing.js.map +0 -1
  401. package/dist/utils/review/progressTracker.d.ts +0 -106
  402. package/dist/utils/review/progressTracker.js +0 -227
  403. package/dist/utils/review/progressTracker.js.map +0 -1
  404. package/dist/utils/review/reviewExtraction.d.ts +0 -31
  405. package/dist/utils/review/reviewExtraction.js +0 -324
  406. package/dist/utils/review/reviewExtraction.js.map +0 -1
  407. package/dist/utils/review/types.d.ts +0 -45
  408. package/dist/utils/review/types.js +0 -18
  409. package/dist/utils/review/types.js.map +0 -1
  410. package/dist/utils/reviewActionHandler.d.ts +0 -16
  411. package/dist/utils/reviewActionHandler.js +0 -34
  412. package/dist/utils/reviewActionHandler.js.map +0 -1
  413. package/dist/utils/reviewParser.d.ts +0 -34
  414. package/dist/utils/reviewParser.js +0 -218
  415. package/dist/utils/reviewParser.js.map +0 -1
  416. package/dist/utils/sanitizer.d.ts +0 -82
  417. package/dist/utils/sanitizer.js +0 -239
  418. package/dist/utils/sanitizer.js.map +0 -1
  419. package/dist/utils/smartFileSelector.d.ts +0 -50
  420. package/dist/utils/smartFileSelector.js +0 -261
  421. package/dist/utils/smartFileSelector.js.map +0 -1
  422. package/dist/utils/templateLoader.d.ts +0 -44
  423. package/dist/utils/templateLoader.js +0 -431
  424. package/dist/utils/templateLoader.js.map +0 -1
  425. package/dist/utils/treeGenerator.d.ts +0 -12
  426. package/dist/utils/treeGenerator.js +0 -133
  427. package/dist/utils/treeGenerator.js.map +0 -1
@@ -1,329 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Utilities for estimating token usage and costs for code reviews.
4
- *
5
- * This module provides functions for estimating token usage and costs for code reviews
6
- * based on file content and model selection. It uses the tokenCounter utilities for
7
- * basic token counting and cost calculation, and adds specialized functions for
8
- * estimating review-specific token usage patterns.
9
- */
10
- var __importDefault = (this && this.__importDefault) || function (mod) {
11
- return (mod && mod.__esModule) ? mod : { "default": mod };
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.estimateOutputTokens = estimateOutputTokens;
15
- exports.estimateReviewCost = estimateReviewCost;
16
- exports.formatEstimation = formatEstimation;
17
- exports.estimateFromFilePaths = estimateFromFilePaths;
18
- exports.estimateMultiPassReviewCost = estimateMultiPassReviewCost;
19
- exports.formatMultiPassEstimation = formatMultiPassEstimation;
20
- const promises_1 = __importDefault(require("node:fs/promises"));
21
- const node_path_1 = __importDefault(require("node:path"));
22
- const tokenCounter_1 = require("../clients/utils/tokenCounter");
23
- const logger_1 = __importDefault(require("./logger"));
24
- /**
25
- * Ratio of output tokens to input tokens based on empirical observations
26
- * This is an approximation and may vary based on the specific review type and content
27
- */
28
- const OUTPUT_TO_INPUT_RATIO = {
29
- architectural: 0.6, // Architectural reviews tend to be more concise
30
- 'quick-fixes': 0.8, // Quick fixes often include code snippets
31
- security: 0.7, // Security reviews are moderately detailed
32
- performance: 0.7, // Performance reviews are similar to security
33
- default: 0.75, // Default ratio if review type is not specified
34
- };
35
- /**
36
- * Overhead tokens for review context, instructions, and formatting
37
- * This is added to the total token count to account for the review framework
38
- */
39
- const REVIEW_OVERHEAD_TOKENS = 1500;
40
- /**
41
- * Context maintenance overhead factor for multi-pass reviews
42
- * This factor is applied to estimate additional tokens needed for maintaining context
43
- */
44
- const MULTI_PASS_CONTEXT_MAINTENANCE_FACTOR = 0.15;
45
- /**
46
- * Additional overhead tokens per pass in multi-pass reviews
47
- * This accounts for pass management, coordination, and state tracking
48
- */
49
- const MULTI_PASS_OVERHEAD_PER_PASS = 800;
50
- /**
51
- * Estimate the number of output tokens based on input tokens and review type
52
- * @param inputTokens Number of input tokens
53
- * @param reviewType Type of review
54
- * @returns Estimated number of output tokens
55
- */
56
- function estimateOutputTokens(inputTokens, reviewType) {
57
- const ratio = OUTPUT_TO_INPUT_RATIO[reviewType] ||
58
- OUTPUT_TO_INPUT_RATIO.default;
59
- return Math.ceil(inputTokens * ratio);
60
- }
61
- /**
62
- * Estimate token usage and cost for a set of files
63
- *
64
- * This function calculates the estimated token usage and cost for reviewing a set of files
65
- * using a specified AI model. It considers:
66
- * - The content of each file (code, comments, etc.)
67
- * - The type of review being performed (quick, security, architectural, etc.)
68
- * - The specific AI model being used and its pricing structure
69
- *
70
- * The estimation includes overhead tokens for system prompts and instructions that are
71
- * included in every review, in addition to the tokens from the file content itself.
72
- *
73
- * @param files Array of file information objects containing file content and metadata
74
- * @param reviewType Type of review (quick, security, architectural, performance)
75
- * @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
76
- * @returns Estimated token usage and cost information including:
77
- * - inputTokens: Number of tokens in the input (files + prompts)
78
- * - outputTokens: Estimated number of tokens in the AI response
79
- * - totalTokens: Total token usage (input + output)
80
- * - estimatedCost: Estimated cost in USD
81
- * - formattedCost: Cost formatted as a string (e.g., '$0.12 USD')
82
- * - fileCount: Number of files being reviewed
83
- * - totalFileSize: Total size of all files in bytes
84
- */
85
- async function estimateReviewCost(files, reviewType, modelName = process.env.AI_CODE_REVIEW_MODEL || 'openrouter:anthropic/claude-3-opus-20240229') {
86
- // Calculate total input tokens from all files
87
- let totalInputTokens = REVIEW_OVERHEAD_TOKENS; // Start with overhead tokens
88
- let totalFileSize = 0;
89
- for (const file of files) {
90
- const fileTokens = (0, tokenCounter_1.estimateTokenCount)(file.content);
91
- totalInputTokens += fileTokens;
92
- totalFileSize += file.content.length;
93
- }
94
- // Estimate output tokens based on input tokens and review type
95
- const estimatedOutputTokens = estimateOutputTokens(totalInputTokens, reviewType);
96
- // Calculate cost information
97
- const costInfo = (0, tokenCounter_1.getCostInfo)(totalInputTokens, estimatedOutputTokens, modelName);
98
- return {
99
- ...costInfo,
100
- fileCount: files.length,
101
- totalFileSize,
102
- };
103
- }
104
- /**
105
- * Format estimation results as a human-readable string
106
- *
107
- * This function takes the estimation results from estimateReviewCost or estimateFromFilePaths
108
- * and formats them into a user-friendly string that can be displayed to the user.
109
- *
110
- * The formatted string includes:
111
- * - Number of files being reviewed
112
- * - Total file size
113
- * - Input token count
114
- * - Estimated output token count
115
- * - Total token usage
116
- * - Estimated cost in USD
117
- *
118
- * @param estimation Estimation results from estimateReviewCost or estimateFromFilePaths
119
- * @param reviewType Type of review (quick, security, architectural, performance)
120
- * @param modelName Name of the model being used
121
- * @returns Formatted estimation string ready for display
122
- * @example
123
- * // Example output:
124
- * // Estimation for 5 files (25.5 KB) using openrouter:anthropic/claude-3-opus-20240229:
125
- * // - Review type: quick
126
- * // - Input tokens: 5,000
127
- * // - Output tokens: 2,500 (estimated)
128
- * // - Total tokens: 7,500
129
- * // - Estimated Cost: $0.015 USD
130
- */
131
- function formatEstimation(estimation, reviewType, modelName) {
132
- // Extract provider and model if available
133
- const [provider, model] = modelName.includes(':') ? modelName.split(':') : [undefined, modelName];
134
- const displayModel = model || modelName;
135
- const displayProvider = provider
136
- ? `${provider.charAt(0).toUpperCase() + provider.slice(1)}`
137
- : 'Unknown';
138
- const fileSizeInKB = (estimation.totalFileSize / 1024).toFixed(2);
139
- const averageFileSize = estimation.fileCount > 0
140
- ? (estimation.totalFileSize / estimation.fileCount / 1024).toFixed(2)
141
- : '0.00';
142
- return `
143
- === Token Usage and Cost Estimation ===
144
-
145
- Review Type: ${reviewType}
146
- Provider: ${displayProvider}
147
- Model: ${displayModel}
148
- Files: ${estimation.fileCount} (${fileSizeInKB} KB total, ${averageFileSize} KB average)
149
-
150
- Token Usage:
151
- Input Tokens: ${estimation.inputTokens.toLocaleString()} (includes ${REVIEW_OVERHEAD_TOKENS.toLocaleString()} overhead tokens)
152
- Estimated Output Tokens: ${estimation.outputTokens.toLocaleString()}
153
- Total Tokens: ${estimation.totalTokens.toLocaleString()}
154
-
155
- Estimated Cost: ${estimation.formattedCost}
156
-
157
- Note: This is an estimate based on approximate token counts and may vary
158
- based on the actual content and model behavior.
159
- `;
160
- }
161
- /**
162
- * Estimate token usage and cost for a set of file paths
163
- *
164
- * This function is a convenience wrapper around estimateReviewCost that takes file paths
165
- * instead of FileInfo objects. It reads the content of each file and then calls
166
- * estimateReviewCost to calculate the token usage and cost.
167
- *
168
- * This is particularly useful for the --estimate command line flag, which needs to
169
- * estimate costs before actually performing a review.
170
- *
171
- * @param filePaths Array of file paths to estimate token usage for
172
- * @param reviewType Type of review (quick, security, architectural, performance)
173
- * @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
174
- * @returns Estimated token usage and cost information (same as estimateReviewCost)
175
- * @throws Error if any file cannot be read
176
- * @see estimateReviewCost for details on the return value
177
- */
178
- async function estimateFromFilePaths(filePaths, reviewType, modelName = process.env.AI_CODE_REVIEW_MODEL || 'openrouter:anthropic/claude-3-opus-20240229') {
179
- // Read file contents
180
- const files = [];
181
- for (const filePath of filePaths) {
182
- try {
183
- const content = await promises_1.default.readFile(filePath, 'utf-8');
184
- files.push({
185
- path: filePath,
186
- relativePath: node_path_1.default.basename(filePath),
187
- content,
188
- });
189
- }
190
- catch (error) {
191
- logger_1.default.error(`Error reading file ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
192
- }
193
- }
194
- // Estimate cost
195
- return await estimateReviewCost(files, reviewType, modelName);
196
- }
197
- /**
198
- * Estimate token usage and cost for a multi-pass review
199
- *
200
- * This function extends the standard token estimation by accounting for the overhead
201
- * of multi-pass reviews, including context maintenance between passes and additional
202
- * overhead for each pass.
203
- *
204
- * @param files Array of file information objects containing file content and metadata
205
- * @param reviewType Type of review (quick, security, architectural, performance)
206
- * @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
207
- * @param options Additional estimation options
208
- * @param options.passCount Number of passes to estimate (if known)
209
- * @param options.contextMaintenanceFactor Factor for context maintenance overhead (0-1)
210
- * @returns Estimated token usage and cost information for multi-pass review
211
- */
212
- async function estimateMultiPassReviewCost(files, reviewType, modelName = process.env.AI_CODE_REVIEW_MODEL || 'openrouter:anthropic/claude-3-opus-20240229', options = {}) {
213
- // Calculate total input tokens from all files
214
- let totalFileTokens = 0;
215
- let totalFileSize = 0;
216
- for (const file of files) {
217
- const fileTokens = (0, tokenCounter_1.estimateTokenCount)(file.content);
218
- totalFileTokens += fileTokens;
219
- totalFileSize += file.content.length;
220
- }
221
- // Calculate or determine the number of passes
222
- const contextMaintenanceFactor = options.contextMaintenanceFactor || MULTI_PASS_CONTEXT_MAINTENANCE_FACTOR;
223
- // Get a rough estimate of context window size based on the model
224
- // This is a simplified approach; in production we'd pull this from provider metadata.
225
- const getContextWindow = (model) => {
226
- if (model.includes('claude'))
227
- return 200000;
228
- if (model.includes('gpt-4o'))
229
- return 128000;
230
- if (model.includes('gpt-4'))
231
- return 128000;
232
- return 128000; // Default for OpenRouter models
233
- };
234
- const contextWindow = getContextWindow(modelName);
235
- const effectiveContextSize = Math.floor(contextWindow * (1 - contextMaintenanceFactor));
236
- // Determine number of passes if not provided
237
- const passCount = options.passCount || Math.max(1, Math.ceil(totalFileTokens / effectiveContextSize));
238
- // Calculate tokens per pass (roughly equal distribution for estimation)
239
- const tokensPerPass = totalFileTokens / passCount;
240
- // Calculate per-pass costs
241
- const perPassCosts = [];
242
- let totalInputTokens = 0;
243
- let totalOutputTokens = 0;
244
- let totalEstimatedCost = 0;
245
- for (let i = 0; i < passCount; i++) {
246
- // Each pass has standard overhead plus context maintenance overhead
247
- const passInputTokens = Math.ceil(tokensPerPass + REVIEW_OVERHEAD_TOKENS + MULTI_PASS_OVERHEAD_PER_PASS);
248
- // For passes after the first, add context from previous passes
249
- const contextTokens = i > 0 ? Math.ceil(i * MULTI_PASS_OVERHEAD_PER_PASS * 1.5) : 0;
250
- const totalPassInputTokens = passInputTokens + contextTokens;
251
- // Estimate output tokens
252
- const passOutputTokens = estimateOutputTokens(totalPassInputTokens, reviewType);
253
- // Calculate cost for this pass
254
- const passCostInfo = (0, tokenCounter_1.getCostInfo)(totalPassInputTokens, passOutputTokens, modelName);
255
- perPassCosts.push({
256
- passNumber: i + 1,
257
- inputTokens: totalPassInputTokens,
258
- outputTokens: passOutputTokens,
259
- totalTokens: totalPassInputTokens + passOutputTokens,
260
- estimatedCost: passCostInfo.estimatedCost,
261
- });
262
- // Accumulate totals
263
- totalInputTokens += totalPassInputTokens;
264
- totalOutputTokens += passOutputTokens;
265
- totalEstimatedCost += passCostInfo.estimatedCost;
266
- }
267
- return {
268
- inputTokens: totalInputTokens,
269
- outputTokens: totalOutputTokens,
270
- totalTokens: totalInputTokens + totalOutputTokens,
271
- estimatedCost: totalEstimatedCost,
272
- formattedCost: (0, tokenCounter_1.formatCost)(totalEstimatedCost),
273
- fileCount: files.length,
274
- totalFileSize,
275
- passCount,
276
- perPassCosts,
277
- };
278
- }
279
- /**
280
- * Format multi-pass estimation results as a human-readable string
281
- *
282
- * @param estimation Multi-pass estimation results
283
- * @param reviewType Type of review
284
- * @param modelName Name of the model being used
285
- * @returns Formatted estimation string
286
- */
287
- function formatMultiPassEstimation(estimation, reviewType, modelName) {
288
- // Extract provider and model if available
289
- const [provider, model] = modelName.includes(':') ? modelName.split(':') : [undefined, modelName];
290
- const displayModel = model || modelName;
291
- const displayProvider = provider
292
- ? `${provider.charAt(0).toUpperCase() + provider.slice(1)}`
293
- : 'Unknown';
294
- const fileSizeInKB = (estimation.totalFileSize / 1024).toFixed(2);
295
- const averageFileSize = estimation.fileCount > 0
296
- ? (estimation.totalFileSize / estimation.fileCount / 1024).toFixed(2)
297
- : '0.00';
298
- let output = `
299
- === Multi-Pass Token Usage and Cost Estimation ===
300
-
301
- Review Type: ${reviewType}
302
- Provider: ${displayProvider}
303
- Model: ${displayModel}
304
- Files: ${estimation.fileCount} (${fileSizeInKB} KB total, ${averageFileSize} KB average)
305
- Passes: ${estimation.passCount}
306
-
307
- Total Token Usage:
308
- Input Tokens: ${estimation.inputTokens.toLocaleString()}
309
- Estimated Output Tokens: ${estimation.outputTokens.toLocaleString()}
310
- Total Tokens: ${estimation.totalTokens.toLocaleString()}
311
-
312
- Estimated Total Cost: ${estimation.formattedCost}
313
-
314
- Per-Pass Breakdown:
315
- `;
316
- estimation.perPassCosts.forEach((passCost) => {
317
- output += ` Pass ${passCost.passNumber}:
318
- Input Tokens: ${passCost.inputTokens.toLocaleString()}
319
- Output Tokens: ${passCost.outputTokens.toLocaleString()}
320
- Cost: ${(0, tokenCounter_1.formatCost)(passCost.estimatedCost)}
321
- `;
322
- });
323
- output += `
324
- Note: This is an estimate based on approximate token counts and may vary
325
- based on the actual content and model behavior.
326
- `;
327
- return output;
328
- }
329
- //# sourceMappingURL=estimationUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"estimationUtils.js","sourceRoot":"","sources":["../../src/utils/estimationUtils.ts"],"names":[],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- /**
2
- * @fileoverview Utilities for filtering and selecting files for code review.
3
- *
4
- * This module provides functions for identifying, filtering, and selecting files
5
- * for code review based on various criteria. It handles file discovery, gitignore
6
- * pattern matching, file extension filtering, and test file identification.
7
- * Supported file types include TypeScript, JavaScript, JSON, and Markdown.
8
- */
9
- import type { FileInfo } from '../types/review';
10
- /**
11
- * Check if a file is a test file
12
- * @param filePath File path
13
- * @returns True if the file is a test file
14
- */
15
- export declare function isTestFile(filePath: string): boolean;
16
- /**
17
- * Load gitignore patterns from a project directory
18
- * @param projectDir Project directory path
19
- * @returns Array of gitignore patterns
20
- */
21
- export declare function loadGitignorePatterns(projectDir: string): Promise<string[]>;
22
- /**
23
- * Check if a file should be excluded based on gitignore patterns
24
- * @param filePath File path
25
- * @param gitignorePatterns Array of gitignore patterns
26
- * @returns True if the file should be excluded
27
- */
28
- export declare function shouldExcludeFile(filePath: string, gitignorePatterns: string[]): boolean;
29
- /**
30
- * Get the language for a file based on its extension
31
- * @param filePath File path
32
- * @returns Language identifier
33
- */
34
- export declare function getLanguageForFile(filePath: string): string;
35
- /**
36
- * Check if a file is supported for code review
37
- * @param filePath File path
38
- * @returns True if the file is supported
39
- */
40
- export declare function isSupportedFile(filePath: string): boolean;
41
- /**
42
- * Discover files in a directory recursively
43
- * @param dirPath Directory path
44
- * @param options Options for file discovery
45
- * @returns Array of file paths
46
- */
47
- export declare function discoverFiles(dirPath: string, options?: {
48
- excludePatterns?: string[];
49
- includeTests?: boolean;
50
- maxDepth?: number;
51
- currentDepth?: number;
52
- }): Promise<string[]>;
53
- /**
54
- * Read file content and create a FileInfo object
55
- * @param filePath File path
56
- * @returns FileInfo object
57
- */
58
- export declare function readFileInfo(filePath: string): Promise<FileInfo>;
59
- /**
60
- * Read multiple files and create FileInfo objects
61
- * @param filePaths Array of file paths
62
- * @returns Array of FileInfo objects
63
- */
64
- export declare function readMultipleFiles(filePaths: string[]): Promise<FileInfo[]>;
65
- /**
66
- * Get files to review based on the target path
67
- * @param targetPath The target file or directory path
68
- * @param isFile Whether the target is a file
69
- * @param includeTests Whether to include test files
70
- * @returns Array of file paths to review
71
- */
72
- export declare function getFilesToReview(targetPath: string, isFile: boolean, includeTests?: boolean, excludePatterns?: string[]): Promise<string[]>;