codereview-aia 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/dist/analysis/FindingsExtractor.d.ts +105 -0
  2. package/dist/analysis/FindingsExtractor.js +363 -0
  3. package/dist/analysis/FindingsExtractor.js.map +1 -0
  4. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +111 -0
  5. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +215 -0
  6. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +1 -0
  7. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +142 -0
  8. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +503 -0
  9. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +1 -0
  10. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +88 -0
  11. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +343 -0
  12. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +1 -0
  13. package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +104 -0
  14. package/dist/analysis/ai-detection/core/AIDetectionEngine.js +369 -0
  15. package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +1 -0
  16. package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +364 -0
  17. package/dist/analysis/ai-detection/types/DetectionTypes.js +32 -0
  18. package/dist/analysis/ai-detection/types/DetectionTypes.js.map +1 -0
  19. package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +97 -0
  20. package/dist/analysis/ai-detection/utils/SubmissionConverter.js +339 -0
  21. package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +1 -0
  22. package/dist/analysis/context/ReviewContext.d.ts +184 -0
  23. package/dist/analysis/context/ReviewContext.js +294 -0
  24. package/dist/analysis/context/ReviewContext.js.map +1 -0
  25. package/{src/analysis/context/index.ts → dist/analysis/context/index.d.ts} +0 -1
  26. package/dist/analysis/context/index.js +23 -0
  27. package/dist/analysis/context/index.js.map +1 -0
  28. package/{src/analysis/index.ts → dist/analysis/index.d.ts} +0 -1
  29. package/dist/analysis/index.js +24 -0
  30. package/dist/analysis/index.js.map +1 -0
  31. package/dist/analysis/static/wpPhpcsRunner.d.ts +11 -0
  32. package/dist/analysis/static/wpPhpcsRunner.js +219 -0
  33. package/dist/analysis/static/wpPhpcsRunner.js.map +1 -0
  34. package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +27 -0
  35. package/{src/analysis/tokens/TokenAnalysisFormatter.ts → dist/analysis/tokens/TokenAnalysisFormatter.js} +64 -75
  36. package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +1 -0
  37. package/dist/analysis/tokens/TokenAnalyzer.d.ts +155 -0
  38. package/dist/analysis/tokens/TokenAnalyzer.js +502 -0
  39. package/dist/analysis/tokens/TokenAnalyzer.js.map +1 -0
  40. package/{src/analysis/tokens/index.ts → dist/analysis/tokens/index.d.ts} +0 -1
  41. package/dist/analysis/tokens/index.js +24 -0
  42. package/dist/analysis/tokens/index.js.map +1 -0
  43. package/dist/clients/base/abstractClient.d.ts +99 -0
  44. package/dist/clients/base/abstractClient.js +98 -0
  45. package/dist/clients/base/abstractClient.js.map +1 -0
  46. package/dist/clients/base/httpClient.d.ts +24 -0
  47. package/dist/clients/base/httpClient.js +147 -0
  48. package/dist/clients/base/httpClient.js.map +1 -0
  49. package/{src/clients/base/index.ts → dist/clients/base/index.d.ts} +0 -1
  50. package/dist/clients/base/index.js +28 -0
  51. package/dist/clients/base/index.js.map +1 -0
  52. package/dist/clients/base/modelDetection.d.ts +41 -0
  53. package/dist/clients/base/modelDetection.js +88 -0
  54. package/dist/clients/base/modelDetection.js.map +1 -0
  55. package/dist/clients/base/responseProcessor.d.ts +45 -0
  56. package/dist/clients/base/responseProcessor.js +495 -0
  57. package/dist/clients/base/responseProcessor.js.map +1 -0
  58. package/dist/clients/factory/clientFactory.d.ts +23 -0
  59. package/dist/clients/factory/clientFactory.js +50 -0
  60. package/dist/clients/factory/clientFactory.js.map +1 -0
  61. package/{src/clients/factory/index.ts → dist/clients/factory/index.d.ts} +0 -1
  62. package/dist/clients/factory/index.js +24 -0
  63. package/dist/clients/factory/index.js.map +1 -0
  64. package/{src/clients/implementations/index.ts → dist/clients/implementations/index.d.ts} +0 -1
  65. package/dist/clients/implementations/index.js +24 -0
  66. package/dist/clients/implementations/index.js.map +1 -0
  67. package/dist/clients/implementations/openRouterClient.d.ts +69 -0
  68. package/dist/clients/implementations/openRouterClient.js +294 -0
  69. package/dist/clients/implementations/openRouterClient.js.map +1 -0
  70. package/dist/clients/openRouterClient.d.ts +42 -0
  71. package/dist/clients/openRouterClient.js +738 -0
  72. package/dist/clients/openRouterClient.js.map +1 -0
  73. package/{src/clients/openRouterClientWrapper.ts → dist/clients/openRouterClientWrapper.d.ts} +2 -24
  74. package/dist/clients/openRouterClientWrapper.js +64 -0
  75. package/dist/clients/openRouterClientWrapper.js.map +1 -0
  76. package/dist/clients/utils/directoryStructure.d.ts +14 -0
  77. package/dist/clients/utils/directoryStructure.js +48 -0
  78. package/dist/clients/utils/directoryStructure.js.map +1 -0
  79. package/{src/clients/utils/index.ts → dist/clients/utils/index.d.ts} +0 -1
  80. package/dist/clients/utils/index.js +31 -0
  81. package/dist/clients/utils/index.js.map +1 -0
  82. package/dist/clients/utils/languageDetection.d.ts +13 -0
  83. package/dist/clients/utils/languageDetection.js +46 -0
  84. package/dist/clients/utils/languageDetection.js.map +1 -0
  85. package/dist/clients/utils/promptFormatter.d.ts +37 -0
  86. package/dist/clients/utils/promptFormatter.js +150 -0
  87. package/dist/clients/utils/promptFormatter.js.map +1 -0
  88. package/{src/clients/utils/promptLoader.ts → dist/clients/utils/promptLoader.d.ts} +1 -27
  89. package/dist/clients/utils/promptLoader.js +49 -0
  90. package/dist/clients/utils/promptLoader.js.map +1 -0
  91. package/dist/clients/utils/tokenCounter.d.ts +81 -0
  92. package/dist/clients/utils/tokenCounter.js +209 -0
  93. package/dist/clients/utils/tokenCounter.js.map +1 -0
  94. package/dist/core/ApiClientSelector.d.ts +8 -0
  95. package/dist/core/ApiClientSelector.js +29 -0
  96. package/dist/core/ApiClientSelector.js.map +1 -0
  97. package/dist/core/ConfigurationService.d.ts +307 -0
  98. package/dist/core/ConfigurationService.js +516 -0
  99. package/dist/core/ConfigurationService.js.map +1 -0
  100. package/dist/core/ConsolidationService.d.ts +99 -0
  101. package/dist/core/ConsolidationService.js +341 -0
  102. package/dist/core/ConsolidationService.js.map +1 -0
  103. package/dist/core/InteractiveDisplayManager.d.ts +22 -0
  104. package/dist/core/InteractiveDisplayManager.js +70 -0
  105. package/dist/core/InteractiveDisplayManager.js.map +1 -0
  106. package/dist/core/OutputManager.d.ts +26 -0
  107. package/dist/core/OutputManager.js +217 -0
  108. package/dist/core/OutputManager.js.map +1 -0
  109. package/dist/core/ReviewGenerator.d.ts +13 -0
  110. package/dist/core/ReviewGenerator.js +102 -0
  111. package/dist/core/ReviewGenerator.js.map +1 -0
  112. package/dist/core/fileDiscovery.d.ts +35 -0
  113. package/dist/core/fileDiscovery.js +202 -0
  114. package/dist/core/fileDiscovery.js.map +1 -0
  115. package/dist/core/handlers/EstimationHandler.d.ts +18 -0
  116. package/dist/core/handlers/EstimationHandler.js +110 -0
  117. package/dist/core/handlers/EstimationHandler.js.map +1 -0
  118. package/dist/core/handlers/FileProcessingHandler.d.ts +31 -0
  119. package/dist/core/handlers/FileProcessingHandler.js +164 -0
  120. package/dist/core/handlers/FileProcessingHandler.js.map +1 -0
  121. package/dist/core/handlers/OutputHandler.d.ts +27 -0
  122. package/dist/core/handlers/OutputHandler.js +127 -0
  123. package/dist/core/handlers/OutputHandler.js.map +1 -0
  124. package/dist/core/handlers/ReviewExecutor.d.ts +32 -0
  125. package/dist/core/handlers/ReviewExecutor.js +111 -0
  126. package/dist/core/handlers/ReviewExecutor.js.map +1 -0
  127. package/dist/core/reviewOrchestrator.d.ts +24 -0
  128. package/dist/core/reviewOrchestrator.js +354 -0
  129. package/dist/core/reviewOrchestrator.js.map +1 -0
  130. package/dist/core/utils/ModelInfoUtils.d.ts +16 -0
  131. package/dist/core/utils/ModelInfoUtils.js +54 -0
  132. package/dist/core/utils/ModelInfoUtils.js.map +1 -0
  133. package/{src/formatters/outputFormatter.ts → dist/formatters/outputFormatter.d.ts} +2 -33
  134. package/dist/formatters/outputFormatter.js +65 -0
  135. package/dist/formatters/outputFormatter.js.map +1 -0
  136. package/dist/formatters/utils/IssueFormatters.d.ts +20 -0
  137. package/dist/formatters/utils/IssueFormatters.js +67 -0
  138. package/dist/formatters/utils/IssueFormatters.js.map +1 -0
  139. package/dist/formatters/utils/JsonFormatter.d.ts +13 -0
  140. package/dist/formatters/utils/JsonFormatter.js +57 -0
  141. package/dist/formatters/utils/JsonFormatter.js.map +1 -0
  142. package/dist/formatters/utils/MarkdownFormatters.d.ts +51 -0
  143. package/dist/formatters/utils/MarkdownFormatters.js +456 -0
  144. package/dist/formatters/utils/MarkdownFormatters.js.map +1 -0
  145. package/dist/formatters/utils/MetadataFormatter.d.ts +65 -0
  146. package/dist/formatters/utils/MetadataFormatter.js +219 -0
  147. package/dist/formatters/utils/MetadataFormatter.js.map +1 -0
  148. package/dist/formatters/utils/ModelInfoExtractor.d.ts +33 -0
  149. package/dist/formatters/utils/ModelInfoExtractor.js +111 -0
  150. package/dist/formatters/utils/ModelInfoExtractor.js.map +1 -0
  151. package/dist/index.d.ts +1 -0
  152. package/dist/index.js.map +1 -0
  153. package/dist/plugins/PluginInterface.d.ts +44 -0
  154. package/dist/plugins/PluginInterface.js +9 -0
  155. package/dist/plugins/PluginInterface.js.map +1 -0
  156. package/dist/plugins/PluginManager.d.ts +51 -0
  157. package/dist/plugins/PluginManager.js +151 -0
  158. package/dist/plugins/PluginManager.js.map +1 -0
  159. package/dist/prompts/PromptManager.d.ts +30 -0
  160. package/dist/prompts/PromptManager.js +62 -0
  161. package/dist/prompts/PromptManager.js.map +1 -0
  162. package/dist/prompts/cache/PromptCache.d.ts +32 -0
  163. package/dist/prompts/cache/PromptCache.js +48 -0
  164. package/dist/prompts/cache/PromptCache.js.map +1 -0
  165. package/dist/runtime/auth/service.d.ts +2 -0
  166. package/dist/runtime/auth/service.js +41 -0
  167. package/dist/runtime/auth/service.js.map +1 -0
  168. package/dist/runtime/auth/session.d.ts +5 -0
  169. package/dist/runtime/auth/session.js +87 -0
  170. package/dist/runtime/auth/session.js.map +1 -0
  171. package/dist/runtime/auth/types.d.ts +9 -0
  172. package/dist/runtime/auth/types.js +3 -0
  173. package/dist/runtime/auth/types.js.map +1 -0
  174. package/dist/runtime/cliEntry.d.ts +1 -0
  175. package/dist/runtime/cliEntry.js +266 -0
  176. package/dist/runtime/cliEntry.js.map +1 -0
  177. package/dist/runtime/debug/logManager.d.ts +5 -0
  178. package/dist/runtime/debug/logManager.js +31 -0
  179. package/dist/runtime/debug/logManager.js.map +1 -0
  180. package/dist/runtime/errors.d.ts +5 -0
  181. package/dist/runtime/errors.js +15 -0
  182. package/dist/runtime/errors.js.map +1 -0
  183. package/dist/runtime/fileCollector.d.ts +14 -0
  184. package/dist/runtime/fileCollector.js +382 -0
  185. package/dist/runtime/fileCollector.js.map +1 -0
  186. package/dist/runtime/manifest.d.ts +1 -0
  187. package/dist/runtime/manifest.js +65 -0
  188. package/dist/runtime/manifest.js.map +1 -0
  189. package/dist/runtime/openrouterProxy.d.ts +4 -0
  190. package/dist/runtime/openrouterProxy.js +43 -0
  191. package/dist/runtime/openrouterProxy.js.map +1 -0
  192. package/dist/runtime/preprod/webCheck.d.ts +1 -0
  193. package/dist/runtime/preprod/webCheck.js +98 -0
  194. package/dist/runtime/preprod/webCheck.js.map +1 -0
  195. package/dist/runtime/proxyConfig.d.ts +6 -0
  196. package/dist/runtime/proxyConfig.js +86 -0
  197. package/dist/runtime/proxyConfig.js.map +1 -0
  198. package/dist/runtime/proxyEnvironment.d.ts +3 -0
  199. package/dist/runtime/proxyEnvironment.js +63 -0
  200. package/dist/runtime/proxyEnvironment.js.map +1 -0
  201. package/dist/runtime/reportMerge.d.ts +30 -0
  202. package/dist/runtime/reportMerge.js +70 -0
  203. package/dist/runtime/reportMerge.js.map +1 -0
  204. package/dist/runtime/reporting/markdownReportBuilder.d.ts +17 -0
  205. package/dist/runtime/reporting/markdownReportBuilder.js +154 -0
  206. package/dist/runtime/reporting/markdownReportBuilder.js.map +1 -0
  207. package/dist/runtime/reporting/reportDataCollector.d.ts +31 -0
  208. package/dist/runtime/reporting/reportDataCollector.js +170 -0
  209. package/dist/runtime/reporting/reportDataCollector.js.map +1 -0
  210. package/dist/runtime/reporting/summaryGenerator.d.ts +10 -0
  211. package/dist/runtime/reporting/summaryGenerator.js +67 -0
  212. package/dist/runtime/reporting/summaryGenerator.js.map +1 -0
  213. package/dist/runtime/reviewPipeline.d.ts +47 -0
  214. package/dist/runtime/reviewPipeline.js +161 -0
  215. package/dist/runtime/reviewPipeline.js.map +1 -0
  216. package/dist/runtime/runAiCodeReview.d.ts +28 -0
  217. package/dist/runtime/runAiCodeReview.js +373 -0
  218. package/dist/runtime/runAiCodeReview.js.map +1 -0
  219. package/dist/runtime/runtimeConfig.d.ts +4 -0
  220. package/dist/runtime/runtimeConfig.js +7 -0
  221. package/dist/runtime/runtimeConfig.js.map +1 -0
  222. package/dist/runtime/ui/Layout.d.ts +11 -0
  223. package/dist/runtime/ui/Layout.js +47 -0
  224. package/dist/runtime/ui/Layout.js.map +1 -0
  225. package/dist/runtime/ui/RuntimeApp.d.ts +6 -0
  226. package/dist/runtime/ui/RuntimeApp.js +172 -0
  227. package/dist/runtime/ui/RuntimeApp.js.map +1 -0
  228. package/dist/runtime/ui/inkModules.d.ts +10 -0
  229. package/dist/runtime/ui/inkModules.js +63 -0
  230. package/dist/runtime/ui/inkModules.js.map +1 -0
  231. package/dist/runtime/ui/screens/AuthScreen.d.ts +6 -0
  232. package/dist/runtime/ui/screens/AuthScreen.js +67 -0
  233. package/dist/runtime/ui/screens/AuthScreen.js.map +1 -0
  234. package/dist/runtime/ui/screens/ModeSelection.d.ts +10 -0
  235. package/dist/runtime/ui/screens/ModeSelection.js +100 -0
  236. package/dist/runtime/ui/screens/ModeSelection.js.map +1 -0
  237. package/dist/runtime/ui/screens/ProgressScreen.d.ts +12 -0
  238. package/dist/runtime/ui/screens/ProgressScreen.js +64 -0
  239. package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -0
  240. package/dist/runtime/ui/screens/ResultsScreen.d.ts +7 -0
  241. package/dist/runtime/ui/screens/ResultsScreen.js +29 -0
  242. package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -0
  243. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +29 -0
  244. package/dist/strategies/ArchitecturalReviewStrategy.js +42 -0
  245. package/dist/strategies/ArchitecturalReviewStrategy.js.map +1 -0
  246. package/dist/strategies/CodingTestReviewStrategy.d.ts +194 -0
  247. package/dist/strategies/CodingTestReviewStrategy.js +681 -0
  248. package/dist/strategies/CodingTestReviewStrategy.js.map +1 -0
  249. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +25 -0
  250. package/dist/strategies/ConsolidatedReviewStrategy.js +45 -0
  251. package/dist/strategies/ConsolidatedReviewStrategy.js.map +1 -0
  252. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +30 -0
  253. package/dist/strategies/ExtractPatternsReviewStrategy.js +51 -0
  254. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +1 -0
  255. package/dist/strategies/MultiPassReviewStrategy.d.ts +86 -0
  256. package/dist/strategies/MultiPassReviewStrategy.js +590 -0
  257. package/dist/strategies/MultiPassReviewStrategy.js.map +1 -0
  258. package/dist/strategies/ReviewStrategy.d.ts +45 -0
  259. package/dist/strategies/ReviewStrategy.js +24 -0
  260. package/dist/strategies/ReviewStrategy.js.map +1 -0
  261. package/dist/strategies/StrategyFactory.d.ts +19 -0
  262. package/dist/strategies/StrategyFactory.js +72 -0
  263. package/dist/strategies/StrategyFactory.js.map +1 -0
  264. package/{src/strategies/index.ts → dist/strategies/index.d.ts} +0 -1
  265. package/dist/strategies/index.js +30 -0
  266. package/dist/strategies/index.js.map +1 -0
  267. package/dist/tokenizers/baseTokenizer.d.ts +25 -0
  268. package/dist/tokenizers/baseTokenizer.js +48 -0
  269. package/dist/tokenizers/baseTokenizer.js.map +1 -0
  270. package/dist/tokenizers/gptTokenizer.d.ts +7 -0
  271. package/dist/tokenizers/gptTokenizer.js +28 -0
  272. package/dist/tokenizers/gptTokenizer.js.map +1 -0
  273. package/{src/tokenizers/index.ts → dist/tokenizers/index.d.ts} +0 -1
  274. package/dist/tokenizers/index.js +24 -0
  275. package/dist/tokenizers/index.js.map +1 -0
  276. package/dist/types/apiResponses.d.ts +39 -0
  277. package/dist/types/apiResponses.js +9 -0
  278. package/dist/types/apiResponses.js.map +1 -0
  279. package/dist/types/cli.d.ts +22 -0
  280. package/dist/types/cli.js +3 -0
  281. package/dist/types/cli.js.map +1 -0
  282. package/{src/types/common.ts → dist/types/common.d.ts} +2 -19
  283. package/dist/types/common.js +14 -0
  284. package/dist/types/common.js.map +1 -0
  285. package/dist/types/configuration.d.ts +682 -0
  286. package/dist/types/configuration.js +65 -0
  287. package/dist/types/configuration.js.map +1 -0
  288. package/dist/types/review.d.ts +318 -0
  289. package/dist/types/review.js +8 -0
  290. package/dist/types/review.js.map +1 -0
  291. package/dist/types/reviewSchema.d.ts +543 -0
  292. package/{src/types/reviewSchema.ts → dist/types/reviewSchema.js} +44 -104
  293. package/dist/types/reviewSchema.js.map +1 -0
  294. package/dist/types/structuredReview.d.ts +119 -0
  295. package/dist/types/structuredReview.js +6 -0
  296. package/dist/types/structuredReview.js.map +1 -0
  297. package/dist/types/tokenAnalysis.d.ts +44 -0
  298. package/dist/types/tokenAnalysis.js +4 -0
  299. package/dist/types/tokenAnalysis.js.map +1 -0
  300. package/dist/utils/FileReader.d.ts +33 -0
  301. package/dist/utils/FileReader.js +88 -0
  302. package/dist/utils/FileReader.js.map +1 -0
  303. package/dist/utils/FileWriter.d.ts +26 -0
  304. package/dist/utils/FileWriter.js +76 -0
  305. package/dist/utils/FileWriter.js.map +1 -0
  306. package/dist/utils/PathGenerator.d.ts +30 -0
  307. package/dist/utils/PathGenerator.js +82 -0
  308. package/dist/utils/PathGenerator.js.map +1 -0
  309. package/dist/utils/api/apiUtils.d.ts +3 -0
  310. package/dist/utils/api/apiUtils.js +20 -0
  311. package/dist/utils/api/apiUtils.js.map +1 -0
  312. package/dist/utils/api/index.js +18 -0
  313. package/dist/utils/api/index.js.map +1 -0
  314. package/dist/utils/apiErrorHandler.d.ts +130 -0
  315. package/dist/utils/apiErrorHandler.js +256 -0
  316. package/dist/utils/apiErrorHandler.js.map +1 -0
  317. package/dist/utils/ciDataCollector.d.ts +51 -0
  318. package/dist/utils/ciDataCollector.js +197 -0
  319. package/dist/utils/ciDataCollector.js.map +1 -0
  320. package/dist/utils/codingTestConfigLoader.d.ts +66 -0
  321. package/dist/utils/codingTestConfigLoader.js +420 -0
  322. package/dist/utils/codingTestConfigLoader.js.map +1 -0
  323. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +30 -0
  324. package/dist/utils/dependencies/aiDependencyAnalyzer.js +343 -0
  325. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +1 -0
  326. package/dist/utils/detection/frameworkDetector.d.ts +43 -0
  327. package/dist/utils/detection/frameworkDetector.js +850 -0
  328. package/dist/utils/detection/frameworkDetector.js.map +1 -0
  329. package/{src/utils/detection/index.ts → dist/utils/detection/index.d.ts} +0 -1
  330. package/dist/utils/detection/index.js +28 -0
  331. package/dist/utils/detection/index.js.map +1 -0
  332. package/dist/utils/detection/projectTypeDetector.d.ts +27 -0
  333. package/dist/utils/detection/projectTypeDetector.js +469 -0
  334. package/dist/utils/detection/projectTypeDetector.js.map +1 -0
  335. package/dist/utils/diagramGenerator.d.ts +49 -0
  336. package/dist/utils/diagramGenerator.js +218 -0
  337. package/dist/utils/diagramGenerator.js.map +1 -0
  338. package/dist/utils/errorLogger.d.ts +24 -0
  339. package/dist/utils/errorLogger.js +59 -0
  340. package/dist/utils/errorLogger.js.map +1 -0
  341. package/dist/utils/estimationUtils.d.ts +139 -0
  342. package/dist/utils/estimationUtils.js +329 -0
  343. package/dist/utils/estimationUtils.js.map +1 -0
  344. package/dist/utils/fileFilters.d.ts +72 -0
  345. package/dist/utils/fileFilters.js +338 -0
  346. package/dist/utils/fileFilters.js.map +1 -0
  347. package/dist/utils/fileSystem.d.ts +22 -0
  348. package/dist/utils/fileSystem.js +45 -0
  349. package/dist/utils/fileSystem.js.map +1 -0
  350. package/{src/utils/index.ts → dist/utils/index.d.ts} +0 -14
  351. package/dist/utils/index.js +52 -0
  352. package/dist/utils/index.js.map +1 -0
  353. package/dist/utils/logger.d.ts +77 -0
  354. package/dist/utils/logger.js +271 -0
  355. package/dist/utils/logger.js.map +1 -0
  356. package/dist/utils/pathValidator.d.ts +40 -0
  357. package/dist/utils/pathValidator.js +98 -0
  358. package/dist/utils/pathValidator.js.map +1 -0
  359. package/{src/utils/priorityFilter.ts → dist/utils/priorityFilter.d.ts} +1 -26
  360. package/dist/utils/priorityFilter.js +54 -0
  361. package/dist/utils/priorityFilter.js.map +1 -0
  362. package/dist/utils/projectDocs.d.ts +47 -0
  363. package/dist/utils/projectDocs.js +158 -0
  364. package/dist/utils/projectDocs.js.map +1 -0
  365. package/dist/utils/promptPaths.d.ts +6 -0
  366. package/dist/utils/promptPaths.js +33 -0
  367. package/dist/utils/promptPaths.js.map +1 -0
  368. package/dist/utils/promptTemplateManager.d.ts +34 -0
  369. package/dist/utils/promptTemplateManager.js +141 -0
  370. package/dist/utils/promptTemplateManager.js.map +1 -0
  371. package/dist/utils/review/consolidateReview.d.ts +15 -0
  372. package/dist/utils/review/consolidateReview.js +481 -0
  373. package/dist/utils/review/consolidateReview.js.map +1 -0
  374. package/dist/utils/review/fixDisplay.d.ts +20 -0
  375. package/dist/utils/review/fixDisplay.js +84 -0
  376. package/dist/utils/review/fixDisplay.js.map +1 -0
  377. package/dist/utils/review/fixImplementation.d.ts +28 -0
  378. package/dist/utils/review/fixImplementation.js +60 -0
  379. package/dist/utils/review/fixImplementation.js.map +1 -0
  380. package/dist/utils/review/index.d.ts +13 -0
  381. package/dist/utils/review/index.js +50 -0
  382. package/dist/utils/review/index.js.map +1 -0
  383. package/dist/utils/review/interactiveProcessing.d.ts +25 -0
  384. package/dist/utils/review/interactiveProcessing.js +251 -0
  385. package/dist/utils/review/interactiveProcessing.js.map +1 -0
  386. package/dist/utils/review/progressTracker.d.ts +106 -0
  387. package/dist/utils/review/progressTracker.js +227 -0
  388. package/dist/utils/review/progressTracker.js.map +1 -0
  389. package/dist/utils/review/reviewExtraction.d.ts +31 -0
  390. package/dist/utils/review/reviewExtraction.js +324 -0
  391. package/dist/utils/review/reviewExtraction.js.map +1 -0
  392. package/dist/utils/review/types.d.ts +45 -0
  393. package/dist/utils/review/types.js +18 -0
  394. package/dist/utils/review/types.js.map +1 -0
  395. package/{src/utils/reviewActionHandler.ts → dist/utils/reviewActionHandler.d.ts} +0 -2
  396. package/dist/utils/reviewActionHandler.js +34 -0
  397. package/dist/utils/reviewActionHandler.js.map +1 -0
  398. package/dist/utils/reviewParser.d.ts +34 -0
  399. package/dist/utils/reviewParser.js +218 -0
  400. package/dist/utils/reviewParser.js.map +1 -0
  401. package/dist/utils/sanitizer.d.ts +82 -0
  402. package/dist/utils/sanitizer.js +239 -0
  403. package/dist/utils/sanitizer.js.map +1 -0
  404. package/dist/utils/smartFileSelector.d.ts +50 -0
  405. package/dist/utils/smartFileSelector.js +261 -0
  406. package/dist/utils/smartFileSelector.js.map +1 -0
  407. package/dist/utils/templateLoader.d.ts +44 -0
  408. package/dist/utils/templateLoader.js +431 -0
  409. package/dist/utils/templateLoader.js.map +1 -0
  410. package/dist/utils/treeGenerator.d.ts +12 -0
  411. package/dist/utils/treeGenerator.js +133 -0
  412. package/dist/utils/treeGenerator.js.map +1 -0
  413. package/package.json +5 -2
  414. package/.cr-aia.yml +0 -23
  415. package/.crignore +0 -0
  416. package/docs/opt-in-full-context.md +0 -27
  417. package/reports/cr-cr-aia-17-11-2025-20-13.md +0 -354
  418. package/src/analysis/FindingsExtractor.ts +0 -431
  419. package/src/analysis/ai-detection/analyzers/BaseAnalyzer.ts +0 -267
  420. package/src/analysis/ai-detection/analyzers/DocumentationAnalyzer.ts +0 -622
  421. package/src/analysis/ai-detection/analyzers/GitHistoryAnalyzer.ts +0 -430
  422. package/src/analysis/ai-detection/core/AIDetectionEngine.ts +0 -467
  423. package/src/analysis/ai-detection/types/DetectionTypes.ts +0 -406
  424. package/src/analysis/ai-detection/utils/SubmissionConverter.ts +0 -390
  425. package/src/analysis/context/ReviewContext.ts +0 -378
  426. package/src/analysis/tokens/TokenAnalyzer.ts +0 -747
  427. package/src/clients/base/abstractClient.ts +0 -190
  428. package/src/clients/base/httpClient.ts +0 -160
  429. package/src/clients/base/modelDetection.ts +0 -107
  430. package/src/clients/base/responseProcessor.ts +0 -586
  431. package/src/clients/factory/clientFactory.ts +0 -55
  432. package/src/clients/implementations/openRouterClient.ts +0 -413
  433. package/src/clients/openRouterClient.ts +0 -870
  434. package/src/clients/utils/directoryStructure.ts +0 -52
  435. package/src/clients/utils/languageDetection.ts +0 -44
  436. package/src/clients/utils/promptFormatter.ts +0 -182
  437. package/src/clients/utils/tokenCounter.ts +0 -297
  438. package/src/core/ApiClientSelector.ts +0 -37
  439. package/src/core/ConfigurationService.ts +0 -591
  440. package/src/core/ConsolidationService.ts +0 -423
  441. package/src/core/InteractiveDisplayManager.ts +0 -81
  442. package/src/core/OutputManager.ts +0 -275
  443. package/src/core/ReviewGenerator.ts +0 -140
  444. package/src/core/fileDiscovery.ts +0 -237
  445. package/src/core/handlers/EstimationHandler.ts +0 -104
  446. package/src/core/handlers/FileProcessingHandler.ts +0 -210
  447. package/src/core/handlers/OutputHandler.ts +0 -125
  448. package/src/core/handlers/ReviewExecutor.ts +0 -104
  449. package/src/core/reviewOrchestrator.ts +0 -333
  450. package/src/core/utils/ModelInfoUtils.ts +0 -56
  451. package/src/formatters/utils/IssueFormatters.ts +0 -83
  452. package/src/formatters/utils/JsonFormatter.ts +0 -77
  453. package/src/formatters/utils/MarkdownFormatters.ts +0 -609
  454. package/src/formatters/utils/MetadataFormatter.ts +0 -269
  455. package/src/formatters/utils/ModelInfoExtractor.ts +0 -115
  456. package/src/index.ts +0 -25
  457. package/src/plugins/PluginInterface.ts +0 -50
  458. package/src/plugins/PluginManager.ts +0 -126
  459. package/src/prompts/PromptManager.ts +0 -69
  460. package/src/prompts/cache/PromptCache.ts +0 -50
  461. package/src/prompts/promptText/common/variables/css-frameworks.json +0 -33
  462. package/src/prompts/promptText/common/variables/framework-versions.json +0 -45
  463. package/src/prompts/promptText/frameworks/react/comprehensive.hbs +0 -19
  464. package/src/prompts/promptText/languages/css/comprehensive.hbs +0 -18
  465. package/src/prompts/promptText/languages/generic/comprehensive.hbs +0 -20
  466. package/src/prompts/promptText/languages/html/comprehensive.hbs +0 -18
  467. package/src/prompts/promptText/languages/javascript/comprehensive.hbs +0 -18
  468. package/src/prompts/promptText/languages/python/comprehensive.hbs +0 -18
  469. package/src/prompts/promptText/languages/typescript/comprehensive.hbs +0 -18
  470. package/src/runtime/auth/service.ts +0 -58
  471. package/src/runtime/auth/session.ts +0 -103
  472. package/src/runtime/auth/types.ts +0 -11
  473. package/src/runtime/cliEntry.ts +0 -214
  474. package/src/runtime/debug/logManager.ts +0 -37
  475. package/src/runtime/errors.ts +0 -13
  476. package/src/runtime/fileCollector.ts +0 -495
  477. package/src/runtime/manifest.ts +0 -64
  478. package/src/runtime/openrouterProxy.ts +0 -45
  479. package/src/runtime/preprod/webCheck.ts +0 -104
  480. package/src/runtime/proxyConfig.ts +0 -94
  481. package/src/runtime/proxyEnvironment.ts +0 -71
  482. package/src/runtime/reportMerge.ts +0 -102
  483. package/src/runtime/reporting/markdownReportBuilder.ts +0 -138
  484. package/src/runtime/reporting/reportDataCollector.ts +0 -234
  485. package/src/runtime/reporting/summaryGenerator.ts +0 -86
  486. package/src/runtime/reviewPipeline.ts +0 -200
  487. package/src/runtime/runAiCodeReview.ts +0 -308
  488. package/src/runtime/runtimeConfig.ts +0 -5
  489. package/src/runtime/ui/Layout.tsx +0 -57
  490. package/src/runtime/ui/RuntimeApp.tsx +0 -262
  491. package/src/runtime/ui/inkModules.ts +0 -73
  492. package/src/runtime/ui/screens/AuthScreen.tsx +0 -128
  493. package/src/runtime/ui/screens/ModeSelection.tsx +0 -185
  494. package/src/runtime/ui/screens/ProgressScreen.tsx +0 -110
  495. package/src/runtime/ui/screens/ResultsScreen.tsx +0 -103
  496. package/src/strategies/ArchitecturalReviewStrategy.ts +0 -54
  497. package/src/strategies/CodingTestReviewStrategy.ts +0 -920
  498. package/src/strategies/ConsolidatedReviewStrategy.ts +0 -59
  499. package/src/strategies/ExtractPatternsReviewStrategy.ts +0 -64
  500. package/src/strategies/MultiPassReviewStrategy.ts +0 -785
  501. package/src/strategies/ReviewStrategy.ts +0 -64
  502. package/src/strategies/StrategyFactory.ts +0 -79
  503. package/src/tokenizers/baseTokenizer.ts +0 -61
  504. package/src/tokenizers/gptTokenizer.ts +0 -27
  505. package/src/types/apiResponses.ts +0 -40
  506. package/src/types/cli.ts +0 -24
  507. package/src/types/configuration.ts +0 -201
  508. package/src/types/handlebars.d.ts +0 -5
  509. package/src/types/patch.d.ts +0 -25
  510. package/src/types/review.ts +0 -312
  511. package/src/types/reviewContext.d.ts +0 -65
  512. package/src/types/structuredReview.ts +0 -167
  513. package/src/types/tokenAnalysis.ts +0 -56
  514. package/src/utils/FileReader.ts +0 -93
  515. package/src/utils/FileWriter.ts +0 -76
  516. package/src/utils/PathGenerator.ts +0 -97
  517. package/src/utils/api/apiUtils.ts +0 -14
  518. package/src/utils/apiErrorHandler.ts +0 -287
  519. package/src/utils/ciDataCollector.ts +0 -252
  520. package/src/utils/codingTestConfigLoader.ts +0 -466
  521. package/src/utils/dependencies/aiDependencyAnalyzer.ts +0 -454
  522. package/src/utils/detection/frameworkDetector.ts +0 -879
  523. package/src/utils/detection/projectTypeDetector.ts +0 -518
  524. package/src/utils/diagramGenerator.ts +0 -206
  525. package/src/utils/errorLogger.ts +0 -60
  526. package/src/utils/estimationUtils.ts +0 -407
  527. package/src/utils/fileFilters.ts +0 -373
  528. package/src/utils/fileSystem.ts +0 -57
  529. package/src/utils/logger.ts +0 -290
  530. package/src/utils/pathValidator.ts +0 -98
  531. package/src/utils/projectDocs.ts +0 -189
  532. package/src/utils/promptPaths.ts +0 -29
  533. package/src/utils/promptTemplateManager.ts +0 -157
  534. package/src/utils/review/consolidateReview.ts +0 -553
  535. package/src/utils/review/fixDisplay.ts +0 -100
  536. package/src/utils/review/fixImplementation.ts +0 -61
  537. package/src/utils/review/index.ts +0 -36
  538. package/src/utils/review/interactiveProcessing.ts +0 -294
  539. package/src/utils/review/progressTracker.ts +0 -296
  540. package/src/utils/review/reviewExtraction.ts +0 -382
  541. package/src/utils/review/types.ts +0 -46
  542. package/src/utils/reviewParser.ts +0 -253
  543. package/src/utils/sanitizer.ts +0 -238
  544. package/src/utils/smartFileSelector.ts +0 -255
  545. package/src/utils/templateLoader.ts +0 -514
  546. package/src/utils/treeGenerator.ts +0 -153
  547. package/tsconfig.build.json +0 -14
  548. package/tsconfig.json +0 -59
  549. /package/{src/utils/api/index.ts → dist/utils/api/index.d.ts} +0 -0
