codereview-aia 0.1.3 → 0.2.0

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 (558) 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 +580 -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 +184 -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 +276 -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 +381 -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/batchStreamer.d.ts +54 -0
  193. package/dist/runtime/preprod/batchStreamer.js +159 -0
  194. package/dist/runtime/preprod/batchStreamer.js.map +1 -0
  195. package/dist/runtime/preprod/crEdgeServiceClient.d.ts +30 -0
  196. package/dist/runtime/preprod/crEdgeServiceClient.js +133 -0
  197. package/dist/runtime/preprod/crEdgeServiceClient.js.map +1 -0
  198. package/dist/runtime/preprod/progressTracker.d.ts +21 -0
  199. package/dist/runtime/preprod/progressTracker.js +80 -0
  200. package/dist/runtime/preprod/progressTracker.js.map +1 -0
  201. package/dist/runtime/preprod/webCheck.d.ts +1 -0
  202. package/dist/runtime/preprod/webCheck.js +102 -0
  203. package/dist/runtime/preprod/webCheck.js.map +1 -0
  204. package/dist/runtime/proxyConfig.d.ts +6 -0
  205. package/dist/runtime/proxyConfig.js +86 -0
  206. package/dist/runtime/proxyConfig.js.map +1 -0
  207. package/dist/runtime/proxyEnvironment.d.ts +3 -0
  208. package/dist/runtime/proxyEnvironment.js +63 -0
  209. package/dist/runtime/proxyEnvironment.js.map +1 -0
  210. package/dist/runtime/reportMerge.d.ts +30 -0
  211. package/dist/runtime/reportMerge.js +70 -0
  212. package/dist/runtime/reportMerge.js.map +1 -0
  213. package/dist/runtime/reporting/markdownReportBuilder.d.ts +17 -0
  214. package/dist/runtime/reporting/markdownReportBuilder.js +154 -0
  215. package/dist/runtime/reporting/markdownReportBuilder.js.map +1 -0
  216. package/dist/runtime/reporting/reportDataCollector.d.ts +31 -0
  217. package/dist/runtime/reporting/reportDataCollector.js +170 -0
  218. package/dist/runtime/reporting/reportDataCollector.js.map +1 -0
  219. package/dist/runtime/reporting/summaryGenerator.d.ts +10 -0
  220. package/dist/runtime/reporting/summaryGenerator.js +67 -0
  221. package/dist/runtime/reporting/summaryGenerator.js.map +1 -0
  222. package/dist/runtime/reviewPipeline.d.ts +61 -0
  223. package/dist/runtime/reviewPipeline.js +231 -0
  224. package/dist/runtime/reviewPipeline.js.map +1 -0
  225. package/dist/runtime/runAiCodeReview.d.ts +36 -0
  226. package/dist/runtime/runAiCodeReview.js +409 -0
  227. package/dist/runtime/runAiCodeReview.js.map +1 -0
  228. package/dist/runtime/runtimeConfig.d.ts +4 -0
  229. package/dist/runtime/runtimeConfig.js +7 -0
  230. package/dist/runtime/runtimeConfig.js.map +1 -0
  231. package/dist/runtime/ui/Layout.d.ts +11 -0
  232. package/dist/runtime/ui/Layout.js +47 -0
  233. package/dist/runtime/ui/Layout.js.map +1 -0
  234. package/dist/runtime/ui/RuntimeApp.d.ts +6 -0
  235. package/dist/runtime/ui/RuntimeApp.js +275 -0
  236. package/dist/runtime/ui/RuntimeApp.js.map +1 -0
  237. package/dist/runtime/ui/inkModules.d.ts +10 -0
  238. package/dist/runtime/ui/inkModules.js +63 -0
  239. package/dist/runtime/ui/inkModules.js.map +1 -0
  240. package/dist/runtime/ui/screens/AuthScreen.d.ts +6 -0
  241. package/dist/runtime/ui/screens/AuthScreen.js +67 -0
  242. package/dist/runtime/ui/screens/AuthScreen.js.map +1 -0
  243. package/dist/runtime/ui/screens/ModeSelection.d.ts +11 -0
  244. package/dist/runtime/ui/screens/ModeSelection.js +169 -0
  245. package/dist/runtime/ui/screens/ModeSelection.js.map +1 -0
  246. package/dist/runtime/ui/screens/ProgressScreen.d.ts +21 -0
  247. package/dist/runtime/ui/screens/ProgressScreen.js +86 -0
  248. package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -0
  249. package/dist/runtime/ui/screens/ResultsScreen.d.ts +7 -0
  250. package/dist/runtime/ui/screens/ResultsScreen.js +34 -0
  251. package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -0
  252. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +29 -0
  253. package/dist/strategies/ArchitecturalReviewStrategy.js +42 -0
  254. package/dist/strategies/ArchitecturalReviewStrategy.js.map +1 -0
  255. package/dist/strategies/CodingTestReviewStrategy.d.ts +194 -0
  256. package/dist/strategies/CodingTestReviewStrategy.js +681 -0
  257. package/dist/strategies/CodingTestReviewStrategy.js.map +1 -0
  258. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +25 -0
  259. package/dist/strategies/ConsolidatedReviewStrategy.js +45 -0
  260. package/dist/strategies/ConsolidatedReviewStrategy.js.map +1 -0
  261. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +30 -0
  262. package/dist/strategies/ExtractPatternsReviewStrategy.js +51 -0
  263. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +1 -0
  264. package/dist/strategies/MultiPassReviewStrategy.d.ts +86 -0
  265. package/dist/strategies/MultiPassReviewStrategy.js +590 -0
  266. package/dist/strategies/MultiPassReviewStrategy.js.map +1 -0
  267. package/dist/strategies/ReviewStrategy.d.ts +45 -0
  268. package/dist/strategies/ReviewStrategy.js +24 -0
  269. package/dist/strategies/ReviewStrategy.js.map +1 -0
  270. package/dist/strategies/StrategyFactory.d.ts +19 -0
  271. package/dist/strategies/StrategyFactory.js +72 -0
  272. package/dist/strategies/StrategyFactory.js.map +1 -0
  273. package/{src/strategies/index.ts → dist/strategies/index.d.ts} +0 -1
  274. package/dist/strategies/index.js +30 -0
  275. package/dist/strategies/index.js.map +1 -0
  276. package/dist/tokenizers/baseTokenizer.d.ts +25 -0
  277. package/dist/tokenizers/baseTokenizer.js +48 -0
  278. package/dist/tokenizers/baseTokenizer.js.map +1 -0
  279. package/dist/tokenizers/gptTokenizer.d.ts +7 -0
  280. package/dist/tokenizers/gptTokenizer.js +28 -0
  281. package/dist/tokenizers/gptTokenizer.js.map +1 -0
  282. package/{src/tokenizers/index.ts → dist/tokenizers/index.d.ts} +0 -1
  283. package/dist/tokenizers/index.js +24 -0
  284. package/dist/tokenizers/index.js.map +1 -0
  285. package/dist/types/apiResponses.d.ts +39 -0
  286. package/dist/types/apiResponses.js +9 -0
  287. package/dist/types/apiResponses.js.map +1 -0
  288. package/dist/types/cli.d.ts +22 -0
  289. package/dist/types/cli.js +3 -0
  290. package/dist/types/cli.js.map +1 -0
  291. package/{src/types/common.ts → dist/types/common.d.ts} +2 -19
  292. package/dist/types/common.js +14 -0
  293. package/dist/types/common.js.map +1 -0
  294. package/dist/types/configuration.d.ts +682 -0
  295. package/dist/types/configuration.js +65 -0
  296. package/dist/types/configuration.js.map +1 -0
  297. package/dist/types/review.d.ts +318 -0
  298. package/dist/types/review.js +8 -0
  299. package/dist/types/review.js.map +1 -0
  300. package/dist/types/reviewSchema.d.ts +543 -0
  301. package/{src/types/reviewSchema.ts → dist/types/reviewSchema.js} +44 -104
  302. package/dist/types/reviewSchema.js.map +1 -0
  303. package/dist/types/structuredReview.d.ts +119 -0
  304. package/dist/types/structuredReview.js +6 -0
  305. package/dist/types/structuredReview.js.map +1 -0
  306. package/dist/types/tokenAnalysis.d.ts +44 -0
  307. package/dist/types/tokenAnalysis.js +4 -0
  308. package/dist/types/tokenAnalysis.js.map +1 -0
  309. package/dist/utils/FileReader.d.ts +33 -0
  310. package/dist/utils/FileReader.js +88 -0
  311. package/dist/utils/FileReader.js.map +1 -0
  312. package/dist/utils/FileWriter.d.ts +26 -0
  313. package/dist/utils/FileWriter.js +76 -0
  314. package/dist/utils/FileWriter.js.map +1 -0
  315. package/dist/utils/PathGenerator.d.ts +30 -0
  316. package/dist/utils/PathGenerator.js +82 -0
  317. package/dist/utils/PathGenerator.js.map +1 -0
  318. package/dist/utils/api/apiUtils.d.ts +3 -0
  319. package/dist/utils/api/apiUtils.js +20 -0
  320. package/dist/utils/api/apiUtils.js.map +1 -0
  321. package/dist/utils/api/index.js +18 -0
  322. package/dist/utils/api/index.js.map +1 -0
  323. package/dist/utils/apiErrorHandler.d.ts +130 -0
  324. package/dist/utils/apiErrorHandler.js +256 -0
  325. package/dist/utils/apiErrorHandler.js.map +1 -0
  326. package/dist/utils/ciDataCollector.d.ts +51 -0
  327. package/dist/utils/ciDataCollector.js +197 -0
  328. package/dist/utils/ciDataCollector.js.map +1 -0
  329. package/dist/utils/codingTestConfigLoader.d.ts +66 -0
  330. package/dist/utils/codingTestConfigLoader.js +420 -0
  331. package/dist/utils/codingTestConfigLoader.js.map +1 -0
  332. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +30 -0
  333. package/dist/utils/dependencies/aiDependencyAnalyzer.js +343 -0
  334. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +1 -0
  335. package/dist/utils/detection/frameworkDetector.d.ts +43 -0
  336. package/dist/utils/detection/frameworkDetector.js +850 -0
  337. package/dist/utils/detection/frameworkDetector.js.map +1 -0
  338. package/{src/utils/detection/index.ts → dist/utils/detection/index.d.ts} +0 -1
  339. package/dist/utils/detection/index.js +28 -0
  340. package/dist/utils/detection/index.js.map +1 -0
  341. package/dist/utils/detection/projectTypeDetector.d.ts +27 -0
  342. package/dist/utils/detection/projectTypeDetector.js +469 -0
  343. package/dist/utils/detection/projectTypeDetector.js.map +1 -0
  344. package/dist/utils/diagramGenerator.d.ts +49 -0
  345. package/dist/utils/diagramGenerator.js +218 -0
  346. package/dist/utils/diagramGenerator.js.map +1 -0
  347. package/dist/utils/errorLogger.d.ts +24 -0
  348. package/dist/utils/errorLogger.js +59 -0
  349. package/dist/utils/errorLogger.js.map +1 -0
  350. package/dist/utils/estimationUtils.d.ts +139 -0
  351. package/dist/utils/estimationUtils.js +329 -0
  352. package/dist/utils/estimationUtils.js.map +1 -0
  353. package/dist/utils/fileFilters.d.ts +72 -0
  354. package/dist/utils/fileFilters.js +338 -0
  355. package/dist/utils/fileFilters.js.map +1 -0
  356. package/dist/utils/fileSystem.d.ts +22 -0
  357. package/dist/utils/fileSystem.js +45 -0
  358. package/dist/utils/fileSystem.js.map +1 -0
  359. package/{src/utils/index.ts → dist/utils/index.d.ts} +0 -14
  360. package/dist/utils/index.js +52 -0
  361. package/dist/utils/index.js.map +1 -0
  362. package/dist/utils/logger.d.ts +77 -0
  363. package/dist/utils/logger.js +271 -0
  364. package/dist/utils/logger.js.map +1 -0
  365. package/dist/utils/pathValidator.d.ts +40 -0
  366. package/dist/utils/pathValidator.js +98 -0
  367. package/dist/utils/pathValidator.js.map +1 -0
  368. package/{src/utils/priorityFilter.ts → dist/utils/priorityFilter.d.ts} +1 -26
  369. package/dist/utils/priorityFilter.js +54 -0
  370. package/dist/utils/priorityFilter.js.map +1 -0
  371. package/dist/utils/projectDocs.d.ts +47 -0
  372. package/dist/utils/projectDocs.js +158 -0
  373. package/dist/utils/projectDocs.js.map +1 -0
  374. package/dist/utils/promptPaths.d.ts +6 -0
  375. package/dist/utils/promptPaths.js +33 -0
  376. package/dist/utils/promptPaths.js.map +1 -0
  377. package/dist/utils/promptTemplateManager.d.ts +34 -0
  378. package/dist/utils/promptTemplateManager.js +141 -0
  379. package/dist/utils/promptTemplateManager.js.map +1 -0
  380. package/dist/utils/review/consolidateReview.d.ts +15 -0
  381. package/dist/utils/review/consolidateReview.js +481 -0
  382. package/dist/utils/review/consolidateReview.js.map +1 -0
  383. package/dist/utils/review/fixDisplay.d.ts +20 -0
  384. package/dist/utils/review/fixDisplay.js +84 -0
  385. package/dist/utils/review/fixDisplay.js.map +1 -0
  386. package/dist/utils/review/fixImplementation.d.ts +28 -0
  387. package/dist/utils/review/fixImplementation.js +60 -0
  388. package/dist/utils/review/fixImplementation.js.map +1 -0
  389. package/dist/utils/review/index.d.ts +13 -0
  390. package/dist/utils/review/index.js +50 -0
  391. package/dist/utils/review/index.js.map +1 -0
  392. package/dist/utils/review/interactiveProcessing.d.ts +25 -0
  393. package/dist/utils/review/interactiveProcessing.js +251 -0
  394. package/dist/utils/review/interactiveProcessing.js.map +1 -0
  395. package/dist/utils/review/progressTracker.d.ts +106 -0
  396. package/dist/utils/review/progressTracker.js +227 -0
  397. package/dist/utils/review/progressTracker.js.map +1 -0
  398. package/dist/utils/review/reviewExtraction.d.ts +31 -0
  399. package/dist/utils/review/reviewExtraction.js +324 -0
  400. package/dist/utils/review/reviewExtraction.js.map +1 -0
  401. package/dist/utils/review/types.d.ts +45 -0
  402. package/dist/utils/review/types.js +18 -0
  403. package/dist/utils/review/types.js.map +1 -0
  404. package/{src/utils/reviewActionHandler.ts → dist/utils/reviewActionHandler.d.ts} +0 -2
  405. package/dist/utils/reviewActionHandler.js +34 -0
  406. package/dist/utils/reviewActionHandler.js.map +1 -0
  407. package/dist/utils/reviewParser.d.ts +34 -0
  408. package/dist/utils/reviewParser.js +218 -0
  409. package/dist/utils/reviewParser.js.map +1 -0
  410. package/dist/utils/sanitizer.d.ts +82 -0
  411. package/dist/utils/sanitizer.js +239 -0
  412. package/dist/utils/sanitizer.js.map +1 -0
  413. package/dist/utils/smartFileSelector.d.ts +50 -0
  414. package/dist/utils/smartFileSelector.js +261 -0
  415. package/dist/utils/smartFileSelector.js.map +1 -0
  416. package/dist/utils/templateLoader.d.ts +44 -0
  417. package/dist/utils/templateLoader.js +431 -0
  418. package/dist/utils/templateLoader.js.map +1 -0
  419. package/dist/utils/treeGenerator.d.ts +12 -0
  420. package/dist/utils/treeGenerator.js +133 -0
  421. package/dist/utils/treeGenerator.js.map +1 -0
  422. package/package.json +5 -1
  423. package/.cr-aia.yml +0 -23
  424. package/.crignore +0 -0
  425. package/docs/opt-in-full-context.md +0 -27
  426. package/reports/cr-cr-aia-17-11-2025-20-13.md +0 -354
  427. package/src/analysis/FindingsExtractor.ts +0 -431
  428. package/src/analysis/ai-detection/analyzers/BaseAnalyzer.ts +0 -267
  429. package/src/analysis/ai-detection/analyzers/DocumentationAnalyzer.ts +0 -622
  430. package/src/analysis/ai-detection/analyzers/GitHistoryAnalyzer.ts +0 -430
  431. package/src/analysis/ai-detection/core/AIDetectionEngine.ts +0 -467
  432. package/src/analysis/ai-detection/types/DetectionTypes.ts +0 -406
  433. package/src/analysis/ai-detection/utils/SubmissionConverter.ts +0 -390
  434. package/src/analysis/context/ReviewContext.ts +0 -378
  435. package/src/analysis/tokens/TokenAnalyzer.ts +0 -747
  436. package/src/clients/base/abstractClient.ts +0 -190
  437. package/src/clients/base/httpClient.ts +0 -160
  438. package/src/clients/base/modelDetection.ts +0 -107
  439. package/src/clients/base/responseProcessor.ts +0 -586
  440. package/src/clients/factory/clientFactory.ts +0 -55
  441. package/src/clients/implementations/openRouterClient.ts +0 -413
  442. package/src/clients/openRouterClient.ts +0 -870
  443. package/src/clients/utils/directoryStructure.ts +0 -52
  444. package/src/clients/utils/languageDetection.ts +0 -44
  445. package/src/clients/utils/promptFormatter.ts +0 -182
  446. package/src/clients/utils/tokenCounter.ts +0 -297
  447. package/src/core/ApiClientSelector.ts +0 -37
  448. package/src/core/ConfigurationService.ts +0 -591
  449. package/src/core/ConsolidationService.ts +0 -423
  450. package/src/core/InteractiveDisplayManager.ts +0 -81
  451. package/src/core/OutputManager.ts +0 -275
  452. package/src/core/ReviewGenerator.ts +0 -140
  453. package/src/core/fileDiscovery.ts +0 -237
  454. package/src/core/handlers/EstimationHandler.ts +0 -104
  455. package/src/core/handlers/FileProcessingHandler.ts +0 -210
  456. package/src/core/handlers/OutputHandler.ts +0 -125
  457. package/src/core/handlers/ReviewExecutor.ts +0 -104
  458. package/src/core/reviewOrchestrator.ts +0 -333
  459. package/src/core/utils/ModelInfoUtils.ts +0 -56
  460. package/src/formatters/utils/IssueFormatters.ts +0 -83
  461. package/src/formatters/utils/JsonFormatter.ts +0 -77
  462. package/src/formatters/utils/MarkdownFormatters.ts +0 -609
  463. package/src/formatters/utils/MetadataFormatter.ts +0 -269
  464. package/src/formatters/utils/ModelInfoExtractor.ts +0 -115
  465. package/src/index.ts +0 -25
  466. package/src/plugins/PluginInterface.ts +0 -50
  467. package/src/plugins/PluginManager.ts +0 -126
  468. package/src/prompts/PromptManager.ts +0 -69
  469. package/src/prompts/cache/PromptCache.ts +0 -50
  470. package/src/prompts/promptText/common/variables/css-frameworks.json +0 -33
  471. package/src/prompts/promptText/common/variables/framework-versions.json +0 -45
  472. package/src/prompts/promptText/frameworks/react/comprehensive.hbs +0 -19
  473. package/src/prompts/promptText/languages/css/comprehensive.hbs +0 -18
  474. package/src/prompts/promptText/languages/generic/comprehensive.hbs +0 -20
  475. package/src/prompts/promptText/languages/html/comprehensive.hbs +0 -18
  476. package/src/prompts/promptText/languages/javascript/comprehensive.hbs +0 -18
  477. package/src/prompts/promptText/languages/python/comprehensive.hbs +0 -18
  478. package/src/prompts/promptText/languages/typescript/comprehensive.hbs +0 -18
  479. package/src/runtime/auth/service.ts +0 -58
  480. package/src/runtime/auth/session.ts +0 -103
  481. package/src/runtime/auth/types.ts +0 -11
  482. package/src/runtime/cliEntry.ts +0 -214
  483. package/src/runtime/debug/logManager.ts +0 -37
  484. package/src/runtime/errors.ts +0 -13
  485. package/src/runtime/fileCollector.ts +0 -495
  486. package/src/runtime/manifest.ts +0 -64
  487. package/src/runtime/openrouterProxy.ts +0 -45
  488. package/src/runtime/preprod/webCheck.ts +0 -104
  489. package/src/runtime/proxyConfig.ts +0 -94
  490. package/src/runtime/proxyEnvironment.ts +0 -71
  491. package/src/runtime/reportMerge.ts +0 -102
  492. package/src/runtime/reporting/markdownReportBuilder.ts +0 -138
  493. package/src/runtime/reporting/reportDataCollector.ts +0 -234
  494. package/src/runtime/reporting/summaryGenerator.ts +0 -86
  495. package/src/runtime/reviewPipeline.ts +0 -200
  496. package/src/runtime/runAiCodeReview.ts +0 -308
  497. package/src/runtime/runtimeConfig.ts +0 -5
  498. package/src/runtime/ui/Layout.tsx +0 -57
  499. package/src/runtime/ui/RuntimeApp.tsx +0 -262
  500. package/src/runtime/ui/inkModules.ts +0 -73
  501. package/src/runtime/ui/screens/AuthScreen.tsx +0 -128
  502. package/src/runtime/ui/screens/ModeSelection.tsx +0 -185
  503. package/src/runtime/ui/screens/ProgressScreen.tsx +0 -110
  504. package/src/runtime/ui/screens/ResultsScreen.tsx +0 -103
  505. package/src/strategies/ArchitecturalReviewStrategy.ts +0 -54
  506. package/src/strategies/CodingTestReviewStrategy.ts +0 -920
  507. package/src/strategies/ConsolidatedReviewStrategy.ts +0 -59
  508. package/src/strategies/ExtractPatternsReviewStrategy.ts +0 -64
  509. package/src/strategies/MultiPassReviewStrategy.ts +0 -785
  510. package/src/strategies/ReviewStrategy.ts +0 -64
  511. package/src/strategies/StrategyFactory.ts +0 -79
  512. package/src/tokenizers/baseTokenizer.ts +0 -61
  513. package/src/tokenizers/gptTokenizer.ts +0 -27
  514. package/src/types/apiResponses.ts +0 -40
  515. package/src/types/cli.ts +0 -24
  516. package/src/types/configuration.ts +0 -201
  517. package/src/types/handlebars.d.ts +0 -5
  518. package/src/types/patch.d.ts +0 -25
  519. package/src/types/review.ts +0 -312
  520. package/src/types/reviewContext.d.ts +0 -65
  521. package/src/types/structuredReview.ts +0 -167
  522. package/src/types/tokenAnalysis.ts +0 -56
  523. package/src/utils/FileReader.ts +0 -93
  524. package/src/utils/FileWriter.ts +0 -76
  525. package/src/utils/PathGenerator.ts +0 -97
  526. package/src/utils/api/apiUtils.ts +0 -14
  527. package/src/utils/apiErrorHandler.ts +0 -287
  528. package/src/utils/ciDataCollector.ts +0 -252
  529. package/src/utils/codingTestConfigLoader.ts +0 -466
  530. package/src/utils/dependencies/aiDependencyAnalyzer.ts +0 -454
  531. package/src/utils/detection/frameworkDetector.ts +0 -879
  532. package/src/utils/detection/projectTypeDetector.ts +0 -518
  533. package/src/utils/diagramGenerator.ts +0 -206
  534. package/src/utils/errorLogger.ts +0 -60
  535. package/src/utils/estimationUtils.ts +0 -407
  536. package/src/utils/fileFilters.ts +0 -373
  537. package/src/utils/fileSystem.ts +0 -57
  538. package/src/utils/logger.ts +0 -290
  539. package/src/utils/pathValidator.ts +0 -98
  540. package/src/utils/projectDocs.ts +0 -189
  541. package/src/utils/promptPaths.ts +0 -29
  542. package/src/utils/promptTemplateManager.ts +0 -157
  543. package/src/utils/review/consolidateReview.ts +0 -553
  544. package/src/utils/review/fixDisplay.ts +0 -100
  545. package/src/utils/review/fixImplementation.ts +0 -61
  546. package/src/utils/review/index.ts +0 -36
  547. package/src/utils/review/interactiveProcessing.ts +0 -294
  548. package/src/utils/review/progressTracker.ts +0 -296
  549. package/src/utils/review/reviewExtraction.ts +0 -382
  550. package/src/utils/review/types.ts +0 -46
  551. package/src/utils/reviewParser.ts +0 -253
  552. package/src/utils/sanitizer.ts +0 -238
  553. package/src/utils/smartFileSelector.ts +0 -255
  554. package/src/utils/templateLoader.ts +0 -514
  555. package/src/utils/treeGenerator.ts +0 -153
  556. package/tsconfig.build.json +0 -14
  557. package/tsconfig.json +0 -59
  558. /package/{src/utils/api/index.ts → dist/utils/api/index.d.ts} +0 -0
