codereview-aia 0.2.1 → 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 +3 -43
- 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 -186
- 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 -383
- 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 -350
- 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,329 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Utilities for estimating token usage and costs for code reviews.
|
|
4
|
-
*
|
|
5
|
-
* This module provides functions for estimating token usage and costs for code reviews
|
|
6
|
-
* based on file content and model selection. It uses the tokenCounter utilities for
|
|
7
|
-
* basic token counting and cost calculation, and adds specialized functions for
|
|
8
|
-
* estimating review-specific token usage patterns.
|
|
9
|
-
*/
|
|
10
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.estimateOutputTokens = estimateOutputTokens;
|
|
15
|
-
exports.estimateReviewCost = estimateReviewCost;
|
|
16
|
-
exports.formatEstimation = formatEstimation;
|
|
17
|
-
exports.estimateFromFilePaths = estimateFromFilePaths;
|
|
18
|
-
exports.estimateMultiPassReviewCost = estimateMultiPassReviewCost;
|
|
19
|
-
exports.formatMultiPassEstimation = formatMultiPassEstimation;
|
|
20
|
-
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
21
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
22
|
-
const tokenCounter_1 = require("../clients/utils/tokenCounter");
|
|
23
|
-
const logger_1 = __importDefault(require("./logger"));
|
|
24
|
-
/**
|
|
25
|
-
* Ratio of output tokens to input tokens based on empirical observations
|
|
26
|
-
* This is an approximation and may vary based on the specific review type and content
|
|
27
|
-
*/
|
|
28
|
-
const OUTPUT_TO_INPUT_RATIO = {
|
|
29
|
-
architectural: 0.6, // Architectural reviews tend to be more concise
|
|
30
|
-
'quick-fixes': 0.8, // Quick fixes often include code snippets
|
|
31
|
-
security: 0.7, // Security reviews are moderately detailed
|
|
32
|
-
performance: 0.7, // Performance reviews are similar to security
|
|
33
|
-
default: 0.75, // Default ratio if review type is not specified
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* Overhead tokens for review context, instructions, and formatting
|
|
37
|
-
* This is added to the total token count to account for the review framework
|
|
38
|
-
*/
|
|
39
|
-
const REVIEW_OVERHEAD_TOKENS = 1500;
|
|
40
|
-
/**
|
|
41
|
-
* Context maintenance overhead factor for multi-pass reviews
|
|
42
|
-
* This factor is applied to estimate additional tokens needed for maintaining context
|
|
43
|
-
*/
|
|
44
|
-
const MULTI_PASS_CONTEXT_MAINTENANCE_FACTOR = 0.15;
|
|
45
|
-
/**
|
|
46
|
-
* Additional overhead tokens per pass in multi-pass reviews
|
|
47
|
-
* This accounts for pass management, coordination, and state tracking
|
|
48
|
-
*/
|
|
49
|
-
const MULTI_PASS_OVERHEAD_PER_PASS = 800;
|
|
50
|
-
/**
|
|
51
|
-
* Estimate the number of output tokens based on input tokens and review type
|
|
52
|
-
* @param inputTokens Number of input tokens
|
|
53
|
-
* @param reviewType Type of review
|
|
54
|
-
* @returns Estimated number of output tokens
|
|
55
|
-
*/
|
|
56
|
-
function estimateOutputTokens(inputTokens, reviewType) {
|
|
57
|
-
const ratio = OUTPUT_TO_INPUT_RATIO[reviewType] ||
|
|
58
|
-
OUTPUT_TO_INPUT_RATIO.default;
|
|
59
|
-
return Math.ceil(inputTokens * ratio);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Estimate token usage and cost for a set of files
|
|
63
|
-
*
|
|
64
|
-
* This function calculates the estimated token usage and cost for reviewing a set of files
|
|
65
|
-
* using a specified AI model. It considers:
|
|
66
|
-
* - The content of each file (code, comments, etc.)
|
|
67
|
-
* - The type of review being performed (quick, security, architectural, etc.)
|
|
68
|
-
* - The specific AI model being used and its pricing structure
|
|
69
|
-
*
|
|
70
|
-
* The estimation includes overhead tokens for system prompts and instructions that are
|
|
71
|
-
* included in every review, in addition to the tokens from the file content itself.
|
|
72
|
-
*
|
|
73
|
-
* @param files Array of file information objects containing file content and metadata
|
|
74
|
-
* @param reviewType Type of review (quick, security, architectural, performance)
|
|
75
|
-
* @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
|
|
76
|
-
* @returns Estimated token usage and cost information including:
|
|
77
|
-
* - inputTokens: Number of tokens in the input (files + prompts)
|
|
78
|
-
* - outputTokens: Estimated number of tokens in the AI response
|
|
79
|
-
* - totalTokens: Total token usage (input + output)
|
|
80
|
-
* - estimatedCost: Estimated cost in USD
|
|
81
|
-
* - formattedCost: Cost formatted as a string (e.g., '$0.12 USD')
|
|
82
|
-
* - fileCount: Number of files being reviewed
|
|
83
|
-
* - totalFileSize: Total size of all files in bytes
|
|
84
|
-
*/
|
|
85
|
-
async function estimateReviewCost(files, reviewType, modelName = process.env.AI_CODE_REVIEW_MODEL || 'openrouter:anthropic/claude-3-opus-20240229') {
|
|
86
|
-
// Calculate total input tokens from all files
|
|
87
|
-
let totalInputTokens = REVIEW_OVERHEAD_TOKENS; // Start with overhead tokens
|
|
88
|
-
let totalFileSize = 0;
|
|
89
|
-
for (const file of files) {
|
|
90
|
-
const fileTokens = (0, tokenCounter_1.estimateTokenCount)(file.content);
|
|
91
|
-
totalInputTokens += fileTokens;
|
|
92
|
-
totalFileSize += file.content.length;
|
|
93
|
-
}
|
|
94
|
-
// Estimate output tokens based on input tokens and review type
|
|
95
|
-
const estimatedOutputTokens = estimateOutputTokens(totalInputTokens, reviewType);
|
|
96
|
-
// Calculate cost information
|
|
97
|
-
const costInfo = (0, tokenCounter_1.getCostInfo)(totalInputTokens, estimatedOutputTokens, modelName);
|
|
98
|
-
return {
|
|
99
|
-
...costInfo,
|
|
100
|
-
fileCount: files.length,
|
|
101
|
-
totalFileSize,
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Format estimation results as a human-readable string
|
|
106
|
-
*
|
|
107
|
-
* This function takes the estimation results from estimateReviewCost or estimateFromFilePaths
|
|
108
|
-
* and formats them into a user-friendly string that can be displayed to the user.
|
|
109
|
-
*
|
|
110
|
-
* The formatted string includes:
|
|
111
|
-
* - Number of files being reviewed
|
|
112
|
-
* - Total file size
|
|
113
|
-
* - Input token count
|
|
114
|
-
* - Estimated output token count
|
|
115
|
-
* - Total token usage
|
|
116
|
-
* - Estimated cost in USD
|
|
117
|
-
*
|
|
118
|
-
* @param estimation Estimation results from estimateReviewCost or estimateFromFilePaths
|
|
119
|
-
* @param reviewType Type of review (quick, security, architectural, performance)
|
|
120
|
-
* @param modelName Name of the model being used
|
|
121
|
-
* @returns Formatted estimation string ready for display
|
|
122
|
-
* @example
|
|
123
|
-
* // Example output:
|
|
124
|
-
* // Estimation for 5 files (25.5 KB) using openrouter:anthropic/claude-3-opus-20240229:
|
|
125
|
-
* // - Review type: quick
|
|
126
|
-
* // - Input tokens: 5,000
|
|
127
|
-
* // - Output tokens: 2,500 (estimated)
|
|
128
|
-
* // - Total tokens: 7,500
|
|
129
|
-
* // - Estimated Cost: $0.015 USD
|
|
130
|
-
*/
|
|
131
|
-
function formatEstimation(estimation, reviewType, modelName) {
|
|
132
|
-
// Extract provider and model if available
|
|
133
|
-
const [provider, model] = modelName.includes(':') ? modelName.split(':') : [undefined, modelName];
|
|
134
|
-
const displayModel = model || modelName;
|
|
135
|
-
const displayProvider = provider
|
|
136
|
-
? `${provider.charAt(0).toUpperCase() + provider.slice(1)}`
|
|
137
|
-
: 'Unknown';
|
|
138
|
-
const fileSizeInKB = (estimation.totalFileSize / 1024).toFixed(2);
|
|
139
|
-
const averageFileSize = estimation.fileCount > 0
|
|
140
|
-
? (estimation.totalFileSize / estimation.fileCount / 1024).toFixed(2)
|
|
141
|
-
: '0.00';
|
|
142
|
-
return `
|
|
143
|
-
=== Token Usage and Cost Estimation ===
|
|
144
|
-
|
|
145
|
-
Review Type: ${reviewType}
|
|
146
|
-
Provider: ${displayProvider}
|
|
147
|
-
Model: ${displayModel}
|
|
148
|
-
Files: ${estimation.fileCount} (${fileSizeInKB} KB total, ${averageFileSize} KB average)
|
|
149
|
-
|
|
150
|
-
Token Usage:
|
|
151
|
-
Input Tokens: ${estimation.inputTokens.toLocaleString()} (includes ${REVIEW_OVERHEAD_TOKENS.toLocaleString()} overhead tokens)
|
|
152
|
-
Estimated Output Tokens: ${estimation.outputTokens.toLocaleString()}
|
|
153
|
-
Total Tokens: ${estimation.totalTokens.toLocaleString()}
|
|
154
|
-
|
|
155
|
-
Estimated Cost: ${estimation.formattedCost}
|
|
156
|
-
|
|
157
|
-
Note: This is an estimate based on approximate token counts and may vary
|
|
158
|
-
based on the actual content and model behavior.
|
|
159
|
-
`;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Estimate token usage and cost for a set of file paths
|
|
163
|
-
*
|
|
164
|
-
* This function is a convenience wrapper around estimateReviewCost that takes file paths
|
|
165
|
-
* instead of FileInfo objects. It reads the content of each file and then calls
|
|
166
|
-
* estimateReviewCost to calculate the token usage and cost.
|
|
167
|
-
*
|
|
168
|
-
* This is particularly useful for the --estimate command line flag, which needs to
|
|
169
|
-
* estimate costs before actually performing a review.
|
|
170
|
-
*
|
|
171
|
-
* @param filePaths Array of file paths to estimate token usage for
|
|
172
|
-
* @param reviewType Type of review (quick, security, architectural, performance)
|
|
173
|
-
* @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
|
|
174
|
-
* @returns Estimated token usage and cost information (same as estimateReviewCost)
|
|
175
|
-
* @throws Error if any file cannot be read
|
|
176
|
-
* @see estimateReviewCost for details on the return value
|
|
177
|
-
*/
|
|
178
|
-
async function estimateFromFilePaths(filePaths, reviewType, modelName = process.env.AI_CODE_REVIEW_MODEL || 'openrouter:anthropic/claude-3-opus-20240229') {
|
|
179
|
-
// Read file contents
|
|
180
|
-
const files = [];
|
|
181
|
-
for (const filePath of filePaths) {
|
|
182
|
-
try {
|
|
183
|
-
const content = await promises_1.default.readFile(filePath, 'utf-8');
|
|
184
|
-
files.push({
|
|
185
|
-
path: filePath,
|
|
186
|
-
relativePath: node_path_1.default.basename(filePath),
|
|
187
|
-
content,
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
catch (error) {
|
|
191
|
-
logger_1.default.error(`Error reading file ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
// Estimate cost
|
|
195
|
-
return await estimateReviewCost(files, reviewType, modelName);
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Estimate token usage and cost for a multi-pass review
|
|
199
|
-
*
|
|
200
|
-
* This function extends the standard token estimation by accounting for the overhead
|
|
201
|
-
* of multi-pass reviews, including context maintenance between passes and additional
|
|
202
|
-
* overhead for each pass.
|
|
203
|
-
*
|
|
204
|
-
* @param files Array of file information objects containing file content and metadata
|
|
205
|
-
* @param reviewType Type of review (quick, security, architectural, performance)
|
|
206
|
-
* @param modelName Name of the model to use (e.g., 'openrouter:anthropic/claude-3-opus-20240229')
|
|
207
|
-
* @param options Additional estimation options
|
|
208
|
-
* @param options.passCount Number of passes to estimate (if known)
|
|
209
|
-
* @param options.contextMaintenanceFactor Factor for context maintenance overhead (0-1)
|
|
210
|
-
* @returns Estimated token usage and cost information for multi-pass review
|
|
211
|
-
*/
|
|
212
|
-
async function estimateMultiPassReviewCost(files, reviewType, modelName = process.env.AI_CODE_REVIEW_MODEL || 'openrouter:anthropic/claude-3-opus-20240229', options = {}) {
|
|
213
|
-
// Calculate total input tokens from all files
|
|
214
|
-
let totalFileTokens = 0;
|
|
215
|
-
let totalFileSize = 0;
|
|
216
|
-
for (const file of files) {
|
|
217
|
-
const fileTokens = (0, tokenCounter_1.estimateTokenCount)(file.content);
|
|
218
|
-
totalFileTokens += fileTokens;
|
|
219
|
-
totalFileSize += file.content.length;
|
|
220
|
-
}
|
|
221
|
-
// Calculate or determine the number of passes
|
|
222
|
-
const contextMaintenanceFactor = options.contextMaintenanceFactor || MULTI_PASS_CONTEXT_MAINTENANCE_FACTOR;
|
|
223
|
-
// Get a rough estimate of context window size based on the model
|
|
224
|
-
// This is a simplified approach; in production we'd pull this from provider metadata.
|
|
225
|
-
const getContextWindow = (model) => {
|
|
226
|
-
if (model.includes('claude'))
|
|
227
|
-
return 200000;
|
|
228
|
-
if (model.includes('gpt-4o'))
|
|
229
|
-
return 128000;
|
|
230
|
-
if (model.includes('gpt-4'))
|
|
231
|
-
return 128000;
|
|
232
|
-
return 128000; // Default for OpenRouter models
|
|
233
|
-
};
|
|
234
|
-
const contextWindow = getContextWindow(modelName);
|
|
235
|
-
const effectiveContextSize = Math.floor(contextWindow * (1 - contextMaintenanceFactor));
|
|
236
|
-
// Determine number of passes if not provided
|
|
237
|
-
const passCount = options.passCount || Math.max(1, Math.ceil(totalFileTokens / effectiveContextSize));
|
|
238
|
-
// Calculate tokens per pass (roughly equal distribution for estimation)
|
|
239
|
-
const tokensPerPass = totalFileTokens / passCount;
|
|
240
|
-
// Calculate per-pass costs
|
|
241
|
-
const perPassCosts = [];
|
|
242
|
-
let totalInputTokens = 0;
|
|
243
|
-
let totalOutputTokens = 0;
|
|
244
|
-
let totalEstimatedCost = 0;
|
|
245
|
-
for (let i = 0; i < passCount; i++) {
|
|
246
|
-
// Each pass has standard overhead plus context maintenance overhead
|
|
247
|
-
const passInputTokens = Math.ceil(tokensPerPass + REVIEW_OVERHEAD_TOKENS + MULTI_PASS_OVERHEAD_PER_PASS);
|
|
248
|
-
// For passes after the first, add context from previous passes
|
|
249
|
-
const contextTokens = i > 0 ? Math.ceil(i * MULTI_PASS_OVERHEAD_PER_PASS * 1.5) : 0;
|
|
250
|
-
const totalPassInputTokens = passInputTokens + contextTokens;
|
|
251
|
-
// Estimate output tokens
|
|
252
|
-
const passOutputTokens = estimateOutputTokens(totalPassInputTokens, reviewType);
|
|
253
|
-
// Calculate cost for this pass
|
|
254
|
-
const passCostInfo = (0, tokenCounter_1.getCostInfo)(totalPassInputTokens, passOutputTokens, modelName);
|
|
255
|
-
perPassCosts.push({
|
|
256
|
-
passNumber: i + 1,
|
|
257
|
-
inputTokens: totalPassInputTokens,
|
|
258
|
-
outputTokens: passOutputTokens,
|
|
259
|
-
totalTokens: totalPassInputTokens + passOutputTokens,
|
|
260
|
-
estimatedCost: passCostInfo.estimatedCost,
|
|
261
|
-
});
|
|
262
|
-
// Accumulate totals
|
|
263
|
-
totalInputTokens += totalPassInputTokens;
|
|
264
|
-
totalOutputTokens += passOutputTokens;
|
|
265
|
-
totalEstimatedCost += passCostInfo.estimatedCost;
|
|
266
|
-
}
|
|
267
|
-
return {
|
|
268
|
-
inputTokens: totalInputTokens,
|
|
269
|
-
outputTokens: totalOutputTokens,
|
|
270
|
-
totalTokens: totalInputTokens + totalOutputTokens,
|
|
271
|
-
estimatedCost: totalEstimatedCost,
|
|
272
|
-
formattedCost: (0, tokenCounter_1.formatCost)(totalEstimatedCost),
|
|
273
|
-
fileCount: files.length,
|
|
274
|
-
totalFileSize,
|
|
275
|
-
passCount,
|
|
276
|
-
perPassCosts,
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Format multi-pass estimation results as a human-readable string
|
|
281
|
-
*
|
|
282
|
-
* @param estimation Multi-pass estimation results
|
|
283
|
-
* @param reviewType Type of review
|
|
284
|
-
* @param modelName Name of the model being used
|
|
285
|
-
* @returns Formatted estimation string
|
|
286
|
-
*/
|
|
287
|
-
function formatMultiPassEstimation(estimation, reviewType, modelName) {
|
|
288
|
-
// Extract provider and model if available
|
|
289
|
-
const [provider, model] = modelName.includes(':') ? modelName.split(':') : [undefined, modelName];
|
|
290
|
-
const displayModel = model || modelName;
|
|
291
|
-
const displayProvider = provider
|
|
292
|
-
? `${provider.charAt(0).toUpperCase() + provider.slice(1)}`
|
|
293
|
-
: 'Unknown';
|
|
294
|
-
const fileSizeInKB = (estimation.totalFileSize / 1024).toFixed(2);
|
|
295
|
-
const averageFileSize = estimation.fileCount > 0
|
|
296
|
-
? (estimation.totalFileSize / estimation.fileCount / 1024).toFixed(2)
|
|
297
|
-
: '0.00';
|
|
298
|
-
let output = `
|
|
299
|
-
=== Multi-Pass Token Usage and Cost Estimation ===
|
|
300
|
-
|
|
301
|
-
Review Type: ${reviewType}
|
|
302
|
-
Provider: ${displayProvider}
|
|
303
|
-
Model: ${displayModel}
|
|
304
|
-
Files: ${estimation.fileCount} (${fileSizeInKB} KB total, ${averageFileSize} KB average)
|
|
305
|
-
Passes: ${estimation.passCount}
|
|
306
|
-
|
|
307
|
-
Total Token Usage:
|
|
308
|
-
Input Tokens: ${estimation.inputTokens.toLocaleString()}
|
|
309
|
-
Estimated Output Tokens: ${estimation.outputTokens.toLocaleString()}
|
|
310
|
-
Total Tokens: ${estimation.totalTokens.toLocaleString()}
|
|
311
|
-
|
|
312
|
-
Estimated Total Cost: ${estimation.formattedCost}
|
|
313
|
-
|
|
314
|
-
Per-Pass Breakdown:
|
|
315
|
-
`;
|
|
316
|
-
estimation.perPassCosts.forEach((passCost) => {
|
|
317
|
-
output += ` Pass ${passCost.passNumber}:
|
|
318
|
-
Input Tokens: ${passCost.inputTokens.toLocaleString()}
|
|
319
|
-
Output Tokens: ${passCost.outputTokens.toLocaleString()}
|
|
320
|
-
Cost: ${(0, tokenCounter_1.formatCost)(passCost.estimatedCost)}
|
|
321
|
-
`;
|
|
322
|
-
});
|
|
323
|
-
output += `
|
|
324
|
-
Note: This is an estimate based on approximate token counts and may vary
|
|
325
|
-
based on the actual content and model behavior.
|
|
326
|
-
`;
|
|
327
|
-
return output;
|
|
328
|
-
}
|
|
329
|
-
//# sourceMappingURL=estimationUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"estimationUtils.js","sourceRoot":"","sources":["../../src/utils/estimationUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Utilities for filtering and selecting files for code review.
|
|
3
|
-
*
|
|
4
|
-
* This module provides functions for identifying, filtering, and selecting files
|
|
5
|
-
* for code review based on various criteria. It handles file discovery, gitignore
|
|
6
|
-
* pattern matching, file extension filtering, and test file identification.
|
|
7
|
-
* Supported file types include TypeScript, JavaScript, JSON, and Markdown.
|
|
8
|
-
*/
|
|
9
|
-
import type { FileInfo } from '../types/review';
|
|
10
|
-
/**
|
|
11
|
-
* Check if a file is a test file
|
|
12
|
-
* @param filePath File path
|
|
13
|
-
* @returns True if the file is a test file
|
|
14
|
-
*/
|
|
15
|
-
export declare function isTestFile(filePath: string): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Load gitignore patterns from a project directory
|
|
18
|
-
* @param projectDir Project directory path
|
|
19
|
-
* @returns Array of gitignore patterns
|
|
20
|
-
*/
|
|
21
|
-
export declare function loadGitignorePatterns(projectDir: string): Promise<string[]>;
|
|
22
|
-
/**
|
|
23
|
-
* Check if a file should be excluded based on gitignore patterns
|
|
24
|
-
* @param filePath File path
|
|
25
|
-
* @param gitignorePatterns Array of gitignore patterns
|
|
26
|
-
* @returns True if the file should be excluded
|
|
27
|
-
*/
|
|
28
|
-
export declare function shouldExcludeFile(filePath: string, gitignorePatterns: string[]): boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Get the language for a file based on its extension
|
|
31
|
-
* @param filePath File path
|
|
32
|
-
* @returns Language identifier
|
|
33
|
-
*/
|
|
34
|
-
export declare function getLanguageForFile(filePath: string): string;
|
|
35
|
-
/**
|
|
36
|
-
* Check if a file is supported for code review
|
|
37
|
-
* @param filePath File path
|
|
38
|
-
* @returns True if the file is supported
|
|
39
|
-
*/
|
|
40
|
-
export declare function isSupportedFile(filePath: string): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Discover files in a directory recursively
|
|
43
|
-
* @param dirPath Directory path
|
|
44
|
-
* @param options Options for file discovery
|
|
45
|
-
* @returns Array of file paths
|
|
46
|
-
*/
|
|
47
|
-
export declare function discoverFiles(dirPath: string, options?: {
|
|
48
|
-
excludePatterns?: string[];
|
|
49
|
-
includeTests?: boolean;
|
|
50
|
-
maxDepth?: number;
|
|
51
|
-
currentDepth?: number;
|
|
52
|
-
}): Promise<string[]>;
|
|
53
|
-
/**
|
|
54
|
-
* Read file content and create a FileInfo object
|
|
55
|
-
* @param filePath File path
|
|
56
|
-
* @returns FileInfo object
|
|
57
|
-
*/
|
|
58
|
-
export declare function readFileInfo(filePath: string): Promise<FileInfo>;
|
|
59
|
-
/**
|
|
60
|
-
* Read multiple files and create FileInfo objects
|
|
61
|
-
* @param filePaths Array of file paths
|
|
62
|
-
* @returns Array of FileInfo objects
|
|
63
|
-
*/
|
|
64
|
-
export declare function readMultipleFiles(filePaths: string[]): Promise<FileInfo[]>;
|
|
65
|
-
/**
|
|
66
|
-
* Get files to review based on the target path
|
|
67
|
-
* @param targetPath The target file or directory path
|
|
68
|
-
* @param isFile Whether the target is a file
|
|
69
|
-
* @param includeTests Whether to include test files
|
|
70
|
-
* @returns Array of file paths to review
|
|
71
|
-
*/
|
|
72
|
-
export declare function getFilesToReview(targetPath: string, isFile: boolean, includeTests?: boolean, excludePatterns?: string[]): Promise<string[]>;
|