projscan 4.8.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 +87 -39
- 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/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.js +1 -1
- package/dist/cli/commands/startOptionsRegistration.js.map +1 -1
- package/dist/core/adoption.js +13 -0
- package/dist/core/adoption.js.map +1 -1
- 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/frameworkAstroSources.d.ts +2 -0
- package/dist/core/frameworkAstroSources.js +71 -0
- package/dist/core/frameworkAstroSources.js.map +1 -0
- package/dist/core/frameworkSourceResolvers.js +6 -0
- package/dist/core/frameworkSourceResolvers.js.map +1 -1
- package/dist/core/frameworkSources.js +2 -0
- package/dist/core/frameworkSources.js.map +1 -1
- package/dist/core/intentRouterCatalog.js +8 -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/intentRouterKeywordWeights.js +6 -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 +2 -2
- package/dist/core/intentRouterReleaseSignals.js.map +1 -1
- 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/preflightReasons.js +35 -9
- package/dist/core/preflightReasons.js.map +1 -1
- package/dist/core/preflightReleaseScale.js +16 -5
- package/dist/core/preflightReleaseScale.js.map +1 -1
- 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/reviewVerdict.js +37 -5
- package/dist/core/reviewVerdict.js.map +1 -1
- package/dist/core/startAdoptionGaps.js +1 -1
- package/dist/core/startAdoptionGaps.js.map +1 -1
- 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/startDailyWorkflows.d.ts +2 -0
- package/dist/core/startDailyWorkflows.js +50 -0
- package/dist/core/startDailyWorkflows.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/startFileTargets.d.ts +2 -0
- package/dist/core/startFileTargets.js +19 -0
- package/dist/core/startFileTargets.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/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 -24
- package/dist/core/startIntentTargets.js +15 -1123
- 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/startMissionPolicy.d.ts +2 -2
- package/dist/core/startMissionPolicy.js +63 -7
- package/dist/core/startMissionPolicy.js.map +1 -1
- package/dist/core/startMode.d.ts +3 -1
- package/dist/core/startMode.js +39 -7
- 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/startQuotedTextTargets.d.ts +1 -0
- package/dist/core/startQuotedTextTargets.js +7 -0
- package/dist/core/startQuotedTextTargets.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/startShellArgs.d.ts +4 -0
- package/dist/core/startShellArgs.js +19 -0
- package/dist/core/startShellArgs.js.map +1 -0
- 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/workplan.js +23 -11
- package/dist/core/workplan.js.map +1 -1
- package/dist/projscan-sbom.cdx.json +6 -6
- package/dist/tool-manifest.json +2 -2
- package/dist/types/bugHunt.d.ts +1 -1
- package/dist/types/releaseTrain.d.ts +7 -0
- package/dist/types/startCommon.d.ts +8 -0
- package/dist/types/startMissionControl.d.ts +2 -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 +50 -11
- package/docs/ROADMAP.md +41 -16
- package/docs/demos/projscan-4-1-demo.html +4 -4
- package/docs/examples/adoption-workflows.md +48 -0
- 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
|
@@ -9,6 +9,13 @@ export async function computeReleaseTrain(rootPath, options = {}) {
|
|
|
9
9
|
const preflight = await computePreflight(rootPath, { mode: 'before_merge' });
|
|
10
10
|
const blockers = preflight.reasons.filter((reason) => reason.severity === 'error').length;
|
|
11
11
|
const cautions = preflight.reasons.filter((reason) => reason.severity === 'warning').length;
|
|
12
|
+
const readinessAction = resolveReleaseTrainReadinessAction({
|
|
13
|
+
verdict: preflight.verdict,
|
|
14
|
+
blockers,
|
|
15
|
+
cautions,
|
|
16
|
+
summary: preflight.summary,
|
|
17
|
+
releaseScaleDetected: preflight.evidence.releaseScale?.detected === true,
|
|
18
|
+
});
|
|
12
19
|
const tracks = lines.map(trackForLine);
|
|
13
20
|
const tasks = rankTasks([
|
|
14
21
|
...(blockers > 0
|
|
@@ -54,10 +61,11 @@ export async function computeReleaseTrain(rootPath, options = {}) {
|
|
|
54
61
|
blockers,
|
|
55
62
|
cautions,
|
|
56
63
|
summary: preflight.summary,
|
|
64
|
+
action: readinessAction,
|
|
57
65
|
},
|
|
58
66
|
tracks,
|
|
59
67
|
tasks,
|
|
60
|
-
suggestedNextActions: suggestedActions(tasks, preflight.suggestedNextActions),
|
|
68
|
+
suggestedNextActions: suggestedActions(tasks, preflight.suggestedNextActions, readinessAction),
|
|
61
69
|
};
|
|
62
70
|
}
|
|
63
71
|
function trackForLine(line) {
|
|
@@ -72,8 +80,12 @@ function tasksForTrack(track) {
|
|
|
72
80
|
return roadmapTasks;
|
|
73
81
|
return fallbackTasksForTrack(track);
|
|
74
82
|
}
|
|
75
|
-
function suggestedActions(tasks, preflightActions) {
|
|
83
|
+
function suggestedActions(tasks, preflightActions, readinessAction) {
|
|
76
84
|
return [
|
|
85
|
+
{
|
|
86
|
+
label: readinessAction.label,
|
|
87
|
+
command: readinessAction.command,
|
|
88
|
+
},
|
|
77
89
|
...tasks.slice(0, 5).map((task) => ({
|
|
78
90
|
label: task.title,
|
|
79
91
|
command: task.verification.commands[0],
|
|
@@ -81,6 +93,46 @@ function suggestedActions(tasks, preflightActions) {
|
|
|
81
93
|
...preflightActions,
|
|
82
94
|
].slice(0, 12);
|
|
83
95
|
}
|
|
96
|
+
export function resolveReleaseTrainReadinessAction(readiness) {
|
|
97
|
+
if (readiness.action)
|
|
98
|
+
return readiness.action;
|
|
99
|
+
const command = 'projscan preflight --mode before_merge --format json';
|
|
100
|
+
if (readiness.blockers > 0) {
|
|
101
|
+
return {
|
|
102
|
+
kind: 'fix-blockers',
|
|
103
|
+
label: 'Clear readiness blockers',
|
|
104
|
+
command,
|
|
105
|
+
detail: `${readiness.blockers} blocker(s) must be cleared or explicitly accepted before release review continues.`,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
if (isManualReleaseSignoff(readiness)) {
|
|
109
|
+
return {
|
|
110
|
+
kind: 'manual-signoff',
|
|
111
|
+
label: 'Manual release sign-off required',
|
|
112
|
+
command,
|
|
113
|
+
detail: 'Release-scale caution needs human sign-off; it is not a concrete defect blocker.',
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
if (readiness.cautions > 0 || readiness.verdict === 'caution') {
|
|
117
|
+
return {
|
|
118
|
+
kind: 'review-cautions',
|
|
119
|
+
label: 'Review readiness cautions',
|
|
120
|
+
command,
|
|
121
|
+
detail: `${readiness.cautions} caution(s) need review before approval.`,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
kind: 'proceed',
|
|
126
|
+
label: 'Keep release evidence fresh',
|
|
127
|
+
command,
|
|
128
|
+
detail: 'No blocking or cautionary release-train signals were found.',
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
function isManualReleaseSignoff(readiness) {
|
|
132
|
+
if (readiness.releaseScaleDetected)
|
|
133
|
+
return true;
|
|
134
|
+
return /manual release sign-off|large platform release risk/i.test(readiness.summary);
|
|
135
|
+
}
|
|
84
136
|
async function readPackageVersion(rootPath) {
|
|
85
137
|
try {
|
|
86
138
|
const raw = await fs.readFile(path.join(rootPath, 'package.json'), 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseTrain.js","sourceRoot":"","sources":["../../src/core/releaseTrain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"releaseTrain.js","sourceRoot":"","sources":["../../src/core/releaseTrain.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,8 +28,7 @@ export async function scanRepository(rootPath, options = {}) {
|
|
|
28
28
|
else {
|
|
29
29
|
const gitBoundary = await listGitVisibleFiles(rootPath);
|
|
30
30
|
if (gitBoundary) {
|
|
31
|
-
|
|
32
|
-
files = (await walkWithProjscanIgnores(rootPath, ignore)).filter((file) => visible.has(file.relativePath));
|
|
31
|
+
files = await fileEntriesFromGitVisibleFiles(rootPath, gitBoundary.files, ignore);
|
|
33
32
|
scanBoundary = {
|
|
34
33
|
source: 'git',
|
|
35
34
|
gitignoreRespected: true,
|
|
@@ -73,6 +72,10 @@ async function walkWithProjscanIgnores(rootPath, ignore) {
|
|
|
73
72
|
const patterns = ignore?.length ? [...getDefaultIgnorePatterns(), ...ignore] : undefined;
|
|
74
73
|
return walkFiles(rootPath, patterns ? { ignore: patterns } : undefined);
|
|
75
74
|
}
|
|
75
|
+
async function fileEntriesFromGitVisibleFiles(rootPath, files, ignore) {
|
|
76
|
+
const patterns = ignore?.length ? [...getDefaultIgnorePatterns(), ...ignore] : undefined;
|
|
77
|
+
return walkFiles(rootPath, patterns ? { ignore: patterns, paths: files } : { paths: files });
|
|
78
|
+
}
|
|
76
79
|
async function listGitVisibleFiles(rootPath) {
|
|
77
80
|
try {
|
|
78
81
|
await execFileAsync('git', ['rev-parse', '--is-inside-work-tree'], { cwd: rootPath });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repositoryScanner.js","sourceRoot":"","sources":["../../src/core/repositoryScanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAShD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAQvD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,UAAuB,EAAE;IAEzB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,MAAM,GACV,OAAO,CAAC,SAAS,KAAK,KAAK;QACzB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1F,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc,KAAK,IAAI;QAC/B,MAAM,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI;QACpC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,GAAG,CAAC;IAE3C,IAAI,KAAkB,CAAC;IACvB,IAAI,YAA0B,CAAC;IAE/B,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxD,YAAY,GAAG;YACb,MAAM,EAAE,MAAM;YACd,kBAAkB,EAAE,KAAK;YACzB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC,QAAQ,CAAC;SACvD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,WAAW,EAAE,CAAC;YAChB,
|
|
1
|
+
{"version":3,"file":"repositoryScanner.js","sourceRoot":"","sources":["../../src/core/repositoryScanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,17 +76,49 @@ function appendDependencySummary(summary, depChanges) {
|
|
|
76
76
|
if (depChanges.length === 0)
|
|
77
77
|
return;
|
|
78
78
|
const totals = dependencyTotals(depChanges);
|
|
79
|
-
|
|
79
|
+
const realChangeCount = totals.added + totals.removed + totals.bumped;
|
|
80
|
+
const moveCount = totals.runtimeToDev + totals.devToRuntime;
|
|
81
|
+
if (realChangeCount + moveCount === 0)
|
|
80
82
|
return;
|
|
81
|
-
summary.push(`Dependency changes:
|
|
83
|
+
summary.push(`Dependency changes: ${dependencySummaryParts(totals).join('; ')}.`);
|
|
82
84
|
}
|
|
83
85
|
function dependencyTotals(depChanges) {
|
|
84
86
|
return depChanges.reduce((acc, change) => {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
const removed = [...change.removed];
|
|
88
|
+
for (const added of change.added) {
|
|
89
|
+
const moveIndex = removed.findIndex((entry) => entry.name === added.name &&
|
|
90
|
+
entry.version === added.version &&
|
|
91
|
+
entry.kind !== added.kind);
|
|
92
|
+
if (moveIndex === -1) {
|
|
93
|
+
acc.added += 1;
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
const [movedFrom] = removed.splice(moveIndex, 1);
|
|
97
|
+
if (movedFrom.kind === 'dep' && added.kind === 'dev')
|
|
98
|
+
acc.runtimeToDev += 1;
|
|
99
|
+
if (movedFrom.kind === 'dev' && added.kind === 'dep')
|
|
100
|
+
acc.devToRuntime += 1;
|
|
101
|
+
}
|
|
102
|
+
acc.removed += removed.length;
|
|
87
103
|
acc.bumped += change.bumped.length;
|
|
88
104
|
return acc;
|
|
89
|
-
}, { added: 0, removed: 0, bumped: 0 });
|
|
105
|
+
}, { added: 0, removed: 0, bumped: 0, runtimeToDev: 0, devToRuntime: 0 });
|
|
106
|
+
}
|
|
107
|
+
function dependencySummaryParts(totals) {
|
|
108
|
+
const parts = [];
|
|
109
|
+
if (totals.added + totals.removed + totals.bumped > 0) {
|
|
110
|
+
parts.push(`+${totals.added} -${totals.removed} ~${totals.bumped}`);
|
|
111
|
+
}
|
|
112
|
+
const moves = dependencyMoveSummaryParts(totals);
|
|
113
|
+
if (moves.length > 0)
|
|
114
|
+
parts.push(`kind moves ${moves.join(', ')}`);
|
|
115
|
+
return parts;
|
|
116
|
+
}
|
|
117
|
+
function dependencyMoveSummaryParts(totals) {
|
|
118
|
+
return [
|
|
119
|
+
...(totals.runtimeToDev > 0 ? [`${totals.runtimeToDev} runtime->dev`] : []),
|
|
120
|
+
...(totals.devToRuntime > 0 ? [`${totals.devToRuntime} dev->runtime`] : []),
|
|
121
|
+
];
|
|
90
122
|
}
|
|
91
123
|
function appendManualReleaseSignOff(decision, signals) {
|
|
92
124
|
if (!isManualReleaseSignOffBlock(decision.verdict, signals))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewVerdict.js","sourceRoot":"","sources":["../../src/core/reviewVerdict.ts"],"names":[],"mappings":"AAWA,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACpC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AASrC,MAAM,UAAU,aAAa,CAC3B,YAA0B,EAC1B,SAAwB,EACxB,cAAgC,EAChC,UAAoC,EACpC,eAAuC,EACvC,aAAgC,EAChC,gBAAsC;IAEtC,MAAM,QAAQ,GAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACjD,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACtC,wBAAwB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACnD,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9C,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACpD,uBAAuB,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACtD,0BAA0B,CAAC,QAAQ,EAAE;QACnC,OAAO;QACP,SAAS;QACT,cAAc;QACd,eAAe;QACf,aAAa;QACb,gBAAgB;KACjB,CAAC,CAAC;IACH,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,YAA0B;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAyB,EAAE,OAAe;IACtE,IAAI,OAAO,IAAI,wBAAwB,EAAE,CAAC;QACxC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,sCAAsC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,wBAAwB,IAAI,CAC7F,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,OAAO,IAAI,yBAAyB,EAAE,CAAC;QACzC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtD,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,sCAAsC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,yBAAyB,IAAI,CAC9F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAyB,EAAE,SAAwB;IAC3E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACnC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,kCAAkC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,qBAAqB,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAyB,EACzB,cAAgC;IAEhC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACxC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,gDAAgD,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAyB,EAAE,aAAgC;IACvF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACvC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,MAAM,MAAM,GAAG,aAAa;SACzB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;SAChG,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,GAAG,aAAa,CAAC,MAAM,gCAAgC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CACzG,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAyB,EACzB,gBAAsC;IAEtC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC1C,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,MAAM,MAAM,GAAG,gBAAgB;SAC5B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;SAChF,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,GAAG,gBAAgB,CAAC,MAAM,mCAAmC,MAAM,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAClH,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAiB,EACjB,UAAoC;IAEpC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,
|
|
1
|
+
{"version":3,"file":"reviewVerdict.js","sourceRoot":"","sources":["../../src/core/reviewVerdict.ts"],"names":[],"mappings":"AAWA,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACpC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AASrC,MAAM,UAAU,aAAa,CAC3B,YAA0B,EAC1B,SAAwB,EACxB,cAAgC,EAChC,UAAoC,EACpC,eAAuC,EACvC,aAAgC,EAChC,gBAAsC;IAEtC,MAAM,QAAQ,GAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACjD,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACtC,wBAAwB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACnD,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC9C,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IACpD,uBAAuB,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACtD,0BAA0B,CAAC,QAAQ,EAAE;QACnC,OAAO;QACP,SAAS;QACT,cAAc;QACd,eAAe;QACf,aAAa;QACb,gBAAgB;KACjB,CAAC,CAAC;IACH,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,YAA0B;IACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAyB,EAAE,OAAe;IACtE,IAAI,OAAO,IAAI,wBAAwB,EAAE,CAAC;QACxC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,sCAAsC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,wBAAwB,IAAI,CAC7F,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,OAAO,IAAI,yBAAyB,EAAE,CAAC;QACzC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtD,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,sCAAsC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,yBAAyB,IAAI,CAC9F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAyB,EAAE,SAAwB;IAC3E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACnC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,kCAAkC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,qBAAqB,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAyB,EACzB,cAAgC;IAEhC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACxC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,gDAAgD,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAyB,EAAE,aAAgC;IACvF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACvC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,MAAM,MAAM,GAAG,aAAa;SACzB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;SAChG,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,GAAG,aAAa,CAAC,MAAM,gCAAgC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CACzG,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAyB,EACzB,gBAAsC;IAEtC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC1C,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,MAAM,MAAM,GAAG,gBAAgB;SAC5B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;SAChF,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,GAAG,gBAAgB,CAAC,MAAM,mCAAmC,MAAM,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAClH,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAiB,EACjB,UAAoC;IAEpC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACpC,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACtE,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC5D,IAAI,eAAe,GAAG,SAAS,KAAK,CAAC;QAAE,OAAO;IAC9C,OAAO,CAAC,IAAI,CAAC,uBAAuB,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAoC;IAO5D,OAAO,UAAU,CAAC,MAAM,CACtB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACd,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CACjC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;gBACzB,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBAC/B,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAC5B,CAAC;YACF,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;gBACf,SAAS;YACX,CAAC;YACD,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;gBAAE,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;YAC5E,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;gBAAE,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;QAC9E,CAAC;QACD,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;QAC9B,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CACtE,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA2C;IACzE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,KAAK,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CAAC,MAA2C;IAC7E,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAyB,EACzB,OAOC;IAED,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAAE,OAAO;IACpE,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,0JAA0J,CAC3J,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,OAAsB,EACtB,OAOC;IAED,MAAM,eAAe,GAAG;QACtB,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,cAAc;QACtB,OAAO,CAAC,eAAe;QACvB,OAAO,CAAC,aAAa;QACrB,OAAO,CAAC,gBAAgB;KACzB,CAAC;IACF,OAAO,CACL,OAAO,KAAK,OAAO;QACnB,OAAO,CAAC,OAAO,IAAI,wBAAwB;QAC3C,eAAe,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAyB,EAAE,gBAAwB;IAChF,IAAI,gBAAgB,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,oCAAoC,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,OAAsB,EAAE,MAAqB;IAC3D,MAAM,KAAK,GAAkC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC5E,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export function buildStartAdoptionGaps(diagnostics) {
|
|
2
2
|
return diagnostics
|
|
3
|
-
.filter((diagnostic) => diagnostic.status
|
|
3
|
+
.filter((diagnostic) => diagnostic.status === 'warn' || diagnostic.status === 'fail')
|
|
4
4
|
.map((diagnostic) => ({
|
|
5
5
|
id: diagnostic.id,
|
|
6
6
|
status: diagnostic.status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startAdoptionGaps.js","sourceRoot":"","sources":["../../src/core/startAdoptionGaps.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,sBAAsB,CACpC,WAAiC;IAEjC,OAAO,WAAW;SACf,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"startAdoptionGaps.js","sourceRoot":"","sources":["../../src/core/startAdoptionGaps.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,sBAAsB,CACpC,WAAiC;IAEjC,OAAO,WAAW;SACf,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC;SACpF,GAAG,CACF,CAAC,UAAU,EAAoB,EAAE,CAAC,CAAC;QACjC,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,MAAM,EAAE,UAAU,CAAC,MAAoC;QACvD,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC,CACH,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { extractFileTarget } from './startFileTargets.js';
|
|
2
|
+
import { extractSymbolTarget } from './startSymbolTargets.js';
|
|
3
|
+
export function extractClaimTarget(intent) {
|
|
4
|
+
return extractFileTarget(intent) ?? extractSymbolTarget(intent);
|
|
5
|
+
}
|
|
6
|
+
export function extractClaimAgent(intent) {
|
|
7
|
+
const compactIntent = intent.trim().replace(/[?!\s]+$/g, '');
|
|
8
|
+
const match = compactIntent.match(/\b(?:as|for|agent)\s+([A-Za-z0-9_.:@-]{2,64})\b/i);
|
|
9
|
+
const candidate = match?.[1];
|
|
10
|
+
if (!candidate || /^(?:me|myself|us|team|agent|owner)$/i.test(candidate))
|
|
11
|
+
return undefined;
|
|
12
|
+
return candidate;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=startClaimTargets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startClaimTargets.js","sourceRoot":"","sources":["../../src/core/startClaimTargets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtF,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,SAAS,IAAI,sCAAsC,CAAC,IAAI,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3F,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -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 @@
|
|
|
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,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 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":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAS9D,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClG,CAAC;AAED,SAAS,sBAAsB,CAC7B,SAA8B,EAC9B,MAAgE;IAEhE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI;QACxE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,SAAS,KAAK,mBAAmB,IAAI,MAAM,CAAC,WAAW;QACzD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IACnD,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM;QAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9C,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAc;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAC/F,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC;AAClF,CAAC;AAED,MAAM,qBAAqB,GAA+D;IACxF;QACE,OAAO,EAAE,8DAA8D;QACvE,SAAS,EAAE,WAAW;KACvB;IACD,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE;IACjD,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE;IACjD,EAAE,OAAO,EAAE,oCAAoC,EAAE,SAAS,EAAE,aAAa,EAAE;CAC5E,CAAC;AAEF,SAAS,0BAA0B,CAAC,IAAY;IAC9C,OAAO;QACL,gCAAgC;QAChC,wCAAwC;QACxC,qDAAqD;QACrD,gDAAgD;KACjD,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,IACE,KAAK,CAAC,SAAS,KAAK,SAAS;QAC7B,KAAK,CAAC,SAAS,KAAK,SAAS;QAC7B,KAAK,CAAC,SAAS,KAAK,WAAW,EAC/B,CAAC;QACD,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,aAAa,IAAI,KAAK,CAAC,SAAS,KAAK,mBAAmB,EAAE,CAAC;QACjF,OAAO,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,MAAM,KAAK,GAAG,CAAC,yBAAyB,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,IAAI;QACZ,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,IAAI,KAAK,CAAC,MAAM;QACd,KAAK,CAAC,IAAI,CACR,UAAU,EACV,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CACzE,CAAC;IACJ,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CACrC,iIAAiI,CAClI,CAAC;IACF,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAClC,iHAAiH,CAClH,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CACtC,4IAA4I,CAC7I,CAAC;IACF,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CACxC,6EAA6E,CAC9E,CAAC;IACF,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -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 @@
|
|
|
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;
|