projscan 4.9.3 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -8
- package/dist/analyzers/securityCheck.js +33 -15
- package/dist/analyzers/securityCheck.js.map +1 -1
- package/dist/analyzers/supplyChainCheck.js +9 -2
- package/dist/analyzers/supplyChainCheck.js.map +1 -1
- package/dist/cli/commands/assess.d.ts +3 -0
- package/dist/cli/commands/assess.js +143 -0
- package/dist/cli/commands/assess.js.map +1 -0
- package/dist/cli/commands/bugHunt.js +3 -1
- package/dist/cli/commands/bugHunt.js.map +1 -1
- package/dist/cli/commands/ci.js +29 -13
- package/dist/cli/commands/ci.js.map +1 -1
- package/dist/cli/commands/dogfood.js +2 -0
- package/dist/cli/commands/dogfood.js.map +1 -1
- package/dist/cli/commands/feedback.js +21 -2
- package/dist/cli/commands/feedback.js.map +1 -1
- package/dist/cli/commands/init.js +3 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/route.js +3 -2
- package/dist/cli/commands/route.js.map +1 -1
- package/dist/cli/commands/simulate.d.ts +3 -0
- package/dist/cli/commands/simulate.js +125 -0
- package/dist/cli/commands/simulate.js.map +1 -0
- package/dist/cli/registerCommands.js +4 -0
- package/dist/cli/registerCommands.js.map +1 -1
- package/dist/core/adoption.js +50 -21
- package/dist/core/adoption.js.map +1 -1
- package/dist/core/agentBrief.js +2 -1
- package/dist/core/agentBrief.js.map +1 -1
- package/dist/core/assess.d.ts +9 -0
- package/dist/core/assess.js +119 -0
- package/dist/core/assess.js.map +1 -0
- package/dist/core/bugHunt.js +51 -22
- package/dist/core/bugHunt.js.map +1 -1
- package/dist/core/bugHuntHotspotFindings.js +2 -1
- package/dist/core/bugHuntHotspotFindings.js.map +1 -1
- package/dist/core/ciGate.d.ts +10 -0
- package/dist/core/ciGate.js +21 -0
- package/dist/core/ciGate.js.map +1 -0
- package/dist/core/dogfood.d.ts +1 -0
- package/dist/core/dogfood.js +42 -20
- package/dist/core/dogfood.js.map +1 -1
- package/dist/core/dogfoodDiscovery.d.ts +8 -0
- package/dist/core/dogfoodDiscovery.js +119 -0
- package/dist/core/dogfoodDiscovery.js.map +1 -0
- package/dist/core/feedback.js +73 -5
- package/dist/core/feedback.js.map +1 -1
- package/dist/core/fileInspectionReport.js +37 -0
- package/dist/core/fileInspectionReport.js.map +1 -1
- package/dist/core/intentRouterArchitectureKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterArchitectureKeywordWeights.js +69 -0
- package/dist/core/intentRouterArchitectureKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterCatalog.js +85 -31
- package/dist/core/intentRouterCatalog.js.map +1 -1
- package/dist/core/intentRouterDependencyKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterDependencyKeywordWeights.js +100 -0
- package/dist/core/intentRouterDependencyKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterFileImpactKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterFileImpactKeywordWeights.js +92 -0
- package/dist/core/intentRouterFileImpactKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterKeywordEarlyGuards.js +8 -3
- package/dist/core/intentRouterKeywordEarlyGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordSearchGuards.js +28 -24
- package/dist/core/intentRouterKeywordSearchGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordToolGuards.js +43 -0
- package/dist/core/intentRouterKeywordToolGuards.js.map +1 -1
- package/dist/core/intentRouterKeywordWeights.js +40 -1222
- package/dist/core/intentRouterKeywordWeights.js.map +1 -1
- package/dist/core/intentRouterOperationalKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterOperationalKeywordWeights.js +203 -0
- package/dist/core/intentRouterOperationalKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterPlanningSignals.js +4 -1
- package/dist/core/intentRouterPlanningSignals.js.map +1 -1
- package/dist/core/intentRouterPrDiffKeywords.d.ts +4 -0
- package/dist/core/intentRouterPrDiffKeywords.js +64 -0
- package/dist/core/intentRouterPrDiffKeywords.js.map +1 -0
- package/dist/core/intentRouterPrDiffSignals.js +6 -0
- package/dist/core/intentRouterPrDiffSignals.js.map +1 -1
- package/dist/core/intentRouterProductImprovementSignals.d.ts +1 -0
- package/dist/core/intentRouterProductImprovementSignals.js +48 -0
- package/dist/core/intentRouterProductImprovementSignals.js.map +1 -0
- package/dist/core/intentRouterRegressionKeywordMatches.js +3 -0
- package/dist/core/intentRouterRegressionKeywordMatches.js.map +1 -1
- package/dist/core/intentRouterRegressionKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterRegressionKeywordWeights.js +118 -0
- package/dist/core/intentRouterRegressionKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterReleaseSignals.d.ts +1 -0
- package/dist/core/intentRouterReleaseSignals.js +47 -0
- package/dist/core/intentRouterReleaseSignals.js.map +1 -1
- package/dist/core/intentRouterReviewSignals.d.ts +1 -0
- package/dist/core/intentRouterReviewSignals.js +23 -1
- package/dist/core/intentRouterReviewSignals.js.map +1 -1
- package/dist/core/intentRouterSearchKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterSearchKeywordWeights.js +407 -0
- package/dist/core/intentRouterSearchKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterSecurityKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterSecurityKeywordWeights.js +50 -0
- package/dist/core/intentRouterSecurityKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterTrustFeedbackKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterTrustFeedbackKeywordWeights.js +222 -0
- package/dist/core/intentRouterTrustFeedbackKeywordWeights.js.map +1 -0
- package/dist/core/intentRouterUnderstandSignals.js +1 -0
- package/dist/core/intentRouterUnderstandSignals.js.map +1 -1
- package/dist/core/intentRouterWorkSignals.js +3 -0
- package/dist/core/intentRouterWorkSignals.js.map +1 -1
- package/dist/core/intentRouterWorkflowKeywordWeights.d.ts +1 -0
- package/dist/core/intentRouterWorkflowKeywordWeights.js +124 -0
- package/dist/core/intentRouterWorkflowKeywordWeights.js.map +1 -0
- package/dist/core/issueEngine.js +46 -2
- package/dist/core/issueEngine.js.map +1 -1
- package/dist/core/memory.d.ts +2 -0
- package/dist/core/memory.js +33 -1
- package/dist/core/memory.js.map +1 -1
- package/dist/core/preflightChangedFiles.d.ts +3 -0
- package/dist/core/preflightChangedFiles.js +13 -0
- package/dist/core/preflightChangedFiles.js.map +1 -1
- package/dist/core/preflightEvidence.d.ts +3 -0
- package/dist/core/preflightEvidence.js +3 -0
- package/dist/core/preflightEvidence.js.map +1 -1
- package/dist/core/privacy.d.ts +2 -0
- package/dist/core/privacy.js +10 -0
- package/dist/core/privacy.js.map +1 -1
- package/dist/core/proofCards.d.ts +10 -0
- package/dist/core/proofCards.js +222 -0
- package/dist/core/proofCards.js.map +1 -0
- package/dist/core/qualityScorecard.js +25 -13
- package/dist/core/qualityScorecard.js.map +1 -1
- package/dist/core/riskDelta.d.ts +19 -0
- package/dist/core/riskDelta.js +77 -0
- package/dist/core/riskDelta.js.map +1 -0
- package/dist/core/simulate.d.ts +6 -0
- package/dist/core/simulate.js +298 -0
- package/dist/core/simulate.js.map +1 -0
- package/dist/core/startEvidence.js +26 -1
- package/dist/core/startEvidence.js.map +1 -1
- package/dist/core/startFixedRouteCriteria.js +5 -0
- package/dist/core/startFixedRouteCriteria.js.map +1 -1
- package/dist/core/startInputs.d.ts +3 -0
- package/dist/core/startMissionPolicy.d.ts +1 -1
- package/dist/core/startMissionPolicy.js +18 -7
- package/dist/core/startMissionPolicy.js.map +1 -1
- package/dist/core/startMode.js +17 -4
- package/dist/core/startMode.js.map +1 -1
- package/dist/core/startReportBuilder.js +1 -1
- package/dist/core/startReportBuilder.js.map +1 -1
- package/dist/core/startReviewGate.js +26 -4
- package/dist/core/startReviewGate.js.map +1 -1
- package/dist/core/startRouteActions.js +6 -0
- package/dist/core/startRouteActions.js.map +1 -1
- package/dist/core/understand.js +60 -13
- package/dist/core/understand.js.map +1 -1
- package/dist/core/workplan.js +99 -17
- package/dist/core/workplan.js.map +1 -1
- package/dist/mcp/toolCatalog.js +4 -0
- package/dist/mcp/toolCatalog.js.map +1 -1
- package/dist/mcp/tools/assess.d.ts +2 -0
- package/dist/mcp/tools/assess.js +42 -0
- package/dist/mcp/tools/assess.js.map +1 -0
- package/dist/mcp/tools/simulate.d.ts +2 -0
- package/dist/mcp/tools/simulate.js +32 -0
- package/dist/mcp/tools/simulate.js.map +1 -0
- package/dist/projscan-sbom.cdx.json +6 -6
- package/dist/publicCore.d.ts +2 -0
- package/dist/publicCore.js +2 -0
- package/dist/publicCore.js.map +1 -1
- package/dist/reporters/ciIssueDetails.d.ts +10 -0
- package/dist/reporters/ciIssueDetails.js +37 -0
- package/dist/reporters/ciIssueDetails.js.map +1 -0
- package/dist/reporters/consoleCiReporter.d.ts +2 -1
- package/dist/reporters/consoleCiReporter.js +26 -9
- package/dist/reporters/consoleCiReporter.js.map +1 -1
- package/dist/reporters/consoleFileReporter.js +10 -0
- package/dist/reporters/consoleFileReporter.js.map +1 -1
- package/dist/reporters/consoleHealthReporter.js +3 -1
- package/dist/reporters/consoleHealthReporter.js.map +1 -1
- package/dist/reporters/jsonReporter.d.ts +2 -1
- package/dist/reporters/jsonReporter.js +17 -10
- package/dist/reporters/jsonReporter.js.map +1 -1
- package/dist/reporters/markdownFileReporter.js +11 -0
- package/dist/reporters/markdownFileReporter.js.map +1 -1
- package/dist/reporters/markdownHealthReporter.d.ts +2 -1
- package/dist/reporters/markdownHealthReporter.js +5 -5
- package/dist/reporters/markdownHealthReporter.js.map +1 -1
- package/dist/reporters/scoreBreakdownReporter.d.ts +2 -0
- package/dist/reporters/scoreBreakdownReporter.js +24 -0
- package/dist/reporters/scoreBreakdownReporter.js.map +1 -0
- package/dist/tool-manifest.json +52 -3
- package/dist/types/analysis.d.ts +21 -1
- package/dist/types/assess.d.ts +91 -0
- package/dist/types/assess.js +2 -0
- package/dist/types/assess.js.map +1 -0
- package/dist/types/bugHunt.d.ts +3 -0
- package/dist/types/config.d.ts +9 -0
- package/dist/types/dogfood.d.ts +15 -1
- package/dist/types/inspection.d.ts +3 -0
- package/dist/types/preflight.d.ts +3 -0
- package/dist/types/simulate.d.ts +41 -0
- package/dist/types/simulate.js +2 -0
- package/dist/types/simulate.js.map +1 -0
- package/dist/types/startMissionControl.d.ts +3 -0
- package/dist/types/startMissionReview.d.ts +2 -0
- package/dist/types/workplan.d.ts +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/utils/ciFailOn.d.ts +5 -0
- package/dist/utils/ciFailOn.js +12 -0
- package/dist/utils/ciFailOn.js.map +1 -0
- package/dist/utils/config.js +3 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/configBasics.d.ts +2 -0
- package/dist/utils/configBasics.js +21 -0
- package/dist/utils/configBasics.js.map +1 -1
- package/dist/utils/configIssueRules.js +64 -0
- package/dist/utils/configIssueRules.js.map +1 -1
- package/dist/utils/formatSupport.d.ts +2 -0
- package/dist/utils/formatSupport.js +2 -0
- package/dist/utils/formatSupport.js.map +1 -1
- package/dist/utils/scoreCalculator.js +77 -16
- package/dist/utils/scoreCalculator.js.map +1 -1
- package/docs/GUIDE.md +55 -7
- package/package.json +1 -1
package/dist/core/workplan.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { fixFirstFromWorkplanRisk, fixFirstFromWorkplanTask } from './fixFirst.js';
|
|
2
2
|
import { computePreflight } from './preflight.js';
|
|
3
|
+
import { computeQualityScorecard } from './qualityScorecard.js';
|
|
3
4
|
import { buildRiskNow } from './sessionResources.js';
|
|
4
5
|
import { loadOwnership } from './ownership.js';
|
|
6
|
+
import { escapeDoubleQuoted } from './startShellArgs.js';
|
|
5
7
|
const DEFAULT_MAX_TASKS = 8;
|
|
6
8
|
const MAX_TOP_RISKS = 8;
|
|
7
9
|
const MAX_COORDINATION_FILES = 20;
|
|
@@ -28,19 +30,21 @@ export async function computeWorkplan(rootPath, options = {}) {
|
|
|
28
30
|
maxChangedFiles: options.maxChangedFiles,
|
|
29
31
|
enablePlugins: options.enablePlugins,
|
|
30
32
|
});
|
|
31
|
-
const [riskNow, ownership] = await Promise.all([
|
|
33
|
+
const [riskNow, ownership, qualitySignals] = await Promise.all([
|
|
32
34
|
safeRiskNow(rootPath),
|
|
33
35
|
loadOwnership(rootPath).catch(() => undefined),
|
|
36
|
+
safeQualitySignals(rootPath, mode),
|
|
34
37
|
]);
|
|
35
38
|
const coordination = buildCoordination(preflight.verdict, riskNow.touchedFiles, riskNow.conflicts);
|
|
39
|
+
const modeFiles = unique([...coordination.touchedFiles, ...qualitySignals.files]);
|
|
36
40
|
const tasks = rankWorkplanTasks([
|
|
37
41
|
...tasksFromPreflight(preflight.reasons),
|
|
38
42
|
...tasksFromCoordination(coordination),
|
|
39
|
-
...modeTasks(mode, preflight.verdict,
|
|
43
|
+
...modeTasks(mode, preflight.verdict, modeFiles, qualitySignals.evidence),
|
|
40
44
|
]);
|
|
41
45
|
const maxTasks = normalizeMaxTasks(options.maxTasks);
|
|
42
46
|
const limitedTasks = annotateTasksWithOwners(tasks.slice(0, maxTasks), ownership);
|
|
43
|
-
const topRisks = annotateTopRisksWithOwners(buildTopRisks(preflight.reasons, coordination.conflicts), ownership);
|
|
47
|
+
const topRisks = annotateTopRisksWithOwners(buildTopRisks(preflight.reasons, coordination.conflicts, qualitySignals.topRisks), ownership);
|
|
44
48
|
const fixFirst = fixFirstFromWorkplanTask(limitedTasks[0]) ?? fixFirstFromWorkplanRisk(topRisks[0]);
|
|
45
49
|
const truncated = tasks.length > limitedTasks.length ||
|
|
46
50
|
preflight.truncated === true ||
|
|
@@ -123,6 +127,64 @@ async function safeRiskNow(rootPath) {
|
|
|
123
127
|
};
|
|
124
128
|
}
|
|
125
129
|
}
|
|
130
|
+
async function safeQualitySignals(rootPath, mode) {
|
|
131
|
+
if (mode !== 'bug_hunt')
|
|
132
|
+
return emptyQualitySignals();
|
|
133
|
+
try {
|
|
134
|
+
const report = await computeQualityScorecard(rootPath, { maxRisks: MAX_TOP_RISKS });
|
|
135
|
+
const topRisks = report.topRisks
|
|
136
|
+
.map(qualityRiskToWorkplanRisk)
|
|
137
|
+
.filter((risk) => risk !== undefined);
|
|
138
|
+
return {
|
|
139
|
+
files: unique(report.topRisks.flatMap((risk) => risk.files)),
|
|
140
|
+
evidence: topRisks.map((risk) => ({
|
|
141
|
+
source: risk.source,
|
|
142
|
+
message: risk.message,
|
|
143
|
+
...(risk.severity ? { severity: risk.severity } : {}),
|
|
144
|
+
...(risk.file ? { file: risk.file } : {}),
|
|
145
|
+
...(risk.issueId ? { issueId: risk.issueId } : {}),
|
|
146
|
+
...(risk.tool ? { tool: risk.tool } : {}),
|
|
147
|
+
})),
|
|
148
|
+
topRisks,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return emptyQualitySignals();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
function emptyQualitySignals() {
|
|
156
|
+
return { files: [], evidence: [], topRisks: [] };
|
|
157
|
+
}
|
|
158
|
+
function qualityRiskToWorkplanRisk(risk) {
|
|
159
|
+
if (risk.files.length === 0)
|
|
160
|
+
return undefined;
|
|
161
|
+
const tool = toolFromCommand(risk.command);
|
|
162
|
+
return {
|
|
163
|
+
source: workplanSourceFromQualityRisk(risk.source),
|
|
164
|
+
message: risk.title,
|
|
165
|
+
priority: risk.priority,
|
|
166
|
+
file: risk.files[0],
|
|
167
|
+
...(tool ? { tool } : {}),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
function workplanSourceFromQualityRisk(source) {
|
|
171
|
+
if (source === 'hotspot')
|
|
172
|
+
return 'hotspots';
|
|
173
|
+
if (source === 'coordination')
|
|
174
|
+
return 'coordination';
|
|
175
|
+
return 'doctor';
|
|
176
|
+
}
|
|
177
|
+
function toolFromCommand(command) {
|
|
178
|
+
if (command.startsWith('projscan file '))
|
|
179
|
+
return 'projscan_file';
|
|
180
|
+
if (command.startsWith('projscan doctor '))
|
|
181
|
+
return 'projscan_doctor';
|
|
182
|
+
if (command.startsWith('projscan session '))
|
|
183
|
+
return 'projscan_session';
|
|
184
|
+
if (command.startsWith('projscan quality-scorecard '))
|
|
185
|
+
return 'projscan_quality_scorecard';
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
126
188
|
function buildCoordination(verdict, touchedFiles, conflicts) {
|
|
127
189
|
const visibleTouched = touchedFiles.slice(0, MAX_COORDINATION_FILES);
|
|
128
190
|
let recommendedNextAgent = 'preflight agent: run the safety gate, then pick the first p0/p1 task';
|
|
@@ -266,21 +328,23 @@ function tasksFromCoordination(coordination) {
|
|
|
266
328
|
}),
|
|
267
329
|
];
|
|
268
330
|
}
|
|
269
|
-
function modeTasks(mode, verdict, touchedFiles) {
|
|
331
|
+
function modeTasks(mode, verdict, touchedFiles, qualityEvidence = []) {
|
|
270
332
|
const tasks = [];
|
|
271
333
|
if (mode === 'bug_hunt') {
|
|
334
|
+
const bugHuntFiles = unique([...touchedFiles, ...filesFromEvidence(qualityEvidence)]);
|
|
272
335
|
tasks.push(makeTask({
|
|
273
336
|
id: 'wp-bug-hunt-hotspots',
|
|
274
|
-
priority:
|
|
337
|
+
priority: 'p1',
|
|
275
338
|
title: 'Hunt bugs in the highest-risk files',
|
|
276
339
|
why: 'The fastest polish pass starts where churn, complexity, and current issues overlap instead of scanning the whole repository equally.',
|
|
277
340
|
evidence: [
|
|
341
|
+
...qualityEvidence.slice(0, 5),
|
|
278
342
|
{
|
|
279
343
|
source: 'verification',
|
|
280
344
|
message: 'bug_hunt mode prioritizes hotspots, doctor issues, and focused tests',
|
|
281
345
|
},
|
|
282
346
|
],
|
|
283
|
-
files:
|
|
347
|
+
files: bugHuntFiles,
|
|
284
348
|
suggestedTools: ['projscan_hotspots', 'projscan_file', 'projscan_doctor'],
|
|
285
349
|
commands: ['projscan hotspots --format json', 'projscan doctor --format json', 'npm test'],
|
|
286
350
|
expected: 'At least one high-risk file or issue is either fixed, covered by a focused test, or explicitly deferred with evidence.',
|
|
@@ -488,7 +552,10 @@ function reasonToEvidence(reason) {
|
|
|
488
552
|
function filesFromReasons(reasons) {
|
|
489
553
|
return unique(reasons.map((reason) => reason.file).filter((file) => typeof file === 'string'));
|
|
490
554
|
}
|
|
491
|
-
function
|
|
555
|
+
function filesFromEvidence(evidence) {
|
|
556
|
+
return unique(evidence.map((item) => item.file).filter((file) => typeof file === 'string'));
|
|
557
|
+
}
|
|
558
|
+
function buildTopRisks(reasons, conflicts, extraRisks = []) {
|
|
492
559
|
const reasonRisks = reasons.map((reason) => ({
|
|
493
560
|
...reasonToEvidence(reason),
|
|
494
561
|
priority: reason.severity === 'error' ? 'p0' : 'p1',
|
|
@@ -500,13 +567,24 @@ function buildTopRisks(reasons, conflicts) {
|
|
|
500
567
|
file: conflict.files[0],
|
|
501
568
|
priority: conflict.severity === 'error' ? 'p0' : 'p1',
|
|
502
569
|
}));
|
|
503
|
-
|
|
570
|
+
const seen = new Set();
|
|
571
|
+
return [...reasonRisks, ...conflictRisks, ...extraRisks]
|
|
572
|
+
.map((risk, index) => ({ risk, index }))
|
|
573
|
+
.filter((entry) => {
|
|
574
|
+
const { risk } = entry;
|
|
575
|
+
const key = `${risk.source}:${risk.file ?? ''}:${risk.message}`;
|
|
576
|
+
if (seen.has(key))
|
|
577
|
+
return false;
|
|
578
|
+
seen.add(key);
|
|
579
|
+
return true;
|
|
580
|
+
})
|
|
504
581
|
.sort((a, b) => {
|
|
505
|
-
const priority = priorityRank(a.priority) - priorityRank(b.priority);
|
|
582
|
+
const priority = priorityRank(a.risk.priority) - priorityRank(b.risk.priority);
|
|
506
583
|
if (priority !== 0)
|
|
507
584
|
return priority;
|
|
508
|
-
return a.
|
|
585
|
+
return a.index - b.index;
|
|
509
586
|
})
|
|
587
|
+
.map((entry) => entry.risk)
|
|
510
588
|
.slice(0, MAX_TOP_RISKS);
|
|
511
589
|
}
|
|
512
590
|
function annotateTasksWithOwners(tasks, ownership) {
|
|
@@ -552,20 +630,24 @@ function summarizeWorkplan(mode, verdict, tasks, risks) {
|
|
|
552
630
|
return `${verdict}: ${mode} workplan has ${tasks.length} task(s), starting with ${tasks[0]?.title}; ${riskText}`;
|
|
553
631
|
}
|
|
554
632
|
function taskToSuggestedActions(task) {
|
|
555
|
-
return task.suggestedTools.slice(0, 3).
|
|
633
|
+
return task.suggestedTools.slice(0, 3).flatMap((tool) => {
|
|
556
634
|
const command = commandForSuggestedTool(tool, task);
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
635
|
+
if (!command)
|
|
636
|
+
return [];
|
|
637
|
+
return [
|
|
638
|
+
{
|
|
639
|
+
label: `Use ${tool} for ${task.title}`,
|
|
640
|
+
tool: tool.startsWith('projscan_') ? tool : undefined,
|
|
641
|
+
command,
|
|
642
|
+
},
|
|
643
|
+
];
|
|
562
644
|
});
|
|
563
645
|
}
|
|
564
646
|
function commandForSuggestedTool(tool, task) {
|
|
565
647
|
if (!tool.startsWith('projscan_'))
|
|
566
648
|
return task.verification.commands[0];
|
|
567
649
|
if (tool === 'projscan_file' && task.files[0]) {
|
|
568
|
-
return `projscan file ${
|
|
650
|
+
return `projscan file "${escapeDoubleQuoted(task.files[0])}" --format json`;
|
|
569
651
|
}
|
|
570
652
|
const prefix = `projscan ${tool.slice('projscan_'.length).replace(/_/g, '-')}`;
|
|
571
653
|
return task.verification.commands.find((command) => command.startsWith(prefix));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workplan.js","sourceRoot":"","sources":["../../src/core/workplan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workplan.js","sourceRoot":"","sources":["../../src/core/workplan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAgC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAwB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA2BzD,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,cAAc,GAA4B;IAC9C,aAAa;IACb,eAAe;IACf,cAAc;IACd,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;CACZ,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,UAAkC,EAAE;IAEpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC;IAC3C,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE;QACjD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,aAAa,EAAE,OAAO,CAAC,aAAa;KACH,CAAC,CAAC;IACrC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7D,WAAW,CAAC,QAAQ,CAAC;QACrB,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAC9C,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;KACnC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,iBAAiB,CACpC,SAAS,CAAC,OAAO,EACjB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,SAAS,CAClB,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,MAAM,KAAK,GAAG,iBAAiB,CAAC;QAC9B,GAAG,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC;QACxC,GAAG,qBAAqB,CAAC,YAAY,CAAC;QACtC,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC;KAC1E,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,0BAA0B,CACzC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC,EACjF,SAAS,CACV,CAAC;IACF,MAAM,QAAQ,GACZ,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM;QAClC,SAAS,CAAC,SAAS,KAAK,IAAI;QAC5B,OAAO,CAAC,SAAS,KAAK,IAAI;QAC1B,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,sBAAsB,CAAC;IAE5D,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,IAAI;QACJ,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC;QAC3E,QAAQ;QACR,KAAK,EAAE,YAAY;QACnB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,YAAY;QACZ,oBAAoB,EAAE,aAAa,CAAC;YAClC,GAAG,SAAS,CAAC,oBAAoB;YACjC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;SAChE,CAAC;QACF,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,oBAAoB,GAAG,MAAM,CACjC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC3D,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACf,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI;QACJ,oBAAoB;QACpB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,6BAA6B,CAAC,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,MAAsB,EACtB,IAAc,EACd,oBAA8B;IAE9B,MAAM,KAAK,GAAG;QACZ,iBAAiB;QACjB,EAAE;QACF,aAAa,MAAM,CAAC,IAAI,EAAE;QAC1B,gBAAgB,MAAM,CAAC,OAAO,EAAE;QAChC,EAAE;QACF,MAAM,CAAC,OAAO;QACd,EAAE;QACF,SAAS;QACT,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC;QAC7F,EAAE;QACF,iBAAiB;QACjB,GAAG,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,IAAI,CAAC;YAC3D,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC;QAC7C,EAAE;QACF,iBAAiB;QACjB,KAAK,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE;QAC/C,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC;KACrF,CAAC;IACF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAkB;IAC7C,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAC/F,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IAC9C,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAgB;IAKzC,IAAI,CAAC;QACH,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,EAAE;oBACT,OAAO,EAAE,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;oBAChG,QAAQ,EAAE,SAAS;iBACpB;aACF;YACD,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAQD,KAAK,UAAU,kBAAkB,CAC/B,QAAgB,EAChB,IAAkB;IAElB,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,mBAAmB,EAAE,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;aAC7B,GAAG,CAAC,yBAAyB,CAAC;aAC9B,MAAM,CAAC,CAAC,IAAI,EAA2B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACjE,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5D,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC,CAAC;YACH,QAAQ;SACT,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,mBAAmB,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,yBAAyB,CAAC,IAA0B;IAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO;QACL,MAAM,EAAE,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC;QAClD,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,MAAsC;IAEtC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAC5C,IAAI,MAAM,KAAK,cAAc;QAAE,OAAO,cAAc,CAAC;IACrD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,IAAI,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,eAAe,CAAC;IACjE,IAAI,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACrE,IAAI,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAAE,OAAO,kBAAkB,CAAC;IACvE,IAAI,OAAO,CAAC,UAAU,CAAC,6BAA6B,CAAC;QAAE,OAAO,4BAA4B,CAAC;IAC3F,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAyB,EACzB,YAAsB,EACtB,SAA4B;IAE5B,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;IACrE,IAAI,oBAAoB,GAAG,sEAAsE,CAAC;IAClG,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,oBAAoB,GAAG,oEAAoE,CAAC;IAC9F,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,oBAAoB;YAClB,iFAAiF,CAAC;IACtF,CAAC;SAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,oBAAoB;YAClB,0GAA0G,CAAC;IAC/G,CAAC;IACD,OAAO;QACL,YAAY,EAAE,cAAc;QAC5B,SAAS;QACT,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA0B;IACpD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC;IACjF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACjF,KAAK,EAAE,qCAAqC;YAC5C,GAAG,EAAE,6KAA6K;YAClL,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC3C,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC;YACpC,cAAc,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;YACzD,QAAQ,EAAE,CAAC,kCAAkC,EAAE,+BAA+B,CAAC;YAC/E,QAAQ,EACN,yFAAyF;SAC5F,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CACpE,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,gBAAgB;YACpB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC5E,KAAK,EAAE,sCAAsC;YAC7C,GAAG,EAAE,iJAAiJ;YACtJ,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACtC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;YAC/B,cAAc,EAAE;gBACd,iBAAiB;gBACjB,yBAAyB;gBACzB,gBAAgB;gBAChB,mBAAmB;aACpB;YACD,QAAQ,EAAE;gBACR,+BAA+B;gBAC/B,uCAAuC;gBACvC,iCAAiC;gBACjC,sDAAsD;aACvD;YACD,QAAQ,EACN,sFAAsF;SACzF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CACrE,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,kBAAkB;YACtB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC5E,KAAK,EAAE,uCAAuC;YAC9C,GAAG,EAAE,8JAA8J;YACnK,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACtC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;YAC/B,cAAc,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;YAC3D,QAAQ,EAAE,CAAC,+BAA+B,EAAE,UAAU,CAAC;YACvD,QAAQ,EACN,4FAA4F;SAC/F,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IAC1E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,mCAAmC;YAC1C,GAAG,EAAE,uIAAuI;YAC5I,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACxC,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAAC;YACjC,cAAc,EAAE,CAAC,mBAAmB,EAAE,eAAe,CAAC;YACtD,QAAQ,EAAE,CAAC,iCAAiC,EAAE,oCAAoC,CAAC;YACnF,QAAQ,EACN,mFAAmF;SACtF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CACzE,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,cAAc;YAClB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,gCAAgC;YACvC,GAAG,EAAE,mIAAmI;YACxI,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACvC,KAAK,EAAE,EAAE;YACT,cAAc,EAAE,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;YACzD,QAAQ,EAAE,CAAC,kDAAkD,CAAC;YAC9D,QAAQ,EACN,wFAAwF;SAC3F,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAkC;IAC/D,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7F,MAAM,QAAQ,GAAuB;QACnC,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,EAAE,cAAuB;YAC/B,IAAI;YACJ,OAAO,EAAE,mBAAmB,IAAI,EAAE;SACnC,CAAC,CAAC;QACH,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,EAAE,cAAuB;YAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC;KACJ,CAAC;IACF,OAAO;QACL,QAAQ,CAAC;YACP,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC;gBAChF,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI;YACR,KAAK,EAAE,yDAAyD;YAChE,GAAG,EAAE,wGAAwG;YAC7G,QAAQ;YACR,KAAK,EAAE,YAAY,CAAC,YAAY;YAChC,cAAc,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC;YACjF,QAAQ,EAAE,CAAC,wCAAwC,EAAE,kBAAkB,CAAC;YACxE,QAAQ,EACN,wFAAwF;SAC3F,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,IAAkB,EAClB,OAAyB,EACzB,YAAsB,EACtB,kBAAsC,EAAE;IAExC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACtF,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,qCAAqC;YAC5C,GAAG,EAAE,sIAAsI;YAC3I,QAAQ,EAAE;gBACR,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9B;oBACE,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,sEAAsE;iBAChF;aACF;YACD,KAAK,EAAE,YAAY;YACnB,cAAc,EAAE,CAAC,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,CAAC;YACzE,QAAQ,EAAE,CAAC,iCAAiC,EAAE,+BAA+B,EAAE,UAAU,CAAC;YAC1F,QAAQ,EACN,wHAAwH;SAC3H,CAAC,CACH,CAAC;QACF,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,8BAA8B;YAClC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,uDAAuD;YAC9D,GAAG,EAAE,yFAAyF;YAC9F,QAAQ,EAAE;gBACR;oBACE,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,yEAAyE;iBACnF;aACF;YACD,KAAK,EAAE,YAAY;YACnB,cAAc,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;YACxD,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;YACtC,QAAQ,EACN,+FAA+F;SAClG,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,sCAAsC;YAC7C,GAAG,EAAE,mKAAmK;YACxK,QAAQ,EAAE;gBACR;oBACE,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,6EAA6E;iBACvF;aACF;YACD,KAAK,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,kCAAkC,CAAC;YAC3E,cAAc,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC;YACvD,QAAQ,EAAE,CAAC,uBAAuB,CAAC;YACnC,QAAQ,EAAE,uEAAuE;SAClF,CAAC,CACH,CAAC;QACF,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,yCAAyC;YAChD,GAAG,EAAE,gIAAgI;YACrI,QAAQ,EAAE;gBACR;oBACE,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,+DAA+D;iBACzE;aACF;YACD,KAAK,EAAE,CAAC,+BAA+B,CAAC;YACxC,cAAc,EAAE,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;YAC5D,QAAQ,EAAE,CAAC,uDAAuD,CAAC;YACnE,QAAQ,EACN,wHAAwH;SAC3H,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC3C,KAAK,EAAE,2CAA2C;YAClD,GAAG,EAAE,6FAA6F;YAClG,QAAQ,EAAE;gBACR;oBACE,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,0DAA0D;iBACpE;aACF;YACD,KAAK,EAAE,YAAY;YACnB,cAAc,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;YACxD,QAAQ,EAAE,CAAC,iCAAiC,EAAE,sCAAsC,CAAC;YACrF,QAAQ,EACN,oGAAoG;SACvG,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC3C,KAAK,EAAE,gDAAgD;YACvD,GAAG,EAAE,qHAAqH;YAC1H,QAAQ,EAAE;gBACR;oBACE,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,qEAAqE;iBAC/E;aACF;YACD,KAAK,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC;YAC5C,cAAc,EAAE;gBACd,oBAAoB;gBACpB,iBAAiB;gBACjB,yBAAyB;gBACzB,WAAW;aACZ;YACD,QAAQ,EAAE;gBACR,kCAAkC;gBAClC,uCAAuC;gBACvC,kCAAkC;aACnC;YACD,QAAQ,EACN,qGAAqG;SACxG,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC3C,KAAK,EAAE,uBAAuB;YAC9B,GAAG,EAAE,4GAA4G;YACjH,QAAQ,EAAE;gBACR;oBACE,MAAM,EAAE,cAAc;oBACtB,OAAO,EAAE,4DAA4D;iBACtE;aACF;YACD,KAAK,EAAE,YAAY;YACnB,cAAc,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;YAC/E,QAAQ,EAAE,CAAC,qDAAqD,CAAC;YACjE,QAAQ,EACN,yFAAyF;SAC5F,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CACR,QAAQ,CAAC;YACP,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC3C,KAAK,EAAE,kCAAkC;YACzC,GAAG,EAAE,mIAAmI;YACxI,QAAQ,EAAE;gBACR;oBACE,MAAM,EAAE,QAAQ;oBAChB,OAAO,EAAE,GAAG,IAAI,2DAA2D;iBAC5E;aACF;YACD,KAAK,EAAE,YAAY;YACnB,cAAc,EAAE,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,yBAAyB,CAAC;YACpF,QAAQ,EAAE;gBACR,6BAA6B,IAAI,gBAAgB;gBACjD,uCAAuC;gBACvC,UAAU;gBACV,cAAc;aACf;YACD,QAAQ,EACN,uFAAuF;SAC1F,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,KAUjB;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,gBAAgB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EACnK,aAAa,CACd,CAAC;IACF,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK;QACL,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;QAC5C,YAAY,EAAE;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB;QACD,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrE,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvF,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpC,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,qBAAqB,CAAC,QAA4B;IACzD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC;QAAE,OAAO,CAAC,CAAC;IACjE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,YAAY,CAAC,QAA0B;IAC9C,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAuB;IAC/C,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA0B;IAClD,OAAO,MAAM,CACX,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAChG,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA4B;IACrD,OAAO,MAAM,CACX,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAC7F,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAA0B,EAC1B,SAA4B,EAC5B,aAAgC,EAAE;IAElC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAE,IAAc;KAC1E,CAAC,CAAC,CAAC;IACJ,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,EAAE,cAAuB;QAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAE,IAAc;KAC5E,CAAC,CAAC,CAAC;IACJ,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC;SACrD,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAChE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAC3B,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAqB,EACrB,SAAsC;IAEtC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO;YACL,GAAG,IAAI;YACP,KAAK;YACL,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,WAAW,KAAK,GAAG,EAAE,aAAa,CAAC;SAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAwB,EACxB,SAAsC;IAEtC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,aAAa,CACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EACtE,SAAS,CACV,CAAC;QACF,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAkB,EAAE,SAA0B;IAClE,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ;SAChC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjF,OAAO,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,aAAa,CAAC,KAAe,EAAE,SAA0B;IAChE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAkB,EAClB,OAAyB,EACzB,KAAqB,EACrB,KAAwB;IAExB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,OAAO,KAAK,IAAI,oCAAoC,CAAC;IACvF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;IACnF,OAAO,GAAG,OAAO,KAAK,IAAI,iBAAiB,KAAK,CAAC,MAAM,2BAA2B,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;AACnH,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAkB;IAChD,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO;YACL;gBACE,KAAK,EAAE,OAAO,IAAI,QAAQ,IAAI,CAAC,KAAK,EAAE;gBACtC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBACrD,OAAO;aACR;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,IAAkB;IAC/D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO,kBAAkB,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;IAC/E,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,aAAa,CAAC,OAAmC;IACxD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAA+B,EAAE,CAAC;IAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAC3E,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACnF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,MAAM,CAAC,MAAgB;IAC9B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,SAAiB;IAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;AAC3D,CAAC"}
|
package/dist/mcp/toolCatalog.js
CHANGED
|
@@ -40,6 +40,8 @@ import { evidencePackTool } from './tools/evidencePack.js';
|
|
|
40
40
|
import { regressionPlanTool } from './tools/regressionPlan.js';
|
|
41
41
|
import { agentBriefTool } from './tools/agentBrief.js';
|
|
42
42
|
import { qualityScorecardTool } from './tools/qualityScorecard.js';
|
|
43
|
+
import { assessTool } from './tools/assess.js';
|
|
44
|
+
import { simulateTool } from './tools/simulate.js';
|
|
43
45
|
import { adoptionTool } from './tools/adoption.js';
|
|
44
46
|
import { startTool } from './tools/start.js';
|
|
45
47
|
import { understandTool } from './tools/understand.js';
|
|
@@ -80,6 +82,8 @@ export const mcpTools = [
|
|
|
80
82
|
regressionPlanTool,
|
|
81
83
|
agentBriefTool,
|
|
82
84
|
qualityScorecardTool,
|
|
85
|
+
assessTool,
|
|
86
|
+
simulateTool,
|
|
83
87
|
adoptionTool,
|
|
84
88
|
startTool,
|
|
85
89
|
understandTool,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolCatalog.js","sourceRoot":"","sources":["../../src/mcp/toolCatalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolCatalog.js","sourceRoot":"","sources":["../../src/mcp/toolCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { computeAssess } from '../../core/assess.js';
|
|
2
|
+
const ASSESS_MODES = new Set(['standard', 'fix-first', 'ship-readiness']);
|
|
3
|
+
export const assessTool = {
|
|
4
|
+
name: 'projscan_assess',
|
|
5
|
+
description: 'Run a proof-first engineering assessment. Returns Proof Cards with local evidence, fix-first guidance, risk delta, verification commands, and ship-readiness wording.',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
goal: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
description: 'Plain-language assessment goal. Example: "make this repo safer to ship".',
|
|
12
|
+
},
|
|
13
|
+
mode: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
description: 'Assessment mode: standard, fix-first, or ship-readiness. fix-first returns the shortest action queue.',
|
|
16
|
+
},
|
|
17
|
+
max_cards: {
|
|
18
|
+
type: 'number',
|
|
19
|
+
description: 'Maximum Proof Cards to return. Default: 5, max: 25.',
|
|
20
|
+
},
|
|
21
|
+
max_tokens: {
|
|
22
|
+
type: 'number',
|
|
23
|
+
description: 'Cap the response to roughly this many tokens.',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
handler: async (args, rootPath) => ({
|
|
28
|
+
assess: await computeAssess(rootPath, {
|
|
29
|
+
goal: typeof args.goal === 'string' ? args.goal : undefined,
|
|
30
|
+
mode: parseMode(args.mode),
|
|
31
|
+
maxCards: typeof args.max_cards === 'number' && Number.isFinite(args.max_cards)
|
|
32
|
+
? args.max_cards
|
|
33
|
+
: undefined,
|
|
34
|
+
}),
|
|
35
|
+
}),
|
|
36
|
+
};
|
|
37
|
+
function parseMode(value) {
|
|
38
|
+
return typeof value === 'string' && ASSESS_MODES.has(value)
|
|
39
|
+
? value
|
|
40
|
+
: undefined;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=assess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assess.js","sourceRoot":"","sources":["../../../src/mcp/tools/assess.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAa,CAAC,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAEtF,MAAM,CAAC,MAAM,UAAU,GAAY;IACjC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,uKAAuK;IACzK,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0EAA0E;aACxF;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,uGAAuG;aAC1G;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qDAAqD;aACnE;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+CAA+C;aAC7D;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,EAAE,MAAM,aAAa,CAAC,QAAQ,EAAE;YACpC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC3D,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B,QAAQ,EACN,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gBACnE,CAAC,CAAC,IAAI,CAAC,SAAS;gBAChB,CAAC,CAAC,SAAS;SAChB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,KAAmB,CAAC;QACvE,CAAC,CAAE,KAAoB;QACvB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { computeSimulation } from '../../core/simulate.js';
|
|
2
|
+
export const simulateTool = {
|
|
3
|
+
name: 'projscan_simulate',
|
|
4
|
+
description: 'Simulate a proposed change plan before editing. Returns likely files, tests, contracts, rollout, proof commands, and projected risk delta from local evidence.',
|
|
5
|
+
inputSchema: {
|
|
6
|
+
type: 'object',
|
|
7
|
+
properties: {
|
|
8
|
+
plan: {
|
|
9
|
+
type: 'string',
|
|
10
|
+
description: 'Plain-language change plan. Example: "split bugHunt.ts into ranking, evidence, and output modules".',
|
|
11
|
+
},
|
|
12
|
+
max_files: {
|
|
13
|
+
type: 'number',
|
|
14
|
+
description: 'Maximum likely touched files to return. Default: 5, max: 25.',
|
|
15
|
+
},
|
|
16
|
+
max_tokens: {
|
|
17
|
+
type: 'number',
|
|
18
|
+
description: 'Cap the response to roughly this many tokens.',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
required: ['plan'],
|
|
22
|
+
},
|
|
23
|
+
handler: async (args, rootPath) => ({
|
|
24
|
+
simulate: await computeSimulation(rootPath, {
|
|
25
|
+
plan: typeof args.plan === 'string' ? args.plan : '',
|
|
26
|
+
maxFiles: typeof args.max_files === 'number' && Number.isFinite(args.max_files)
|
|
27
|
+
? args.max_files
|
|
28
|
+
: undefined,
|
|
29
|
+
}),
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=simulate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/mcp/tools/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,MAAM,CAAC,MAAM,YAAY,GAAY;IACnC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,gKAAgK;IAClK,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qGAAqG;aACxG;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8DAA8D;aAC5E;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+CAA+C;aAC7D;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,QAAQ,EAAE,MAAM,iBAAiB,CAAC,QAAQ,EAAE;YAC1C,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACpD,QAAQ,EACN,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gBACnE,CAAC,CAAC,IAAI,CAAC,SAAS;gBAChB,CAAC,CAAC,SAAS;SAChB,CAAC;KACH,CAAC;CACH,CAAC"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"bomFormat": "CycloneDX",
|
|
3
3
|
"specVersion": "1.5",
|
|
4
|
-
"serialNumber": "urn:uuid:
|
|
4
|
+
"serialNumber": "urn:uuid:bd2ad4e4-033a-46f3-bbb7-1b717665131f",
|
|
5
5
|
"version": 1,
|
|
6
6
|
"metadata": {
|
|
7
|
-
"timestamp": "2026-06-
|
|
7
|
+
"timestamp": "2026-06-21T21:06:26.004Z",
|
|
8
8
|
"tools": [
|
|
9
9
|
{
|
|
10
10
|
"vendor": "projscan",
|
|
11
11
|
"name": "projscan-sbom-generator",
|
|
12
|
-
"version": "4.
|
|
12
|
+
"version": "4.11.0"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"component": {
|
|
16
16
|
"type": "application",
|
|
17
|
-
"bom-ref": "pkg:npm/projscan@4.
|
|
17
|
+
"bom-ref": "pkg:npm/projscan@4.11.0",
|
|
18
18
|
"name": "projscan",
|
|
19
|
-
"version": "4.
|
|
20
|
-
"purl": "pkg:npm/projscan@4.
|
|
19
|
+
"version": "4.11.0",
|
|
20
|
+
"purl": "pkg:npm/projscan@4.11.0"
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"components": [
|
package/dist/publicCore.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export { detectFrameworks } from './core/frameworkDetector.js';
|
|
|
4
4
|
export { analyzeDependencies } from './core/dependencyAnalyzer.js';
|
|
5
5
|
export { collectIssues } from './core/issueEngine.js';
|
|
6
6
|
export { analyzeHotspots, computeRiskScore } from './core/hotspotAnalyzer.js';
|
|
7
|
+
export { computeAssess } from './core/assess.js';
|
|
8
|
+
export { computeSimulation } from './core/simulate.js';
|
|
7
9
|
export { inspectFile } from './core/fileInspector.js';
|
|
8
10
|
export { buildImportGraph, toPackageName, isPackageUsed, filesImporting, } from './core/importGraph.js';
|
|
9
11
|
export { detectOutdated } from './core/outdatedDetector.js';
|
package/dist/publicCore.js
CHANGED
|
@@ -4,6 +4,8 @@ export { detectFrameworks } from './core/frameworkDetector.js';
|
|
|
4
4
|
export { analyzeDependencies } from './core/dependencyAnalyzer.js';
|
|
5
5
|
export { collectIssues } from './core/issueEngine.js';
|
|
6
6
|
export { analyzeHotspots, computeRiskScore } from './core/hotspotAnalyzer.js';
|
|
7
|
+
export { computeAssess } from './core/assess.js';
|
|
8
|
+
export { computeSimulation } from './core/simulate.js';
|
|
7
9
|
export { inspectFile } from './core/fileInspector.js';
|
|
8
10
|
export { buildImportGraph, toPackageName, isPackageUsed, filesImporting, } from './core/importGraph.js';
|
|
9
11
|
export { detectOutdated } from './core/outdatedDetector.js';
|
package/dist/publicCore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicCore.js","sourceRoot":"","sources":["../src/publicCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,WAAW,GAGZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAwD,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,WAAW,GAEZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EACL,KAAK,IAAI,WAAW,EACpB,OAAO,IAAI,aAAa,EACxB,KAAK,IAAI,WAAW,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"publicCore.js","sourceRoot":"","sources":["../src/publicCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAC;AAC5E,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,WAAW,GAGZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAwD,MAAM,mBAAmB,CAAC;AACvG,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,WAAW,GAEZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EACL,KAAK,IAAI,WAAW,EACpB,OAAO,IAAI,aAAa,EACxB,KAAK,IAAI,WAAW,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Issue, IssueLocation } from '../types.js';
|
|
2
|
+
export interface CiIssueDetail extends Issue {
|
|
3
|
+
ruleId: string;
|
|
4
|
+
message: string;
|
|
5
|
+
location?: IssueLocation;
|
|
6
|
+
remediation?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function toCiIssueDetail(issue: Issue): CiIssueDetail;
|
|
9
|
+
export declare function issueRemediation(issue: Issue): string | undefined;
|
|
10
|
+
export declare function formatIssueLocations(issue: Issue, maxLocations?: number): string | undefined;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export function toCiIssueDetail(issue) {
|
|
2
|
+
const location = primaryLocation(issue);
|
|
3
|
+
const remediation = issueRemediation(issue);
|
|
4
|
+
return {
|
|
5
|
+
...issue,
|
|
6
|
+
ruleId: issue.id,
|
|
7
|
+
message: issue.description,
|
|
8
|
+
...(location ? { location } : {}),
|
|
9
|
+
...(remediation ? { remediation } : {}),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function issueRemediation(issue) {
|
|
13
|
+
if (issue.suggestedAction?.summary)
|
|
14
|
+
return issue.suggestedAction.summary;
|
|
15
|
+
if (issue.fixId)
|
|
16
|
+
return `Run projscan fix --id ${issue.fixId}.`;
|
|
17
|
+
if (issue.fixAvailable)
|
|
18
|
+
return 'A projscan fix is available for this issue.';
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
export function formatIssueLocations(issue, maxLocations = 6) {
|
|
22
|
+
const locations = issue.locations ?? [];
|
|
23
|
+
if (locations.length === 0)
|
|
24
|
+
return undefined;
|
|
25
|
+
const shown = locations.slice(0, maxLocations).map(formatLocation);
|
|
26
|
+
const overflow = locations.length - shown.length;
|
|
27
|
+
return overflow > 0 ? `${shown.join(', ')} (+${overflow} more)` : shown.join(', ');
|
|
28
|
+
}
|
|
29
|
+
function primaryLocation(issue) {
|
|
30
|
+
return issue.locations?.find((location) => typeof location.line === 'number') ?? issue.locations?.[0];
|
|
31
|
+
}
|
|
32
|
+
function formatLocation(location) {
|
|
33
|
+
const line = typeof location.line === 'number' ? `:${location.line}` : '';
|
|
34
|
+
const column = typeof location.column === 'number' ? `:${location.column}` : '';
|
|
35
|
+
return `${location.file}${line}${column}`;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=ciIssueDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ciIssueDetails.js","sourceRoot":"","sources":["../../src/reporters/ciIssueDetails.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO;QACL,GAAG,KAAK;QACR,MAAM,EAAE,KAAK,CAAC,EAAE;QAChB,OAAO,EAAE,KAAK,CAAC,WAAW;QAC1B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAY;IAC3C,IAAI,KAAK,CAAC,eAAe,EAAE,OAAO;QAAE,OAAO,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC;IACzE,IAAI,KAAK,CAAC,KAAK;QAAE,OAAO,yBAAyB,KAAK,CAAC,KAAK,GAAG,CAAC;IAChE,IAAI,KAAK,CAAC,YAAY;QAAE,OAAO,6CAA6C,CAAC;IAC7E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAY,EAAE,YAAY,GAAG,CAAC;IACjE,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IACxC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACjD,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,QAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,eAAe,CAAC,KAAY;IACnC,OAAO,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,cAAc,CAAC,QAAuB;IAC7C,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,OAAO,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC;AAC5C,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import type { Issue } from '../types.js';
|
|
2
|
-
|
|
2
|
+
import type { CiFailOnSeverity } from '../types/config.js';
|
|
3
|
+
export declare function reportCi(issues: Issue[], threshold: number, failOn?: CiFailOnSeverity): void;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import {
|
|
2
|
+
import { evaluateCiGate } from '../core/ciGate.js';
|
|
3
|
+
import { ciFailOnLabel } from '../utils/ciFailOn.js';
|
|
4
|
+
import { formatIssueLocations, issueRemediation } from './ciIssueDetails.js';
|
|
5
|
+
import { printScoreBreakdown } from './scoreBreakdownReporter.js';
|
|
3
6
|
function severityIcon(severity) {
|
|
4
7
|
switch (severity) {
|
|
5
8
|
case 'error':
|
|
@@ -12,15 +15,29 @@ function severityIcon(severity) {
|
|
|
12
15
|
return chalk.dim('·');
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
|
-
export function reportCi(issues, threshold) {
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
export function reportCi(issues, threshold, failOn) {
|
|
19
|
+
const gate = evaluateCiGate(issues, threshold, failOn);
|
|
20
|
+
const status = gate.pass ? chalk.green('PASS') : chalk.red('FAIL');
|
|
21
|
+
const gradeColor = gate.grade === 'A' || gate.grade === 'B'
|
|
22
|
+
? chalk.green
|
|
23
|
+
: gate.grade === 'C'
|
|
24
|
+
? chalk.yellow
|
|
25
|
+
: chalk.red;
|
|
26
|
+
console.log(`projscan: ${gradeColor(chalk.bold(`${gate.grade} (${gate.score}/100)`))} - ${gate.errors} error${gate.errors !== 1 ? 's' : ''}, ${gate.warnings} warning${gate.warnings !== 1 ? 's' : ''}, ${gate.infos} info - ${status} (threshold: ${threshold}, failOn: ${gate.failOn})`);
|
|
27
|
+
printScoreBreakdown(gate.scoreBreakdown);
|
|
28
|
+
if (!gate.scorePass && gate.pass) {
|
|
29
|
+
console.log(` ${chalk.dim(`score is below threshold, but no ${ciFailOnLabel(gate.failOn)} findings were found`)}`);
|
|
30
|
+
}
|
|
31
|
+
if (!gate.pass) {
|
|
22
32
|
for (const issue of issues) {
|
|
23
|
-
console.log(` ${severityIcon(issue.severity)} ${issue.title}`);
|
|
33
|
+
console.log(` ${severityIcon(issue.severity)} ${issue.title} ${chalk.dim(`(${issue.id})`)}`);
|
|
34
|
+
const locations = formatIssueLocations(issue);
|
|
35
|
+
if (locations)
|
|
36
|
+
console.log(` ${chalk.dim('where:')} ${locations}`);
|
|
37
|
+
console.log(` ${chalk.dim('message:')} ${issue.description}`);
|
|
38
|
+
const remediation = issueRemediation(issue);
|
|
39
|
+
if (remediation)
|
|
40
|
+
console.log(` ${chalk.dim('remediation:')} ${remediation}`);
|
|
24
41
|
}
|
|
25
42
|
}
|
|
26
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleCiReporter.js","sourceRoot":"","sources":["../../src/reporters/consoleCiReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"consoleCiReporter.js","sourceRoot":"","sources":["../../src/reporters/consoleCiReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,SAAS,YAAY,CAAC,QAAgB;IACpC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB;YACE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,MAAe,EACf,SAAiB,EACjB,MAAyB;IAEzB,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,UAAU,GACd,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG;QACtC,CAAC,CAAC,KAAK,CAAC,KAAK;QACb,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG;YAClB,CAAC,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAElB,OAAO,CAAC,GAAG,CACT,aAAa,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,WAAW,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,WAAW,MAAM,gBAAgB,SAAS,aAAa,IAAI,CAAC,MAAM,GAAG,CAC9Q,CAAC;IACF,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,GAAG,CAAC,oCAAoC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9F,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YACjE,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,WAAW;gBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;AACH,CAAC"}
|