projscan 4.3.0 → 4.4.0
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/CONTRIBUTING.md +5 -1
- package/PRIVACY.md +1 -0
- package/README.md +307 -234
- package/THIRD-PARTY-NOTICES.md +31 -31
- package/dist/analyzers/architectureCheck.js.map +1 -1
- package/dist/analyzers/crossPackageImportCheck.js +3 -2
- package/dist/analyzers/crossPackageImportCheck.js.map +1 -1
- package/dist/analyzers/deadCodeCheck.js +10 -2
- package/dist/analyzers/deadCodeCheck.js.map +1 -1
- package/dist/analyzers/dependencyRiskCheck.js +1 -5
- package/dist/analyzers/dependencyRiskCheck.js.map +1 -1
- package/dist/analyzers/eslintCheck.js +3 -1
- package/dist/analyzers/eslintCheck.js.map +1 -1
- package/dist/analyzers/prettierCheck.js +16 -3
- package/dist/analyzers/prettierCheck.js.map +1 -1
- package/dist/analyzers/pythonDependencyRiskCheck.js +4 -17
- package/dist/analyzers/pythonDependencyRiskCheck.js.map +1 -1
- package/dist/analyzers/pythonLinterCheck.js +2 -12
- package/dist/analyzers/pythonLinterCheck.js.map +1 -1
- package/dist/analyzers/securityCheck.js +26 -9
- package/dist/analyzers/securityCheck.js.map +1 -1
- package/dist/analyzers/supplyChainCheck.js +6 -2
- package/dist/analyzers/supplyChainCheck.js.map +1 -1
- package/dist/analyzers/testCheck.js +10 -1
- package/dist/analyzers/testCheck.js.map +1 -1
- package/dist/analyzers/unusedDependencyCheck.js +8 -8
- package/dist/analyzers/unusedDependencyCheck.js.map +1 -1
- package/dist/cli/_shared.d.ts +2 -1
- package/dist/cli/_shared.js +14 -2
- package/dist/cli/_shared.js.map +1 -1
- package/dist/cli/commands/agentBrief.js +7 -1
- package/dist/cli/commands/agentBrief.js.map +1 -1
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/applyFix.js +1 -1
- package/dist/cli/commands/applyFix.js.map +1 -1
- package/dist/cli/commands/audit.js +4 -2
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/badge.js.map +1 -1
- package/dist/cli/commands/bugHunt.js +2 -2
- package/dist/cli/commands/bugHunt.js.map +1 -1
- package/dist/cli/commands/ci.js.map +1 -1
- package/dist/cli/commands/claim.js +3 -3
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/collision.js +4 -2
- package/dist/cli/commands/collision.js.map +1 -1
- package/dist/cli/commands/coordinate.js +4 -2
- package/dist/cli/commands/coordinate.js.map +1 -1
- package/dist/cli/commands/coupling.js.map +1 -1
- package/dist/cli/commands/coverage.js.map +1 -1
- package/dist/cli/commands/dataflow.js.map +1 -1
- package/dist/cli/commands/dependencies.js +1 -1
- package/dist/cli/commands/dependencies.js.map +1 -1
- package/dist/cli/commands/diff.js.map +1 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/dogfood.js +30 -5
- package/dist/cli/commands/dogfood.js.map +1 -1
- package/dist/cli/commands/evidencePack.js.map +1 -1
- package/dist/cli/commands/explainIssue.js +1 -1
- package/dist/cli/commands/explainIssue.js.map +1 -1
- package/dist/cli/commands/feedback.js +19 -5
- package/dist/cli/commands/feedback.js.map +1 -1
- package/dist/cli/commands/file.js +1 -1
- package/dist/cli/commands/file.js.map +1 -1
- package/dist/cli/commands/fix.js.map +1 -1
- package/dist/cli/commands/fixSuggest.js +12 -4
- package/dist/cli/commands/fixSuggest.js.map +1 -1
- package/dist/cli/commands/hotspots.js.map +1 -1
- package/dist/cli/commands/impact.js +1 -1
- package/dist/cli/commands/impact.js.map +1 -1
- package/dist/cli/commands/init.js +13 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/installHook.js +2 -2
- package/dist/cli/commands/installHook.js.map +1 -1
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/memory.js +5 -2
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/cli/commands/mergeRisk.js +1 -1
- package/dist/cli/commands/mergeRisk.js.map +1 -1
- package/dist/cli/commands/missionProof.js +422 -3
- package/dist/cli/commands/missionProof.js.map +1 -1
- package/dist/cli/commands/outdated.js +1 -1
- package/dist/cli/commands/outdated.js.map +1 -1
- package/dist/cli/commands/plugin.js +10 -6
- package/dist/cli/commands/plugin.js.map +1 -1
- package/dist/cli/commands/prDiff.js +1 -1
- package/dist/cli/commands/prDiff.js.map +1 -1
- package/dist/cli/commands/preflight.js +1 -5
- package/dist/cli/commands/preflight.js.map +1 -1
- package/dist/cli/commands/privacyCheck.js +3 -1
- package/dist/cli/commands/privacyCheck.js.map +1 -1
- package/dist/cli/commands/qualityScorecard.js.map +1 -1
- package/dist/cli/commands/recipes.js.map +1 -1
- package/dist/cli/commands/regressionPlan.js.map +1 -1
- package/dist/cli/commands/releaseTrain.js.map +1 -1
- package/dist/cli/commands/review.js +1 -1
- package/dist/cli/commands/review.js.map +1 -1
- package/dist/cli/commands/route.js.map +1 -1
- package/dist/cli/commands/search.js +5 -2
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/semanticGraph.js.map +1 -1
- package/dist/cli/commands/session.js +2 -2
- package/dist/cli/commands/session.js.map +1 -1
- package/dist/cli/commands/start.js +3 -1177
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/startAction.d.ts +36 -0
- package/dist/cli/commands/startAction.js +70 -0
- package/dist/cli/commands/startAction.js.map +1 -0
- package/dist/cli/commands/startConsole.d.ts +7 -0
- package/dist/cli/commands/startConsole.js +309 -0
- package/dist/cli/commands/startConsole.js.map +1 -0
- package/dist/cli/commands/startMissionBundle.d.ts +41 -0
- package/dist/cli/commands/startMissionBundle.js +645 -0
- package/dist/cli/commands/startMissionBundle.js.map +1 -0
- package/dist/cli/commands/startOutput.d.ts +31 -0
- package/dist/cli/commands/startOutput.js +232 -0
- package/dist/cli/commands/startOutput.js.map +1 -0
- package/dist/cli/commands/startShortcuts.d.ts +26 -0
- package/dist/cli/commands/startShortcuts.js +117 -0
- package/dist/cli/commands/startShortcuts.js.map +1 -0
- package/dist/cli/commands/telemetry.js +2 -1
- package/dist/cli/commands/telemetry.js.map +1 -1
- package/dist/cli/commands/trial.js +19 -4
- package/dist/cli/commands/trial.js.map +1 -1
- package/dist/cli/commands/understand.js +3 -1
- package/dist/cli/commands/understand.js.map +1 -1
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/watch.js +1 -1
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/commands/workplan.js.map +1 -1
- package/dist/cli/commands/workspace.js +1 -1
- package/dist/cli/commands/workspace.js.map +1 -1
- package/dist/cli/commands/workspaces.js +1 -1
- package/dist/cli/commands/workspaces.js.map +1 -1
- package/dist/cli/index.js +2 -117
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/registerCommands.d.ts +4 -0
- package/dist/cli/registerCommands.js +125 -0
- package/dist/cli/registerCommands.js.map +1 -0
- package/dist/core/adoption.d.ts +2 -1
- package/dist/core/adoption.js +40 -13
- package/dist/core/adoption.js.map +1 -1
- package/dist/core/agentBrief.js +19 -6
- package/dist/core/agentBrief.js.map +1 -1
- package/dist/core/applyFix.js.map +1 -1
- package/dist/core/ast.js +30 -19
- package/dist/core/ast.js.map +1 -1
- package/dist/core/auditRunner.js.map +1 -1
- package/dist/core/bugHunt.js +119 -17
- package/dist/core/bugHunt.js.map +1 -1
- package/dist/core/claims.js +5 -2
- package/dist/core/claims.js.map +1 -1
- package/dist/core/codeGraph.js +10 -0
- package/dist/core/codeGraph.js.map +1 -1
- package/dist/core/codeGraphReexports.d.ts +9 -0
- package/dist/core/codeGraphReexports.js +59 -0
- package/dist/core/codeGraphReexports.js.map +1 -0
- package/dist/core/collisionDetector.js +14 -4
- package/dist/core/collisionDetector.js.map +1 -1
- package/dist/core/coordination.js +4 -6
- package/dist/core/coordination.js.map +1 -1
- package/dist/core/couplingAnalyzer.d.ts +2 -1
- package/dist/core/couplingAnalyzer.js.map +1 -1
- package/dist/core/coverageParser.js.map +1 -1
- package/dist/core/dataflow.js +11 -2
- package/dist/core/dataflow.js.map +1 -1
- package/dist/core/dataflowFilters.js +8 -3
- package/dist/core/dataflowFilters.js.map +1 -1
- package/dist/core/dependencyAnalyzer.js +4 -1
- package/dist/core/dependencyAnalyzer.js.map +1 -1
- package/dist/core/dogfood.d.ts +1 -1
- package/dist/core/dogfood.js +39 -5
- package/dist/core/dogfood.js.map +1 -1
- package/dist/core/embeddings.js.map +1 -1
- package/dist/core/evidenceComment.js +34 -12
- package/dist/core/evidenceComment.js.map +1 -1
- package/dist/core/explainIssue.js +1 -2
- package/dist/core/explainIssue.js.map +1 -1
- package/dist/core/feedback.d.ts +1 -1
- package/dist/core/feedback.js +15 -4
- package/dist/core/feedback.js.map +1 -1
- package/dist/core/fileInspector.js +8 -2
- package/dist/core/fileInspector.js.map +1 -1
- package/dist/core/fixFirst.d.ts +3 -1
- package/dist/core/fixFirst.js +17 -4
- package/dist/core/fixFirst.js.map +1 -1
- package/dist/core/fixSuggest.js +20 -12
- package/dist/core/fixSuggest.js.map +1 -1
- package/dist/core/frameworkDetector.js +5 -3
- package/dist/core/frameworkDetector.js.map +1 -1
- package/dist/core/frameworkSources.js +22 -2
- package/dist/core/frameworkSources.js.map +1 -1
- package/dist/core/graphCorpus.d.ts +1 -1
- package/dist/core/graphCorpus.js +9 -1
- package/dist/core/graphCorpus.js.map +1 -1
- package/dist/core/graphQuery.js.map +1 -1
- package/dist/core/hotspotAnalyzer.js +26 -6
- package/dist/core/hotspotAnalyzer.js.map +1 -1
- package/dist/core/impact.d.ts +1 -1
- package/dist/core/impact.js.map +1 -1
- package/dist/core/importGraph.js.map +1 -1
- package/dist/core/indexCache.js.map +1 -1
- package/dist/core/intent.d.ts +1 -1
- package/dist/core/intent.js +143 -46
- package/dist/core/intent.js.map +1 -1
- package/dist/core/intentRouter.js +5467 -445
- package/dist/core/intentRouter.js.map +1 -1
- package/dist/core/issueEngine.js +1 -1
- package/dist/core/issueEngine.js.map +1 -1
- package/dist/core/languageDetector.js +1 -9
- package/dist/core/languageDetector.js.map +1 -1
- package/dist/core/languages/cppAdapter.js +3 -1
- package/dist/core/languages/cppAdapter.js.map +1 -1
- package/dist/core/languages/cppExports.js +6 -1
- package/dist/core/languages/cppExports.js.map +1 -1
- package/dist/core/languages/cppFunctions.js +3 -1
- package/dist/core/languages/cppFunctions.js.map +1 -1
- package/dist/core/languages/csharpAdapter.js.map +1 -1
- package/dist/core/languages/csharpFunctions.js +3 -1
- package/dist/core/languages/csharpFunctions.js.map +1 -1
- package/dist/core/languages/csharpImports.js +2 -1
- package/dist/core/languages/csharpImports.js.map +1 -1
- package/dist/core/languages/goAdapter.js.map +1 -1
- package/dist/core/languages/goExports.js.map +1 -1
- package/dist/core/languages/goFunctions.js +9 -3
- package/dist/core/languages/goFunctions.js.map +1 -1
- package/dist/core/languages/javaAdapter.js +1 -2
- package/dist/core/languages/javaAdapter.js.map +1 -1
- package/dist/core/languages/javaFunctions.js +6 -2
- package/dist/core/languages/javaFunctions.js.map +1 -1
- package/dist/core/languages/javascriptAdapter.js +43 -8
- package/dist/core/languages/javascriptAdapter.js.map +1 -1
- package/dist/core/languages/kotlinAdapter.js +5 -2
- package/dist/core/languages/kotlinAdapter.js.map +1 -1
- package/dist/core/languages/kotlinFunctions.js +5 -6
- package/dist/core/languages/kotlinFunctions.js.map +1 -1
- package/dist/core/languages/kotlinImports.js +3 -1
- package/dist/core/languages/kotlinImports.js.map +1 -1
- package/dist/core/languages/kotlinManifests.js +7 -1
- package/dist/core/languages/kotlinManifests.js.map +1 -1
- package/dist/core/languages/phpAdapter.js +4 -1
- package/dist/core/languages/phpAdapter.js.map +1 -1
- package/dist/core/languages/phpExports.js.map +1 -1
- package/dist/core/languages/phpFunctions.js +18 -6
- package/dist/core/languages/phpFunctions.js.map +1 -1
- package/dist/core/languages/phpManifests.js.map +1 -1
- package/dist/core/languages/pythonAdapter.js.map +1 -1
- package/dist/core/languages/pythonFunctions.js +9 -3
- package/dist/core/languages/pythonFunctions.js.map +1 -1
- package/dist/core/languages/pythonManifests.js.map +1 -1
- package/dist/core/languages/rubyAdapter.js.map +1 -1
- package/dist/core/languages/rubyFunctions.js +6 -2
- package/dist/core/languages/rubyFunctions.js.map +1 -1
- package/dist/core/languages/rustAdapter.js.map +1 -1
- package/dist/core/languages/rustFunctions.js +6 -2
- package/dist/core/languages/rustFunctions.js.map +1 -1
- package/dist/core/languages/swiftAdapter.js +3 -1
- package/dist/core/languages/swiftAdapter.js.map +1 -1
- package/dist/core/languages/swiftCyclomatic.js.map +1 -1
- package/dist/core/languages/swiftFunctions.js +3 -1
- package/dist/core/languages/swiftFunctions.js.map +1 -1
- package/dist/core/languages/swiftImports.js.map +1 -1
- package/dist/core/mergeRisk.js +5 -1
- package/dist/core/mergeRisk.js.map +1 -1
- package/dist/core/missionOutcome.d.ts +1 -1
- package/dist/core/missionOutcome.js +9 -4
- package/dist/core/missionOutcome.js.map +1 -1
- package/dist/core/missionProof.d.ts +1 -1
- package/dist/core/missionProof.js +10 -39
- package/dist/core/missionProof.js.map +1 -1
- package/dist/core/missionProofBaseline.d.ts +10 -0
- package/dist/core/missionProofBaseline.js +137 -0
- package/dist/core/missionProofBaseline.js.map +1 -0
- package/dist/core/missionProofMarkdown.d.ts +2 -0
- package/dist/core/missionProofMarkdown.js +83 -0
- package/dist/core/missionProofMarkdown.js.map +1 -0
- package/dist/core/missionProofSummary.d.ts +2 -0
- package/dist/core/missionProofSummary.js +16 -0
- package/dist/core/missionProofSummary.js.map +1 -0
- package/dist/core/monorepo.d.ts +1 -1
- package/dist/core/monorepo.js +4 -2
- package/dist/core/monorepo.js.map +1 -1
- package/dist/core/onboarding.d.ts +2 -1
- package/dist/core/onboarding.js.map +1 -1
- package/dist/core/outdatedDetector.js +5 -1
- package/dist/core/outdatedDetector.js.map +1 -1
- package/dist/core/ownership.js +3 -1
- package/dist/core/ownership.js.map +1 -1
- package/dist/core/pathClassifiers.js.map +1 -1
- package/dist/core/pluginDx.js +2 -1
- package/dist/core/pluginDx.js.map +1 -1
- package/dist/core/pluginTrust.js +1 -3
- package/dist/core/pluginTrust.js.map +1 -1
- package/dist/core/plugins.js +5 -5
- package/dist/core/plugins.js.map +1 -1
- package/dist/core/prDiff.d.ts +1 -2
- package/dist/core/prDiff.js +5 -1
- package/dist/core/prDiff.js.map +1 -1
- package/dist/core/preflight.js +15 -6
- package/dist/core/preflight.js.map +1 -1
- package/dist/core/privacy.js.map +1 -1
- package/dist/core/qualityScorecard.d.ts +1 -1
- package/dist/core/qualityScorecard.js +43 -11
- package/dist/core/qualityScorecard.js.map +1 -1
- package/dist/core/regressionPlan.js +25 -7
- package/dist/core/regressionPlan.js.map +1 -1
- package/dist/core/releaseEvidence.js +41 -17
- package/dist/core/releaseEvidence.js.map +1 -1
- package/dist/core/releaseTrain.js +66 -38
- package/dist/core/releaseTrain.js.map +1 -1
- package/dist/core/repositoryScanner.js +1 -3
- package/dist/core/repositoryScanner.js.map +1 -1
- package/dist/core/review.d.ts +1 -1
- package/dist/core/review.js +72 -10
- package/dist/core/review.js.map +1 -1
- package/dist/core/reviewDataflow.js +7 -1
- package/dist/core/reviewDataflow.js.map +1 -1
- package/dist/core/reviewPublicSurface.d.ts +13 -0
- package/dist/core/reviewPublicSurface.js +134 -0
- package/dist/core/reviewPublicSurface.js.map +1 -0
- package/dist/core/roadmapCatalog.js +122 -23
- package/dist/core/roadmapCatalog.js.map +1 -1
- package/dist/core/searchIndex.js +124 -17
- package/dist/core/searchIndex.js.map +1 -1
- package/dist/core/semanticGraph.js.map +1 -1
- package/dist/core/semanticSearch.js +20 -4
- package/dist/core/semanticSearch.js.map +1 -1
- package/dist/core/session.js +1 -2
- package/dist/core/session.js.map +1 -1
- package/dist/core/sessionResources.js +6 -2
- package/dist/core/sessionResources.js.map +1 -1
- package/dist/core/start.d.ts +3 -9
- package/dist/core/start.js +22 -3231
- package/dist/core/start.js.map +1 -1
- package/dist/core/startAdoptionLoop.d.ts +2 -0
- package/dist/core/startAdoptionLoop.js +41 -0
- package/dist/core/startAdoptionLoop.js.map +1 -0
- package/dist/core/startEvidence.d.ts +5 -0
- package/dist/core/startEvidence.js +62 -0
- package/dist/core/startEvidence.js.map +1 -0
- package/dist/core/startExecutionPlan.d.ts +16 -0
- package/dist/core/startExecutionPlan.js +185 -0
- package/dist/core/startExecutionPlan.js.map +1 -0
- package/dist/core/startHarness.d.ts +3 -0
- package/dist/core/startHarness.js +47 -0
- package/dist/core/startHarness.js.map +1 -0
- package/dist/core/startIntentTargets.d.ts +24 -0
- package/dist/core/startIntentTargets.js +1106 -0
- package/dist/core/startIntentTargets.js.map +1 -0
- package/dist/core/startMissionControl.d.ts +16 -0
- package/dist/core/startMissionControl.js +145 -0
- package/dist/core/startMissionControl.js.map +1 -0
- package/dist/core/startMissionPolicy.d.ts +19 -0
- package/dist/core/startMissionPolicy.js +246 -0
- package/dist/core/startMissionPolicy.js.map +1 -0
- package/dist/core/startMode.d.ts +11 -0
- package/dist/core/startMode.js +139 -0
- package/dist/core/startMode.js.map +1 -0
- package/dist/core/startOptions.d.ts +18 -0
- package/dist/core/startOptions.js +29 -0
- package/dist/core/startOptions.js.map +1 -0
- package/dist/core/startResume.d.ts +7 -0
- package/dist/core/startResume.js +468 -0
- package/dist/core/startResume.js.map +1 -0
- package/dist/core/startReviewGate.d.ts +11 -0
- package/dist/core/startReviewGate.js +200 -0
- package/dist/core/startReviewGate.js.map +1 -0
- package/dist/core/startRouteActions.d.ts +7 -0
- package/dist/core/startRouteActions.js +497 -0
- package/dist/core/startRouteActions.js.map +1 -0
- package/dist/core/startRunbook.d.ts +24 -0
- package/dist/core/startRunbook.js +271 -0
- package/dist/core/startRunbook.js.map +1 -0
- package/dist/core/startSuccessCriteria.d.ts +14 -0
- package/dist/core/startSuccessCriteria.js +497 -0
- package/dist/core/startSuccessCriteria.js.map +1 -0
- package/dist/core/taint.js +12 -3
- package/dist/core/taint.js.map +1 -1
- package/dist/core/telemetry.js +19 -5
- package/dist/core/telemetry.js.map +1 -1
- package/dist/core/trial.d.ts +1 -1
- package/dist/core/trial.js +15 -6
- package/dist/core/trial.js.map +1 -1
- package/dist/core/understand.d.ts +1 -1
- package/dist/core/understand.js +165 -51
- package/dist/core/understand.js.map +1 -1
- package/dist/core/upgradePreview.js +1 -1
- package/dist/core/upgradePreview.js.map +1 -1
- package/dist/core/watcher.js +18 -3
- package/dist/core/watcher.js.map +1 -1
- package/dist/core/workplan.js +87 -17
- package/dist/core/workplan.js.map +1 -1
- package/dist/core/workspace.js.map +1 -1
- package/dist/index.d.ts +12 -9
- package/dist/index.js +10 -7
- package/dist/index.js.map +1 -1
- package/dist/mcp/pagination.js.map +1 -1
- package/dist/mcp/prompts.js +28 -20
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/server.js +6 -74
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/serverPayload.d.ts +13 -0
- package/dist/mcp/serverPayload.js +61 -0
- package/dist/mcp/serverPayload.js.map +1 -0
- package/dist/mcp/tokenBudget.js.map +1 -1
- package/dist/mcp/tools/_shared.js.map +1 -1
- package/dist/mcp/tools/agentBrief.js +7 -1
- package/dist/mcp/tools/agentBrief.js.map +1 -1
- package/dist/mcp/tools/applyFix.js +1 -1
- package/dist/mcp/tools/applyFix.js.map +1 -1
- package/dist/mcp/tools/audit.js.map +1 -1
- package/dist/mcp/tools/bugHunt.js +2 -2
- package/dist/mcp/tools/bugHunt.js.map +1 -1
- package/dist/mcp/tools/claim.js +8 -3
- package/dist/mcp/tools/claim.js.map +1 -1
- package/dist/mcp/tools/collision.js +3 -1
- package/dist/mcp/tools/collision.js.map +1 -1
- package/dist/mcp/tools/coordinate.js.map +1 -1
- package/dist/mcp/tools/coordinateWatch.js +5 -2
- package/dist/mcp/tools/coordinateWatch.js.map +1 -1
- package/dist/mcp/tools/costSummary.js.map +1 -1
- package/dist/mcp/tools/coupling.js.map +1 -1
- package/dist/mcp/tools/coverage.js.map +1 -1
- package/dist/mcp/tools/dataflow.js.map +1 -1
- package/dist/mcp/tools/dependencies.js +4 -1
- package/dist/mcp/tools/dependencies.js.map +1 -1
- package/dist/mcp/tools/doctor.js.map +1 -1
- package/dist/mcp/tools/explainIssue.js +4 -1
- package/dist/mcp/tools/explainIssue.js.map +1 -1
- package/dist/mcp/tools/fixSuggest.js +5 -2
- package/dist/mcp/tools/fixSuggest.js.map +1 -1
- package/dist/mcp/tools/hotspots.js +4 -1
- package/dist/mcp/tools/hotspots.js.map +1 -1
- package/dist/mcp/tools/impact.js +10 -3
- package/dist/mcp/tools/impact.js.map +1 -1
- package/dist/mcp/tools/mergeRisk.js.map +1 -1
- package/dist/mcp/tools/plugin.js +6 -1
- package/dist/mcp/tools/plugin.js.map +1 -1
- package/dist/mcp/tools/prDiff.js.map +1 -1
- package/dist/mcp/tools/preflight.js +1 -5
- package/dist/mcp/tools/preflight.js.map +1 -1
- package/dist/mcp/tools/review.js.map +1 -1
- package/dist/mcp/tools/reviewWatch.d.ts +1 -1
- package/dist/mcp/tools/reviewWatch.js +9 -9
- package/dist/mcp/tools/reviewWatch.js.map +1 -1
- package/dist/mcp/tools/route.js +1 -1
- package/dist/mcp/tools/route.js.map +1 -1
- package/dist/mcp/tools/search.js.map +1 -1
- package/dist/mcp/tools/semanticGraph.js +8 -2
- package/dist/mcp/tools/semanticGraph.js.map +1 -1
- package/dist/mcp/tools/start.js.map +1 -1
- package/dist/mcp/tools/structure.js +7 -1
- package/dist/mcp/tools/structure.js.map +1 -1
- package/dist/mcp/tools/understand.js.map +1 -1
- package/dist/mcp/tools/workspaceGraph.js +10 -1
- package/dist/mcp/tools/workspaceGraph.js.map +1 -1
- package/dist/mcp/tools.js +3 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/projscan-sbom.cdx.json +2136 -904
- package/dist/reporters/consoleAnalysisReporter.d.ts +2 -0
- package/dist/reporters/consoleAnalysisReporter.js +89 -0
- package/dist/reporters/consoleAnalysisReporter.js.map +1 -0
- package/dist/reporters/consoleArchitectureReporter.d.ts +3 -0
- package/dist/reporters/consoleArchitectureReporter.js +47 -0
- package/dist/reporters/consoleArchitectureReporter.js.map +1 -0
- package/dist/reporters/consoleAuditReporter.d.ts +2 -0
- package/dist/reporters/consoleAuditReporter.js +46 -0
- package/dist/reporters/consoleAuditReporter.js.map +1 -0
- package/dist/reporters/consoleCiReporter.d.ts +2 -0
- package/dist/reporters/consoleCiReporter.js +27 -0
- package/dist/reporters/consoleCiReporter.js.map +1 -0
- package/dist/reporters/consoleCouplingReporter.d.ts +2 -0
- package/dist/reporters/consoleCouplingReporter.js +53 -0
- package/dist/reporters/consoleCouplingReporter.js.map +1 -0
- package/dist/reporters/consoleCoverageReporter.d.ts +2 -0
- package/dist/reporters/consoleCoverageReporter.js +62 -0
- package/dist/reporters/consoleCoverageReporter.js.map +1 -0
- package/dist/reporters/consoleDependencyReporter.d.ts +2 -0
- package/dist/reporters/consoleDependencyReporter.js +64 -0
- package/dist/reporters/consoleDependencyReporter.js.map +1 -0
- package/dist/reporters/consoleDiffReporter.d.ts +2 -0
- package/dist/reporters/consoleDiffReporter.js +80 -0
- package/dist/reporters/consoleDiffReporter.js.map +1 -0
- package/dist/reporters/consoleExplanationReporter.d.ts +2 -0
- package/dist/reporters/consoleExplanationReporter.js +33 -0
- package/dist/reporters/consoleExplanationReporter.js.map +1 -0
- package/dist/reporters/consoleFileReporter.d.ts +2 -0
- package/dist/reporters/consoleFileReporter.js +133 -0
- package/dist/reporters/consoleFileReporter.js.map +1 -0
- package/dist/reporters/consoleFixGuidanceReporter.d.ts +8 -0
- package/dist/reporters/consoleFixGuidanceReporter.js +135 -0
- package/dist/reporters/consoleFixGuidanceReporter.js.map +1 -0
- package/dist/reporters/consoleHealthReporter.d.ts +13 -0
- package/dist/reporters/consoleHealthReporter.js +111 -0
- package/dist/reporters/consoleHealthReporter.js.map +1 -0
- package/dist/reporters/consoleHotspotReporter.d.ts +2 -0
- package/dist/reporters/consoleHotspotReporter.js +68 -0
- package/dist/reporters/consoleHotspotReporter.js.map +1 -0
- package/dist/reporters/consoleImpactReporter.d.ts +2 -0
- package/dist/reporters/consoleImpactReporter.js +65 -0
- package/dist/reporters/consoleImpactReporter.js.map +1 -0
- package/dist/reporters/consoleOutdatedReporter.d.ts +2 -0
- package/dist/reporters/consoleOutdatedReporter.js +54 -0
- package/dist/reporters/consoleOutdatedReporter.js.map +1 -0
- package/dist/reporters/consolePrDiffReporter.d.ts +2 -0
- package/dist/reporters/consolePrDiffReporter.js +75 -0
- package/dist/reporters/consolePrDiffReporter.js.map +1 -0
- package/dist/reporters/consoleReporter.d.ts +21 -38
- package/dist/reporters/consoleReporter.js +19 -1000
- package/dist/reporters/consoleReporter.js.map +1 -1
- package/dist/reporters/consoleReviewReporter.d.ts +2 -0
- package/dist/reporters/consoleReviewReporter.js +101 -0
- package/dist/reporters/consoleReviewReporter.js.map +1 -0
- package/dist/reporters/consoleUpgradeReporter.d.ts +2 -0
- package/dist/reporters/consoleUpgradeReporter.js +67 -0
- package/dist/reporters/consoleUpgradeReporter.js.map +1 -0
- package/dist/reporters/consoleWorkspaceReporter.d.ts +2 -0
- package/dist/reporters/consoleWorkspaceReporter.js +24 -0
- package/dist/reporters/consoleWorkspaceReporter.js.map +1 -0
- package/dist/reporters/htmlReporter.d.ts +2 -1
- package/dist/reporters/htmlReporter.js +9 -3
- package/dist/reporters/htmlReporter.js.map +1 -1
- package/dist/reporters/jsonReporter.d.ts +2 -1
- package/dist/reporters/jsonReporter.js.map +1 -1
- package/dist/reporters/markdownAnalysisReporter.d.ts +2 -0
- package/dist/reporters/markdownAnalysisReporter.js +40 -0
- package/dist/reporters/markdownAnalysisReporter.js.map +1 -0
- package/dist/reporters/markdownAuditReporter.d.ts +2 -0
- package/dist/reporters/markdownAuditReporter.js +27 -0
- package/dist/reporters/markdownAuditReporter.js.map +1 -0
- package/dist/reporters/markdownDependencyReporter.d.ts +2 -0
- package/dist/reporters/markdownDependencyReporter.js +33 -0
- package/dist/reporters/markdownDependencyReporter.js.map +1 -0
- package/dist/reporters/markdownDiffReporter.d.ts +2 -0
- package/dist/reporters/markdownDiffReporter.js +65 -0
- package/dist/reporters/markdownDiffReporter.js.map +1 -0
- package/dist/reporters/markdownFileReporter.d.ts +2 -0
- package/dist/reporters/markdownFileReporter.js +92 -0
- package/dist/reporters/markdownFileReporter.js.map +1 -0
- package/dist/reporters/markdownFixGuidanceReporter.d.ts +8 -0
- package/dist/reporters/markdownFixGuidanceReporter.js +95 -0
- package/dist/reporters/markdownFixGuidanceReporter.js.map +1 -0
- package/dist/reporters/markdownImpactReporter.d.ts +2 -0
- package/dist/reporters/markdownImpactReporter.js +52 -0
- package/dist/reporters/markdownImpactReporter.js.map +1 -0
- package/dist/reporters/markdownReporter.d.ts +10 -16
- package/dist/reporters/markdownReporter.js +9 -452
- package/dist/reporters/markdownReporter.js.map +1 -1
- package/dist/reporters/markdownReviewReporter.d.ts +2 -0
- package/dist/reporters/markdownReviewReporter.js +84 -0
- package/dist/reporters/markdownReviewReporter.js.map +1 -0
- package/dist/reporters/markdownUpgradeReporter.d.ts +2 -0
- package/dist/reporters/markdownUpgradeReporter.js +47 -0
- package/dist/reporters/markdownUpgradeReporter.js.map +1 -0
- package/dist/reporters/sarifReporter.js.map +1 -1
- package/dist/tool-manifest.json +4 -4
- package/dist/types/agentBrief.d.ts +48 -0
- package/dist/types/agentBrief.js +2 -0
- package/dist/types/agentBrief.js.map +1 -0
- package/dist/types/analysis.d.ts +32 -0
- package/dist/types/analysis.js +2 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/baseline.d.ts +59 -0
- package/dist/types/baseline.js +2 -0
- package/dist/types/baseline.js.map +1 -0
- package/dist/types/bugHunt.d.ts +41 -0
- package/dist/types/bugHunt.js +2 -0
- package/dist/types/bugHunt.js.map +1 -0
- package/dist/types/common.d.ts +34 -0
- package/dist/types/common.js +2 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/config.d.ts +56 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/coupling.d.ts +40 -0
- package/dist/types/coupling.js +2 -0
- package/dist/types/coupling.js.map +1 -0
- package/dist/types/coverage.d.ts +32 -0
- package/dist/types/coverage.js +2 -0
- package/dist/types/coverage.js.map +1 -0
- package/dist/types/dependencyHealth.d.ts +61 -0
- package/dist/types/dependencyHealth.js +2 -0
- package/dist/types/dependencyHealth.js.map +1 -0
- package/dist/types/dogfood.d.ts +185 -0
- package/dist/types/dogfood.js +2 -0
- package/dist/types/dogfood.js.map +1 -0
- package/dist/types/evidencePack.d.ts +76 -0
- package/dist/types/evidencePack.js +2 -0
- package/dist/types/evidencePack.js.map +1 -0
- package/dist/types/fixes.d.ts +77 -0
- package/dist/types/fixes.js +2 -0
- package/dist/types/fixes.js.map +1 -0
- package/dist/types/graph.d.ts +80 -0
- package/dist/types/graph.js +2 -0
- package/dist/types/graph.js.map +1 -0
- package/dist/types/graphCorpus.d.ts +16 -0
- package/dist/types/graphCorpus.js +2 -0
- package/dist/types/graphCorpus.js.map +1 -0
- package/dist/types/hotspots.d.ts +42 -0
- package/dist/types/hotspots.js +2 -0
- package/dist/types/hotspots.js.map +1 -0
- package/dist/types/impact.d.ts +62 -0
- package/dist/types/impact.js +2 -0
- package/dist/types/impact.js.map +1 -0
- package/dist/types/inspection.d.ts +47 -0
- package/dist/types/inspection.js +2 -0
- package/dist/types/inspection.js.map +1 -0
- package/dist/types/mcp.d.ts +39 -0
- package/dist/types/mcp.js +2 -0
- package/dist/types/mcp.js.map +1 -0
- package/dist/types/pluginDx.d.ts +42 -0
- package/dist/types/pluginDx.js +2 -0
- package/dist/types/pluginDx.js.map +1 -0
- package/dist/types/prDiff.d.ts +41 -0
- package/dist/types/prDiff.js +2 -0
- package/dist/types/prDiff.js.map +1 -0
- package/dist/types/preflight.d.ts +122 -0
- package/dist/types/preflight.js +2 -0
- package/dist/types/preflight.js.map +1 -0
- package/dist/types/qualityScorecard.d.ts +34 -0
- package/dist/types/qualityScorecard.js +2 -0
- package/dist/types/qualityScorecard.js.map +1 -0
- package/dist/types/regressionPlan.d.ts +32 -0
- package/dist/types/regressionPlan.js +2 -0
- package/dist/types/regressionPlan.js.map +1 -0
- package/dist/types/releaseTrain.d.ts +37 -0
- package/dist/types/releaseTrain.js +2 -0
- package/dist/types/releaseTrain.js.map +1 -0
- package/dist/types/review.d.ts +203 -0
- package/dist/types/review.js +2 -0
- package/dist/types/review.js.map +1 -0
- package/dist/types/reviewContract.d.ts +9 -0
- package/dist/types/reviewContract.js +2 -0
- package/dist/types/reviewContract.js.map +1 -0
- package/dist/types/scanning.d.ts +111 -0
- package/dist/types/scanning.js +2 -0
- package/dist/types/scanning.js.map +1 -0
- package/dist/types/session.d.ts +42 -0
- package/dist/types/session.js +2 -0
- package/dist/types/session.js.map +1 -0
- package/dist/types/start.d.ts +437 -0
- package/dist/types/start.js +2 -0
- package/dist/types/start.js.map +1 -0
- package/dist/types/trial.d.ts +27 -0
- package/dist/types/trial.js +2 -0
- package/dist/types/trial.js.map +1 -0
- package/dist/types/understand.d.ts +153 -0
- package/dist/types/understand.js +2 -0
- package/dist/types/understand.js.map +1 -0
- package/dist/types/workplan.d.ts +67 -0
- package/dist/types/workplan.js +2 -0
- package/dist/types/workplan.js.map +1 -0
- package/dist/types/workplanHandoff.d.ts +11 -0
- package/dist/types/workplanHandoff.js +2 -0
- package/dist/types/workplanHandoff.js.map +1 -0
- package/dist/types/workspace.d.ts +18 -0
- package/dist/types/workspace.js +2 -0
- package/dist/types/workspace.js.map +1 -0
- package/dist/types.d.ts +34 -2348
- package/dist/types.js +0 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/banner.js +15 -6
- package/dist/utils/banner.js.map +1 -1
- package/dist/utils/baseline.js +11 -9
- package/dist/utils/baseline.js.map +1 -1
- package/dist/utils/changedFiles.js +1 -1
- package/dist/utils/changedFiles.js.map +1 -1
- package/dist/utils/config.d.ts +2 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/formatSupport.d.ts +2 -2
- package/dist/utils/formatSupport.js +8 -2
- package/dist/utils/formatSupport.js.map +1 -1
- package/dist/utils/packageJsonLocator.js.map +1 -1
- package/docs/GUIDE.md +209 -147
- package/docs/PLUGIN-GALLERY.md +9 -1
- package/docs/ROADMAP.md +69 -68
- package/docs/demos/projscan-4-1-demo.html +46 -79
- package/docs/demos/projscan-mission-control.tape +13 -0
- package/docs/demos/projscan-mission-proof.tape +25 -0
- package/docs/examples/plugins/graph-context.mjs +1 -2
- package/docs/examples/plugins/security-sensitive-files.mjs +2 -1
- package/docs/projscan-mission-control.gif +0 -0
- package/docs/projscan-mission-proof.gif +0 -0
- package/package.json +17 -5
- package/scripts/capture-vhs-demos.mjs +80 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ExportInfo, ImportInfo, Issue } from './common.js';
|
|
2
|
+
import type { FileHotspot } from './hotspots.js';
|
|
3
|
+
export interface FileInspection {
|
|
4
|
+
relativePath: string;
|
|
5
|
+
exists: boolean;
|
|
6
|
+
reason?: string;
|
|
7
|
+
purpose: string;
|
|
8
|
+
lineCount: number;
|
|
9
|
+
sizeBytes: number;
|
|
10
|
+
imports: ImportInfo[];
|
|
11
|
+
exports: ExportInfo[];
|
|
12
|
+
potentialIssues: string[];
|
|
13
|
+
hotspot: FileHotspot | null;
|
|
14
|
+
issues: Issue[];
|
|
15
|
+
/** AST-derived McCabe complexity. null when no language adapter parsed this file. */
|
|
16
|
+
cyclomaticComplexity?: number | null;
|
|
17
|
+
/** Number of files that import this one. null when graph unavailable. */
|
|
18
|
+
fanIn?: number | null;
|
|
19
|
+
/** Number of locally-resolved imports this file makes. null when graph unavailable. */
|
|
20
|
+
fanOut?: number | null;
|
|
21
|
+
/** Adapter id (e.g. 'javascript', 'python'). Set when the graph was available. */
|
|
22
|
+
language?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Per-function McCabe CC (0.13.0+). Sorted by cyclomaticComplexity desc.
|
|
25
|
+
* Empty array when the file has no functions or the adapter doesn't yet
|
|
26
|
+
* support per-function granularity.
|
|
27
|
+
*/
|
|
28
|
+
functions?: FunctionDetail[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Per-function CC entry exposed via projscan_file. Mirrors the internal
|
|
32
|
+
* `FunctionInfo` from `core/ast.ts` but is part of the stable API surface.
|
|
33
|
+
*/
|
|
34
|
+
export interface FunctionDetail {
|
|
35
|
+
name: string;
|
|
36
|
+
/** 1-based start line. */
|
|
37
|
+
line: number;
|
|
38
|
+
/** 1-based end line. */
|
|
39
|
+
endLine: number;
|
|
40
|
+
cyclomaticComplexity: number;
|
|
41
|
+
/**
|
|
42
|
+
* Approximate fan-in (0.15.0+): count of other files whose `callSites`
|
|
43
|
+
* include this function's bare name. Name-based and approximate; absent
|
|
44
|
+
* when the graph couldn't compute it.
|
|
45
|
+
*/
|
|
46
|
+
fanIn?: number;
|
|
47
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspection.js","sourceRoot":"","sources":["../../src/types/inspection.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A reversible deprecation marker (3.8 deprecation pass). Present on a tool
|
|
3
|
+
* means "still works, but slated for removal in 4.0 - prefer `replacedBy`".
|
|
4
|
+
*/
|
|
5
|
+
export interface ToolDeprecation {
|
|
6
|
+
/** Version the deprecation was announced in (e.g. "3.8.0"). */
|
|
7
|
+
since: string;
|
|
8
|
+
/** The recommended replacement (tool name for MCP, invocation for CLI). */
|
|
9
|
+
replacedBy: string;
|
|
10
|
+
/** Optional one-line rationale shown to humans/agents. */
|
|
11
|
+
note?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface McpToolDefinition {
|
|
14
|
+
name: string;
|
|
15
|
+
description: string;
|
|
16
|
+
inputSchema: {
|
|
17
|
+
type: 'object';
|
|
18
|
+
properties: Record<string, unknown>;
|
|
19
|
+
required?: string[];
|
|
20
|
+
};
|
|
21
|
+
/** Set when the tool is deprecated and scheduled for removal in 4.0. */
|
|
22
|
+
deprecated?: ToolDeprecation;
|
|
23
|
+
}
|
|
24
|
+
export interface McpPromptArgument {
|
|
25
|
+
name: string;
|
|
26
|
+
description: string;
|
|
27
|
+
required?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface McpPromptDefinition {
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
arguments?: McpPromptArgument[];
|
|
33
|
+
}
|
|
34
|
+
export interface McpResourceDefinition {
|
|
35
|
+
uri: string;
|
|
36
|
+
name: string;
|
|
37
|
+
description: string;
|
|
38
|
+
mimeType: string;
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Issue, IssueSeverity } from './common.js';
|
|
2
|
+
export interface PluginTestResult {
|
|
3
|
+
schemaVersion: 1;
|
|
4
|
+
manifestPath: string;
|
|
5
|
+
ok: boolean;
|
|
6
|
+
diagnostics: Array<{
|
|
7
|
+
code: string;
|
|
8
|
+
severity: IssueSeverity;
|
|
9
|
+
message: string;
|
|
10
|
+
}>;
|
|
11
|
+
trust: {
|
|
12
|
+
localOnly: true;
|
|
13
|
+
previewFlag: 'PROJSCAN_PLUGINS_PREVIEW=1';
|
|
14
|
+
reminder: string;
|
|
15
|
+
};
|
|
16
|
+
commands: {
|
|
17
|
+
validate: string;
|
|
18
|
+
test: string;
|
|
19
|
+
execute: string;
|
|
20
|
+
enable: string;
|
|
21
|
+
};
|
|
22
|
+
execution: {
|
|
23
|
+
requested: boolean;
|
|
24
|
+
executed: boolean;
|
|
25
|
+
mode: 'static' | 'execute';
|
|
26
|
+
note: string;
|
|
27
|
+
};
|
|
28
|
+
context: {
|
|
29
|
+
requested: boolean;
|
|
30
|
+
capabilities: Array<'semanticGraph' | 'dataflow'>;
|
|
31
|
+
note: string;
|
|
32
|
+
};
|
|
33
|
+
analyzer?: {
|
|
34
|
+
issues: Issue[];
|
|
35
|
+
};
|
|
36
|
+
reporter?: {
|
|
37
|
+
outputs: Array<{
|
|
38
|
+
command: string;
|
|
39
|
+
text: string;
|
|
40
|
+
}>;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluginDx.js","sourceRoot":"","sources":["../../src/types/pluginDx.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface ExportRename {
|
|
2
|
+
from: string;
|
|
3
|
+
to: string;
|
|
4
|
+
}
|
|
5
|
+
export interface FileAstDiff {
|
|
6
|
+
relativePath: string;
|
|
7
|
+
status: 'added' | 'removed' | 'modified';
|
|
8
|
+
exportsAdded: string[];
|
|
9
|
+
exportsRemoved: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Heuristically-detected renames (0.11). When an export disappears from
|
|
12
|
+
* base AND a similar new name appears in head AND no other export matches,
|
|
13
|
+
* we report it here instead of as a +/- pair. Removed/added lists exclude
|
|
14
|
+
* any names that ended up in renames.
|
|
15
|
+
*/
|
|
16
|
+
exportsRenamed: ExportRename[];
|
|
17
|
+
importsAdded: string[];
|
|
18
|
+
importsRemoved: string[];
|
|
19
|
+
callsAdded: string[];
|
|
20
|
+
callsRemoved: string[];
|
|
21
|
+
/** CC(head) - CC(base). null when either side wasn't AST-parsed. */
|
|
22
|
+
cyclomaticDelta: number | null;
|
|
23
|
+
/** fanIn(head) - fanIn(base). null when graph entry missing on either side. */
|
|
24
|
+
fanInDelta: number | null;
|
|
25
|
+
}
|
|
26
|
+
export interface PrDiffReport {
|
|
27
|
+
available: boolean;
|
|
28
|
+
reason?: string;
|
|
29
|
+
base: {
|
|
30
|
+
ref: string;
|
|
31
|
+
resolvedSha: string | null;
|
|
32
|
+
};
|
|
33
|
+
head: {
|
|
34
|
+
ref: string;
|
|
35
|
+
resolvedSha: string | null;
|
|
36
|
+
};
|
|
37
|
+
filesAdded: string[];
|
|
38
|
+
filesRemoved: string[];
|
|
39
|
+
filesModified: FileAstDiff[];
|
|
40
|
+
totalFilesChanged: number;
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prDiff.js","sourceRoot":"","sources":["../../src/types/prDiff.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { IssueSeverity } from './common.js';
|
|
2
|
+
import type { HealthScore } from './analysis.js';
|
|
3
|
+
type PreflightReviewVerdict = 'ok' | 'review' | 'block';
|
|
4
|
+
export type PreflightMode = 'before_edit' | 'before_commit' | 'before_merge';
|
|
5
|
+
export type PreflightVerdict = 'proceed' | 'caution' | 'block';
|
|
6
|
+
export type PreflightReasonSource = 'doctor' | 'review' | 'taint' | 'session' | 'plugin' | 'supply-chain' | 'memory' | 'changed-files' | 'hotspots' | 'git' | 'format' | 'release' | 'coordination';
|
|
7
|
+
export interface PreflightReason {
|
|
8
|
+
severity: IssueSeverity;
|
|
9
|
+
source: PreflightReasonSource;
|
|
10
|
+
message: string;
|
|
11
|
+
file?: string;
|
|
12
|
+
issueId?: string;
|
|
13
|
+
tool?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface PreflightRequiredCheck {
|
|
16
|
+
name: string;
|
|
17
|
+
status: 'pass' | 'warn' | 'fail' | 'unavailable';
|
|
18
|
+
reason?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface PreflightSuggestedAction {
|
|
21
|
+
label: string;
|
|
22
|
+
command?: string;
|
|
23
|
+
tool?: string;
|
|
24
|
+
args?: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
export interface PreflightReleaseScaleEvidence {
|
|
27
|
+
detected: boolean;
|
|
28
|
+
changedFiles: number;
|
|
29
|
+
threshold: number;
|
|
30
|
+
reviewVerdict?: PreflightReviewVerdict;
|
|
31
|
+
reviewSummary?: string;
|
|
32
|
+
concreteBlockers: string[];
|
|
33
|
+
explanation: string;
|
|
34
|
+
}
|
|
35
|
+
export interface PreflightEvidence {
|
|
36
|
+
health?: {
|
|
37
|
+
score: number;
|
|
38
|
+
grade: HealthScore['grade'];
|
|
39
|
+
errors: number;
|
|
40
|
+
warnings: number;
|
|
41
|
+
infos: number;
|
|
42
|
+
};
|
|
43
|
+
changedFiles?: {
|
|
44
|
+
available: boolean;
|
|
45
|
+
count: number;
|
|
46
|
+
files: string[];
|
|
47
|
+
reason?: string;
|
|
48
|
+
};
|
|
49
|
+
review?: {
|
|
50
|
+
available: boolean;
|
|
51
|
+
verdict?: PreflightReviewVerdict;
|
|
52
|
+
summary?: string;
|
|
53
|
+
reason?: string;
|
|
54
|
+
};
|
|
55
|
+
session?: {
|
|
56
|
+
kind?: 'remembered-session';
|
|
57
|
+
id: string;
|
|
58
|
+
touchedFiles: string[];
|
|
59
|
+
totalTouchedFiles?: number;
|
|
60
|
+
eventCount: number;
|
|
61
|
+
note?: string;
|
|
62
|
+
truncated?: boolean;
|
|
63
|
+
};
|
|
64
|
+
riskSources?: {
|
|
65
|
+
currentWorktree: {
|
|
66
|
+
kind: 'current-worktree';
|
|
67
|
+
available: boolean;
|
|
68
|
+
count: number;
|
|
69
|
+
files: string[];
|
|
70
|
+
baseRef: string | null;
|
|
71
|
+
reason?: string;
|
|
72
|
+
};
|
|
73
|
+
sessionMemory: {
|
|
74
|
+
kind: 'remembered-session';
|
|
75
|
+
id: string;
|
|
76
|
+
touchedFiles: string[];
|
|
77
|
+
totalTouchedFiles: number;
|
|
78
|
+
eventCount: number;
|
|
79
|
+
note: string;
|
|
80
|
+
truncated?: boolean;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
hotspots?: {
|
|
84
|
+
touched: Array<{
|
|
85
|
+
file: string;
|
|
86
|
+
riskScore: number;
|
|
87
|
+
}>;
|
|
88
|
+
};
|
|
89
|
+
plugins?: {
|
|
90
|
+
enabled: boolean;
|
|
91
|
+
errorIssues: number;
|
|
92
|
+
warningIssues: number;
|
|
93
|
+
};
|
|
94
|
+
supplyChain?: {
|
|
95
|
+
errorIssues: number;
|
|
96
|
+
warningIssues: number;
|
|
97
|
+
};
|
|
98
|
+
releaseScale?: PreflightReleaseScaleEvidence;
|
|
99
|
+
coordination?: {
|
|
100
|
+
available: boolean;
|
|
101
|
+
readiness: 'clear' | 'caution' | 'conflicted';
|
|
102
|
+
worktreeCount: number;
|
|
103
|
+
collisions: {
|
|
104
|
+
high: number;
|
|
105
|
+
medium: number;
|
|
106
|
+
};
|
|
107
|
+
contendedClaims: number;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export interface PreflightReport {
|
|
111
|
+
schemaVersion: 1;
|
|
112
|
+
mode: PreflightMode;
|
|
113
|
+
verdict: PreflightVerdict;
|
|
114
|
+
summary: string;
|
|
115
|
+
reasons: PreflightReason[];
|
|
116
|
+
evidence: PreflightEvidence;
|
|
117
|
+
requiredChecks: PreflightRequiredCheck[];
|
|
118
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
119
|
+
toolCalls: PreflightSuggestedAction[];
|
|
120
|
+
truncated?: boolean;
|
|
121
|
+
}
|
|
122
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/types/preflight.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { HealthScore } from './analysis.js';
|
|
2
|
+
import type { PreflightSuggestedAction } from './preflight.js';
|
|
3
|
+
import type { FixFirstRecommendation, WorkplanPriority } from './workplan.js';
|
|
4
|
+
export type QualityScorecardVerdict = 'excellent' | 'healthy' | 'needs_attention' | 'blocked';
|
|
5
|
+
export type QualityScorecardStatus = 'pass' | 'watch' | 'fail';
|
|
6
|
+
export interface QualityScorecardDimension {
|
|
7
|
+
id: 'health' | 'security' | 'tests' | 'maintainability' | 'coordination';
|
|
8
|
+
label: string;
|
|
9
|
+
status: QualityScorecardStatus;
|
|
10
|
+
score: number;
|
|
11
|
+
summary: string;
|
|
12
|
+
evidence: string[];
|
|
13
|
+
commands: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface QualityScorecardRisk {
|
|
16
|
+
id: string;
|
|
17
|
+
priority: WorkplanPriority;
|
|
18
|
+
title: string;
|
|
19
|
+
files: string[];
|
|
20
|
+
source: 'issue' | 'hotspot' | 'coordination';
|
|
21
|
+
command: string;
|
|
22
|
+
}
|
|
23
|
+
export interface QualityScorecardReport {
|
|
24
|
+
schemaVersion: 1;
|
|
25
|
+
verdict: QualityScorecardVerdict;
|
|
26
|
+
summary: string;
|
|
27
|
+
health: HealthScore;
|
|
28
|
+
dimensions: QualityScorecardDimension[];
|
|
29
|
+
topRisks: QualityScorecardRisk[];
|
|
30
|
+
fixFirst?: FixFirstRecommendation;
|
|
31
|
+
commands: string[];
|
|
32
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
33
|
+
truncated?: boolean;
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qualityScorecard.js","sourceRoot":"","sources":["../../src/types/qualityScorecard.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { BugHuntVerdict } from './bugHunt.js';
|
|
2
|
+
import type { PreflightSuggestedAction, PreflightVerdict } from './preflight.js';
|
|
3
|
+
import type { WorkplanPriority, WorkplanVerification } from './workplan.js';
|
|
4
|
+
export type RegressionPlanLevel = 'smoke' | 'focused' | 'full';
|
|
5
|
+
export type RegressionPlanVerdict = 'ready' | 'needs_tests' | 'blocked';
|
|
6
|
+
export interface RegressionPlanTarget {
|
|
7
|
+
id: string;
|
|
8
|
+
priority: WorkplanPriority;
|
|
9
|
+
source: 'baseline' | 'bug-hunt' | 'product-line' | 'preflight';
|
|
10
|
+
title: string;
|
|
11
|
+
why: string;
|
|
12
|
+
files: string[];
|
|
13
|
+
verification: WorkplanVerification;
|
|
14
|
+
}
|
|
15
|
+
export interface RegressionPlanReport {
|
|
16
|
+
schemaVersion: 1;
|
|
17
|
+
level: RegressionPlanLevel;
|
|
18
|
+
verdict: RegressionPlanVerdict;
|
|
19
|
+
summary: string;
|
|
20
|
+
releaseLines: string[];
|
|
21
|
+
evidence: {
|
|
22
|
+
healthScore: number;
|
|
23
|
+
bugHuntVerdict: BugHuntVerdict;
|
|
24
|
+
preflightVerdict: PreflightVerdict;
|
|
25
|
+
changedFiles: number;
|
|
26
|
+
touchedFiles: number;
|
|
27
|
+
};
|
|
28
|
+
targets: RegressionPlanTarget[];
|
|
29
|
+
commands: string[];
|
|
30
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
31
|
+
truncated?: boolean;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regressionPlan.js","sourceRoot":"","sources":["../../src/types/regressionPlan.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { PreflightSuggestedAction, PreflightVerdict } from './preflight.js';
|
|
2
|
+
import type { WorkplanPriority, WorkplanVerification } from './workplan.js';
|
|
3
|
+
export interface ReleaseTrainTrack {
|
|
4
|
+
line: string;
|
|
5
|
+
theme: string;
|
|
6
|
+
outcome: string;
|
|
7
|
+
includedInPlan: boolean;
|
|
8
|
+
scope: string[];
|
|
9
|
+
successCriteria: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface ReleaseTrainTask {
|
|
12
|
+
id: string;
|
|
13
|
+
priority: WorkplanPriority;
|
|
14
|
+
title: string;
|
|
15
|
+
why: string;
|
|
16
|
+
track: string;
|
|
17
|
+
files: string[];
|
|
18
|
+
verification: WorkplanVerification;
|
|
19
|
+
}
|
|
20
|
+
export interface ReleaseTrainReport {
|
|
21
|
+
schemaVersion: 1;
|
|
22
|
+
currentVersion: string | null;
|
|
23
|
+
plan: {
|
|
24
|
+
policy: 'product-readiness-plan';
|
|
25
|
+
lines: string[];
|
|
26
|
+
readOnly: true;
|
|
27
|
+
};
|
|
28
|
+
readiness: {
|
|
29
|
+
verdict: PreflightVerdict;
|
|
30
|
+
blockers: number;
|
|
31
|
+
cautions: number;
|
|
32
|
+
summary: string;
|
|
33
|
+
};
|
|
34
|
+
tracks: ReleaseTrainTrack[];
|
|
35
|
+
tasks: ReleaseTrainTask[];
|
|
36
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"releaseTrain.js","sourceRoot":"","sources":["../../src/types/releaseTrain.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import type { DataflowRiskConfidence, DataflowRiskKind, DataflowRiskSeverity, GraphEvidenceSummary } from './graph.js';
|
|
2
|
+
import type { PrDiffReport } from './prDiff.js';
|
|
3
|
+
import type { ReviewContractChange } from './reviewContract.js';
|
|
4
|
+
/**
|
|
5
|
+
* One changed file enriched with risk signals. The agent calling
|
|
6
|
+
* projscan_review uses these to decide which files need careful review.
|
|
7
|
+
*/
|
|
8
|
+
export interface ReviewFile {
|
|
9
|
+
relativePath: string;
|
|
10
|
+
status: 'added' | 'removed' | 'modified';
|
|
11
|
+
/** Hotspot risk score for the head version. null when file isn't in the hotspot scope. */
|
|
12
|
+
riskScore: number | null;
|
|
13
|
+
/** Cyclomatic complexity at head. null when no AST adapter parsed it. */
|
|
14
|
+
cyclomaticComplexity: number | null;
|
|
15
|
+
/** Delta from the structural diff (mirrors FileAstDiff.cyclomaticDelta). null when file was added/removed. */
|
|
16
|
+
cyclomaticDelta: number | null;
|
|
17
|
+
/** Number of exports added in this PR. */
|
|
18
|
+
exportsAdded: number;
|
|
19
|
+
/** Number of exports removed in this PR. */
|
|
20
|
+
exportsRemoved: number;
|
|
21
|
+
/** Number of imports added. */
|
|
22
|
+
importsAdded: number;
|
|
23
|
+
/** Number of imports removed. */
|
|
24
|
+
importsRemoved: number;
|
|
25
|
+
/** 1.9+ - set when `projscan_review` was called with an `intent` arg. Absent otherwise. */
|
|
26
|
+
intentAlignment?: 'expected' | 'unexpected' | 'out-of-scope' | 'unknown';
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A circular import that exists at head and either didn't exist at base or
|
|
30
|
+
* grew. Surfaced separately from the file list so reviewers see at-a-glance
|
|
31
|
+
* whether the PR introduces new architectural debt.
|
|
32
|
+
*/
|
|
33
|
+
export interface ReviewCycle {
|
|
34
|
+
files: string[];
|
|
35
|
+
size: number;
|
|
36
|
+
/**
|
|
37
|
+
* 'new' = no overlap with any base cycle; 'expanded' = at least one new
|
|
38
|
+
* file added to an existing cycle.
|
|
39
|
+
*/
|
|
40
|
+
classification: 'new' | 'expanded';
|
|
41
|
+
/** 1.9+ - set when `projscan_review` was called with an `intent` arg. Absent otherwise. */
|
|
42
|
+
intentAlignment?: 'expected' | 'unexpected' | 'out-of-scope' | 'unknown';
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* A function whose CC newly crossed a worry threshold (>= 10) at head, or
|
|
46
|
+
* was added with high CC, or jumped by 5+ since base.
|
|
47
|
+
*/
|
|
48
|
+
export interface ReviewFunction {
|
|
49
|
+
file: string;
|
|
50
|
+
name: string;
|
|
51
|
+
line: number;
|
|
52
|
+
endLine: number;
|
|
53
|
+
cyclomaticComplexity: number;
|
|
54
|
+
/** CC at base. null when the function did not exist at base. */
|
|
55
|
+
baseCc: number | null;
|
|
56
|
+
/** Why this function shows up. */
|
|
57
|
+
reason: 'added' | 'jumped' | 'crossed-threshold';
|
|
58
|
+
/** 1.9+ - set when `projscan_review` was called with an `intent` arg. Absent otherwise. */
|
|
59
|
+
intentAlignment?: 'expected' | 'unexpected' | 'out-of-scope' | 'unknown';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* 1.6+ - A taint flow that is NEW at head (not present at base). Mirrors
|
|
63
|
+
* the core TaintFlow shape but is intentionally light - review summaries
|
|
64
|
+
* should be readable in a glance, so we drop the per-step file list and
|
|
65
|
+
* keep only the source/sink, the function pair, and the path length.
|
|
66
|
+
*/
|
|
67
|
+
export interface ReviewTaintFlow {
|
|
68
|
+
sourceFn: string;
|
|
69
|
+
sinkFn: string;
|
|
70
|
+
source: string;
|
|
71
|
+
sink: string;
|
|
72
|
+
/** Hop count from source function to sink function, inclusive of both ends. */
|
|
73
|
+
pathLength: number;
|
|
74
|
+
/** First and last files in the path; same value when length = 1. */
|
|
75
|
+
files: string[];
|
|
76
|
+
/** 1.9+ - set when `projscan_review` was called with an `intent` arg. Absent otherwise. */
|
|
77
|
+
intentAlignment?: 'expected' | 'unexpected' | 'out-of-scope' | 'unknown';
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* 3.0+ - Review-time dataflow risks that are not represented by legacy
|
|
81
|
+
* taint reachability, especially bridge helpers that call both a source
|
|
82
|
+
* wrapper and a sink wrapper.
|
|
83
|
+
*/
|
|
84
|
+
export interface ReviewDataflowRisk {
|
|
85
|
+
kind: DataflowRiskKind;
|
|
86
|
+
sourceFn: string;
|
|
87
|
+
sinkFn: string;
|
|
88
|
+
bridgeFn?: string;
|
|
89
|
+
source: string;
|
|
90
|
+
sink: string;
|
|
91
|
+
pathLength: number;
|
|
92
|
+
files: string[];
|
|
93
|
+
severity: DataflowRiskSeverity;
|
|
94
|
+
confidence: DataflowRiskConfidence;
|
|
95
|
+
intentAlignment?: 'expected' | 'unexpected' | 'out-of-scope' | 'unknown';
|
|
96
|
+
}
|
|
97
|
+
/** Workspace-package-scoped dependency change. Aggregates root + workspaces. */
|
|
98
|
+
export interface ReviewDependencyChange {
|
|
99
|
+
/** Workspace name; '' for the root manifest. */
|
|
100
|
+
workspace: string;
|
|
101
|
+
manifestFile: string;
|
|
102
|
+
added: Array<{
|
|
103
|
+
name: string;
|
|
104
|
+
version: string;
|
|
105
|
+
kind: 'dep' | 'dev';
|
|
106
|
+
}>;
|
|
107
|
+
removed: Array<{
|
|
108
|
+
name: string;
|
|
109
|
+
version: string;
|
|
110
|
+
kind: 'dep' | 'dev';
|
|
111
|
+
}>;
|
|
112
|
+
bumped: Array<{
|
|
113
|
+
name: string;
|
|
114
|
+
from: string;
|
|
115
|
+
to: string;
|
|
116
|
+
kind: 'dep' | 'dev';
|
|
117
|
+
}>;
|
|
118
|
+
/** 1.9+ - set when `projscan_review` was called with an `intent` arg. Absent otherwise. */
|
|
119
|
+
intentAlignment?: 'expected' | 'unexpected' | 'out-of-scope' | 'unknown';
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* 1.5+ - `projscan_review` can shape its response at three tiers based
|
|
123
|
+
* on a `max_cost_tokens` budget passed by the caller: full (no budget
|
|
124
|
+
* or large budget), summary (3K-7K tokens), verdict-only (<3K).
|
|
125
|
+
* Selected by `selectReviewTier` and surfaced as the `tier` field on
|
|
126
|
+
* the response.
|
|
127
|
+
*/
|
|
128
|
+
export type ReviewTier = 'full' | 'summary' | 'verdict-only';
|
|
129
|
+
export interface ReviewReport {
|
|
130
|
+
available: boolean;
|
|
131
|
+
reason?: string;
|
|
132
|
+
base: {
|
|
133
|
+
ref: string;
|
|
134
|
+
resolvedSha: string | null;
|
|
135
|
+
};
|
|
136
|
+
head: {
|
|
137
|
+
ref: string;
|
|
138
|
+
resolvedSha: string | null;
|
|
139
|
+
};
|
|
140
|
+
/** The structural diff (same shape as projscan_pr_diff). */
|
|
141
|
+
prDiff: PrDiffReport;
|
|
142
|
+
/** Each changed file annotated with risk + CC + delta. Sorted by risk desc. */
|
|
143
|
+
changedFiles: ReviewFile[];
|
|
144
|
+
/** Cycles introduced or expanded by this PR. Empty when none. */
|
|
145
|
+
newCycles: ReviewCycle[];
|
|
146
|
+
/** Functions that meaningfully grew or were added with high CC. Sorted by CC desc. */
|
|
147
|
+
riskyFunctions: ReviewFunction[];
|
|
148
|
+
/** package.json deltas across root + workspaces. */
|
|
149
|
+
dependencyChanges: ReviewDependencyChange[];
|
|
150
|
+
/**
|
|
151
|
+
* 2.1+ - additive public contract changes such as export and package
|
|
152
|
+
* entrypoint changes. Empty or absent when no contract signal is available.
|
|
153
|
+
*/
|
|
154
|
+
contractChanges?: ReviewContractChange[];
|
|
155
|
+
/**
|
|
156
|
+
* 1.6+ - NEW source-to-sink taint flows introduced by this PR. Each
|
|
157
|
+
* entry is a flow that exists at head but didn't exist at base
|
|
158
|
+
* (matched by sourceFn + sinkFn pair). Empty when taint is unavailable
|
|
159
|
+
* (no per-function callSites at either side).
|
|
160
|
+
*/
|
|
161
|
+
newTaintFlows: ReviewTaintFlow[];
|
|
162
|
+
/**
|
|
163
|
+
* 3.0+ - NEW dataflow risks introduced by this PR that are outside the
|
|
164
|
+
* legacy source-to-sink taint flow list. Empty when unavailable or clean.
|
|
165
|
+
*/
|
|
166
|
+
newDataflowRisks: ReviewDataflowRisk[];
|
|
167
|
+
/** 3.5+ - compact graph/dataflow evidence for review consumers. */
|
|
168
|
+
graphEvidence?: GraphEvidenceSummary;
|
|
169
|
+
/** 'ok' = ship it; 'review' = needs careful look; 'block' = strongly suggests rework. */
|
|
170
|
+
verdict: 'ok' | 'review' | 'block';
|
|
171
|
+
/** One-line bullets explaining the verdict. */
|
|
172
|
+
summary: string[];
|
|
173
|
+
/**
|
|
174
|
+
* 1.5+ - which tier this report was shaped at. Absent when the full
|
|
175
|
+
* report is returned without budget shaping.
|
|
176
|
+
*/
|
|
177
|
+
tier?: ReviewTier;
|
|
178
|
+
/**
|
|
179
|
+
* 1.9+ - the parsed intent the agent passed (if any). Echo of the
|
|
180
|
+
* raw string + the parser's classified action + extracted scope
|
|
181
|
+
* tokens. Absent when `intent` arg wasn't provided.
|
|
182
|
+
*/
|
|
183
|
+
intent?: {
|
|
184
|
+
raw: string;
|
|
185
|
+
action: 'feature' | 'fix' | 'refactor' | 'perf' | 'test' | 'docs' | 'chore' | 'remove' | 'unknown';
|
|
186
|
+
scopeTokens: string[];
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* 1.9+ - per-alignment totals across all findings + a small sample
|
|
190
|
+
* of "notable" (unexpected / out-of-scope) findings. Absent when
|
|
191
|
+
* no intent was provided. Verdict is NOT affected by intent -
|
|
192
|
+
* verdict stays structural.
|
|
193
|
+
*/
|
|
194
|
+
intentAnalysis?: {
|
|
195
|
+
totals: Record<'expected' | 'unexpected' | 'out-of-scope' | 'unknown', number>;
|
|
196
|
+
notable: Array<{
|
|
197
|
+
kind: 'file' | 'function' | 'cycle' | 'taint' | 'dataflow' | 'dependency';
|
|
198
|
+
label: string;
|
|
199
|
+
alignment: 'expected' | 'unexpected' | 'out-of-scope' | 'unknown';
|
|
200
|
+
reason: string;
|
|
201
|
+
}>;
|
|
202
|
+
};
|
|
203
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/types/review.ts"],"names":[],"mappings":""}
|