codereview-aia 0.2.1 → 0.2.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 (436) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -7
  3. package/dist/index.js.map +1 -1
  4. package/dist/runtime/api/batcher.d.ts +20 -0
  5. package/dist/runtime/api/batcher.js +52 -0
  6. package/dist/runtime/api/batcher.js.map +1 -0
  7. package/dist/runtime/api/edgeClient.d.ts +102 -0
  8. package/dist/runtime/api/edgeClient.js +162 -0
  9. package/dist/runtime/api/edgeClient.js.map +1 -0
  10. package/dist/runtime/api/index.d.ts +2 -0
  11. package/dist/runtime/api/index.js +9 -0
  12. package/dist/runtime/api/index.js.map +1 -0
  13. package/dist/runtime/cliEntry.js +24 -76
  14. package/dist/runtime/cliEntry.js.map +1 -1
  15. package/dist/runtime/errors.d.ts +13 -3
  16. package/dist/runtime/errors.js +31 -8
  17. package/dist/runtime/errors.js.map +1 -1
  18. package/dist/runtime/llm/index.d.ts +1 -0
  19. package/dist/runtime/llm/index.js +6 -0
  20. package/dist/runtime/llm/index.js.map +1 -0
  21. package/dist/runtime/llm/openRouterClient.d.ts +13 -0
  22. package/dist/runtime/llm/openRouterClient.js +187 -0
  23. package/dist/runtime/llm/openRouterClient.js.map +1 -0
  24. package/dist/runtime/phpFileResolver.d.ts +14 -0
  25. package/dist/runtime/phpFileResolver.js +231 -0
  26. package/dist/runtime/phpFileResolver.js.map +1 -0
  27. package/dist/runtime/phpcsParser.d.ts +10 -0
  28. package/dist/runtime/phpcsParser.js +35 -0
  29. package/dist/runtime/phpcsParser.js.map +1 -0
  30. package/dist/runtime/phpcsRunner.d.ts +32 -0
  31. package/dist/runtime/phpcsRunner.js +62 -0
  32. package/dist/runtime/phpcsRunner.js.map +1 -0
  33. package/dist/runtime/reportWriter.d.ts +17 -0
  34. package/dist/runtime/reportWriter.js +80 -0
  35. package/dist/runtime/reportWriter.js.map +1 -0
  36. package/dist/runtime/reviewPipeline.d.ts +14 -36
  37. package/dist/runtime/reviewPipeline.js +146 -199
  38. package/dist/runtime/reviewPipeline.js.map +1 -1
  39. package/dist/runtime/ui/RuntimeApp.js +23 -154
  40. package/dist/runtime/ui/RuntimeApp.js.map +1 -1
  41. package/dist/runtime/ui/screens/AuthScreen.d.ts +2 -3
  42. package/dist/runtime/ui/screens/AuthScreen.js +7 -53
  43. package/dist/runtime/ui/screens/AuthScreen.js.map +1 -1
  44. package/dist/runtime/ui/screens/ModeSelection.d.ts +1 -2
  45. package/dist/runtime/ui/screens/ModeSelection.js +14 -139
  46. package/dist/runtime/ui/screens/ModeSelection.js.map +1 -1
  47. package/dist/runtime/ui/screens/ProgressScreen.d.ts +5 -13
  48. package/dist/runtime/ui/screens/ProgressScreen.js +24 -61
  49. package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -1
  50. package/dist/runtime/ui/screens/ResultsScreen.js +7 -17
  51. package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -1
  52. package/package.json +4 -44
  53. package/dist/analysis/FindingsExtractor.d.ts +0 -105
  54. package/dist/analysis/FindingsExtractor.js +0 -363
  55. package/dist/analysis/FindingsExtractor.js.map +0 -1
  56. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +0 -111
  57. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +0 -215
  58. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +0 -1
  59. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +0 -142
  60. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +0 -503
  61. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +0 -1
  62. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +0 -88
  63. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +0 -343
  64. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +0 -1
  65. package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +0 -104
  66. package/dist/analysis/ai-detection/core/AIDetectionEngine.js +0 -369
  67. package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +0 -1
  68. package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +0 -364
  69. package/dist/analysis/ai-detection/types/DetectionTypes.js +0 -32
  70. package/dist/analysis/ai-detection/types/DetectionTypes.js.map +0 -1
  71. package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +0 -97
  72. package/dist/analysis/ai-detection/utils/SubmissionConverter.js +0 -339
  73. package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +0 -1
  74. package/dist/analysis/context/ReviewContext.d.ts +0 -184
  75. package/dist/analysis/context/ReviewContext.js +0 -294
  76. package/dist/analysis/context/ReviewContext.js.map +0 -1
  77. package/dist/analysis/context/index.d.ts +0 -6
  78. package/dist/analysis/context/index.js +0 -23
  79. package/dist/analysis/context/index.js.map +0 -1
  80. package/dist/analysis/index.d.ts +0 -7
  81. package/dist/analysis/index.js +0 -24
  82. package/dist/analysis/index.js.map +0 -1
  83. package/dist/analysis/static/wpPhpcsRunner.d.ts +0 -11
  84. package/dist/analysis/static/wpPhpcsRunner.js +0 -219
  85. package/dist/analysis/static/wpPhpcsRunner.js.map +0 -1
  86. package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +0 -27
  87. package/dist/analysis/tokens/TokenAnalysisFormatter.js +0 -143
  88. package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +0 -1
  89. package/dist/analysis/tokens/TokenAnalyzer.d.ts +0 -155
  90. package/dist/analysis/tokens/TokenAnalyzer.js +0 -502
  91. package/dist/analysis/tokens/TokenAnalyzer.js.map +0 -1
  92. package/dist/analysis/tokens/index.d.ts +0 -7
  93. package/dist/analysis/tokens/index.js +0 -24
  94. package/dist/analysis/tokens/index.js.map +0 -1
  95. package/dist/clients/base/abstractClient.d.ts +0 -99
  96. package/dist/clients/base/abstractClient.js +0 -98
  97. package/dist/clients/base/abstractClient.js.map +0 -1
  98. package/dist/clients/base/httpClient.d.ts +0 -24
  99. package/dist/clients/base/httpClient.js +0 -147
  100. package/dist/clients/base/httpClient.js.map +0 -1
  101. package/dist/clients/base/index.d.ts +0 -11
  102. package/dist/clients/base/index.js +0 -28
  103. package/dist/clients/base/index.js.map +0 -1
  104. package/dist/clients/base/modelDetection.d.ts +0 -41
  105. package/dist/clients/base/modelDetection.js +0 -88
  106. package/dist/clients/base/modelDetection.js.map +0 -1
  107. package/dist/clients/base/responseProcessor.d.ts +0 -45
  108. package/dist/clients/base/responseProcessor.js +0 -495
  109. package/dist/clients/base/responseProcessor.js.map +0 -1
  110. package/dist/clients/factory/clientFactory.d.ts +0 -23
  111. package/dist/clients/factory/clientFactory.js +0 -50
  112. package/dist/clients/factory/clientFactory.js.map +0 -1
  113. package/dist/clients/factory/index.d.ts +0 -7
  114. package/dist/clients/factory/index.js +0 -24
  115. package/dist/clients/factory/index.js.map +0 -1
  116. package/dist/clients/implementations/index.d.ts +0 -7
  117. package/dist/clients/implementations/index.js +0 -24
  118. package/dist/clients/implementations/index.js.map +0 -1
  119. package/dist/clients/implementations/openRouterClient.d.ts +0 -69
  120. package/dist/clients/implementations/openRouterClient.js +0 -294
  121. package/dist/clients/implementations/openRouterClient.js.map +0 -1
  122. package/dist/clients/openRouterClient.d.ts +0 -42
  123. package/dist/clients/openRouterClient.js +0 -580
  124. package/dist/clients/openRouterClient.js.map +0 -1
  125. package/dist/clients/openRouterClientWrapper.d.ts +0 -22
  126. package/dist/clients/openRouterClientWrapper.js +0 -64
  127. package/dist/clients/openRouterClientWrapper.js.map +0 -1
  128. package/dist/clients/utils/directoryStructure.d.ts +0 -14
  129. package/dist/clients/utils/directoryStructure.js +0 -48
  130. package/dist/clients/utils/directoryStructure.js.map +0 -1
  131. package/dist/clients/utils/index.d.ts +0 -10
  132. package/dist/clients/utils/index.js +0 -31
  133. package/dist/clients/utils/index.js.map +0 -1
  134. package/dist/clients/utils/languageDetection.d.ts +0 -13
  135. package/dist/clients/utils/languageDetection.js +0 -46
  136. package/dist/clients/utils/languageDetection.js.map +0 -1
  137. package/dist/clients/utils/promptFormatter.d.ts +0 -37
  138. package/dist/clients/utils/promptFormatter.js +0 -186
  139. package/dist/clients/utils/promptFormatter.js.map +0 -1
  140. package/dist/clients/utils/promptLoader.d.ts +0 -27
  141. package/dist/clients/utils/promptLoader.js +0 -49
  142. package/dist/clients/utils/promptLoader.js.map +0 -1
  143. package/dist/clients/utils/tokenCounter.d.ts +0 -81
  144. package/dist/clients/utils/tokenCounter.js +0 -184
  145. package/dist/clients/utils/tokenCounter.js.map +0 -1
  146. package/dist/core/ApiClientSelector.d.ts +0 -8
  147. package/dist/core/ApiClientSelector.js +0 -29
  148. package/dist/core/ApiClientSelector.js.map +0 -1
  149. package/dist/core/ConfigurationService.d.ts +0 -307
  150. package/dist/core/ConfigurationService.js +0 -516
  151. package/dist/core/ConfigurationService.js.map +0 -1
  152. package/dist/core/ConsolidationService.d.ts +0 -99
  153. package/dist/core/ConsolidationService.js +0 -341
  154. package/dist/core/ConsolidationService.js.map +0 -1
  155. package/dist/core/InteractiveDisplayManager.d.ts +0 -22
  156. package/dist/core/InteractiveDisplayManager.js +0 -70
  157. package/dist/core/InteractiveDisplayManager.js.map +0 -1
  158. package/dist/core/OutputManager.d.ts +0 -26
  159. package/dist/core/OutputManager.js +0 -217
  160. package/dist/core/OutputManager.js.map +0 -1
  161. package/dist/core/ReviewGenerator.d.ts +0 -13
  162. package/dist/core/ReviewGenerator.js +0 -102
  163. package/dist/core/ReviewGenerator.js.map +0 -1
  164. package/dist/core/fileDiscovery.d.ts +0 -35
  165. package/dist/core/fileDiscovery.js +0 -202
  166. package/dist/core/fileDiscovery.js.map +0 -1
  167. package/dist/core/handlers/EstimationHandler.d.ts +0 -18
  168. package/dist/core/handlers/EstimationHandler.js +0 -110
  169. package/dist/core/handlers/EstimationHandler.js.map +0 -1
  170. package/dist/core/handlers/FileProcessingHandler.d.ts +0 -31
  171. package/dist/core/handlers/FileProcessingHandler.js +0 -164
  172. package/dist/core/handlers/FileProcessingHandler.js.map +0 -1
  173. package/dist/core/handlers/OutputHandler.d.ts +0 -27
  174. package/dist/core/handlers/OutputHandler.js +0 -127
  175. package/dist/core/handlers/OutputHandler.js.map +0 -1
  176. package/dist/core/handlers/ReviewExecutor.d.ts +0 -32
  177. package/dist/core/handlers/ReviewExecutor.js +0 -111
  178. package/dist/core/handlers/ReviewExecutor.js.map +0 -1
  179. package/dist/core/reviewOrchestrator.d.ts +0 -24
  180. package/dist/core/reviewOrchestrator.js +0 -354
  181. package/dist/core/reviewOrchestrator.js.map +0 -1
  182. package/dist/core/utils/ModelInfoUtils.d.ts +0 -16
  183. package/dist/core/utils/ModelInfoUtils.js +0 -54
  184. package/dist/core/utils/ModelInfoUtils.js.map +0 -1
  185. package/dist/formatters/outputFormatter.d.ts +0 -31
  186. package/dist/formatters/outputFormatter.js +0 -65
  187. package/dist/formatters/outputFormatter.js.map +0 -1
  188. package/dist/formatters/utils/IssueFormatters.d.ts +0 -20
  189. package/dist/formatters/utils/IssueFormatters.js +0 -67
  190. package/dist/formatters/utils/IssueFormatters.js.map +0 -1
  191. package/dist/formatters/utils/JsonFormatter.d.ts +0 -13
  192. package/dist/formatters/utils/JsonFormatter.js +0 -57
  193. package/dist/formatters/utils/JsonFormatter.js.map +0 -1
  194. package/dist/formatters/utils/MarkdownFormatters.d.ts +0 -51
  195. package/dist/formatters/utils/MarkdownFormatters.js +0 -456
  196. package/dist/formatters/utils/MarkdownFormatters.js.map +0 -1
  197. package/dist/formatters/utils/MetadataFormatter.d.ts +0 -65
  198. package/dist/formatters/utils/MetadataFormatter.js +0 -219
  199. package/dist/formatters/utils/MetadataFormatter.js.map +0 -1
  200. package/dist/formatters/utils/ModelInfoExtractor.d.ts +0 -33
  201. package/dist/formatters/utils/ModelInfoExtractor.js +0 -111
  202. package/dist/formatters/utils/ModelInfoExtractor.js.map +0 -1
  203. package/dist/plugins/PluginInterface.d.ts +0 -44
  204. package/dist/plugins/PluginInterface.js +0 -9
  205. package/dist/plugins/PluginInterface.js.map +0 -1
  206. package/dist/plugins/PluginManager.d.ts +0 -51
  207. package/dist/plugins/PluginManager.js +0 -151
  208. package/dist/plugins/PluginManager.js.map +0 -1
  209. package/dist/prompts/PromptManager.d.ts +0 -30
  210. package/dist/prompts/PromptManager.js +0 -62
  211. package/dist/prompts/PromptManager.js.map +0 -1
  212. package/dist/prompts/cache/PromptCache.d.ts +0 -32
  213. package/dist/prompts/cache/PromptCache.js +0 -48
  214. package/dist/prompts/cache/PromptCache.js.map +0 -1
  215. package/dist/runtime/auth/service.d.ts +0 -2
  216. package/dist/runtime/auth/service.js +0 -41
  217. package/dist/runtime/auth/service.js.map +0 -1
  218. package/dist/runtime/auth/session.d.ts +0 -5
  219. package/dist/runtime/auth/session.js +0 -87
  220. package/dist/runtime/auth/session.js.map +0 -1
  221. package/dist/runtime/auth/types.d.ts +0 -9
  222. package/dist/runtime/auth/types.js +0 -3
  223. package/dist/runtime/auth/types.js.map +0 -1
  224. package/dist/runtime/fileCollector.d.ts +0 -14
  225. package/dist/runtime/fileCollector.js +0 -383
  226. package/dist/runtime/fileCollector.js.map +0 -1
  227. package/dist/runtime/manifest.d.ts +0 -1
  228. package/dist/runtime/manifest.js +0 -65
  229. package/dist/runtime/manifest.js.map +0 -1
  230. package/dist/runtime/openrouterProxy.d.ts +0 -4
  231. package/dist/runtime/openrouterProxy.js +0 -43
  232. package/dist/runtime/openrouterProxy.js.map +0 -1
  233. package/dist/runtime/preprod/batchStreamer.d.ts +0 -54
  234. package/dist/runtime/preprod/batchStreamer.js +0 -159
  235. package/dist/runtime/preprod/batchStreamer.js.map +0 -1
  236. package/dist/runtime/preprod/crEdgeServiceClient.d.ts +0 -30
  237. package/dist/runtime/preprod/crEdgeServiceClient.js +0 -133
  238. package/dist/runtime/preprod/crEdgeServiceClient.js.map +0 -1
  239. package/dist/runtime/preprod/progressTracker.d.ts +0 -21
  240. package/dist/runtime/preprod/progressTracker.js +0 -80
  241. package/dist/runtime/preprod/progressTracker.js.map +0 -1
  242. package/dist/runtime/preprod/webCheck.d.ts +0 -1
  243. package/dist/runtime/preprod/webCheck.js +0 -102
  244. package/dist/runtime/preprod/webCheck.js.map +0 -1
  245. package/dist/runtime/proxyConfig.d.ts +0 -6
  246. package/dist/runtime/proxyConfig.js +0 -86
  247. package/dist/runtime/proxyConfig.js.map +0 -1
  248. package/dist/runtime/proxyEnvironment.d.ts +0 -3
  249. package/dist/runtime/proxyEnvironment.js +0 -63
  250. package/dist/runtime/proxyEnvironment.js.map +0 -1
  251. package/dist/runtime/reportMerge.d.ts +0 -30
  252. package/dist/runtime/reportMerge.js +0 -70
  253. package/dist/runtime/reportMerge.js.map +0 -1
  254. package/dist/runtime/reporting/markdownReportBuilder.d.ts +0 -17
  255. package/dist/runtime/reporting/markdownReportBuilder.js +0 -154
  256. package/dist/runtime/reporting/markdownReportBuilder.js.map +0 -1
  257. package/dist/runtime/reporting/reportDataCollector.d.ts +0 -31
  258. package/dist/runtime/reporting/reportDataCollector.js +0 -170
  259. package/dist/runtime/reporting/reportDataCollector.js.map +0 -1
  260. package/dist/runtime/reporting/summaryGenerator.d.ts +0 -10
  261. package/dist/runtime/reporting/summaryGenerator.js +0 -67
  262. package/dist/runtime/reporting/summaryGenerator.js.map +0 -1
  263. package/dist/runtime/runAiCodeReview.d.ts +0 -36
  264. package/dist/runtime/runAiCodeReview.js +0 -409
  265. package/dist/runtime/runAiCodeReview.js.map +0 -1
  266. package/dist/runtime/runtimeConfig.d.ts +0 -4
  267. package/dist/runtime/runtimeConfig.js +0 -7
  268. package/dist/runtime/runtimeConfig.js.map +0 -1
  269. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +0 -29
  270. package/dist/strategies/ArchitecturalReviewStrategy.js +0 -42
  271. package/dist/strategies/ArchitecturalReviewStrategy.js.map +0 -1
  272. package/dist/strategies/CodingTestReviewStrategy.d.ts +0 -194
  273. package/dist/strategies/CodingTestReviewStrategy.js +0 -681
  274. package/dist/strategies/CodingTestReviewStrategy.js.map +0 -1
  275. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +0 -25
  276. package/dist/strategies/ConsolidatedReviewStrategy.js +0 -45
  277. package/dist/strategies/ConsolidatedReviewStrategy.js.map +0 -1
  278. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +0 -30
  279. package/dist/strategies/ExtractPatternsReviewStrategy.js +0 -51
  280. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +0 -1
  281. package/dist/strategies/MultiPassReviewStrategy.d.ts +0 -86
  282. package/dist/strategies/MultiPassReviewStrategy.js +0 -590
  283. package/dist/strategies/MultiPassReviewStrategy.js.map +0 -1
  284. package/dist/strategies/ReviewStrategy.d.ts +0 -45
  285. package/dist/strategies/ReviewStrategy.js +0 -24
  286. package/dist/strategies/ReviewStrategy.js.map +0 -1
  287. package/dist/strategies/StrategyFactory.d.ts +0 -19
  288. package/dist/strategies/StrategyFactory.js +0 -72
  289. package/dist/strategies/StrategyFactory.js.map +0 -1
  290. package/dist/strategies/index.d.ts +0 -13
  291. package/dist/strategies/index.js +0 -30
  292. package/dist/strategies/index.js.map +0 -1
  293. package/dist/tokenizers/baseTokenizer.d.ts +0 -25
  294. package/dist/tokenizers/baseTokenizer.js +0 -48
  295. package/dist/tokenizers/baseTokenizer.js.map +0 -1
  296. package/dist/tokenizers/gptTokenizer.d.ts +0 -7
  297. package/dist/tokenizers/gptTokenizer.js +0 -28
  298. package/dist/tokenizers/gptTokenizer.js.map +0 -1
  299. package/dist/tokenizers/index.d.ts +0 -7
  300. package/dist/tokenizers/index.js +0 -24
  301. package/dist/tokenizers/index.js.map +0 -1
  302. package/dist/types/apiResponses.d.ts +0 -39
  303. package/dist/types/apiResponses.js +0 -9
  304. package/dist/types/apiResponses.js.map +0 -1
  305. package/dist/types/cli.d.ts +0 -22
  306. package/dist/types/cli.js +0 -3
  307. package/dist/types/cli.js.map +0 -1
  308. package/dist/types/common.d.ts +0 -22
  309. package/dist/types/common.js +0 -14
  310. package/dist/types/common.js.map +0 -1
  311. package/dist/types/configuration.d.ts +0 -682
  312. package/dist/types/configuration.js +0 -65
  313. package/dist/types/configuration.js.map +0 -1
  314. package/dist/types/review.d.ts +0 -318
  315. package/dist/types/review.js +0 -8
  316. package/dist/types/review.js.map +0 -1
  317. package/dist/types/reviewSchema.d.ts +0 -543
  318. package/dist/types/reviewSchema.js +0 -121
  319. package/dist/types/reviewSchema.js.map +0 -1
  320. package/dist/types/structuredReview.d.ts +0 -119
  321. package/dist/types/structuredReview.js +0 -6
  322. package/dist/types/structuredReview.js.map +0 -1
  323. package/dist/types/tokenAnalysis.d.ts +0 -44
  324. package/dist/types/tokenAnalysis.js +0 -4
  325. package/dist/types/tokenAnalysis.js.map +0 -1
  326. package/dist/utils/FileReader.d.ts +0 -33
  327. package/dist/utils/FileReader.js +0 -88
  328. package/dist/utils/FileReader.js.map +0 -1
  329. package/dist/utils/FileWriter.d.ts +0 -26
  330. package/dist/utils/FileWriter.js +0 -76
  331. package/dist/utils/FileWriter.js.map +0 -1
  332. package/dist/utils/PathGenerator.d.ts +0 -30
  333. package/dist/utils/PathGenerator.js +0 -82
  334. package/dist/utils/PathGenerator.js.map +0 -1
  335. package/dist/utils/api/apiUtils.d.ts +0 -3
  336. package/dist/utils/api/apiUtils.js +0 -20
  337. package/dist/utils/api/apiUtils.js.map +0 -1
  338. package/dist/utils/api/index.d.ts +0 -1
  339. package/dist/utils/api/index.js +0 -18
  340. package/dist/utils/api/index.js.map +0 -1
  341. package/dist/utils/apiErrorHandler.d.ts +0 -130
  342. package/dist/utils/apiErrorHandler.js +0 -256
  343. package/dist/utils/apiErrorHandler.js.map +0 -1
  344. package/dist/utils/ciDataCollector.d.ts +0 -51
  345. package/dist/utils/ciDataCollector.js +0 -197
  346. package/dist/utils/ciDataCollector.js.map +0 -1
  347. package/dist/utils/codingTestConfigLoader.d.ts +0 -66
  348. package/dist/utils/codingTestConfigLoader.js +0 -420
  349. package/dist/utils/codingTestConfigLoader.js.map +0 -1
  350. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +0 -30
  351. package/dist/utils/dependencies/aiDependencyAnalyzer.js +0 -343
  352. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +0 -1
  353. package/dist/utils/detection/frameworkDetector.d.ts +0 -43
  354. package/dist/utils/detection/frameworkDetector.js +0 -850
  355. package/dist/utils/detection/frameworkDetector.js.map +0 -1
  356. package/dist/utils/detection/index.d.ts +0 -9
  357. package/dist/utils/detection/index.js +0 -28
  358. package/dist/utils/detection/index.js.map +0 -1
  359. package/dist/utils/detection/projectTypeDetector.d.ts +0 -27
  360. package/dist/utils/detection/projectTypeDetector.js +0 -469
  361. package/dist/utils/detection/projectTypeDetector.js.map +0 -1
  362. package/dist/utils/diagramGenerator.d.ts +0 -49
  363. package/dist/utils/diagramGenerator.js +0 -218
  364. package/dist/utils/diagramGenerator.js.map +0 -1
  365. package/dist/utils/errorLogger.d.ts +0 -24
  366. package/dist/utils/errorLogger.js +0 -59
  367. package/dist/utils/errorLogger.js.map +0 -1
  368. package/dist/utils/estimationUtils.d.ts +0 -139
  369. package/dist/utils/estimationUtils.js +0 -329
  370. package/dist/utils/estimationUtils.js.map +0 -1
  371. package/dist/utils/fileFilters.d.ts +0 -72
  372. package/dist/utils/fileFilters.js +0 -350
  373. package/dist/utils/fileFilters.js.map +0 -1
  374. package/dist/utils/fileSystem.d.ts +0 -22
  375. package/dist/utils/fileSystem.js +0 -45
  376. package/dist/utils/fileSystem.js.map +0 -1
  377. package/dist/utils/index.d.ts +0 -22
  378. package/dist/utils/index.js +0 -52
  379. package/dist/utils/index.js.map +0 -1
  380. package/dist/utils/pathValidator.d.ts +0 -40
  381. package/dist/utils/pathValidator.js +0 -98
  382. package/dist/utils/pathValidator.js.map +0 -1
  383. package/dist/utils/priorityFilter.d.ts +0 -34
  384. package/dist/utils/priorityFilter.js +0 -54
  385. package/dist/utils/priorityFilter.js.map +0 -1
  386. package/dist/utils/projectDocs.d.ts +0 -47
  387. package/dist/utils/projectDocs.js +0 -158
  388. package/dist/utils/projectDocs.js.map +0 -1
  389. package/dist/utils/promptPaths.d.ts +0 -6
  390. package/dist/utils/promptPaths.js +0 -33
  391. package/dist/utils/promptPaths.js.map +0 -1
  392. package/dist/utils/promptTemplateManager.d.ts +0 -34
  393. package/dist/utils/promptTemplateManager.js +0 -141
  394. package/dist/utils/promptTemplateManager.js.map +0 -1
  395. package/dist/utils/review/consolidateReview.d.ts +0 -15
  396. package/dist/utils/review/consolidateReview.js +0 -481
  397. package/dist/utils/review/consolidateReview.js.map +0 -1
  398. package/dist/utils/review/fixDisplay.d.ts +0 -20
  399. package/dist/utils/review/fixDisplay.js +0 -84
  400. package/dist/utils/review/fixDisplay.js.map +0 -1
  401. package/dist/utils/review/fixImplementation.d.ts +0 -28
  402. package/dist/utils/review/fixImplementation.js +0 -60
  403. package/dist/utils/review/fixImplementation.js.map +0 -1
  404. package/dist/utils/review/index.d.ts +0 -13
  405. package/dist/utils/review/index.js +0 -50
  406. package/dist/utils/review/index.js.map +0 -1
  407. package/dist/utils/review/interactiveProcessing.d.ts +0 -25
  408. package/dist/utils/review/interactiveProcessing.js +0 -251
  409. package/dist/utils/review/interactiveProcessing.js.map +0 -1
  410. package/dist/utils/review/progressTracker.d.ts +0 -106
  411. package/dist/utils/review/progressTracker.js +0 -227
  412. package/dist/utils/review/progressTracker.js.map +0 -1
  413. package/dist/utils/review/reviewExtraction.d.ts +0 -31
  414. package/dist/utils/review/reviewExtraction.js +0 -324
  415. package/dist/utils/review/reviewExtraction.js.map +0 -1
  416. package/dist/utils/review/types.d.ts +0 -45
  417. package/dist/utils/review/types.js +0 -18
  418. package/dist/utils/review/types.js.map +0 -1
  419. package/dist/utils/reviewActionHandler.d.ts +0 -16
  420. package/dist/utils/reviewActionHandler.js +0 -34
  421. package/dist/utils/reviewActionHandler.js.map +0 -1
  422. package/dist/utils/reviewParser.d.ts +0 -34
  423. package/dist/utils/reviewParser.js +0 -218
  424. package/dist/utils/reviewParser.js.map +0 -1
  425. package/dist/utils/sanitizer.d.ts +0 -82
  426. package/dist/utils/sanitizer.js +0 -239
  427. package/dist/utils/sanitizer.js.map +0 -1
  428. package/dist/utils/smartFileSelector.d.ts +0 -50
  429. package/dist/utils/smartFileSelector.js +0 -261
  430. package/dist/utils/smartFileSelector.js.map +0 -1
  431. package/dist/utils/templateLoader.d.ts +0 -44
  432. package/dist/utils/templateLoader.js +0 -431
  433. package/dist/utils/templateLoader.js.map +0 -1
  434. package/dist/utils/treeGenerator.d.ts +0 -12
  435. package/dist/utils/treeGenerator.js +0 -133
  436. package/dist/utils/treeGenerator.js.map +0 -1
