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,218 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Diagram generator for creating Mermaid architecture diagrams.
|
|
4
|
-
*
|
|
5
|
-
* This module is responsible for extracting and generating Mermaid diagrams
|
|
6
|
-
* from review content, particularly for architectural reviews.
|
|
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.extractMermaidDiagrams = extractMermaidDiagrams;
|
|
46
|
-
exports.generateDiagramPrompt = generateDiagramPrompt;
|
|
47
|
-
exports.saveDiagramFiles = saveDiagramFiles;
|
|
48
|
-
exports.processDiagrams = processDiagrams;
|
|
49
|
-
exports.enhancePromptForDiagrams = enhancePromptForDiagrams;
|
|
50
|
-
const fs = __importStar(require("node:fs/promises"));
|
|
51
|
-
const path = __importStar(require("node:path"));
|
|
52
|
-
const logger_1 = __importDefault(require("./logger"));
|
|
53
|
-
/**
|
|
54
|
-
* Extract Mermaid diagram blocks from review content
|
|
55
|
-
* @param content Review content that may contain Mermaid diagram blocks
|
|
56
|
-
* @returns Array of Mermaid diagram strings
|
|
57
|
-
*/
|
|
58
|
-
function extractMermaidDiagrams(content) {
|
|
59
|
-
const diagrams = [];
|
|
60
|
-
// Match Mermaid code blocks in various formats
|
|
61
|
-
const mermaidBlockRegex = /```mermaid\n([\s\S]*?)```/g;
|
|
62
|
-
let match;
|
|
63
|
-
while ((match = mermaidBlockRegex.exec(content)) !== null) {
|
|
64
|
-
diagrams.push(match[1].trim());
|
|
65
|
-
}
|
|
66
|
-
// Also check for inline mermaid notation that might be present
|
|
67
|
-
const inlineMermaidRegex = /graph\s+(TB|TD|BT|RL|LR)[\s\S]*?(?=\n\n|\n##|$)/g;
|
|
68
|
-
while ((match = inlineMermaidRegex.exec(content)) !== null) {
|
|
69
|
-
// Only add if not already captured in a code block
|
|
70
|
-
const diagram = match[0].trim();
|
|
71
|
-
if (!diagrams.some((d) => d.includes(diagram))) {
|
|
72
|
-
diagrams.push(diagram);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return diagrams;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Generate a Mermaid diagram prompt for architectural reviews
|
|
79
|
-
* @param projectName Name of the project being reviewed
|
|
80
|
-
* @param framework Framework being used (if detected)
|
|
81
|
-
* @returns Prompt text for generating architecture diagrams
|
|
82
|
-
*/
|
|
83
|
-
function generateDiagramPrompt(projectName, framework) {
|
|
84
|
-
const frameworkContext = framework ? ` (${framework} framework)` : '';
|
|
85
|
-
return `
|
|
86
|
-
## Architecture Diagram
|
|
87
|
-
|
|
88
|
-
Please generate a Mermaid diagram that visualizes the architecture of the ${projectName}${frameworkContext} project. Include:
|
|
89
|
-
|
|
90
|
-
1. **Component Diagram**: Show the main components/modules and their relationships
|
|
91
|
-
2. **Data Flow**: Illustrate how data flows through the system
|
|
92
|
-
3. **Key Dependencies**: Show external services, databases, and APIs
|
|
93
|
-
4. **Layer Architecture**: If applicable, show the layered architecture (presentation, business logic, data access)
|
|
94
|
-
|
|
95
|
-
Use the following Mermaid syntax:
|
|
96
|
-
|
|
97
|
-
\`\`\`mermaid
|
|
98
|
-
graph TB
|
|
99
|
-
subgraph "Presentation Layer"
|
|
100
|
-
UI[User Interface]
|
|
101
|
-
API[API Gateway]
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
subgraph "Business Logic"
|
|
105
|
-
Service[Service Layer]
|
|
106
|
-
Domain[Domain Models]
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
subgraph "Data Layer"
|
|
110
|
-
DB[(Database)]
|
|
111
|
-
Cache[(Cache)]
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
UI --> API
|
|
115
|
-
API --> Service
|
|
116
|
-
Service --> Domain
|
|
117
|
-
Service --> DB
|
|
118
|
-
Service --> Cache
|
|
119
|
-
\`\`\`
|
|
120
|
-
|
|
121
|
-
Please provide a comprehensive architecture diagram based on the actual code structure analyzed.
|
|
122
|
-
`;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Save Mermaid diagrams to separate files
|
|
126
|
-
* @param diagrams Array of Mermaid diagram strings
|
|
127
|
-
* @param outputPath Path to the main review output file
|
|
128
|
-
* @returns Promise resolving to the paths of saved diagram files
|
|
129
|
-
*/
|
|
130
|
-
async function saveDiagramFiles(diagrams, outputPath) {
|
|
131
|
-
if (diagrams.length === 0) {
|
|
132
|
-
logger_1.default.debug('No diagrams to save');
|
|
133
|
-
return [];
|
|
134
|
-
}
|
|
135
|
-
const savedPaths = [];
|
|
136
|
-
const baseDir = path.dirname(outputPath);
|
|
137
|
-
const baseName = path.basename(outputPath, path.extname(outputPath));
|
|
138
|
-
for (let i = 0; i < diagrams.length; i++) {
|
|
139
|
-
const diagramNumber = diagrams.length > 1 ? `-${i + 1}` : '';
|
|
140
|
-
const diagramPath = path.join(baseDir, `${baseName}-diagram${diagramNumber}.md`);
|
|
141
|
-
// Create markdown file with the Mermaid diagram
|
|
142
|
-
const diagramContent = `# Architecture Diagram${diagramNumber ? ` ${i + 1}` : ''}
|
|
143
|
-
|
|
144
|
-
Generated from: ${path.basename(outputPath)}
|
|
145
|
-
Date: ${new Date().toISOString()}
|
|
146
|
-
|
|
147
|
-
## Diagram
|
|
148
|
-
|
|
149
|
-
\`\`\`mermaid
|
|
150
|
-
${diagrams[i]}
|
|
151
|
-
\`\`\`
|
|
152
|
-
|
|
153
|
-
## Rendering Instructions
|
|
154
|
-
|
|
155
|
-
To view this diagram:
|
|
156
|
-
1. Use a Markdown viewer that supports Mermaid (GitHub, GitLab, VS Code with Mermaid extension)
|
|
157
|
-
2. Or paste the Mermaid code into https://mermaid.live/
|
|
158
|
-
3. Or use the Mermaid CLI: \`mmdc -i ${path.basename(diagramPath)} -o ${baseName}-diagram${diagramNumber}.svg\`
|
|
159
|
-
|
|
160
|
-
## Notes
|
|
161
|
-
|
|
162
|
-
This diagram was automatically generated as part of an architectural code review.
|
|
163
|
-
For the full review, see: ${path.basename(outputPath)}
|
|
164
|
-
`;
|
|
165
|
-
try {
|
|
166
|
-
await fs.writeFile(diagramPath, diagramContent, 'utf-8');
|
|
167
|
-
savedPaths.push(diagramPath);
|
|
168
|
-
logger_1.default.info(`Saved architecture diagram to: ${diagramPath}`);
|
|
169
|
-
}
|
|
170
|
-
catch (error) {
|
|
171
|
-
logger_1.default.error(`Failed to save diagram file: ${error}`);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return savedPaths;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Process review content to extract and save diagrams
|
|
178
|
-
* @param reviewContent The full review content
|
|
179
|
-
* @param outputPath Path to the main review output file
|
|
180
|
-
* @param options Review options
|
|
181
|
-
* @returns Promise resolving to paths of any saved diagram files
|
|
182
|
-
*/
|
|
183
|
-
async function processDiagrams(reviewContent, outputPath, options) {
|
|
184
|
-
// Only process diagrams if the flag is set and it's an architectural review
|
|
185
|
-
if (!options.diagram || options.type !== 'architectural') {
|
|
186
|
-
return [];
|
|
187
|
-
}
|
|
188
|
-
logger_1.default.info('Processing review content for architecture diagrams...');
|
|
189
|
-
// Extract any Mermaid diagrams from the review content
|
|
190
|
-
const diagrams = extractMermaidDiagrams(reviewContent);
|
|
191
|
-
if (diagrams.length === 0) {
|
|
192
|
-
logger_1.default.info('No Mermaid diagrams found in review content');
|
|
193
|
-
return [];
|
|
194
|
-
}
|
|
195
|
-
logger_1.default.info(`Found ${diagrams.length} Mermaid diagram(s) in review`);
|
|
196
|
-
// Save the diagrams to separate files
|
|
197
|
-
return saveDiagramFiles(diagrams, outputPath);
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Enhance review prompt to include diagram generation
|
|
201
|
-
* @param originalPrompt The original review prompt
|
|
202
|
-
* @param options Review options
|
|
203
|
-
* @param projectName Project name
|
|
204
|
-
* @param framework Detected framework (optional)
|
|
205
|
-
* @returns Enhanced prompt with diagram instructions
|
|
206
|
-
*/
|
|
207
|
-
function enhancePromptForDiagrams(originalPrompt, options, projectName, framework) {
|
|
208
|
-
// Only enhance if diagram flag is set and it's an architectural review
|
|
209
|
-
if (!options.diagram || options.type !== 'architectural') {
|
|
210
|
-
return originalPrompt;
|
|
211
|
-
}
|
|
212
|
-
const diagramPrompt = generateDiagramPrompt(projectName, framework);
|
|
213
|
-
// Add the diagram prompt to the original prompt
|
|
214
|
-
return `${originalPrompt}
|
|
215
|
-
|
|
216
|
-
${diagramPrompt}`;
|
|
217
|
-
}
|
|
218
|
-
//# sourceMappingURL=diagramGenerator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diagramGenerator.js","sourceRoot":"","sources":["../../src/utils/diagramGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Error logging utilities for the code review tool.
|
|
3
|
-
*
|
|
4
|
-
* This module provides error logging functionality to capture and persist error
|
|
5
|
-
* information for debugging and troubleshooting. It writes detailed error logs
|
|
6
|
-
* to files with timestamps and contextual information to help diagnose issues.
|
|
7
|
-
*
|
|
8
|
-
* Key responsibilities:
|
|
9
|
-
* - Capturing error details including stack traces
|
|
10
|
-
* - Recording contextual information about the error environment
|
|
11
|
-
* - Writing error logs to timestamped files
|
|
12
|
-
* - Creating error log directories as needed
|
|
13
|
-
* - Providing a consistent error logging interface across the application
|
|
14
|
-
*
|
|
15
|
-
* These utilities help developers diagnose and fix issues by preserving detailed
|
|
16
|
-
* error information that might otherwise be lost in console output.
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* Log an error to a file
|
|
20
|
-
* @param error Error to log
|
|
21
|
-
* @param context Additional context information
|
|
22
|
-
* @returns Promise resolving to the path of the error log file
|
|
23
|
-
*/
|
|
24
|
-
export declare function logError(error: unknown, context?: Record<string, unknown>): Promise<string>;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Error logging utilities for the code review tool.
|
|
4
|
-
*
|
|
5
|
-
* This module provides error logging functionality to capture and persist error
|
|
6
|
-
* information for debugging and troubleshooting. It writes detailed error logs
|
|
7
|
-
* to files with timestamps and contextual information to help diagnose issues.
|
|
8
|
-
*
|
|
9
|
-
* Key responsibilities:
|
|
10
|
-
* - Capturing error details including stack traces
|
|
11
|
-
* - Recording contextual information about the error environment
|
|
12
|
-
* - Writing error logs to timestamped files
|
|
13
|
-
* - Creating error log directories as needed
|
|
14
|
-
* - Providing a consistent error logging interface across the application
|
|
15
|
-
*
|
|
16
|
-
* These utilities help developers diagnose and fix issues by preserving detailed
|
|
17
|
-
* error information that might otherwise be lost in console output.
|
|
18
|
-
*/
|
|
19
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
20
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
21
|
-
};
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.logError = logError;
|
|
24
|
-
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
25
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
26
|
-
const fileSystem_1 = require("./fileSystem");
|
|
27
|
-
const logger_1 = __importDefault(require("./logger"));
|
|
28
|
-
/**
|
|
29
|
-
* Log an error to a file
|
|
30
|
-
* @param error Error to log
|
|
31
|
-
* @param context Additional context information
|
|
32
|
-
* @returns Promise resolving to the path of the error log file
|
|
33
|
-
*/
|
|
34
|
-
async function logError(error, context = {}) {
|
|
35
|
-
try {
|
|
36
|
-
// Create error logs directory
|
|
37
|
-
const errorLogsDir = node_path_1.default.resolve('error-logs');
|
|
38
|
-
await (0, fileSystem_1.createDirectory)(errorLogsDir);
|
|
39
|
-
// Generate timestamp for the filename
|
|
40
|
-
const timestamp = new Date().toISOString().replace(/:/g, '-');
|
|
41
|
-
const errorLogPath = node_path_1.default.join(errorLogsDir, `error-${timestamp}.json`);
|
|
42
|
-
// Format error object
|
|
43
|
-
const errorObj = {
|
|
44
|
-
timestamp: new Date().toISOString(),
|
|
45
|
-
message: error instanceof Error ? error.message : 'Unknown error',
|
|
46
|
-
stack: error instanceof Error ? error.stack : undefined,
|
|
47
|
-
context,
|
|
48
|
-
};
|
|
49
|
-
// Write error to file
|
|
50
|
-
await promises_1.default.writeFile(errorLogPath, JSON.stringify(errorObj, null, 2));
|
|
51
|
-
logger_1.default.error(`Error logged to: ${errorLogPath}`);
|
|
52
|
-
return errorLogPath;
|
|
53
|
-
}
|
|
54
|
-
catch (logError) {
|
|
55
|
-
logger_1.default.error('Failed to log error:', logError);
|
|
56
|
-
return '';
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=errorLogger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errorLogger.js","sourceRoot":"","sources":["../../src/utils/errorLogger.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;AAaH,4BA8BC;AAzCD,gEAAkC;AAClC,0DAA6B;AAC7B,6CAA+C;AAC/C,sDAA8B;AAE9B;;;;;GAKG;AACI,KAAK,UAAU,QAAQ,CAC5B,KAAc,EACd,UAAmC,EAAE;IAErC,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,IAAA,4BAAe,EAAC,YAAY,CAAC,CAAC;QAEpC,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,SAAS,OAAO,CAAC,CAAC;QAExE,sBAAsB;QACtB,MAAM,QAAQ,GAAG;YACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;YACjE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACvD,OAAO;SACR,CAAC;QAEF,sBAAsB;QACtB,MAAM,kBAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpE,gBAAM,CAAC,KAAK,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAC;QACjD,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,gBAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Utilities for estimating token usage and costs for code reviews.
|
|
3
|
-
*
|
|
4
|
-
* This module provides functions for estimating token usage and costs for code reviews
|
|
5
|
-
* based on file content and model selection. It uses the tokenCounter utilities for
|
|
6
|
-
* basic token counting and cost calculation, and adds specialized functions for
|
|
7
|
-
* estimating review-specific token usage patterns.
|
|
8
|
-
*/
|
|
9
|
-
import type { FileInfo } from '../types/review';
|
|
10
|
-
/**
|
|
11
|
-
* Estimate the number of output tokens based on input tokens and review type
|
|
12
|
-
* @param inputTokens Number of input tokens
|
|
13
|
-
* @param reviewType Type of review
|
|
14
|
-
* @returns Estimated number of output tokens
|
|
15
|
-
*/
|
|
16
|
-
export declare function estimateOutputTokens(inputTokens: number, reviewType: string): number;
|
|
17
|
-
/**
|
|
18
|
-
* Estimate token usage and cost for a set of files
|
|
19
|
-
*
|
|
20
|
-
* This function calculates the estimated token usage and cost for reviewing a set of files
|
|
21
|
-
* using a specified AI model. It considers:
|
|
22
|
-
* - The content of each file (code, comments, etc.)
|
|
23
|
-
* - The type of review being performed (quick, security, architectural, etc.)
|
|
24
|
-
* - The specific AI model being used and its pricing structure
|
|
25
|
-
*
|
|
26
|
-
* The estimation includes overhead tokens for system prompts and instructions that are
|
|
27
|
-
* included in every review, in addition to the tokens from the file content itself.
|
|
28
|
-
*
|
|
29
|
-
* @param files Array of file information objects containing file content and metadata
|
|
30
|
-
* @param reviewType Type of review (quick, security, architectural, performance)
|
|
31
|
-
* @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
|
|
32
|
-
* @returns Estimated token usage and cost information including:
|
|
33
|
-
* - inputTokens: Number of tokens in the input (files + prompts)
|
|
34
|
-
* - outputTokens: Estimated number of tokens in the AI response
|
|
35
|
-
* - totalTokens: Total token usage (input + output)
|
|
36
|
-
* - estimatedCost: Estimated cost in USD
|
|
37
|
-
* - formattedCost: Cost formatted as a string (e.g., '$0.12 USD')
|
|
38
|
-
* - fileCount: Number of files being reviewed
|
|
39
|
-
* - totalFileSize: Total size of all files in bytes
|
|
40
|
-
*/
|
|
41
|
-
export declare function estimateReviewCost(files: FileInfo[], reviewType: string, modelName?: string): Promise<{
|
|
42
|
-
inputTokens: number;
|
|
43
|
-
outputTokens: number;
|
|
44
|
-
totalTokens: number;
|
|
45
|
-
estimatedCost: number;
|
|
46
|
-
formattedCost: string;
|
|
47
|
-
fileCount: number;
|
|
48
|
-
totalFileSize: number;
|
|
49
|
-
}>;
|
|
50
|
-
/**
|
|
51
|
-
* Format estimation results as a human-readable string
|
|
52
|
-
*
|
|
53
|
-
* This function takes the estimation results from estimateReviewCost or estimateFromFilePaths
|
|
54
|
-
* and formats them into a user-friendly string that can be displayed to the user.
|
|
55
|
-
*
|
|
56
|
-
* The formatted string includes:
|
|
57
|
-
* - Number of files being reviewed
|
|
58
|
-
* - Total file size
|
|
59
|
-
* - Input token count
|
|
60
|
-
* - Estimated output token count
|
|
61
|
-
* - Total token usage
|
|
62
|
-
* - Estimated cost in USD
|
|
63
|
-
*
|
|
64
|
-
* @param estimation Estimation results from estimateReviewCost or estimateFromFilePaths
|
|
65
|
-
* @param reviewType Type of review (quick, security, architectural, performance)
|
|
66
|
-
* @param modelName Name of the model being used
|
|
67
|
-
* @returns Formatted estimation string ready for display
|
|
68
|
-
* @example
|
|
69
|
-
* // Example output:
|
|
70
|
-
* // Estimation for 5 files (25.5 KB) using openrouter:anthropic/claude-3-opus-20240229:
|
|
71
|
-
* // - Review type: quick
|
|
72
|
-
* // - Input tokens: 5,000
|
|
73
|
-
* // - Output tokens: 2,500 (estimated)
|
|
74
|
-
* // - Total tokens: 7,500
|
|
75
|
-
* // - Estimated Cost: $0.015 USD
|
|
76
|
-
*/
|
|
77
|
-
export declare function formatEstimation(estimation: ReturnType<typeof estimateReviewCost> extends Promise<infer T> ? T : never, reviewType: string, modelName: string): string;
|
|
78
|
-
/**
|
|
79
|
-
* Estimate token usage and cost for a set of file paths
|
|
80
|
-
*
|
|
81
|
-
* This function is a convenience wrapper around estimateReviewCost that takes file paths
|
|
82
|
-
* instead of FileInfo objects. It reads the content of each file and then calls
|
|
83
|
-
* estimateReviewCost to calculate the token usage and cost.
|
|
84
|
-
*
|
|
85
|
-
* This is particularly useful for the --estimate command line flag, which needs to
|
|
86
|
-
* estimate costs before actually performing a review.
|
|
87
|
-
*
|
|
88
|
-
* @param filePaths Array of file paths to estimate token usage for
|
|
89
|
-
* @param reviewType Type of review (quick, security, architectural, performance)
|
|
90
|
-
* @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
|
|
91
|
-
* @returns Estimated token usage and cost information (same as estimateReviewCost)
|
|
92
|
-
* @throws Error if any file cannot be read
|
|
93
|
-
* @see estimateReviewCost for details on the return value
|
|
94
|
-
*/
|
|
95
|
-
export declare function estimateFromFilePaths(filePaths: string[], reviewType: string, modelName?: string): Promise<ReturnType<typeof estimateReviewCost> extends Promise<infer T> ? T : never>;
|
|
96
|
-
/**
|
|
97
|
-
* Estimate token usage and cost for a multi-pass review
|
|
98
|
-
*
|
|
99
|
-
* This function extends the standard token estimation by accounting for the overhead
|
|
100
|
-
* of multi-pass reviews, including context maintenance between passes and additional
|
|
101
|
-
* overhead for each pass.
|
|
102
|
-
*
|
|
103
|
-
* @param files Array of file information objects containing file content and metadata
|
|
104
|
-
* @param reviewType Type of review (quick, security, architectural, performance)
|
|
105
|
-
* @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
|
|
106
|
-
* @param options Additional estimation options
|
|
107
|
-
* @param options.passCount Number of passes to estimate (if known)
|
|
108
|
-
* @param options.contextMaintenanceFactor Factor for context maintenance overhead (0-1)
|
|
109
|
-
* @returns Estimated token usage and cost information for multi-pass review
|
|
110
|
-
*/
|
|
111
|
-
export declare function estimateMultiPassReviewCost(files: FileInfo[], reviewType: string, modelName?: string, options?: {
|
|
112
|
-
passCount?: number;
|
|
113
|
-
contextMaintenanceFactor?: number;
|
|
114
|
-
}): Promise<{
|
|
115
|
-
inputTokens: number;
|
|
116
|
-
outputTokens: number;
|
|
117
|
-
totalTokens: number;
|
|
118
|
-
estimatedCost: number;
|
|
119
|
-
formattedCost: string;
|
|
120
|
-
fileCount: number;
|
|
121
|
-
totalFileSize: number;
|
|
122
|
-
passCount: number;
|
|
123
|
-
perPassCosts: {
|
|
124
|
-
passNumber: number;
|
|
125
|
-
inputTokens: number;
|
|
126
|
-
outputTokens: number;
|
|
127
|
-
totalTokens: number;
|
|
128
|
-
estimatedCost: number;
|
|
129
|
-
}[];
|
|
130
|
-
}>;
|
|
131
|
-
/**
|
|
132
|
-
* Format multi-pass estimation results as a human-readable string
|
|
133
|
-
*
|
|
134
|
-
* @param estimation Multi-pass estimation results
|
|
135
|
-
* @param reviewType Type of review
|
|
136
|
-
* @param modelName Name of the model being used
|
|
137
|
-
* @returns Formatted estimation string
|
|
138
|
-
*/
|
|
139
|
-
export declare function formatMultiPassEstimation(estimation: ReturnType<typeof estimateMultiPassReviewCost> extends Promise<infer T> ? T : never, reviewType: string, modelName: string): string;
|