projscan 4.3.1 → 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 +253 -229
- 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 +13 -12
- 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 +8 -6
- package/dist/core/missionProof.js.map +1 -1
- package/dist/core/missionProofBaseline.d.ts +1 -1
- package/dist/core/missionProofBaseline.js +8 -2
- package/dist/core/missionProofBaseline.js.map +1 -1
- package/dist/core/missionProofMarkdown.d.ts +1 -1
- package/dist/core/missionProofMarkdown.js +4 -1
- package/dist/core/missionProofMarkdown.js.map +1 -1
- package/dist/core/missionProofSummary.d.ts +1 -1
- 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 +9 -9
- package/dist/index.js +7 -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 +1 -1
- package/dist/utils/formatSupport.js +7 -1
- package/dist/utils/formatSupport.js.map +1 -1
- package/dist/utils/packageJsonLocator.js.map +1 -1
- package/docs/GUIDE.md +186 -146
- 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/examples/plugins/graph-context.mjs +1 -2
- package/docs/examples/plugins/security-sensitive-files.mjs +2 -1
- package/package.json +10 -5
|
@@ -0,0 +1,497 @@
|
|
|
1
|
+
export function isProductPlanningWorkplanRoute(route) {
|
|
2
|
+
if (route?.tool !== 'projscan_workplan' || route.confidence !== 'high')
|
|
3
|
+
return false;
|
|
4
|
+
const keywords = new Set(route.matchedKeywords);
|
|
5
|
+
const planningSignal = [
|
|
6
|
+
'next',
|
|
7
|
+
'plan',
|
|
8
|
+
'workplan',
|
|
9
|
+
'tasks',
|
|
10
|
+
'to' + 'do',
|
|
11
|
+
'prioritize',
|
|
12
|
+
'priorities',
|
|
13
|
+
'roadmap',
|
|
14
|
+
'strategy',
|
|
15
|
+
'strategic',
|
|
16
|
+
].some((keyword) => keywords.has(keyword));
|
|
17
|
+
const productSignal = ['build', 'product', 'products', 'feature', 'features'].some((keyword) => keywords.has(keyword));
|
|
18
|
+
return planningSignal && productSignal;
|
|
19
|
+
}
|
|
20
|
+
export function actionFromWorkplan(workplan) {
|
|
21
|
+
const task = workplan.tasks[0];
|
|
22
|
+
if (!task)
|
|
23
|
+
return undefined;
|
|
24
|
+
return {
|
|
25
|
+
label: task.title,
|
|
26
|
+
command: task.verification.commands[0],
|
|
27
|
+
tool: task.suggestedTools.find((tool) => tool.startsWith('projscan_')),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function isPreflightAction(action) {
|
|
31
|
+
return (action.tool === 'projscan_preflight' ||
|
|
32
|
+
action.command?.startsWith('projscan preflight ') === true);
|
|
33
|
+
}
|
|
34
|
+
export function preflightModeForMission(mode) {
|
|
35
|
+
if (mode === 'before_commit')
|
|
36
|
+
return 'before_commit';
|
|
37
|
+
if (mode === 'hardening')
|
|
38
|
+
return 'before_commit';
|
|
39
|
+
if (mode === 'before_merge' || mode === 'release')
|
|
40
|
+
return 'before_merge';
|
|
41
|
+
return 'before_edit';
|
|
42
|
+
}
|
|
43
|
+
const FIXED_ROUTE_CRITERIA = {
|
|
44
|
+
projscan_release_train: [
|
|
45
|
+
'Release train readiness has no blockers before packaging or publishing continues.',
|
|
46
|
+
'Changelog, package, SBOM, and provenance evidence are reviewed before a release handoff.',
|
|
47
|
+
],
|
|
48
|
+
projscan_bug_hunt: [
|
|
49
|
+
'Bug-hunt findings are triaged by severity with a first fix candidate selected.',
|
|
50
|
+
'The selected fix has a runnable verification command before editing starts.',
|
|
51
|
+
],
|
|
52
|
+
projscan_agent_brief: [
|
|
53
|
+
'The agent brief summarizes focus items, repo context, guardrails, and suggested next actions for the next developer.',
|
|
54
|
+
'The handoff includes enough proof commands for the next agent to resume without rerunning broad discovery.',
|
|
55
|
+
],
|
|
56
|
+
projscan_session: [
|
|
57
|
+
'Remembered touched files and recent session events are reviewed before resuming work.',
|
|
58
|
+
'The current worktree preflight is rerun after session context is reviewed, so stale memory does not override live risk.',
|
|
59
|
+
],
|
|
60
|
+
projscan_coordinate: [
|
|
61
|
+
'Coordination readiness, collisions, claims, and merge order are reviewed before parallel work continues.',
|
|
62
|
+
'Any conflicted files, contended claims, or merge-order blockers have an owner or follow-up command before editing resumes.',
|
|
63
|
+
],
|
|
64
|
+
projscan_privacy_check: [
|
|
65
|
+
'Telemetry state, offline mode, scan root, ignored-file handling, .env content policy, plugin execution, local writes, and network-capable endpoints are reviewed.',
|
|
66
|
+
'Any required trust-boundary change is made explicitly before broader analysis or report sharing continues.',
|
|
67
|
+
],
|
|
68
|
+
projscan_quality_scorecard: [
|
|
69
|
+
'Quality dimensions, top risks, and verification commands are reviewed before choosing the next task.',
|
|
70
|
+
'The developer knows whether health, security, tests, maintainability, or coordination needs attention first.',
|
|
71
|
+
],
|
|
72
|
+
projscan_review: [
|
|
73
|
+
'The structural PR review reports a verdict and identifies any risk that needs owner follow-up.',
|
|
74
|
+
'Review, preflight, or evidence-pack follow-up is chosen before the branch is handed to reviewers.',
|
|
75
|
+
],
|
|
76
|
+
projscan_evidence_pack: [
|
|
77
|
+
'The evidence pack produces a paste-ready PR comment with verdict, top risks, owner routing, and next commands.',
|
|
78
|
+
'The reviewer-facing comment is validated before it is shared or used for approval.',
|
|
79
|
+
],
|
|
80
|
+
projscan_doctor: [
|
|
81
|
+
'Dead code, unused exports, lint, dependency, security, and config issues are reviewed before cleanup starts.',
|
|
82
|
+
'Any issue chosen for cleanup has a fix-suggest, impact, or verification follow-up before files are deleted.',
|
|
83
|
+
],
|
|
84
|
+
projscan_fix_suggest: [
|
|
85
|
+
'A concrete fix suggestion is produced for the selected issue id.',
|
|
86
|
+
'The suggestion names the file, fix instruction, and verification step before editing starts.',
|
|
87
|
+
],
|
|
88
|
+
projscan_explain_issue: [
|
|
89
|
+
'A deep issue explanation is produced for the selected issue id.',
|
|
90
|
+
'The explanation identifies surrounding code, related issues, similar fixes, and the next fix prompt before editing starts.',
|
|
91
|
+
],
|
|
92
|
+
projscan_pr_diff: [
|
|
93
|
+
'The structural diff is reviewed for changed exports, imports, call sites, and complexity before a full review verdict.',
|
|
94
|
+
'The developer knows which changed files or symbols need deeper review.',
|
|
95
|
+
],
|
|
96
|
+
projscan_coverage: [
|
|
97
|
+
'Coverage gaps are ranked by risk so the next test target is explicit.',
|
|
98
|
+
'The selected file has either a new test plan, an owner, or a documented reason to defer.',
|
|
99
|
+
],
|
|
100
|
+
projscan_upgrade: [
|
|
101
|
+
'The upgrade preview identifies declared version, installed version, breaking markers, and importers.',
|
|
102
|
+
'Importer files are reviewed before changing the package version.',
|
|
103
|
+
],
|
|
104
|
+
projscan_audit: [
|
|
105
|
+
'npm audit findings are reviewed for critical, high, moderate, low, and info vulnerabilities.',
|
|
106
|
+
'Any vulnerable dependency has a fix, upgrade preview, or documented deferral before the branch is trusted.',
|
|
107
|
+
],
|
|
108
|
+
projscan_workspaces: [
|
|
109
|
+
'Monorepo workspace packages are listed with names and relative paths before package-scoped work begins.',
|
|
110
|
+
'The selected workspace name is available for package-scoped follow-up commands such as hotspots, coupling, review, or audit.',
|
|
111
|
+
],
|
|
112
|
+
projscan_dataflow: [
|
|
113
|
+
'Dataflow findings are reviewed for direct, propagated, and bridge source-to-sink paths.',
|
|
114
|
+
'Any confirmed source-to-sink path has an owner, mitigation, and rerunnable verification command before editing continues.',
|
|
115
|
+
],
|
|
116
|
+
projscan_semantic_graph: [
|
|
117
|
+
'The targeted graph query answers the importer/import/export question without dumping the full graph.',
|
|
118
|
+
'Any returned files are reviewed before editing the queried file or symbol.',
|
|
119
|
+
],
|
|
120
|
+
projscan_search: [
|
|
121
|
+
'Search results identify the target files or symbols with enough confidence to choose the next tool.',
|
|
122
|
+
],
|
|
123
|
+
};
|
|
124
|
+
const CRITERIA_RESOLVERS = [
|
|
125
|
+
preflightSuccessCriteria,
|
|
126
|
+
impactSuccessCriteria,
|
|
127
|
+
productPlanningSuccessCriteria,
|
|
128
|
+
fixedRouteSuccessCriteria,
|
|
129
|
+
understandRouteSuccessCriteria,
|
|
130
|
+
claimRouteSuccessCriteria,
|
|
131
|
+
dependenciesRouteSuccessCriteria,
|
|
132
|
+
regressionRouteSuccessCriteria,
|
|
133
|
+
fileRouteSuccessCriteria,
|
|
134
|
+
couplingRouteSuccessCriteria,
|
|
135
|
+
];
|
|
136
|
+
export function buildMissionSuccessCriteria(input) {
|
|
137
|
+
const context = {
|
|
138
|
+
...input,
|
|
139
|
+
primaryAction: input.actionPlan[0] ?? actionFromWorkplan(input.workplan),
|
|
140
|
+
};
|
|
141
|
+
const criteria = appendFirstTaskCriteria(criteriaForContext(context), input.workplan);
|
|
142
|
+
const finalCriteria = criteria.length > 0 ? criteria : defaultSuccessCriteria();
|
|
143
|
+
return uniqueStrings(finalCriteria).slice(0, 4);
|
|
144
|
+
}
|
|
145
|
+
function criteriaForContext(context) {
|
|
146
|
+
for (const resolver of CRITERIA_RESOLVERS) {
|
|
147
|
+
const criteria = resolver(context);
|
|
148
|
+
if (criteria)
|
|
149
|
+
return criteria;
|
|
150
|
+
}
|
|
151
|
+
return [];
|
|
152
|
+
}
|
|
153
|
+
function appendFirstTaskCriteria(criteria, workplan) {
|
|
154
|
+
const firstTaskCommand = workplan.tasks[0]?.verification.commands[0];
|
|
155
|
+
if (!firstTaskCommand)
|
|
156
|
+
return criteria;
|
|
157
|
+
return [...criteria, `The next task has a verification command: ${firstTaskCommand}`];
|
|
158
|
+
}
|
|
159
|
+
function defaultSuccessCriteria() {
|
|
160
|
+
return [
|
|
161
|
+
'The primary action returns useful JSON and identifies the next concrete developer step.',
|
|
162
|
+
'At least one proof command is available before handing work to the next agent or human.',
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
|
+
function preflightSuccessCriteria(context) {
|
|
166
|
+
if (context.route?.tool !== 'projscan_preflight' &&
|
|
167
|
+
!(context.primaryAction && isPreflightAction(context.primaryAction))) {
|
|
168
|
+
return undefined;
|
|
169
|
+
}
|
|
170
|
+
const preflightMode = context.route?.tool === 'projscan_preflight' &&
|
|
171
|
+
context.primaryAction?.args &&
|
|
172
|
+
'mode' in context.primaryAction.args
|
|
173
|
+
? String(context.primaryAction.args.mode)
|
|
174
|
+
: preflightModeForMission(context.mode);
|
|
175
|
+
return [
|
|
176
|
+
`projscan preflight --mode ${preflightMode} returns proceed or only documented manual-review items.`,
|
|
177
|
+
'Every blocker has an owner, linked file, or follow-up command before the developer continues.',
|
|
178
|
+
];
|
|
179
|
+
}
|
|
180
|
+
function impactSuccessCriteria(context) {
|
|
181
|
+
if (context.route?.tool !== 'projscan_impact')
|
|
182
|
+
return undefined;
|
|
183
|
+
return [
|
|
184
|
+
...(context.primaryAction?.tool === 'projscan_search'
|
|
185
|
+
? [
|
|
186
|
+
'An exact symbol or file path is selected from search results before impact analysis continues.',
|
|
187
|
+
]
|
|
188
|
+
: []),
|
|
189
|
+
'The impact report is reviewed for direct and transitive dependents before editing starts.',
|
|
190
|
+
'Affected call sites, tests, or owners are added to the workplan before code changes begin.',
|
|
191
|
+
];
|
|
192
|
+
}
|
|
193
|
+
function productPlanningSuccessCriteria(context) {
|
|
194
|
+
if (context.mode !== 'bug_hunt' || !isProductPlanningWorkplanRoute(context.route))
|
|
195
|
+
return undefined;
|
|
196
|
+
return [
|
|
197
|
+
'A prioritized product-planning slice is selected from the bug-hunt workplan with a clear accept, defer, or split decision.',
|
|
198
|
+
'The selected slice has a runnable verification command before implementation starts.',
|
|
199
|
+
'Deferred product ideas have an explicit reason or follow-up instead of staying in the active workplan.',
|
|
200
|
+
];
|
|
201
|
+
}
|
|
202
|
+
function fixedRouteSuccessCriteria(context) {
|
|
203
|
+
return context.route ? FIXED_ROUTE_CRITERIA[context.route.tool] : undefined;
|
|
204
|
+
}
|
|
205
|
+
function understandRouteSuccessCriteria(context) {
|
|
206
|
+
if (context.route?.tool !== 'projscan_understand')
|
|
207
|
+
return undefined;
|
|
208
|
+
return understandSuccessCriteria(context.primaryAction, context.route);
|
|
209
|
+
}
|
|
210
|
+
function claimRouteSuccessCriteria(context) {
|
|
211
|
+
if (context.route?.tool !== 'projscan_claim')
|
|
212
|
+
return undefined;
|
|
213
|
+
const hasAddAction = context.actionPlan.some((action) => action.args && 'action' in action.args && action.args.action === 'add');
|
|
214
|
+
if (hasAddAction) {
|
|
215
|
+
return [
|
|
216
|
+
'Active claims are reviewed before a new file, directory, or symbol claim is added.',
|
|
217
|
+
'The target is claimed with a real agent name, and any returned contention is assigned or resolved before parallel editing continues.',
|
|
218
|
+
];
|
|
219
|
+
}
|
|
220
|
+
return [
|
|
221
|
+
'Active claims, owners, leases, and contention warnings are reviewed before parallel work continues.',
|
|
222
|
+
'Any stale or contended claim has a release, owner, or coordination follow-up before editing resumes.',
|
|
223
|
+
];
|
|
224
|
+
}
|
|
225
|
+
function dependenciesRouteSuccessCriteria(context) {
|
|
226
|
+
if (context.route?.tool !== 'projscan_dependencies')
|
|
227
|
+
return undefined;
|
|
228
|
+
const criteria = [];
|
|
229
|
+
if (context.route.matchedKeywords.some((keyword) => [
|
|
230
|
+
'license',
|
|
231
|
+
'licenses',
|
|
232
|
+
'gpl',
|
|
233
|
+
'copyleft',
|
|
234
|
+
'notice',
|
|
235
|
+
'notices',
|
|
236
|
+
'third',
|
|
237
|
+
'party',
|
|
238
|
+
'open',
|
|
239
|
+
'source',
|
|
240
|
+
'compliance',
|
|
241
|
+
].includes(keyword))) {
|
|
242
|
+
criteria.push('Dependency license counts, unknown licenses, and copyleft risks are reviewed before third-party notices or compliance sign-off.');
|
|
243
|
+
}
|
|
244
|
+
if (context.route.matchedKeywords.some((keyword) => [
|
|
245
|
+
'bundle',
|
|
246
|
+
'bundles',
|
|
247
|
+
'size',
|
|
248
|
+
'sizes',
|
|
249
|
+
'large',
|
|
250
|
+
'heavy',
|
|
251
|
+
'bloat',
|
|
252
|
+
'bloated',
|
|
253
|
+
'weight',
|
|
254
|
+
'footprint',
|
|
255
|
+
'reduce',
|
|
256
|
+
'slim',
|
|
257
|
+
].includes(keyword))) {
|
|
258
|
+
criteria.push('Installed package-size totals and largest packages are reviewed before bundle-size or dependency-bloat work starts.');
|
|
259
|
+
}
|
|
260
|
+
criteria.push('Declared production and development dependencies are inventoried before package changes are planned.');
|
|
261
|
+
criteria.push('Any dependency risks, workspace-specific counts, or missing lockfile signal has an owner or follow-up command.');
|
|
262
|
+
return criteria;
|
|
263
|
+
}
|
|
264
|
+
function regressionRouteSuccessCriteria(context) {
|
|
265
|
+
if (context.route?.tool !== 'projscan_regression_plan')
|
|
266
|
+
return undefined;
|
|
267
|
+
const level = regressionLevelFromPrimaryAction(context.primaryAction);
|
|
268
|
+
return [
|
|
269
|
+
regressionPlanCriterion(level, context.route),
|
|
270
|
+
'projscan ci --changed-only or the matching test command is rerun after the selected fix.',
|
|
271
|
+
];
|
|
272
|
+
}
|
|
273
|
+
function fileRouteSuccessCriteria(context) {
|
|
274
|
+
return context.route?.tool === 'projscan_file' ? fileSuccessCriteria(context.route) : undefined;
|
|
275
|
+
}
|
|
276
|
+
function couplingRouteSuccessCriteria(context) {
|
|
277
|
+
if (context.route?.tool !== 'projscan_coupling')
|
|
278
|
+
return undefined;
|
|
279
|
+
const direction = context.primaryAction?.args && 'direction' in context.primaryAction.args
|
|
280
|
+
? String(context.primaryAction.args.direction)
|
|
281
|
+
: 'all';
|
|
282
|
+
return [
|
|
283
|
+
direction === 'cycles_only'
|
|
284
|
+
? 'Circular-import cycles are reviewed with the exact files participating in each strongly connected component.'
|
|
285
|
+
: 'Fan-in, fan-out, instability, cross-package edges, and circular-import cycles are reviewed before refactoring boundaries.',
|
|
286
|
+
'Every high-coupling or circular-import target has an owner, refactor decision, or verification follow-up before architecture work starts.',
|
|
287
|
+
];
|
|
288
|
+
}
|
|
289
|
+
const FILE_CRITERIA_RULES = [
|
|
290
|
+
{
|
|
291
|
+
keywords: ['risk', 'risks', 'risky', 'dangerous'],
|
|
292
|
+
criterion: 'Hotspot reasons, related issues, imports, exports, and ownership explain why the file is risky.',
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
keywords: [
|
|
296
|
+
'last',
|
|
297
|
+
'touched',
|
|
298
|
+
'touch',
|
|
299
|
+
'changed',
|
|
300
|
+
'recently',
|
|
301
|
+
'history',
|
|
302
|
+
'author',
|
|
303
|
+
'authors',
|
|
304
|
+
'blame',
|
|
305
|
+
],
|
|
306
|
+
criterion: 'Primary author, recent history, and ownership signals are reviewed before routing reviewers or changing the file.',
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
keywords: ['coverage', 'covered', 'uncovered', 'test', 'tests'],
|
|
310
|
+
criterion: 'Coverage, hotspot risk, and related test evidence for the file are reviewed before editing starts.',
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
matches: matchesFileTestDesignCriteria,
|
|
314
|
+
criterion: 'File purpose, risky functions, coverage, and existing test evidence are reviewed before designing a new test.',
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
keywords: ['read'],
|
|
318
|
+
criterion: 'Purpose, imports, exports, ownership, tests, and risk are reviewed before changing the named file.',
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
keywords: ['review', 'reviewer', 'reviewers'],
|
|
322
|
+
criterion: 'Ownership, primary author, hotspot risk, and related issues are reviewed before choosing a reviewer.',
|
|
323
|
+
},
|
|
324
|
+
];
|
|
325
|
+
const UNDERSTAND_VIEW_CRITERIA = {
|
|
326
|
+
flow: [
|
|
327
|
+
'Runtime entrypoints, flow paths, and side-effect evidence are reviewed before changing request or execution paths.',
|
|
328
|
+
'The developer knows which files sit on the relevant runtime path.',
|
|
329
|
+
],
|
|
330
|
+
verify: [
|
|
331
|
+
'Verification tiers, direct-test gaps, and likely proof commands are reviewed before pushing or asking for review.',
|
|
332
|
+
'The developer has the smallest rerunnable command plus the fallback full gate for the intended change.',
|
|
333
|
+
],
|
|
334
|
+
change: [
|
|
335
|
+
'Change-readiness risks, blast radius, and verification tiers are reviewed before editing starts.',
|
|
336
|
+
'The developer knows which follow-up impact, test, or preflight command gates the change.',
|
|
337
|
+
],
|
|
338
|
+
map: [
|
|
339
|
+
'Read-first files, entrypoints, boundaries, risks, and unknowns are reviewed before editing starts.',
|
|
340
|
+
'The developer has a cited repo map and knows which files to inspect next.',
|
|
341
|
+
],
|
|
342
|
+
};
|
|
343
|
+
function fileSuccessCriteria(route) {
|
|
344
|
+
const matched = new Set(route.matchedKeywords);
|
|
345
|
+
return [
|
|
346
|
+
...FILE_CRITERIA_RULES.filter((rule) => fileCriteriaRuleMatches(rule, matched)).map((rule) => rule.criterion),
|
|
347
|
+
'The file purpose, imports, exports, ownership, and risk are reviewed before editing starts.',
|
|
348
|
+
'Any follow-up impact, owner, or test command from the file report is added to the workplan.',
|
|
349
|
+
];
|
|
350
|
+
}
|
|
351
|
+
function fileCriteriaRuleMatches(rule, matched) {
|
|
352
|
+
if (rule.matches)
|
|
353
|
+
return rule.matches(matched);
|
|
354
|
+
return (rule.keywords ?? []).some((keyword) => matched.has(keyword));
|
|
355
|
+
}
|
|
356
|
+
function matchesFileTestDesignCriteria(matched) {
|
|
357
|
+
const explicitAuthoring = ['add', 'write'].some((keyword) => matched.has(keyword));
|
|
358
|
+
const testWithoutCoverage = matched.has('test') &&
|
|
359
|
+
!['coverage', 'covered', 'uncovered'].some((keyword) => matched.has(keyword));
|
|
360
|
+
return explicitAuthoring || testWithoutCoverage;
|
|
361
|
+
}
|
|
362
|
+
function understandSuccessCriteria(primaryAction, route) {
|
|
363
|
+
const view = primaryAction?.args && 'view' in primaryAction.args ? String(primaryAction.args.view) : 'map';
|
|
364
|
+
if (view === 'contracts')
|
|
365
|
+
return contractUnderstandSuccessCriteria(new Set(route?.matchedKeywords ?? []));
|
|
366
|
+
return UNDERSTAND_VIEW_CRITERIA[view] ?? UNDERSTAND_VIEW_CRITERIA.map;
|
|
367
|
+
}
|
|
368
|
+
function contractUnderstandSuccessCriteria(matched) {
|
|
369
|
+
if (contractLocalServiceSetupCriteriaMatches(matched)) {
|
|
370
|
+
return [
|
|
371
|
+
'Local service startup scripts, container commands, and required config are reviewed before running dev services.',
|
|
372
|
+
'The developer knows the safest command to start local services plus any env, port, or dependency preconditions.',
|
|
373
|
+
];
|
|
374
|
+
}
|
|
375
|
+
if (contractScriptDiscoveryCriteriaMatches(matched)) {
|
|
376
|
+
return [
|
|
377
|
+
'Package scripts, test commands, and config contracts are reviewed before running local commands.',
|
|
378
|
+
'The developer knows the package-manager command for the requested script plus any required env or setup preconditions.',
|
|
379
|
+
];
|
|
380
|
+
}
|
|
381
|
+
if (contractDatabaseSetupCriteriaMatches(matched)) {
|
|
382
|
+
return [
|
|
383
|
+
'Package scripts and config contracts identify the seed, reset, or migration command before shell commands are guessed.',
|
|
384
|
+
'The developer knows database setup preconditions, required env vars, and the safest local command to run.',
|
|
385
|
+
];
|
|
386
|
+
}
|
|
387
|
+
if (contractEnvCriteriaMatches(matched)) {
|
|
388
|
+
return [
|
|
389
|
+
'Required environment variables and config contracts are identified before setup or runtime troubleshooting continues.',
|
|
390
|
+
'The developer knows which env names, defaults, or config files need local values before running the app.',
|
|
391
|
+
];
|
|
392
|
+
}
|
|
393
|
+
return [
|
|
394
|
+
'Public exports, config contracts, and likely breaking-change risks are reviewed before touching API surfaces.',
|
|
395
|
+
'The developer knows which exported files or symbols need compatibility checks.',
|
|
396
|
+
];
|
|
397
|
+
}
|
|
398
|
+
function contractScriptDiscoveryCriteriaMatches(matched) {
|
|
399
|
+
return [
|
|
400
|
+
'npm',
|
|
401
|
+
'script',
|
|
402
|
+
'scripts',
|
|
403
|
+
'e2e',
|
|
404
|
+
'unit',
|
|
405
|
+
'integration',
|
|
406
|
+
'storybook',
|
|
407
|
+
'cypress',
|
|
408
|
+
'playwright',
|
|
409
|
+
'eslint',
|
|
410
|
+
'prettier',
|
|
411
|
+
'format',
|
|
412
|
+
'lint',
|
|
413
|
+
'typecheck',
|
|
414
|
+
'typechecking',
|
|
415
|
+
].some((keyword) => matched.has(keyword));
|
|
416
|
+
}
|
|
417
|
+
function contractLocalServiceSetupCriteriaMatches(matched) {
|
|
418
|
+
const action = ['run', 'runs', 'start', 'command', 'commands', 'setup'].some((keyword) => matched.has(keyword));
|
|
419
|
+
const localServices = ['local', 'locally', 'dev'].some((keyword) => matched.has(keyword)) &&
|
|
420
|
+
['service', 'services', 'server', 'app'].some((keyword) => matched.has(keyword));
|
|
421
|
+
const dockerCompose = matched.has('docker') && matched.has('compose');
|
|
422
|
+
return action && (localServices || dockerCompose);
|
|
423
|
+
}
|
|
424
|
+
function contractDatabaseSetupCriteriaMatches(matched) {
|
|
425
|
+
return (['database', 'db', 'migration', 'migrations'].some((keyword) => matched.has(keyword)) &&
|
|
426
|
+
['seed', 'seeds', 'reset', 'resets', 'migrate', 'migrates', 'run', 'runs', 'command'].some((keyword) => matched.has(keyword)));
|
|
427
|
+
}
|
|
428
|
+
function contractEnvCriteriaMatches(matched) {
|
|
429
|
+
return [
|
|
430
|
+
'env',
|
|
431
|
+
'environment',
|
|
432
|
+
'environments',
|
|
433
|
+
'vars',
|
|
434
|
+
'variable',
|
|
435
|
+
'variables',
|
|
436
|
+
'missing',
|
|
437
|
+
'required',
|
|
438
|
+
].some((keyword) => matched.has(keyword));
|
|
439
|
+
}
|
|
440
|
+
function regressionLevelFromPrimaryAction(primaryAction) {
|
|
441
|
+
const level = primaryAction?.args && 'level' in primaryAction.args
|
|
442
|
+
? String(primaryAction.args.level)
|
|
443
|
+
: 'focused';
|
|
444
|
+
if (level === 'smoke' || level === 'focused' || level === 'full')
|
|
445
|
+
return level;
|
|
446
|
+
return 'focused';
|
|
447
|
+
}
|
|
448
|
+
function regressionPlanCriterion(level, route) {
|
|
449
|
+
if (level === 'smoke')
|
|
450
|
+
return 'The smoke regression plan identifies the smallest health and preflight commands to rerun.';
|
|
451
|
+
if (level === 'full')
|
|
452
|
+
return 'The full regression plan identifies release-grade build, lint, stability, and test commands to rerun.';
|
|
453
|
+
if (route &&
|
|
454
|
+
route.matchedKeywords.some((keyword) => [
|
|
455
|
+
'production',
|
|
456
|
+
'prod',
|
|
457
|
+
'down',
|
|
458
|
+
'outage',
|
|
459
|
+
'incident',
|
|
460
|
+
'triage',
|
|
461
|
+
'runtime',
|
|
462
|
+
'crash',
|
|
463
|
+
'crashes',
|
|
464
|
+
'crashing',
|
|
465
|
+
'500',
|
|
466
|
+
'502',
|
|
467
|
+
'503',
|
|
468
|
+
'504',
|
|
469
|
+
'404',
|
|
470
|
+
'403',
|
|
471
|
+
'401',
|
|
472
|
+
].includes(keyword))) {
|
|
473
|
+
return 'The focused regression plan identifies the smallest high-signal commands to reproduce and verify the failure.';
|
|
474
|
+
}
|
|
475
|
+
if (route &&
|
|
476
|
+
route.matchedKeywords.some((keyword) => [
|
|
477
|
+
'connection',
|
|
478
|
+
'refused',
|
|
479
|
+
'port',
|
|
480
|
+
'ports',
|
|
481
|
+
'eaddrinuse',
|
|
482
|
+
'listen',
|
|
483
|
+
'address',
|
|
484
|
+
'permission',
|
|
485
|
+
'denied',
|
|
486
|
+
'enoent',
|
|
487
|
+
'eresolve',
|
|
488
|
+
'peer',
|
|
489
|
+
].includes(keyword))) {
|
|
490
|
+
return 'The focused regression plan identifies the local setup command, environment symptom, and smallest rerun proof for the blocker.';
|
|
491
|
+
}
|
|
492
|
+
return 'The focused regression plan identifies the failing CI or test signal and the smallest verification command to rerun.';
|
|
493
|
+
}
|
|
494
|
+
function uniqueStrings(values) {
|
|
495
|
+
return [...new Set(values.filter((value) => value.length > 0))];
|
|
496
|
+
}
|
|
497
|
+
//# sourceMappingURL=startSuccessCriteria.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startSuccessCriteria.js","sourceRoot":"","sources":["../../src/core/startSuccessCriteria.ts"],"names":[],"mappings":"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"}
|
package/dist/core/taint.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FRAMEWORK_REQUEST_SOURCES, frameworkRequestSourceForFunction } from './frameworkSources.js';
|
|
1
|
+
import { FRAMEWORK_REQUEST_SOURCES, frameworkRequestSourceForFunction, } from './frameworkSources.js';
|
|
2
2
|
export const DEFAULT_TAINT_SOURCES = [
|
|
3
3
|
'env', // process.env.X
|
|
4
4
|
'argv', // process.argv
|
|
@@ -52,7 +52,15 @@ const DATABASE_RECEIVERS = new Set([
|
|
|
52
52
|
]);
|
|
53
53
|
const CALL_SHAPED_DEFAULT_SOURCES = new Set(['getInput', 'readFile', 'readFileSync', 'stdin']);
|
|
54
54
|
const DEFAULT_HTTP_PROPERTY_SOURCES = new Set(['body', 'query', 'params', 'headers', 'cookies']);
|
|
55
|
-
const DATABASE_MODULE_NAMES = new Set([
|
|
55
|
+
const DATABASE_MODULE_NAMES = new Set([
|
|
56
|
+
'db',
|
|
57
|
+
'database',
|
|
58
|
+
'sql',
|
|
59
|
+
'pool',
|
|
60
|
+
'client',
|
|
61
|
+
'repository',
|
|
62
|
+
'repo',
|
|
63
|
+
]);
|
|
56
64
|
const KNOWN_DATABASE_PACKAGES = new Set([
|
|
57
65
|
'pg',
|
|
58
66
|
'postgres',
|
|
@@ -286,7 +294,8 @@ function isDefaultMisidentifiedDatabaseSink(callee, directCallSites, memberCallS
|
|
|
286
294
|
return false;
|
|
287
295
|
if (directCallSites.includes(callee) && isImportedDatabaseHelper(callee, graphFile.imports))
|
|
288
296
|
return false;
|
|
289
|
-
if (directCallSites.includes(callee) &&
|
|
297
|
+
if (directCallSites.includes(callee) &&
|
|
298
|
+
memberAliases.some((alias) => isDatabaseMemberAlias(alias, callee)))
|
|
290
299
|
return false;
|
|
291
300
|
return true;
|
|
292
301
|
}
|
package/dist/core/taint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taint.js","sourceRoot":"","sources":["../../src/core/taint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taint.js","sourceRoot":"","sources":["../../src/core/taint.ts"],"names":[],"mappings":"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"}
|