@@ -0,0 +1,431 @@
1
+ "use strict";
2
+ /**
3
+ * Template Loader Utility
4
+ *
5
+ * This utility loads and compiles Handlebars templates from the promptText directory.
6
+ * It supports variable substitution, partials, and conditional logic.
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.renderTemplate = renderTemplate;
46
+ exports.loadPromptTemplate = loadPromptTemplate;
47
+ exports.listAvailableTemplates = listAvailableTemplates;
48
+ exports.clearTemplateCache = clearTemplateCache;
49
+ const fs = __importStar(require("node:fs"));
50
+ const path = __importStar(require("node:path"));
51
+ const Handlebars = __importStar(require("handlebars"));
52
+ const ConfigurationService_1 = require("../core/ConfigurationService");
53
+ const logger_1 = __importDefault(require("./logger"));
54
+ const promptPaths_1 = require("./promptPaths");
55
+ // Get the templates directory from configuration or use a fallback
56
+ const getTemplatesDir = () => {
57
+ try {
58
+ // Use the configured path from ConfigurationService
59
+ const configuredPath = ConfigurationService_1.configurationService.getPathsConfig().promptsDir;
60
+ if (configuredPath && fs.existsSync(configuredPath)) {
61
+ logger_1.default.debug(`Using configured templates directory: ${configuredPath}`);
62
+ return configuredPath;
63
+ }
64
+ // Fallback to default
65
+ const defaultPath = (0, promptPaths_1.resolvePromptTemplatesDir)();
66
+ logger_1.default.debug(`Using default templates directory: ${defaultPath}`);
67
+ return defaultPath;
68
+ }
69
+ catch (error) {
70
+ // If there's any error with the configuration, use default
71
+ logger_1.default.warn(`Error getting templates directory from config: ${error instanceof Error ? error.message : String(error)}`);
72
+ const fallbackPath = (0, promptPaths_1.resolvePromptTemplatesDir)();
73
+ logger_1.default.debug(`Using fallback templates directory: ${fallbackPath}`);
74
+ return fallbackPath;
75
+ }
76
+ };
77
+ /**
78
+ * Template cache to avoid re-reading and re-compiling templates
79
+ */
80
+ const templateCache = {};
81
+ /**
82
+ * Register helpers and partials for Handlebars
83
+ */
84
+ function initializeHandlebars() {
85
+ // Register comparison helper
86
+ Handlebars.registerHelper('eq', function (arg1, arg2, options) {
87
+ return arg1 === arg2 ? options.fn(this) : options.inverse(this);
88
+ });
89
+ // Register join helper for arrays
90
+ Handlebars.registerHelper('join', (array, separator) => {
91
+ if (Array.isArray(array)) {
92
+ return array.join(separator);
93
+ }
94
+ return '';
95
+ });
96
+ // Register partials by scanning the common directory
97
+ const partialsDir = path.join(getTemplatesDir(), 'common');
98
+ registerPartials(partialsDir, '');
99
+ }
100
+ /**
101
+ * Recursively register partials from a directory
102
+ *
103
+ * @param dirPath Directory path to scan for partials
104
+ * @param prefix Prefix for partial names (based on directory hierarchy)
105
+ */
106
+ function registerPartials(dirPath, prefix) {
107
+ try {
108
+ // Check if directory exists
109
+ if (!fs.existsSync(dirPath)) {
110
+ logger_1.default.warn(`Partials directory not found: ${dirPath}`);
111
+ return;
112
+ }
113
+ // Read directory entries
114
+ const entries = fs.readdirSync(dirPath, { withFileTypes: true });
115
+ for (const entry of entries) {
116
+ const fullPath = path.join(dirPath, entry.name);
117
+ if (entry.isDirectory()) {
118
+ // Recurse into subdirectories
119
+ registerPartials(fullPath, `${prefix}${entry.name}/`);
120
+ }
121
+ else if (entry.name.endsWith('.hbs')) {
122
+ try {
123
+ // Register .hbs files as partials
124
+ const partialName = `${prefix}${entry.name.replace('.hbs', '')}`;
125
+ const partialContent = fs.readFileSync(fullPath, 'utf-8');
126
+ Handlebars.registerPartial(`common/${partialName}`, partialContent);
127
+ logger_1.default.debug(`Registered partial: common/${partialName}`);
128
+ }
129
+ catch (partialError) {
130
+ // Handle errors for individual partial files
131
+ logger_1.default.error(`Error registering partial ${fullPath}: ${partialError instanceof Error ? partialError.message : String(partialError)}`);
132
+ // Continue with other partials even if one fails
133
+ }
134
+ }
135
+ }
136
+ }
137
+ catch (error) {
138
+ // Handle directory reading errors
139
+ logger_1.default.error(`Error scanning partials directory ${dirPath}: ${error instanceof Error ? error.message : String(error)}`);
140
+ // Return so calling code knows registration may be incomplete
141
+ }
142
+ }
143
+ /**
144
+ * Load template variables from JSON files
145
+ *
146
+ * @returns Combined variables object for template rendering
147
+ */
148
+ function loadTemplateVariables() {
149
+ const variables = {};
150
+ try {
151
+ // Check if variables directory exists
152
+ const variablesDir = path.join(getTemplatesDir(), 'common', 'variables');
153
+ if (!fs.existsSync(variablesDir)) {
154
+ logger_1.default.warn(`Variables directory not found: ${variablesDir}`);
155
+ return variables;
156
+ }
157
+ // Load framework versions data
158
+ const frameworksPath = path.join(variablesDir, 'framework-versions.json');
159
+ if (fs.existsSync(frameworksPath)) {
160
+ try {
161
+ const fileContents = fs.readFileSync(frameworksPath, 'utf-8');
162
+ const frameworkData = JSON.parse(fileContents);
163
+ variables.frameworks = frameworkData.frameworks;
164
+ logger_1.default.debug('Successfully loaded framework versions data');
165
+ }
166
+ catch (readError) {
167
+ logger_1.default.error(`Error reading or parsing framework versions data: ${readError instanceof Error ? readError.message : String(readError)}`);
168
+ // Provide empty frameworks object instead of leaving it undefined
169
+ variables.frameworks = {};
170
+ }
171
+ }
172
+ else {
173
+ logger_1.default.debug(`Framework versions file not found: ${frameworksPath}`);
174
+ variables.frameworks = {};
175
+ }
176
+ // Load CSS frameworks data
177
+ const cssFrameworksPath = path.join(variablesDir, 'css-frameworks.json');
178
+ if (fs.existsSync(cssFrameworksPath)) {
179
+ try {
180
+ const fileContents = fs.readFileSync(cssFrameworksPath, 'utf-8');
181
+ const cssFrameworkData = JSON.parse(fileContents);
182
+ variables.cssFrameworks = cssFrameworkData.cssFrameworks;
183
+ logger_1.default.debug('Successfully loaded CSS frameworks data');
184
+ }
185
+ catch (readError) {
186
+ logger_1.default.error(`Error reading or parsing CSS frameworks data: ${readError instanceof Error ? readError.message : String(readError)}`);
187
+ // Provide empty cssFrameworks object instead of leaving it undefined
188
+ variables.cssFrameworks = {};
189
+ }
190
+ }
191
+ else {
192
+ logger_1.default.debug(`CSS frameworks file not found: ${cssFrameworksPath}`);
193
+ variables.cssFrameworks = {};
194
+ }
195
+ // Scan the variables directory for other JSON files and load them
196
+ try {
197
+ const entries = fs.readdirSync(variablesDir);
198
+ const otherJsonFiles = entries.filter((entry) => entry.endsWith('.json') &&
199
+ entry !== 'framework-versions.json' &&
200
+ entry !== 'css-frameworks.json');
201
+ for (const jsonFile of otherJsonFiles) {
202
+ try {
203
+ const filePath = path.join(variablesDir, jsonFile);
204
+ const fileContents = fs.readFileSync(filePath, 'utf-8');
205
+ const data = JSON.parse(fileContents);
206
+ // Use the filename without extension as the variable key
207
+ const key = jsonFile.replace('.json', '');
208
+ variables[key] = data;
209
+ logger_1.default.debug(`Loaded additional variable file: ${jsonFile}`);
210
+ }
211
+ catch (fileError) {
212
+ logger_1.default.error(`Error reading or parsing ${jsonFile}: ${fileError instanceof Error ? fileError.message : String(fileError)}`);
213
+ }
214
+ }
215
+ }
216
+ catch (scanError) {
217
+ logger_1.default.error(`Error scanning variables directory for additional JSON files: ${scanError instanceof Error ? scanError.message : String(scanError)}`);
218
+ }
219
+ }
220
+ catch (error) {
221
+ // Catch any unexpected errors
222
+ logger_1.default.error(`Unexpected error loading template variables: ${error instanceof Error ? error.message : String(error)}`);
223
+ }
224
+ return variables;
225
+ }
226
+ /**
227
+ * Load and compile a template from the given path
228
+ *
229
+ * @param templatePath Path to the template file (relative to TEMPLATES_DIR)
230
+ * @returns Compiled Handlebars template function
231
+ */
232
+ function loadTemplate(templatePath) {
233
+ // Check cache first
234
+ if (templateCache[templatePath]) {
235
+ return templateCache[templatePath];
236
+ }
237
+ const fullPath = path.join(getTemplatesDir(), templatePath);
238
+ // Check if template exists
239
+ if (!fs.existsSync(fullPath)) {
240
+ logger_1.default.error(`Template not found: ${fullPath}`);
241
+ return null;
242
+ }
243
+ try {
244
+ // Read and compile template
245
+ const templateContent = fs.readFileSync(fullPath, 'utf-8');
246
+ const template = Handlebars.compile(templateContent);
247
+ // Cache compiled template
248
+ templateCache[templatePath] = template;
249
+ return template;
250
+ }
251
+ catch (error) {
252
+ logger_1.default.error(`Error loading template ${fullPath}: ${error}`);
253
+ return null;
254
+ }
255
+ }
256
+ /**
257
+ * Render a template with provided variables
258
+ *
259
+ * @param templatePath Path to the template file (relative to TEMPLATES_DIR)
260
+ * @param customVars Optional custom variables to merge with default variables
261
+ * @returns Rendered template string or null if rendering fails
262
+ */
263
+ function renderTemplate(templatePath, customVars = {}) {
264
+ // Initialize Handlebars if not already initialized
265
+ if (Object.keys(Handlebars.partials).length === 0) {
266
+ initializeHandlebars();
267
+ }
268
+ // Load template
269
+ const template = loadTemplate(templatePath);
270
+ if (!template) {
271
+ return null;
272
+ }
273
+ // Load variables and merge with custom vars
274
+ const defaultVars = loadTemplateVariables();
275
+ const variables = { ...defaultVars, ...customVars };
276
+ try {
277
+ // Render template with variables
278
+ return template(variables);
279
+ }
280
+ catch (error) {
281
+ logger_1.default.error(`Error rendering template ${templatePath}: ${error}`);
282
+ return null;
283
+ }
284
+ }
285
+ /**
286
+ * Load a template for a specific framework or language
287
+ *
288
+ * @param reviewType Type of review (e.g., 'best-practices', 'security')
289
+ * @param language Language (e.g., 'typescript', 'python')
290
+ * @param framework Optional framework (e.g., 'react', 'angular')
291
+ * @returns Rendered template string or null if not found
292
+ */
293
+ function loadPromptTemplate(reviewType, language, framework) {
294
+ // Try framework-specific template first
295
+ if (language && framework) {
296
+ const frameworkPath = `frameworks/${framework}/${reviewType}.hbs`;
297
+ const rendered = renderTemplate(frameworkPath);
298
+ if (rendered) {
299
+ logger_1.default.debug(`Loaded framework-specific template: ${frameworkPath}`);
300
+ return rendered;
301
+ }
302
+ }
303
+ // Try language-specific template
304
+ if (language) {
305
+ const languagePath = `languages/${language}/${reviewType}.hbs`;
306
+ const rendered = renderTemplate(languagePath);
307
+ if (rendered) {
308
+ logger_1.default.debug(`Loaded language-specific template: ${languagePath}`);
309
+ return rendered;
310
+ }
311
+ }
312
+ // Fall back to generic template
313
+ const genericPath = `languages/generic/${reviewType}.hbs`;
314
+ const rendered = renderTemplate(genericPath);
315
+ if (rendered) {
316
+ logger_1.default.debug(`Loaded generic template: ${genericPath}`);
317
+ return rendered;
318
+ }
319
+ logger_1.default.error(`No template found for reviewType=${reviewType}, language=${language ?? 'undefined'}, framework=${framework ?? 'undefined'}`);
320
+ return null;
321
+ }
322
+ /**
323
+ * List all available templates
324
+ *
325
+ * @returns Map of available templates by category
326
+ */
327
+ function listAvailableTemplates() {
328
+ const result = {
329
+ frameworks: [],
330
+ languages: [],
331
+ reviewTypes: [],
332
+ };
333
+ try {
334
+ // Scan frameworks directory
335
+ const frameworksDir = path.join(getTemplatesDir(), 'frameworks');
336
+ if (fs.existsSync(frameworksDir)) {
337
+ try {
338
+ const entries = fs.readdirSync(frameworksDir, { withFileTypes: true });
339
+ result.frameworks = entries
340
+ .filter((entry) => entry.isDirectory())
341
+ .map((entry) => entry.name);
342
+ }
343
+ catch (error) {
344
+ logger_1.default.error(`Error reading frameworks directory ${frameworksDir}: ${error instanceof Error ? error.message : String(error)}`);
345
+ }
346
+ }
347
+ else {
348
+ logger_1.default.debug(`Frameworks directory not found: ${frameworksDir}`);
349
+ }
350
+ // Scan languages directory
351
+ const languagesDir = path.join(getTemplatesDir(), 'languages');
352
+ if (fs.existsSync(languagesDir)) {
353
+ try {
354
+ const entries = fs.readdirSync(languagesDir, { withFileTypes: true });
355
+ result.languages = entries
356
+ .filter((entry) => entry.isDirectory())
357
+ .map((entry) => entry.name);
358
+ }
359
+ catch (error) {
360
+ logger_1.default.error(`Error reading languages directory ${languagesDir}: ${error instanceof Error ? error.message : String(error)}`);
361
+ }
362
+ }
363
+ else {
364
+ logger_1.default.debug(`Languages directory not found: ${languagesDir}`);
365
+ }
366
+ // Get review types from any framework (assuming all frameworks have the same review types)
367
+ // or from the generic directory if no frameworks are available
368
+ if (Array.isArray(result.frameworks) && result.frameworks.length > 0) {
369
+ try {
370
+ const firstFramework = result.frameworks[0];
371
+ if (firstFramework) {
372
+ const firstFrameworkDir = path.join(frameworksDir, firstFramework);
373
+ if (fs.existsSync(firstFrameworkDir)) {
374
+ const entries = fs.readdirSync(firstFrameworkDir);
375
+ result.reviewTypes = entries
376
+ .filter((entry) => entry.endsWith('.hbs'))
377
+ .map((entry) => entry.replace('.hbs', ''));
378
+ }
379
+ }
380
+ }
381
+ catch (error) {
382
+ logger_1.default.error(`Error reading review types from framework directory: ${error instanceof Error ? error.message : String(error)}`);
383
+ }
384
+ }
385
+ // If we couldn't get review types from frameworks, try the generic directory
386
+ if (!Array.isArray(result.reviewTypes) || result.reviewTypes.length === 0) {
387
+ try {
388
+ const genericDir = path.join(languagesDir, 'generic');
389
+ if (fs.existsSync(genericDir)) {
390
+ const entries = fs.readdirSync(genericDir);
391
+ result.reviewTypes = entries
392
+ .filter((entry) => entry.endsWith('.hbs'))
393
+ .map((entry) => entry.replace('.hbs', ''));
394
+ }
395
+ }
396
+ catch (error) {
397
+ logger_1.default.error(`Error reading review types from generic directory: ${error instanceof Error ? error.message : String(error)}`);
398
+ }
399
+ }
400
+ }
401
+ catch (error) {
402
+ // Catch any other unexpected errors
403
+ logger_1.default.error(`Unexpected error listing available templates: ${error instanceof Error ? error.message : String(error)}`);
404
+ }
405
+ return result;
406
+ }
407
+ /**
408
+ * Clear the template cache to force reloading of templates
409
+ * This is useful when the configuration changes
410
+ */
411
+ function clearTemplateCache() {
412
+ // Reset cache and Handlebars registrations
413
+ for (const key in templateCache) {
414
+ delete templateCache[key];
415
+ }
416
+ // Clear registered partials
417
+ for (const key in Handlebars.partials) {
418
+ Handlebars.unregisterPartial(key);
419
+ }
420
+ logger_1.default.debug('Template cache cleared');
421
+ }
422
+ /**
423
+ * Export loadPromptTemplate as default
424
+ */
425
+ exports.default = {
426
+ renderTemplate,
427
+ loadPromptTemplate,
428
+ listAvailableTemplates,
429
+ clearTemplateCache,
430
+ };
431
+ //# sourceMappingURL=templateLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateLoader.js","sourceRoot":"","sources":["../../src/utils/templateLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @fileoverview Utility to generate tree structure from file paths
3
+ *
4
+ * This module provides functions to convert a list of file paths into a
5
+ * hierarchical tree structure for display in a markdown file.
6
+ */
7
+ /**
8
+ * Generate a markdown tree representation of file paths
9
+ * @param filePaths Array of file paths
10
+ * @returns Markdown string representing the tree structure
11
+ */
12
+ export declare function generateFileTree(filePaths: string[]): string;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Utility to generate tree structure from file paths
4
+ *
5
+ * This module provides functions to convert a list of file paths into a
6
+ * hierarchical tree structure for display in a markdown file.
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.generateFileTree = generateFileTree;
13
+ // import path from 'path'; // Not used in this file
14
+ const logger_1 = __importDefault(require("./logger"));
15
+ /**
16
+ * Create a new tree node
17
+ * @param name Name of the node
18
+ * @param isFile Whether this node represents a file
19
+ * @param filePath Full path of the file (for files only)
20
+ * @returns A new tree node
21
+ */
22
+ function createNode(name, isFile = false, filePath) {
23
+ return {
24
+ name,
25
+ children: new Map(),
26
+ isFile,
27
+ path: filePath,
28
+ };
29
+ }
30
+ /**
31
+ * Build a tree structure from a list of file paths
32
+ * @param filePaths Array of file paths (relative or absolute)
33
+ * @returns Root node of the tree
34
+ */
35
+ function buildTree(filePaths) {
36
+ // Create the root node
37
+ const root = createNode('root');
38
+ // Add each file to the tree
39
+ for (const filePath of filePaths) {
40
+ // Split the path into components
41
+ const parts = filePath.split(/[\\/]/);
42
+ // Start at the root
43
+ let currentNode = root;
44
+ // Traverse the path components
45
+ for (let i = 0; i < parts.length; i++) {
46
+ const part = parts[i];
47
+ if (!part)
48
+ continue; // Skip empty parts
49
+ const isFile = i === parts.length - 1;
50
+ // If this node doesn't exist yet, create it
51
+ if (!currentNode.children.has(part)) {
52
+ currentNode.children.set(part, createNode(part, isFile, isFile ? filePath : undefined));
53
+ }
54
+ else if (isFile) {
55
+ // If it exists but is a directory and we're adding a file with the same name
56
+ const existingNode = currentNode.children.get(part);
57
+ if (!existingNode.isFile) {
58
+ // This is a special case where a directory has the same name as a file
59
+ // Create a special file node with a unique name
60
+ currentNode.children.set(`${part} (file)`, createNode(part, true, filePath));
61
+ continue;
62
+ }
63
+ }
64
+ // Move to the next node
65
+ currentNode = currentNode.children.get(part);
66
+ }
67
+ }
68
+ return root;
69
+ }
70
+ /**
71
+ * Generate a markdown representation of the tree
72
+ * @param node The current tree node
73
+ * @param indent Current indentation level
74
+ * @param isLast Whether this is the last child of its parent
75
+ * @param prefix Prefix for the current line
76
+ * @returns Markdown string representing the tree
77
+ */
78
+ function generateMarkdownTree(node, indent = '', isLast = true, prefix = '') {
79
+ if (node.name === 'root') {
80
+ // Root node is special - process its children directly
81
+ let result = '';
82
+ const children = Array.from(node.children.entries());
83
+ for (let i = 0; i < children.length; i++) {
84
+ const [, childNode] = children[i];
85
+ const isLastChild = i === children.length - 1;
86
+ result += generateMarkdownTree(childNode, '', isLastChild, '');
87
+ }
88
+ return result;
89
+ }
90
+ // Current node indicator
91
+ const nodeIndicator = isLast ? '└── ' : '├── ';
92
+ // Generate this node's line
93
+ let result = `${indent}${prefix}${nodeIndicator}${node.name}\n`;
94
+ // Generate child node prefix
95
+ const childPrefix = isLast ? ' ' : '│ ';
96
+ // Process children
97
+ const children = Array.from(node.children.entries()).sort(([nameA], [nameB]) => {
98
+ // Directories first, then files
99
+ const nodeA = node.children.get(nameA);
100
+ const nodeB = node.children.get(nameB);
101
+ if (nodeA.isFile && !nodeB.isFile)
102
+ return 1;
103
+ if (!nodeA.isFile && nodeB.isFile)
104
+ return -1;
105
+ return nameA.localeCompare(nameB);
106
+ });
107
+ for (let i = 0; i < children.length; i++) {
108
+ const [, childNode] = children[i];
109
+ const isLastChild = i === children.length - 1;
110
+ result += generateMarkdownTree(childNode, `${indent}${prefix}${childPrefix}`, isLastChild, '');
111
+ }
112
+ return result;
113
+ }
114
+ /**
115
+ * Generate a markdown tree representation of file paths
116
+ * @param filePaths Array of file paths
117
+ * @returns Markdown string representing the tree structure
118
+ */
119
+ function generateFileTree(filePaths) {
120
+ try {
121
+ // Sort file paths to ensure consistent output
122
+ const sortedPaths = [...filePaths].sort();
123
+ // Build the tree structure
124
+ const root = buildTree(sortedPaths);
125
+ // Generate the markdown
126
+ return `\`\`\`\n${generateMarkdownTree(root)}\`\`\``;
127
+ }
128
+ catch (error) {
129
+ logger_1.default.error(`Error generating file tree: ${error}`);
130
+ return filePaths.map((file) => `- \`${file}\``).join('\n');
131
+ }
132
+ }
133
+ //# sourceMappingURL=treeGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treeGenerator.js","sourceRoot":"","sources":["../../src/utils/treeGenerator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "codereview-aia",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "description": "codereview-aia CLI",
5
5
  "author": "rrretsuf",
