codereview-aia 0.1.3 → 0.1.4

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 (549) hide show
  1. package/dist/analysis/FindingsExtractor.d.ts +105 -0
  2. package/dist/analysis/FindingsExtractor.js +363 -0
  3. package/dist/analysis/FindingsExtractor.js.map +1 -0
  4. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +111 -0
  5. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +215 -0
  6. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +1 -0
  7. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +142 -0
  8. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +503 -0
  9. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +1 -0
  10. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +88 -0
  11. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +343 -0
  12. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +1 -0
  13. package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +104 -0
  14. package/dist/analysis/ai-detection/core/AIDetectionEngine.js +369 -0
  15. package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +1 -0
  16. package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +364 -0
  17. package/dist/analysis/ai-detection/types/DetectionTypes.js +32 -0
  18. package/dist/analysis/ai-detection/types/DetectionTypes.js.map +1 -0
  19. package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +97 -0
  20. package/dist/analysis/ai-detection/utils/SubmissionConverter.js +339 -0
  21. package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +1 -0
  22. package/dist/analysis/context/ReviewContext.d.ts +184 -0
  23. package/dist/analysis/context/ReviewContext.js +294 -0
  24. package/dist/analysis/context/ReviewContext.js.map +1 -0
  25. package/{src/analysis/context/index.ts → dist/analysis/context/index.d.ts} +0 -1
  26. package/dist/analysis/context/index.js +23 -0
  27. package/dist/analysis/context/index.js.map +1 -0
  28. package/{src/analysis/index.ts → dist/analysis/index.d.ts} +0 -1
  29. package/dist/analysis/index.js +24 -0
  30. package/dist/analysis/index.js.map +1 -0
  31. package/dist/analysis/static/wpPhpcsRunner.d.ts +11 -0
  32. package/dist/analysis/static/wpPhpcsRunner.js +219 -0
  33. package/dist/analysis/static/wpPhpcsRunner.js.map +1 -0
  34. package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +27 -0
  35. package/{src/analysis/tokens/TokenAnalysisFormatter.ts → dist/analysis/tokens/TokenAnalysisFormatter.js} +64 -75
  36. package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +1 -0
  37. package/dist/analysis/tokens/TokenAnalyzer.d.ts +155 -0
  38. package/dist/analysis/tokens/TokenAnalyzer.js +502 -0
  39. package/dist/analysis/tokens/TokenAnalyzer.js.map +1 -0
  40. package/{src/analysis/tokens/index.ts → dist/analysis/tokens/index.d.ts} +0 -1
  41. package/dist/analysis/tokens/index.js +24 -0
  42. package/dist/analysis/tokens/index.js.map +1 -0
  43. package/dist/clients/base/abstractClient.d.ts +99 -0
  44. package/dist/clients/base/abstractClient.js +98 -0
  45. package/dist/clients/base/abstractClient.js.map +1 -0
  46. package/dist/clients/base/httpClient.d.ts +24 -0
  47. package/dist/clients/base/httpClient.js +147 -0
  48. package/dist/clients/base/httpClient.js.map +1 -0
  49. package/{src/clients/base/index.ts → dist/clients/base/index.d.ts} +0 -1
  50. package/dist/clients/base/index.js +28 -0
  51. package/dist/clients/base/index.js.map +1 -0
  52. package/dist/clients/base/modelDetection.d.ts +41 -0
  53. package/dist/clients/base/modelDetection.js +88 -0
  54. package/dist/clients/base/modelDetection.js.map +1 -0
  55. package/dist/clients/base/responseProcessor.d.ts +45 -0
  56. package/dist/clients/base/responseProcessor.js +495 -0
  57. package/dist/clients/base/responseProcessor.js.map +1 -0
  58. package/dist/clients/factory/clientFactory.d.ts +23 -0
  59. package/dist/clients/factory/clientFactory.js +50 -0
  60. package/dist/clients/factory/clientFactory.js.map +1 -0
  61. package/{src/clients/factory/index.ts → dist/clients/factory/index.d.ts} +0 -1
  62. package/dist/clients/factory/index.js +24 -0
  63. package/dist/clients/factory/index.js.map +1 -0
  64. package/{src/clients/implementations/index.ts → dist/clients/implementations/index.d.ts} +0 -1
  65. package/dist/clients/implementations/index.js +24 -0
  66. package/dist/clients/implementations/index.js.map +1 -0
  67. package/dist/clients/implementations/openRouterClient.d.ts +69 -0
  68. package/dist/clients/implementations/openRouterClient.js +294 -0
  69. package/dist/clients/implementations/openRouterClient.js.map +1 -0
  70. package/dist/clients/openRouterClient.d.ts +42 -0
  71. package/dist/clients/openRouterClient.js +738 -0
  72. package/dist/clients/openRouterClient.js.map +1 -0
  73. package/{src/clients/openRouterClientWrapper.ts → dist/clients/openRouterClientWrapper.d.ts} +2 -24
  74. package/dist/clients/openRouterClientWrapper.js +64 -0
  75. package/dist/clients/openRouterClientWrapper.js.map +1 -0
  76. package/dist/clients/utils/directoryStructure.d.ts +14 -0
  77. package/dist/clients/utils/directoryStructure.js +48 -0
  78. package/dist/clients/utils/directoryStructure.js.map +1 -0
  79. package/{src/clients/utils/index.ts → dist/clients/utils/index.d.ts} +0 -1
  80. package/dist/clients/utils/index.js +31 -0
  81. package/dist/clients/utils/index.js.map +1 -0
  82. package/dist/clients/utils/languageDetection.d.ts +13 -0
  83. package/dist/clients/utils/languageDetection.js +46 -0
  84. package/dist/clients/utils/languageDetection.js.map +1 -0
  85. package/dist/clients/utils/promptFormatter.d.ts +37 -0
  86. package/dist/clients/utils/promptFormatter.js +150 -0
  87. package/dist/clients/utils/promptFormatter.js.map +1 -0
  88. package/{src/clients/utils/promptLoader.ts → dist/clients/utils/promptLoader.d.ts} +1 -27
  89. package/dist/clients/utils/promptLoader.js +49 -0
  90. package/dist/clients/utils/promptLoader.js.map +1 -0
  91. package/dist/clients/utils/tokenCounter.d.ts +81 -0
  92. package/dist/clients/utils/tokenCounter.js +209 -0
  93. package/dist/clients/utils/tokenCounter.js.map +1 -0
  94. package/dist/core/ApiClientSelector.d.ts +8 -0
  95. package/dist/core/ApiClientSelector.js +29 -0
  96. package/dist/core/ApiClientSelector.js.map +1 -0
  97. package/dist/core/ConfigurationService.d.ts +307 -0
  98. package/dist/core/ConfigurationService.js +516 -0
  99. package/dist/core/ConfigurationService.js.map +1 -0
  100. package/dist/core/ConsolidationService.d.ts +99 -0
  101. package/dist/core/ConsolidationService.js +341 -0
  102. package/dist/core/ConsolidationService.js.map +1 -0
  103. package/dist/core/InteractiveDisplayManager.d.ts +22 -0
  104. package/dist/core/InteractiveDisplayManager.js +70 -0
  105. package/dist/core/InteractiveDisplayManager.js.map +1 -0
  106. package/dist/core/OutputManager.d.ts +26 -0
  107. package/dist/core/OutputManager.js +217 -0
  108. package/dist/core/OutputManager.js.map +1 -0
  109. package/dist/core/ReviewGenerator.d.ts +13 -0
  110. package/dist/core/ReviewGenerator.js +102 -0
  111. package/dist/core/ReviewGenerator.js.map +1 -0
  112. package/dist/core/fileDiscovery.d.ts +35 -0
  113. package/dist/core/fileDiscovery.js +202 -0
  114. package/dist/core/fileDiscovery.js.map +1 -0
  115. package/dist/core/handlers/EstimationHandler.d.ts +18 -0
  116. package/dist/core/handlers/EstimationHandler.js +110 -0
  117. package/dist/core/handlers/EstimationHandler.js.map +1 -0
  118. package/dist/core/handlers/FileProcessingHandler.d.ts +31 -0
  119. package/dist/core/handlers/FileProcessingHandler.js +164 -0
  120. package/dist/core/handlers/FileProcessingHandler.js.map +1 -0
  121. package/dist/core/handlers/OutputHandler.d.ts +27 -0
  122. package/dist/core/handlers/OutputHandler.js +127 -0
  123. package/dist/core/handlers/OutputHandler.js.map +1 -0
  124. package/dist/core/handlers/ReviewExecutor.d.ts +32 -0
  125. package/dist/core/handlers/ReviewExecutor.js +111 -0
  126. package/dist/core/handlers/ReviewExecutor.js.map +1 -0
  127. package/dist/core/reviewOrchestrator.d.ts +24 -0
  128. package/dist/core/reviewOrchestrator.js +354 -0
  129. package/dist/core/reviewOrchestrator.js.map +1 -0
  130. package/dist/core/utils/ModelInfoUtils.d.ts +16 -0
  131. package/dist/core/utils/ModelInfoUtils.js +54 -0
  132. package/dist/core/utils/ModelInfoUtils.js.map +1 -0
  133. package/{src/formatters/outputFormatter.ts → dist/formatters/outputFormatter.d.ts} +2 -33
  134. package/dist/formatters/outputFormatter.js +65 -0
  135. package/dist/formatters/outputFormatter.js.map +1 -0
  136. package/dist/formatters/utils/IssueFormatters.d.ts +20 -0
  137. package/dist/formatters/utils/IssueFormatters.js +67 -0
  138. package/dist/formatters/utils/IssueFormatters.js.map +1 -0
  139. package/dist/formatters/utils/JsonFormatter.d.ts +13 -0
  140. package/dist/formatters/utils/JsonFormatter.js +57 -0
  141. package/dist/formatters/utils/JsonFormatter.js.map +1 -0
  142. package/dist/formatters/utils/MarkdownFormatters.d.ts +51 -0
  143. package/dist/formatters/utils/MarkdownFormatters.js +456 -0
  144. package/dist/formatters/utils/MarkdownFormatters.js.map +1 -0
  145. package/dist/formatters/utils/MetadataFormatter.d.ts +65 -0
  146. package/dist/formatters/utils/MetadataFormatter.js +219 -0
  147. package/dist/formatters/utils/MetadataFormatter.js.map +1 -0
  148. package/dist/formatters/utils/ModelInfoExtractor.d.ts +33 -0
  149. package/dist/formatters/utils/ModelInfoExtractor.js +111 -0
  150. package/dist/formatters/utils/ModelInfoExtractor.js.map +1 -0
  151. package/dist/index.d.ts +1 -0
  152. package/dist/index.js.map +1 -0
  153. package/dist/plugins/PluginInterface.d.ts +44 -0
  154. package/dist/plugins/PluginInterface.js +9 -0
  155. package/dist/plugins/PluginInterface.js.map +1 -0
  156. package/dist/plugins/PluginManager.d.ts +51 -0
  157. package/dist/plugins/PluginManager.js +151 -0
  158. package/dist/plugins/PluginManager.js.map +1 -0
  159. package/dist/prompts/PromptManager.d.ts +30 -0
  160. package/dist/prompts/PromptManager.js +62 -0
  161. package/dist/prompts/PromptManager.js.map +1 -0
  162. package/dist/prompts/cache/PromptCache.d.ts +32 -0
  163. package/dist/prompts/cache/PromptCache.js +48 -0
  164. package/dist/prompts/cache/PromptCache.js.map +1 -0
  165. package/dist/runtime/auth/service.d.ts +2 -0
  166. package/dist/runtime/auth/service.js +41 -0
  167. package/dist/runtime/auth/service.js.map +1 -0
  168. package/dist/runtime/auth/session.d.ts +5 -0
  169. package/dist/runtime/auth/session.js +87 -0
  170. package/dist/runtime/auth/session.js.map +1 -0
  171. package/dist/runtime/auth/types.d.ts +9 -0
  172. package/dist/runtime/auth/types.js +3 -0
  173. package/dist/runtime/auth/types.js.map +1 -0
  174. package/dist/runtime/cliEntry.d.ts +1 -0
  175. package/dist/runtime/cliEntry.js +266 -0
  176. package/dist/runtime/cliEntry.js.map +1 -0
  177. package/dist/runtime/debug/logManager.d.ts +5 -0
  178. package/dist/runtime/debug/logManager.js +31 -0
  179. package/dist/runtime/debug/logManager.js.map +1 -0
  180. package/dist/runtime/errors.d.ts +5 -0
  181. package/dist/runtime/errors.js +15 -0
  182. package/dist/runtime/errors.js.map +1 -0
  183. package/dist/runtime/fileCollector.d.ts +14 -0
  184. package/dist/runtime/fileCollector.js +382 -0
  185. package/dist/runtime/fileCollector.js.map +1 -0
  186. package/dist/runtime/manifest.d.ts +1 -0
  187. package/dist/runtime/manifest.js +65 -0
  188. package/dist/runtime/manifest.js.map +1 -0
  189. package/dist/runtime/openrouterProxy.d.ts +4 -0
  190. package/dist/runtime/openrouterProxy.js +43 -0
  191. package/dist/runtime/openrouterProxy.js.map +1 -0
  192. package/dist/runtime/preprod/webCheck.d.ts +1 -0
  193. package/dist/runtime/preprod/webCheck.js +98 -0
  194. package/dist/runtime/preprod/webCheck.js.map +1 -0
  195. package/dist/runtime/proxyConfig.d.ts +6 -0
  196. package/dist/runtime/proxyConfig.js +86 -0
  197. package/dist/runtime/proxyConfig.js.map +1 -0
  198. package/dist/runtime/proxyEnvironment.d.ts +3 -0
  199. package/dist/runtime/proxyEnvironment.js +63 -0
  200. package/dist/runtime/proxyEnvironment.js.map +1 -0
  201. package/dist/runtime/reportMerge.d.ts +30 -0
  202. package/dist/runtime/reportMerge.js +70 -0
  203. package/dist/runtime/reportMerge.js.map +1 -0
  204. package/dist/runtime/reporting/markdownReportBuilder.d.ts +17 -0
  205. package/dist/runtime/reporting/markdownReportBuilder.js +154 -0
  206. package/dist/runtime/reporting/markdownReportBuilder.js.map +1 -0
  207. package/dist/runtime/reporting/reportDataCollector.d.ts +31 -0
  208. package/dist/runtime/reporting/reportDataCollector.js +170 -0
  209. package/dist/runtime/reporting/reportDataCollector.js.map +1 -0
  210. package/dist/runtime/reporting/summaryGenerator.d.ts +10 -0
  211. package/dist/runtime/reporting/summaryGenerator.js +67 -0
  212. package/dist/runtime/reporting/summaryGenerator.js.map +1 -0
  213. package/dist/runtime/reviewPipeline.d.ts +47 -0
  214. package/dist/runtime/reviewPipeline.js +161 -0
  215. package/dist/runtime/reviewPipeline.js.map +1 -0
  216. package/dist/runtime/runAiCodeReview.d.ts +28 -0
  217. package/dist/runtime/runAiCodeReview.js +373 -0
  218. package/dist/runtime/runAiCodeReview.js.map +1 -0
  219. package/dist/runtime/runtimeConfig.d.ts +4 -0
  220. package/dist/runtime/runtimeConfig.js +7 -0
  221. package/dist/runtime/runtimeConfig.js.map +1 -0
  222. package/dist/runtime/ui/Layout.d.ts +11 -0
  223. package/dist/runtime/ui/Layout.js +47 -0
  224. package/dist/runtime/ui/Layout.js.map +1 -0
  225. package/dist/runtime/ui/RuntimeApp.d.ts +6 -0
  226. package/dist/runtime/ui/RuntimeApp.js +172 -0
  227. package/dist/runtime/ui/RuntimeApp.js.map +1 -0
  228. package/dist/runtime/ui/inkModules.d.ts +10 -0
  229. package/dist/runtime/ui/inkModules.js +63 -0
  230. package/dist/runtime/ui/inkModules.js.map +1 -0
  231. package/dist/runtime/ui/screens/AuthScreen.d.ts +6 -0
  232. package/dist/runtime/ui/screens/AuthScreen.js +67 -0
  233. package/dist/runtime/ui/screens/AuthScreen.js.map +1 -0
  234. package/dist/runtime/ui/screens/ModeSelection.d.ts +10 -0
  235. package/dist/runtime/ui/screens/ModeSelection.js +100 -0
  236. package/dist/runtime/ui/screens/ModeSelection.js.map +1 -0
  237. package/dist/runtime/ui/screens/ProgressScreen.d.ts +12 -0
  238. package/dist/runtime/ui/screens/ProgressScreen.js +64 -0
  239. package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -0
  240. package/dist/runtime/ui/screens/ResultsScreen.d.ts +7 -0
  241. package/dist/runtime/ui/screens/ResultsScreen.js +29 -0
  242. package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -0
  243. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +29 -0
  244. package/dist/strategies/ArchitecturalReviewStrategy.js +42 -0
  245. package/dist/strategies/ArchitecturalReviewStrategy.js.map +1 -0
  246. package/dist/strategies/CodingTestReviewStrategy.d.ts +194 -0
  247. package/dist/strategies/CodingTestReviewStrategy.js +681 -0
  248. package/dist/strategies/CodingTestReviewStrategy.js.map +1 -0
  249. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +25 -0
  250. package/dist/strategies/ConsolidatedReviewStrategy.js +45 -0
  251. package/dist/strategies/ConsolidatedReviewStrategy.js.map +1 -0
  252. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +30 -0
  253. package/dist/strategies/ExtractPatternsReviewStrategy.js +51 -0
  254. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +1 -0
  255. package/dist/strategies/MultiPassReviewStrategy.d.ts +86 -0
  256. package/dist/strategies/MultiPassReviewStrategy.js +590 -0
  257. package/dist/strategies/MultiPassReviewStrategy.js.map +1 -0
  258. package/dist/strategies/ReviewStrategy.d.ts +45 -0
  259. package/dist/strategies/ReviewStrategy.js +24 -0
  260. package/dist/strategies/ReviewStrategy.js.map +1 -0
  261. package/dist/strategies/StrategyFactory.d.ts +19 -0
  262. package/dist/strategies/StrategyFactory.js +72 -0
  263. package/dist/strategies/StrategyFactory.js.map +1 -0
  264. package/{src/strategies/index.ts → dist/strategies/index.d.ts} +0 -1
  265. package/dist/strategies/index.js +30 -0
  266. package/dist/strategies/index.js.map +1 -0
  267. package/dist/tokenizers/baseTokenizer.d.ts +25 -0
  268. package/dist/tokenizers/baseTokenizer.js +48 -0
  269. package/dist/tokenizers/baseTokenizer.js.map +1 -0
  270. package/dist/tokenizers/gptTokenizer.d.ts +7 -0
  271. package/dist/tokenizers/gptTokenizer.js +28 -0
  272. package/dist/tokenizers/gptTokenizer.js.map +1 -0
  273. package/{src/tokenizers/index.ts → dist/tokenizers/index.d.ts} +0 -1
  274. package/dist/tokenizers/index.js +24 -0
  275. package/dist/tokenizers/index.js.map +1 -0
  276. package/dist/types/apiResponses.d.ts +39 -0
  277. package/dist/types/apiResponses.js +9 -0
  278. package/dist/types/apiResponses.js.map +1 -0
  279. package/dist/types/cli.d.ts +22 -0
  280. package/dist/types/cli.js +3 -0
  281. package/dist/types/cli.js.map +1 -0
  282. package/{src/types/common.ts → dist/types/common.d.ts} +2 -19
  283. package/dist/types/common.js +14 -0
  284. package/dist/types/common.js.map +1 -0
  285. package/dist/types/configuration.d.ts +682 -0
  286. package/dist/types/configuration.js +65 -0
  287. package/dist/types/configuration.js.map +1 -0
  288. package/dist/types/review.d.ts +318 -0
  289. package/dist/types/review.js +8 -0
  290. package/dist/types/review.js.map +1 -0
  291. package/dist/types/reviewSchema.d.ts +543 -0
  292. package/{src/types/reviewSchema.ts → dist/types/reviewSchema.js} +44 -104
  293. package/dist/types/reviewSchema.js.map +1 -0
  294. package/dist/types/structuredReview.d.ts +119 -0
  295. package/dist/types/structuredReview.js +6 -0
  296. package/dist/types/structuredReview.js.map +1 -0
  297. package/dist/types/tokenAnalysis.d.ts +44 -0
  298. package/dist/types/tokenAnalysis.js +4 -0
  299. package/dist/types/tokenAnalysis.js.map +1 -0
  300. package/dist/utils/FileReader.d.ts +33 -0
  301. package/dist/utils/FileReader.js +88 -0
  302. package/dist/utils/FileReader.js.map +1 -0
  303. package/dist/utils/FileWriter.d.ts +26 -0
  304. package/dist/utils/FileWriter.js +76 -0
  305. package/dist/utils/FileWriter.js.map +1 -0
  306. package/dist/utils/PathGenerator.d.ts +30 -0
  307. package/dist/utils/PathGenerator.js +82 -0
  308. package/dist/utils/PathGenerator.js.map +1 -0
  309. package/dist/utils/api/apiUtils.d.ts +3 -0
  310. package/dist/utils/api/apiUtils.js +20 -0
  311. package/dist/utils/api/apiUtils.js.map +1 -0
  312. package/dist/utils/api/index.js +18 -0
  313. package/dist/utils/api/index.js.map +1 -0
  314. package/dist/utils/apiErrorHandler.d.ts +130 -0
  315. package/dist/utils/apiErrorHandler.js +256 -0
  316. package/dist/utils/apiErrorHandler.js.map +1 -0
  317. package/dist/utils/ciDataCollector.d.ts +51 -0
  318. package/dist/utils/ciDataCollector.js +197 -0
  319. package/dist/utils/ciDataCollector.js.map +1 -0
  320. package/dist/utils/codingTestConfigLoader.d.ts +66 -0
  321. package/dist/utils/codingTestConfigLoader.js +420 -0
  322. package/dist/utils/codingTestConfigLoader.js.map +1 -0
  323. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +30 -0
  324. package/dist/utils/dependencies/aiDependencyAnalyzer.js +343 -0
  325. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +1 -0
  326. package/dist/utils/detection/frameworkDetector.d.ts +43 -0
  327. package/dist/utils/detection/frameworkDetector.js +850 -0
  328. package/dist/utils/detection/frameworkDetector.js.map +1 -0
  329. package/{src/utils/detection/index.ts → dist/utils/detection/index.d.ts} +0 -1
  330. package/dist/utils/detection/index.js +28 -0
  331. package/dist/utils/detection/index.js.map +1 -0
  332. package/dist/utils/detection/projectTypeDetector.d.ts +27 -0
  333. package/dist/utils/detection/projectTypeDetector.js +469 -0
  334. package/dist/utils/detection/projectTypeDetector.js.map +1 -0
  335. package/dist/utils/diagramGenerator.d.ts +49 -0
  336. package/dist/utils/diagramGenerator.js +218 -0
  337. package/dist/utils/diagramGenerator.js.map +1 -0
  338. package/dist/utils/errorLogger.d.ts +24 -0
  339. package/dist/utils/errorLogger.js +59 -0
  340. package/dist/utils/errorLogger.js.map +1 -0
  341. package/dist/utils/estimationUtils.d.ts +139 -0
  342. package/dist/utils/estimationUtils.js +329 -0
  343. package/dist/utils/estimationUtils.js.map +1 -0
  344. package/dist/utils/fileFilters.d.ts +72 -0
  345. package/dist/utils/fileFilters.js +338 -0
  346. package/dist/utils/fileFilters.js.map +1 -0
  347. package/dist/utils/fileSystem.d.ts +22 -0
  348. package/dist/utils/fileSystem.js +45 -0
  349. package/dist/utils/fileSystem.js.map +1 -0
  350. package/{src/utils/index.ts → dist/utils/index.d.ts} +0 -14
  351. package/dist/utils/index.js +52 -0
  352. package/dist/utils/index.js.map +1 -0
  353. package/dist/utils/logger.d.ts +77 -0
  354. package/dist/utils/logger.js +271 -0
  355. package/dist/utils/logger.js.map +1 -0
  356. package/dist/utils/pathValidator.d.ts +40 -0
  357. package/dist/utils/pathValidator.js +98 -0
  358. package/dist/utils/pathValidator.js.map +1 -0
  359. package/{src/utils/priorityFilter.ts → dist/utils/priorityFilter.d.ts} +1 -26
  360. package/dist/utils/priorityFilter.js +54 -0
  361. package/dist/utils/priorityFilter.js.map +1 -0
  362. package/dist/utils/projectDocs.d.ts +47 -0
  363. package/dist/utils/projectDocs.js +158 -0
  364. package/dist/utils/projectDocs.js.map +1 -0
  365. package/dist/utils/promptPaths.d.ts +6 -0
  366. package/dist/utils/promptPaths.js +33 -0
  367. package/dist/utils/promptPaths.js.map +1 -0
  368. package/dist/utils/promptTemplateManager.d.ts +34 -0
  369. package/dist/utils/promptTemplateManager.js +141 -0
  370. package/dist/utils/promptTemplateManager.js.map +1 -0
  371. package/dist/utils/review/consolidateReview.d.ts +15 -0
  372. package/dist/utils/review/consolidateReview.js +481 -0
  373. package/dist/utils/review/consolidateReview.js.map +1 -0
  374. package/dist/utils/review/fixDisplay.d.ts +20 -0
  375. package/dist/utils/review/fixDisplay.js +84 -0
  376. package/dist/utils/review/fixDisplay.js.map +1 -0
  377. package/dist/utils/review/fixImplementation.d.ts +28 -0
  378. package/dist/utils/review/fixImplementation.js +60 -0
  379. package/dist/utils/review/fixImplementation.js.map +1 -0
  380. package/dist/utils/review/index.d.ts +13 -0
  381. package/dist/utils/review/index.js +50 -0
  382. package/dist/utils/review/index.js.map +1 -0
  383. package/dist/utils/review/interactiveProcessing.d.ts +25 -0
  384. package/dist/utils/review/interactiveProcessing.js +251 -0
  385. package/dist/utils/review/interactiveProcessing.js.map +1 -0
  386. package/dist/utils/review/progressTracker.d.ts +106 -0
  387. package/dist/utils/review/progressTracker.js +227 -0
  388. package/dist/utils/review/progressTracker.js.map +1 -0
  389. package/dist/utils/review/reviewExtraction.d.ts +31 -0
  390. package/dist/utils/review/reviewExtraction.js +324 -0
  391. package/dist/utils/review/reviewExtraction.js.map +1 -0
  392. package/dist/utils/review/types.d.ts +45 -0
  393. package/dist/utils/review/types.js +18 -0
  394. package/dist/utils/review/types.js.map +1 -0
  395. package/{src/utils/reviewActionHandler.ts → dist/utils/reviewActionHandler.d.ts} +0 -2
  396. package/dist/utils/reviewActionHandler.js +34 -0
  397. package/dist/utils/reviewActionHandler.js.map +1 -0
  398. package/dist/utils/reviewParser.d.ts +34 -0
  399. package/dist/utils/reviewParser.js +218 -0
  400. package/dist/utils/reviewParser.js.map +1 -0
  401. package/dist/utils/sanitizer.d.ts +82 -0
  402. package/dist/utils/sanitizer.js +239 -0
  403. package/dist/utils/sanitizer.js.map +1 -0
  404. package/dist/utils/smartFileSelector.d.ts +50 -0
  405. package/dist/utils/smartFileSelector.js +261 -0
  406. package/dist/utils/smartFileSelector.js.map +1 -0
  407. package/dist/utils/templateLoader.d.ts +44 -0
  408. package/dist/utils/templateLoader.js +431 -0
  409. package/dist/utils/templateLoader.js.map +1 -0
  410. package/dist/utils/treeGenerator.d.ts +12 -0
  411. package/dist/utils/treeGenerator.js +133 -0
  412. package/dist/utils/treeGenerator.js.map +1 -0
  413. package/package.json +5 -2
  414. package/.cr-aia.yml +0 -23
  415. package/.crignore +0 -0
  416. package/docs/opt-in-full-context.md +0 -27
  417. package/reports/cr-cr-aia-17-11-2025-20-13.md +0 -354
  418. package/src/analysis/FindingsExtractor.ts +0 -431
  419. package/src/analysis/ai-detection/analyzers/BaseAnalyzer.ts +0 -267
  420. package/src/analysis/ai-detection/analyzers/DocumentationAnalyzer.ts +0 -622
  421. package/src/analysis/ai-detection/analyzers/GitHistoryAnalyzer.ts +0 -430
  422. package/src/analysis/ai-detection/core/AIDetectionEngine.ts +0 -467
  423. package/src/analysis/ai-detection/types/DetectionTypes.ts +0 -406
  424. package/src/analysis/ai-detection/utils/SubmissionConverter.ts +0 -390
  425. package/src/analysis/context/ReviewContext.ts +0 -378
  426. package/src/analysis/tokens/TokenAnalyzer.ts +0 -747
  427. package/src/clients/base/abstractClient.ts +0 -190
  428. package/src/clients/base/httpClient.ts +0 -160
  429. package/src/clients/base/modelDetection.ts +0 -107
  430. package/src/clients/base/responseProcessor.ts +0 -586
  431. package/src/clients/factory/clientFactory.ts +0 -55
  432. package/src/clients/implementations/openRouterClient.ts +0 -413
  433. package/src/clients/openRouterClient.ts +0 -870
  434. package/src/clients/utils/directoryStructure.ts +0 -52
  435. package/src/clients/utils/languageDetection.ts +0 -44
  436. package/src/clients/utils/promptFormatter.ts +0 -182
  437. package/src/clients/utils/tokenCounter.ts +0 -297
  438. package/src/core/ApiClientSelector.ts +0 -37
  439. package/src/core/ConfigurationService.ts +0 -591
  440. package/src/core/ConsolidationService.ts +0 -423
  441. package/src/core/InteractiveDisplayManager.ts +0 -81
  442. package/src/core/OutputManager.ts +0 -275
  443. package/src/core/ReviewGenerator.ts +0 -140
  444. package/src/core/fileDiscovery.ts +0 -237
  445. package/src/core/handlers/EstimationHandler.ts +0 -104
  446. package/src/core/handlers/FileProcessingHandler.ts +0 -210
  447. package/src/core/handlers/OutputHandler.ts +0 -125
  448. package/src/core/handlers/ReviewExecutor.ts +0 -104
  449. package/src/core/reviewOrchestrator.ts +0 -333
  450. package/src/core/utils/ModelInfoUtils.ts +0 -56
  451. package/src/formatters/utils/IssueFormatters.ts +0 -83
  452. package/src/formatters/utils/JsonFormatter.ts +0 -77
  453. package/src/formatters/utils/MarkdownFormatters.ts +0 -609
  454. package/src/formatters/utils/MetadataFormatter.ts +0 -269
  455. package/src/formatters/utils/ModelInfoExtractor.ts +0 -115
  456. package/src/index.ts +0 -25
  457. package/src/plugins/PluginInterface.ts +0 -50
  458. package/src/plugins/PluginManager.ts +0 -126
  459. package/src/prompts/PromptManager.ts +0 -69
  460. package/src/prompts/cache/PromptCache.ts +0 -50
  461. package/src/prompts/promptText/common/variables/css-frameworks.json +0 -33
  462. package/src/prompts/promptText/common/variables/framework-versions.json +0 -45
  463. package/src/prompts/promptText/frameworks/react/comprehensive.hbs +0 -19
  464. package/src/prompts/promptText/languages/css/comprehensive.hbs +0 -18
  465. package/src/prompts/promptText/languages/generic/comprehensive.hbs +0 -20
  466. package/src/prompts/promptText/languages/html/comprehensive.hbs +0 -18
  467. package/src/prompts/promptText/languages/javascript/comprehensive.hbs +0 -18
  468. package/src/prompts/promptText/languages/python/comprehensive.hbs +0 -18
  469. package/src/prompts/promptText/languages/typescript/comprehensive.hbs +0 -18
  470. package/src/runtime/auth/service.ts +0 -58
  471. package/src/runtime/auth/session.ts +0 -103
  472. package/src/runtime/auth/types.ts +0 -11
  473. package/src/runtime/cliEntry.ts +0 -214
  474. package/src/runtime/debug/logManager.ts +0 -37
  475. package/src/runtime/errors.ts +0 -13
  476. package/src/runtime/fileCollector.ts +0 -495
  477. package/src/runtime/manifest.ts +0 -64
  478. package/src/runtime/openrouterProxy.ts +0 -45
  479. package/src/runtime/preprod/webCheck.ts +0 -104
  480. package/src/runtime/proxyConfig.ts +0 -94
  481. package/src/runtime/proxyEnvironment.ts +0 -71
  482. package/src/runtime/reportMerge.ts +0 -102
  483. package/src/runtime/reporting/markdownReportBuilder.ts +0 -138
  484. package/src/runtime/reporting/reportDataCollector.ts +0 -234
  485. package/src/runtime/reporting/summaryGenerator.ts +0 -86
  486. package/src/runtime/reviewPipeline.ts +0 -200
  487. package/src/runtime/runAiCodeReview.ts +0 -308
  488. package/src/runtime/runtimeConfig.ts +0 -5
  489. package/src/runtime/ui/Layout.tsx +0 -57
  490. package/src/runtime/ui/RuntimeApp.tsx +0 -262
  491. package/src/runtime/ui/inkModules.ts +0 -73
  492. package/src/runtime/ui/screens/AuthScreen.tsx +0 -128
  493. package/src/runtime/ui/screens/ModeSelection.tsx +0 -185
  494. package/src/runtime/ui/screens/ProgressScreen.tsx +0 -110
  495. package/src/runtime/ui/screens/ResultsScreen.tsx +0 -103
  496. package/src/strategies/ArchitecturalReviewStrategy.ts +0 -54
  497. package/src/strategies/CodingTestReviewStrategy.ts +0 -920
  498. package/src/strategies/ConsolidatedReviewStrategy.ts +0 -59
  499. package/src/strategies/ExtractPatternsReviewStrategy.ts +0 -64
  500. package/src/strategies/MultiPassReviewStrategy.ts +0 -785
  501. package/src/strategies/ReviewStrategy.ts +0 -64
  502. package/src/strategies/StrategyFactory.ts +0 -79
  503. package/src/tokenizers/baseTokenizer.ts +0 -61
  504. package/src/tokenizers/gptTokenizer.ts +0 -27
  505. package/src/types/apiResponses.ts +0 -40
  506. package/src/types/cli.ts +0 -24
  507. package/src/types/configuration.ts +0 -201
  508. package/src/types/handlebars.d.ts +0 -5
  509. package/src/types/patch.d.ts +0 -25
  510. package/src/types/review.ts +0 -312
  511. package/src/types/reviewContext.d.ts +0 -65
  512. package/src/types/structuredReview.ts +0 -167
  513. package/src/types/tokenAnalysis.ts +0 -56
  514. package/src/utils/FileReader.ts +0 -93
  515. package/src/utils/FileWriter.ts +0 -76
  516. package/src/utils/PathGenerator.ts +0 -97
  517. package/src/utils/api/apiUtils.ts +0 -14
  518. package/src/utils/apiErrorHandler.ts +0 -287
  519. package/src/utils/ciDataCollector.ts +0 -252
  520. package/src/utils/codingTestConfigLoader.ts +0 -466
  521. package/src/utils/dependencies/aiDependencyAnalyzer.ts +0 -454
  522. package/src/utils/detection/frameworkDetector.ts +0 -879
  523. package/src/utils/detection/projectTypeDetector.ts +0 -518
  524. package/src/utils/diagramGenerator.ts +0 -206
  525. package/src/utils/errorLogger.ts +0 -60
  526. package/src/utils/estimationUtils.ts +0 -407
  527. package/src/utils/fileFilters.ts +0 -373
  528. package/src/utils/fileSystem.ts +0 -57
  529. package/src/utils/logger.ts +0 -290
  530. package/src/utils/pathValidator.ts +0 -98
  531. package/src/utils/projectDocs.ts +0 -189
  532. package/src/utils/promptPaths.ts +0 -29
  533. package/src/utils/promptTemplateManager.ts +0 -157
  534. package/src/utils/review/consolidateReview.ts +0 -553
  535. package/src/utils/review/fixDisplay.ts +0 -100
  536. package/src/utils/review/fixImplementation.ts +0 -61
  537. package/src/utils/review/index.ts +0 -36
  538. package/src/utils/review/interactiveProcessing.ts +0 -294
  539. package/src/utils/review/progressTracker.ts +0 -296
  540. package/src/utils/review/reviewExtraction.ts +0 -382
  541. package/src/utils/review/types.ts +0 -46
  542. package/src/utils/reviewParser.ts +0 -253
  543. package/src/utils/sanitizer.ts +0 -238
  544. package/src/utils/smartFileSelector.ts +0 -255
  545. package/src/utils/templateLoader.ts +0 -514
  546. package/src/utils/treeGenerator.ts +0 -153
  547. package/tsconfig.build.json +0 -14
  548. package/tsconfig.json +0 -59
  549. /package/{src/utils/api/index.ts → dist/utils/api/index.d.ts} +0 -0
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Diagram generator for creating Mermaid architecture diagrams.
4
+ *
5
+ * This module is responsible for extracting and generating Mermaid diagrams
6
+ * from review content, particularly for architectural reviews.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __importDefault = (this && this.__importDefault) || function (mod) {
42
+ return (mod && mod.__esModule) ? mod : { "default": mod };
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.extractMermaidDiagrams = extractMermaidDiagrams;
46
+ exports.generateDiagramPrompt = generateDiagramPrompt;
47
+ exports.saveDiagramFiles = saveDiagramFiles;
48
+ exports.processDiagrams = processDiagrams;
49
+ exports.enhancePromptForDiagrams = enhancePromptForDiagrams;
50
+ const fs = __importStar(require("node:fs/promises"));
51
+ const path = __importStar(require("node:path"));
52
+ const logger_1 = __importDefault(require("./logger"));
53
+ /**
54
+ * Extract Mermaid diagram blocks from review content
55
+ * @param content Review content that may contain Mermaid diagram blocks
56
+ * @returns Array of Mermaid diagram strings
57
+ */
58
+ function extractMermaidDiagrams(content) {
59
+ const diagrams = [];
60
+ // Match Mermaid code blocks in various formats
61
+ const mermaidBlockRegex = /```mermaid\n([\s\S]*?)```/g;
62
+ let match;
63
+ while ((match = mermaidBlockRegex.exec(content)) !== null) {
64
+ diagrams.push(match[1].trim());
65
+ }
66
+ // Also check for inline mermaid notation that might be present
67
+ const inlineMermaidRegex = /graph\s+(TB|TD|BT|RL|LR)[\s\S]*?(?=\n\n|\n##|$)/g;
68
+ while ((match = inlineMermaidRegex.exec(content)) !== null) {
69
+ // Only add if not already captured in a code block
70
+ const diagram = match[0].trim();
71
+ if (!diagrams.some((d) => d.includes(diagram))) {
72
+ diagrams.push(diagram);
73
+ }
74
+ }
75
+ return diagrams;
76
+ }
77
+ /**
78
+ * Generate a Mermaid diagram prompt for architectural reviews
79
+ * @param projectName Name of the project being reviewed
80
+ * @param framework Framework being used (if detected)
81
+ * @returns Prompt text for generating architecture diagrams
82
+ */
83
+ function generateDiagramPrompt(projectName, framework) {
84
+ const frameworkContext = framework ? ` (${framework} framework)` : '';
85
+ return `
86
+ ## Architecture Diagram
87
+
88
+ Please generate a Mermaid diagram that visualizes the architecture of the ${projectName}${frameworkContext} project. Include:
89
+
90
+ 1. **Component Diagram**: Show the main components/modules and their relationships
91
+ 2. **Data Flow**: Illustrate how data flows through the system
92
+ 3. **Key Dependencies**: Show external services, databases, and APIs
93
+ 4. **Layer Architecture**: If applicable, show the layered architecture (presentation, business logic, data access)
94
+
95
+ Use the following Mermaid syntax:
96
+
97
+ \`\`\`mermaid
98
+ graph TB
99
+ subgraph "Presentation Layer"
100
+ UI[User Interface]
101
+ API[API Gateway]
102
+ end
103
+
104
+ subgraph "Business Logic"
105
+ Service[Service Layer]
106
+ Domain[Domain Models]
107
+ end
108
+
109
+ subgraph "Data Layer"
110
+ DB[(Database)]
111
+ Cache[(Cache)]
112
+ end
113
+
114
+ UI --> API
115
+ API --> Service
116
+ Service --> Domain
117
+ Service --> DB
118
+ Service --> Cache
119
+ \`\`\`
120
+
121
+ Please provide a comprehensive architecture diagram based on the actual code structure analyzed.
122
+ `;
123
+ }
124
+ /**
125
+ * Save Mermaid diagrams to separate files
126
+ * @param diagrams Array of Mermaid diagram strings
127
+ * @param outputPath Path to the main review output file
128
+ * @returns Promise resolving to the paths of saved diagram files
129
+ */
130
+ async function saveDiagramFiles(diagrams, outputPath) {
131
+ if (diagrams.length === 0) {
132
+ logger_1.default.debug('No diagrams to save');
133
+ return [];
134
+ }
135
+ const savedPaths = [];
136
+ const baseDir = path.dirname(outputPath);
137
+ const baseName = path.basename(outputPath, path.extname(outputPath));
138
+ for (let i = 0; i < diagrams.length; i++) {
139
+ const diagramNumber = diagrams.length > 1 ? `-${i + 1}` : '';
140
+ const diagramPath = path.join(baseDir, `${baseName}-diagram${diagramNumber}.md`);
141
+ // Create markdown file with the Mermaid diagram
142
+ const diagramContent = `# Architecture Diagram${diagramNumber ? ` ${i + 1}` : ''}
143
+
144
+ Generated from: ${path.basename(outputPath)}
145
+ Date: ${new Date().toISOString()}
146
+
147
+ ## Diagram
148
+
149
+ \`\`\`mermaid
150
+ ${diagrams[i]}
151
+ \`\`\`
152
+
153
+ ## Rendering Instructions
154
+
155
+ To view this diagram:
156
+ 1. Use a Markdown viewer that supports Mermaid (GitHub, GitLab, VS Code with Mermaid extension)
157
+ 2. Or paste the Mermaid code into https://mermaid.live/
158
+ 3. Or use the Mermaid CLI: \`mmdc -i ${path.basename(diagramPath)} -o ${baseName}-diagram${diagramNumber}.svg\`
159
+
160
+ ## Notes
161
+
162
+ This diagram was automatically generated as part of an architectural code review.
163
+ For the full review, see: ${path.basename(outputPath)}
164
+ `;
165
+ try {
166
+ await fs.writeFile(diagramPath, diagramContent, 'utf-8');
167
+ savedPaths.push(diagramPath);
168
+ logger_1.default.info(`Saved architecture diagram to: ${diagramPath}`);
169
+ }
170
+ catch (error) {
171
+ logger_1.default.error(`Failed to save diagram file: ${error}`);
172
+ }
173
+ }
174
+ return savedPaths;
175
+ }
176
+ /**
177
+ * Process review content to extract and save diagrams
178
+ * @param reviewContent The full review content
179
+ * @param outputPath Path to the main review output file
180
+ * @param options Review options
181
+ * @returns Promise resolving to paths of any saved diagram files
182
+ */
183
+ async function processDiagrams(reviewContent, outputPath, options) {
184
+ // Only process diagrams if the flag is set and it's an architectural review
185
+ if (!options.diagram || options.type !== 'architectural') {
186
+ return [];
187
+ }
188
+ logger_1.default.info('Processing review content for architecture diagrams...');
189
+ // Extract any Mermaid diagrams from the review content
190
+ const diagrams = extractMermaidDiagrams(reviewContent);
191
+ if (diagrams.length === 0) {
192
+ logger_1.default.info('No Mermaid diagrams found in review content');
193
+ return [];
194
+ }
195
+ logger_1.default.info(`Found ${diagrams.length} Mermaid diagram(s) in review`);
196
+ // Save the diagrams to separate files
197
+ return saveDiagramFiles(diagrams, outputPath);
198
+ }
199
+ /**
200
+ * Enhance review prompt to include diagram generation
201
+ * @param originalPrompt The original review prompt
202
+ * @param options Review options
203
+ * @param projectName Project name
204
+ * @param framework Detected framework (optional)
205
+ * @returns Enhanced prompt with diagram instructions
206
+ */
207
+ function enhancePromptForDiagrams(originalPrompt, options, projectName, framework) {
208
+ // Only enhance if diagram flag is set and it's an architectural review
209
+ if (!options.diagram || options.type !== 'architectural') {
210
+ return originalPrompt;
211
+ }
212
+ const diagramPrompt = generateDiagramPrompt(projectName, framework);
213
+ // Add the diagram prompt to the original prompt
214
+ return `${originalPrompt}
215
+
216
+ ${diagramPrompt}`;
217
+ }
218
+ //# sourceMappingURL=diagramGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagramGenerator.js","sourceRoot":"","sources":["../../src/utils/diagramGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @fileoverview Error logging utilities for the code review tool.
3
+ *
4
+ * This module provides error logging functionality to capture and persist error
5
+ * information for debugging and troubleshooting. It writes detailed error logs
6
+ * to files with timestamps and contextual information to help diagnose issues.
7
+ *
8
+ * Key responsibilities:
9
+ * - Capturing error details including stack traces
10
+ * - Recording contextual information about the error environment
11
+ * - Writing error logs to timestamped files
12
+ * - Creating error log directories as needed
13
+ * - Providing a consistent error logging interface across the application
14
+ *
15
+ * These utilities help developers diagnose and fix issues by preserving detailed
16
+ * error information that might otherwise be lost in console output.
17
+ */
18
+ /**
19
+ * Log an error to a file
20
+ * @param error Error to log
21
+ * @param context Additional context information
22
+ * @returns Promise resolving to the path of the error log file
23
+ */
24
+ export declare function logError(error: unknown, context?: Record<string, unknown>): Promise<string>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Error logging utilities for the code review tool.
4
+ *
5
+ * This module provides error logging functionality to capture and persist error
6
+ * information for debugging and troubleshooting. It writes detailed error logs
7
+ * to files with timestamps and contextual information to help diagnose issues.
8
+ *
9
+ * Key responsibilities:
10
+ * - Capturing error details including stack traces
11
+ * - Recording contextual information about the error environment
12
+ * - Writing error logs to timestamped files
13
+ * - Creating error log directories as needed
14
+ * - Providing a consistent error logging interface across the application
15
+ *
16
+ * These utilities help developers diagnose and fix issues by preserving detailed
17
+ * error information that might otherwise be lost in console output.
18
+ */
19
+ var __importDefault = (this && this.__importDefault) || function (mod) {
20
+ return (mod && mod.__esModule) ? mod : { "default": mod };
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.logError = logError;
24
+ const promises_1 = __importDefault(require("node:fs/promises"));
25
+ const node_path_1 = __importDefault(require("node:path"));
26
+ const fileSystem_1 = require("./fileSystem");
27
+ const logger_1 = __importDefault(require("./logger"));
28
+ /**
29
+ * Log an error to a file
30
+ * @param error Error to log
31
+ * @param context Additional context information
32
+ * @returns Promise resolving to the path of the error log file
33
+ */
34
+ async function logError(error, context = {}) {
35
+ try {
36
+ // Create error logs directory
37
+ const errorLogsDir = node_path_1.default.resolve('error-logs');
38
+ await (0, fileSystem_1.createDirectory)(errorLogsDir);
39
+ // Generate timestamp for the filename
40
+ const timestamp = new Date().toISOString().replace(/:/g, '-');
41
+ const errorLogPath = node_path_1.default.join(errorLogsDir, `error-${timestamp}.json`);
42
+ // Format error object
43
+ const errorObj = {
44
+ timestamp: new Date().toISOString(),
45
+ message: error instanceof Error ? error.message : 'Unknown error',
46
+ stack: error instanceof Error ? error.stack : undefined,
47
+ context,
48
+ };
49
+ // Write error to file
50
+ await promises_1.default.writeFile(errorLogPath, JSON.stringify(errorObj, null, 2));
51
+ logger_1.default.error(`Error logged to: ${errorLogPath}`);
52
+ return errorLogPath;
53
+ }
54
+ catch (logError) {
55
+ logger_1.default.error('Failed to log error:', logError);
56
+ return '';
57
+ }
58
+ }
59
+ //# sourceMappingURL=errorLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorLogger.js","sourceRoot":"","sources":["../../src/utils/errorLogger.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;AAaH,4BA8BC;AAzCD,gEAAkC;AAClC,0DAA6B;AAC7B,6CAA+C;AAC/C,sDAA8B;AAE9B;;;;;GAKG;AACI,KAAK,UAAU,QAAQ,CAC5B,KAAc,EACd,UAAmC,EAAE;IAErC,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,IAAA,4BAAe,EAAC,YAAY,CAAC,CAAC;QAEpC,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,SAAS,OAAO,CAAC,CAAC;QAExE,sBAAsB;QACtB,MAAM,QAAQ,GAAG;YACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;YACjE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACvD,OAAO;SACR,CAAC;QAEF,sBAAsB;QACtB,MAAM,kBAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpE,gBAAM,CAAC,KAAK,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAC;QACjD,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,gBAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * @fileoverview Utilities for estimating token usage and costs for code reviews.
3
+ *
4
+ * This module provides functions for estimating token usage and costs for code reviews
5
+ * based on file content and model selection. It uses the tokenCounter utilities for
6
+ * basic token counting and cost calculation, and adds specialized functions for
7
+ * estimating review-specific token usage patterns.
8
+ */
9
+ import type { FileInfo } from '../types/review';
10
+ /**
11
+ * Estimate the number of output tokens based on input tokens and review type
12
+ * @param inputTokens Number of input tokens
13
+ * @param reviewType Type of review
14
+ * @returns Estimated number of output tokens
15
+ */
16
+ export declare function estimateOutputTokens(inputTokens: number, reviewType: string): number;
17
+ /**
18
+ * Estimate token usage and cost for a set of files
19
+ *
20
+ * This function calculates the estimated token usage and cost for reviewing a set of files
21
+ * using a specified AI model. It considers:
22
+ * - The content of each file (code, comments, etc.)
23
+ * - The type of review being performed (quick, security, architectural, etc.)
24
+ * - The specific AI model being used and its pricing structure
25
+ *
26
+ * The estimation includes overhead tokens for system prompts and instructions that are
27
+ * included in every review, in addition to the tokens from the file content itself.
28
+ *
29
+ * @param files Array of file information objects containing file content and metadata
30
+ * @param reviewType Type of review (quick, security, architectural, performance)
31
+ * @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
32
+ * @returns Estimated token usage and cost information including:
33
+ * - inputTokens: Number of tokens in the input (files + prompts)
34
+ * - outputTokens: Estimated number of tokens in the AI response
35
+ * - totalTokens: Total token usage (input + output)
36
+ * - estimatedCost: Estimated cost in USD
37
+ * - formattedCost: Cost formatted as a string (e.g., '$0.12 USD')
38
+ * - fileCount: Number of files being reviewed
39
+ * - totalFileSize: Total size of all files in bytes
40
+ */
41
+ export declare function estimateReviewCost(files: FileInfo[], reviewType: string, modelName?: string): Promise<{
42
+ inputTokens: number;
43
+ outputTokens: number;
44
+ totalTokens: number;
45
+ estimatedCost: number;
46
+ formattedCost: string;
47
+ fileCount: number;
48
+ totalFileSize: number;
49
+ }>;
50
+ /**
51
+ * Format estimation results as a human-readable string
52
+ *
53
+ * This function takes the estimation results from estimateReviewCost or estimateFromFilePaths
54
+ * and formats them into a user-friendly string that can be displayed to the user.
55
+ *
56
+ * The formatted string includes:
57
+ * - Number of files being reviewed
58
+ * - Total file size
59
+ * - Input token count
60
+ * - Estimated output token count
61
+ * - Total token usage
62
+ * - Estimated cost in USD
63
+ *
64
+ * @param estimation Estimation results from estimateReviewCost or estimateFromFilePaths
65
+ * @param reviewType Type of review (quick, security, architectural, performance)
66
+ * @param modelName Name of the model being used
67
+ * @returns Formatted estimation string ready for display
68
+ * @example
69
+ * // Example output:
70
+ * // Estimation for 5 files (25.5 KB) using openrouter:anthropic/claude-3-opus-20240229:
71
+ * // - Review type: quick
72
+ * // - Input tokens: 5,000
73
+ * // - Output tokens: 2,500 (estimated)
74
+ * // - Total tokens: 7,500
75
+ * // - Estimated Cost: $0.015 USD
76
+ */
77
+ export declare function formatEstimation(estimation: ReturnType<typeof estimateReviewCost> extends Promise<infer T> ? T : never, reviewType: string, modelName: string): string;
78
+ /**
79
+ * Estimate token usage and cost for a set of file paths
80
+ *
81
+ * This function is a convenience wrapper around estimateReviewCost that takes file paths
82
+ * instead of FileInfo objects. It reads the content of each file and then calls
83
+ * estimateReviewCost to calculate the token usage and cost.
84
+ *
85
+ * This is particularly useful for the --estimate command line flag, which needs to
86
+ * estimate costs before actually performing a review.
87
+ *
88
+ * @param filePaths Array of file paths to estimate token usage for
89
+ * @param reviewType Type of review (quick, security, architectural, performance)
90
+ * @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
91
+ * @returns Estimated token usage and cost information (same as estimateReviewCost)
92
+ * @throws Error if any file cannot be read
93
+ * @see estimateReviewCost for details on the return value
94
+ */
95
+ export declare function estimateFromFilePaths(filePaths: string[], reviewType: string, modelName?: string): Promise<ReturnType<typeof estimateReviewCost> extends Promise<infer T> ? T : never>;
96
+ /**
97
+ * Estimate token usage and cost for a multi-pass review
98
+ *
99
+ * This function extends the standard token estimation by accounting for the overhead
100
+ * of multi-pass reviews, including context maintenance between passes and additional
101
+ * overhead for each pass.
102
+ *
103
+ * @param files Array of file information objects containing file content and metadata
104
+ * @param reviewType Type of review (quick, security, architectural, performance)
105
+ * @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
106
+ * @param options Additional estimation options
107
+ * @param options.passCount Number of passes to estimate (if known)
108
+ * @param options.contextMaintenanceFactor Factor for context maintenance overhead (0-1)
109
+ * @returns Estimated token usage and cost information for multi-pass review
110
+ */
111
+ export declare function estimateMultiPassReviewCost(files: FileInfo[], reviewType: string, modelName?: string, options?: {
112
+ passCount?: number;
113
+ contextMaintenanceFactor?: number;
114
+ }): Promise<{
115
+ inputTokens: number;
116
+ outputTokens: number;
117
+ totalTokens: number;
118
+ estimatedCost: number;
119
+ formattedCost: string;
120
+ fileCount: number;
121
+ totalFileSize: number;
122
+ passCount: number;
123
+ perPassCosts: {
124
+ passNumber: number;
125
+ inputTokens: number;
126
+ outputTokens: number;
127
+ totalTokens: number;
128
+ estimatedCost: number;
129
+ }[];
130
+ }>;
131
+ /**
132
+ * Format multi-pass estimation results as a human-readable string
133
+ *
134
+ * @param estimation Multi-pass estimation results
135
+ * @param reviewType Type of review
136
+ * @param modelName Name of the model being used
137
+ * @returns Formatted estimation string
138
+ */
139
+ export declare function formatMultiPassEstimation(estimation: ReturnType<typeof estimateMultiPassReviewCost> extends Promise<infer T> ? T : never, reviewType: string, modelName: string): string;