@@ -1,110 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Token and cost estimation handler for code review
4
- *
5
- * This module handles token usage estimation and cost analysis for code review
6
- * using the TokenAnalyzer plus legacy fallbacks.
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.performEstimation = performEstimation;
46
- const estimationUtils_1 = require("../../utils/estimationUtils");
47
- const logger_1 = __importDefault(require("../../utils/logger"));
48
- const ModelInfoUtils_1 = require("../utils/ModelInfoUtils");
49
- /**
50
- * Perform token usage and cost estimation for review
51
- *
52
- * @param fileInfos Array of file information objects
53
- * @param filesToReview Array of file paths
54
- * @param options Review options
55
- * @param modelName Model name to use for estimation
56
- * @returns Promise that resolves when estimation is complete
57
- */
58
- async function performEstimation(fileInfos, filesToReview, options, modelName) {
59
- logger_1.default.info('Calculating token usage and cost estimates...');
60
- try {
61
- // Ensure we have at least some files to analyze
62
- if (fileInfos.length === 0) {
63
- throw new Error('No files could be read for review. Please check file permissions and paths.');
64
- }
65
- // Use the new TokenAnalyzer for more comprehensive analysis
66
- const { TokenAnalyzer } = await Promise.resolve().then(() => __importStar(require('../../analysis/tokens')));
67
- const { estimateMultiPassReviewCost } = await Promise.resolve().then(() => __importStar(require('../../utils/estimationUtils')));
68
- const tokenAnalysisOptions = {
69
- reviewType: options.type,
70
- modelName: modelName,
71
- contextMaintenanceFactor: options.contextMaintenanceFactor || 0.15,
72
- forceSinglePass: options.forceSinglePass,
73
- batchTokenLimit: options.batchTokenLimit,
74
- };
75
- const tokenAnalysis = TokenAnalyzer.analyzeFiles(fileInfos, tokenAnalysisOptions);
76
- // Get cost estimate based on token analysis
77
- const costEstimation = await estimateMultiPassReviewCost(fileInfos, options.type, modelName, {
78
- passCount: tokenAnalysis.chunkingRecommendation.chunkingRecommended
79
- ? tokenAnalysis.estimatedPassesNeeded
80
- : 1,
81
- contextMaintenanceFactor: tokenAnalysisOptions.contextMaintenanceFactor,
82
- });
83
- // Get provider and model information
84
- const providerInfo = (0, ModelInfoUtils_1.getProviderDisplayInfo)(modelName);
85
- // Display a summary without file details
86
- logger_1.default.info(`\n=== Token Usage and Cost Estimation ===\n\nProvider: ${providerInfo.provider}\nModel: ${providerInfo.model}\nFiles: ${tokenAnalysis.fileCount} (${(tokenAnalysis.totalSizeInBytes / 1024 / 1024).toFixed(2)} MB total)\n\nToken Information:\n Input Tokens: ${costEstimation.inputTokens.toLocaleString()}\n Estimated Output Tokens: ${costEstimation.outputTokens.toLocaleString()}\n Total Tokens: ${costEstimation.totalTokens.toLocaleString()}\n Context Window Size: ${tokenAnalysis.contextWindowSize.toLocaleString()}\n Context Utilization: ${((tokenAnalysis.estimatedTotalTokens / tokenAnalysis.contextWindowSize) * 100).toFixed(2)}%\n\n${tokenAnalysis.chunkingRecommendation.chunkingRecommended
87
- ? `Multi-Pass Analysis:\n Chunking Required: Yes\n Reason: ${tokenAnalysis.chunkingRecommendation.reason || 'Content exceeds context window'}\n Estimated Passes: ${tokenAnalysis.estimatedPassesNeeded}`
88
- : `Multi-Pass Analysis:\n Chunking Required: No\n Reason: ${tokenAnalysis.chunkingRecommendation.reason || 'Content fits within context window'}`}\n\nEstimated Cost: ${costEstimation.formattedCost || 'Unable to estimate cost'}\n\nNote: This is an estimate based on approximate token counts and may vary\n based on the actual content and model behavior.\n`);
89
- // If chunking is recommended, inform the user that it will be automatic
90
- if (tokenAnalysis.chunkingRecommendation.chunkingRecommended) {
91
- logger_1.default.info('\nImportant: Multi-pass review will be automatically enabled when needed. No flag required.');
92
- // If forceSinglePass is enabled, inform the user
93
- if (options.forceSinglePass) {
94
- logger_1.default.info('\nNote: --force-single-pass is enabled, which will override the chunking recommendation.');
95
- logger_1.default.info(" This may result in token limit errors if the content exceeds the model's context window.");
96
- }
97
- }
98
- }
99
- catch (_error) {
100
- // Fall back to the legacy estimator if TokenAnalyzer fails
101
- logger_1.default.warn('Advanced token analysis failed, falling back to basic estimation');
102
- // Estimate token usage and cost using the legacy estimator
103
- const estimation = await (0, estimationUtils_1.estimateFromFilePaths)(filesToReview, options.type, modelName);
104
- // Get provider and model information
105
- const providerInfo = (0, ModelInfoUtils_1.getProviderDisplayInfo)(modelName);
106
- // Display the estimation results without file details
107
- logger_1.default.info(`\n=== Token Usage and Cost Estimation ===\n\nReview Type: ${options.type}\nProvider: ${providerInfo.provider}\nModel: ${providerInfo.model}\nFiles: ${estimation.fileCount} (${(estimation.totalFileSize / 1024 / 1024).toFixed(2)} MB total)\n\nToken Usage:\n Input Tokens: ${estimation.inputTokens.toLocaleString()}\n Estimated Output Tokens: ${estimation.outputTokens.toLocaleString()}\n Total Tokens: ${estimation.totalTokens.toLocaleString()}\n\nEstimated Cost: ${estimation.formattedCost}\n\nNote: This is an estimate based on approximate token counts and may vary\n based on the actual content and model behavior.\n`);
108
- }
109
- }
110
- //# sourceMappingURL=EstimationHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EstimationHandler.js","sourceRoot":"","sources":["../../../src/core/handlers/EstimationHandler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBH,8CAiFC;AA/FD,iEAAoE;AACpE,gEAAwC;AAExC,4DAAiE;AAEjE;;;;;;;;GAQG;AACI,KAAK,UAAU,iBAAiB,CACrC,SAAqB,EACrB,aAAuB,EACvB,OAAsB,EACtB,SAAiB;IAEjB,gBAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,gDAAgD;QAChD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,4DAA4D;QAC5D,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,uBAAuB,GAAC,CAAC;QAChE,MAAM,EAAE,2BAA2B,EAAE,GAAG,wDAAa,6BAA6B,GAAC,CAAC;QAEpF,MAAM,oBAAoB,GAAG;YAC3B,UAAU,EAAE,OAAO,CAAC,IAAI;YACxB,SAAS,EAAE,SAAS;YACpB,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,IAAI,IAAI;YAClE,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC;QAEF,MAAM,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAElF,4CAA4C;QAC5C,MAAM,cAAc,GAAG,MAAM,2BAA2B,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE;YAC3F,SAAS,EAAE,aAAa,CAAC,sBAAsB,CAAC,mBAAmB;gBACjE,CAAC,CAAC,aAAa,CAAC,qBAAqB;gBACrC,CAAC,CAAC,CAAC;YACL,wBAAwB,EAAE,oBAAoB,CAAC,wBAAwB;SACxE,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,YAAY,GAAG,IAAA,uCAAsB,EAAC,SAAS,CAAC,CAAC;QAEvD,yCAAyC;QACzC,gBAAM,CAAC,IAAI,CACT,0DAA0D,YAAY,CAAC,QAAQ,YAAY,YAAY,CAAC,KAAK,YAAY,aAAa,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qDAAqD,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE,gCAAgC,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE,qBAAqB,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE,4BAA4B,aAAa,CAAC,iBAAiB,CAAC,cAAc,EAAE,4BAA4B,CAAC,CAAC,aAAa,CAAC,oBAAoB,GAAG,aAAa,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QACznB,aAAa,CAAC,sBAAsB,CAAC,mBAAmB;YACtD,CAAC,CAAC,6DAA6D,aAAa,CAAC,sBAAsB,CAAC,MAAM,IAAI,gCAAgC,yBAAyB,aAAa,CAAC,qBAAqB,EAAE;YAC5M,CAAC,CAAC,4DAA4D,aAAa,CAAC,sBAAsB,CAAC,MAAM,IAAI,oCAAoC,EACrJ,uBAAuB,cAAc,CAAC,aAAa,IAAI,yBAAyB,uIAAuI,CACxN,CAAC;QAEF,wEAAwE;QACxE,IAAI,aAAa,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,CAAC;YAC7D,gBAAM,CAAC,IAAI,CACT,6FAA6F,CAC9F,CAAC;YAEF,iDAAiD;YACjD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC5B,gBAAM,CAAC,IAAI,CACT,0FAA0F,CAC3F,CAAC;gBACF,gBAAM,CAAC,IAAI,CACT,gGAAgG,CACjG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,2DAA2D;QAC3D,gBAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAEhF,2DAA2D;QAC3D,MAAM,UAAU,GAAG,MAAM,IAAA,uCAAqB,EAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEvF,qCAAqC;QACrC,MAAM,YAAY,GAAG,IAAA,uCAAsB,EAAC,SAAS,CAAC,CAAC;QAEvD,sDAAsD;QACtD,gBAAM,CAAC,IAAI,CACT,6DAA6D,OAAO,CAAC,IAAI,eAAe,YAAY,CAAC,QAAQ,YAAY,YAAY,CAAC,KAAK,YAAY,UAAU,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,+CAA+C,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,gCAAgC,UAAU,CAAC,YAAY,CAAC,cAAc,EAAE,qBAAqB,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,uBAAuB,UAAU,CAAC,aAAa,uIAAuI,CACpnB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,31 +0,0 @@
1
- /**
2
- * @fileoverview File processing handler for code review
3
- *
4
- * This module handles file discovery, content reading, and error processing
5
- * for code review operations.
6
- */
7
- import type { ReviewOptions } from '../../types/review';
8
- import { type FileInfo } from '../fileDiscovery';
9
- /**
10
- * Discover files for review based on target path and options
11
- *
12
- * @param target Path to file or directory to review
13
- * @param projectPath Current working directory
14
- * @param options Review options
15
- * @returns Array of file paths to review
16
- */
17
- export declare function discoverFilesForReview(target: string, projectPath: string, options: ReviewOptions): Promise<string[]>;
18
- /**
19
- * Read content of discovered files
20
- *
21
- * @param filesToReview Array of file paths to read
22
- * @param projectPath Current working directory
23
- * @returns Object containing file infos and any errors encountered
24
- */
25
- export declare function readFilesForReview(filesToReview: string[], projectPath: string): Promise<{
26
- fileInfos: FileInfo[];
27
- errors: Array<{
28
- path: string;
29
- error: string;
30
- }>;
31
- }>;
@@ -1,164 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview File processing handler for code review
4
- *
5
- * This module handles file discovery, content reading, and error processing
6
- * for code review operations.
7
- */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.discoverFilesForReview = discoverFilesForReview;
13
- exports.readFilesForReview = readFilesForReview;
14
- const logger_1 = __importDefault(require("../../utils/logger"));
15
- const fileDiscovery_1 = require("../fileDiscovery");
16
- /**
17
- * Discover files for review based on target path and options
18
- *
19
- * @param target Path to file or directory to review
20
- * @param projectPath Current working directory
21
- * @param options Review options
22
- * @returns Array of file paths to review
23
- */
24
- async function discoverFilesForReview(target, projectPath, options) {
25
- // Ensure target is defined with a default of "." for current directory
26
- const effectiveTarget = target || '.';
27
- if (options.targetFileList && options.targetFileList.length > 0) {
28
- const uniqueFiles = Array.from(new Set(options.targetFileList));
29
- logger_1.default.info(`Using provided target file list (${uniqueFiles.length} entries)`);
30
- return uniqueFiles;
31
- }
32
- try {
33
- const filesToReview = await (0, fileDiscovery_1.discoverFiles)(effectiveTarget, projectPath, options.includeTests);
34
- // Log the number of files discovered
35
- logger_1.default.info(`Discovered ${filesToReview.length} files to review`);
36
- if (filesToReview.length === 0) {
37
- logger_1.default.warn(`No files found for review in ${effectiveTarget}`);
38
- logger_1.default.info('This could be due to:');
39
- logger_1.default.info('1. The path does not exist or is not accessible');
40
- logger_1.default.info('2. All files are excluded by .gitignore patterns');
41
- logger_1.default.info('3. There are no supported file types in the specified path');
42
- if (!options.includeTests) {
43
- logger_1.default.info('4. Test files are excluded by default. Use --include-tests to include them');
44
- }
45
- }
46
- // In debug mode, list the first few files discovered
47
- if (options.debug && filesToReview.length > 0) {
48
- const maxFilesToLog = 10;
49
- logger_1.default.debug(`First ${Math.min(filesToReview.length, maxFilesToLog)} files to review:`);
50
- for (let i = 0; i < Math.min(filesToReview.length, maxFilesToLog); i++) {
51
- logger_1.default.debug(` - ${filesToReview[i]}`);
52
- }
53
- if (filesToReview.length > maxFilesToLog) {
54
- logger_1.default.debug(` ... and ${filesToReview.length - maxFilesToLog} more files`);
55
- }
56
- }
57
- return filesToReview;
58
- }
59
- catch (error) {
60
- // Handle file discovery errors
61
- logger_1.default.error(`Failed to discover files for review: ${error instanceof Error ? error.message : String(error)}`);
62
- if (error instanceof Error && error.stack) {
63
- logger_1.default.debug(`Error stack trace: ${error.stack}`);
64
- }
65
- throw new Error(`Could not discover files to review in ${effectiveTarget}. Please verify the path exists and is accessible.`);
66
- }
67
- }
68
- /**
69
- * Read content of discovered files
70
- *
71
- * @param filesToReview Array of file paths to read
72
- * @param projectPath Current working directory
73
- * @returns Object containing file infos and any errors encountered
74
- */
75
- async function readFilesForReview(filesToReview, projectPath) {
76
- try {
77
- logger_1.default.info('Reading file contents...');
78
- const result = await (0, fileDiscovery_1.readFilesContent)(filesToReview, projectPath);
79
- // Log statistics about the read operation
80
- logger_1.default.info(`Successfully read ${result.fileInfos.length} out of ${filesToReview.length} files`);
81
- // If we have errors reading files, report them but continue
82
- if (result.errors.length > 0) {
83
- logger_1.default.warn(`Failed to read ${result.errors.length} file(s):`);
84
- // Log the first 10 errors
85
- const maxErrorsToLog = 10;
86
- result.errors.slice(0, maxErrorsToLog).forEach((error) => {
87
- logger_1.default.warn(` ${error.path}: ${error.error}`);
88
- });
89
- // If there are more errors, just mention the count
90
- if (result.errors.length > maxErrorsToLog) {
91
- logger_1.default.warn(` ... and ${result.errors.length - maxErrorsToLog} more errors`);
92
- }
93
- }
94
- // Ensure we have at least some files to review
95
- if (result.fileInfos.length === 0) {
96
- const errorMessage = 'No files could be read for review.';
97
- logger_1.default.error(errorMessage);
98
- // Provide more detailed guidance based on the errors
99
- if (result.errors.length > 0) {
100
- logger_1.default.error('Errors encountered while reading files:');
101
- const commonErrorPatterns = {
102
- permission: ['permission denied', 'EACCES'],
103
- notFound: ['no such file', 'ENOENT'],
104
- encoding: ['encoding', 'invalid byte', 'character'],
105
- size: ['too large', 'exceeds', 'size limit'],
106
- };
107
- // Categorize errors to provide better guidance
108
- const categorizedErrors = {
109
- permission: 0,
110
- notFound: 0,
111
- encoding: 0,
112
- size: 0,
113
- other: 0,
114
- };
115
- result.errors.forEach((error) => {
116
- const errorLowerCase = error.error.toLowerCase();
117
- let categorized = false;
118
- for (const [category, patterns] of Object.entries(commonErrorPatterns)) {
119
- if (patterns.some((pattern) => errorLowerCase.includes(pattern.toLowerCase()))) {
120
- categorizedErrors[category]++;
121
- categorized = true;
122
- break;
123
- }
124
- }
125
- if (!categorized) {
126
- categorizedErrors.other++;
127
- }
128
- });
129
- // Provide guidance based on error categories
130
- if (categorizedErrors.permission > 0) {
131
- logger_1.default.error(` - ${categorizedErrors.permission} file(s) could not be read due to permission issues. Check file permissions.`);
132
- }
133
- if (categorizedErrors.notFound > 0) {
134
- logger_1.default.error(` - ${categorizedErrors.notFound} file(s) were not found. The file list may be out of date.`);
135
- }
136
- if (categorizedErrors.encoding > 0) {
137
- logger_1.default.error(` - ${categorizedErrors.encoding} file(s) had encoding issues. These might be binary files not suitable for review.`);
138
- }
139
- if (categorizedErrors.size > 0) {
140
- logger_1.default.error(` - ${categorizedErrors.size} file(s) were too large to process.`);
141
- }
142
- if (categorizedErrors.other > 0) {
143
- logger_1.default.error(` - ${categorizedErrors.other} file(s) failed due to other issues.`);
144
- }
145
- }
146
- throw new Error(`${errorMessage} Please check file permissions and paths.`);
147
- }
148
- return result;
149
- }
150
- catch (error) {
151
- // Handle file reading errors not caught by readFilesContent
152
- if (error instanceof Error && error.message.includes('No files could be read')) {
153
- // This is an error we created above, so just rethrow it
154
- throw error;
155
- }
156
- // This is an unexpected error
157
- logger_1.default.error(`Unexpected error when reading file contents: ${error instanceof Error ? error.message : String(error)}`);
158
- if (error instanceof Error && error.stack) {
159
- logger_1.default.debug(`Error stack trace: ${error.stack}`);
160
- }
161
- throw new Error(`Failed to read files for review: ${error instanceof Error ? error.message : String(error)}`);
162
- }
163
- }
164
- //# sourceMappingURL=FileProcessingHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileProcessingHandler.js","sourceRoot":"","sources":["../../../src/core/handlers/FileProcessingHandler.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /**
2
- * @fileoverview Output handling for code review results
3
- *
4
- * This module handles saving and displaying code review results
5
- * in different formats.
6
- */
7
- import type { ReviewOptions, ReviewResult } from '../../types/review';
8
- /**
9
- * Handle review output based on options
10
- *
11
- * @param reviewResult Review result to handle
12
- * @param options Review options
13
- * @param outputBaseDir Base directory for output
14
- * @returns Promise that resolves when output handling is complete
15
- */
16
- export declare function handleReviewOutput(reviewResult: ReviewResult, options: ReviewOptions, outputBaseDir: string): Promise<void>;
17
- /**
18
- * Create output directory for review
19
- *
20
- * @param projectPath Project path
21
- * @param options Review options
22
- * @returns Output base directory
23
- */
24
- export declare function createOutputDirectory(projectPath: string, options: {
25
- outputDir?: string;
26
- configOutputDir?: string;
27
- }): string;
@@ -1,127 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Output handling for code review results
4
- *
5
- * This module handles saving and displaying code review results
6
- * in different formats.
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.handleReviewOutput = handleReviewOutput;
46
- exports.createOutputDirectory = createOutputDirectory;
47
- const path = __importStar(require("node:path"));
48
- const logger_1 = __importDefault(require("../../utils/logger"));
49
- const InteractiveDisplayManager_1 = require("../InteractiveDisplayManager");
50
- const OutputManager_1 = require("../OutputManager");
51
- /**
52
- * Handle review output based on options
53
- *
54
- * @param reviewResult Review result to handle
55
- * @param options Review options
56
- * @param outputBaseDir Base directory for output
57
- * @returns Promise that resolves when output handling is complete
58
- */
59
- async function handleReviewOutput(reviewResult, options, outputBaseDir) {
60
- // Save review output to file
61
- if (options.output !== 'none') {
62
- try {
63
- const targetName = path.basename(options.target || '.');
64
- const modelName = options.model || 'unknown-model';
65
- const outputPath = await (0, OutputManager_1.saveReviewOutput)(reviewResult, options, outputBaseDir, modelName, targetName);
66
- logger_1.default.info(`Review saved to: ${outputPath}`);
67
- // Display review interactively if requested
68
- if (options.interactive) {
69
- try {
70
- await (0, InteractiveDisplayManager_1.displayReviewInteractively)(outputPath, process.cwd(), options);
71
- }
72
- catch (error) {
73
- logger_1.default.error(`Failed to display review interactively: ${error instanceof Error ? error.message : String(error)}`);
74
- }
75
- }
76
- }
77
- catch (error) {
78
- logger_1.default.error(`Failed to save review output: ${error instanceof Error ? error.message : String(error)}`);
79
- }
80
- }
81
- // Log completion message
82
- logger_1.default.info('Review completed successfully');
83
- // Log cost information if available
84
- if (reviewResult.cost) {
85
- // Use formattedCost if available, otherwise fall back to string representation
86
- const costDisplay = typeof reviewResult.cost === 'object' && reviewResult.cost.formattedCost
87
- ? reviewResult.cost.formattedCost
88
- : reviewResult.cost;
89
- logger_1.default.info(`Estimated cost: ${costDisplay}`);
90
- }
91
- // Log token usage if available
92
- if (reviewResult.tokenUsage) {
93
- const { input, output, total } = reviewResult.tokenUsage;
94
- logger_1.default.info(`Token usage: ${input} input + ${output} output = ${total} total`);
95
- }
96
- }
97
- /**
98
- * Create output directory for review
99
- *
100
- * @param projectPath Project path
101
- * @param options Review options
102
- * @returns Output base directory
103
- */
104
- function createOutputDirectory(projectPath, options) {
105
- // Get the output directory from options, config, or default
106
- const defaultOutputDir = 'cr-aia-docs';
107
- const configOutputDir = options.configOutputDir || defaultOutputDir;
108
- const outputDir = options.outputDir || configOutputDir;
109
- // Basic security validation: prevent obvious path traversal attempts
110
- if (outputDir.includes('..')) {
111
- throw new Error('Output directory path cannot contain ".." for security reasons');
112
- }
113
- // Determine if the path is absolute or relative
114
- let outputBaseDir;
115
- if (path.isAbsolute(outputDir)) {
116
- outputBaseDir = outputDir;
117
- }
118
- else {
119
- outputBaseDir = path.resolve(projectPath, outputDir);
120
- }
121
- // Log the output directory
122
- if (options.outputDir) {
123
- logger_1.default.info(`Using custom output directory: ${outputBaseDir}`);
124
- }
125
- return outputBaseDir;
126
- }
127
- //# sourceMappingURL=OutputHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OutputHandler.js","sourceRoot":"","sources":["../../../src/core/handlers/OutputHandler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBH,gDA0DC;AASD,sDA6BC;AArHD,gDAAkC;AAElC,gEAAwC;AACxC,4EAA0E;AAC1E,oDAAoD;AASpD;;;;;;;GAOG;AACI,KAAK,UAAU,kBAAkB,CACtC,YAA0B,EAC1B,OAAsB,EACtB,aAAqB;IAErB,6BAA6B;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,eAAe,CAAC;YAEnD,MAAM,UAAU,GAAG,MAAM,IAAA,gCAAgB,EACvC,YAAY,EACZ,OAAO,EACP,aAAa,EACb,SAAS,EACT,UAAU,CACX,CAAC;YAEF,gBAAM,CAAC,IAAI,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;YAE9C,4CAA4C;YAC5C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,IAAA,sDAA0B,EAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;gBACvE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,gBAAM,CAAC,KAAK,CACV,2CACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAM,CAAC,KAAK,CACV,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,gBAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAE7C,oCAAoC;IACpC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;QACtB,+EAA+E;QAC/E,MAAM,WAAW,GACf,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa;YACtE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa;YACjC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;QACxB,gBAAM,CAAC,IAAI,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,+BAA+B;IAC/B,IAAK,YAAoB,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAI,YAAoB,CAAC,UAAwB,CAAC;QAChF,gBAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,YAAY,MAAM,aAAa,KAAK,QAAQ,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,WAAmB,EACnB,OAAyD;IAEzD,4DAA4D;IAC5D,MAAM,gBAAgB,GAAG,aAAa,CAAC;IACvC,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,gBAAgB,CAAC;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,eAAe,CAAC;IAEvD,qEAAqE;IACrE,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,gDAAgD;IAChD,IAAI,aAAqB,CAAC;IAE1B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,aAAa,GAAG,SAAS,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,gBAAM,CAAC,IAAI,CAAC,kCAAkC,aAAa,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -1,32 +0,0 @@
1
- /**
2
- * @fileoverview Review execution handler for code review
3
- *
4
- * This module handles the execution of code reviews using different strategies
5
- * based on review type and options.
6
- */
7
- import type { TokenAnalysisResult } from '../../analysis/tokens';
8
- import type { ReviewOptions, ReviewResult } from '../../types/review';
9
- import type { FileInfo } from '../fileDiscovery';
10
- /**
11
- * Execute code review using appropriate strategy
12
- *
13
- * @param fileInfos Array of file information objects
14
- * @param options Review options
15
- * @param apiClientConfig API client configuration
16
- * @param projectDocs Project documentation
17
- * @param semanticResult Semantic analysis result (if available)
18
- * @param tokenAnalysis Token analysis result (if available)
19
- * @returns Promise that resolves to review result
20
- */
21
- export declare function executeReview(fileInfos: FileInfo[], options: ReviewOptions, apiClientConfig: {
22
- modelName: string;
23
- [key: string]: unknown;
24
- }, projectDocs?: unknown, tokenAnalysis?: TokenAnalysisResult | null): Promise<ReviewResult>;
25
- /**
26
- * Determine if multi-pass review is needed
27
- *
28
- * @param options Review options
29
- * @param tokenAnalysis Token analysis result (if available)
30
- * @returns Whether multi-pass review is needed
31
- */
32
- export declare function determineIfMultiPassNeeded(options: ReviewOptions, tokenAnalysis: TokenAnalysisResult | null): boolean;
@@ -1,111 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Review execution handler for code review
4
- *
5
- * This module handles the execution of code reviews using different strategies
6
- * based on review type and options.
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.executeReview = executeReview;
46
- exports.determineIfMultiPassNeeded = determineIfMultiPassNeeded;
47
- const path = __importStar(require("node:path"));
48
- const StrategyFactory_1 = require("../../strategies/StrategyFactory");
49
- const logger_1 = __importDefault(require("../../utils/logger"));
50
- /**
51
- * Execute code review using appropriate strategy
52
- *
53
- * @param fileInfos Array of file information objects
54
- * @param options Review options
55
- * @param apiClientConfig API client configuration
56
- * @param projectDocs Project documentation
57
- * @param semanticResult Semantic analysis result (if available)
58
- * @param tokenAnalysis Token analysis result (if available)
59
- * @returns Promise that resolves to review result
60
- */
61
- async function executeReview(fileInfos, options, apiClientConfig, projectDocs = null, tokenAnalysis = null) {
62
- // Determine if we need multi-pass review based on token analysis
63
- const needsMultiPass = determineIfMultiPassNeeded(options, tokenAnalysis);
64
- // Update options to enable multi-pass if needed
65
- const effectiveOptions = { ...options };
66
- if (needsMultiPass && !options.forceSinglePass) {
67
- logger_1.default.info('Token analysis indicates multi-pass review is needed');
68
- logger_1.default.info(`Content has ${tokenAnalysis?.estimatedTotalTokens?.toLocaleString() || 'unknown'} tokens, exceeding model context window`);
69
- effectiveOptions.multiPass = true;
70
- }
71
- // Create strategy based on review type and updated options
72
- const strategy = StrategyFactory_1.StrategyFactory.createStrategy(effectiveOptions);
73
- if (!strategy) {
74
- throw new Error(`Unsupported review type: ${options.type}`);
75
- }
76
- logger_1.default.info(`Using ${effectiveOptions.multiPass ? 'multi-pass' : options.type} review strategy`);
77
- if (needsMultiPass && options.forceSinglePass) {
78
- logger_1.default.warn('Multi-pass review recommended but single-pass forced by user');
79
- logger_1.default.warn('This may result in token limit errors or incomplete reviews');
80
- }
81
- // Get project name
82
- const projectPath = process.cwd();
83
- const projectName = path.basename(projectPath);
84
- // Execute the review with effective options (may have multiPass enabled)
85
- const reviewResult = await strategy.execute(fileInfos, projectName, projectDocs, effectiveOptions, apiClientConfig);
86
- return reviewResult;
87
- }
88
- /**
89
- * Determine if multi-pass review is needed
90
- *
91
- * @param options Review options
92
- * @param tokenAnalysis Token analysis result (if available)
93
- * @returns Whether multi-pass review is needed
94
- */
95
- function determineIfMultiPassNeeded(options, tokenAnalysis) {
96
- // If multi-pass is explicitly enabled, use it
97
- if (options.multiPass) {
98
- return true;
99
- }
100
- // If force single-pass is enabled, don't use multi-pass
101
- if (options.forceSinglePass) {
102
- return false;
103
- }
104
- // If we have token analysis, use its recommendation
105
- if (tokenAnalysis?.chunkingRecommendation) {
106
- return tokenAnalysis.chunkingRecommendation.chunkingRecommended;
107
- }
108
- // Default to false if we can't determine
109
- return false;
110
- }
111
- //# sourceMappingURL=ReviewExecutor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReviewExecutor.js","sourceRoot":"","sources":["../../../src/core/handlers/ReviewExecutor.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBH,sCAgDC;AASD,gEAqBC;AAhGD,gDAAkC;AAElC,sEAAmE;AAEnE,gEAAwC;AAGxC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,aAAa,CACjC,SAAqB,EACrB,OAAsB,EACtB,eAA8D,EAC9D,cAAuB,IAAI,EAC3B,gBAA4C,IAAI;IAEhD,iEAAiE;IACjE,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAE1E,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IACxC,IAAI,cAAc,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/C,gBAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACpE,gBAAM,CAAC,IAAI,CACT,eAAe,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,IAAI,SAAS,yCAAyC,CAC3H,CAAC;QACF,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,iCAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAElE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,gBAAM,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,CAAC;IAEjG,IAAI,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9C,gBAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC5E,gBAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC7E,CAAC;IAED,mBAAmB;IACnB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE/C,yEAAyE;IACzE,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CACzC,SAAS,EACT,WAAW,EACX,WAAkB,EAClB,gBAAgB,EAChB,eAAsB,CACvB,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,0BAA0B,CACxC,OAAsB,EACtB,aAAyC;IAEzC,8CAA8C;IAC9C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IACxD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAoD;IACpD,IAAI,aAAa,EAAE,sBAAsB,EAAE,CAAC;QAC1C,OAAO,aAAa,CAAC,sBAAsB,CAAC,mBAAmB,CAAC;IAClE,CAAC;IAED,yCAAyC;IACzC,OAAO,KAAK,CAAC;AACf,CAAC"}