6
6
  "main": "dist/index.js",
7
7
  "bin": "./dist/index.js",
8
+ "files": [
9
+ "dist"
10
+ ],
8
11
  "scripts": {
9
12
  "clean": "rm -rf dist .tsbuildinfo",
10
13
  "build": "pnpm run clean && tsc -p tsconfig.json",
@@ -36,6 +39,7 @@
36
39
  "i18next": "^24.2.3",
37
40
  "i18next-fs-backend": "^2.6.0",
38
41
  "i18next-icu": "^2.3.0",
42
+ "ignore": "^5.3.2",
39
43
  "ink": "^6.4.0",
40
44
  "ink-select-input": "^6.2.0",
41
45
  "ink-spinner": "^5.0.0",
package/.cr-aia.yml DELETED
@@ -1,23 +0,0 @@
1
- proxy_base_url: https://cr.ai.enki.si
2
- proxy_http_referer:
3
- proxy_x_title: cr-aia
4
- output:
5
- format: markdown
6
- dir: ./code-review-reports
7
- review:
8
- interactive: false
9
- include_tests: false
10
- include_project_docs: true
11
- include_dependency_analysis: true
12
- trace_code: false
13
- use_ts_prune: false
14
- use_eslint: false
15
- auto_fix: false
16
- prompt_all: false
17
- confirm: true
18
- api:
19
- model: openrouter:fast-model
20
- test_api: false
21
- system:
22
- debug: false
23
- log_level: info
package/.crignore DELETED
File without changes