@@ -1,50 +0,0 @@
1
- /**
2
- * @fileoverview Minimal in-memory prompt cache.
3
- *
4
- * The original project ships a much more elaborate cache layer that integrates
5
- * with the prompt manager. For the trimmed-down fork we only need a basic
6
- * singleton that allows strategies to avoid recomputing prompt payloads.
7
- */
8
-
9
- /**
10
- * Simple key-value cache for prompts.
11
- */
12
- export class PromptCache {
13
- private static instance: PromptCache | null = null;
14
- private cache = new Map<string, string>();
15
-
16
- private constructor() {}
17
-
18
- /**
19
- * Get the singleton instance.
20
- */
21
- public static getInstance(): PromptCache {
22
- if (!PromptCache.instance) {
23
- PromptCache.instance = new PromptCache();
24
- }
25
- return PromptCache.instance;
26
- }
27
-
28
- /**
29
- * Retrieve a cached prompt by key.
30
- */
31
- public get(key: string): string | undefined {
32
- return this.cache.get(key);
33
- }
34
-
35
- /**
36
- * Store a prompt in the cache.
37
- */
38
- public set(key: string, value: string): void {
39
- this.cache.set(key, value);
40
- }
41
-
42
- /**
43
- * Remove all cached prompts.
44
- */
45
- public clear(): void {
46
- this.cache.clear();
47
- }
48
- }
49
-
50
- export default PromptCache;
@@ -1,33 +0,0 @@
1
- {
2
- "cssFrameworks": {
3
- "tailwind": {
4
- "name": "Tailwind CSS",
5
- "version": "4.0",
6
- "releaseDate": "2024-10-01",
7
- "features": [
8
- "Design tokens by default",
9
- "Smaller runtime",
10
- "Improved dark-mode primitives"
11
- ],
12
- "integrations": {
13
- "react": "Official tailwindcss-react plugin",
14
- "nextjs": "next/font + tailwind preset",
15
- "astro": "Integrated via astro add tailwind"
16
- }
17
- },
18
- "vanilla": {
19
- "name": "Vanilla CSS",
20
- "version": "latest",
21
- "releaseDate": "2024-01-01",
22
- "features": [
23
- "Native nesting",
24
- "Cascade layers",
25
- "Custom properties"
26
- ],
27
- "integrations": {
28
- "global": "Works with any renderer"
29
- }
30
- }
31
- }
32
- }
33
-
@@ -1,45 +0,0 @@
1
- {
2
- "frameworks": {
3
- "react": {
4
- "latest": {
5
- "version": "19.x",
6
- "releaseDate": "2024-12-01",
7
- "supportedUntil": "2026-12-01",
8
- "features": [
9
- "Concurrent rendering defaults",
10
- "Server components with streaming",
11
- "Improved memo semantics"
12
- ]
13
- },
14
- "previous": {
15
- "version": "18.x",
16
- "releaseDate": "2022-03-01",
17
- "supportedUntil": "2025-03-01",
18
- "features": [
19
- "Automatic batching",
20
- "Transitions",
21
- "Suspense refinements"
22
- ]
23
- }
24
- },
25
- "generic": {
26
- "latest": {
27
- "version": "1.0.0",
28
- "releaseDate": "2024-01-01",
29
- "supportedUntil": "2026-01-01",
30
- "features": [
31
- "Baseline guidance only"
32
- ]
33
- },
34
- "previous": {
35
- "version": "0.9.0",
36
- "releaseDate": "2023-01-01",
37
- "supportedUntil": "2024-12-31",
38
- "features": [
39
- "Legacy guidance"
40
- ]
41
- }
42
- }
43
- }
44
- }
45
-
@@ -1,19 +0,0 @@
1
- ## Role
2
- You are a senior React and TypeScript reviewer. Assume the author expects production-ready guidance with zero fluff.
3
-
4
- ## Focus Areas
5
- 1. **Component contracts** – props/state flow, memoization boundaries, hook dependencies.
6
- 2. **Rendering hygiene** – suspense/streaming boundaries, server/client component split, hydration safety.
7
- 3. **Side effects** – lifecycle correctness, async handling, cleanup discipline.
8
- 4. **Styling & accessibility** – ARIA, keyboard traps, reduced-motion support.
9
- 5. **Data flow** – cache invalidation, query key usage, optimistic updates.
10
-
11
- ## Output Expectations
12
- - Respond with a single JSON object that matches the schema already defined in the system instructions (summary, issues[], recommendations[], positiveAspects[]).
13
- - Every issue must cite the relevant file path and line numbers the formatter supplies.
14
- - Classify issue type realistically (bug/security/performance/maintainability/etc.). Never invent nonsense categories.
15
-
16
- ## Deliverable Tone
17
- - Actionable, surgical, brutally honest. One sentence per bullet unless code requires a short snippet.
18
- - Never restate these instructions or the original code; go straight to findings.
19
-
@@ -1,18 +0,0 @@
1
- ## Role
2
- You review plain CSS (or preprocessors compiling to CSS) with an eye for resilience, performance, and clarity.
3
-
4
- ## Focus Areas
5
- 1. **Cascade discipline** – selector specificity, layering, variable scoping, inheritance leaks.
6
- 2. **Layout** – responsive breakpoints, container queries, flex/grid misuse, overflow handling.
7
- 3. **Performance** – expensive selectors, animations on non-composited properties, unused rules.
8
- 4. **Accessibility** – contrast ratios, focus indicators, prefers-reduced-motion support.
9
- 5. **Maintainability** – naming conventions, duplication, magic numbers, theme tokens.
10
-
11
- ## Output Contract
12
- - Respond with the enforced JSON schema (summary, issues[], recommendations[], positiveAspects[]).
13
- - Issues must cite stylesheet path + line numbers and, when helpful, a short snippet showing the offending rule.
14
- - Suggested fixes should mention the exact CSS change (e.g., “replace `left/top` animation with `transform` to keep it on the compositor”).
15
-
16
- ## Tone
17
- Succinct, blunt, actionable. Celebrate thoughtful patterns (tokens, logical properties) under `positiveAspects` so the team keeps them.
18
-
@@ -1,20 +0,0 @@
1
- ## Role
2
- You are an experienced full-stack reviewer asked to deliver a comprehensive assessment of the provided code. Your job is to surface the highest-leverage risks, not to narrate the obvious.
3
-
4
- ## What to Deliver
5
- 1. **Correctness** – logic errors, race conditions, edge cases the author ignored.
6
- 2. **Security & privacy** – injection, auth/z gaps, data leaks, unsafe third-party usage.
7
- 3. **Performance** – hot-path complexity, blocking I/O, unnecessary allocations.
8
- 4. **Maintainability** – readability, duplication, dead code, missing tests, weak observability.
9
- 5. **Testing guidance** – when a failing/absent test would have caught the issue.
10
-
11
- ## Response Contract
12
- - Output must be the JSON structure described in the system message (summary, issues[], recommendations[], positiveAspects[]). No prose outside the JSON.
13
- - Each issue needs: title, priority, type, filePath, lineNumbers, description, codeSnippet (if possible), suggestedFix, impact.
14
- - Keep snippets minimal but sufficient to justify the claim.
15
-
16
- ## Behavioral Rules
17
- - Be direct, no pleasantries.
18
- - If the file is already solid, explicitly call out the strengths under `positiveAspects`.
19
- - If you cannot determine something because context is missing, say so and move on—do not guess.
20
-
@@ -1,18 +0,0 @@
1
- ## Role
2
- You are reviewing vanilla HTML templates for production reliability, accessibility, and maintainability.
3
-
4
- ## Review Targets
5
- 1. **Document structure** – semantic tags, heading hierarchy, landmark regions.
6
- 2. **Accessibility** – ARIA usage, label/control pairing, keyboard focus order, reduced-motion fallbacks.
7
- 3. **Security** – escaping of dynamic content, CSP readiness, referrer policy, form autofill hardening.
8
- 4. **Performance** – critical-path resources, preload/prefetch, lazy loading, SSR hydration markers.
9
- 5. **Maintainability** – component composition, duplication, inline styles/scripts, template partials.
10
-
11
- ## Response Format
12
- - Emit the agreed JSON payload (summary, issues[], recommendations[], positiveAspects[]). Nothing else.
13
- - Every issue must cite the template path + line span and include a short snippet when it clarifies the bug.
14
- - Recommendations should state the exact attribute/tag/structure change, not vague advice.
15
-
16
- ## Tone
17
- Clinical and pragmatic. Highlight blockers fast, acknowledge solid craftsmanship when deserved.
18
-
@@ -1,18 +0,0 @@
1
- ## Role
2
- You are a senior JavaScript reviewer focused on reliability and runtime performance in plain JS environments (DOM, Node, workers).
3
-
4
- ## What to Police
5
- 1. **Runtime safety** – null/undefined guards, prototype pollution, global namespace leaks.
6
- 2. **Async orchestration** – promise chains vs. async/await, error bubbling, microtask starvation, timers cleanup.
7
- 3. **State & DOM** – mutation patterns, event listener lifecycle, layout thrashing, security (XSS, CSP).
8
- 4. **Modularity** – bundling boundaries, circular deps, ESM/CommonJS interop, dead code elimination.
9
- 5. **Tooling** – lint/format parity, build outputs, sourcemaps, feature detection vs. UA sniffing.
10
-
11
- ## Reporting Rules
12
- - Return the JSON structure mandated earlier. Each issue must include file path + line range + concise impact/suggested fix.
13
- - Keep code snippets tiny (2‑6 lines) and only when they prove the problem.
14
- - If something is already optimal (e.g., efficient event delegation), praise it under `positiveAspects`.
15
-
16
- ## Tone
17
- Direct, technical, no platitudes. Show the cost of ignoring the issue (crash, exploit, perf cliff, debt).
18
-
@@ -1,18 +0,0 @@
1
- ## Role
2
- You are a Python platform reviewer. Treat every file as production-critical.
3
-
4
- ## Inspection Targets
5
- 1. **Correctness** – control flow, edge cases, exception handling, context managers.
6
- 2. **Security** – injection vectors, unsafe deserialization, shell usage, secrets, dependency pinning.
7
- 3. **Performance** – N+1 DB hits, eager loading, blocking operations inside async code, memory churn.
8
- 4. **Maintainability** – adherence to idiomatic patterns, dependency inversion, logging/metrics, docstrings, typing.
9
- 5. **Testing hooks** – unit/functional coverage gaps, fixtures, deterministic randomness.
10
-
11
- ## Output Rules
12
- - Emit the mandated JSON object (summary, issues[], recommendations[], positiveAspects[]). No stray prose.
13
- - Precision matters: reference module + line numbers, include the minimal snippet, suggest a concrete fix.
14
- - When the code is already strong, record the win under `positiveAspects` so the team knows what to keep.
15
-
16
- ## Style
17
- Short, blunt sentences. Call out laziness, accidental complexity, or missing safeguards immediately.
18
-
@@ -1,18 +0,0 @@
1
- ## Role
2
- You are a senior TypeScript architect. Assume the consuming teams expect bulletproof typings, predictable runtime behavior, and zero regressions.
3
-
4
- ## Checklist
5
- 1. **Type safety** – sound generics, discriminated unions, exhaustiveness, DTO validation, `any`/`unknown` misuse.
6
- 2. **Runtime parity** – ensure the types describe the actual runtime contract (e.g., optional fields, narrowing, JSON payloads).
7
- 3. **Async flow** – promise chains, error propagation, cancellation, resource cleanup.
8
- 4. **Modularity** – separation of concerns, side-effect-free modules, tree-shakeability.
9
- 5. **Tooling** – eslint/tsconfig alignment, path aliases, build-time assumptions.
10
-
11
- ## Expectations
12
- - Output the JSON schema defined in the system instructions. Every issue must cite the path + line range you received.
13
- - Tie each finding back to the risk (bug/security/perf/etc.) and quantify impact.
14
- - Suggest fixes that respect TS best practices (narrowing, safe casting, type guards, proper inference).
15
-
16
- ## Tone
17
- Relentless but constructive. No filler, no justification about missing context—flag the risk, explain why it matters, prescribe the fix.
18
-
@@ -1,58 +0,0 @@
1
- import { getActiveProxySettings } from '../proxyEnvironment';
2
- import type { AuthSuccess } from './types';
3
-
4
- interface AuthResponsePayload {
5
- token: string;
6
- user?: {
7
- id?: string;
8
- username?: string;
9
- expires_at?: string | null;
10
- };
11
- expires_at?: string;
12
- }
13
-
14
- const DEFAULT_PROXY_BASE_URL = 'https://cr.ai.enki.si';
15
-
16
- function resolveAuthUrl(): string {
17
- const base =
18
- getActiveProxySettings()?.baseUrl ||
19
- process.env.CR_AIA_PROXY_BASE_URL ||
20
- process.env.PROXY_BASE_URL ||
21
- DEFAULT_PROXY_BASE_URL;
22
-
23
- return `${base.replace(/\/$/, '')}/auth`;
24
- }
25
-
26
- export async function authenticate(username: string, password: string): Promise<AuthSuccess> {
27
- const url = resolveAuthUrl();
28
- const response = await fetch(url, {
29
- method: 'POST',
30
- headers: {
31
- 'Content-Type': 'application/json',
32
- },
33
- body: JSON.stringify({ username, password }),
34
- });
35
-
36
- if (!response.ok) {
37
- const errorText = await response.text();
38
- throw new Error(errorText || 'Authentication failed');
39
- }
40
-
41
- const payload = (await response.json()) as AuthResponsePayload;
42
- if (!payload.token) {
43
- throw new Error('Malformed auth response: missing token');
44
- }
45
-
46
- const usernameFromPayload = payload.user?.username;
47
- const expiresAt = payload.user?.expires_at ?? payload.expires_at ?? undefined;
48
-
49
- return {
50
- token: payload.token,
51
- user: {
52
- id: payload.user?.id ?? usernameFromPayload ?? 'user',
53
- username: usernameFromPayload ?? username,
54
- expiresAt: expiresAt ?? undefined,
55
- },
56
- };
57
- }
58
-
@@ -1,103 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync, rmSync } from 'fs';
2
- import { homedir } from 'os';
3
- import { join } from 'path';
4
- import type { SessionUser } from './types';
5
-
6
- const SESSION_DIR = join(homedir(), '.cr-aia');
7
- const SESSION_FILE = join(SESSION_DIR, 'session.json');
8
-
9
- interface SessionFileContents {
10
- token: string;
11
- }
12
-
13
- function ensureSessionDir(): void {
14
- if (!existsSync(SESSION_DIR)) {
15
- mkdirSync(SESSION_DIR, { recursive: true });
16
- }
17
- }
18
-
19
- export function saveSession(token: string): void {
20
- ensureSessionDir();
21
- const payload: SessionFileContents = { token };
22
- writeFileSync(SESSION_FILE, JSON.stringify(payload, null, 2));
23
- process.env.CR_AIA_PROXY_SESSION_TOKEN = token;
24
- }
25
-
26
- export function loadSession(): SessionUser | null {
27
- if (!existsSync(SESSION_FILE)) {
28
- return null;
29
- }
30
-
31
- try {
32
- const raw = readFileSync(SESSION_FILE, 'utf8');
33
- const { token } = JSON.parse(raw) as SessionFileContents;
34
- if (!token) {
35
- return null;
36
- }
37
- const decoded = decodeToken(token);
38
- if (!decoded) {
39
- return null;
40
- }
41
-
42
- if (decoded.expiresAt && Date.now() > decoded.expiresAt * 1000) {
43
- clearSession();
44
- return null;
45
- }
46
-
47
- return {
48
- id: decoded.sub ?? 'user',
49
- username: decoded.username ?? decoded.email ?? 'user',
50
- expiresAt: decoded.expiresAt ? new Date(decoded.expiresAt * 1000).toISOString() : undefined,
51
- };
52
- } catch {
53
- return null;
54
- }
55
- }
56
-
57
- export function getSessionToken(): string | null {
58
- if (!existsSync(SESSION_FILE)) {
59
- return null;
60
- }
61
-
62
- try {
63
- const raw = readFileSync(SESSION_FILE, 'utf8');
64
- const { token } = JSON.parse(raw) as SessionFileContents;
65
- return token ?? null;
66
- } catch {
67
- return null;
68
- }
69
- }
70
-
71
- export function clearSession(): void {
72
- if (existsSync(SESSION_FILE)) {
73
- rmSync(SESSION_FILE, { force: true });
74
- }
75
- }
76
-
77
- function decodeToken(token: string):
78
- | {
79
- sub?: string;
80
- username?: string;
81
- email?: string;
82
- exp?: number;
83
- expiresAt?: number;
84
- }
85
- | null {
86
- const parts = token.split('.');
87
- if (parts.length < 2) {
88
- return null;
89
- }
90
-
91
- try {
92
- const payload = parts[1];
93
- const decoded = Buffer.from(payload, 'base64').toString('utf8');
94
- const parsed = JSON.parse(decoded) as { sub?: string; username?: string; email?: string; exp?: number };
95
- return {
96
- ...parsed,
97
- expiresAt: parsed.exp,
98
- };
99
- } catch {
100
- return null;
101
- }
102
- }
103
-
@@ -1,11 +0,0 @@
1
- export interface SessionUser {
2
- id: string;
3
- username: string;
4
- expiresAt?: string;
5
- }
6
-
7
- export interface AuthSuccess {
8
- token: string;
9
- user: SessionUser;
10
- }
11
-
@@ -1,214 +0,0 @@
1
- import pc from 'picocolors';
2
- import pkg from '../../package.json';
3
- import { RUNTIME_CONFIG } from './runtimeConfig';
4
- import { executeReview } from './reviewPipeline';
5
- import { ensureProxyEnvironmentInitialized } from './proxyEnvironment';
6
- import { preloadInkModules, getInk } from './ui/inkModules';
7
- import { setLogLevel, LogLevel } from '../utils/logger';
8
-
9
- interface DirectOptions {
10
- model: string;
11
- outDir: string;
12
- debug: boolean;
13
- }
14
-
15
- const pkgVersion = pkg.version ?? 'unknown';
16
- const DEFAULT_PROXY_BASE_URL = 'https://cr.ai.enki.si';
17
-
18
- export async function handleRuntimeCliEntry(): Promise<boolean> {
19
- const rawArgs = process.argv.slice(2);
20
- const { cliArgs, debugFlag } = stripDebugFlag(rawArgs);
21
-
22
- if (cliArgs.length === 0) {
23
- await launchUi(debugFlag);
24
- return true;
25
- }
26
-
27
- if (shouldPrintHelp(cliArgs)) {
28
- printHelp();
29
- return true;
30
- }
31
-
32
- if (shouldRunDirect(cliArgs)) {
33
- await runDirectSafely(stripDirectArgs(cliArgs));
34
- return true;
35
- }
36
-
37
- await launchUi(debugFlag);
38
- return true;
39
- }
40
-
41
- function shouldPrintHelp(args: string[]): boolean {
42
- if (args.length === 0) return false;
43
- const first = args[0];
44
- return first === '--help' || first === '-h';
45
- }
46
-
47
- function shouldRunDirect(args: string[]): boolean {
48
- if (args.length === 0) return false;
49
- return args[0] === 'review';
50
- }
51
-
52
- function stripDirectArgs(args: string[]): string[] {
53
- if (args[0] === 'review') {
54
- return args.slice(1);
55
- }
56
- return args;
57
- }
58
-
59
- function stripDebugFlag(args: string[]): { cliArgs: string[]; debugFlag: boolean } {
60
- const cleaned: string[] = [];
61
- let debugFlag = false;
62
-
63
- for (const arg of args) {
64
- if (arg === '--debug') {
65
- debugFlag = true;
66
- continue;
67
- }
68
- cleaned.push(arg);
69
- }
70
-
71
- return { cliArgs: cleaned, debugFlag };
72
- }
73
-
74
- async function runDirectSafely(argv: string[]): Promise<void> {
75
- try {
76
- const options = parseArgs(argv);
77
- await runDirect(options);
78
- } catch (error) {
79
- console.error(pc.red('Fatal error:'), error instanceof Error ? error.message : error);
80
- process.exit(1);
81
- }
82
- }
83
-
84
- async function launchUi(debug: boolean): Promise<void> {
85
- setLogLevel(LogLevel.NONE);
86
- const restoreConsole = silenceConsole();
87
- try {
88
- ensureProxyEnvironmentInitialized(process.cwd());
89
- await preloadInkModules();
90
- const React = await import('react');
91
- const { render } = getInk();
92
- const { RuntimeApp } = await import('./ui/RuntimeApp');
93
- const ink = render(React.createElement(RuntimeApp, { debug }));
94
- await ink.waitUntilExit();
95
- } finally {
96
- restoreConsole();
97
- }
98
- }
99
-
100
- function silenceConsole(): () => void {
101
- const originalLog = console.log;
102
- const originalInfo = console.info;
103
- const originalWarn = console.warn;
104
- const originalDebug = console.debug;
105
- const noop = () => {};
106
- console.log = noop;
107
- console.info = noop;
108
- console.warn = noop;
109
- console.debug = noop;
110
- return () => {
111
- console.log = originalLog;
112
- console.info = originalInfo;
113
- console.warn = originalWarn;
114
- console.debug = originalDebug;
115
- };
116
- }
117
-
118
- function parseArgs(argv: string[]): DirectOptions {
119
- const opts: DirectOptions = {
120
- model: process.env.AI_CODE_REVIEW_MODEL || RUNTIME_CONFIG.DEFAULT_MODEL,
121
- outDir: './reports',
122
- debug: false,
123
- };
124
-
125
- for (let i = 0; i < argv.length; i += 1) {
126
- const arg = argv[i];
127
- if (!arg.startsWith('--')) continue;
128
- const value = argv[i + 1];
129
-
130
- switch (arg) {
131
- case '--model':
132
- if (!value) throw new Error('Missing value for --model');
133
- opts.model = value;
134
- i += 1;
135
- break;
136
- case '--out':
137
- if (!value) throw new Error('Missing value for --out');
138
- opts.outDir = value;
139
- i += 1;
140
- break;
141
- case '--debug':
142
- opts.debug = true;
143
- break;
144
- case '--help':
145
- case '-h':
146
- printHelp();
147
- process.exit(0);
148
- break;
149
- default:
150
- throw new Error(`Unknown option: ${arg}`);
151
- }
152
- }
153
-
154
- return opts;
155
- }
156
-
157
- async function runDirect(options: DirectOptions): Promise<void> {
158
- console.log(pc.blue('Collecting files...'));
159
- const result = await executeReview({
160
- model: options.model,
161
- outDir: options.outDir,
162
- debug: options.debug,
163
- onStage: (stage, info) => {
164
- switch (stage) {
165
- case 'collecting':
166
- if (info?.filesFound !== undefined) {
167
- const uncommitted = info.uncommittedFiles ?? info.filesFound;
168
- const context = info.contextFiles ?? 0;
169
- const breakdown = context ? ` (${uncommitted} uncommitted + ${context} context)` : '';
170
- console.log(pc.green(`✓ Found ${info.filesFound} files${breakdown}`));
171
- }
172
- break;
173
- case 'reviewing': {
174
- const context = info?.contextFiles ?? 0;
175
- const base = info?.uncommittedFiles ?? info?.filesFound;
176
- const suffix =
177
- base || context
178
- ? ` (scope: ${base ?? '?'} uncommitted${context ? ` + ${context} context` : ''})`
179
- : '';
180
- const defaultLine = `Running AI review${suffix ? suffix : ''}...`;
181
- const detailLine =
182
- typeof info?.fileIndex === 'number' &&
183
- typeof info.totalFiles === 'number' &&
184
- info.totalFiles > 0 &&
185
- info.currentFile
186
- ? `Running AI review ▸ ${info.fileIndex}/${info.totalFiles} ${info.currentFile}${suffix}`
187
- : defaultLine;
188
- console.log(pc.blue(detailLine));
189
- break;
190
- }
191
- case 'merging':
192
- console.log(pc.blue('Merging reports...'));
193
- break;
194
- default:
195
- break;
196
- }
197
- },
198
- });
199
-
200
- console.log(pc.green(`✓ Review complete (${result.duration}s)`));
201
- console.log(pc.cyan(` Critical: ${result.totals?.critical || 0}`));
202
- console.log(pc.yellow(` High: ${result.totals?.high || 0}`));
203
- console.log(pc.gray(` Medium: ${result.totals?.medium || 0}`));
204
- console.log(pc.gray(` Low: ${result.totals?.low || 0}`));
205
- if (result.reportPath) {
206
- console.log(pc.green(` Report: ${result.reportPath}`));
207
- }
208
- }
209
-
210
- function printHelp(): void {
211
- console.log(
212
- `cr-aia v${pkgVersion}\n\nUsage: cr-aia review [options]\n\nOptions:\n --model <model-id> AI model (default: ${RUNTIME_CONFIG.DEFAULT_MODEL})\n --out <dir> Output directory (default: ./reports)\n --debug Enable debug logging to logs/ directory\n --help Show this help message\n\nProxy:\n Requests to OpenRouter are routed through the proxy at PROXY_BASE_URL\n (default: ${DEFAULT_PROXY_BASE_URL}). Configure via env or .cr-aia.yml.\n Optional: PROXY_HTTP_REFERER, PROXY_X_TITLE, PROXY_BASIC_AUTH_USER/PASSWORD.\n\nNotes:\n This CLI runs a non-interactive review of your staged/uncommitted changes.\n Ensure the proxy endpoint is reachable before running a review.`,
213
- );
214
- }