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,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Review orchestrator module.
|
|
3
|
+
*
|
|
4
|
+
* This module is responsible for coordinating the review process,
|
|
5
|
+
* selecting the appropriate API client, and managing the review workflow.
|
|
6
|
+
*/
|
|
7
|
+
import type { ReviewOptions } from '../types/review';
|
|
8
|
+
/**
|
|
9
|
+
* Orchestrate the code review process
|
|
10
|
+
*
|
|
11
|
+
* This function is the main entry point for the code review process. It coordinates
|
|
12
|
+
* the entire review workflow, including:
|
|
13
|
+
* - Validating inputs and environment variables
|
|
14
|
+
* - Selecting the appropriate API client based on available API keys
|
|
15
|
+
* - Discovering files to review
|
|
16
|
+
* - Handling different review types (consolidated, individual, architectural)
|
|
17
|
+
* - Managing output directories and file generation
|
|
18
|
+
* - Supporting interactive mode for real-time feedback
|
|
19
|
+
*
|
|
20
|
+
* @param target Path to the file or directory to review
|
|
21
|
+
* @param options Review options including type, output format, and interactive mode
|
|
22
|
+
* @throws Error if the review process fails for any reason
|
|
23
|
+
*/
|
|
24
|
+
export declare function orchestrateReview(target: string, options: ReviewOptions): Promise<void>;
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Review orchestrator module.
|
|
4
|
+
*
|
|
5
|
+
* This module is responsible for coordinating the review process,
|
|
6
|
+
* selecting the appropriate API client, and managing the review workflow.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.orchestrateReview = orchestrateReview;
|
|
46
|
+
const path = __importStar(require("node:path"));
|
|
47
|
+
const apiUtils_1 = require("../utils/api/apiUtils");
|
|
48
|
+
const ConfigurationService_1 = require("../core/ConfigurationService");
|
|
49
|
+
const ConfigurationService_2 = require("../core/ConfigurationService");
|
|
50
|
+
const fileSystem_1 = require("../utils/fileSystem");
|
|
51
|
+
const logger_1 = __importDefault(require("../utils/logger"));
|
|
52
|
+
const projectDocs_1 = require("../utils/projectDocs");
|
|
53
|
+
// Import other dependencies
|
|
54
|
+
const ApiClientSelector_1 = require("./ApiClientSelector");
|
|
55
|
+
const EstimationHandler_1 = require("./handlers/EstimationHandler");
|
|
56
|
+
// Import handlers
|
|
57
|
+
const FileProcessingHandler_1 = require("./handlers/FileProcessingHandler");
|
|
58
|
+
const OutputHandler_1 = require("./handlers/OutputHandler");
|
|
59
|
+
const ReviewExecutor_1 = require("./handlers/ReviewExecutor");
|
|
60
|
+
/**
|
|
61
|
+
* Orchestrate the code review process
|
|
62
|
+
*
|
|
63
|
+
* This function is the main entry point for the code review process. It coordinates
|
|
64
|
+
* the entire review workflow, including:
|
|
65
|
+
* - Validating inputs and environment variables
|
|
66
|
+
* - Selecting the appropriate API client based on available API keys
|
|
67
|
+
* - Discovering files to review
|
|
68
|
+
* - Handling different review types (consolidated, individual, architectural)
|
|
69
|
+
* - Managing output directories and file generation
|
|
70
|
+
* - Supporting interactive mode for real-time feedback
|
|
71
|
+
*
|
|
72
|
+
* @param target Path to the file or directory to review
|
|
73
|
+
* @param options Review options including type, output format, and interactive mode
|
|
74
|
+
* @throws Error if the review process fails for any reason
|
|
75
|
+
*/
|
|
76
|
+
async function orchestrateReview(target, options) {
|
|
77
|
+
// Initialize configuration
|
|
78
|
+
(0, ConfigurationService_1.getConfig)();
|
|
79
|
+
try {
|
|
80
|
+
// Validate input parameters
|
|
81
|
+
if (options === undefined) {
|
|
82
|
+
throw new Error('Review options object must be provided');
|
|
83
|
+
}
|
|
84
|
+
// Validate that options contains a review type
|
|
85
|
+
if (!options.type) {
|
|
86
|
+
throw new Error('Review type must be specified in options');
|
|
87
|
+
}
|
|
88
|
+
// Ensure target is defined with a default of "." for current directory
|
|
89
|
+
const effectiveTarget = target || '.';
|
|
90
|
+
// Log if we're using the default target
|
|
91
|
+
if (!target || target.trim() === '') {
|
|
92
|
+
logger_1.default.info('No target path provided, defaulting to current directory (".")');
|
|
93
|
+
}
|
|
94
|
+
// Add debug information if debug mode is enabled
|
|
95
|
+
if (options.debug) {
|
|
96
|
+
logger_1.default.debug(`[ORCHESTRATOR] Effective target: "${effectiveTarget}"`);
|
|
97
|
+
logger_1.default.debug(`[ORCHESTRATOR] Review type: "${options.type}"`);
|
|
98
|
+
logger_1.default.debug(`Review options: ${JSON.stringify(options, null, 2)}`);
|
|
99
|
+
logger_1.default.debug(`Target path: ${effectiveTarget}${!target || target.trim() === '' ? ' (defaulted to ".")' : ''}`);
|
|
100
|
+
logger_1.default.debug(`Selected model: ${process.env.AI_CODE_REVIEW_MODEL || 'not set'}`);
|
|
101
|
+
logger_1.default.debug(`API key type: ${(0, apiUtils_1.getApiKeyType)() || 'None'}`);
|
|
102
|
+
}
|
|
103
|
+
// Test API connections if requested (removed - no longer supported)
|
|
104
|
+
if (options.testApi) {
|
|
105
|
+
logger_1.default.warn('API connection tests are not available in this build.');
|
|
106
|
+
}
|
|
107
|
+
// Log the review type
|
|
108
|
+
if (options.type === 'architectural') {
|
|
109
|
+
logger_1.default.info(`Starting architectural review for ${effectiveTarget}...`);
|
|
110
|
+
}
|
|
111
|
+
else if (options.type === 'coding-test') {
|
|
112
|
+
logger_1.default.info(`Starting coding test evaluation for ${effectiveTarget}...`);
|
|
113
|
+
}
|
|
114
|
+
else if (options.type === 'extract-patterns') {
|
|
115
|
+
logger_1.default.info(`Starting pattern extraction for ${effectiveTarget}...`);
|
|
116
|
+
}
|
|
117
|
+
else if (options.type === 'unused-code') {
|
|
118
|
+
logger_1.default.info(`Starting unused code review for ${effectiveTarget}...`);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
logger_1.default.info(`Starting ${options.type} review for ${effectiveTarget}...`);
|
|
122
|
+
}
|
|
123
|
+
// Determine the project path
|
|
124
|
+
const projectPath = process.cwd();
|
|
125
|
+
const projectName = path.basename(projectPath);
|
|
126
|
+
// Create output directory using the centralized function
|
|
127
|
+
const configOutputDir = ConfigurationService_2.configurationService.getPathsConfig().outputDir;
|
|
128
|
+
const outputBaseDir = (0, OutputHandler_1.createOutputDirectory)(projectPath, {
|
|
129
|
+
outputDir: options.outputDir,
|
|
130
|
+
configOutputDir: configOutputDir,
|
|
131
|
+
});
|
|
132
|
+
// Create the directory
|
|
133
|
+
await (0, fileSystem_1.createDirectory)(outputBaseDir);
|
|
134
|
+
// Log project information
|
|
135
|
+
logger_1.default.info(`Project: ${projectName}`);
|
|
136
|
+
logger_1.default.info(`Project path: ${projectPath}`);
|
|
137
|
+
// Detect language and framework
|
|
138
|
+
let frameworkDetectionResult = null;
|
|
139
|
+
if (!options.language) {
|
|
140
|
+
try {
|
|
141
|
+
const { detectFramework } = await Promise.resolve().then(() => __importStar(require('../utils/detection')));
|
|
142
|
+
frameworkDetectionResult = await detectFramework(projectPath);
|
|
143
|
+
if (frameworkDetectionResult) {
|
|
144
|
+
options.language = frameworkDetectionResult.language;
|
|
145
|
+
options.framework = frameworkDetectionResult.framework;
|
|
146
|
+
if (frameworkDetectionResult.framework !== 'none' &&
|
|
147
|
+
frameworkDetectionResult.confidence > 0.6) {
|
|
148
|
+
logger_1.default.info(`Detected language: ${frameworkDetectionResult.language}, framework: ${frameworkDetectionResult.framework} (confidence: ${frameworkDetectionResult.confidence.toFixed(2)})`);
|
|
149
|
+
if (frameworkDetectionResult.frameworkVersion) {
|
|
150
|
+
logger_1.default.info(`Framework version: ${frameworkDetectionResult.frameworkVersion}`);
|
|
151
|
+
}
|
|
152
|
+
if (frameworkDetectionResult.additionalFrameworks &&
|
|
153
|
+
frameworkDetectionResult.additionalFrameworks.length > 0) {
|
|
154
|
+
logger_1.default.info(`Additional frameworks detected: ${frameworkDetectionResult.additionalFrameworks.join(', ')}`);
|
|
155
|
+
}
|
|
156
|
+
if (frameworkDetectionResult.cssFrameworks &&
|
|
157
|
+
frameworkDetectionResult.cssFrameworks.length > 0) {
|
|
158
|
+
const cssFrameworksStr = frameworkDetectionResult.cssFrameworks
|
|
159
|
+
.map((cf) => (cf.version ? `${cf.name} (${cf.version})` : cf.name))
|
|
160
|
+
.join(', ');
|
|
161
|
+
logger_1.default.info(`CSS frameworks detected: ${cssFrameworksStr}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
logger_1.default.info(`Detected language: ${frameworkDetectionResult.language}, no specific framework detected`);
|
|
166
|
+
// Still log CSS frameworks if detected
|
|
167
|
+
if (frameworkDetectionResult.cssFrameworks &&
|
|
168
|
+
frameworkDetectionResult.cssFrameworks.length > 0) {
|
|
169
|
+
const cssFrameworksStr = frameworkDetectionResult.cssFrameworks
|
|
170
|
+
.map((cf) => (cf.version ? `${cf.name} (${cf.version})` : cf.name))
|
|
171
|
+
.join(', ');
|
|
172
|
+
logger_1.default.info(`CSS frameworks detected: ${cssFrameworksStr}`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
logger_1.default.debug(`Error detecting language/framework: ${error instanceof Error ? error.message : String(error)}`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// Discover files to review
|
|
182
|
+
const filesToReview = await (0, FileProcessingHandler_1.discoverFilesForReview)(effectiveTarget, projectPath, options);
|
|
183
|
+
if (filesToReview.length === 0) {
|
|
184
|
+
return; // No files to review, exit early
|
|
185
|
+
}
|
|
186
|
+
// If estimate flag is set, calculate and display token usage and cost estimates
|
|
187
|
+
if (options.estimate) {
|
|
188
|
+
// Get the model name from options or environment variables
|
|
189
|
+
const modelName = options.model || process.env.AI_CODE_REVIEW_MODEL || 'openrouter:anthropic/claude-3-opus-20240229';
|
|
190
|
+
try {
|
|
191
|
+
// Read file contents for token analysis
|
|
192
|
+
const { fileInfos, errors } = await (0, FileProcessingHandler_1.readFilesForReview)(filesToReview, projectPath);
|
|
193
|
+
// If we have errors reading files, report them but continue
|
|
194
|
+
if (errors.length > 0) {
|
|
195
|
+
console.warn(`Warning: Failed to read ${errors.length} file(s):`);
|
|
196
|
+
for (const error of errors) {
|
|
197
|
+
console.warn(` - ${error.path}: ${error.error}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// Ensure we have at least some files to analyze
|
|
201
|
+
if (fileInfos.length === 0) {
|
|
202
|
+
throw new Error('No files could be read for review. Please check file permissions and paths.');
|
|
203
|
+
}
|
|
204
|
+
// Perform estimation
|
|
205
|
+
await (0, EstimationHandler_1.performEstimation)(fileInfos, filesToReview, options, modelName);
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
logger_1.default.error(`Estimation failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
209
|
+
}
|
|
210
|
+
return; // Exit after displaying the estimation
|
|
211
|
+
}
|
|
212
|
+
// Read file contents
|
|
213
|
+
const { fileInfos } = await (0, FileProcessingHandler_1.readFilesForReview)(filesToReview, projectPath);
|
|
214
|
+
// Read project documentation if enabled
|
|
215
|
+
let projectDocs = null;
|
|
216
|
+
if (options.includeProjectDocs) {
|
|
217
|
+
logger_1.default.info('Reading project documentation...');
|
|
218
|
+
projectDocs = await (0, projectDocs_1.readProjectDocs)(projectPath);
|
|
219
|
+
}
|
|
220
|
+
// Get the API client configuration
|
|
221
|
+
const apiClientConfig = await (0, ApiClientSelector_1.selectApiClient)(options);
|
|
222
|
+
// Log writer model if configured
|
|
223
|
+
const config = (0, ConfigurationService_1.getConfig)(options);
|
|
224
|
+
logger_1.default.debug(`Config writerModel: ${config.writerModel}`);
|
|
225
|
+
if (config.writerModel) {
|
|
226
|
+
logger_1.default.info(`Using writer model for consolidation: ${config.writerModel}`);
|
|
227
|
+
}
|
|
228
|
+
// Perform token analysis to check if content exceeds context window
|
|
229
|
+
let tokenAnalysis = null;
|
|
230
|
+
if (!options.multiPass) {
|
|
231
|
+
try {
|
|
232
|
+
logger_1.default.info('Analyzing token usage to determine review strategy...');
|
|
233
|
+
// Use the new TokenAnalyzer for more comprehensive analysis
|
|
234
|
+
const { TokenAnalyzer } = await Promise.resolve().then(() => __importStar(require('../analysis/tokens')));
|
|
235
|
+
const tokenAnalysisOptions = {
|
|
236
|
+
reviewType: options.type,
|
|
237
|
+
modelName: apiClientConfig.modelName,
|
|
238
|
+
contextMaintenanceFactor: options.contextMaintenanceFactor || 0.15,
|
|
239
|
+
forceSinglePass: options.forceSinglePass,
|
|
240
|
+
batchTokenLimit: options.batchTokenLimit,
|
|
241
|
+
};
|
|
242
|
+
// Log if forceSinglePass is enabled
|
|
243
|
+
if (options.forceSinglePass) {
|
|
244
|
+
logger_1.default.info('Force single-pass mode is enabled. This will override the chunking recommendation.');
|
|
245
|
+
logger_1.default.info("Note: This may result in token limit errors if the content exceeds the model's context window.");
|
|
246
|
+
}
|
|
247
|
+
tokenAnalysis = TokenAnalyzer.analyzeFiles(fileInfos, tokenAnalysisOptions);
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
logger_1.default.warn(`Token analysis failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
251
|
+
logger_1.default.info('Proceeding with review without token analysis');
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// Execute the review
|
|
255
|
+
const reviewResult = await (0, ReviewExecutor_1.executeReview)(fileInfos, options, apiClientConfig, projectDocs, tokenAnalysis);
|
|
256
|
+
// Handle review output
|
|
257
|
+
await (0, OutputHandler_1.handleReviewOutput)(reviewResult, options, outputBaseDir);
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
// Import TokenLimitError for specific handling
|
|
261
|
+
const { TokenLimitError } = await Promise.resolve().then(() => __importStar(require('../utils/apiErrorHandler')));
|
|
262
|
+
// Handle token limit errors with helpful guidance
|
|
263
|
+
if (error instanceof TokenLimitError) {
|
|
264
|
+
logger_1.default.error('');
|
|
265
|
+
logger_1.default.error('==========================================');
|
|
266
|
+
logger_1.default.error('TOKEN LIMIT EXCEEDED');
|
|
267
|
+
logger_1.default.error('==========================================');
|
|
268
|
+
logger_1.default.error(`The codebase is too large for single-pass review.`);
|
|
269
|
+
if (error.tokenCount) {
|
|
270
|
+
logger_1.default.error(`Content size: ${error.tokenCount.toLocaleString()} tokens`);
|
|
271
|
+
}
|
|
272
|
+
logger_1.default.error('');
|
|
273
|
+
logger_1.default.error('SOLUTION: Use the --multi-pass flag to automatically split the review into multiple passes:');
|
|
274
|
+
logger_1.default.error('');
|
|
275
|
+
logger_1.default.error(' cr-aia --multi-pass');
|
|
276
|
+
logger_1.default.error('');
|
|
277
|
+
logger_1.default.error('This will intelligently chunk your codebase and maintain context between passes.');
|
|
278
|
+
logger_1.default.error('==========================================');
|
|
279
|
+
logger_1.default.error('');
|
|
280
|
+
if (options.debug && error.stack) {
|
|
281
|
+
logger_1.default.debug(`Error stack trace: ${error.stack}`);
|
|
282
|
+
}
|
|
283
|
+
// Re-throw with a cleaner message
|
|
284
|
+
throw new Error('Token limit exceeded. Please use --multi-pass flag for large codebases.');
|
|
285
|
+
}
|
|
286
|
+
// Handle any other errors
|
|
287
|
+
logger_1.default.error(`Review failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
288
|
+
if (error instanceof Error && error.stack && options.debug) {
|
|
289
|
+
logger_1.default.debug(`Error stack trace: ${error.stack}`);
|
|
290
|
+
}
|
|
291
|
+
throw error;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=reviewOrchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewOrchestrator.js","sourceRoot":"","sources":["../../src/core/reviewOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Utilities for handling model information and display
|
|
3
|
+
*
|
|
4
|
+
* This module provides helper functions for parsing and displaying
|
|
5
|
+
* provider and model information in a user-friendly format.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Parse and display provider and model information
|
|
9
|
+
*
|
|
10
|
+
* @param modelName The full model name (e.g., 'openai:gpt-4.1')
|
|
11
|
+
* @returns An object with provider and model display information
|
|
12
|
+
*/
|
|
13
|
+
export declare function getProviderDisplayInfo(modelName: string): {
|
|
14
|
+
provider: string;
|
|
15
|
+
model: string;
|
|
16
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Utilities for handling model information and display
|
|
4
|
+
*
|
|
5
|
+
* This module provides helper functions for parsing and displaying
|
|
6
|
+
* provider and model information in a user-friendly format.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getProviderDisplayInfo = getProviderDisplayInfo;
|
|
10
|
+
/**
|
|
11
|
+
* Parse and display provider and model information
|
|
12
|
+
*
|
|
13
|
+
* @param modelName The full model name (e.g., 'openai:gpt-4.1')
|
|
14
|
+
* @returns An object with provider and model display information
|
|
15
|
+
*/
|
|
16
|
+
function getProviderDisplayInfo(modelName) {
|
|
17
|
+
const getFallbackInfo = () => {
|
|
18
|
+
const parts = modelName.split(':');
|
|
19
|
+
if (parts.length === 2 && parts[1]) {
|
|
20
|
+
const providerPart = parts[0].toLowerCase();
|
|
21
|
+
return {
|
|
22
|
+
provider: providerPart.charAt(0).toUpperCase() + providerPart.slice(1), // Capitalize provider name
|
|
23
|
+
model: parts[1],
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
provider: 'Unknown',
|
|
28
|
+
model: modelName,
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
// If the model name doesn't contain a colon, it's not in the expected format
|
|
32
|
+
if (!modelName.includes(':')) {
|
|
33
|
+
return {
|
|
34
|
+
provider: 'Unknown',
|
|
35
|
+
model: modelName,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
const [providerPart, modelPart] = modelName.split(':', 2);
|
|
40
|
+
if (modelPart) {
|
|
41
|
+
const provider = providerPart.charAt(0).toUpperCase() + providerPart.slice(1).toLowerCase();
|
|
42
|
+
return {
|
|
43
|
+
provider,
|
|
44
|
+
model: modelPart,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (_error) {
|
|
49
|
+
// If parsing fails, use a fallback approach
|
|
50
|
+
return getFallbackInfo();
|
|
51
|
+
}
|
|
52
|
+
return getFallbackInfo();
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ModelInfoUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelInfoUtils.js","sourceRoot":"","sources":["../../../src/core/utils/ModelInfoUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAQH,wDA0CC;AAhDD;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,SAAiB;IACtD,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO;gBACL,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,2BAA2B;gBACnG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aAChB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC,CAAC;IAEF,6EAA6E;IAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1D,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,QAAQ,GACZ,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7E,OAAO;gBACL,QAAQ;gBACR,KAAK,EAAE,SAAS;aACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,4CAA4C;QAC5C,OAAO,eAAe,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Formatter for code review output in different formats.
|
|
3
|
+
*
|
|
4
|
+
* This module provides formatting utilities for code review results, supporting
|
|
5
|
+
* multiple output formats including Markdown and JSON. It handles the transformation
|
|
6
|
+
* of raw review data into well-structured, readable formats suitable for different
|
|
7
|
+
* consumption patterns.
|
|
8
|
+
*
|
|
9
|
+
* Key responsibilities:
|
|
10
|
+
* - Converting review results to Markdown format with proper headings and sections
|
|
11
|
+
* - Converting review results to JSON format for programmatic consumption
|
|
12
|
+
* - Sanitizing content to prevent rendering issues
|
|
13
|
+
* - Adding metadata like review date, model used, and cost information
|
|
14
|
+
* - Formatting code snippets and recommendations consistently
|
|
15
|
+
*
|
|
16
|
+
* The formatter ensures that review outputs are consistent, readable, and properly
|
|
17
|
+
* structured regardless of the review type or content.
|
|
18
|
+
*/
|
|
19
|
+
import type { ReviewResult } from '../types/review';
|
|
20
|
+
/**
|
|
21
|
+
* Format the review output based on the specified format
|
|
22
|
+
* @param review Review result to format
|
|
23
|
+
* @param format Output format (markdown or json)
|
|
24
|
+
* @returns Formatted review output
|
|
25
|
+
*/
|
|
26
|
+
export declare function formatReviewOutput(review: ReviewResult, format: string): string;
|
|
27
|
+
export { formatIssue, formatSchemaIssue } from './utils/IssueFormatters';
|
|
28
|
+
export { formatAsJson } from './utils/JsonFormatter';
|
|
29
|
+
export { formatAsMarkdown } from './utils/MarkdownFormatters';
|
|
30
|
+
export { createEnhancedMetadata, formatCostInfo, formatMetadataSection, parseCostInfo, parseMetadata, } from './utils/MetadataFormatter';
|
|
31
|
+
export { extractModelInfo, extractModelInfoFromString } from './utils/ModelInfoExtractor';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Formatter for code review output in different formats.
|
|
4
|
+
*
|
|
5
|
+
* This module provides formatting utilities for code review results, supporting
|
|
6
|
+
* multiple output formats including Markdown and JSON. It handles the transformation
|
|
7
|
+
* of raw review data into well-structured, readable formats suitable for different
|
|
8
|
+
* consumption patterns.
|
|
9
|
+
*
|
|
10
|
+
* Key responsibilities:
|
|
11
|
+
* - Converting review results to Markdown format with proper headings and sections
|
|
12
|
+
* - Converting review results to JSON format for programmatic consumption
|
|
13
|
+
* - Sanitizing content to prevent rendering issues
|
|
14
|
+
* - Adding metadata like review date, model used, and cost information
|
|
15
|
+
* - Formatting code snippets and recommendations consistently
|
|
16
|
+
*
|
|
17
|
+
* The formatter ensures that review outputs are consistent, readable, and properly
|
|
18
|
+
* structured regardless of the review type or content.
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.extractModelInfoFromString = exports.extractModelInfo = exports.parseMetadata = exports.parseCostInfo = exports.formatMetadataSection = exports.formatCostInfo = exports.createEnhancedMetadata = exports.formatAsMarkdown = exports.formatAsJson = exports.formatSchemaIssue = exports.formatIssue = void 0;
|
|
22
|
+
exports.formatReviewOutput = formatReviewOutput;
|
|
23
|
+
const JsonFormatter_1 = require("./utils/JsonFormatter");
|
|
24
|
+
const MarkdownFormatters_1 = require("./utils/MarkdownFormatters");
|
|
25
|
+
/**
|
|
26
|
+
* Format the review output based on the specified format
|
|
27
|
+
* @param review Review result to format
|
|
28
|
+
* @param format Output format (markdown or json)
|
|
29
|
+
* @returns Formatted review output
|
|
30
|
+
*/
|
|
31
|
+
function formatReviewOutput(review, format) {
|
|
32
|
+
// Debug logging to help diagnose issues with missing fields
|
|
33
|
+
if (!review.filePath) {
|
|
34
|
+
console.warn('Warning: filePath is undefined or empty in ReviewResult');
|
|
35
|
+
}
|
|
36
|
+
if (!review.modelUsed) {
|
|
37
|
+
console.warn('Warning: modelUsed is undefined or empty in ReviewResult');
|
|
38
|
+
}
|
|
39
|
+
// Ensure costInfo is set if only cost is available
|
|
40
|
+
if (review.cost && !review.costInfo) {
|
|
41
|
+
review.costInfo = review.cost;
|
|
42
|
+
}
|
|
43
|
+
if (format === 'json') {
|
|
44
|
+
return (0, JsonFormatter_1.formatAsJson)(review);
|
|
45
|
+
}
|
|
46
|
+
return (0, MarkdownFormatters_1.formatAsMarkdown)(review);
|
|
47
|
+
}
|
|
48
|
+
var IssueFormatters_1 = require("./utils/IssueFormatters");
|
|
49
|
+
Object.defineProperty(exports, "formatIssue", { enumerable: true, get: function () { return IssueFormatters_1.formatIssue; } });
|
|
50
|
+
Object.defineProperty(exports, "formatSchemaIssue", { enumerable: true, get: function () { return IssueFormatters_1.formatSchemaIssue; } });
|
|
51
|
+
var JsonFormatter_2 = require("./utils/JsonFormatter");
|
|
52
|
+
Object.defineProperty(exports, "formatAsJson", { enumerable: true, get: function () { return JsonFormatter_2.formatAsJson; } });
|
|
53
|
+
// Re-export utility functions for use by other modules
|
|
54
|
+
var MarkdownFormatters_2 = require("./utils/MarkdownFormatters");
|
|
55
|
+
Object.defineProperty(exports, "formatAsMarkdown", { enumerable: true, get: function () { return MarkdownFormatters_2.formatAsMarkdown; } });
|
|
56
|
+
var MetadataFormatter_1 = require("./utils/MetadataFormatter");
|
|
57
|
+
Object.defineProperty(exports, "createEnhancedMetadata", { enumerable: true, get: function () { return MetadataFormatter_1.createEnhancedMetadata; } });
|
|
58
|
+
Object.defineProperty(exports, "formatCostInfo", { enumerable: true, get: function () { return MetadataFormatter_1.formatCostInfo; } });
|
|
59
|
+
Object.defineProperty(exports, "formatMetadataSection", { enumerable: true, get: function () { return MetadataFormatter_1.formatMetadataSection; } });
|
|
60
|
+
Object.defineProperty(exports, "parseCostInfo", { enumerable: true, get: function () { return MetadataFormatter_1.parseCostInfo; } });
|
|
61
|
+
Object.defineProperty(exports, "parseMetadata", { enumerable: true, get: function () { return MetadataFormatter_1.parseMetadata; } });
|
|
62
|
+
var ModelInfoExtractor_1 = require("./utils/ModelInfoExtractor");
|
|
63
|
+
Object.defineProperty(exports, "extractModelInfo", { enumerable: true, get: function () { return ModelInfoExtractor_1.extractModelInfo; } });
|
|
64
|
+
Object.defineProperty(exports, "extractModelInfoFromString", { enumerable: true, get: function () { return ModelInfoExtractor_1.extractModelInfoFromString; } });
|
|
65
|
+
//# sourceMappingURL=outputFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outputFormatter.js","sourceRoot":"","sources":["../../src/formatters/outputFormatter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAYH,gDAmBC;AA5BD,yDAAqD;AACrD,mEAA8D;AAE9D;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,MAAoB,EAAE,MAAc;IACrE,4DAA4D;IAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAC3E,CAAC;IAED,mDAAmD;IACnD,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,IAAA,4BAAY,EAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,IAAA,qCAAgB,EAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,2DAAyE;AAAhE,8GAAA,WAAW,OAAA;AAAE,oHAAA,iBAAiB,OAAA;AACvC,uDAAqD;AAA5C,6GAAA,YAAY,OAAA;AACrB,uDAAuD;AACvD,iEAA8D;AAArD,sHAAA,gBAAgB,OAAA;AACzB,+DAMmC;AALjC,2HAAA,sBAAsB,OAAA;AACtB,mHAAA,cAAc,OAAA;AACd,0HAAA,qBAAqB,OAAA;AACrB,kHAAA,aAAa,OAAA;AACb,kHAAA,aAAa,OAAA;AAEf,iEAA0F;AAAjF,sHAAA,gBAAgB,OAAA;AAAE,gIAAA,0BAA0B,OAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Formatters for review issues in different formats.
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to format review issues in different formats,
|
|
5
|
+
* including structured issues and schema-based issues.
|
|
6
|
+
*/
|
|
7
|
+
import type { ReviewIssue } from '../../types/structuredReview';
|
|
8
|
+
/**
|
|
9
|
+
* Format a single issue from the schema format
|
|
10
|
+
* @param issue Issue object from schema
|
|
11
|
+
* @param index Issue number
|
|
12
|
+
* @returns Formatted issue string
|
|
13
|
+
*/
|
|
14
|
+
export declare function formatSchemaIssue(issue: any, index: number): string;
|
|
15
|
+
/**
|
|
16
|
+
* Format a single issue as Markdown
|
|
17
|
+
* @param issue Review issue
|
|
18
|
+
* @returns Markdown string
|
|
19
|
+
*/
|
|
20
|
+
export declare function formatIssue(issue: ReviewIssue): string;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Formatters for review issues in different formats.
|
|
4
|
+
*
|
|
5
|
+
* This module provides functions to format review issues in different formats,
|
|
6
|
+
* including structured issues and schema-based issues.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.formatSchemaIssue = formatSchemaIssue;
|
|
10
|
+
exports.formatIssue = formatIssue;
|
|
11
|
+
/**
|
|
12
|
+
* Format a single issue from the schema format
|
|
13
|
+
* @param issue Issue object from schema
|
|
14
|
+
* @param index Issue number
|
|
15
|
+
* @returns Formatted issue string
|
|
16
|
+
*/
|
|
17
|
+
function formatSchemaIssue(issue, index) {
|
|
18
|
+
let issueMarkdown = `### ${index}. ${issue.description}\n\n`;
|
|
19
|
+
if (issue.filePath) {
|
|
20
|
+
issueMarkdown += `**File**: \`${issue.filePath}\`\n`;
|
|
21
|
+
}
|
|
22
|
+
if (issue.location) {
|
|
23
|
+
issueMarkdown += `**Location**: Lines ${issue.location.startLine}-${issue.location.endLine}\n\n`;
|
|
24
|
+
}
|
|
25
|
+
if (issue.currentCode) {
|
|
26
|
+
issueMarkdown += `**Current Code**:\n\`\`\`\n${issue.currentCode}\n\`\`\`\n\n`;
|
|
27
|
+
}
|
|
28
|
+
if (issue.suggestedCode) {
|
|
29
|
+
issueMarkdown += `**Suggested Fix**:\n\`\`\`\n${issue.suggestedCode}\n\`\`\`\n\n`;
|
|
30
|
+
}
|
|
31
|
+
if (issue.explanation) {
|
|
32
|
+
issueMarkdown += `**Explanation**: ${issue.explanation}\n\n`;
|
|
33
|
+
}
|
|
34
|
+
issueMarkdown += `---\n\n`;
|
|
35
|
+
return issueMarkdown;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Format a single issue as Markdown
|
|
39
|
+
* @param issue Review issue
|
|
40
|
+
* @returns Markdown string
|
|
41
|
+
*/
|
|
42
|
+
function formatIssue(issue) {
|
|
43
|
+
// Guard against null or undefined issues
|
|
44
|
+
if (!issue) {
|
|
45
|
+
return '#### [Error: Issue data missing]';
|
|
46
|
+
}
|
|
47
|
+
const { title, type, filePath, lineNumbers, description, codeSnippet, suggestedFix, impact } = issue;
|
|
48
|
+
let issueMarkdown = `#### ${title || '[Untitled Issue]'}\n`;
|
|
49
|
+
if (filePath) {
|
|
50
|
+
issueMarkdown += `- **Location**: \`${filePath}${lineNumbers ? `:${lineNumbers}` : ''}\`\n`;
|
|
51
|
+
}
|
|
52
|
+
if (type) {
|
|
53
|
+
issueMarkdown += `- **Type**: ${type}\n`;
|
|
54
|
+
}
|
|
55
|
+
issueMarkdown += `- **Description**: ${description || 'No description provided'}\n`;
|
|
56
|
+
if (codeSnippet) {
|
|
57
|
+
issueMarkdown += `- **Code**:\n\`\`\`\n${codeSnippet}\n\`\`\`\n`;
|
|
58
|
+
}
|
|
59
|
+
if (suggestedFix) {
|
|
60
|
+
issueMarkdown += `- **Suggested Fix**:\n\`\`\`\n${suggestedFix}\n\`\`\`\n`;
|
|
61
|
+
}
|
|
62
|
+
if (impact) {
|
|
63
|
+
issueMarkdown += `- **Impact**: ${impact}\n`;
|
|
64
|
+
}
|
|
65
|
+
return issueMarkdown;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=IssueFormatters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IssueFormatters.js","sourceRoot":"","sources":["../../../src/formatters/utils/IssueFormatters.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAUH,8CA0BC;AAOD,kCAkCC;AAzED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,KAAU,EAAE,KAAa;IACzD,IAAI,aAAa,GAAG,OAAO,KAAK,KAAK,KAAK,CAAC,WAAW,MAAM,CAAC;IAE7D,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,aAAa,IAAI,eAAe,KAAK,CAAC,QAAQ,MAAM,CAAC;IACvD,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,aAAa,IAAI,uBAAuB,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC;IACnG,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,aAAa,IAAI,8BAA8B,KAAK,CAAC,WAAW,cAAc,CAAC;IACjF,CAAC;IAED,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,aAAa,IAAI,+BAA+B,KAAK,CAAC,aAAa,cAAc,CAAC;IACpF,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,aAAa,IAAI,oBAAoB,KAAK,CAAC,WAAW,MAAM,CAAC;IAC/D,CAAC;IAED,aAAa,IAAI,SAAS,CAAC;IAE3B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,KAAkB;IAC5C,yCAAyC;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,GAC1F,KAAK,CAAC;IAER,IAAI,aAAa,GAAG,QAAQ,KAAK,IAAI,kBAAkB,IAAI,CAAC;IAE5D,IAAI,QAAQ,EAAE,CAAC;QACb,aAAa,IAAI,qBAAqB,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAC9F,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,aAAa,IAAI,eAAe,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,aAAa,IAAI,sBAAsB,WAAW,IAAI,yBAAyB,IAAI,CAAC;IAEpF,IAAI,WAAW,EAAE,CAAC;QAChB,aAAa,IAAI,wBAAwB,WAAW,YAAY,CAAC;IACnE,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,aAAa,IAAI,iCAAiC,YAAY,YAAY,CAAC;IAC7E,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,aAAa,IAAI,iBAAiB,MAAM,IAAI,CAAC;IAC/C,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Formatter for JSON output of code reviews.
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to format code review results as JSON,
|
|
5
|
+
* including metadata, structured data, and content.
|
|
6
|
+
*/
|
|
7
|
+
import type { ReviewResult } from '../../types/review';
|
|
8
|
+
/**
|
|
9
|
+
* Format the review as JSON
|
|
10
|
+
* @param review Review result to format
|
|
11
|
+
* @returns JSON string
|
|
12
|
+
*/
|
|
13
|
+
export declare function formatAsJson(review: ReviewResult): string;
|