codereview-aia 0.2.0 → 0.2.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/index.js +0 -7
- package/dist/index.js.map +1 -1
- package/dist/runtime/api/batcher.d.ts +20 -0
- package/dist/runtime/api/batcher.js +52 -0
- package/dist/runtime/api/batcher.js.map +1 -0
- package/dist/runtime/api/edgeClient.d.ts +102 -0
- package/dist/runtime/api/edgeClient.js +162 -0
- package/dist/runtime/api/edgeClient.js.map +1 -0
- package/dist/runtime/api/index.d.ts +2 -0
- package/dist/runtime/api/index.js +9 -0
- package/dist/runtime/api/index.js.map +1 -0
- package/dist/runtime/cliEntry.js +24 -76
- package/dist/runtime/cliEntry.js.map +1 -1
- package/dist/runtime/errors.d.ts +13 -3
- package/dist/runtime/errors.js +31 -8
- package/dist/runtime/errors.js.map +1 -1
- package/dist/runtime/llm/index.d.ts +1 -0
- package/dist/runtime/llm/index.js +6 -0
- package/dist/runtime/llm/index.js.map +1 -0
- package/dist/runtime/llm/openRouterClient.d.ts +13 -0
- package/dist/runtime/llm/openRouterClient.js +187 -0
- package/dist/runtime/llm/openRouterClient.js.map +1 -0
- package/dist/runtime/phpFileResolver.d.ts +14 -0
- package/dist/runtime/phpFileResolver.js +231 -0
- package/dist/runtime/phpFileResolver.js.map +1 -0
- package/dist/runtime/phpcsParser.d.ts +10 -0
- package/dist/runtime/phpcsParser.js +35 -0
- package/dist/runtime/phpcsParser.js.map +1 -0
- package/dist/runtime/phpcsRunner.d.ts +32 -0
- package/dist/runtime/phpcsRunner.js +62 -0
- package/dist/runtime/phpcsRunner.js.map +1 -0
- package/dist/runtime/reportWriter.d.ts +17 -0
- package/dist/runtime/reportWriter.js +80 -0
- package/dist/runtime/reportWriter.js.map +1 -0
- package/dist/runtime/reviewPipeline.d.ts +14 -36
- package/dist/runtime/reviewPipeline.js +146 -199
- package/dist/runtime/reviewPipeline.js.map +1 -1
- package/dist/runtime/ui/RuntimeApp.js +23 -154
- package/dist/runtime/ui/RuntimeApp.js.map +1 -1
- package/dist/runtime/ui/screens/AuthScreen.d.ts +2 -3
- package/dist/runtime/ui/screens/AuthScreen.js +7 -53
- package/dist/runtime/ui/screens/AuthScreen.js.map +1 -1
- package/dist/runtime/ui/screens/ModeSelection.d.ts +1 -2
- package/dist/runtime/ui/screens/ModeSelection.js +14 -139
- package/dist/runtime/ui/screens/ModeSelection.js.map +1 -1
- package/dist/runtime/ui/screens/ProgressScreen.d.ts +5 -13
- package/dist/runtime/ui/screens/ProgressScreen.js +24 -61
- package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -1
- package/dist/runtime/ui/screens/ResultsScreen.js +7 -17
- package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -1
- package/package.json +4 -44
- package/dist/analysis/FindingsExtractor.d.ts +0 -105
- package/dist/analysis/FindingsExtractor.js +0 -363
- package/dist/analysis/FindingsExtractor.js.map +0 -1
- package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +0 -111
- package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +0 -215
- package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +0 -1
- package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +0 -142
- package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +0 -503
- package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +0 -1
- package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +0 -88
- package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +0 -343
- package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +0 -1
- package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +0 -104
- package/dist/analysis/ai-detection/core/AIDetectionEngine.js +0 -369
- package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +0 -1
- package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +0 -364
- package/dist/analysis/ai-detection/types/DetectionTypes.js +0 -32
- package/dist/analysis/ai-detection/types/DetectionTypes.js.map +0 -1
- package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +0 -97
- package/dist/analysis/ai-detection/utils/SubmissionConverter.js +0 -339
- package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +0 -1
- package/dist/analysis/context/ReviewContext.d.ts +0 -184
- package/dist/analysis/context/ReviewContext.js +0 -294
- package/dist/analysis/context/ReviewContext.js.map +0 -1
- package/dist/analysis/context/index.d.ts +0 -6
- package/dist/analysis/context/index.js +0 -23
- package/dist/analysis/context/index.js.map +0 -1
- package/dist/analysis/index.d.ts +0 -7
- package/dist/analysis/index.js +0 -24
- package/dist/analysis/index.js.map +0 -1
- package/dist/analysis/static/wpPhpcsRunner.d.ts +0 -11
- package/dist/analysis/static/wpPhpcsRunner.js +0 -219
- package/dist/analysis/static/wpPhpcsRunner.js.map +0 -1
- package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +0 -27
- package/dist/analysis/tokens/TokenAnalysisFormatter.js +0 -143
- package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +0 -1
- package/dist/analysis/tokens/TokenAnalyzer.d.ts +0 -155
- package/dist/analysis/tokens/TokenAnalyzer.js +0 -502
- package/dist/analysis/tokens/TokenAnalyzer.js.map +0 -1
- package/dist/analysis/tokens/index.d.ts +0 -7
- package/dist/analysis/tokens/index.js +0 -24
- package/dist/analysis/tokens/index.js.map +0 -1
- package/dist/clients/base/abstractClient.d.ts +0 -99
- package/dist/clients/base/abstractClient.js +0 -98
- package/dist/clients/base/abstractClient.js.map +0 -1
- package/dist/clients/base/httpClient.d.ts +0 -24
- package/dist/clients/base/httpClient.js +0 -147
- package/dist/clients/base/httpClient.js.map +0 -1
- package/dist/clients/base/index.d.ts +0 -11
- package/dist/clients/base/index.js +0 -28
- package/dist/clients/base/index.js.map +0 -1
- package/dist/clients/base/modelDetection.d.ts +0 -41
- package/dist/clients/base/modelDetection.js +0 -88
- package/dist/clients/base/modelDetection.js.map +0 -1
- package/dist/clients/base/responseProcessor.d.ts +0 -45
- package/dist/clients/base/responseProcessor.js +0 -495
- package/dist/clients/base/responseProcessor.js.map +0 -1
- package/dist/clients/factory/clientFactory.d.ts +0 -23
- package/dist/clients/factory/clientFactory.js +0 -50
- package/dist/clients/factory/clientFactory.js.map +0 -1
- package/dist/clients/factory/index.d.ts +0 -7
- package/dist/clients/factory/index.js +0 -24
- package/dist/clients/factory/index.js.map +0 -1
- package/dist/clients/implementations/index.d.ts +0 -7
- package/dist/clients/implementations/index.js +0 -24
- package/dist/clients/implementations/index.js.map +0 -1
- package/dist/clients/implementations/openRouterClient.d.ts +0 -69
- package/dist/clients/implementations/openRouterClient.js +0 -294
- package/dist/clients/implementations/openRouterClient.js.map +0 -1
- package/dist/clients/openRouterClient.d.ts +0 -42
- package/dist/clients/openRouterClient.js +0 -580
- package/dist/clients/openRouterClient.js.map +0 -1
- package/dist/clients/openRouterClientWrapper.d.ts +0 -22
- package/dist/clients/openRouterClientWrapper.js +0 -64
- package/dist/clients/openRouterClientWrapper.js.map +0 -1
- package/dist/clients/utils/directoryStructure.d.ts +0 -14
- package/dist/clients/utils/directoryStructure.js +0 -48
- package/dist/clients/utils/directoryStructure.js.map +0 -1
- package/dist/clients/utils/index.d.ts +0 -10
- package/dist/clients/utils/index.js +0 -31
- package/dist/clients/utils/index.js.map +0 -1
- package/dist/clients/utils/languageDetection.d.ts +0 -13
- package/dist/clients/utils/languageDetection.js +0 -46
- package/dist/clients/utils/languageDetection.js.map +0 -1
- package/dist/clients/utils/promptFormatter.d.ts +0 -37
- package/dist/clients/utils/promptFormatter.js +0 -150
- package/dist/clients/utils/promptFormatter.js.map +0 -1
- package/dist/clients/utils/promptLoader.d.ts +0 -27
- package/dist/clients/utils/promptLoader.js +0 -49
- package/dist/clients/utils/promptLoader.js.map +0 -1
- package/dist/clients/utils/tokenCounter.d.ts +0 -81
- package/dist/clients/utils/tokenCounter.js +0 -184
- package/dist/clients/utils/tokenCounter.js.map +0 -1
- package/dist/core/ApiClientSelector.d.ts +0 -8
- package/dist/core/ApiClientSelector.js +0 -29
- package/dist/core/ApiClientSelector.js.map +0 -1
- package/dist/core/ConfigurationService.d.ts +0 -307
- package/dist/core/ConfigurationService.js +0 -516
- package/dist/core/ConfigurationService.js.map +0 -1
- package/dist/core/ConsolidationService.d.ts +0 -99
- package/dist/core/ConsolidationService.js +0 -341
- package/dist/core/ConsolidationService.js.map +0 -1
- package/dist/core/InteractiveDisplayManager.d.ts +0 -22
- package/dist/core/InteractiveDisplayManager.js +0 -70
- package/dist/core/InteractiveDisplayManager.js.map +0 -1
- package/dist/core/OutputManager.d.ts +0 -26
- package/dist/core/OutputManager.js +0 -217
- package/dist/core/OutputManager.js.map +0 -1
- package/dist/core/ReviewGenerator.d.ts +0 -13
- package/dist/core/ReviewGenerator.js +0 -102
- package/dist/core/ReviewGenerator.js.map +0 -1
- package/dist/core/fileDiscovery.d.ts +0 -35
- package/dist/core/fileDiscovery.js +0 -202
- package/dist/core/fileDiscovery.js.map +0 -1
- package/dist/core/handlers/EstimationHandler.d.ts +0 -18
- package/dist/core/handlers/EstimationHandler.js +0 -110
- package/dist/core/handlers/EstimationHandler.js.map +0 -1
- package/dist/core/handlers/FileProcessingHandler.d.ts +0 -31
- package/dist/core/handlers/FileProcessingHandler.js +0 -164
- package/dist/core/handlers/FileProcessingHandler.js.map +0 -1
- package/dist/core/handlers/OutputHandler.d.ts +0 -27
- package/dist/core/handlers/OutputHandler.js +0 -127
- package/dist/core/handlers/OutputHandler.js.map +0 -1
- package/dist/core/handlers/ReviewExecutor.d.ts +0 -32
- package/dist/core/handlers/ReviewExecutor.js +0 -111
- package/dist/core/handlers/ReviewExecutor.js.map +0 -1
- package/dist/core/reviewOrchestrator.d.ts +0 -24
- package/dist/core/reviewOrchestrator.js +0 -354
- package/dist/core/reviewOrchestrator.js.map +0 -1
- package/dist/core/utils/ModelInfoUtils.d.ts +0 -16
- package/dist/core/utils/ModelInfoUtils.js +0 -54
- package/dist/core/utils/ModelInfoUtils.js.map +0 -1
- package/dist/formatters/outputFormatter.d.ts +0 -31
- package/dist/formatters/outputFormatter.js +0 -65
- package/dist/formatters/outputFormatter.js.map +0 -1
- package/dist/formatters/utils/IssueFormatters.d.ts +0 -20
- package/dist/formatters/utils/IssueFormatters.js +0 -67
- package/dist/formatters/utils/IssueFormatters.js.map +0 -1
- package/dist/formatters/utils/JsonFormatter.d.ts +0 -13
- package/dist/formatters/utils/JsonFormatter.js +0 -57
- package/dist/formatters/utils/JsonFormatter.js.map +0 -1
- package/dist/formatters/utils/MarkdownFormatters.d.ts +0 -51
- package/dist/formatters/utils/MarkdownFormatters.js +0 -456
- package/dist/formatters/utils/MarkdownFormatters.js.map +0 -1
- package/dist/formatters/utils/MetadataFormatter.d.ts +0 -65
- package/dist/formatters/utils/MetadataFormatter.js +0 -219
- package/dist/formatters/utils/MetadataFormatter.js.map +0 -1
- package/dist/formatters/utils/ModelInfoExtractor.d.ts +0 -33
- package/dist/formatters/utils/ModelInfoExtractor.js +0 -111
- package/dist/formatters/utils/ModelInfoExtractor.js.map +0 -1
- package/dist/plugins/PluginInterface.d.ts +0 -44
- package/dist/plugins/PluginInterface.js +0 -9
- package/dist/plugins/PluginInterface.js.map +0 -1
- package/dist/plugins/PluginManager.d.ts +0 -51
- package/dist/plugins/PluginManager.js +0 -151
- package/dist/plugins/PluginManager.js.map +0 -1
- package/dist/prompts/PromptManager.d.ts +0 -30
- package/dist/prompts/PromptManager.js +0 -62
- package/dist/prompts/PromptManager.js.map +0 -1
- package/dist/prompts/cache/PromptCache.d.ts +0 -32
- package/dist/prompts/cache/PromptCache.js +0 -48
- package/dist/prompts/cache/PromptCache.js.map +0 -1
- package/dist/runtime/auth/service.d.ts +0 -2
- package/dist/runtime/auth/service.js +0 -41
- package/dist/runtime/auth/service.js.map +0 -1
- package/dist/runtime/auth/session.d.ts +0 -5
- package/dist/runtime/auth/session.js +0 -87
- package/dist/runtime/auth/session.js.map +0 -1
- package/dist/runtime/auth/types.d.ts +0 -9
- package/dist/runtime/auth/types.js +0 -3
- package/dist/runtime/auth/types.js.map +0 -1
- package/dist/runtime/fileCollector.d.ts +0 -14
- package/dist/runtime/fileCollector.js +0 -381
- package/dist/runtime/fileCollector.js.map +0 -1
- package/dist/runtime/manifest.d.ts +0 -1
- package/dist/runtime/manifest.js +0 -65
- package/dist/runtime/manifest.js.map +0 -1
- package/dist/runtime/openrouterProxy.d.ts +0 -4
- package/dist/runtime/openrouterProxy.js +0 -43
- package/dist/runtime/openrouterProxy.js.map +0 -1
- package/dist/runtime/preprod/batchStreamer.d.ts +0 -54
- package/dist/runtime/preprod/batchStreamer.js +0 -159
- package/dist/runtime/preprod/batchStreamer.js.map +0 -1
- package/dist/runtime/preprod/crEdgeServiceClient.d.ts +0 -30
- package/dist/runtime/preprod/crEdgeServiceClient.js +0 -133
- package/dist/runtime/preprod/crEdgeServiceClient.js.map +0 -1
- package/dist/runtime/preprod/progressTracker.d.ts +0 -21
- package/dist/runtime/preprod/progressTracker.js +0 -80
- package/dist/runtime/preprod/progressTracker.js.map +0 -1
- package/dist/runtime/preprod/webCheck.d.ts +0 -1
- package/dist/runtime/preprod/webCheck.js +0 -102
- package/dist/runtime/preprod/webCheck.js.map +0 -1
- package/dist/runtime/proxyConfig.d.ts +0 -6
- package/dist/runtime/proxyConfig.js +0 -86
- package/dist/runtime/proxyConfig.js.map +0 -1
- package/dist/runtime/proxyEnvironment.d.ts +0 -3
- package/dist/runtime/proxyEnvironment.js +0 -63
- package/dist/runtime/proxyEnvironment.js.map +0 -1
- package/dist/runtime/reportMerge.d.ts +0 -30
- package/dist/runtime/reportMerge.js +0 -70
- package/dist/runtime/reportMerge.js.map +0 -1
- package/dist/runtime/reporting/markdownReportBuilder.d.ts +0 -17
- package/dist/runtime/reporting/markdownReportBuilder.js +0 -154
- package/dist/runtime/reporting/markdownReportBuilder.js.map +0 -1
- package/dist/runtime/reporting/reportDataCollector.d.ts +0 -31
- package/dist/runtime/reporting/reportDataCollector.js +0 -170
- package/dist/runtime/reporting/reportDataCollector.js.map +0 -1
- package/dist/runtime/reporting/summaryGenerator.d.ts +0 -10
- package/dist/runtime/reporting/summaryGenerator.js +0 -67
- package/dist/runtime/reporting/summaryGenerator.js.map +0 -1
- package/dist/runtime/runAiCodeReview.d.ts +0 -36
- package/dist/runtime/runAiCodeReview.js +0 -409
- package/dist/runtime/runAiCodeReview.js.map +0 -1
- package/dist/runtime/runtimeConfig.d.ts +0 -4
- package/dist/runtime/runtimeConfig.js +0 -7
- package/dist/runtime/runtimeConfig.js.map +0 -1
- package/dist/strategies/ArchitecturalReviewStrategy.d.ts +0 -29
- package/dist/strategies/ArchitecturalReviewStrategy.js +0 -42
- package/dist/strategies/ArchitecturalReviewStrategy.js.map +0 -1
- package/dist/strategies/CodingTestReviewStrategy.d.ts +0 -194
- package/dist/strategies/CodingTestReviewStrategy.js +0 -681
- package/dist/strategies/CodingTestReviewStrategy.js.map +0 -1
- package/dist/strategies/ConsolidatedReviewStrategy.d.ts +0 -25
- package/dist/strategies/ConsolidatedReviewStrategy.js +0 -45
- package/dist/strategies/ConsolidatedReviewStrategy.js.map +0 -1
- package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +0 -30
- package/dist/strategies/ExtractPatternsReviewStrategy.js +0 -51
- package/dist/strategies/ExtractPatternsReviewStrategy.js.map +0 -1
- package/dist/strategies/MultiPassReviewStrategy.d.ts +0 -86
- package/dist/strategies/MultiPassReviewStrategy.js +0 -590
- package/dist/strategies/MultiPassReviewStrategy.js.map +0 -1
- package/dist/strategies/ReviewStrategy.d.ts +0 -45
- package/dist/strategies/ReviewStrategy.js +0 -24
- package/dist/strategies/ReviewStrategy.js.map +0 -1
- package/dist/strategies/StrategyFactory.d.ts +0 -19
- package/dist/strategies/StrategyFactory.js +0 -72
- package/dist/strategies/StrategyFactory.js.map +0 -1
- package/dist/strategies/index.d.ts +0 -13
- package/dist/strategies/index.js +0 -30
- package/dist/strategies/index.js.map +0 -1
- package/dist/tokenizers/baseTokenizer.d.ts +0 -25
- package/dist/tokenizers/baseTokenizer.js +0 -48
- package/dist/tokenizers/baseTokenizer.js.map +0 -1
- package/dist/tokenizers/gptTokenizer.d.ts +0 -7
- package/dist/tokenizers/gptTokenizer.js +0 -28
- package/dist/tokenizers/gptTokenizer.js.map +0 -1
- package/dist/tokenizers/index.d.ts +0 -7
- package/dist/tokenizers/index.js +0 -24
- package/dist/tokenizers/index.js.map +0 -1
- package/dist/types/apiResponses.d.ts +0 -39
- package/dist/types/apiResponses.js +0 -9
- package/dist/types/apiResponses.js.map +0 -1
- package/dist/types/cli.d.ts +0 -22
- package/dist/types/cli.js +0 -3
- package/dist/types/cli.js.map +0 -1
- package/dist/types/common.d.ts +0 -22
- package/dist/types/common.js +0 -14
- package/dist/types/common.js.map +0 -1
- package/dist/types/configuration.d.ts +0 -682
- package/dist/types/configuration.js +0 -65
- package/dist/types/configuration.js.map +0 -1
- package/dist/types/review.d.ts +0 -318
- package/dist/types/review.js +0 -8
- package/dist/types/review.js.map +0 -1
- package/dist/types/reviewSchema.d.ts +0 -543
- package/dist/types/reviewSchema.js +0 -121
- package/dist/types/reviewSchema.js.map +0 -1
- package/dist/types/structuredReview.d.ts +0 -119
- package/dist/types/structuredReview.js +0 -6
- package/dist/types/structuredReview.js.map +0 -1
- package/dist/types/tokenAnalysis.d.ts +0 -44
- package/dist/types/tokenAnalysis.js +0 -4
- package/dist/types/tokenAnalysis.js.map +0 -1
- package/dist/utils/FileReader.d.ts +0 -33
- package/dist/utils/FileReader.js +0 -88
- package/dist/utils/FileReader.js.map +0 -1
- package/dist/utils/FileWriter.d.ts +0 -26
- package/dist/utils/FileWriter.js +0 -76
- package/dist/utils/FileWriter.js.map +0 -1
- package/dist/utils/PathGenerator.d.ts +0 -30
- package/dist/utils/PathGenerator.js +0 -82
- package/dist/utils/PathGenerator.js.map +0 -1
- package/dist/utils/api/apiUtils.d.ts +0 -3
- package/dist/utils/api/apiUtils.js +0 -20
- package/dist/utils/api/apiUtils.js.map +0 -1
- package/dist/utils/api/index.d.ts +0 -1
- package/dist/utils/api/index.js +0 -18
- package/dist/utils/api/index.js.map +0 -1
- package/dist/utils/apiErrorHandler.d.ts +0 -130
- package/dist/utils/apiErrorHandler.js +0 -256
- package/dist/utils/apiErrorHandler.js.map +0 -1
- package/dist/utils/ciDataCollector.d.ts +0 -51
- package/dist/utils/ciDataCollector.js +0 -197
- package/dist/utils/ciDataCollector.js.map +0 -1
- package/dist/utils/codingTestConfigLoader.d.ts +0 -66
- package/dist/utils/codingTestConfigLoader.js +0 -420
- package/dist/utils/codingTestConfigLoader.js.map +0 -1
- package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +0 -30
- package/dist/utils/dependencies/aiDependencyAnalyzer.js +0 -343
- package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +0 -1
- package/dist/utils/detection/frameworkDetector.d.ts +0 -43
- package/dist/utils/detection/frameworkDetector.js +0 -850
- package/dist/utils/detection/frameworkDetector.js.map +0 -1
- package/dist/utils/detection/index.d.ts +0 -9
- package/dist/utils/detection/index.js +0 -28
- package/dist/utils/detection/index.js.map +0 -1
- package/dist/utils/detection/projectTypeDetector.d.ts +0 -27
- package/dist/utils/detection/projectTypeDetector.js +0 -469
- package/dist/utils/detection/projectTypeDetector.js.map +0 -1
- package/dist/utils/diagramGenerator.d.ts +0 -49
- package/dist/utils/diagramGenerator.js +0 -218
- package/dist/utils/diagramGenerator.js.map +0 -1
- package/dist/utils/errorLogger.d.ts +0 -24
- package/dist/utils/errorLogger.js +0 -59
- package/dist/utils/errorLogger.js.map +0 -1
- package/dist/utils/estimationUtils.d.ts +0 -139
- package/dist/utils/estimationUtils.js +0 -329
- package/dist/utils/estimationUtils.js.map +0 -1
- package/dist/utils/fileFilters.d.ts +0 -72
- package/dist/utils/fileFilters.js +0 -338
- package/dist/utils/fileFilters.js.map +0 -1
- package/dist/utils/fileSystem.d.ts +0 -22
- package/dist/utils/fileSystem.js +0 -45
- package/dist/utils/fileSystem.js.map +0 -1
- package/dist/utils/index.d.ts +0 -22
- package/dist/utils/index.js +0 -52
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/pathValidator.d.ts +0 -40
- package/dist/utils/pathValidator.js +0 -98
- package/dist/utils/pathValidator.js.map +0 -1
- package/dist/utils/priorityFilter.d.ts +0 -34
- package/dist/utils/priorityFilter.js +0 -54
- package/dist/utils/priorityFilter.js.map +0 -1
- package/dist/utils/projectDocs.d.ts +0 -47
- package/dist/utils/projectDocs.js +0 -158
- package/dist/utils/projectDocs.js.map +0 -1
- package/dist/utils/promptPaths.d.ts +0 -6
- package/dist/utils/promptPaths.js +0 -33
- package/dist/utils/promptPaths.js.map +0 -1
- package/dist/utils/promptTemplateManager.d.ts +0 -34
- package/dist/utils/promptTemplateManager.js +0 -141
- package/dist/utils/promptTemplateManager.js.map +0 -1
- package/dist/utils/review/consolidateReview.d.ts +0 -15
- package/dist/utils/review/consolidateReview.js +0 -481
- package/dist/utils/review/consolidateReview.js.map +0 -1
- package/dist/utils/review/fixDisplay.d.ts +0 -20
- package/dist/utils/review/fixDisplay.js +0 -84
- package/dist/utils/review/fixDisplay.js.map +0 -1
- package/dist/utils/review/fixImplementation.d.ts +0 -28
- package/dist/utils/review/fixImplementation.js +0 -60
- package/dist/utils/review/fixImplementation.js.map +0 -1
- package/dist/utils/review/index.d.ts +0 -13
- package/dist/utils/review/index.js +0 -50
- package/dist/utils/review/index.js.map +0 -1
- package/dist/utils/review/interactiveProcessing.d.ts +0 -25
- package/dist/utils/review/interactiveProcessing.js +0 -251
- package/dist/utils/review/interactiveProcessing.js.map +0 -1
- package/dist/utils/review/progressTracker.d.ts +0 -106
- package/dist/utils/review/progressTracker.js +0 -227
- package/dist/utils/review/progressTracker.js.map +0 -1
- package/dist/utils/review/reviewExtraction.d.ts +0 -31
- package/dist/utils/review/reviewExtraction.js +0 -324
- package/dist/utils/review/reviewExtraction.js.map +0 -1
- package/dist/utils/review/types.d.ts +0 -45
- package/dist/utils/review/types.js +0 -18
- package/dist/utils/review/types.js.map +0 -1
- package/dist/utils/reviewActionHandler.d.ts +0 -16
- package/dist/utils/reviewActionHandler.js +0 -34
- package/dist/utils/reviewActionHandler.js.map +0 -1
- package/dist/utils/reviewParser.d.ts +0 -34
- package/dist/utils/reviewParser.js +0 -218
- package/dist/utils/reviewParser.js.map +0 -1
- package/dist/utils/sanitizer.d.ts +0 -82
- package/dist/utils/sanitizer.js +0 -239
- package/dist/utils/sanitizer.js.map +0 -1
- package/dist/utils/smartFileSelector.d.ts +0 -50
- package/dist/utils/smartFileSelector.js +0 -261
- package/dist/utils/smartFileSelector.js.map +0 -1
- package/dist/utils/templateLoader.d.ts +0 -44
- package/dist/utils/templateLoader.js +0 -431
- package/dist/utils/templateLoader.js.map +0 -1
- package/dist/utils/treeGenerator.d.ts +0 -12
- package/dist/utils/treeGenerator.js +0 -133
- package/dist/utils/treeGenerator.js.map +0 -1
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Client implementations for various AI providers.
|
|
4
|
-
*
|
|
5
|
-
* This module serves as the main entry point for client implementations,
|
|
6
|
-
* exporting all client classes.
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
-
};
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
__exportStar(require("./openRouterClient"), exports);
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/implementations/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,qDAAmC"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview OpenRouter client implementation using the abstract client interface.
|
|
3
|
-
*
|
|
4
|
-
* This module implements the OpenRouter client using the abstract client base class.
|
|
5
|
-
* It provides functionality for interacting with OpenRouter's API, which gives access
|
|
6
|
-
* to a variety of AI models from different providers.
|
|
7
|
-
*/
|
|
8
|
-
import type { FileInfo, ReviewOptions, ReviewResult, ReviewType } from '../../types/review';
|
|
9
|
-
import type { ProjectDocs } from '../../utils/projectDocs';
|
|
10
|
-
import { AbstractClient } from '../base';
|
|
11
|
-
/**
|
|
12
|
-
* OpenRouter client implementation
|
|
13
|
-
*/
|
|
14
|
-
export declare class OpenRouterClient extends AbstractClient {
|
|
15
|
-
protected apiKey: string | undefined;
|
|
16
|
-
/**
|
|
17
|
-
* Initialize with default values
|
|
18
|
-
*/
|
|
19
|
-
constructor();
|
|
20
|
-
/**
|
|
21
|
-
* Check if the provided model name is supported by this client
|
|
22
|
-
* @param modelName The full model name (potentially with provider prefix)
|
|
23
|
-
* @returns Object indicating if this is the correct client for the model
|
|
24
|
-
*/
|
|
25
|
-
isModelSupported(modelName: string): {
|
|
26
|
-
isCorrect: boolean;
|
|
27
|
-
adapter: string;
|
|
28
|
-
modelName: string;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Get the provider name for this client
|
|
32
|
-
* @returns The provider name
|
|
33
|
-
*/
|
|
34
|
-
protected getProviderName(): string;
|
|
35
|
-
/**
|
|
36
|
-
* Initialize the OpenRouter client
|
|
37
|
-
* @returns Promise resolving to a boolean indicating success
|
|
38
|
-
*/
|
|
39
|
-
initialize(): Promise<boolean>;
|
|
40
|
-
/**
|
|
41
|
-
* Generate a review for a single file
|
|
42
|
-
* @param fileContent Content of the file to review
|
|
43
|
-
* @param filePath Path to the file
|
|
44
|
-
* @param reviewType Type of review to perform
|
|
45
|
-
* @param projectDocs Optional project documentation
|
|
46
|
-
* @param options Review options
|
|
47
|
-
* @returns Promise resolving to the review result
|
|
48
|
-
*/
|
|
49
|
-
generateReview(fileContent: string, filePath: string, reviewType: ReviewType, projectDocs?: ProjectDocs | null, options?: ReviewOptions): Promise<ReviewResult>;
|
|
50
|
-
/**
|
|
51
|
-
* Generate a consolidated review for multiple files
|
|
52
|
-
* @param files Array of file information objects
|
|
53
|
-
* @param projectName Name of the project
|
|
54
|
-
* @param reviewType Type of review to perform
|
|
55
|
-
* @param projectDocs Optional project documentation
|
|
56
|
-
* @param options Review options
|
|
57
|
-
* @returns Promise resolving to the review result
|
|
58
|
-
*/
|
|
59
|
-
generateConsolidatedReview(files: FileInfo[], projectName: string, reviewType: ReviewType, projectDocs?: ProjectDocs | null, options?: ReviewOptions): Promise<ReviewResult>;
|
|
60
|
-
/**
|
|
61
|
-
* Generate an architectural review for a project
|
|
62
|
-
* @param files Array of file information objects
|
|
63
|
-
* @param projectName Name of the project
|
|
64
|
-
* @param projectDocs Optional project documentation
|
|
65
|
-
* @param options Review options
|
|
66
|
-
* @returns Promise resolving to the review result
|
|
67
|
-
*/
|
|
68
|
-
generateArchitecturalReview(files: FileInfo[], projectName: string, projectDocs?: ProjectDocs | null, options?: ReviewOptions): Promise<ReviewResult>;
|
|
69
|
-
}
|
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview OpenRouter client implementation using the abstract client interface.
|
|
4
|
-
*
|
|
5
|
-
* This module implements the OpenRouter client using the abstract client base class.
|
|
6
|
-
* It provides functionality for interacting with OpenRouter's API, which gives access
|
|
7
|
-
* to a variety of AI models from different providers.
|
|
8
|
-
*/
|
|
9
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.OpenRouterClient = void 0;
|
|
14
|
-
const logger_1 = __importDefault(require("../../utils/logger"));
|
|
15
|
-
const base_1 = require("../base");
|
|
16
|
-
const promptFormatter_1 = require("../utils/promptFormatter");
|
|
17
|
-
const promptLoader_1 = require("../utils/promptLoader");
|
|
18
|
-
// import { getLanguageFromExtension } from '../utils/languageDetection'; // Not used in this implementation
|
|
19
|
-
const MAX_TOKENS_PER_REQUEST = 4000;
|
|
20
|
-
/**
|
|
21
|
-
* OpenRouter client implementation
|
|
22
|
-
*/
|
|
23
|
-
class OpenRouterClient extends base_1.AbstractClient {
|
|
24
|
-
apiKey;
|
|
25
|
-
/**
|
|
26
|
-
* Initialize with default values
|
|
27
|
-
*/
|
|
28
|
-
constructor() {
|
|
29
|
-
super();
|
|
30
|
-
this.modelName = '';
|
|
31
|
-
this.isInitialized = false;
|
|
32
|
-
this.apiKey = process.env.AI_CODE_REVIEW_OPENROUTER_API_KEY;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Check if the provided model name is supported by this client
|
|
36
|
-
* @param modelName The full model name (potentially with provider prefix)
|
|
37
|
-
* @returns Object indicating if this is the correct client for the model
|
|
38
|
-
*/
|
|
39
|
-
isModelSupported(modelName) {
|
|
40
|
-
return (0, base_1.detectModelProvider)('openrouter', modelName);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Get the provider name for this client
|
|
44
|
-
* @returns The provider name
|
|
45
|
-
*/
|
|
46
|
-
getProviderName() {
|
|
47
|
-
return 'openrouter';
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Initialize the OpenRouter client
|
|
51
|
-
* @returns Promise resolving to a boolean indicating success
|
|
52
|
-
*/
|
|
53
|
-
async initialize() {
|
|
54
|
-
// If already initialized, return true
|
|
55
|
-
if (this.isInitialized) {
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
// Get model information - clean the model name to handle malformed input
|
|
59
|
-
const rawModel = process.env.AI_CODE_REVIEW_MODEL || '';
|
|
60
|
-
const cleanedModel = rawModel.replace(/['"``]/g, '').trim();
|
|
61
|
-
const { isCorrect, modelName } = this.isModelSupported(cleanedModel);
|
|
62
|
-
// If this is not an OpenRouter model, just return true without initializing
|
|
63
|
-
if (!isCorrect) {
|
|
64
|
-
return true;
|
|
65
|
-
}
|
|
66
|
-
// Set the model name
|
|
67
|
-
this.modelName = modelName;
|
|
68
|
-
// Validate the API key
|
|
69
|
-
if (!(0, base_1.validateApiKey)('openrouter', 'AI_CODE_REVIEW_OPENROUTER_API_KEY')) {
|
|
70
|
-
process.exit(1);
|
|
71
|
-
}
|
|
72
|
-
try {
|
|
73
|
-
logger_1.default.info(`Initializing OpenRouter model: ${this.modelName}...`);
|
|
74
|
-
// Mark as initialized
|
|
75
|
-
this.isInitialized = true;
|
|
76
|
-
logger_1.default.info(`Successfully initialized OpenRouter model: ${this.modelName}`);
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
logger_1.default.error(`Error initializing OpenRouter model ${this.modelName}: ${error instanceof Error ? error.message : String(error)}`);
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Generate a review for a single file
|
|
86
|
-
* @param fileContent Content of the file to review
|
|
87
|
-
* @param filePath Path to the file
|
|
88
|
-
* @param reviewType Type of review to perform
|
|
89
|
-
* @param projectDocs Optional project documentation
|
|
90
|
-
* @param options Review options
|
|
91
|
-
* @returns Promise resolving to the review result
|
|
92
|
-
*/
|
|
93
|
-
async generateReview(fileContent, filePath, reviewType, projectDocs, options) {
|
|
94
|
-
// During consolidation, the model may have been overridden.
|
|
95
|
-
// If we're already initialized with a valid model, trust that initialization was correct.
|
|
96
|
-
// Only check the environment if we're not initialized.
|
|
97
|
-
if (!this.isInitialized) {
|
|
98
|
-
// If not initialized, check against the current environment variable
|
|
99
|
-
const rawModel = process.env.AI_CODE_REVIEW_MODEL || '';
|
|
100
|
-
// Clean the model name to handle malformed input (quotes, backticks, whitespace)
|
|
101
|
-
const currentModel = rawModel.replace(/['"``]/g, '').trim();
|
|
102
|
-
const { isCorrect } = this.isModelSupported(currentModel);
|
|
103
|
-
// Make sure this is the correct client
|
|
104
|
-
if (!isCorrect) {
|
|
105
|
-
logger_1.default.error(`[OpenRouter] Invalid model for OpenRouter client: ${currentModel} (original: ${rawModel})`);
|
|
106
|
-
throw new Error(`OpenRouter client was called with an invalid model: ${currentModel}. This is likely a bug in the client selection logic.`);
|
|
107
|
-
}
|
|
108
|
-
// Initialize if this is the correct client
|
|
109
|
-
await this.initialize();
|
|
110
|
-
}
|
|
111
|
-
// At this point we should be initialized with a valid model
|
|
112
|
-
if (!this.modelName) {
|
|
113
|
-
logger_1.default.error(`[OpenRouter] Client is initialized but has no model name`);
|
|
114
|
-
throw new Error(`OpenRouter client is in an invalid state: initialized but no model name`);
|
|
115
|
-
}
|
|
116
|
-
try {
|
|
117
|
-
// Get the language from file extension
|
|
118
|
-
// const language = getLanguageFromExtension(filePath); // Currently unused
|
|
119
|
-
// Load the appropriate prompt template
|
|
120
|
-
const promptTemplate = await (0, promptLoader_1.loadPromptTemplate)(reviewType, options);
|
|
121
|
-
// Format the prompt
|
|
122
|
-
const prompt = (0, promptFormatter_1.formatSingleFileReviewPrompt)(promptTemplate, fileContent, filePath, projectDocs, options?.runContext);
|
|
123
|
-
try {
|
|
124
|
-
logger_1.default.info(`Generating review with OpenRouter ${this.modelName}...`);
|
|
125
|
-
// Make the API request
|
|
126
|
-
const response = await (0, base_1.fetchWithRetry)('https://openrouter.ai/api/v1/chat/completions', {
|
|
127
|
-
method: 'POST',
|
|
128
|
-
headers: {
|
|
129
|
-
'Content-Type': 'application/json',
|
|
130
|
-
Authorization: `Bearer ${this.apiKey}`,
|
|
131
|
-
'HTTP-Referer': 'https://cr-aia.app', // Required by OpenRouter
|
|
132
|
-
'X-Title': 'cr-aia', // Optional for OpenRouter stats
|
|
133
|
-
},
|
|
134
|
-
body: JSON.stringify({
|
|
135
|
-
model: this.modelName,
|
|
136
|
-
messages: [
|
|
137
|
-
{
|
|
138
|
-
role: 'user',
|
|
139
|
-
content: prompt,
|
|
140
|
-
},
|
|
141
|
-
],
|
|
142
|
-
temperature: 0.2,
|
|
143
|
-
// For consolidation, don't limit tokens to avoid truncation
|
|
144
|
-
...(options?.isConsolidation ? {} : { max_tokens: MAX_TOKENS_PER_REQUEST }),
|
|
145
|
-
}),
|
|
146
|
-
});
|
|
147
|
-
const data = await response.json();
|
|
148
|
-
if (!Array.isArray(data.choices) || !data.choices[0]?.message?.content) {
|
|
149
|
-
throw new Error(`Invalid response format from OpenRouter ${this.modelName}`);
|
|
150
|
-
}
|
|
151
|
-
const content = data.choices[0].message.content;
|
|
152
|
-
// Check for truncated response
|
|
153
|
-
const usage = data.usage;
|
|
154
|
-
if (usage && usage.completion_tokens < 50) {
|
|
155
|
-
logger_1.default.warn(`Response appears truncated - only ${usage.completion_tokens} output tokens generated. ` +
|
|
156
|
-
`This may indicate an API issue with model ${this.modelName}.`);
|
|
157
|
-
// If response is truncated and appears to be incomplete JSON
|
|
158
|
-
if (content.trim().startsWith('{') && !content.includes('}')) {
|
|
159
|
-
const errorMessage = `The AI model response was truncated and incomplete. ` +
|
|
160
|
-
`Only ${usage.completion_tokens} tokens were generated instead of the expected response. ` +
|
|
161
|
-
`This is likely an issue with the OpenRouter API or the ${this.modelName} model. ` +
|
|
162
|
-
`Please try again or use a different model.`;
|
|
163
|
-
logger_1.default.error(`Truncated response detected: ${content.substring(0, 100)}...`);
|
|
164
|
-
throw new Error(errorMessage);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
// Log response details for debugging
|
|
168
|
-
if (usage) {
|
|
169
|
-
logger_1.default.debug(`OpenRouter response stats - Input tokens: ${usage.prompt_tokens}, ` +
|
|
170
|
-
`Output tokens: ${usage.completion_tokens}, Total: ${usage.total_tokens}`);
|
|
171
|
-
}
|
|
172
|
-
logger_1.default.info(`Successfully generated review with OpenRouter ${this.modelName}`);
|
|
173
|
-
// Create and return the review result
|
|
174
|
-
return (0, base_1.createStandardReviewResult)(content, prompt, this.getFullModelName(), filePath, reviewType, options);
|
|
175
|
-
}
|
|
176
|
-
catch (error) {
|
|
177
|
-
throw (0, base_1.handleApiError)(error, 'generate review', this.getFullModelName());
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
catch (error) {
|
|
181
|
-
this.handleApiError(error, 'generating review', filePath);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Generate a consolidated review for multiple files
|
|
186
|
-
* @param files Array of file information objects
|
|
187
|
-
* @param projectName Name of the project
|
|
188
|
-
* @param reviewType Type of review to perform
|
|
189
|
-
* @param projectDocs Optional project documentation
|
|
190
|
-
* @param options Review options
|
|
191
|
-
* @returns Promise resolving to the review result
|
|
192
|
-
*/
|
|
193
|
-
async generateConsolidatedReview(files, projectName, reviewType, projectDocs, options) {
|
|
194
|
-
// During consolidation, the model may have been overridden. We should check if we're already initialized
|
|
195
|
-
// with a valid model rather than checking the current environment variable.
|
|
196
|
-
if (!this.isInitialized || !this.modelName) {
|
|
197
|
-
// If not initialized, check against the current environment variable
|
|
198
|
-
const { isCorrect } = this.isModelSupported(process.env.AI_CODE_REVIEW_MODEL || '');
|
|
199
|
-
// Make sure this is the correct client
|
|
200
|
-
if (!isCorrect) {
|
|
201
|
-
throw new Error(`OpenRouter client was called with an invalid model. This is likely a bug in the client selection logic.`);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
// If we're already initialized with a model, trust that initialization was correct
|
|
205
|
-
try {
|
|
206
|
-
// Initialize if needed
|
|
207
|
-
if (!this.isInitialized) {
|
|
208
|
-
await this.initialize();
|
|
209
|
-
}
|
|
210
|
-
// Load the appropriate prompt template
|
|
211
|
-
const promptTemplate = await (0, promptLoader_1.loadPromptTemplate)(reviewType, options);
|
|
212
|
-
// Format the prompt
|
|
213
|
-
const prompt = (0, promptFormatter_1.formatConsolidatedReviewPrompt)(promptTemplate, projectName, files.map((file) => ({
|
|
214
|
-
relativePath: file.relativePath || '',
|
|
215
|
-
content: file.content,
|
|
216
|
-
sizeInBytes: file.content.length,
|
|
217
|
-
})), projectDocs, options?.runContext);
|
|
218
|
-
try {
|
|
219
|
-
logger_1.default.info(`Generating consolidated review with OpenRouter ${this.modelName}...`);
|
|
220
|
-
// Make the API request
|
|
221
|
-
const response = await (0, base_1.fetchWithRetry)('https://openrouter.ai/api/v1/chat/completions', {
|
|
222
|
-
method: 'POST',
|
|
223
|
-
headers: {
|
|
224
|
-
'Content-Type': 'application/json',
|
|
225
|
-
Authorization: `Bearer ${this.apiKey}`,
|
|
226
|
-
'HTTP-Referer': 'https://cr-aia.app', // Required by OpenRouter
|
|
227
|
-
'X-Title': 'cr-aia', // Optional for OpenRouter stats
|
|
228
|
-
},
|
|
229
|
-
body: JSON.stringify({
|
|
230
|
-
model: this.modelName,
|
|
231
|
-
messages: [
|
|
232
|
-
{
|
|
233
|
-
role: 'user',
|
|
234
|
-
content: prompt,
|
|
235
|
-
},
|
|
236
|
-
],
|
|
237
|
-
temperature: 0.2,
|
|
238
|
-
// For consolidated reviews, don't limit tokens to avoid truncation
|
|
239
|
-
// max_tokens is omitted to allow unlimited output
|
|
240
|
-
}),
|
|
241
|
-
});
|
|
242
|
-
const data = await response.json();
|
|
243
|
-
if (!Array.isArray(data.choices) || !data.choices[0]?.message?.content) {
|
|
244
|
-
throw new Error(`Invalid response format from OpenRouter ${this.modelName}`);
|
|
245
|
-
}
|
|
246
|
-
const content = data.choices[0].message.content;
|
|
247
|
-
// Check for truncated response
|
|
248
|
-
const usage = data.usage;
|
|
249
|
-
if (usage && usage.completion_tokens < 50) {
|
|
250
|
-
logger_1.default.warn(`Response appears truncated - only ${usage.completion_tokens} output tokens generated. ` +
|
|
251
|
-
`This may indicate an API issue with model ${this.modelName}.`);
|
|
252
|
-
// If response is truncated and appears to be incomplete JSON
|
|
253
|
-
if (content.trim().startsWith('{') && !content.includes('}')) {
|
|
254
|
-
const errorMessage = `The AI model response was truncated and incomplete. ` +
|
|
255
|
-
`Only ${usage.completion_tokens} tokens were generated instead of the expected response. ` +
|
|
256
|
-
`This is likely an issue with the OpenRouter API or the ${this.modelName} model. ` +
|
|
257
|
-
`Please try again or use a different model.`;
|
|
258
|
-
logger_1.default.error(`Truncated response detected: ${content.substring(0, 100)}...`);
|
|
259
|
-
throw new Error(errorMessage);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
// Log response details for debugging
|
|
263
|
-
if (usage) {
|
|
264
|
-
logger_1.default.debug(`OpenRouter response stats - Input tokens: ${usage.prompt_tokens}, ` +
|
|
265
|
-
`Output tokens: ${usage.completion_tokens}, Total: ${usage.total_tokens}`);
|
|
266
|
-
}
|
|
267
|
-
logger_1.default.info(`Successfully generated consolidated review with OpenRouter ${this.modelName}`);
|
|
268
|
-
// Create and return the review result
|
|
269
|
-
return (0, base_1.createStandardReviewResult)(content, prompt, this.getFullModelName(), 'consolidated', reviewType, options);
|
|
270
|
-
}
|
|
271
|
-
catch (error) {
|
|
272
|
-
throw (0, base_1.handleApiError)(error, 'generate consolidated review', this.getFullModelName());
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
catch (error) {
|
|
276
|
-
this.handleApiError(error, 'generating consolidated review', projectName);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Generate an architectural review for a project
|
|
281
|
-
* @param files Array of file information objects
|
|
282
|
-
* @param projectName Name of the project
|
|
283
|
-
* @param projectDocs Optional project documentation
|
|
284
|
-
* @param options Review options
|
|
285
|
-
* @returns Promise resolving to the review result
|
|
286
|
-
*/
|
|
287
|
-
async generateArchitecturalReview(files, projectName, projectDocs, options) {
|
|
288
|
-
// For OpenRouter, architectural reviews are handled by the consolidated review function
|
|
289
|
-
// with the review type set to 'architectural'
|
|
290
|
-
return this.generateConsolidatedReview(files, projectName, 'architectural', projectDocs, options);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
exports.OpenRouterClient = OpenRouterClient;
|
|
294
|
-
//# sourceMappingURL=openRouterClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openRouterClient.js","sourceRoot":"","sources":["../../../src/clients/implementations/openRouterClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Client for interacting with the OpenRouter API.
|
|
3
|
-
*
|
|
4
|
-
* This module provides a client for interacting with OpenRouter's API, which gives
|
|
5
|
-
* access to a variety of AI models from different providers. It handles API key
|
|
6
|
-
* management, request formatting, response processing, rate limiting, error handling,
|
|
7
|
-
* and cost estimation for code reviews.
|
|
8
|
-
*
|
|
9
|
-
* Key features:
|
|
10
|
-
* - Support for various models through OpenRouter (Claude, GPT-4, etc.)
|
|
11
|
-
* - Streaming and non-streaming responses
|
|
12
|
-
* - Robust error handling and rate limit management
|
|
13
|
-
* - Cost estimation for API usage
|
|
14
|
-
* - Support for different review types
|
|
15
|
-
*/
|
|
16
|
-
import type { FileInfo, ReviewOptions, ReviewResult, ReviewType } from '../types/review';
|
|
17
|
-
import type { ProjectDocs } from '../utils/projectDocs';
|
|
18
|
-
/**
|
|
19
|
-
* Initialize the OpenRouter client
|
|
20
|
-
* @returns Promise resolving to a boolean indicating if initialization was successful
|
|
21
|
-
*/
|
|
22
|
-
export declare function initializeAnyOpenRouterModel(): Promise<boolean>;
|
|
23
|
-
/**
|
|
24
|
-
* Generate a code review using the OpenRouter API
|
|
25
|
-
* @param fileContent Content of the file to review
|
|
26
|
-
* @param filePath Path to the file
|
|
27
|
-
* @param reviewType Type of review to perform
|
|
28
|
-
* @param projectDocs Optional project documentation
|
|
29
|
-
* @param options Review options
|
|
30
|
-
* @returns Promise resolving to the review result
|
|
31
|
-
*/
|
|
32
|
-
export declare function generateOpenRouterReview(fileContent: string, filePath: string, reviewType: ReviewType, projectDocs?: ProjectDocs | null, options?: ReviewOptions): Promise<ReviewResult>;
|
|
33
|
-
/**
|
|
34
|
-
* Generate a consolidated review for multiple files
|
|
35
|
-
* @param files Array of file information objects
|
|
36
|
-
* @param projectName Name of the project
|
|
37
|
-
* @param reviewType Type of review to perform
|
|
38
|
-
* @param projectDocs Optional project documentation
|
|
39
|
-
* @param options Review options
|
|
40
|
-
* @returns Promise resolving to the review result
|
|
41
|
-
*/
|
|
42
|
-
export declare function generateOpenRouterConsolidatedReview(files: FileInfo[], projectName: string, reviewType: ReviewType, projectDocs?: ProjectDocs | null, options?: ReviewOptions): Promise<ReviewResult>;
|