codereview-aia 0.1.2 → 0.1.3
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 -2
- package/docs/opt-in-full-context.md +27 -0
- package/package.json +11 -11
- package/reports/cr-cr-aia-17-11-2025-20-13.md +354 -0
- package/src/clients/implementations/openRouterClient.ts +2 -0
- package/src/clients/openRouterClient.ts +8 -1
- package/src/clients/utils/promptFormatter.ts +97 -20
- package/src/core/handlers/FileProcessingHandler.ts +6 -0
- package/src/index.ts +0 -3
- package/src/runtime/cliEntry.ts +21 -3
- package/src/runtime/fileCollector.ts +278 -5
- package/src/runtime/reviewPipeline.ts +46 -7
- package/src/runtime/runAiCodeReview.ts +161 -6
- package/src/runtime/ui/RuntimeApp.tsx +34 -5
- package/src/runtime/ui/screens/ProgressScreen.tsx +49 -1
- package/src/runtime/ui/screens/ResultsScreen.tsx +29 -9
- package/src/types/review.ts +18 -0
- 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/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 -738
- 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 -36
- package/dist/clients/utils/promptFormatter.js +0 -92
- 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 -209
- 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 -286
- package/dist/core/ConfigurationService.js +0 -477
- 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 -159
- 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 -294
- 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/index.d.ts +0 -2
- package/dist/index.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/cliEntry.d.ts +0 -1
- package/dist/runtime/cliEntry.js +0 -213
- package/dist/runtime/cliEntry.js.map +0 -1
- package/dist/runtime/debug/logManager.d.ts +0 -5
- package/dist/runtime/debug/logManager.js +0 -31
- package/dist/runtime/debug/logManager.js.map +0 -1
- package/dist/runtime/errors.d.ts +0 -5
- package/dist/runtime/errors.js +0 -15
- package/dist/runtime/errors.js.map +0 -1
- package/dist/runtime/fileCollector.d.ts +0 -5
- package/dist/runtime/fileCollector.js +0 -167
- 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/webCheck.d.ts +0 -1
- package/dist/runtime/preprod/webCheck.js +0 -98
- 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 -15
- package/dist/runtime/reporting/markdownReportBuilder.js +0 -97
- 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/reviewPipeline.d.ts +0 -28
- package/dist/runtime/reviewPipeline.js +0 -122
- package/dist/runtime/reviewPipeline.js.map +0 -1
- package/dist/runtime/runAiCodeReview.d.ts +0 -10
- package/dist/runtime/runAiCodeReview.js +0 -138
- 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/runtime/ui/Layout.d.ts +0 -11
- package/dist/runtime/ui/Layout.js +0 -47
- package/dist/runtime/ui/Layout.js.map +0 -1
- package/dist/runtime/ui/RuntimeApp.d.ts +0 -6
- package/dist/runtime/ui/RuntimeApp.js +0 -161
- package/dist/runtime/ui/RuntimeApp.js.map +0 -1
- package/dist/runtime/ui/inkModules.d.ts +0 -10
- package/dist/runtime/ui/inkModules.js +0 -63
- package/dist/runtime/ui/inkModules.js.map +0 -1
- package/dist/runtime/ui/screens/AuthScreen.d.ts +0 -6
- package/dist/runtime/ui/screens/AuthScreen.js +0 -67
- package/dist/runtime/ui/screens/AuthScreen.js.map +0 -1
- package/dist/runtime/ui/screens/ModeSelection.d.ts +0 -10
- package/dist/runtime/ui/screens/ModeSelection.js +0 -100
- package/dist/runtime/ui/screens/ModeSelection.js.map +0 -1
- package/dist/runtime/ui/screens/ProgressScreen.d.ts +0 -7
- package/dist/runtime/ui/screens/ProgressScreen.js +0 -38
- package/dist/runtime/ui/screens/ProgressScreen.js.map +0 -1
- package/dist/runtime/ui/screens/ResultsScreen.d.ts +0 -7
- package/dist/runtime/ui/screens/ResultsScreen.js +0 -22
- package/dist/runtime/ui/screens/ResultsScreen.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 -258
- 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 -795
- 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/logger.d.ts +0 -77
- package/dist/utils/logger.js +0 -271
- package/dist/utils/logger.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 -140
- 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,294 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Review context for maintaining state between review passes.
|
|
4
|
-
*
|
|
5
|
-
* This module provides a class for maintaining context between multiple review passes.
|
|
6
|
-
* It stores information about the review, including file metadata, important code elements,
|
|
7
|
-
* and findings from previous passes.
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.ReviewContext = exports.CodeElementType = void 0;
|
|
11
|
-
/**
|
|
12
|
-
* Type of code element tracked in the context
|
|
13
|
-
*/
|
|
14
|
-
var CodeElementType;
|
|
15
|
-
(function (CodeElementType) {
|
|
16
|
-
CodeElementType["Function"] = "function";
|
|
17
|
-
CodeElementType["Class"] = "class";
|
|
18
|
-
CodeElementType["Interface"] = "interface";
|
|
19
|
-
CodeElementType["Variable"] = "variable";
|
|
20
|
-
CodeElementType["Import"] = "import";
|
|
21
|
-
CodeElementType["ExportedItem"] = "exported";
|
|
22
|
-
CodeElementType["Component"] = "component";
|
|
23
|
-
CodeElementType["EntryPoint"] = "entryPoint";
|
|
24
|
-
})(CodeElementType || (exports.CodeElementType = CodeElementType = {}));
|
|
25
|
-
/**
|
|
26
|
-
* Context for multi-pass reviews
|
|
27
|
-
*/
|
|
28
|
-
class ReviewContext {
|
|
29
|
-
/** Project name */
|
|
30
|
-
projectName;
|
|
31
|
-
/** Review type */
|
|
32
|
-
reviewType;
|
|
33
|
-
/** All files involved in the review */
|
|
34
|
-
allFiles;
|
|
35
|
-
/** Current pass number */
|
|
36
|
-
currentPass;
|
|
37
|
-
/** Important code elements tracked across passes */
|
|
38
|
-
codeElements;
|
|
39
|
-
/** Findings from previous passes */
|
|
40
|
-
findings;
|
|
41
|
-
/** File summaries from previous passes */
|
|
42
|
-
fileSummaries;
|
|
43
|
-
/** General notes about the codebase */
|
|
44
|
-
generalNotes;
|
|
45
|
-
/** Timestamp when context was created */
|
|
46
|
-
createdAt;
|
|
47
|
-
/** Timestamp of last update */
|
|
48
|
-
updatedAt;
|
|
49
|
-
/**
|
|
50
|
-
* Create a new review context
|
|
51
|
-
* @param projectName Name of the project
|
|
52
|
-
* @param reviewType Type of review
|
|
53
|
-
* @param files Files involved in the review
|
|
54
|
-
*/
|
|
55
|
-
constructor(projectName, reviewType, files) {
|
|
56
|
-
this.projectName = projectName;
|
|
57
|
-
this.reviewType = reviewType;
|
|
58
|
-
this.allFiles = files.map((f) => f.path);
|
|
59
|
-
this.currentPass = 0;
|
|
60
|
-
this.codeElements = new Map();
|
|
61
|
-
this.findings = [];
|
|
62
|
-
this.fileSummaries = new Map();
|
|
63
|
-
this.generalNotes = [];
|
|
64
|
-
this.createdAt = new Date();
|
|
65
|
-
this.updatedAt = new Date();
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Start a new review pass
|
|
69
|
-
* @returns Updated pass number
|
|
70
|
-
*/
|
|
71
|
-
startPass() {
|
|
72
|
-
this.currentPass++;
|
|
73
|
-
this.updatedAt = new Date();
|
|
74
|
-
return this.currentPass;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Get the current pass number
|
|
78
|
-
* @returns Current pass number
|
|
79
|
-
*/
|
|
80
|
-
getCurrentPass() {
|
|
81
|
-
return this.currentPass;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Add a code element to the context
|
|
85
|
-
* @param element Code element to add
|
|
86
|
-
*/
|
|
87
|
-
addCodeElement(element) {
|
|
88
|
-
const key = `${element.type}:${element.file}:${element.name}`;
|
|
89
|
-
this.codeElements.set(key, element);
|
|
90
|
-
this.updatedAt = new Date();
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Get all tracked code elements
|
|
94
|
-
* @returns Array of code elements
|
|
95
|
-
*/
|
|
96
|
-
getCodeElements() {
|
|
97
|
-
return Array.from(this.codeElements.values());
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Get code elements of a specific type
|
|
101
|
-
* @param type Type of code elements to get
|
|
102
|
-
* @returns Array of code elements of the specified type
|
|
103
|
-
*/
|
|
104
|
-
getCodeElementsByType(type) {
|
|
105
|
-
return this.getCodeElements().filter((el) => el.type === type);
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Get code elements in a specific file
|
|
109
|
-
* @param filePath Path of the file
|
|
110
|
-
* @returns Array of code elements in the file
|
|
111
|
-
*/
|
|
112
|
-
getCodeElementsInFile(filePath) {
|
|
113
|
-
return this.getCodeElements().filter((el) => el.file === filePath);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Add a review finding
|
|
117
|
-
* @param finding Review finding to add
|
|
118
|
-
*/
|
|
119
|
-
addFinding(finding) {
|
|
120
|
-
this.findings.push({
|
|
121
|
-
...finding,
|
|
122
|
-
passNumber: this.currentPass,
|
|
123
|
-
});
|
|
124
|
-
this.updatedAt = new Date();
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Get all findings
|
|
128
|
-
* @returns Array of all findings
|
|
129
|
-
*/
|
|
130
|
-
getFindings() {
|
|
131
|
-
return [...this.findings];
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Add or update a file summary
|
|
135
|
-
* @param summary File summary to add
|
|
136
|
-
*/
|
|
137
|
-
addFileSummary(summary) {
|
|
138
|
-
this.fileSummaries.set(summary.path, {
|
|
139
|
-
...summary,
|
|
140
|
-
passNumber: this.currentPass,
|
|
141
|
-
});
|
|
142
|
-
this.updatedAt = new Date();
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Get summary for a specific file
|
|
146
|
-
* @param filePath Path of the file
|
|
147
|
-
* @returns File summary or undefined if not found
|
|
148
|
-
*/
|
|
149
|
-
getFileSummary(filePath) {
|
|
150
|
-
return this.fileSummaries.get(filePath);
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Get summaries for all files
|
|
154
|
-
* @returns Array of file summaries
|
|
155
|
-
*/
|
|
156
|
-
getAllFileSummaries() {
|
|
157
|
-
return Array.from(this.fileSummaries.values());
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Add a general note about the codebase
|
|
161
|
-
* @param note Note to add
|
|
162
|
-
*/
|
|
163
|
-
addGeneralNote(note) {
|
|
164
|
-
this.generalNotes.push(note);
|
|
165
|
-
this.updatedAt = new Date();
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Get all general notes
|
|
169
|
-
* @returns Array of general notes
|
|
170
|
-
*/
|
|
171
|
-
getGeneralNotes() {
|
|
172
|
-
return [...this.generalNotes];
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Generate a contextual prompt for the next pass
|
|
176
|
-
* @param files Files to include in the next pass
|
|
177
|
-
* @param maxContextLength Maximum length of context in characters
|
|
178
|
-
* @returns Formatted context string for inclusion in the next prompt
|
|
179
|
-
*/
|
|
180
|
-
generateNextPassContext(files, maxContextLength = 2000) {
|
|
181
|
-
let context = `
|
|
182
|
-
### Review Context (Pass ${this.currentPass})
|
|
183
|
-
|
|
184
|
-
Project: ${this.projectName}
|
|
185
|
-
Review Type: ${this.reviewType}
|
|
186
|
-
Files in this pass: ${files.length} / ${this.allFiles.length}
|
|
187
|
-
|
|
188
|
-
`;
|
|
189
|
-
// Add important findings from previous passes
|
|
190
|
-
const importantFindings = this.findings.sort((a, b) => b.severity - a.severity).slice(0, 5);
|
|
191
|
-
if (importantFindings.length > 0) {
|
|
192
|
-
context += '#### Key Findings from Previous Passes\n\n';
|
|
193
|
-
importantFindings.forEach((finding) => {
|
|
194
|
-
context += `- [${finding.type.toUpperCase()}] ${finding.description}${finding.file ? ` (in ${finding.file})` : ''}\n`;
|
|
195
|
-
});
|
|
196
|
-
context += '\n';
|
|
197
|
-
}
|
|
198
|
-
// Add summaries of files that are related but not in this pass
|
|
199
|
-
const relatedFiles = this.getAllFileSummaries()
|
|
200
|
-
.filter((summary) => !files.includes(summary.path))
|
|
201
|
-
.slice(0, 5);
|
|
202
|
-
if (relatedFiles.length > 0) {
|
|
203
|
-
context += '#### Related Files (Not in This Pass)\n\n';
|
|
204
|
-
relatedFiles.forEach((file) => {
|
|
205
|
-
context += `- ${file.path}: ${file.description}\n`;
|
|
206
|
-
if (file.keyElements.length > 0) {
|
|
207
|
-
context += ` Key elements: ${file.keyElements.join(', ')}\n`;
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
context += '\n';
|
|
211
|
-
}
|
|
212
|
-
// Add important code elements relevant to this pass
|
|
213
|
-
const relevantElements = this.getCodeElements()
|
|
214
|
-
.filter((el) => files.includes(el.file) || el.importance > 7)
|
|
215
|
-
.sort((a, b) => b.importance - a.importance)
|
|
216
|
-
.slice(0, 10);
|
|
217
|
-
if (relevantElements.length > 0) {
|
|
218
|
-
context += '#### Important Code Elements\n\n';
|
|
219
|
-
relevantElements.forEach((element) => {
|
|
220
|
-
context += `- ${element.type} \`${element.name}\`${element.signature ? `: ${element.signature}` : ''} (in ${element.file})\n`;
|
|
221
|
-
});
|
|
222
|
-
context += '\n';
|
|
223
|
-
}
|
|
224
|
-
// Add general notes
|
|
225
|
-
if (this.generalNotes.length > 0) {
|
|
226
|
-
context += '#### General Notes\n\n';
|
|
227
|
-
this.generalNotes.slice(0, 3).forEach((note) => {
|
|
228
|
-
context += `- ${note}\n`;
|
|
229
|
-
});
|
|
230
|
-
context += '\n';
|
|
231
|
-
}
|
|
232
|
-
// Truncate if too long
|
|
233
|
-
if (context.length > maxContextLength) {
|
|
234
|
-
context = `${context.substring(0, maxContextLength - 3)}...`;
|
|
235
|
-
}
|
|
236
|
-
return context;
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* Serialize the context to JSON
|
|
240
|
-
* @returns JSON representation of the context
|
|
241
|
-
*/
|
|
242
|
-
toJSON() {
|
|
243
|
-
return {
|
|
244
|
-
projectName: this.projectName,
|
|
245
|
-
reviewType: this.reviewType,
|
|
246
|
-
currentPass: this.currentPass,
|
|
247
|
-
codeElements: Array.from(this.codeElements.values()),
|
|
248
|
-
findings: this.findings,
|
|
249
|
-
fileSummaries: Array.from(this.fileSummaries.values()),
|
|
250
|
-
generalNotes: this.generalNotes,
|
|
251
|
-
createdAt: this.createdAt.toISOString(),
|
|
252
|
-
updatedAt: this.updatedAt.toISOString(),
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Create a review context from JSON
|
|
257
|
-
* @param json JSON object
|
|
258
|
-
* @returns New ReviewContext instance
|
|
259
|
-
*/
|
|
260
|
-
static fromJSON(json) {
|
|
261
|
-
const context = new ReviewContext(json.projectName, json.reviewType, json.allFiles || []);
|
|
262
|
-
context.currentPass = json.currentPass || 0;
|
|
263
|
-
// Restore code elements
|
|
264
|
-
if (Array.isArray(json.codeElements)) {
|
|
265
|
-
json.codeElements.forEach((element) => {
|
|
266
|
-
context.addCodeElement(element);
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
// Restore findings
|
|
270
|
-
if (Array.isArray(json.findings)) {
|
|
271
|
-
context.findings = json.findings;
|
|
272
|
-
}
|
|
273
|
-
// Restore file summaries
|
|
274
|
-
if (Array.isArray(json.fileSummaries)) {
|
|
275
|
-
json.fileSummaries.forEach((summary) => {
|
|
276
|
-
context.fileSummaries.set(summary.path, summary);
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
// Restore general notes
|
|
280
|
-
if (Array.isArray(json.generalNotes)) {
|
|
281
|
-
context.generalNotes = json.generalNotes;
|
|
282
|
-
}
|
|
283
|
-
// Restore timestamps
|
|
284
|
-
if (json.createdAt) {
|
|
285
|
-
context.createdAt = new Date(json.createdAt);
|
|
286
|
-
}
|
|
287
|
-
if (json.updatedAt) {
|
|
288
|
-
context.updatedAt = new Date(json.updatedAt);
|
|
289
|
-
}
|
|
290
|
-
return context;
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
exports.ReviewContext = ReviewContext;
|
|
294
|
-
//# sourceMappingURL=ReviewContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReviewContext.js","sourceRoot":"","sources":["../../../src/analysis/context/ReviewContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Context management exports.
|
|
4
|
-
*
|
|
5
|
-
* This module exports all context management related functions and types.
|
|
6
|
-
*/
|
|
7
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
-
if (k2 === undefined) k2 = k;
|
|
9
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
-
}
|
|
13
|
-
Object.defineProperty(o, k2, desc);
|
|
14
|
-
}) : (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
o[k2] = m[k];
|
|
17
|
-
}));
|
|
18
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
__exportStar(require("./ReviewContext"), exports);
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/analysis/context/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,kDAAgC"}
|
package/dist/analysis/index.d.ts
DELETED
package/dist/analysis/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Analysis module exports.
|
|
4
|
-
*
|
|
5
|
-
* This module exports all analysis related functions and types.
|
|
6
|
-
*/
|
|
7
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
-
if (k2 === undefined) k2 = k;
|
|
9
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
-
}
|
|
13
|
-
Object.defineProperty(o, k2, desc);
|
|
14
|
-
}) : (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
o[k2] = m[k];
|
|
17
|
-
}));
|
|
18
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
__exportStar(require("./context"), exports);
|
|
23
|
-
__exportStar(require("./tokens"), exports);
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analysis/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,4CAA0B;AAC1B,2CAAyB"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Formatter for token analysis results.
|
|
3
|
-
*
|
|
4
|
-
* This module provides utilities for formatting token analysis results into
|
|
5
|
-
* human-readable strings and other formats for display or logging.
|
|
6
|
-
*/
|
|
7
|
-
import type { FileTokenAnalysis, TokenAnalysisResult } from './TokenAnalyzer';
|
|
8
|
-
/**
|
|
9
|
-
* Format token analysis result as a human-readable string
|
|
10
|
-
* @param analysis Token analysis result
|
|
11
|
-
* @param modelName Name of the model used
|
|
12
|
-
* @param includedFiles Whether to include detailed file listing
|
|
13
|
-
* @returns Formatted string representation of the analysis
|
|
14
|
-
*/
|
|
15
|
-
export declare function formatTokenAnalysis(analysis: TokenAnalysisResult, modelName: string, includeFiles?: boolean): string;
|
|
16
|
-
/**
|
|
17
|
-
* Format token analysis result as JSON
|
|
18
|
-
* @param analysis Token analysis result
|
|
19
|
-
* @returns JSON string representation of the analysis
|
|
20
|
-
*/
|
|
21
|
-
export declare function formatTokenAnalysisAsJson(analysis: TokenAnalysisResult): string;
|
|
22
|
-
/**
|
|
23
|
-
* Format a single file token analysis as a string
|
|
24
|
-
* @param fileAnalysis File token analysis
|
|
25
|
-
* @returns Formatted string representation of the file analysis
|
|
26
|
-
*/
|
|
27
|
-
export declare function formatFileTokenAnalysis(fileAnalysis: FileTokenAnalysis): string;
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Formatter for token analysis results.
|
|
4
|
-
*
|
|
5
|
-
* This module provides utilities for formatting token analysis results into
|
|
6
|
-
* human-readable strings and other formats for display or logging.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.formatTokenAnalysis = formatTokenAnalysis;
|
|
10
|
-
exports.formatTokenAnalysisAsJson = formatTokenAnalysisAsJson;
|
|
11
|
-
exports.formatFileTokenAnalysis = formatFileTokenAnalysis;
|
|
12
|
-
/**
|
|
13
|
-
* Format a number with commas as thousands separators
|
|
14
|
-
* @param num Number to format
|
|
15
|
-
* @returns Formatted number string
|
|
16
|
-
*/
|
|
17
|
-
function formatNumber(num) {
|
|
18
|
-
return num.toLocaleString();
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Format a file size in bytes to a human-readable string
|
|
22
|
-
* @param bytes Size in bytes
|
|
23
|
-
* @returns Formatted size string (e.g., "1.23 KB")
|
|
24
|
-
*/
|
|
25
|
-
function formatFileSize(bytes) {
|
|
26
|
-
if (bytes < 1024) {
|
|
27
|
-
return `${bytes} B`;
|
|
28
|
-
}
|
|
29
|
-
if (bytes < 1024 * 1024) {
|
|
30
|
-
return `${(bytes / 1024).toFixed(2)} KB`;
|
|
31
|
-
}
|
|
32
|
-
return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Format token analysis result as a human-readable string
|
|
36
|
-
* @param analysis Token analysis result
|
|
37
|
-
* @param modelName Name of the model used
|
|
38
|
-
* @param includedFiles Whether to include detailed file listing
|
|
39
|
-
* @returns Formatted string representation of the analysis
|
|
40
|
-
*/
|
|
41
|
-
function formatTokenAnalysis(analysis, modelName, includeFiles = false) {
|
|
42
|
-
// Extract provider and model from both colon and slash formats
|
|
43
|
-
// Handle formats: "provider:model", "provider/model", or just "model"
|
|
44
|
-
let provider;
|
|
45
|
-
let model;
|
|
46
|
-
if (modelName.includes(':')) {
|
|
47
|
-
// Traditional format: "provider:model"
|
|
48
|
-
[provider, model] = modelName.split(':', 2);
|
|
49
|
-
}
|
|
50
|
-
else if (modelName.includes('/')) {
|
|
51
|
-
// OpenRouter format: "provider/model"
|
|
52
|
-
[provider, model] = modelName.split('/', 2);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
// Just model name
|
|
56
|
-
provider = undefined;
|
|
57
|
-
model = modelName;
|
|
58
|
-
}
|
|
59
|
-
const displayModel = model || modelName;
|
|
60
|
-
const displayProvider = provider
|
|
61
|
-
? `${provider.charAt(0).toUpperCase() + provider.slice(1)}`
|
|
62
|
-
: 'Unknown';
|
|
63
|
-
let output = `
|
|
64
|
-
=== Token Analysis Report ===
|
|
65
|
-
|
|
66
|
-
Provider: ${displayProvider}
|
|
67
|
-
Model: ${displayModel}
|
|
68
|
-
Files: ${formatNumber(analysis.fileCount)} (${formatFileSize(analysis.totalSizeInBytes)})
|
|
69
|
-
|
|
70
|
-
Token Information:
|
|
71
|
-
Content Tokens: ${formatNumber(analysis.totalTokens)}
|
|
72
|
-
Prompt Overhead: ${formatNumber(analysis.promptOverheadTokens)}
|
|
73
|
-
Total Estimated Tokens: ${formatNumber(analysis.estimatedTotalTokens)}
|
|
74
|
-
Context Window Size: ${formatNumber(analysis.contextWindowSize)}
|
|
75
|
-
|
|
76
|
-
Context Utilization:
|
|
77
|
-
${((analysis.estimatedTotalTokens / analysis.contextWindowSize) * 100).toFixed(2)}% of context window used
|
|
78
|
-
|
|
79
|
-
`;
|
|
80
|
-
// Add chunking information if recommended
|
|
81
|
-
if (analysis.chunkingRecommendation.chunkingRecommended) {
|
|
82
|
-
output += `
|
|
83
|
-
Multi-Pass Analysis:
|
|
84
|
-
Chunking Required: Yes
|
|
85
|
-
Reason: ${analysis.chunkingRecommendation.reason}
|
|
86
|
-
Estimated Passes: ${formatNumber(analysis.estimatedPassesNeeded)}
|
|
87
|
-
`;
|
|
88
|
-
// Add chunk details
|
|
89
|
-
analysis.chunkingRecommendation.recommendedChunks.forEach((chunk, index) => {
|
|
90
|
-
output += `
|
|
91
|
-
Chunk ${index + 1}:
|
|
92
|
-
Files: ${formatNumber(chunk.files.length)}
|
|
93
|
-
Estimated Tokens: ${formatNumber(chunk.estimatedTokenCount)}
|
|
94
|
-
Priority: ${chunk.priority}
|
|
95
|
-
`;
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
output += `
|
|
100
|
-
Multi-Pass Analysis:
|
|
101
|
-
Chunking Required: No
|
|
102
|
-
Reason: ${analysis.chunkingRecommendation.reason}
|
|
103
|
-
`;
|
|
104
|
-
}
|
|
105
|
-
// Add file details if requested
|
|
106
|
-
if (includeFiles) {
|
|
107
|
-
output += `
|
|
108
|
-
File Details:
|
|
109
|
-
`;
|
|
110
|
-
// Sort files by token count (largest first)
|
|
111
|
-
const sortedFiles = [...analysis.files].sort((a, b) => b.tokenCount - a.tokenCount);
|
|
112
|
-
sortedFiles.forEach((file) => {
|
|
113
|
-
output += ` ${file.relativePath}:
|
|
114
|
-
Tokens: ${formatNumber(file.tokenCount)}
|
|
115
|
-
Size: ${formatFileSize(file.sizeInBytes)}
|
|
116
|
-
Tokens/Byte: ${file.tokensPerByte.toFixed(2)}
|
|
117
|
-
`;
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
return output;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Format token analysis result as JSON
|
|
124
|
-
* @param analysis Token analysis result
|
|
125
|
-
* @returns JSON string representation of the analysis
|
|
126
|
-
*/
|
|
127
|
-
function formatTokenAnalysisAsJson(analysis) {
|
|
128
|
-
return JSON.stringify(analysis, null, 2);
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Format a single file token analysis as a string
|
|
132
|
-
* @param fileAnalysis File token analysis
|
|
133
|
-
* @returns Formatted string representation of the file analysis
|
|
134
|
-
*/
|
|
135
|
-
function formatFileTokenAnalysis(fileAnalysis) {
|
|
136
|
-
return `
|
|
137
|
-
File: ${fileAnalysis.relativePath}
|
|
138
|
-
Tokens: ${formatNumber(fileAnalysis.tokenCount)}
|
|
139
|
-
Size: ${formatFileSize(fileAnalysis.sizeInBytes)}
|
|
140
|
-
Tokens/Byte: ${fileAnalysis.tokensPerByte.toFixed(2)}
|
|
141
|
-
`;
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=TokenAnalysisFormatter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TokenAnalysisFormatter.js","sourceRoot":"","sources":["../../../src/analysis/tokens/TokenAnalysisFormatter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAmCH,kDA0FC;AAOD,8DAEC;AAOD,0DAOC;AAhJD;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,QAA6B,EAC7B,SAAiB,EACjB,YAAY,GAAG,KAAK;IAEpB,+DAA+D;IAC/D,sEAAsE;IACtE,IAAI,QAA4B,CAAC;IACjC,IAAI,KAAa,CAAC;IAElB,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,uCAAuC;QACvC,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,sCAAsC;QACtC,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,QAAQ,GAAG,SAAS,CAAC;QACrB,KAAK,GAAG,SAAS,CAAC;IACpB,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,IAAI,SAAS,CAAC;IACxC,MAAM,eAAe,GAAG,QAAQ;QAC9B,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC3D,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,MAAM,GAAG;;;YAGH,eAAe;SAClB,YAAY;SACZ,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC;;;oBAGnE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;qBACjC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;4BACpC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;yBAC9C,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;;;IAG7D,CAAC,CAAC,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;CAElF,CAAC;IAEA,0CAA0C;IAC1C,IAAI,QAAQ,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,CAAC;QACxD,MAAM,IAAI;;;YAGF,QAAQ,CAAC,sBAAsB,CAAC,MAAM;sBAC5B,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CACjE,CAAC;QAEE,oBAAoB;QACpB,QAAQ,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzE,MAAM,IAAI;UACN,KAAK,GAAG,CAAC;aACN,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;wBACrB,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC;gBAC/C,KAAK,CAAC,QAAQ;CAC7B,CAAC;QACE,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI;;;YAGF,QAAQ,CAAC,sBAAsB,CAAC,MAAM;CACjD,CAAC;IACA,CAAC;IAED,gCAAgC;IAChC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI;;CAEb,CAAC;QAEE,4CAA4C;QAC5C,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAEpF,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,MAAM,IAAI,KAAK,IAAI,CAAC,YAAY;cACxB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAC/B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;mBACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C,CAAC;QACE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,QAA6B;IACrE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,YAA+B;IACrE,OAAO;QACD,YAAY,CAAC,YAAY;UACvB,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC;QACvC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC;eACjC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;CACnD,CAAC;AACF,CAAC"}
|