projscan 4.7.0 → 4.9.1
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/README.md +104 -56
- package/dist/cli/commands/bugHunt.js +37 -8
- package/dist/cli/commands/bugHunt.js.map +1 -1
- package/dist/cli/commands/preflight.js +18 -2
- package/dist/cli/commands/preflight.js.map +1 -1
- package/dist/cli/commands/privacyCheck.js +5 -2
- package/dist/cli/commands/privacyCheck.js.map +1 -1
- package/dist/cli/commands/releaseTrain.js +9 -1
- package/dist/cli/commands/releaseTrain.js.map +1 -1
- package/dist/cli/commands/start.js +5 -28
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/startAction.d.ts +2 -1
- package/dist/cli/commands/startAction.js +4 -4
- package/dist/cli/commands/startAction.js.map +1 -1
- package/dist/cli/commands/startConsole.d.ts +1 -0
- package/dist/cli/commands/startConsole.js +83 -7
- package/dist/cli/commands/startConsole.js.map +1 -1
- package/dist/cli/commands/startOptionsRegistration.d.ts +2 -0
- package/dist/cli/commands/startOptionsRegistration.js +29 -0
- package/dist/cli/commands/startOptionsRegistration.js.map +1 -0
- package/dist/core/adoption.js +13 -0
- package/dist/core/adoption.js.map +1 -1
- package/dist/core/ast.d.ts +2 -17
- package/dist/core/ast.js +4 -33
- package/dist/core/ast.js.map +1 -1
- package/dist/core/astResult.d.ts +20 -0
- package/dist/core/astResult.js +39 -0
- package/dist/core/astResult.js.map +1 -0
- package/dist/core/bugHunt.js +62 -22
- package/dist/core/bugHunt.js.map +1 -1
- package/dist/core/bugHuntPreflightFindings.js +5 -2
- package/dist/core/bugHuntPreflightFindings.js.map +1 -1
- package/dist/core/codeGraph.d.ts +1 -16
- package/dist/core/codeGraph.js +4 -89
- package/dist/core/codeGraph.js.map +1 -1
- package/dist/core/codeGraphAdapterContexts.d.ts +8 -0
- package/dist/core/codeGraphAdapterContexts.js +14 -0
- package/dist/core/codeGraphAdapterContexts.js.map +1 -0
- package/dist/core/codeGraphIncremental.d.ts +17 -0
- package/dist/core/codeGraphIncremental.js +64 -0
- package/dist/core/codeGraphIncremental.js.map +1 -0
- package/dist/core/collisionDetector.d.ts +1 -0
- package/dist/core/collisionDetector.js +3 -0
- package/dist/core/collisionDetector.js.map +1 -1
- package/dist/core/coordination.js +23 -5
- package/dist/core/coordination.js.map +1 -1
- package/dist/core/coordinationEvidence.d.ts +1 -0
- package/dist/core/coordinationEvidence.js.map +1 -1
- package/dist/core/frameworkAstroSources.d.ts +2 -0
- package/dist/core/frameworkAstroSources.js +71 -0
- package/dist/core/frameworkAstroSources.js.map +1 -0
- package/dist/core/frameworkExpressSources.js +6 -31
- package/dist/core/frameworkExpressSources.js.map +1 -1
- package/dist/core/frameworkFastifySources.js +5 -22
- package/dist/core/frameworkFastifySources.js.map +1 -1
- package/dist/core/frameworkHonoSources.js +5 -24
- package/dist/core/frameworkHonoSources.js.map +1 -1
- package/dist/core/frameworkKoaSources.js +5 -24
- package/dist/core/frameworkKoaSources.js.map +1 -1
- package/dist/core/frameworkSourceContext.d.ts +15 -0
- package/dist/core/frameworkSourceContext.js +2 -0
- package/dist/core/frameworkSourceContext.js.map +1 -0
- package/dist/core/frameworkSourceMatching.d.ts +6 -0
- package/dist/core/frameworkSourceMatching.js +29 -0
- package/dist/core/frameworkSourceMatching.js.map +1 -0
- package/dist/core/frameworkSourceResolvers.d.ts +2 -0
- package/dist/core/frameworkSourceResolvers.js +51 -0
- package/dist/core/frameworkSourceResolvers.js.map +1 -0
- package/dist/core/frameworkSources.d.ts +2 -14
- package/dist/core/frameworkSources.js +11 -38
- package/dist/core/frameworkSources.js.map +1 -1
- package/dist/core/frameworkSvelteKitSources.d.ts +2 -0
- package/dist/core/frameworkSvelteKitSources.js +118 -0
- package/dist/core/frameworkSvelteKitSources.js.map +1 -0
- package/dist/core/intentRouter.d.ts +1 -1
- package/dist/core/intentRouter.js +2 -8
- package/dist/core/intentRouter.js.map +1 -1
- package/dist/core/intentRouterCatalog.js +40 -3
- package/dist/core/intentRouterCatalog.js.map +1 -1
- package/dist/core/intentRouterDependencySignals.d.ts +1 -0
- package/dist/core/intentRouterDependencySignals.js +14 -0
- package/dist/core/intentRouterDependencySignals.js.map +1 -1
- package/dist/core/intentRouterKeywordEarlyGuards.js +24 -1
- package/dist/core/intentRouterKeywordEarlyGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordToolGuards.js +5 -0
- package/dist/core/intentRouterKeywordToolGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordWeights.js +29 -0
- package/dist/core/intentRouterKeywordWeights.js.map +1 -1
- package/dist/core/intentRouterPreflightSignals.js +7 -2
- package/dist/core/intentRouterPreflightSignals.js.map +1 -1
- package/dist/core/intentRouterRegressionKeywordMatches.js +9 -2
- package/dist/core/intentRouterRegressionKeywordMatches.js.map +1 -1
- package/dist/core/intentRouterRegressionSignals.d.ts +1 -0
- package/dist/core/intentRouterRegressionSignals.js +11 -1
- package/dist/core/intentRouterRegressionSignals.js.map +1 -1
- package/dist/core/intentRouterReleaseSignals.js +5 -20
- package/dist/core/intentRouterReleaseSignals.js.map +1 -1
- package/dist/core/intentRouterResolution.d.ts +3 -0
- package/dist/core/intentRouterResolution.js +11 -0
- package/dist/core/intentRouterResolution.js.map +1 -0
- package/dist/core/intentRouterVerificationSignals.js +5 -0
- package/dist/core/intentRouterVerificationSignals.js.map +1 -1
- package/dist/core/intentRouterWorkSignals.js +4 -2
- package/dist/core/intentRouterWorkSignals.js.map +1 -1
- package/dist/core/languages/pythonManifests.js +6 -19
- package/dist/core/languages/pythonManifests.js.map +1 -1
- package/dist/core/languages/pythonPep508.js +1 -1
- package/dist/core/languages/pythonPep508.js.map +1 -1
- package/dist/core/languages/pythonProjectEvidence.js +4 -4
- package/dist/core/languages/pythonProjectEvidence.js.map +1 -1
- package/dist/core/languages/pythonPyproject.js +1 -1
- package/dist/core/languages/pythonPyproject.js.map +1 -1
- package/dist/core/languages/pythonPyprojectEvidence.d.ts +7 -0
- package/dist/core/languages/pythonPyprojectEvidence.js +23 -0
- package/dist/core/languages/pythonPyprojectEvidence.js.map +1 -0
- package/dist/core/languages/pythonRequirements.d.ts +2 -0
- package/dist/core/languages/pythonRequirements.js +74 -9
- package/dist/core/languages/pythonRequirements.js.map +1 -1
- package/dist/core/pluginAnalyzerLoading.d.ts +3 -0
- package/dist/core/pluginAnalyzerLoading.js +55 -0
- package/dist/core/pluginAnalyzerLoading.js.map +1 -0
- package/dist/core/pluginAnalyzerRunning.d.ts +10 -0
- package/dist/core/pluginAnalyzerRunning.js +32 -0
- package/dist/core/pluginAnalyzerRunning.js.map +1 -0
- package/dist/core/pluginIssueValidation.d.ts +2 -0
- package/dist/core/pluginIssueValidation.js +22 -0
- package/dist/core/pluginIssueValidation.js.map +1 -0
- package/dist/core/pluginManifestDiscovery.d.ts +25 -0
- package/dist/core/pluginManifestDiscovery.js +80 -0
- package/dist/core/pluginManifestDiscovery.js.map +1 -0
- package/dist/core/pluginModuleLoading.d.ts +8 -0
- package/dist/core/pluginModuleLoading.js +91 -0
- package/dist/core/pluginModuleLoading.js.map +1 -0
- package/dist/core/pluginReporterLoading.d.ts +41 -0
- package/dist/core/pluginReporterLoading.js +105 -0
- package/dist/core/pluginReporterLoading.js.map +1 -0
- package/dist/core/pluginRuntimeTypes.d.ts +20 -0
- package/dist/core/pluginRuntimeTypes.js +2 -0
- package/dist/core/pluginRuntimeTypes.js.map +1 -0
- package/dist/core/plugins.d.ts +9 -86
- package/dist/core/plugins.js +12 -350
- package/dist/core/plugins.js.map +1 -1
- package/dist/core/preflight.d.ts +1 -2
- package/dist/core/preflight.js +4 -91
- package/dist/core/preflight.js.map +1 -1
- package/dist/core/preflightEvidence.js +11 -0
- package/dist/core/preflightEvidence.js.map +1 -1
- package/dist/core/preflightInputs.d.ts +1 -0
- package/dist/core/preflightInputs.js.map +1 -1
- package/dist/core/preflightReasons.d.ts +21 -0
- package/dist/core/preflightReasons.js +54 -0
- package/dist/core/preflightReasons.js.map +1 -0
- package/dist/core/preflightReleaseScale.js +16 -5
- package/dist/core/preflightReleaseScale.js.map +1 -1
- package/dist/core/preflightReport.d.ts +9 -0
- package/dist/core/preflightReport.js +67 -0
- package/dist/core/preflightReport.js.map +1 -0
- package/dist/core/preflightSuggestedActions.js +3 -1
- package/dist/core/preflightSuggestedActions.js.map +1 -1
- package/dist/core/preflightVerdict.js +3 -0
- package/dist/core/preflightVerdict.js.map +1 -1
- package/dist/core/qualityScorecard.js +39 -21
- package/dist/core/qualityScorecard.js.map +1 -1
- package/dist/core/releaseEvidenceArtifacts.js +12 -4
- package/dist/core/releaseEvidenceArtifacts.js.map +1 -1
- package/dist/core/releaseTrain.d.ts +11 -1
- package/dist/core/releaseTrain.js +54 -2
- package/dist/core/releaseTrain.js.map +1 -1
- package/dist/core/repositoryScanner.js +5 -2
- package/dist/core/repositoryScanner.js.map +1 -1
- package/dist/core/review.js +2 -47
- package/dist/core/review.js.map +1 -1
- package/dist/core/reviewChangedReport.d.ts +13 -0
- package/dist/core/reviewChangedReport.js +38 -0
- package/dist/core/reviewChangedReport.js.map +1 -0
- package/dist/core/reviewComputation.d.ts +9 -0
- package/dist/core/reviewComputation.js +14 -0
- package/dist/core/reviewComputation.js.map +1 -0
- package/dist/core/reviewContractChanges.js +22 -8
- package/dist/core/reviewContractChanges.js.map +1 -1
- package/dist/core/reviewDataflow.js +18 -0
- package/dist/core/reviewDataflow.js.map +1 -1
- package/dist/core/reviewVerdict.js +37 -5
- package/dist/core/reviewVerdict.js.map +1 -1
- package/dist/core/roadmapCatalog.js +7 -203
- package/dist/core/roadmapCatalog.js.map +1 -1
- package/dist/core/roadmapCatalogPost44.d.ts +2 -0
- package/dist/core/roadmapCatalogPost44.js +205 -0
- package/dist/core/roadmapCatalogPost44.js.map +1 -0
- package/dist/core/roadmapCatalogTypes.d.ts +6 -0
- package/dist/core/roadmapCatalogTypes.js +2 -0
- package/dist/core/roadmapCatalogTypes.js.map +1 -0
- package/dist/core/startAdoptionGaps.js +1 -1
- package/dist/core/startAdoptionGaps.js.map +1 -1
- package/dist/core/startClaimRouteCriteria.d.ts +7 -0
- package/dist/core/startClaimRouteCriteria.js +16 -0
- package/dist/core/startClaimRouteCriteria.js.map +1 -0
- package/dist/core/startClaimTargets.d.ts +2 -0
- package/dist/core/startClaimTargets.js +14 -0
- package/dist/core/startClaimTargets.js.map +1 -0
- package/dist/core/startCouplingRouteCriteria.d.ts +2 -0
- package/dist/core/startCouplingRouteCriteria.js +13 -0
- package/dist/core/startCouplingRouteCriteria.js.map +1 -0
- package/dist/core/startDailyWorkflows.d.ts +2 -0
- package/dist/core/startDailyWorkflows.js +50 -0
- package/dist/core/startDailyWorkflows.js.map +1 -0
- package/dist/core/startDependencyRouteCriteria.d.ts +2 -0
- package/dist/core/startDependencyRouteCriteria.js +43 -0
- package/dist/core/startDependencyRouteCriteria.js.map +1 -0
- package/dist/core/startEnvTargets.d.ts +1 -0
- package/dist/core/startEnvTargets.js +9 -0
- package/dist/core/startEnvTargets.js.map +1 -0
- package/dist/core/startFileRouteCriteria.d.ts +2 -0
- package/dist/core/startFileRouteCriteria.js +56 -0
- package/dist/core/startFileRouteCriteria.js.map +1 -0
- package/dist/core/startFileTargets.d.ts +2 -0
- package/dist/core/startFileTargets.js +19 -0
- package/dist/core/startFileTargets.js.map +1 -0
- package/dist/core/startFixedRouteCriteria.d.ts +1 -0
- package/dist/core/startFixedRouteCriteria.js +90 -0
- package/dist/core/startFixedRouteCriteria.js.map +1 -0
- package/dist/core/startGeneratedConfigSearchTargets.d.ts +1 -0
- package/dist/core/startGeneratedConfigSearchTargets.js +22 -0
- package/dist/core/startGeneratedConfigSearchTargets.js.map +1 -0
- package/dist/core/startGraphTargets.d.ts +10 -0
- package/dist/core/startGraphTargets.js +82 -0
- package/dist/core/startGraphTargets.js.map +1 -0
- package/dist/core/startHighPrioritySearchTargets.d.ts +1 -0
- package/dist/core/startHighPrioritySearchTargets.js +24 -0
- package/dist/core/startHighPrioritySearchTargets.js.map +1 -0
- package/dist/core/startImpactRouteCriteria.d.ts +7 -0
- package/dist/core/startImpactRouteCriteria.js +14 -0
- package/dist/core/startImpactRouteCriteria.js.map +1 -0
- package/dist/core/startImpactTargets.d.ts +1 -0
- package/dist/core/startImpactTargets.js +18 -0
- package/dist/core/startImpactTargets.js.map +1 -0
- package/dist/core/startIntentApiContractQueries.d.ts +1 -0
- package/dist/core/startIntentApiContractQueries.js +50 -0
- package/dist/core/startIntentApiContractQueries.js.map +1 -0
- package/dist/core/startIntentAuthorizationQueries.d.ts +1 -0
- package/dist/core/startIntentAuthorizationQueries.js +29 -0
- package/dist/core/startIntentAuthorizationQueries.js.map +1 -0
- package/dist/core/startIntentBackgroundWorkQueries.d.ts +1 -0
- package/dist/core/startIntentBackgroundWorkQueries.js +23 -0
- package/dist/core/startIntentBackgroundWorkQueries.js.map +1 -0
- package/dist/core/startIntentCommunicationArtifactQueries.d.ts +1 -0
- package/dist/core/startIntentCommunicationArtifactQueries.js +25 -0
- package/dist/core/startIntentCommunicationArtifactQueries.js.map +1 -0
- package/dist/core/startIntentDataAccessQueries.d.ts +1 -0
- package/dist/core/startIntentDataAccessQueries.js +60 -0
- package/dist/core/startIntentDataAccessQueries.js.map +1 -0
- package/dist/core/startIntentDataContractQueries.d.ts +1 -0
- package/dist/core/startIntentDataContractQueries.js +75 -0
- package/dist/core/startIntentDataContractQueries.js.map +1 -0
- package/dist/core/startIntentDomainSearchQueries.d.ts +1 -0
- package/dist/core/startIntentDomainSearchQueries.js +47 -0
- package/dist/core/startIntentDomainSearchQueries.js.map +1 -0
- package/dist/core/startIntentDomainWorkflowQueries.d.ts +1 -0
- package/dist/core/startIntentDomainWorkflowQueries.js +28 -0
- package/dist/core/startIntentDomainWorkflowQueries.js.map +1 -0
- package/dist/core/startIntentFrontendPageRouteQueries.d.ts +1 -0
- package/dist/core/startIntentFrontendPageRouteQueries.js +26 -0
- package/dist/core/startIntentFrontendPageRouteQueries.js.map +1 -0
- package/dist/core/startIntentInfraArtifactQueries.d.ts +1 -0
- package/dist/core/startIntentInfraArtifactQueries.js +62 -0
- package/dist/core/startIntentInfraArtifactQueries.js.map +1 -0
- package/dist/core/startIntentIntegrationQueries.d.ts +1 -0
- package/dist/core/startIntentIntegrationQueries.js +96 -0
- package/dist/core/startIntentIntegrationQueries.js.map +1 -0
- package/dist/core/startIntentNavigationLayoutQueries.d.ts +1 -0
- package/dist/core/startIntentNavigationLayoutQueries.js +22 -0
- package/dist/core/startIntentNavigationLayoutQueries.js.map +1 -0
- package/dist/core/startIntentObservabilityQueries.d.ts +1 -0
- package/dist/core/startIntentObservabilityQueries.js +26 -0
- package/dist/core/startIntentObservabilityQueries.js.map +1 -0
- package/dist/core/startIntentReliabilityQueries.d.ts +1 -0
- package/dist/core/startIntentReliabilityQueries.js +85 -0
- package/dist/core/startIntentReliabilityQueries.js.map +1 -0
- package/dist/core/startIntentStateManagementQueries.d.ts +1 -0
- package/dist/core/startIntentStateManagementQueries.js +61 -0
- package/dist/core/startIntentStateManagementQueries.js.map +1 -0
- package/dist/core/startIntentStyleSystemQueries.d.ts +1 -0
- package/dist/core/startIntentStyleSystemQueries.js +26 -0
- package/dist/core/startIntentStyleSystemQueries.js.map +1 -0
- package/dist/core/startIntentTargetText.d.ts +2 -0
- package/dist/core/startIntentTargetText.js +9 -0
- package/dist/core/startIntentTargetText.js.map +1 -0
- package/dist/core/startIntentTargets.d.ts +10 -23
- package/dist/core/startIntentTargets.js +15 -1095
- package/dist/core/startIntentTargets.js.map +1 -1
- package/dist/core/startIntentTestDataQueries.d.ts +1 -0
- package/dist/core/startIntentTestDataQueries.js +28 -0
- package/dist/core/startIntentTestDataQueries.js.map +1 -0
- package/dist/core/startIntentToolingConfigQueries.d.ts +1 -0
- package/dist/core/startIntentToolingConfigQueries.js +31 -0
- package/dist/core/startIntentToolingConfigQueries.js.map +1 -0
- package/dist/core/startIntentUiInteractionQueries.d.ts +1 -0
- package/dist/core/startIntentUiInteractionQueries.js +71 -0
- package/dist/core/startIntentUiInteractionQueries.js.map +1 -0
- package/dist/core/startIssueTargets.d.ts +1 -0
- package/dist/core/startIssueTargets.js +19 -0
- package/dist/core/startIssueTargets.js.map +1 -0
- package/dist/core/startMissionControl.js +8 -2
- package/dist/core/startMissionControl.js.map +1 -1
- package/dist/core/startMissionPolicy.d.ts +2 -2
- package/dist/core/startMissionPolicy.js +65 -7
- package/dist/core/startMissionPolicy.js.map +1 -1
- package/dist/core/startMode.d.ts +4 -1
- package/dist/core/startMode.js +49 -9
- package/dist/core/startMode.js.map +1 -1
- package/dist/core/startOptions.d.ts +2 -2
- package/dist/core/startOptions.js +1 -1
- package/dist/core/startOptions.js.map +1 -1
- package/dist/core/startOwnershipSearchTargets.d.ts +2 -0
- package/dist/core/startOwnershipSearchTargets.js +23 -0
- package/dist/core/startOwnershipSearchTargets.js.map +1 -0
- package/dist/core/startPackageTargets.d.ts +4 -0
- package/dist/core/startPackageTargets.js +91 -0
- package/dist/core/startPackageTargets.js.map +1 -0
- package/dist/core/startPreflightRouteCriteria.d.ts +11 -0
- package/dist/core/startPreflightRouteCriteria.js +29 -0
- package/dist/core/startPreflightRouteCriteria.js.map +1 -0
- package/dist/core/startProductPlanningRouteCriteria.d.ts +8 -0
- package/dist/core/startProductPlanningRouteCriteria.js +29 -0
- package/dist/core/startProductPlanningRouteCriteria.js.map +1 -0
- package/dist/core/startQuotedTextTargets.d.ts +1 -0
- package/dist/core/startQuotedTextTargets.js +7 -0
- package/dist/core/startQuotedTextTargets.js.map +1 -0
- package/dist/core/startRegressionRouteCriteria.d.ts +3 -0
- package/dist/core/startRegressionRouteCriteria.js +62 -0
- package/dist/core/startRegressionRouteCriteria.js.map +1 -0
- package/dist/core/startReportBuilder.d.ts +1 -0
- package/dist/core/startReportBuilder.js +2 -1
- package/dist/core/startReportBuilder.js.map +1 -1
- package/dist/core/startReportContext.d.ts +1 -0
- package/dist/core/startReportContext.js +3 -0
- package/dist/core/startReportContext.js.map +1 -1
- package/dist/core/startReportScopeTargets.d.ts +1 -0
- package/dist/core/startReportScopeTargets.js +56 -0
- package/dist/core/startReportScopeTargets.js.map +1 -0
- package/dist/core/startRouteActions.js +39 -1
- package/dist/core/startRouteActions.js.map +1 -1
- package/dist/core/startShellArgs.d.ts +4 -0
- package/dist/core/startShellArgs.js +19 -0
- package/dist/core/startShellArgs.js.map +1 -0
- package/dist/core/startSuccessCriteria.d.ts +2 -3
- package/dist/core/startSuccessCriteria.js +15 -419
- package/dist/core/startSuccessCriteria.js.map +1 -1
- package/dist/core/startSymbolTargets.d.ts +2 -0
- package/dist/core/startSymbolTargets.js +28 -0
- package/dist/core/startSymbolTargets.js.map +1 -0
- package/dist/core/startTestRouteSearchTargets.d.ts +1 -0
- package/dist/core/startTestRouteSearchTargets.js +34 -0
- package/dist/core/startTestRouteSearchTargets.js.map +1 -0
- package/dist/core/startUnderstandRouteCriteria.d.ts +3 -0
- package/dist/core/startUnderstandRouteCriteria.js +97 -0
- package/dist/core/startUnderstandRouteCriteria.js.map +1 -0
- package/dist/core/telemetry.d.ts +9 -89
- package/dist/core/telemetry.js +33 -391
- package/dist/core/telemetry.js.map +1 -1
- package/dist/core/telemetryConfig.d.ts +58 -0
- package/dist/core/telemetryConfig.js +171 -0
- package/dist/core/telemetryConfig.js.map +1 -0
- package/dist/core/telemetryEvents.d.ts +57 -0
- package/dist/core/telemetryEvents.js +143 -0
- package/dist/core/telemetryEvents.js.map +1 -0
- package/dist/core/telemetryFlushing.d.ts +10 -0
- package/dist/core/telemetryFlushing.js +42 -0
- package/dist/core/telemetryFlushing.js.map +1 -0
- package/dist/core/telemetryRecording.d.ts +26 -0
- package/dist/core/telemetryRecording.js +38 -0
- package/dist/core/telemetryRecording.js.map +1 -0
- package/dist/core/telemetrySender.d.ts +9 -0
- package/dist/core/telemetrySender.js +22 -0
- package/dist/core/telemetrySender.js.map +1 -0
- package/dist/core/workplan.js +23 -11
- package/dist/core/workplan.js.map +1 -1
- package/dist/index.d.ts +4 -60
- package/dist/index.js +4 -60
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +2 -13
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/serverMessageHandling.d.ts +3 -0
- package/dist/mcp/serverMessageHandling.js +16 -0
- package/dist/mcp/serverMessageHandling.js.map +1 -0
- package/dist/mcp/toolDefinitions.d.ts +3 -0
- package/dist/mcp/toolDefinitions.js +15 -0
- package/dist/mcp/toolDefinitions.js.map +1 -0
- package/dist/mcp/tools.js +2 -12
- package/dist/mcp/tools.js.map +1 -1
- package/dist/projscan-sbom.cdx.json +6 -6
- package/dist/publicAgent.d.ts +22 -0
- package/dist/publicAgent.js +23 -0
- package/dist/publicAgent.js.map +1 -0
- package/dist/publicCore.d.ts +29 -0
- package/dist/publicCore.js +30 -0
- package/dist/publicCore.js.map +1 -0
- package/dist/publicLanguages.d.ts +1 -0
- package/dist/publicLanguages.js +2 -0
- package/dist/publicLanguages.js.map +1 -0
- package/dist/publicMcp.d.ts +8 -0
- package/dist/publicMcp.js +9 -0
- package/dist/publicMcp.js.map +1 -0
- package/dist/reporters/htmlAnalysisReporter.d.ts +3 -0
- package/dist/reporters/htmlAnalysisReporter.js +98 -0
- package/dist/reporters/htmlAnalysisReporter.js.map +1 -0
- package/dist/reporters/htmlCoverageReporter.d.ts +2 -0
- package/dist/reporters/htmlCoverageReporter.js +52 -0
- package/dist/reporters/htmlCoverageReporter.js.map +1 -0
- package/dist/reporters/htmlImpactReporter.d.ts +2 -0
- package/dist/reporters/htmlImpactReporter.js +41 -0
- package/dist/reporters/htmlImpactReporter.js.map +1 -0
- package/dist/reporters/htmlPrDiffReporter.d.ts +2 -0
- package/dist/reporters/htmlPrDiffReporter.js +84 -0
- package/dist/reporters/htmlPrDiffReporter.js.map +1 -0
- package/dist/reporters/htmlReporter.d.ts +20 -9
- package/dist/reporters/htmlReporter.js +7 -365
- package/dist/reporters/htmlReporter.js.map +1 -1
- package/dist/reporters/htmlReviewReporter.d.ts +2 -0
- package/dist/reporters/htmlReviewReporter.js +94 -0
- package/dist/reporters/htmlReviewReporter.js.map +1 -0
- package/dist/reporters/htmlShared.d.ts +7 -0
- package/dist/reporters/htmlShared.js +106 -0
- package/dist/reporters/htmlShared.js.map +1 -0
- package/dist/tool-manifest.json +2 -2
- package/dist/types/bugHunt.d.ts +1 -1
- package/dist/types/preflight.d.ts +19 -0
- package/dist/types/releaseTrain.d.ts +7 -0
- package/dist/types/start.d.ts +7 -451
- package/dist/types/startCommon.d.ts +87 -0
- package/dist/types/startCommon.js +2 -0
- package/dist/types/startCommon.js.map +1 -0
- package/dist/types/startExecution.d.ts +44 -0
- package/dist/types/startExecution.js +2 -0
- package/dist/types/startExecution.js.map +1 -0
- package/dist/types/startMissionControl.d.ts +92 -0
- package/dist/types/startMissionControl.js +2 -0
- package/dist/types/startMissionControl.js.map +1 -0
- package/dist/types/startMissionProof.d.ts +91 -0
- package/dist/types/startMissionProof.js +2 -0
- package/dist/types/startMissionProof.js.map +1 -0
- package/dist/types/startMissionResume.d.ts +100 -0
- package/dist/types/startMissionResume.js +2 -0
- package/dist/types/startMissionResume.js.map +1 -0
- package/dist/types/startMissionReview.d.ts +45 -0
- package/dist/types/startMissionReview.js +2 -0
- package/dist/types/startMissionReview.js.map +1 -0
- package/dist/types/startMissionTooling.d.ts +16 -0
- package/dist/types/startMissionTooling.js +2 -0
- package/dist/types/startMissionTooling.js.map +1 -0
- package/dist/utils/changedFiles.d.ts +1 -0
- package/dist/utils/changedFiles.js +7 -4
- package/dist/utils/changedFiles.js.map +1 -1
- package/dist/utils/fileWalker.d.ts +1 -0
- package/dist/utils/fileWalker.js +6 -1
- package/dist/utils/fileWalker.js.map +1 -1
- package/docs/GUIDE.md +55 -14
- package/docs/ROADMAP.md +42 -17
- package/docs/demos/projscan-4-1-demo.html +4 -4
- package/docs/examples/adoption-workflows.md +60 -1
- package/docs/examples/swarm-coordination.md +11 -2
- package/docs/projscan-mission-control.gif +0 -0
- package/docs/projscan-mission-control.png +0 -0
- package/docs/projscan-mission-proof.gif +0 -0
- package/docs/projscan-proof-router.png +0 -0
- package/package.json +12 -12
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export function buildStartDailyWorkflows() {
|
|
2
|
+
return [
|
|
3
|
+
{
|
|
4
|
+
id: 'before_edit',
|
|
5
|
+
name: 'Before editing a feature',
|
|
6
|
+
outcome: 'The agent starts with cited change context and a before-edit gate.',
|
|
7
|
+
commands: [
|
|
8
|
+
'projscan start --intent "what files do I need to change for auth?"',
|
|
9
|
+
'projscan understand --view change --intent "add auth token refresh" --format json',
|
|
10
|
+
'projscan preflight --mode before_edit --format json',
|
|
11
|
+
],
|
|
12
|
+
successCriteria: [
|
|
13
|
+
'Agent has cited change context before editing.',
|
|
14
|
+
'Likely touched files and read-first context are explicit.',
|
|
15
|
+
'Before-edit preflight is visible before code changes.',
|
|
16
|
+
],
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: 'before_handoff',
|
|
20
|
+
name: 'Before handoff or commit',
|
|
21
|
+
outcome: 'The reviewer sees proof commands and separated fix/review gates.',
|
|
22
|
+
commands: [
|
|
23
|
+
'projscan bug-hunt --format json',
|
|
24
|
+
'projscan preflight --mode before_commit --format json',
|
|
25
|
+
'projscan evidence-pack --pr-comment',
|
|
26
|
+
],
|
|
27
|
+
successCriteria: [
|
|
28
|
+
'Concrete fix targets and manual review gates are separated.',
|
|
29
|
+
'Reviewer-facing evidence includes exact proof commands.',
|
|
30
|
+
'The handoff does not depend on reading an agent transcript.',
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: 'release_candidate_review',
|
|
35
|
+
name: 'Release-candidate review',
|
|
36
|
+
outcome: 'Release-readiness stays read-only and separates fixes from sign-off.',
|
|
37
|
+
commands: [
|
|
38
|
+
'projscan release-train --format json',
|
|
39
|
+
'projscan preflight --mode before_merge --format json',
|
|
40
|
+
'projscan evidence-pack --pr-comment',
|
|
41
|
+
],
|
|
42
|
+
successCriteria: [
|
|
43
|
+
'Release-readiness output stays read-only.',
|
|
44
|
+
'Caution output explains whether fixes or manual sign-off are needed.',
|
|
45
|
+
'No version, publish, tag, or deploy step is implied.',
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=startDailyWorkflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startDailyWorkflows.js","sourceRoot":"","sources":["../../src/core/startDailyWorkflows.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL;YACE,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,oEAAoE;YAC7E,QAAQ,EAAE;gBACR,oEAAoE;gBACpE,mFAAmF;gBACnF,qDAAqD;aACtD;YACD,eAAe,EAAE;gBACf,gDAAgD;gBAChD,2DAA2D;gBAC3D,uDAAuD;aACxD;SACF;QACD;YACE,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,kEAAkE;YAC3E,QAAQ,EAAE;gBACR,iCAAiC;gBACjC,uDAAuD;gBACvD,qCAAqC;aACtC;YACD,eAAe,EAAE;gBACf,6DAA6D;gBAC7D,yDAAyD;gBACzD,6DAA6D;aAC9D;SACF;QACD;YACE,EAAE,EAAE,0BAA0B;YAC9B,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,sEAAsE;YAC/E,QAAQ,EAAE;gBACR,sCAAsC;gBACtC,sDAAsD;gBACtD,qCAAqC;aACtC;YACD,eAAe,EAAE;gBACf,2CAA2C;gBAC3C,sEAAsE;gBACtE,sDAAsD;aACvD;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const DEPENDENCY_LICENSE_KEYWORDS = [
|
|
2
|
+
'license',
|
|
3
|
+
'licenses',
|
|
4
|
+
'gpl',
|
|
5
|
+
'copyleft',
|
|
6
|
+
'notice',
|
|
7
|
+
'notices',
|
|
8
|
+
'third',
|
|
9
|
+
'party',
|
|
10
|
+
'open',
|
|
11
|
+
'source',
|
|
12
|
+
'compliance',
|
|
13
|
+
];
|
|
14
|
+
const DEPENDENCY_BUNDLE_KEYWORDS = [
|
|
15
|
+
'bundle',
|
|
16
|
+
'bundles',
|
|
17
|
+
'size',
|
|
18
|
+
'sizes',
|
|
19
|
+
'large',
|
|
20
|
+
'heavy',
|
|
21
|
+
'bloat',
|
|
22
|
+
'bloated',
|
|
23
|
+
'weight',
|
|
24
|
+
'footprint',
|
|
25
|
+
'reduce',
|
|
26
|
+
'slim',
|
|
27
|
+
];
|
|
28
|
+
export function dependencySuccessCriteria(route) {
|
|
29
|
+
const criteria = [];
|
|
30
|
+
if (matchesAnyKeyword(route, DEPENDENCY_LICENSE_KEYWORDS)) {
|
|
31
|
+
criteria.push('Dependency license counts, unknown licenses, and copyleft risks are reviewed before third-party notices or compliance sign-off.');
|
|
32
|
+
}
|
|
33
|
+
if (matchesAnyKeyword(route, DEPENDENCY_BUNDLE_KEYWORDS)) {
|
|
34
|
+
criteria.push('Installed package-size totals and largest packages are reviewed before bundle-size or dependency-bloat work starts.');
|
|
35
|
+
}
|
|
36
|
+
criteria.push('Declared production and development dependencies are inventoried before package changes are planned.');
|
|
37
|
+
criteria.push('Any dependency risks, workspace-specific counts, or missing lockfile signal has an owner or follow-up command.');
|
|
38
|
+
return criteria;
|
|
39
|
+
}
|
|
40
|
+
function matchesAnyKeyword(route, keywords) {
|
|
41
|
+
return route.matchedKeywords.some((keyword) => keywords.includes(keyword));
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=startDependencyRouteCriteria.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startDependencyRouteCriteria.js","sourceRoot":"","sources":["../../src/core/startDependencyRouteCriteria.ts"],"names":[],"mappings":"AAEA,MAAM,2BAA2B,GAAG;IAClC,SAAS;IACT,UAAU;IACV,KAAK;IACL,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,YAAY;CACb,CAAC;AAEF,MAAM,0BAA0B,GAAG;IACjC,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,MAAM;CACP,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,KAAwB;IAChE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,iBAAiB,CAAC,KAAK,EAAE,2BAA2B,CAAC,EAAE,CAAC;QAC1D,QAAQ,CAAC,IAAI,CACX,iIAAiI,CAClI,CAAC;IACJ,CAAC;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAE,0BAA0B,CAAC,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CACX,qHAAqH,CACtH,CAAC;IACJ,CAAC;IACD,QAAQ,CAAC,IAAI,CACX,sGAAsG,CACvG,CAAC;IACF,QAAQ,CAAC,IAAI,CACX,gHAAgH,CACjH,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAwB,EAAE,QAAkB;IACrE,OAAO,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function extractEnvVarTarget(intent: string): string | undefined;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function extractEnvVarTarget(intent) {
|
|
2
|
+
const compactIntent = intent.trim().replace(/[?!\s]+$/g, '');
|
|
3
|
+
const processMatch = compactIntent.match(/\bprocess\.env\.[A-Za-z_][A-Za-z0-9_]*\b/);
|
|
4
|
+
if (processMatch?.[0])
|
|
5
|
+
return processMatch[0];
|
|
6
|
+
const envMatch = compactIntent.match(/\b([A-Z][A-Z0-9]*_[A-Z0-9_]+)\b/);
|
|
7
|
+
return envMatch?.[1];
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=startEnvTargets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startEnvTargets.js","sourceRoot":"","sources":["../../src/core/startEnvTargets.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACrF,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACxE,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
const FILE_CRITERIA_RULES = [
|
|
2
|
+
{
|
|
3
|
+
keywords: ['risk', 'risks', 'risky', 'dangerous'],
|
|
4
|
+
criterion: 'Hotspot reasons, related issues, imports, exports, and ownership explain why the file is risky.',
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
keywords: [
|
|
8
|
+
'last',
|
|
9
|
+
'touched',
|
|
10
|
+
'touch',
|
|
11
|
+
'changed',
|
|
12
|
+
'recently',
|
|
13
|
+
'history',
|
|
14
|
+
'author',
|
|
15
|
+
'authors',
|
|
16
|
+
'blame',
|
|
17
|
+
],
|
|
18
|
+
criterion: 'Primary author, recent history, and ownership signals are reviewed before routing reviewers or changing the file.',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
keywords: ['coverage', 'covered', 'uncovered', 'test', 'tests'],
|
|
22
|
+
criterion: 'Coverage, hotspot risk, and related test evidence for the file are reviewed before editing starts.',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
matches: matchesFileTestDesignCriteria,
|
|
26
|
+
criterion: 'File purpose, risky functions, coverage, and existing test evidence are reviewed before designing a new test.',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
keywords: ['read'],
|
|
30
|
+
criterion: 'Purpose, imports, exports, ownership, tests, and risk are reviewed before changing the named file.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
keywords: ['review', 'reviewer', 'reviewers'],
|
|
34
|
+
criterion: 'Ownership, primary author, hotspot risk, and related issues are reviewed before choosing a reviewer.',
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
export function fileSuccessCriteria(route) {
|
|
38
|
+
const matched = new Set(route.matchedKeywords);
|
|
39
|
+
return [
|
|
40
|
+
...FILE_CRITERIA_RULES.filter((rule) => fileCriteriaRuleMatches(rule, matched)).map((rule) => rule.criterion),
|
|
41
|
+
'The file purpose, imports, exports, ownership, and risk are reviewed before editing starts.',
|
|
42
|
+
'Any follow-up impact, owner, or test command from the file report is added to the workplan.',
|
|
43
|
+
];
|
|
44
|
+
}
|
|
45
|
+
function fileCriteriaRuleMatches(rule, matched) {
|
|
46
|
+
if (rule.matches)
|
|
47
|
+
return rule.matches(matched);
|
|
48
|
+
return (rule.keywords ?? []).some((keyword) => matched.has(keyword));
|
|
49
|
+
}
|
|
50
|
+
function matchesFileTestDesignCriteria(matched) {
|
|
51
|
+
const explicitAuthoring = ['add', 'write'].some((keyword) => matched.has(keyword));
|
|
52
|
+
const testWithoutCoverage = matched.has('test') &&
|
|
53
|
+
!['coverage', 'covered', 'uncovered'].some((keyword) => matched.has(keyword));
|
|
54
|
+
return explicitAuthoring || testWithoutCoverage;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=startFileRouteCriteria.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startFileRouteCriteria.js","sourceRoot":"","sources":["../../src/core/startFileRouteCriteria.ts"],"names":[],"mappings":"AAQA,MAAM,mBAAmB,GAAuB;IAC9C;QACE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;QACjD,SAAS,EACP,iGAAiG;KACpG;IACD;QACE,QAAQ,EAAE;YACR,MAAM;YACN,SAAS;YACT,OAAO;YACP,SAAS;YACT,UAAU;YACV,SAAS;YACT,QAAQ;YACR,SAAS;YACT,OAAO;SACR;QACD,SAAS,EACP,mHAAmH;KACtH;IACD;QACE,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;QAC/D,SAAS,EACP,oGAAoG;KACvG;IACD;QACE,OAAO,EAAE,6BAA6B;QACtC,SAAS,EACP,+GAA+G;KAClH;IACD;QACE,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,SAAS,EACP,oGAAoG;KACvG;IACD;QACE,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC;QAC7C,SAAS,EACP,sGAAsG;KACzG;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,KAAwB;IAC1D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/C,OAAO;QACL,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CACjF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CACzB;QACD,6FAA6F;QAC7F,6FAA6F;KAC9F,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAsB,EAAE,OAAoB;IAC3E,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAoB;IACzD,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,MAAM,mBAAmB,GACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QACnB,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAChF,OAAO,iBAAiB,IAAI,mBAAmB,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { unwrapTarget } from './startIntentTargetText.js';
|
|
2
|
+
export function extractFileTarget(intent) {
|
|
3
|
+
const compactIntent = intent.trim().replace(/[?!\s]+$/g, '');
|
|
4
|
+
const wrapped = compactIntent.match(/[`'"]([^`'"]+\.[A-Za-z0-9]{1,12})[`'"]/);
|
|
5
|
+
if (wrapped?.[1] && isFilePathTarget(wrapped[1]))
|
|
6
|
+
return wrapped[1];
|
|
7
|
+
const pathMatch = compactIntent.match(/(?:^|\s)([A-Za-z0-9_./:@-]+\.[A-Za-z0-9]{1,12})(?:\s|$)/);
|
|
8
|
+
if (pathMatch?.[1] && isFilePathTarget(pathMatch[1]))
|
|
9
|
+
return unwrapTarget(pathMatch[1]);
|
|
10
|
+
const slashPathMatch = compactIntent.match(/(?:^|\s)([A-Za-z0-9_./:@-]+\/[A-Za-z0-9_./:@-]+)(?:\s|$)/);
|
|
11
|
+
if (slashPathMatch?.[1] && isFilePathTarget(slashPathMatch[1]))
|
|
12
|
+
return unwrapTarget(slashPathMatch[1]);
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
export function isFilePathTarget(target) {
|
|
16
|
+
return ((target.includes('/') || target.startsWith('.') || /\.[A-Za-z0-9]{1,12}$/.test(target)) &&
|
|
17
|
+
!/\s/.test(target));
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=startFileTargets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startFileTargets.js","sourceRoot":"","sources":["../../src/core/startFileTargets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC9E,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACjG,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAExF,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CACxC,0DAA0D,CAC3D,CAAC;IACF,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,CACL,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvF,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CACnB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FIXED_ROUTE_CRITERIA: Record<string, string[]>;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
export const FIXED_ROUTE_CRITERIA = {
|
|
2
|
+
projscan_release_train: [
|
|
3
|
+
'Release train readiness has no blockers before packaging or publishing continues.',
|
|
4
|
+
'Changelog, package, SBOM, and provenance evidence are reviewed before a release handoff.',
|
|
5
|
+
],
|
|
6
|
+
projscan_bug_hunt: [
|
|
7
|
+
'Bug-hunt findings are triaged by severity with a first fix candidate selected.',
|
|
8
|
+
'The selected fix has a runnable verification command before editing starts.',
|
|
9
|
+
],
|
|
10
|
+
projscan_workplan: [
|
|
11
|
+
'The workplan identifies the first safe implementation or review step before edits begin.',
|
|
12
|
+
'The selected action has a focused verification command before handoff.',
|
|
13
|
+
],
|
|
14
|
+
projscan_agent_brief: [
|
|
15
|
+
'The agent brief summarizes focus items, repo context, guardrails, and suggested next actions for the next developer.',
|
|
16
|
+
'The handoff includes enough proof commands for the next agent to resume without rerunning broad discovery.',
|
|
17
|
+
],
|
|
18
|
+
projscan_session: [
|
|
19
|
+
'Remembered touched files and recent session events are reviewed before resuming work.',
|
|
20
|
+
'The current worktree preflight is rerun after session context is reviewed, so stale memory does not override live risk.',
|
|
21
|
+
],
|
|
22
|
+
projscan_coordinate: [
|
|
23
|
+
'Coordination readiness, collisions, claims, and merge order are reviewed before parallel work continues.',
|
|
24
|
+
'Any conflicted files, contended claims, or merge-order blockers have an owner or follow-up command before editing resumes.',
|
|
25
|
+
],
|
|
26
|
+
projscan_privacy_check: [
|
|
27
|
+
'Telemetry state, offline mode, scan root, ignored-file handling, .env content policy, plugin execution, local writes, and network-capable endpoints are reviewed.',
|
|
28
|
+
'Any required trust-boundary change is made explicitly before broader analysis or report sharing continues.',
|
|
29
|
+
],
|
|
30
|
+
projscan_quality_scorecard: [
|
|
31
|
+
'Quality dimensions, top risks, and verification commands are reviewed before choosing the next task.',
|
|
32
|
+
'The developer knows whether health, security, tests, maintainability, or coordination needs attention first.',
|
|
33
|
+
],
|
|
34
|
+
projscan_review: [
|
|
35
|
+
'The structural PR review reports a verdict and identifies any risk that needs owner follow-up.',
|
|
36
|
+
'Review, preflight, or evidence-pack follow-up is chosen before the branch is handed to reviewers.',
|
|
37
|
+
],
|
|
38
|
+
projscan_evidence_pack: [
|
|
39
|
+
'The evidence pack produces a paste-ready PR comment with verdict, top risks, owner routing, and next commands.',
|
|
40
|
+
'The reviewer-facing comment is validated before it is shared or used for approval.',
|
|
41
|
+
],
|
|
42
|
+
projscan_analyze: [
|
|
43
|
+
'The scoped analysis, health, and CI artifacts are generated with path redaction enabled before sharing outside the repo.',
|
|
44
|
+
'The reviewer can correlate redacted-path-N labels without seeing raw repo structure.',
|
|
45
|
+
],
|
|
46
|
+
projscan_doctor: [
|
|
47
|
+
'Dead code, unused exports, lint, dependency, security, and config issues are reviewed before cleanup starts.',
|
|
48
|
+
'Any issue chosen for cleanup has a fix-suggest, impact, or verification follow-up before files are deleted.',
|
|
49
|
+
],
|
|
50
|
+
projscan_fix_suggest: [
|
|
51
|
+
'A concrete fix suggestion is produced for the selected issue id.',
|
|
52
|
+
'The suggestion names the file, fix instruction, and verification step before editing starts.',
|
|
53
|
+
],
|
|
54
|
+
projscan_explain_issue: [
|
|
55
|
+
'A deep issue explanation is produced for the selected issue id.',
|
|
56
|
+
'The explanation identifies surrounding code, related issues, similar fixes, and the next fix prompt before editing starts.',
|
|
57
|
+
],
|
|
58
|
+
projscan_pr_diff: [
|
|
59
|
+
'The structural diff is reviewed for changed exports, imports, call sites, and complexity before a full review verdict.',
|
|
60
|
+
'The developer knows which changed files or symbols need deeper review.',
|
|
61
|
+
],
|
|
62
|
+
projscan_coverage: [
|
|
63
|
+
'Coverage gaps are ranked by risk so the next test target is explicit.',
|
|
64
|
+
'The selected file has either a new test plan, an owner, or a documented reason to defer.',
|
|
65
|
+
],
|
|
66
|
+
projscan_upgrade: [
|
|
67
|
+
'The upgrade preview identifies declared version, installed version, breaking markers, and importers.',
|
|
68
|
+
'Importer files are reviewed before changing the package version.',
|
|
69
|
+
],
|
|
70
|
+
projscan_audit: [
|
|
71
|
+
'npm audit findings are reviewed for critical, high, moderate, low, and info vulnerabilities.',
|
|
72
|
+
'Any vulnerable dependency has a fix, upgrade preview, or documented deferral before the branch is trusted.',
|
|
73
|
+
],
|
|
74
|
+
projscan_workspaces: [
|
|
75
|
+
'Monorepo workspace packages are listed with names and relative paths before package-scoped work begins.',
|
|
76
|
+
'The selected workspace name is available for package-scoped follow-up commands such as hotspots, coupling, review, or audit.',
|
|
77
|
+
],
|
|
78
|
+
projscan_dataflow: [
|
|
79
|
+
'Dataflow findings are reviewed for direct, propagated, and bridge source-to-sink paths.',
|
|
80
|
+
'Any confirmed source-to-sink path has an owner, mitigation, and rerunnable verification command before editing continues.',
|
|
81
|
+
],
|
|
82
|
+
projscan_semantic_graph: [
|
|
83
|
+
'The targeted graph query answers the importer/import/export question without dumping the full graph.',
|
|
84
|
+
'Any returned files are reviewed before editing the queried file or symbol.',
|
|
85
|
+
],
|
|
86
|
+
projscan_search: [
|
|
87
|
+
'Search results identify the target files or symbols with enough confidence to choose the next tool.',
|
|
88
|
+
],
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=startFixedRouteCriteria.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startFixedRouteCriteria.js","sourceRoot":"","sources":["../../src/core/startFixedRouteCriteria.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAA6B;IAC5D,sBAAsB,EAAE;QACtB,mFAAmF;QACnF,0FAA0F;KAC3F;IACD,iBAAiB,EAAE;QACjB,gFAAgF;QAChF,6EAA6E;KAC9E;IACD,iBAAiB,EAAE;QACjB,0FAA0F;QAC1F,wEAAwE;KACzE;IACD,oBAAoB,EAAE;QACpB,sHAAsH;QACtH,4GAA4G;KAC7G;IACD,gBAAgB,EAAE;QAChB,uFAAuF;QACvF,yHAAyH;KAC1H;IACD,mBAAmB,EAAE;QACnB,0GAA0G;QAC1G,4HAA4H;KAC7H;IACD,sBAAsB,EAAE;QACtB,mKAAmK;QACnK,4GAA4G;KAC7G;IACD,0BAA0B,EAAE;QAC1B,sGAAsG;QACtG,8GAA8G;KAC/G;IACD,eAAe,EAAE;QACf,gGAAgG;QAChG,mGAAmG;KACpG;IACD,sBAAsB,EAAE;QACtB,gHAAgH;QAChH,oFAAoF;KACrF;IACD,gBAAgB,EAAE;QAChB,0HAA0H;QAC1H,sFAAsF;KACvF;IACD,eAAe,EAAE;QACf,8GAA8G;QAC9G,6GAA6G;KAC9G;IACD,oBAAoB,EAAE;QACpB,kEAAkE;QAClE,8FAA8F;KAC/F;IACD,sBAAsB,EAAE;QACtB,iEAAiE;QACjE,4HAA4H;KAC7H;IACD,gBAAgB,EAAE;QAChB,wHAAwH;QACxH,wEAAwE;KACzE;IACD,iBAAiB,EAAE;QACjB,uEAAuE;QACvE,0FAA0F;KAC3F;IACD,gBAAgB,EAAE;QAChB,sGAAsG;QACtG,kEAAkE;KACnE;IACD,cAAc,EAAE;QACd,8FAA8F;QAC9F,4GAA4G;KAC7G;IACD,mBAAmB,EAAE;QACnB,yGAAyG;QACzG,8HAA8H;KAC/H;IACD,iBAAiB,EAAE;QACjB,yFAAyF;QACzF,2HAA2H;KAC5H;IACD,uBAAuB,EAAE;QACvB,sGAAsG;QACtG,4EAA4E;KAC7E;IACD,eAAe,EAAE;QACf,qGAAqG;KACtG;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function searchQueryFromGeneratedAndConfig(trimmed: string): string | undefined;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { unwrapTarget } from './startIntentTargetText.js';
|
|
2
|
+
import { extractToolingConfigQuery } from './startIntentToolingConfigQueries.js';
|
|
3
|
+
export function searchQueryFromGeneratedAndConfig(trimmed) {
|
|
4
|
+
const generatedLookup = trimmed.match(/\b(?:show|find|locate|search(?:\s+for)?|where\s+(?:are|is)|which|what|is)\s+(?:me\s+)?(?:this\s+)?(?:the\s+)?(.+?)\s*[?!.]*$/i);
|
|
5
|
+
if (generatedLookup?.[1] && /\bgenerated\b/i.test(generatedLookup[1])) {
|
|
6
|
+
if (/\bfiles?\b/i.test(generatedLookup[1]))
|
|
7
|
+
return 'generated files';
|
|
8
|
+
if (/\bcode\b/i.test(generatedLookup[1]))
|
|
9
|
+
return 'generated code';
|
|
10
|
+
}
|
|
11
|
+
const toolingConfig = extractToolingConfigQuery(trimmed);
|
|
12
|
+
if (toolingConfig)
|
|
13
|
+
return toolingConfig;
|
|
14
|
+
const configDefinitionLookup = trimmed.match(/\bwhich\s+(?:config(?:uration)?\s+files?|files?)\s+(?:defines?|contains|sets?|configures?)\s+(.+?)\s*[?!.]*$/i);
|
|
15
|
+
if (configDefinitionLookup?.[1] && /\bconfig(?:uration)?\b/i.test(trimmed))
|
|
16
|
+
return `${unwrapTarget(configDefinitionLookup[1].trim())} config`;
|
|
17
|
+
const configLookup = trimmed.match(/\b(?:where\s+(?:is|are)|find|locate|search(?:\s+for)?|lookup|show)\s+(?:the\s+)?(.+?\bconfig(?:uration)?(?:\s+files?)?)\s*[?!.]*$/i);
|
|
18
|
+
if (configLookup?.[1])
|
|
19
|
+
return unwrapTarget(configLookup[1].trim());
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=startGeneratedConfigSearchTargets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startGeneratedConfigSearchTargets.js","sourceRoot":"","sources":["../../src/core/startGeneratedConfigSearchTargets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,MAAM,UAAU,iCAAiC,CAAC,OAAe;IAC/D,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CACnC,+HAA+H,CAChI,CAAC;IACF,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,iBAAiB,CAAC;QACrE,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,gBAAgB,CAAC;IACpE,CAAC;IACD,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IACxC,MAAM,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAC1C,+GAA+G,CAChH,CAAC;IACF,IAAI,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;QACxE,OAAO,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC;IACpE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAChC,oIAAoI,CACrI,CAAC;IACF,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GraphQueryDirection } from './graphQuery.js';
|
|
2
|
+
export type StartGraphQuery = {
|
|
3
|
+
direction: GraphQueryDirection;
|
|
4
|
+
file?: string;
|
|
5
|
+
symbol?: string;
|
|
6
|
+
limit?: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function graphQueryFromIntent(intent: string): StartGraphQuery | undefined;
|
|
9
|
+
export declare function graphQueryIsReady(query: StartGraphQuery): boolean;
|
|
10
|
+
export declare function semanticGraphCommand(query: StartGraphQuery): string;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { extractFileTarget } from './startFileTargets.js';
|
|
2
|
+
import { isPackageNameTarget, normalizePackageName } from './startPackageTargets.js';
|
|
3
|
+
import { isPlaceholder, quoteShellArg } from './startShellArgs.js';
|
|
4
|
+
import { extractSymbolTarget } from './startSymbolTargets.js';
|
|
5
|
+
export function graphQueryFromIntent(intent) {
|
|
6
|
+
const file = extractFileTarget(intent);
|
|
7
|
+
const packageName = extractGraphPackageTarget(intent);
|
|
8
|
+
const symbol = extractSymbolTarget(intent);
|
|
9
|
+
const direction = graphDirectionFromIntent(intent);
|
|
10
|
+
return direction ? graphQueryForDirection(direction, { file, packageName, symbol }) : undefined;
|
|
11
|
+
}
|
|
12
|
+
function graphQueryForDirection(direction, target) {
|
|
13
|
+
if (['imports', 'exports', 'importers'].includes(direction) && target.file)
|
|
14
|
+
return { direction, file: target.file };
|
|
15
|
+
if (direction === 'package_importers' && target.packageName)
|
|
16
|
+
return { direction, symbol: target.packageName };
|
|
17
|
+
if (['symbol_defs', 'package_importers'].includes(direction) && target.symbol)
|
|
18
|
+
return { direction, symbol: target.symbol };
|
|
19
|
+
return { direction };
|
|
20
|
+
}
|
|
21
|
+
function graphDirectionFromIntent(intent) {
|
|
22
|
+
const text = intent.toLowerCase();
|
|
23
|
+
if (!extractFileTarget(intent) && packageImporterGraphIntent(text))
|
|
24
|
+
return 'package_importers';
|
|
25
|
+
return GRAPH_DIRECTION_RULES.find((rule) => rule.pattern.test(text))?.direction;
|
|
26
|
+
}
|
|
27
|
+
const GRAPH_DIRECTION_RULES = [
|
|
28
|
+
{
|
|
29
|
+
pattern: /\b(?:who|what|which)\s+(?:files\s+)?imports?\b|\bimporters\b/,
|
|
30
|
+
direction: 'importers',
|
|
31
|
+
},
|
|
32
|
+
{ pattern: /\bexports?\b/, direction: 'exports' },
|
|
33
|
+
{ pattern: /\bimports?\b/, direction: 'imports' },
|
|
34
|
+
{ pattern: /\b(?:defined|definition|defines)\b/, direction: 'symbol_defs' },
|
|
35
|
+
];
|
|
36
|
+
function packageImporterGraphIntent(text) {
|
|
37
|
+
return [
|
|
38
|
+
/\b(?:who|what|which)\s+uses?\b/,
|
|
39
|
+
/\b(?:who|what|which)\s+depends?\s+on\b/,
|
|
40
|
+
/\bwhy\b.*\b(?:depend\s+on|depends\s+on|installed)\b/,
|
|
41
|
+
/\b(?:who|what|which)\s+(?:files\s+)?imports?\b/,
|
|
42
|
+
].some((pattern) => pattern.test(text));
|
|
43
|
+
}
|
|
44
|
+
export function graphQueryIsReady(query) {
|
|
45
|
+
if (query.direction === 'imports' ||
|
|
46
|
+
query.direction === 'exports' ||
|
|
47
|
+
query.direction === 'importers') {
|
|
48
|
+
return typeof query.file === 'string' && !isPlaceholder(query.file);
|
|
49
|
+
}
|
|
50
|
+
if (query.direction === 'symbol_defs' || query.direction === 'package_importers') {
|
|
51
|
+
return typeof query.symbol === 'string' && !isPlaceholder(query.symbol);
|
|
52
|
+
}
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
export function semanticGraphCommand(query) {
|
|
56
|
+
const parts = ['projscan semantic-graph', '--query', query.direction];
|
|
57
|
+
if (query.file)
|
|
58
|
+
parts.push('--file', isPlaceholder(query.file) ? query.file : quoteShellArg(query.file));
|
|
59
|
+
if (query.symbol)
|
|
60
|
+
parts.push('--symbol', isPlaceholder(query.symbol) ? query.symbol : quoteShellArg(query.symbol));
|
|
61
|
+
if (typeof query.limit === 'number')
|
|
62
|
+
parts.push('--limit', String(query.limit));
|
|
63
|
+
parts.push('--format', 'json');
|
|
64
|
+
return parts.join(' ');
|
|
65
|
+
}
|
|
66
|
+
function extractGraphPackageTarget(intent) {
|
|
67
|
+
const compactIntent = intent.trim().replace(/[?!\s]+$/g, '');
|
|
68
|
+
const importMatch = compactIntent.match(/\b(?:who|what|which)\s+(?:files\s+)?imports?\s+(?:(?:package|dependency)\s+)?(@?[A-Za-z0-9][\w.-]*(?:\/[A-Za-z0-9][\w.-]*)?)\b/i);
|
|
69
|
+
if (importMatch?.[1] && isPackageNameTarget(importMatch[1]))
|
|
70
|
+
return normalizePackageName(importMatch[1]);
|
|
71
|
+
const useMatch = compactIntent.match(/\b(?:who|what|which)\s+uses?\s+(?:(?:package|dependency)\s+)?(@?[A-Za-z0-9][\w.-]*(?:\/[A-Za-z0-9][\w.-]*)?)\b/i);
|
|
72
|
+
if (useMatch?.[1] && isPackageNameTarget(useMatch[1]))
|
|
73
|
+
return normalizePackageName(useMatch[1]);
|
|
74
|
+
const dependsMatch = compactIntent.match(/\b(?:who|what|which|why(?:\s+do\s+we)?)\s+depends?\s+on\s+(?:(?:package|dependency)\s+)?(@?[A-Za-z0-9][\w.-]*(?:\/[A-Za-z0-9][\w.-]*)?)\b/i);
|
|
75
|
+
if (dependsMatch?.[1] && isPackageNameTarget(dependsMatch[1]))
|
|
76
|
+
return normalizePackageName(dependsMatch[1]);
|
|
77
|
+
const installedMatch = compactIntent.match(/\bwhy\s+is\s+(@?[A-Za-z0-9][\w.-]*(?:\/[A-Za-z0-9][\w.-]*)?)\s+installed\b/i);
|
|
78
|
+
if (installedMatch?.[1] && isPackageNameTarget(installedMatch[1]))
|
|
79
|
+
return normalizePackageName(installedMatch[1]);
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=startGraphTargets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startGraphTargets.js","sourceRoot":"","sources":["../../src/core/startGraphTargets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function searchQueryFromHighPrioritySignals(trimmed: string): string | undefined;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { extractEnvVarTarget } from './startEnvTargets.js';
|
|
2
|
+
import { extractFileTarget } from './startFileTargets.js';
|
|
3
|
+
import { unwrapTarget } from './startIntentTargetText.js';
|
|
4
|
+
import { extractQuotedTextTarget } from './startQuotedTextTargets.js';
|
|
5
|
+
export function searchQueryFromHighPrioritySignals(trimmed) {
|
|
6
|
+
const file = extractFileTarget(trimmed);
|
|
7
|
+
if (file && /\b(?:where|find|locate|search)\b/i.test(trimmed) && /\btests?\b/i.test(trimmed)) {
|
|
8
|
+
return `tests for ${file}`;
|
|
9
|
+
}
|
|
10
|
+
const envVar = extractEnvVarTarget(trimmed);
|
|
11
|
+
if (envVar && /\b(?:where|find|locate|search|lookup|used|referenced|process)\b/i.test(trimmed)) {
|
|
12
|
+
return envVar;
|
|
13
|
+
}
|
|
14
|
+
const envControl = trimmed.match(/\b(?:which|what|where|find|locate|search(?:\s+for)?|lookup)\s+(?:env(?:ironment)?\s+)?(?:var|vars|variable|variables)\s+(?:controls?|configures?|sets?|for)\s+(.+?)\s*[?!.]*$/i);
|
|
15
|
+
if (envControl?.[1])
|
|
16
|
+
return `${unwrapTarget(envControl[1].trim())} env var`;
|
|
17
|
+
const quotedDebugText = extractQuotedTextTarget(trimmed);
|
|
18
|
+
if (quotedDebugText &&
|
|
19
|
+
/\b(?:error|errors|message|messages|throws?|thrown|logs?|logged|logging)\b/i.test(trimmed)) {
|
|
20
|
+
return quotedDebugText;
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=startHighPrioritySearchTargets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startHighPrioritySearchTargets.js","sourceRoot":"","sources":["../../src/core/startHighPrioritySearchTargets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,UAAU,kCAAkC,CAAC,OAAe;IAChE,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,IAAI,IAAI,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7F,OAAO,aAAa,IAAI,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,MAAM,IAAI,kEAAkE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/F,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAC9B,gLAAgL,CACjL,CAAC;IACF,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC;IAC5E,MAAM,eAAe,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACzD,IACE,eAAe;QACf,4EAA4E,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1F,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PreflightSuggestedAction } from '../types/preflight.js';
|
|
2
|
+
import type { StartRoutedIntent } from '../types/start.js';
|
|
3
|
+
export interface ImpactSuccessCriteriaInput {
|
|
4
|
+
route?: StartRoutedIntent;
|
|
5
|
+
primaryAction?: PreflightSuggestedAction;
|
|
6
|
+
}
|
|
7
|
+
export declare function impactSuccessCriteria(context: ImpactSuccessCriteriaInput): string[] | undefined;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function impactSuccessCriteria(context) {
|
|
2
|
+
if (context.route?.tool !== 'projscan_impact')
|
|
3
|
+
return undefined;
|
|
4
|
+
return [
|
|
5
|
+
...(context.primaryAction?.tool === 'projscan_search'
|
|
6
|
+
? [
|
|
7
|
+
'An exact symbol or file path is selected from search results before impact analysis continues.',
|
|
8
|
+
]
|
|
9
|
+
: []),
|
|
10
|
+
'The impact report is reviewed for direct and transitive dependents before editing starts.',
|
|
11
|
+
'Affected call sites, tests, or owners are added to the workplan before code changes begin.',
|
|
12
|
+
];
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=startImpactRouteCriteria.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startImpactRouteCriteria.js","sourceRoot":"","sources":["../../src/core/startImpactRouteCriteria.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,qBAAqB,CACnC,OAAmC;IAEnC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,KAAK,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,KAAK,iBAAiB;YACnD,CAAC,CAAC;gBACE,gGAAgG;aACjG;YACH,CAAC,CAAC,EAAE,CAAC;QACP,2FAA2F;QAC3F,4FAA4F;KAC7F,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function extractImpactTarget(intent: string): string | undefined;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { isGenericReferenceTarget, unwrapTarget } from './startIntentTargetText.js';
|
|
2
|
+
export function extractImpactTarget(intent) {
|
|
3
|
+
const compactIntent = intent.trim().replace(/[?!.\s]+$/g, '');
|
|
4
|
+
const usageMatch = compactIntent.match(/\bwhere\s+(?:is|are)\s+[`'"]?([A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)?)[`'"]?\s+(?:used|referenced|called)\b/i);
|
|
5
|
+
if (usageMatch?.[1] && !isGenericReferenceTarget(usageMatch[1]))
|
|
6
|
+
return usageMatch[1];
|
|
7
|
+
const match = compactIntent.match(/\b(?:rename|change|modify|delete|remove)\s+(?:the\s+|a\s+|an\s+)?(.+)$/i);
|
|
8
|
+
const target = unwrapTarget((match?.[1] ?? '').trim());
|
|
9
|
+
if (target.length === 0)
|
|
10
|
+
return undefined;
|
|
11
|
+
const normalized = target
|
|
12
|
+
.replace(/\s+(?:in|from|inside)\s+(?:this\s+)?(?:repo|repository|codebase)$/i, '')
|
|
13
|
+
.trim();
|
|
14
|
+
if (isGenericReferenceTarget(normalized))
|
|
15
|
+
return undefined;
|
|
16
|
+
return normalized;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=startImpactTargets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startImpactTargets.js","sourceRoot":"","sources":["../../src/core/startImpactTargets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEpF,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CACpC,8GAA8G,CAC/G,CAAC;IACF,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IAEtF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAC/B,yEAAyE,CAC1E,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM;SACtB,OAAO,CAAC,oEAAoE,EAAE,EAAE,CAAC;SACjF,IAAI,EAAE,CAAC;IACV,IAAI,wBAAwB,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3D,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function extractApiContractQuery(intent: string): string | undefined;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export function extractApiContractQuery(intent) {
|
|
2
|
+
const compactIntent = intent.trim().replace(/[?!.\s]+$/g, '');
|
|
3
|
+
return (fixedApiContractQuery(compactIntent) ??
|
|
4
|
+
apiContractFromRules(compactIntent) ??
|
|
5
|
+
graphQlSchemaQuery(compactIntent));
|
|
6
|
+
}
|
|
7
|
+
function fixedApiContractQuery(compactIntent) {
|
|
8
|
+
if (/\bopenapi\b/i.test(compactIntent) && /\bspecs?\b/i.test(compactIntent))
|
|
9
|
+
return 'OpenAPI spec';
|
|
10
|
+
if (/\bswagger\b/i.test(compactIntent) && /\bdocs?\b/i.test(compactIntent))
|
|
11
|
+
return 'Swagger docs';
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
const API_CONTRACT_RULES = [
|
|
15
|
+
{
|
|
16
|
+
pattern: /\b(?:where\s+(?:is|are)|find|locate|search(?:\s+for)?|lookup)\s+(?:the\s+)?trpc\s+routers?\s+(?:for|of|on|in)\s+(.+?)$/i,
|
|
17
|
+
suffix: 'tRPC router',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
pattern: /\b(?:which|what)\s+graphql\s+resolvers?\s+(?:handles?|for|of)\s+(.+?)$/i,
|
|
21
|
+
suffix: 'GraphQL resolver',
|
|
22
|
+
},
|
|
23
|
+
{ pattern: /\b(?:which|what)\s+(?:protobuf|proto)\s+defines?\s+(.+?)$/i, suffix: 'protobuf' },
|
|
24
|
+
{
|
|
25
|
+
pattern: /\b(?:where\s+(?:is|are)|find|locate|search(?:\s+for)?|lookup)\s+(?:the\s+)?grpc\s+clients?\s+(?:for|of|on|in)\s+(.+?)$/i,
|
|
26
|
+
suffix: 'gRPC client',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
function apiContractFromRules(compactIntent) {
|
|
30
|
+
for (const rule of API_CONTRACT_RULES) {
|
|
31
|
+
const match = compactIntent.match(rule.pattern);
|
|
32
|
+
if (match?.[1])
|
|
33
|
+
return `${unwrapTarget(match[1].trim())} ${rule.suffix}`;
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
function graphQlSchemaQuery(compactIntent) {
|
|
38
|
+
const graphqlSchema = compactIntent.match(/\b(?:where\s+(?:is|are)|find|locate|search(?:\s+for)?|lookup)\s+(?:the\s+)?graphql\s+schemas?\s*(?:for|of)?\s*(.*?)$/i);
|
|
39
|
+
if (graphqlSchema) {
|
|
40
|
+
const target = unwrapTarget((graphqlSchema[1] ?? '').trim());
|
|
41
|
+
return target ? `${target} GraphQL schema` : 'GraphQL schema';
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
function unwrapTarget(value) {
|
|
46
|
+
const trimmed = value.trim();
|
|
47
|
+
const wrapped = trimmed.match(/^([`'"])(.+)\1$/);
|
|
48
|
+
return (wrapped?.[2] ?? trimmed).trim();
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=startIntentApiContractQueries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startIntentApiContractQueries.js","sourceRoot":"","sources":["../../src/core/startIntentApiContractQueries.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC9D,OAAO,CACL,qBAAqB,CAAC,aAAa,CAAC;QACpC,oBAAoB,CAAC,aAAa,CAAC;QACnC,kBAAkB,CAAC,aAAa,CAAC,CAClC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,aAAqB;IAClD,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;QACzE,OAAO,cAAc,CAAC;IACxB,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;QAAE,OAAO,cAAc,CAAC;IAClG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,kBAAkB,GAA+C;IACrE;QACE,OAAO,EACL,yHAAyH;QAC3H,MAAM,EAAE,aAAa;KACtB;IACD;QACE,OAAO,EAAE,yEAAyE;QAClF,MAAM,EAAE,kBAAkB;KAC3B;IACD,EAAE,OAAO,EAAE,4DAA4D,EAAE,MAAM,EAAE,UAAU,EAAE;IAC7F;QACE,OAAO,EACL,yHAAyH;QAC3H,MAAM,EAAE,aAAa;KACtB;CACF,CAAC;AAEF,SAAS,oBAAoB,CAAC,aAAqB;IACjD,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,aAAqB;IAC/C,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CACvC,uHAAuH,CACxH,CAAC;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAChE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function extractAuthorizationQuery(intent: string): string | undefined;
|