codereview-aia 0.1.0 → 0.1.2
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.
- package/dist/analysis/FindingsExtractor.d.ts +105 -0
- package/dist/analysis/FindingsExtractor.js +363 -0
- package/dist/analysis/FindingsExtractor.js.map +1 -0
- package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +111 -0
- package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +215 -0
- package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +1 -0
- package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +142 -0
- package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +503 -0
- package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +1 -0
- package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +88 -0
- package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +343 -0
- package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +1 -0
- package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +104 -0
- package/dist/analysis/ai-detection/core/AIDetectionEngine.js +369 -0
- package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +1 -0
- package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +364 -0
- package/dist/analysis/ai-detection/types/DetectionTypes.js +32 -0
- package/dist/analysis/ai-detection/types/DetectionTypes.js.map +1 -0
- package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +97 -0
- package/dist/analysis/ai-detection/utils/SubmissionConverter.js +339 -0
- package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +1 -0
- package/dist/analysis/context/ReviewContext.d.ts +184 -0
- package/dist/analysis/context/ReviewContext.js +294 -0
- package/dist/analysis/context/ReviewContext.js.map +1 -0
- package/dist/analysis/context/index.d.ts +6 -0
- package/dist/analysis/context/index.js +23 -0
- package/dist/analysis/context/index.js.map +1 -0
- package/dist/analysis/index.d.ts +7 -0
- package/dist/analysis/index.js +24 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +27 -0
- package/dist/analysis/tokens/TokenAnalysisFormatter.js +143 -0
- package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +1 -0
- package/dist/analysis/tokens/TokenAnalyzer.d.ts +155 -0
- package/dist/analysis/tokens/TokenAnalyzer.js +502 -0
- package/dist/analysis/tokens/TokenAnalyzer.js.map +1 -0
- package/dist/analysis/tokens/index.d.ts +7 -0
- package/dist/analysis/tokens/index.js +24 -0
- package/dist/analysis/tokens/index.js.map +1 -0
- package/dist/clients/base/abstractClient.d.ts +99 -0
- package/dist/clients/base/abstractClient.js +98 -0
- package/dist/clients/base/abstractClient.js.map +1 -0
- package/dist/clients/base/httpClient.d.ts +24 -0
- package/dist/clients/base/httpClient.js +147 -0
- package/dist/clients/base/httpClient.js.map +1 -0
- package/dist/clients/base/index.d.ts +11 -0
- package/dist/clients/base/index.js +28 -0
- package/dist/clients/base/index.js.map +1 -0
- package/dist/clients/base/modelDetection.d.ts +41 -0
- package/dist/clients/base/modelDetection.js +88 -0
- package/dist/clients/base/modelDetection.js.map +1 -0
- package/dist/clients/base/responseProcessor.d.ts +45 -0
- package/dist/clients/base/responseProcessor.js +495 -0
- package/dist/clients/base/responseProcessor.js.map +1 -0
- package/dist/clients/factory/clientFactory.d.ts +23 -0
- package/dist/clients/factory/clientFactory.js +50 -0
- package/dist/clients/factory/clientFactory.js.map +1 -0
- package/dist/clients/factory/index.d.ts +7 -0
- package/dist/clients/factory/index.js +24 -0
- package/dist/clients/factory/index.js.map +1 -0
- package/dist/clients/implementations/index.d.ts +7 -0
- package/dist/clients/implementations/index.js +24 -0
- package/dist/clients/implementations/index.js.map +1 -0
- package/dist/clients/implementations/openRouterClient.d.ts +69 -0
- package/dist/clients/implementations/openRouterClient.js +294 -0
- package/dist/clients/implementations/openRouterClient.js.map +1 -0
- package/dist/clients/openRouterClient.d.ts +42 -0
- package/dist/clients/openRouterClient.js +738 -0
- package/dist/clients/openRouterClient.js.map +1 -0
- package/dist/clients/openRouterClientWrapper.d.ts +22 -0
- package/dist/clients/openRouterClientWrapper.js +64 -0
- package/dist/clients/openRouterClientWrapper.js.map +1 -0
- package/dist/clients/utils/directoryStructure.d.ts +14 -0
- package/dist/clients/utils/directoryStructure.js +48 -0
- package/dist/clients/utils/directoryStructure.js.map +1 -0
- package/dist/clients/utils/index.d.ts +10 -0
- package/dist/clients/utils/index.js +31 -0
- package/dist/clients/utils/index.js.map +1 -0
- package/dist/clients/utils/languageDetection.d.ts +13 -0
- package/dist/clients/utils/languageDetection.js +46 -0
- package/dist/clients/utils/languageDetection.js.map +1 -0
- package/dist/clients/utils/promptFormatter.d.ts +36 -0
- package/dist/clients/utils/promptFormatter.js +92 -0
- package/dist/clients/utils/promptFormatter.js.map +1 -0
- package/dist/clients/utils/promptLoader.d.ts +27 -0
- package/dist/clients/utils/promptLoader.js +49 -0
- package/dist/clients/utils/promptLoader.js.map +1 -0
- package/dist/clients/utils/tokenCounter.d.ts +81 -0
- package/dist/clients/utils/tokenCounter.js +209 -0
- package/dist/clients/utils/tokenCounter.js.map +1 -0
- package/dist/core/ApiClientSelector.d.ts +8 -0
- package/dist/core/ApiClientSelector.js +29 -0
- package/dist/core/ApiClientSelector.js.map +1 -0
- package/dist/core/ConfigurationService.d.ts +286 -0
- package/dist/core/ConfigurationService.js +477 -0
- package/dist/core/ConfigurationService.js.map +1 -0
- package/dist/core/ConsolidationService.d.ts +99 -0
- package/dist/core/ConsolidationService.js +341 -0
- package/dist/core/ConsolidationService.js.map +1 -0
- package/dist/core/InteractiveDisplayManager.d.ts +22 -0
- package/dist/core/InteractiveDisplayManager.js +70 -0
- package/dist/core/InteractiveDisplayManager.js.map +1 -0
- package/dist/core/OutputManager.d.ts +26 -0
- package/dist/core/OutputManager.js +217 -0
- package/dist/core/OutputManager.js.map +1 -0
- package/dist/core/ReviewGenerator.d.ts +13 -0
- package/dist/core/ReviewGenerator.js +102 -0
- package/dist/core/ReviewGenerator.js.map +1 -0
- package/dist/core/fileDiscovery.d.ts +35 -0
- package/dist/core/fileDiscovery.js +202 -0
- package/dist/core/fileDiscovery.js.map +1 -0
- package/dist/core/handlers/EstimationHandler.d.ts +18 -0
- package/dist/core/handlers/EstimationHandler.js +110 -0
- package/dist/core/handlers/EstimationHandler.js.map +1 -0
- package/dist/core/handlers/FileProcessingHandler.d.ts +31 -0
- package/dist/core/handlers/FileProcessingHandler.js +159 -0
- package/dist/core/handlers/FileProcessingHandler.js.map +1 -0
- package/dist/core/handlers/OutputHandler.d.ts +27 -0
- package/dist/core/handlers/OutputHandler.js +127 -0
- package/dist/core/handlers/OutputHandler.js.map +1 -0
- package/dist/core/handlers/ReviewExecutor.d.ts +32 -0
- package/dist/core/handlers/ReviewExecutor.js +111 -0
- package/dist/core/handlers/ReviewExecutor.js.map +1 -0
- package/dist/core/reviewOrchestrator.d.ts +24 -0
- package/dist/core/reviewOrchestrator.js +294 -0
- package/dist/core/reviewOrchestrator.js.map +1 -0
- package/dist/core/utils/ModelInfoUtils.d.ts +16 -0
- package/dist/core/utils/ModelInfoUtils.js +54 -0
- package/dist/core/utils/ModelInfoUtils.js.map +1 -0
- package/dist/formatters/outputFormatter.d.ts +31 -0
- package/dist/formatters/outputFormatter.js +65 -0
- package/dist/formatters/outputFormatter.js.map +1 -0
- package/dist/formatters/utils/IssueFormatters.d.ts +20 -0
- package/dist/formatters/utils/IssueFormatters.js +67 -0
- package/dist/formatters/utils/IssueFormatters.js.map +1 -0
- package/dist/formatters/utils/JsonFormatter.d.ts +13 -0
- package/dist/formatters/utils/JsonFormatter.js +57 -0
- package/dist/formatters/utils/JsonFormatter.js.map +1 -0
- package/dist/formatters/utils/MarkdownFormatters.d.ts +51 -0
- package/dist/formatters/utils/MarkdownFormatters.js +456 -0
- package/dist/formatters/utils/MarkdownFormatters.js.map +1 -0
- package/dist/formatters/utils/MetadataFormatter.d.ts +65 -0
- package/dist/formatters/utils/MetadataFormatter.js +219 -0
- package/dist/formatters/utils/MetadataFormatter.js.map +1 -0
- package/dist/formatters/utils/ModelInfoExtractor.d.ts +33 -0
- package/dist/formatters/utils/ModelInfoExtractor.js +111 -0
- package/dist/formatters/utils/ModelInfoExtractor.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins/PluginInterface.d.ts +44 -0
- package/dist/plugins/PluginInterface.js +9 -0
- package/dist/plugins/PluginInterface.js.map +1 -0
- package/dist/plugins/PluginManager.d.ts +51 -0
- package/dist/plugins/PluginManager.js +151 -0
- package/dist/plugins/PluginManager.js.map +1 -0
- package/dist/prompts/PromptManager.d.ts +30 -0
- package/dist/prompts/PromptManager.js +62 -0
- package/dist/prompts/PromptManager.js.map +1 -0
- package/dist/prompts/cache/PromptCache.d.ts +32 -0
- package/dist/prompts/cache/PromptCache.js +48 -0
- package/dist/prompts/cache/PromptCache.js.map +1 -0
- package/dist/runtime/auth/service.d.ts +2 -0
- package/dist/runtime/auth/service.js +41 -0
- package/dist/runtime/auth/service.js.map +1 -0
- package/dist/runtime/auth/session.d.ts +5 -0
- package/dist/runtime/auth/session.js +87 -0
- package/dist/runtime/auth/session.js.map +1 -0
- package/dist/runtime/auth/types.d.ts +9 -0
- package/dist/runtime/auth/types.js +3 -0
- package/dist/runtime/auth/types.js.map +1 -0
- package/dist/runtime/cliEntry.d.ts +1 -0
- package/dist/runtime/cliEntry.js +213 -0
- package/dist/runtime/cliEntry.js.map +1 -0
- package/dist/runtime/debug/logManager.d.ts +5 -0
- package/dist/runtime/debug/logManager.js +31 -0
- package/dist/runtime/debug/logManager.js.map +1 -0
- package/dist/runtime/errors.d.ts +5 -0
- package/dist/runtime/errors.js +15 -0
- package/dist/runtime/errors.js.map +1 -0
- package/dist/runtime/fileCollector.d.ts +5 -0
- package/dist/runtime/fileCollector.js +167 -0
- package/dist/runtime/fileCollector.js.map +1 -0
- package/dist/runtime/manifest.d.ts +1 -0
- package/dist/runtime/manifest.js +65 -0
- package/dist/runtime/manifest.js.map +1 -0
- package/dist/runtime/openrouterProxy.d.ts +4 -0
- package/dist/runtime/openrouterProxy.js +43 -0
- package/dist/runtime/openrouterProxy.js.map +1 -0
- package/dist/runtime/preprod/webCheck.d.ts +1 -0
- package/dist/runtime/preprod/webCheck.js +98 -0
- package/dist/runtime/preprod/webCheck.js.map +1 -0
- package/dist/runtime/proxyConfig.d.ts +6 -0
- package/dist/runtime/proxyConfig.js +86 -0
- package/dist/runtime/proxyConfig.js.map +1 -0
- package/dist/runtime/proxyEnvironment.d.ts +3 -0
- package/dist/runtime/proxyEnvironment.js +63 -0
- package/dist/runtime/proxyEnvironment.js.map +1 -0
- package/dist/runtime/reportMerge.d.ts +30 -0
- package/dist/runtime/reportMerge.js +70 -0
- package/dist/runtime/reportMerge.js.map +1 -0
- package/dist/runtime/reporting/markdownReportBuilder.d.ts +15 -0
- package/dist/runtime/reporting/markdownReportBuilder.js +97 -0
- package/dist/runtime/reporting/markdownReportBuilder.js.map +1 -0
- package/dist/runtime/reporting/reportDataCollector.d.ts +31 -0
- package/dist/runtime/reporting/reportDataCollector.js +170 -0
- package/dist/runtime/reporting/reportDataCollector.js.map +1 -0
- package/dist/runtime/reporting/summaryGenerator.d.ts +10 -0
- package/dist/runtime/reporting/summaryGenerator.js +67 -0
- package/dist/runtime/reporting/summaryGenerator.js.map +1 -0
- package/dist/runtime/reviewPipeline.d.ts +28 -0
- package/dist/runtime/reviewPipeline.js +122 -0
- package/dist/runtime/reviewPipeline.js.map +1 -0
- package/dist/runtime/runAiCodeReview.d.ts +10 -0
- package/dist/runtime/runAiCodeReview.js +138 -0
- package/dist/runtime/runAiCodeReview.js.map +1 -0
- package/dist/runtime/runtimeConfig.d.ts +4 -0
- package/dist/runtime/runtimeConfig.js +7 -0
- package/dist/runtime/runtimeConfig.js.map +1 -0
- package/dist/runtime/ui/Layout.d.ts +11 -0
- package/dist/runtime/ui/Layout.js +47 -0
- package/dist/runtime/ui/Layout.js.map +1 -0
- package/dist/runtime/ui/RuntimeApp.d.ts +6 -0
- package/dist/runtime/ui/RuntimeApp.js +161 -0
- package/dist/runtime/ui/RuntimeApp.js.map +1 -0
- package/dist/runtime/ui/inkModules.d.ts +10 -0
- package/dist/runtime/ui/inkModules.js +63 -0
- package/dist/runtime/ui/inkModules.js.map +1 -0
- package/dist/runtime/ui/screens/AuthScreen.d.ts +6 -0
- package/dist/runtime/ui/screens/AuthScreen.js +67 -0
- package/dist/runtime/ui/screens/AuthScreen.js.map +1 -0
- package/dist/runtime/ui/screens/ModeSelection.d.ts +10 -0
- package/dist/runtime/ui/screens/ModeSelection.js +100 -0
- package/dist/runtime/ui/screens/ModeSelection.js.map +1 -0
- package/dist/runtime/ui/screens/ProgressScreen.d.ts +7 -0
- package/dist/runtime/ui/screens/ProgressScreen.js +38 -0
- package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -0
- package/dist/runtime/ui/screens/ResultsScreen.d.ts +7 -0
- package/dist/runtime/ui/screens/ResultsScreen.js +22 -0
- package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -0
- package/dist/strategies/ArchitecturalReviewStrategy.d.ts +29 -0
- package/dist/strategies/ArchitecturalReviewStrategy.js +42 -0
- package/dist/strategies/ArchitecturalReviewStrategy.js.map +1 -0
- package/dist/strategies/CodingTestReviewStrategy.d.ts +194 -0
- package/dist/strategies/CodingTestReviewStrategy.js +681 -0
- package/dist/strategies/CodingTestReviewStrategy.js.map +1 -0
- package/dist/strategies/ConsolidatedReviewStrategy.d.ts +25 -0
- package/dist/strategies/ConsolidatedReviewStrategy.js +45 -0
- package/dist/strategies/ConsolidatedReviewStrategy.js.map +1 -0
- package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +30 -0
- package/dist/strategies/ExtractPatternsReviewStrategy.js +51 -0
- package/dist/strategies/ExtractPatternsReviewStrategy.js.map +1 -0
- package/dist/strategies/MultiPassReviewStrategy.d.ts +86 -0
- package/dist/strategies/MultiPassReviewStrategy.js +590 -0
- package/dist/strategies/MultiPassReviewStrategy.js.map +1 -0
- package/dist/strategies/ReviewStrategy.d.ts +45 -0
- package/dist/strategies/ReviewStrategy.js +24 -0
- package/dist/strategies/ReviewStrategy.js.map +1 -0
- package/dist/strategies/StrategyFactory.d.ts +19 -0
- package/dist/strategies/StrategyFactory.js +72 -0
- package/dist/strategies/StrategyFactory.js.map +1 -0
- package/dist/strategies/index.d.ts +13 -0
- package/dist/strategies/index.js +30 -0
- package/dist/strategies/index.js.map +1 -0
- package/dist/tokenizers/baseTokenizer.d.ts +25 -0
- package/dist/tokenizers/baseTokenizer.js +48 -0
- package/dist/tokenizers/baseTokenizer.js.map +1 -0
- package/dist/tokenizers/gptTokenizer.d.ts +7 -0
- package/dist/tokenizers/gptTokenizer.js +28 -0
- package/dist/tokenizers/gptTokenizer.js.map +1 -0
- package/dist/tokenizers/index.d.ts +7 -0
- package/dist/tokenizers/index.js +24 -0
- package/dist/tokenizers/index.js.map +1 -0
- package/dist/types/apiResponses.d.ts +39 -0
- package/dist/types/apiResponses.js +9 -0
- package/dist/types/apiResponses.js.map +1 -0
- package/dist/types/cli.d.ts +22 -0
- package/dist/types/cli.js +3 -0
- package/dist/types/cli.js.map +1 -0
- package/dist/types/common.d.ts +22 -0
- package/dist/types/common.js +14 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/configuration.d.ts +682 -0
- package/dist/types/configuration.js +65 -0
- package/dist/types/configuration.js.map +1 -0
- package/dist/types/review.d.ts +258 -0
- package/dist/types/review.js +8 -0
- package/dist/types/review.js.map +1 -0
- package/dist/types/reviewSchema.d.ts +543 -0
- package/dist/types/reviewSchema.js +121 -0
- package/dist/types/reviewSchema.js.map +1 -0
- package/dist/types/structuredReview.d.ts +119 -0
- package/dist/types/structuredReview.js +6 -0
- package/dist/types/structuredReview.js.map +1 -0
- package/dist/types/tokenAnalysis.d.ts +44 -0
- package/dist/types/tokenAnalysis.js +4 -0
- package/dist/types/tokenAnalysis.js.map +1 -0
- package/dist/utils/FileReader.d.ts +33 -0
- package/dist/utils/FileReader.js +88 -0
- package/dist/utils/FileReader.js.map +1 -0
- package/dist/utils/FileWriter.d.ts +26 -0
- package/dist/utils/FileWriter.js +76 -0
- package/dist/utils/FileWriter.js.map +1 -0
- package/dist/utils/PathGenerator.d.ts +30 -0
- package/dist/utils/PathGenerator.js +82 -0
- package/dist/utils/PathGenerator.js.map +1 -0
- package/dist/utils/api/apiUtils.d.ts +3 -0
- package/dist/utils/api/apiUtils.js +20 -0
- package/dist/utils/api/apiUtils.js.map +1 -0
- package/dist/utils/api/index.d.ts +1 -0
- package/dist/utils/api/index.js +18 -0
- package/dist/utils/api/index.js.map +1 -0
- package/dist/utils/apiErrorHandler.d.ts +130 -0
- package/dist/utils/apiErrorHandler.js +256 -0
- package/dist/utils/apiErrorHandler.js.map +1 -0
- package/dist/utils/ciDataCollector.d.ts +51 -0
- package/dist/utils/ciDataCollector.js +197 -0
- package/dist/utils/ciDataCollector.js.map +1 -0
- package/dist/utils/codingTestConfigLoader.d.ts +66 -0
- package/dist/utils/codingTestConfigLoader.js +420 -0
- package/dist/utils/codingTestConfigLoader.js.map +1 -0
- package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +30 -0
- package/dist/utils/dependencies/aiDependencyAnalyzer.js +343 -0
- package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +1 -0
- package/dist/utils/detection/frameworkDetector.d.ts +43 -0
- package/dist/utils/detection/frameworkDetector.js +795 -0
- package/dist/utils/detection/frameworkDetector.js.map +1 -0
- package/dist/utils/detection/index.d.ts +9 -0
- package/dist/utils/detection/index.js +28 -0
- package/dist/utils/detection/index.js.map +1 -0
- package/dist/utils/detection/projectTypeDetector.d.ts +27 -0
- package/dist/utils/detection/projectTypeDetector.js +469 -0
- package/dist/utils/detection/projectTypeDetector.js.map +1 -0
- package/dist/utils/diagramGenerator.d.ts +49 -0
- package/dist/utils/diagramGenerator.js +218 -0
- package/dist/utils/diagramGenerator.js.map +1 -0
- package/dist/utils/errorLogger.d.ts +24 -0
- package/dist/utils/errorLogger.js +59 -0
- package/dist/utils/errorLogger.js.map +1 -0
- package/dist/utils/estimationUtils.d.ts +139 -0
- package/dist/utils/estimationUtils.js +329 -0
- package/dist/utils/estimationUtils.js.map +1 -0
- package/dist/utils/fileFilters.d.ts +72 -0
- package/dist/utils/fileFilters.js +338 -0
- package/dist/utils/fileFilters.js.map +1 -0
- package/dist/utils/fileSystem.d.ts +22 -0
- package/dist/utils/fileSystem.js +45 -0
- package/dist/utils/fileSystem.js.map +1 -0
- package/dist/utils/index.d.ts +22 -0
- package/dist/utils/index.js +52 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +77 -0
- package/dist/utils/logger.js +271 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/pathValidator.d.ts +40 -0
- package/dist/utils/pathValidator.js +98 -0
- package/dist/utils/pathValidator.js.map +1 -0
- package/dist/utils/priorityFilter.d.ts +34 -0
- package/dist/utils/priorityFilter.js +54 -0
- package/dist/utils/priorityFilter.js.map +1 -0
- package/dist/utils/projectDocs.d.ts +47 -0
- package/dist/utils/projectDocs.js +158 -0
- package/dist/utils/projectDocs.js.map +1 -0
- package/dist/utils/promptPaths.d.ts +6 -0
- package/dist/utils/promptPaths.js +33 -0
- package/dist/utils/promptPaths.js.map +1 -0
- package/dist/utils/promptTemplateManager.d.ts +34 -0
- package/dist/utils/promptTemplateManager.js +140 -0
- package/dist/utils/promptTemplateManager.js.map +1 -0
- package/dist/utils/review/consolidateReview.d.ts +15 -0
- package/dist/utils/review/consolidateReview.js +481 -0
- package/dist/utils/review/consolidateReview.js.map +1 -0
- package/dist/utils/review/fixDisplay.d.ts +20 -0
- package/dist/utils/review/fixDisplay.js +84 -0
- package/dist/utils/review/fixDisplay.js.map +1 -0
- package/dist/utils/review/fixImplementation.d.ts +28 -0
- package/dist/utils/review/fixImplementation.js +60 -0
- package/dist/utils/review/fixImplementation.js.map +1 -0
- package/dist/utils/review/index.d.ts +13 -0
- package/dist/utils/review/index.js +50 -0
- package/dist/utils/review/index.js.map +1 -0
- package/dist/utils/review/interactiveProcessing.d.ts +25 -0
- package/dist/utils/review/interactiveProcessing.js +251 -0
- package/dist/utils/review/interactiveProcessing.js.map +1 -0
- package/dist/utils/review/progressTracker.d.ts +106 -0
- package/dist/utils/review/progressTracker.js +227 -0
- package/dist/utils/review/progressTracker.js.map +1 -0
- package/dist/utils/review/reviewExtraction.d.ts +31 -0
- package/dist/utils/review/reviewExtraction.js +324 -0
- package/dist/utils/review/reviewExtraction.js.map +1 -0
- package/dist/utils/review/types.d.ts +45 -0
- package/dist/utils/review/types.js +18 -0
- package/dist/utils/review/types.js.map +1 -0
- package/dist/utils/reviewActionHandler.d.ts +16 -0
- package/dist/utils/reviewActionHandler.js +34 -0
- package/dist/utils/reviewActionHandler.js.map +1 -0
- package/dist/utils/reviewParser.d.ts +34 -0
- package/dist/utils/reviewParser.js +218 -0
- package/dist/utils/reviewParser.js.map +1 -0
- package/dist/utils/sanitizer.d.ts +82 -0
- package/dist/utils/sanitizer.js +239 -0
- package/dist/utils/sanitizer.js.map +1 -0
- package/dist/utils/smartFileSelector.d.ts +50 -0
- package/dist/utils/smartFileSelector.js +261 -0
- package/dist/utils/smartFileSelector.js.map +1 -0
- package/dist/utils/templateLoader.d.ts +44 -0
- package/dist/utils/templateLoader.js +431 -0
- package/dist/utils/templateLoader.js.map +1 -0
- package/dist/utils/treeGenerator.d.ts +12 -0
- package/dist/utils/treeGenerator.js +133 -0
- package/dist/utils/treeGenerator.js.map +1 -0
- package/package.json +11 -12
- package/src/index.ts +1 -0
- package/src/runtime/debug/logManager.ts +37 -0
- package/src/runtime/fileCollector.ts +58 -24
- package/src/runtime/preprod/webCheck.ts +104 -0
- package/src/runtime/reviewPipeline.ts +10 -4
- package/src/runtime/ui/RuntimeApp.tsx +96 -13
- package/src/runtime/ui/screens/ModeSelection.tsx +148 -15
- package/src/runtime/ui/screens/ProgressScreen.tsx +10 -3
- package/src/runtime/ui/screens/ResultsScreen.tsx +8 -1
- package/src/utils/logger.ts +64 -14
|
@@ -0,0 +1,477 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Unified Configuration Service
|
|
4
|
+
*
|
|
5
|
+
* This service consolidates all configuration management into a single, cohesive module.
|
|
6
|
+
* It replaces the fragmented configuration files (config.ts, configFileManager.ts,
|
|
7
|
+
* configManager.ts, unifiedConfig.ts, codingTestConfigLoader.ts, envLoader.ts) with
|
|
8
|
+
* a single source of truth for configuration.
|
|
9
|
+
*
|
|
10
|
+
* Key features:
|
|
11
|
+
* - Single source of truth for all configuration
|
|
12
|
+
* - Clear precedence order: CLI > Environment > Config File > Defaults
|
|
13
|
+
* - Type-safe configuration with Zod validation
|
|
14
|
+
* - Support for YAML and JSON config files
|
|
15
|
+
* - Environment variable loading with .env.local support
|
|
16
|
+
* - Comprehensive error handling and validation
|
|
17
|
+
*/
|
|
18
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
21
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
22
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
23
|
+
}
|
|
24
|
+
Object.defineProperty(o, k2, desc);
|
|
25
|
+
}) : (function(o, m, k, k2) {
|
|
26
|
+
if (k2 === undefined) k2 = k;
|
|
27
|
+
o[k2] = m[k];
|
|
28
|
+
}));
|
|
29
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
30
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
31
|
+
}) : function(o, v) {
|
|
32
|
+
o["default"] = v;
|
|
33
|
+
});
|
|
34
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
35
|
+
var ownKeys = function(o) {
|
|
36
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
37
|
+
var ar = [];
|
|
38
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
39
|
+
return ar;
|
|
40
|
+
};
|
|
41
|
+
return ownKeys(o);
|
|
42
|
+
};
|
|
43
|
+
return function (mod) {
|
|
44
|
+
if (mod && mod.__esModule) return mod;
|
|
45
|
+
var result = {};
|
|
46
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
47
|
+
__setModuleDefault(result, mod);
|
|
48
|
+
return result;
|
|
49
|
+
};
|
|
50
|
+
})();
|
|
51
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
52
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
53
|
+
};
|
|
54
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
|
+
exports.configurationService = exports.ConfigurationService = void 0;
|
|
56
|
+
exports.getConfig = getConfig;
|
|
57
|
+
exports.resetConfig = resetConfig;
|
|
58
|
+
exports.hasAnyApiKey = hasAnyApiKey;
|
|
59
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
60
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
61
|
+
// Use dynamic import for js-yaml to avoid type issues
|
|
62
|
+
// import * as yaml from 'js-yaml';
|
|
63
|
+
const dotenv = __importStar(require("dotenv"));
|
|
64
|
+
const zod_1 = require("zod");
|
|
65
|
+
const logger_1 = __importDefault(require("../utils/logger"));
|
|
66
|
+
const promptPaths_1 = require("../utils/promptPaths");
|
|
67
|
+
/**
|
|
68
|
+
* Safely converts optional string inputs (like env vars) to numbers.
|
|
69
|
+
* Returns undefined when the input is absent or not a valid finite number.
|
|
70
|
+
*/
|
|
71
|
+
const toOptionalNumber = (value) => {
|
|
72
|
+
if (value === undefined || value === null || value === '') {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
const parsed = Number(value);
|
|
76
|
+
return Number.isFinite(parsed) ? parsed : undefined;
|
|
77
|
+
};
|
|
78
|
+
// Configuration schema with validation
|
|
79
|
+
const ConfigSchema = zod_1.z.object({
|
|
80
|
+
// API Keys (OpenRouter only)
|
|
81
|
+
openRouterApiKey: zod_1.z.string().optional(),
|
|
82
|
+
// Model configuration
|
|
83
|
+
model: zod_1.z.string().default('openrouter:anthropic/claude-3-opus-20240229'),
|
|
84
|
+
writerModel: zod_1.z.string().optional(),
|
|
85
|
+
// Output configuration
|
|
86
|
+
outputDir: zod_1.z.string().default('cr-aia-docs'),
|
|
87
|
+
outputFormat: zod_1.z.enum(['markdown', 'json']).default('markdown'),
|
|
88
|
+
// Behavior configuration
|
|
89
|
+
debug: zod_1.z.boolean().default(false),
|
|
90
|
+
logLevel: zod_1.z.enum(['debug', 'info', 'warn', 'error', 'none']).default('info'),
|
|
91
|
+
interactive: zod_1.z.boolean().default(false),
|
|
92
|
+
// Review features
|
|
93
|
+
includeTests: zod_1.z.boolean().default(false),
|
|
94
|
+
includeProjectDocs: zod_1.z.boolean().default(true),
|
|
95
|
+
includeDependencyAnalysis: zod_1.z.boolean().default(true),
|
|
96
|
+
// Multi-pass configuration
|
|
97
|
+
multiPass: zod_1.z.boolean().default(false),
|
|
98
|
+
forceSinglePass: zod_1.z.boolean().default(false),
|
|
99
|
+
contextMaintenanceFactor: zod_1.z.number().min(0).max(1).default(0.15),
|
|
100
|
+
// Advanced features
|
|
101
|
+
testApi: zod_1.z.boolean().default(false),
|
|
102
|
+
estimate: zod_1.z.boolean().default(false),
|
|
103
|
+
noConfirm: zod_1.z.boolean().default(false),
|
|
104
|
+
// Paths
|
|
105
|
+
contextPaths: zod_1.z.array(zod_1.z.string()).optional(),
|
|
106
|
+
configPath: zod_1.z.string().optional(),
|
|
107
|
+
// Coding test specific
|
|
108
|
+
assignmentFile: zod_1.z.string().optional(),
|
|
109
|
+
assignmentUrl: zod_1.z.string().optional(),
|
|
110
|
+
assignmentText: zod_1.z.string().optional(),
|
|
111
|
+
evaluationTemplate: zod_1.z.string().optional(),
|
|
112
|
+
templateUrl: zod_1.z.string().optional(),
|
|
113
|
+
rubricFile: zod_1.z.string().optional(),
|
|
114
|
+
assessmentType: zod_1.z
|
|
115
|
+
.enum(['coding-challenge', 'take-home', 'live-coding', 'code-review'])
|
|
116
|
+
.default('coding-challenge'),
|
|
117
|
+
difficultyLevel: zod_1.z.enum(['junior', 'mid', 'senior', 'lead', 'architect']).default('mid'),
|
|
118
|
+
// Evaluation weights
|
|
119
|
+
weightCorrectness: zod_1.z.number().min(0).max(100).default(30),
|
|
120
|
+
weightCodeQuality: zod_1.z.number().min(0).max(100).default(25),
|
|
121
|
+
weightArchitecture: zod_1.z.number().min(0).max(100).default(20),
|
|
122
|
+
weightPerformance: zod_1.z.number().min(0).max(100).default(15),
|
|
123
|
+
weightTesting: zod_1.z.number().min(0).max(100).default(10),
|
|
124
|
+
// Evaluation options
|
|
125
|
+
evaluateDocumentation: zod_1.z.boolean().default(false),
|
|
126
|
+
evaluateGitHistory: zod_1.z.boolean().default(false),
|
|
127
|
+
evaluateEdgeCases: zod_1.z.boolean().default(false),
|
|
128
|
+
evaluateErrorHandling: zod_1.z.boolean().default(false),
|
|
129
|
+
// Scoring system
|
|
130
|
+
scoringSystem: zod_1.z.enum(['numeric', 'letter', 'pass-fail', 'custom']).default('numeric'),
|
|
131
|
+
maxScore: zod_1.z.number().default(100),
|
|
132
|
+
passingThreshold: zod_1.z.number().default(70),
|
|
133
|
+
scoreBreakdown: zod_1.z.boolean().default(true),
|
|
134
|
+
// Feedback configuration
|
|
135
|
+
feedbackLevel: zod_1.z.enum(['basic', 'detailed', 'comprehensive']).default('detailed'),
|
|
136
|
+
includeExamples: zod_1.z.boolean().default(true),
|
|
137
|
+
includeSuggestions: zod_1.z.boolean().default(true),
|
|
138
|
+
includeResources: zod_1.z.boolean().default(false),
|
|
139
|
+
// AI detection
|
|
140
|
+
enableAiDetection: zod_1.z.boolean().default(false),
|
|
141
|
+
aiDetectionThreshold: zod_1.z.number().min(0).max(1).default(0.7),
|
|
142
|
+
aiDetectionAnalyzers: zod_1.z.string().default('git,documentation'),
|
|
143
|
+
aiDetectionIncludeInReport: zod_1.z.boolean().default(true),
|
|
144
|
+
aiDetectionFailOnDetection: zod_1.z.boolean().default(false),
|
|
145
|
+
// Constraints
|
|
146
|
+
allowedLibraries: zod_1.z.array(zod_1.z.string()).optional(),
|
|
147
|
+
forbiddenPatterns: zod_1.z.array(zod_1.z.string()).optional(),
|
|
148
|
+
nodeVersion: zod_1.z.string().optional(),
|
|
149
|
+
typescriptVersion: zod_1.z.string().optional(),
|
|
150
|
+
memoryLimit: zod_1.z.number().optional(),
|
|
151
|
+
executionTimeout: zod_1.z.number().optional(),
|
|
152
|
+
timeLimit: zod_1.z.number().optional(),
|
|
153
|
+
// Diagram generation
|
|
154
|
+
diagram: zod_1.z.boolean().default(false),
|
|
155
|
+
// Batch processing
|
|
156
|
+
batchTokenLimit: zod_1.z.number().optional(),
|
|
157
|
+
});
|
|
158
|
+
/**
|
|
159
|
+
* Unified Configuration Service
|
|
160
|
+
*
|
|
161
|
+
* This class provides a single source of truth for all configuration management.
|
|
162
|
+
* It handles loading from CLI arguments, environment variables, and config files
|
|
163
|
+
* with a clear precedence order.
|
|
164
|
+
*/
|
|
165
|
+
class ConfigurationService {
|
|
166
|
+
static instance = null;
|
|
167
|
+
config = null;
|
|
168
|
+
constructor() { }
|
|
169
|
+
/**
|
|
170
|
+
* Get the singleton instance of the configuration service
|
|
171
|
+
*/
|
|
172
|
+
static getInstance() {
|
|
173
|
+
if (!ConfigurationService.instance) {
|
|
174
|
+
ConfigurationService.instance = new ConfigurationService();
|
|
175
|
+
}
|
|
176
|
+
return ConfigurationService.instance;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Get the current configuration
|
|
180
|
+
* @param cliOptions Optional CLI options to override configuration
|
|
181
|
+
* @returns The validated configuration object
|
|
182
|
+
*/
|
|
183
|
+
getConfig(cliOptions) {
|
|
184
|
+
if (!this.config || cliOptions) {
|
|
185
|
+
this.config = this.buildConfiguration(cliOptions);
|
|
186
|
+
}
|
|
187
|
+
return this.config;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Reset the configuration (useful for testing)
|
|
191
|
+
*/
|
|
192
|
+
resetConfig() {
|
|
193
|
+
this.config = null;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Check if any API key is available
|
|
197
|
+
*/
|
|
198
|
+
hasAnyApiKey(config) {
|
|
199
|
+
const cfg = config || this.getConfig();
|
|
200
|
+
return !!cfg.openRouterApiKey;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Get paths configuration
|
|
204
|
+
*/
|
|
205
|
+
getPathsConfig() {
|
|
206
|
+
const config = this.getConfig();
|
|
207
|
+
const promptsDir = (0, promptPaths_1.resolvePromptTemplatesDir)();
|
|
208
|
+
return {
|
|
209
|
+
outputDir: config.outputDir || 'cr-aia-docs',
|
|
210
|
+
promptsDir,
|
|
211
|
+
templatesDir: promptsDir,
|
|
212
|
+
contextPaths: config.contextPaths,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Get application config (for backward compatibility)
|
|
217
|
+
*/
|
|
218
|
+
getApplicationConfig() {
|
|
219
|
+
const config = this.getConfig();
|
|
220
|
+
return {
|
|
221
|
+
selectedModel: {
|
|
222
|
+
value: config.model,
|
|
223
|
+
source: 'configuration_service',
|
|
224
|
+
},
|
|
225
|
+
openRouterApiKey: config.openRouterApiKey
|
|
226
|
+
? {
|
|
227
|
+
value: config.openRouterApiKey,
|
|
228
|
+
source: 'environment',
|
|
229
|
+
}
|
|
230
|
+
: undefined,
|
|
231
|
+
debug: {
|
|
232
|
+
value: config.debug,
|
|
233
|
+
source: 'configuration_service',
|
|
234
|
+
},
|
|
235
|
+
logLevel: {
|
|
236
|
+
value: config.logLevel,
|
|
237
|
+
source: 'configuration_service',
|
|
238
|
+
},
|
|
239
|
+
outputDir: {
|
|
240
|
+
value: config.outputDir,
|
|
241
|
+
source: 'configuration_service',
|
|
242
|
+
},
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Build the configuration from all sources with proper precedence
|
|
247
|
+
*/
|
|
248
|
+
buildConfiguration(cliOptions) {
|
|
249
|
+
// 1. Load environment variables from .env.local
|
|
250
|
+
this.loadEnvironmentVariables();
|
|
251
|
+
// 2. Load configuration file
|
|
252
|
+
const configFile = this.loadConfigFile(cliOptions?.config);
|
|
253
|
+
// 3. Build configuration with precedence: CLI > Environment > Config File > Defaults
|
|
254
|
+
const rawConfig = this.mergeConfigurationSources(cliOptions, configFile);
|
|
255
|
+
// 4. Validate and return the configuration
|
|
256
|
+
try {
|
|
257
|
+
return ConfigSchema.parse(rawConfig);
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
logger_1.default.error('Configuration validation failed:', error);
|
|
261
|
+
throw new Error(`Invalid configuration: ${error}`);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Load environment variables from .env.local file
|
|
266
|
+
*/
|
|
267
|
+
loadEnvironmentVariables() {
|
|
268
|
+
const envLocalPath = node_path_1.default.join(process.cwd(), '.env.local');
|
|
269
|
+
if (node_fs_1.default.existsSync(envLocalPath)) {
|
|
270
|
+
try {
|
|
271
|
+
dotenv.config({ path: envLocalPath, override: true });
|
|
272
|
+
logger_1.default.debug(`Loaded environment variables from ${envLocalPath}`);
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
logger_1.default.warn(`Failed to load environment variables from ${envLocalPath}:`, error);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Load configuration file (YAML or JSON)
|
|
281
|
+
*/
|
|
282
|
+
loadConfigFile(configPath) {
|
|
283
|
+
const defaultConfigFiles = [
|
|
284
|
+
'.cr-aia.yml',
|
|
285
|
+
];
|
|
286
|
+
const filesToTry = configPath ? [configPath] : defaultConfigFiles;
|
|
287
|
+
for (const filePath of filesToTry) {
|
|
288
|
+
const fullPath = node_path_1.default.resolve(filePath);
|
|
289
|
+
if (node_fs_1.default.existsSync(fullPath)) {
|
|
290
|
+
try {
|
|
291
|
+
const content = node_fs_1.default.readFileSync(fullPath, 'utf8');
|
|
292
|
+
const extension = node_path_1.default.extname(fullPath).toLowerCase();
|
|
293
|
+
let config;
|
|
294
|
+
if (extension === '.json') {
|
|
295
|
+
config = JSON.parse(content);
|
|
296
|
+
}
|
|
297
|
+
else if (extension === '.yaml' || extension === '.yml') {
|
|
298
|
+
// Use dynamic import for js-yaml
|
|
299
|
+
const yaml = require('js-yaml');
|
|
300
|
+
config = yaml.load(content);
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
logger_1.default.warn(`Unsupported config file format: ${extension}`);
|
|
304
|
+
continue;
|
|
305
|
+
}
|
|
306
|
+
logger_1.default.debug(`Loaded configuration from ${fullPath}`);
|
|
307
|
+
return config;
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
logger_1.default.error(`Failed to load config file ${fullPath}:`, error);
|
|
311
|
+
if (configPath) {
|
|
312
|
+
throw error; // If explicitly specified, throw the error
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return null;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Merge configuration from all sources with proper precedence
|
|
321
|
+
*/
|
|
322
|
+
mergeConfigurationSources(cliOptions, configFile) {
|
|
323
|
+
return {
|
|
324
|
+
// API Keys (OpenRouter only, environment only, not exposed via CLI for security)
|
|
325
|
+
openRouterApiKey: this.getApiKey('openrouter'),
|
|
326
|
+
// Model configuration
|
|
327
|
+
model: cliOptions?.model ||
|
|
328
|
+
process.env.AI_CODE_REVIEW_MODEL ||
|
|
329
|
+
configFile?.model?.default ||
|
|
330
|
+
configFile?.api?.model ||
|
|
331
|
+
'openrouter:anthropic/claude-3-opus-20240229',
|
|
332
|
+
writerModel: cliOptions?.writerModel ||
|
|
333
|
+
process.env.AI_CODE_REVIEW_WRITER_MODEL ||
|
|
334
|
+
configFile?.model?.writer ||
|
|
335
|
+
configFile?.api?.writer_model,
|
|
336
|
+
// Output configuration
|
|
337
|
+
outputDir: cliOptions?.outputDir ||
|
|
338
|
+
process.env.AI_CODE_REVIEW_OUTPUT_DIR ||
|
|
339
|
+
configFile?.output?.directory ||
|
|
340
|
+
configFile?.output?.dir ||
|
|
341
|
+
'cr-aia-docs',
|
|
342
|
+
outputFormat: cliOptions?.output ||
|
|
343
|
+
process.env.AI_CODE_REVIEW_OUTPUT_FORMAT ||
|
|
344
|
+
configFile?.output?.format ||
|
|
345
|
+
'markdown',
|
|
346
|
+
// Behavior configuration
|
|
347
|
+
debug: cliOptions?.debug ??
|
|
348
|
+
(process.env.AI_CODE_REVIEW_DEBUG === 'true' ? true : undefined) ??
|
|
349
|
+
configFile?.behavior?.debug ??
|
|
350
|
+
configFile?.system?.debug ??
|
|
351
|
+
false,
|
|
352
|
+
logLevel: cliOptions?.logLevel ||
|
|
353
|
+
process.env.AI_CODE_REVIEW_LOG_LEVEL ||
|
|
354
|
+
configFile?.behavior?.log_level ||
|
|
355
|
+
configFile?.system?.log_level ||
|
|
356
|
+
'info',
|
|
357
|
+
interactive: cliOptions?.interactive ??
|
|
358
|
+
(process.env.AI_CODE_REVIEW_INTERACTIVE === 'true' ? true : undefined) ??
|
|
359
|
+
configFile?.behavior?.interactive ??
|
|
360
|
+
configFile?.review?.interactive ??
|
|
361
|
+
false,
|
|
362
|
+
// Review features
|
|
363
|
+
includeTests: cliOptions?.includeTests ??
|
|
364
|
+
(process.env.AI_CODE_REVIEW_INCLUDE_TESTS === 'true' ? true : undefined) ??
|
|
365
|
+
configFile?.features?.include_tests ??
|
|
366
|
+
configFile?.review?.include_tests ??
|
|
367
|
+
false,
|
|
368
|
+
includeProjectDocs: cliOptions?.includeProjectDocs ??
|
|
369
|
+
(process.env.AI_CODE_REVIEW_INCLUDE_PROJECT_DOCS === 'true' ? true : undefined) ??
|
|
370
|
+
configFile?.features?.include_project_docs ??
|
|
371
|
+
configFile?.review?.include_project_docs ??
|
|
372
|
+
true,
|
|
373
|
+
includeDependencyAnalysis: cliOptions?.includeDependencyAnalysis ??
|
|
374
|
+
(process.env.AI_CODE_REVIEW_INCLUDE_DEPENDENCY_ANALYSIS === 'true' ? true : undefined) ??
|
|
375
|
+
configFile?.features?.include_dependency_analysis ??
|
|
376
|
+
configFile?.review?.include_dependency_analysis ??
|
|
377
|
+
true,
|
|
378
|
+
// Multi-pass configuration
|
|
379
|
+
multiPass: cliOptions?.multiPass ??
|
|
380
|
+
(process.env.AI_CODE_REVIEW_MULTI_PASS === 'true' ? true : undefined) ??
|
|
381
|
+
configFile?.features?.multi_pass ??
|
|
382
|
+
false,
|
|
383
|
+
forceSinglePass: cliOptions?.forceSinglePass ??
|
|
384
|
+
(process.env.AI_CODE_REVIEW_FORCE_SINGLE_PASS === 'true' ? true : undefined) ??
|
|
385
|
+
configFile?.features?.force_single_pass ??
|
|
386
|
+
false,
|
|
387
|
+
contextMaintenanceFactor: cliOptions?.contextMaintenanceFactor ??
|
|
388
|
+
toOptionalNumber(process.env.AI_CODE_REVIEW_CONTEXT_MAINTENANCE_FACTOR) ??
|
|
389
|
+
0.15,
|
|
390
|
+
// Advanced features
|
|
391
|
+
testApi: cliOptions?.testApi ??
|
|
392
|
+
(process.env.AI_CODE_REVIEW_TEST_API === 'true' ? true : undefined) ??
|
|
393
|
+
configFile?.api?.test_api ??
|
|
394
|
+
false,
|
|
395
|
+
estimate: cliOptions?.estimate ??
|
|
396
|
+
(process.env.AI_CODE_REVIEW_ESTIMATE === 'true' ? true : undefined) ??
|
|
397
|
+
false,
|
|
398
|
+
noConfirm: cliOptions?.noConfirm ??
|
|
399
|
+
(process.env.AI_CODE_REVIEW_NO_CONFIRM === 'true' ? true : undefined) ??
|
|
400
|
+
!(configFile?.review?.confirm ?? true),
|
|
401
|
+
// Paths
|
|
402
|
+
contextPaths: undefined, // contextPaths is not available in CliOptions
|
|
403
|
+
configPath: cliOptions?.config,
|
|
404
|
+
// Coding test specific (from CLI options)
|
|
405
|
+
assignmentFile: cliOptions?.assignmentFile,
|
|
406
|
+
assignmentUrl: cliOptions?.assignmentUrl,
|
|
407
|
+
assignmentText: cliOptions?.assignmentText,
|
|
408
|
+
evaluationTemplate: cliOptions?.evaluationTemplate,
|
|
409
|
+
templateUrl: cliOptions?.templateUrl,
|
|
410
|
+
rubricFile: cliOptions?.rubricFile,
|
|
411
|
+
assessmentType: cliOptions?.assessmentType || 'coding-challenge',
|
|
412
|
+
difficultyLevel: cliOptions?.difficultyLevel || 'mid',
|
|
413
|
+
// Evaluation weights
|
|
414
|
+
weightCorrectness: cliOptions?.weightCorrectness ?? 30,
|
|
415
|
+
weightCodeQuality: cliOptions?.weightCodeQuality ?? 25,
|
|
416
|
+
weightArchitecture: cliOptions?.weightArchitecture ?? 20,
|
|
417
|
+
weightPerformance: cliOptions?.weightPerformance ?? 15,
|
|
418
|
+
weightTesting: cliOptions?.weightTesting ?? 10,
|
|
419
|
+
// Evaluation options
|
|
420
|
+
evaluateDocumentation: cliOptions?.evaluateDocumentation ?? false,
|
|
421
|
+
evaluateGitHistory: cliOptions?.evaluateGitHistory ?? false,
|
|
422
|
+
evaluateEdgeCases: cliOptions?.evaluateEdgeCases ?? false,
|
|
423
|
+
evaluateErrorHandling: cliOptions?.evaluateErrorHandling ?? false,
|
|
424
|
+
// Scoring system
|
|
425
|
+
scoringSystem: cliOptions?.scoringSystem || 'numeric',
|
|
426
|
+
maxScore: cliOptions?.maxScore ?? 100,
|
|
427
|
+
passingThreshold: cliOptions?.passingThreshold ?? 70,
|
|
428
|
+
scoreBreakdown: cliOptions?.scoreBreakdown ?? true,
|
|
429
|
+
// Feedback configuration
|
|
430
|
+
feedbackLevel: cliOptions?.feedbackLevel || 'detailed',
|
|
431
|
+
includeExamples: cliOptions?.includeExamples ?? true,
|
|
432
|
+
includeSuggestions: cliOptions?.includeSuggestions ?? true,
|
|
433
|
+
includeResources: cliOptions?.includeResources ?? false,
|
|
434
|
+
// AI detection
|
|
435
|
+
enableAiDetection: cliOptions?.enableAiDetection ?? false,
|
|
436
|
+
aiDetectionThreshold: cliOptions?.aiDetectionThreshold ?? 0.7,
|
|
437
|
+
aiDetectionAnalyzers: cliOptions?.aiDetectionAnalyzers || 'git,documentation',
|
|
438
|
+
aiDetectionIncludeInReport: cliOptions?.aiDetectionIncludeInReport ?? true,
|
|
439
|
+
aiDetectionFailOnDetection: cliOptions?.aiDetectionFailOnDetection ?? false,
|
|
440
|
+
// Constraints
|
|
441
|
+
allowedLibraries: cliOptions?.allowedLibraries,
|
|
442
|
+
forbiddenPatterns: cliOptions?.forbiddenPatterns,
|
|
443
|
+
nodeVersion: cliOptions?.nodeVersion,
|
|
444
|
+
typescriptVersion: cliOptions?.typescriptVersion,
|
|
445
|
+
memoryLimit: cliOptions?.memoryLimit,
|
|
446
|
+
executionTimeout: cliOptions?.executionTimeout,
|
|
447
|
+
timeLimit: cliOptions?.timeLimit,
|
|
448
|
+
// Diagram generation
|
|
449
|
+
diagram: cliOptions?.diagram ?? false,
|
|
450
|
+
// Batch processing
|
|
451
|
+
batchTokenLimit: cliOptions?.batchTokenLimit,
|
|
452
|
+
};
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Get API key from environment variables (OpenRouter only)
|
|
456
|
+
*/
|
|
457
|
+
getApiKey(provider) {
|
|
458
|
+
if (provider === 'openrouter') {
|
|
459
|
+
return process.env.AI_CODE_REVIEW_OPENROUTER_API_KEY || process.env.OPENROUTER_API_KEY;
|
|
460
|
+
}
|
|
461
|
+
return undefined;
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
exports.ConfigurationService = ConfigurationService;
|
|
465
|
+
// Export singleton instance for easy access
|
|
466
|
+
exports.configurationService = ConfigurationService.getInstance();
|
|
467
|
+
// Export convenience functions for backward compatibility
|
|
468
|
+
function getConfig(cliOptions) {
|
|
469
|
+
return exports.configurationService.getConfig(cliOptions);
|
|
470
|
+
}
|
|
471
|
+
function resetConfig() {
|
|
472
|
+
exports.configurationService.resetConfig();
|
|
473
|
+
}
|
|
474
|
+
function hasAnyApiKey(config) {
|
|
475
|
+
return exports.configurationService.hasAnyApiKey(config);
|
|
476
|
+
}
|
|
477
|
+
//# sourceMappingURL=ConfigurationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigurationService.js","sourceRoot":"","sources":["../../src/core/ConfigurationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Consolidation Service for Multi-Pass Reviews
|
|
3
|
+
*
|
|
4
|
+
* This service handles the consolidation of multi-pass review results into
|
|
5
|
+
* a single cohesive report. It manages both AI-powered consolidation and
|
|
6
|
+
* fallback consolidation when AI services are unavailable.
|
|
7
|
+
*/
|
|
8
|
+
import type { ReviewResult } from '../types/review';
|
|
9
|
+
import type { ApiClientConfig } from './ApiClientSelector';
|
|
10
|
+
/**
|
|
11
|
+
* Service for consolidating multi-pass review results
|
|
12
|
+
*/
|
|
13
|
+
export declare class ConsolidationService {
|
|
14
|
+
/**
|
|
15
|
+
* Generate a consolidated report from multi-pass review results
|
|
16
|
+
* @param multiPassResult Combined result from all passes
|
|
17
|
+
* @param apiClientConfig API client configuration
|
|
18
|
+
* @param options Consolidation options
|
|
19
|
+
* @returns Promise resolving to consolidated content
|
|
20
|
+
*/
|
|
21
|
+
generateConsolidatedReport(multiPassResult: ReviewResult, apiClientConfig: ApiClientConfig, options: {
|
|
22
|
+
projectName: string;
|
|
23
|
+
modelName: string;
|
|
24
|
+
totalPasses: number;
|
|
25
|
+
passResults: ReviewResult[];
|
|
26
|
+
}): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* Attempt AI-powered consolidation
|
|
29
|
+
* @param multiPassResult Combined result from all passes
|
|
30
|
+
* @param apiClientConfig API client configuration
|
|
31
|
+
* @param options Consolidation options
|
|
32
|
+
* @returns Promise resolving to consolidated content or null if failed
|
|
33
|
+
*/
|
|
34
|
+
private attemptAiConsolidation;
|
|
35
|
+
/**
|
|
36
|
+
* Creates an enhanced fallback consolidation with better error handling
|
|
37
|
+
* @param multiPassResult The combined result from all passes
|
|
38
|
+
* @param modelName The model name used for the review
|
|
39
|
+
* @param options Additional consolidation options
|
|
40
|
+
* @returns Enhanced fallback consolidation content
|
|
41
|
+
*/
|
|
42
|
+
private createEnhancedFallbackConsolidation;
|
|
43
|
+
/**
|
|
44
|
+
* Creates a basic fallback consolidation when AI consolidation fails
|
|
45
|
+
* @param multiPassResult The combined result from all passes
|
|
46
|
+
* @param modelName The model name used for the review
|
|
47
|
+
* @returns Basic fallback consolidation content
|
|
48
|
+
*/
|
|
49
|
+
private createFallbackConsolidation;
|
|
50
|
+
/**
|
|
51
|
+
* Extract findings from valid passes
|
|
52
|
+
* @param passResults Array of pass results
|
|
53
|
+
* @returns Categorized findings
|
|
54
|
+
*/
|
|
55
|
+
private extractFindingsFromPasses;
|
|
56
|
+
/**
|
|
57
|
+
* Extract individual issue texts from content
|
|
58
|
+
* @param content Review content
|
|
59
|
+
* @returns Array of issue descriptions
|
|
60
|
+
*/
|
|
61
|
+
private extractIssueTexts;
|
|
62
|
+
/**
|
|
63
|
+
* Check if an issue is high priority
|
|
64
|
+
* @param issue Issue text (lowercase)
|
|
65
|
+
* @returns True if high priority
|
|
66
|
+
*/
|
|
67
|
+
private isHighPriority;
|
|
68
|
+
/**
|
|
69
|
+
* Check if an issue is medium priority
|
|
70
|
+
* @param issue Issue text (lowercase)
|
|
71
|
+
* @returns True if medium priority
|
|
72
|
+
*/
|
|
73
|
+
private isMediumPriority;
|
|
74
|
+
/**
|
|
75
|
+
* Calculate overall grade based on findings
|
|
76
|
+
* @param findings Categorized findings
|
|
77
|
+
* @returns Overall grade string
|
|
78
|
+
*/
|
|
79
|
+
private calculateOverallGrade;
|
|
80
|
+
/**
|
|
81
|
+
* Generate recommendations based on findings
|
|
82
|
+
* @param findings Categorized findings
|
|
83
|
+
* @param hasErrors Whether there are compilation errors
|
|
84
|
+
* @returns Array of recommendation strings
|
|
85
|
+
*/
|
|
86
|
+
private generateRecommendations;
|
|
87
|
+
/**
|
|
88
|
+
* Format findings for display
|
|
89
|
+
* @param findings Categorized findings
|
|
90
|
+
* @returns Formatted findings string
|
|
91
|
+
*/
|
|
92
|
+
private formatFindings;
|
|
93
|
+
/**
|
|
94
|
+
* Generate a summary of all passes
|
|
95
|
+
* @param passResults Array of pass results
|
|
96
|
+
* @returns Pass summary string
|
|
97
|
+
*/
|
|
98
|
+
private generatePassSummary;
|
|
99
|
+
}
|