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,61 @@
|
|
|
1
|
+
export type SemverDrift = 'patch' | 'minor' | 'major' | 'same' | 'unknown';
|
|
2
|
+
export interface OutdatedPackage {
|
|
3
|
+
name: string;
|
|
4
|
+
declared: string;
|
|
5
|
+
installed: string | null;
|
|
6
|
+
latest: string | null;
|
|
7
|
+
drift: SemverDrift;
|
|
8
|
+
scope: 'dependency' | 'devDependency';
|
|
9
|
+
/** Workspace package this dep was declared in. Empty/undefined when not a monorepo. */
|
|
10
|
+
workspace?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface OutdatedReport {
|
|
13
|
+
available: boolean;
|
|
14
|
+
reason?: string;
|
|
15
|
+
totalPackages: number;
|
|
16
|
+
packages: OutdatedPackage[];
|
|
17
|
+
/** Per-workspace breakdown when scanning a monorepo. Empty for single-package repos. */
|
|
18
|
+
byWorkspace?: Array<{
|
|
19
|
+
workspace: string;
|
|
20
|
+
relativePath: string;
|
|
21
|
+
total: number;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
export type AuditSeverity = 'critical' | 'high' | 'moderate' | 'low' | 'info';
|
|
25
|
+
export interface AuditFinding {
|
|
26
|
+
name: string;
|
|
27
|
+
severity: AuditSeverity;
|
|
28
|
+
title: string;
|
|
29
|
+
url?: string;
|
|
30
|
+
cve?: string[];
|
|
31
|
+
via: string[];
|
|
32
|
+
range?: string;
|
|
33
|
+
fixAvailable: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface AuditReport {
|
|
36
|
+
available: boolean;
|
|
37
|
+
reason?: string;
|
|
38
|
+
summary: Record<AuditSeverity, number>;
|
|
39
|
+
findings: AuditFinding[];
|
|
40
|
+
}
|
|
41
|
+
export interface UpgradePreview {
|
|
42
|
+
available: boolean;
|
|
43
|
+
reason?: string;
|
|
44
|
+
name: string;
|
|
45
|
+
declared: string | null;
|
|
46
|
+
installed: string | null;
|
|
47
|
+
latest: string | null;
|
|
48
|
+
drift: SemverDrift;
|
|
49
|
+
breakingMarkers: string[];
|
|
50
|
+
changelogExcerpt?: string;
|
|
51
|
+
importers: string[];
|
|
52
|
+
/**
|
|
53
|
+
* 1.3+ — set when `previewUpgrade` was called with `checkRegistry: true`.
|
|
54
|
+
* "registry" if the latest came from npm; "installed" if we fell back to
|
|
55
|
+
* the locally-installed version (either offline mode or a registry fetch
|
|
56
|
+
* that failed). Absent when no registry attempt was made.
|
|
57
|
+
*/
|
|
58
|
+
latestSource?: 'registry' | 'installed';
|
|
59
|
+
/** 1.3+ — set when a registry fetch was attempted and failed. */
|
|
60
|
+
registryError?: string;
|
|
61
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencyHealth.js","sourceRoot":"","sources":["../../src/types/dependencyHealth.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import type { EvidencePackVerdict } from './evidencePack.js';
|
|
2
|
+
import type { PreflightSuggestedAction } from './preflight.js';
|
|
3
|
+
export type DogfoodRepoStatus = 'pass' | 'warn' | 'fail';
|
|
4
|
+
export interface DogfoodFeedbackResponse {
|
|
5
|
+
repo?: string;
|
|
6
|
+
pr?: string;
|
|
7
|
+
reviewer?: string;
|
|
8
|
+
useful?: boolean;
|
|
9
|
+
minutesSaved?: number;
|
|
10
|
+
preventedBadEdit?: boolean;
|
|
11
|
+
ownerRoutingClear?: boolean;
|
|
12
|
+
nextCommandClear?: boolean;
|
|
13
|
+
falsePositiveRules?: string[];
|
|
14
|
+
missingSignals?: string[];
|
|
15
|
+
noisyFindings?: string[];
|
|
16
|
+
note?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface DogfoodFeedbackInput {
|
|
19
|
+
schemaVersion?: 1;
|
|
20
|
+
questions?: string[];
|
|
21
|
+
responses: DogfoodFeedbackResponse[];
|
|
22
|
+
}
|
|
23
|
+
export interface FeedbackTemplateResult extends DogfoodFeedbackInput {
|
|
24
|
+
schemaVersion: 1;
|
|
25
|
+
path: string;
|
|
26
|
+
createdAt: string;
|
|
27
|
+
instructions: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface FeedbackSummaryReport {
|
|
30
|
+
schemaVersion: 1;
|
|
31
|
+
path: string;
|
|
32
|
+
responses: number;
|
|
33
|
+
usefulResponses: number;
|
|
34
|
+
distinctRepos: number;
|
|
35
|
+
distinctPrs: number;
|
|
36
|
+
minutesSaved: {
|
|
37
|
+
total: number;
|
|
38
|
+
average: number;
|
|
39
|
+
max: number;
|
|
40
|
+
};
|
|
41
|
+
preventedBadEdits: number;
|
|
42
|
+
ownerRoutingClear: number;
|
|
43
|
+
nextCommandClear: number;
|
|
44
|
+
repeatUse: {
|
|
45
|
+
distinctPrs: number;
|
|
46
|
+
repeatedRepos: number;
|
|
47
|
+
requiredDistinctPrs: number;
|
|
48
|
+
requiredRepeatedRepos: number;
|
|
49
|
+
ready: boolean;
|
|
50
|
+
};
|
|
51
|
+
falsePositive: {
|
|
52
|
+
totalReports: number;
|
|
53
|
+
noisyRules: Array<{
|
|
54
|
+
rule: string;
|
|
55
|
+
count: number;
|
|
56
|
+
}>;
|
|
57
|
+
missingSignals: Array<{
|
|
58
|
+
signal: string;
|
|
59
|
+
count: number;
|
|
60
|
+
}>;
|
|
61
|
+
noisyFindings: Array<{
|
|
62
|
+
finding: string;
|
|
63
|
+
count: number;
|
|
64
|
+
}>;
|
|
65
|
+
};
|
|
66
|
+
nextDogfoodCommand: string;
|
|
67
|
+
}
|
|
68
|
+
export interface DogfoodRepoValidation {
|
|
69
|
+
feedbackResponses: number;
|
|
70
|
+
usefulResponses: number;
|
|
71
|
+
prRefs: string[];
|
|
72
|
+
minutesSaved: number;
|
|
73
|
+
preventedBadEdits: number;
|
|
74
|
+
ownerRoutingClear: number;
|
|
75
|
+
nextCommandClear: number;
|
|
76
|
+
falsePositiveRules: string[];
|
|
77
|
+
missingSignals: string[];
|
|
78
|
+
noisyFindings: string[];
|
|
79
|
+
}
|
|
80
|
+
export interface DogfoodWebsiteProof {
|
|
81
|
+
headline: string;
|
|
82
|
+
metrics: string[];
|
|
83
|
+
bullets: string[];
|
|
84
|
+
markdown: string;
|
|
85
|
+
}
|
|
86
|
+
export interface DogfoodMarketValidation {
|
|
87
|
+
status: 'proven' | 'needs_feedback' | 'needs_more_repos' | 'needs_tuning';
|
|
88
|
+
summary: string;
|
|
89
|
+
proofGates: Array<{
|
|
90
|
+
id: 'repo-coverage' | 'reviewer-feedback' | 'useful-feedback' | 'repeat-use' | 'measured-value' | 'false-positive-balance';
|
|
91
|
+
status: 'pass' | 'fail';
|
|
92
|
+
summary: string;
|
|
93
|
+
command: string;
|
|
94
|
+
}>;
|
|
95
|
+
nextProofStep: string;
|
|
96
|
+
repoCoverage: {
|
|
97
|
+
target: number;
|
|
98
|
+
evaluated: number;
|
|
99
|
+
targetMet: boolean;
|
|
100
|
+
};
|
|
101
|
+
feedback: {
|
|
102
|
+
responses: number;
|
|
103
|
+
usefulResponses: number;
|
|
104
|
+
usefulnessRate: number;
|
|
105
|
+
preventedBadEdits: number;
|
|
106
|
+
ownerRoutingClear: number;
|
|
107
|
+
nextCommandClear: number;
|
|
108
|
+
minutesSaved: {
|
|
109
|
+
total: number;
|
|
110
|
+
average: number;
|
|
111
|
+
max: number;
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
falsePositive: {
|
|
115
|
+
totalReports: number;
|
|
116
|
+
noisyRules: Array<{
|
|
117
|
+
rule: string;
|
|
118
|
+
count: number;
|
|
119
|
+
}>;
|
|
120
|
+
missingSignals: Array<{
|
|
121
|
+
signal: string;
|
|
122
|
+
count: number;
|
|
123
|
+
}>;
|
|
124
|
+
noisyFindings: Array<{
|
|
125
|
+
finding: string;
|
|
126
|
+
count: number;
|
|
127
|
+
}>;
|
|
128
|
+
};
|
|
129
|
+
firstPr: {
|
|
130
|
+
readyRepos: number;
|
|
131
|
+
repeatUseReadyRepos: number;
|
|
132
|
+
requiredFeedbackQuestions: string[];
|
|
133
|
+
};
|
|
134
|
+
value: {
|
|
135
|
+
averageMinutesSaved: number;
|
|
136
|
+
requiredAverageMinutesSaved: number;
|
|
137
|
+
preventedBadEdits: number;
|
|
138
|
+
ready: boolean;
|
|
139
|
+
};
|
|
140
|
+
repeatUse: {
|
|
141
|
+
distinctPrs: number;
|
|
142
|
+
repeatedRepos: number;
|
|
143
|
+
requiredDistinctPrs: number;
|
|
144
|
+
requiredRepeatedRepos: number;
|
|
145
|
+
ready: boolean;
|
|
146
|
+
};
|
|
147
|
+
websiteProof: DogfoodWebsiteProof;
|
|
148
|
+
}
|
|
149
|
+
export interface DogfoodRepoResult {
|
|
150
|
+
path: string;
|
|
151
|
+
name: string;
|
|
152
|
+
status: DogfoodRepoStatus;
|
|
153
|
+
healthScore: number;
|
|
154
|
+
mcpReady: boolean;
|
|
155
|
+
prCommentReady: boolean;
|
|
156
|
+
repeatUseReady: boolean;
|
|
157
|
+
verdict: EvidencePackVerdict;
|
|
158
|
+
gaps: string[];
|
|
159
|
+
feedbackQuestions: string[];
|
|
160
|
+
validation: DogfoodRepoValidation;
|
|
161
|
+
nextCommands: string[];
|
|
162
|
+
}
|
|
163
|
+
export interface DogfoodReport {
|
|
164
|
+
schemaVersion: 1;
|
|
165
|
+
readOnly: true;
|
|
166
|
+
rootPath: string;
|
|
167
|
+
targetRepoCount: number;
|
|
168
|
+
summary: string;
|
|
169
|
+
repos: DogfoodRepoResult[];
|
|
170
|
+
totals: {
|
|
171
|
+
reposEvaluated: number;
|
|
172
|
+
passingRepos: number;
|
|
173
|
+
warningRepos: number;
|
|
174
|
+
failingRepos: number;
|
|
175
|
+
prCommentReady: number;
|
|
176
|
+
repeatUseReady: number;
|
|
177
|
+
mcpReady: number;
|
|
178
|
+
usefulFeedback: number;
|
|
179
|
+
minutesSaved: number;
|
|
180
|
+
preventedBadEdits: number;
|
|
181
|
+
falsePositiveReports: number;
|
|
182
|
+
};
|
|
183
|
+
marketValidation: DogfoodMarketValidation;
|
|
184
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
185
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dogfood.js","sourceRoot":"","sources":["../../src/types/dogfood.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { BaselineTrend } from './baseline.js';
|
|
2
|
+
import type { PreflightSuggestedAction } from './preflight.js';
|
|
3
|
+
import type { ReleaseTrainReport } from './releaseTrain.js';
|
|
4
|
+
import type { FixFirstRecommendation, WorkplanPriority } from './workplan.js';
|
|
5
|
+
export type EvidencePackVerdict = 'ready' | 'caution' | 'blocked';
|
|
6
|
+
export type EvidencePackArtifactStatus = 'ready' | 'caution' | 'blocked';
|
|
7
|
+
export interface EvidencePackArtifact {
|
|
8
|
+
id: string;
|
|
9
|
+
title: string;
|
|
10
|
+
status: EvidencePackArtifactStatus;
|
|
11
|
+
summary: string;
|
|
12
|
+
evidence: string[];
|
|
13
|
+
commands: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface EvidencePackTopRisk {
|
|
16
|
+
priority: WorkplanPriority;
|
|
17
|
+
title: string;
|
|
18
|
+
files: string[];
|
|
19
|
+
owner?: string;
|
|
20
|
+
command: string;
|
|
21
|
+
}
|
|
22
|
+
export interface EvidencePackTeamRoute {
|
|
23
|
+
owner: string;
|
|
24
|
+
files: string[];
|
|
25
|
+
reason: string;
|
|
26
|
+
}
|
|
27
|
+
export interface EvidencePackTrustCalibration {
|
|
28
|
+
verdict: 'clean' | 'manual_review' | 'actual_defect';
|
|
29
|
+
summary: string;
|
|
30
|
+
concreteBlockers: string[];
|
|
31
|
+
manualReviewSignals: string[];
|
|
32
|
+
watchSignals: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface EvidencePackPrSummary {
|
|
35
|
+
verdictLabel: string;
|
|
36
|
+
decision: string;
|
|
37
|
+
trust: EvidencePackTrustCalibration;
|
|
38
|
+
topRisks: EvidencePackTopRisk[];
|
|
39
|
+
teamRoutes: EvidencePackTeamRoute[];
|
|
40
|
+
ownershipSuggestion?: string;
|
|
41
|
+
fixFirst?: FixFirstRecommendation;
|
|
42
|
+
nextCommands: string[];
|
|
43
|
+
baselineTrend?: BaselineTrend;
|
|
44
|
+
}
|
|
45
|
+
export interface EvidencePackPrCommentValidationCheck {
|
|
46
|
+
id: string;
|
|
47
|
+
status: 'pass' | 'warn' | 'fail';
|
|
48
|
+
summary: string;
|
|
49
|
+
}
|
|
50
|
+
export interface EvidencePackPrCommentValidation {
|
|
51
|
+
status: 'pass' | 'warn' | 'fail';
|
|
52
|
+
checks: EvidencePackPrCommentValidationCheck[];
|
|
53
|
+
}
|
|
54
|
+
export interface EvidencePackReport {
|
|
55
|
+
schemaVersion: 1;
|
|
56
|
+
currentVersion: string | null;
|
|
57
|
+
readOnly: true;
|
|
58
|
+
verdict: EvidencePackVerdict;
|
|
59
|
+
summary: string;
|
|
60
|
+
train: {
|
|
61
|
+
lines: string[];
|
|
62
|
+
readiness: ReleaseTrainReport['readiness'];
|
|
63
|
+
};
|
|
64
|
+
approval: {
|
|
65
|
+
required: true;
|
|
66
|
+
recommendation: string;
|
|
67
|
+
blockingReasons: string[];
|
|
68
|
+
};
|
|
69
|
+
artifacts: EvidencePackArtifact[];
|
|
70
|
+
changelogEntries: string[];
|
|
71
|
+
websitePrompt?: string;
|
|
72
|
+
prComment?: string;
|
|
73
|
+
prCommentValidation?: EvidencePackPrCommentValidation;
|
|
74
|
+
prSummary?: EvidencePackPrSummary;
|
|
75
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
76
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidencePack.js","sourceRoot":"","sources":["../../src/types/evidencePack.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { IssueLocation, IssueSeverity } from './common.js';
|
|
2
|
+
/**
|
|
3
|
+
* Structured action prompt the agent can paste into its plan. Returned by
|
|
4
|
+
* projscan_fix_suggest. projscan does not run an LLM - this is rule-driven
|
|
5
|
+
* guidance with the issue, the location, and a one-paragraph instruction
|
|
6
|
+
* the agent (LLM) is expected to act on.
|
|
7
|
+
*/
|
|
8
|
+
export interface FixSuggestion {
|
|
9
|
+
/** Echoes the input issue id when matched. */
|
|
10
|
+
issueId: string;
|
|
11
|
+
/** Severity level passed through from the source issue. */
|
|
12
|
+
severity: IssueSeverity;
|
|
13
|
+
/** Issue category passed through. */
|
|
14
|
+
category: string;
|
|
15
|
+
/** One-line "what is wrong". */
|
|
16
|
+
headline: string;
|
|
17
|
+
/** 2-4 sentences of why this matters. Severity-anchored. */
|
|
18
|
+
why: string;
|
|
19
|
+
/** Affected locations (mirrors Issue.locations when known). */
|
|
20
|
+
where: IssueLocation[];
|
|
21
|
+
/** One-paragraph instruction for the driving agent. */
|
|
22
|
+
instruction: string;
|
|
23
|
+
/** Optional "verify the fix by..." note. */
|
|
24
|
+
suggestedTest?: string;
|
|
25
|
+
/** Optional related files (importers, peer rules) for context. */
|
|
26
|
+
relatedFiles?: string[];
|
|
27
|
+
/** Optional documentation links. */
|
|
28
|
+
references?: string[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Markdown-rendered deep dive for a single issue. Returned by
|
|
32
|
+
* projscan_explain_issue. Includes the surrounding code excerpt and any
|
|
33
|
+
* git-log evidence of similar fixes already merged in this repo.
|
|
34
|
+
*/
|
|
35
|
+
export interface IssueExplanation {
|
|
36
|
+
issueId: string;
|
|
37
|
+
title: string;
|
|
38
|
+
severity: IssueSeverity;
|
|
39
|
+
category: string;
|
|
40
|
+
headline: string;
|
|
41
|
+
/** Source-code excerpt around the primary location. Empty when no location. */
|
|
42
|
+
excerpt: {
|
|
43
|
+
file: string;
|
|
44
|
+
startLine: number;
|
|
45
|
+
endLine: number;
|
|
46
|
+
lines: string[];
|
|
47
|
+
} | null;
|
|
48
|
+
/** Other open issues touching the same file (id + title pairs). */
|
|
49
|
+
relatedIssues: Array<{
|
|
50
|
+
id: string;
|
|
51
|
+
title: string;
|
|
52
|
+
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Git log references where this issue id (or its rule prefix) appears in a
|
|
55
|
+
* commit message - hints at how teammates have addressed it before.
|
|
56
|
+
* Empty when none found or git history unavailable.
|
|
57
|
+
*/
|
|
58
|
+
similarFixes: Array<{
|
|
59
|
+
sha: string;
|
|
60
|
+
subject: string;
|
|
61
|
+
date: string;
|
|
62
|
+
}>;
|
|
63
|
+
/** The full FixSuggestion if a template matched; null otherwise. */
|
|
64
|
+
fix: FixSuggestion | null;
|
|
65
|
+
}
|
|
66
|
+
export interface Fix {
|
|
67
|
+
id: string;
|
|
68
|
+
title: string;
|
|
69
|
+
description: string;
|
|
70
|
+
issueId: string;
|
|
71
|
+
apply: (rootPath: string) => Promise<void>;
|
|
72
|
+
}
|
|
73
|
+
export interface FixResult {
|
|
74
|
+
fix: Fix;
|
|
75
|
+
success: boolean;
|
|
76
|
+
error?: string;
|
|
77
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixes.js","sourceRoot":"","sources":["../../src/types/fixes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export interface GraphEvidenceSummary {
|
|
2
|
+
schemaVersion: 1;
|
|
3
|
+
changedFiles?: number;
|
|
4
|
+
changedFunctions?: number;
|
|
5
|
+
totalFunctions: number;
|
|
6
|
+
totalPackages: number;
|
|
7
|
+
totalCallEdges: number;
|
|
8
|
+
dataflowRisks: number;
|
|
9
|
+
topPackages: string[];
|
|
10
|
+
}
|
|
11
|
+
export type SemanticGraphNodeKind = 'file' | 'function' | 'package' | 'symbol';
|
|
12
|
+
export interface SemanticGraphNode {
|
|
13
|
+
id: string;
|
|
14
|
+
kind: SemanticGraphNodeKind;
|
|
15
|
+
label: string;
|
|
16
|
+
file?: string;
|
|
17
|
+
line?: number;
|
|
18
|
+
endLine?: number;
|
|
19
|
+
adapterId?: string;
|
|
20
|
+
metrics?: {
|
|
21
|
+
lineCount?: number;
|
|
22
|
+
cyclomaticComplexity?: number;
|
|
23
|
+
fanIn?: number;
|
|
24
|
+
fanOut?: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export type SemanticGraphEdgeKind = 'defines' | 'imports' | 'imports_package' | 'exports' | 'calls';
|
|
28
|
+
export interface SemanticGraphEdge {
|
|
29
|
+
from: string;
|
|
30
|
+
to: string;
|
|
31
|
+
kind: SemanticGraphEdgeKind;
|
|
32
|
+
label?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface SemanticGraphReport {
|
|
35
|
+
schemaVersion: 3;
|
|
36
|
+
nodes: SemanticGraphNode[];
|
|
37
|
+
edges: SemanticGraphEdge[];
|
|
38
|
+
metrics: {
|
|
39
|
+
totalFiles: number;
|
|
40
|
+
totalFunctions: number;
|
|
41
|
+
totalPackages: number;
|
|
42
|
+
totalSymbols: number;
|
|
43
|
+
totalEdges: number;
|
|
44
|
+
};
|
|
45
|
+
truncated: boolean;
|
|
46
|
+
limits: {
|
|
47
|
+
maxNodes: number;
|
|
48
|
+
maxEdges: number;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export type DataflowRiskKind = 'direct' | 'propagated' | 'bridge';
|
|
52
|
+
export type DataflowRiskSeverity = 'warning' | 'error';
|
|
53
|
+
export type DataflowRiskConfidence = 'low' | 'medium' | 'high';
|
|
54
|
+
export interface DataflowRisk {
|
|
55
|
+
key: string;
|
|
56
|
+
kind: DataflowRiskKind;
|
|
57
|
+
severity: DataflowRiskSeverity;
|
|
58
|
+
confidence: DataflowRiskConfidence;
|
|
59
|
+
sourceFn: string;
|
|
60
|
+
sinkFn: string;
|
|
61
|
+
bridgeFn?: string;
|
|
62
|
+
source: string;
|
|
63
|
+
sink: string;
|
|
64
|
+
path: string[];
|
|
65
|
+
sourcePath?: string[];
|
|
66
|
+
sinkPath?: string[];
|
|
67
|
+
pathLength: number;
|
|
68
|
+
files: string[];
|
|
69
|
+
}
|
|
70
|
+
export interface DataflowReport {
|
|
71
|
+
available: boolean;
|
|
72
|
+
reason?: string;
|
|
73
|
+
riskCount: number;
|
|
74
|
+
risks: DataflowRisk[];
|
|
75
|
+
effectiveSources: string[];
|
|
76
|
+
effectiveSinks: string[];
|
|
77
|
+
truncated?: boolean;
|
|
78
|
+
truncatedSources?: string[];
|
|
79
|
+
maxDepth?: number;
|
|
80
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/types/graph.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface GraphCorpusFixtureMetrics {
|
|
2
|
+
name: string;
|
|
3
|
+
fixture: string;
|
|
4
|
+
files: number;
|
|
5
|
+
functions: number;
|
|
6
|
+
packages: number;
|
|
7
|
+
symbols: number;
|
|
8
|
+
importEdges: number;
|
|
9
|
+
callEdges: number;
|
|
10
|
+
dataflowRisks: number;
|
|
11
|
+
}
|
|
12
|
+
export interface GraphCorpusReport {
|
|
13
|
+
schemaVersion: 1;
|
|
14
|
+
fixtures: GraphCorpusFixtureMetrics[];
|
|
15
|
+
totals: Omit<GraphCorpusFixtureMetrics, 'name' | 'fixture'>;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphCorpus.js","sourceRoot":"","sources":["../../src/types/graphCorpus.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface AuthorShare {
|
|
2
|
+
author: string;
|
|
3
|
+
commits: number;
|
|
4
|
+
share: number;
|
|
5
|
+
}
|
|
6
|
+
export interface FileHotspot {
|
|
7
|
+
relativePath: string;
|
|
8
|
+
churn: number;
|
|
9
|
+
distinctAuthors: number;
|
|
10
|
+
daysSinceLastChange: number | null;
|
|
11
|
+
lineCount: number;
|
|
12
|
+
/** AST-derived McCabe complexity. null when no language adapter parsed this file. */
|
|
13
|
+
cyclomaticComplexity: number | null;
|
|
14
|
+
sizeBytes: number;
|
|
15
|
+
issueCount: number;
|
|
16
|
+
issueIds: string[];
|
|
17
|
+
riskScore: number;
|
|
18
|
+
reasons: string[];
|
|
19
|
+
primaryAuthor: string | null;
|
|
20
|
+
primaryAuthorShare: number;
|
|
21
|
+
busFactorOne: boolean;
|
|
22
|
+
topAuthors: AuthorShare[];
|
|
23
|
+
coverage?: number | null;
|
|
24
|
+
/**
|
|
25
|
+
* 1.5+ - true when Project Memory has marked this file as
|
|
26
|
+
* "accepted load-bearing debt" (top-K hotspot for >= 5 runs over
|
|
27
|
+
* >= 7 days without CC/churn improving). The reporter tags accepted
|
|
28
|
+
* rows so users aren't repeatedly pestered about debt they've
|
|
29
|
+
* implicitly opted into. Absent on older saves / fresh runs.
|
|
30
|
+
*/
|
|
31
|
+
accepted?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface HotspotReport {
|
|
34
|
+
available: boolean;
|
|
35
|
+
reason?: string;
|
|
36
|
+
window: {
|
|
37
|
+
since: string | null;
|
|
38
|
+
commitsScanned: number;
|
|
39
|
+
};
|
|
40
|
+
hotspots: FileHotspot[];
|
|
41
|
+
totalFilesRanked: number;
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hotspots.js","sourceRoot":"","sources":["../../src/types/hotspots.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One reachable file in an impact analysis. `distance` is BFS-hops from the
|
|
3
|
+
* input target (1 = direct dependent, 2 = dependent-of-dependent, etc).
|
|
4
|
+
* `target` itself is not included in the reachable list.
|
|
5
|
+
*/
|
|
6
|
+
export interface ImpactNode {
|
|
7
|
+
file: string;
|
|
8
|
+
distance: number;
|
|
9
|
+
/**
|
|
10
|
+
* 1.6+ - name of the registered repo that contains this file.
|
|
11
|
+
* Present only when `cross_repo: true` was passed and the file
|
|
12
|
+
* lives outside the source repo. Absent for in-repo entries.
|
|
13
|
+
*/
|
|
14
|
+
repo?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ImpactBoundarySummary {
|
|
17
|
+
repo: string;
|
|
18
|
+
packageName: string;
|
|
19
|
+
owner: string;
|
|
20
|
+
files: string[];
|
|
21
|
+
reachableFiles: number;
|
|
22
|
+
}
|
|
23
|
+
export interface ImpactReport {
|
|
24
|
+
available: boolean;
|
|
25
|
+
reason?: string;
|
|
26
|
+
/** What was queried. */
|
|
27
|
+
target: {
|
|
28
|
+
kind: 'file' | 'symbol';
|
|
29
|
+
value: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* For symbol mode: every file the graph claims defines the symbol. Empty
|
|
33
|
+
* for file mode. Useful when an agent needs to know whether a name is
|
|
34
|
+
* defined in multiple places before treating impact as authoritative.
|
|
35
|
+
*/
|
|
36
|
+
definitionFiles: string[];
|
|
37
|
+
/**
|
|
38
|
+
* For symbol mode: files that directly call the symbol (their callSites
|
|
39
|
+
* contains the name). The reachable set is computed from these as roots.
|
|
40
|
+
* Empty for file mode.
|
|
41
|
+
*/
|
|
42
|
+
directCallers: string[];
|
|
43
|
+
/** Sorted by distance asc, then file asc. */
|
|
44
|
+
reachable: ImpactNode[];
|
|
45
|
+
/** Convenience count of reachable files (== reachable.length). */
|
|
46
|
+
totalReachable: number;
|
|
47
|
+
/**
|
|
48
|
+
* 1.6+ - when cross-repo expansion ran, this is the per-repo
|
|
49
|
+
* breakdown of reachable file counts. Absent when `cross_repo`
|
|
50
|
+
* was false or the workspace had no siblings.
|
|
51
|
+
*/
|
|
52
|
+
totalReachableByRepo?: Record<string, number>;
|
|
53
|
+
/** 3.5+ - cross-repo package/ownership boundaries that mention the target. */
|
|
54
|
+
boundarySummary?: ImpactBoundarySummary[];
|
|
55
|
+
/**
|
|
56
|
+
* True when traversal hit `maxDistance` before exhausting the graph.
|
|
57
|
+
* Items beyond the limit are omitted from `reachable`.
|
|
58
|
+
*/
|
|
59
|
+
truncated: boolean;
|
|
60
|
+
/** The maxDistance value used for the traversal. */
|
|
61
|
+
maxDistance: number;
|
|
62
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"impact.js","sourceRoot":"","sources":["../../src/types/impact.ts"],"names":[],"mappings":""}
|