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
|
@@ -12,6 +12,7 @@ export function reportFileInspection(insp) {
|
|
|
12
12
|
printFileImports(insp);
|
|
13
13
|
printFileExports(insp);
|
|
14
14
|
printFileFunctions(insp);
|
|
15
|
+
printFileSuggestedActions(insp);
|
|
15
16
|
console.log('');
|
|
16
17
|
}
|
|
17
18
|
function header(title) {
|
|
@@ -119,6 +120,15 @@ function printFileFunctions(insp) {
|
|
|
119
120
|
console.log(chalk.dim(` ... and ${insp.functions.length - 10} more`));
|
|
120
121
|
}
|
|
121
122
|
}
|
|
123
|
+
function printFileSuggestedActions(insp) {
|
|
124
|
+
if (!insp.suggestedNextActions || insp.suggestedNextActions.length === 0)
|
|
125
|
+
return;
|
|
126
|
+
console.log(header('Next Actions'));
|
|
127
|
+
for (const action of insp.suggestedNextActions) {
|
|
128
|
+
const command = action.command ? ` ${chalk.dim(action.command)}` : '';
|
|
129
|
+
console.log(` ${chalk.dim('•')} ${chalk.bold(action.label)}${command}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
122
132
|
function formatSize(bytes) {
|
|
123
133
|
if (bytes < 1024)
|
|
124
134
|
return `${bytes} B`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleFileReporter.js","sourceRoot":"","sources":["../../src/reporters/consoleFileReporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consoleFileReporter.js","sourceRoot":"","sources":["../../src/reporters/consoleFileReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { calculateScore } from '../utils/scoreCalculator.js';
|
|
3
|
+
import { printScoreBreakdown } from './scoreBreakdownReporter.js';
|
|
3
4
|
export function reportHealth(issues, scanTimeMsOrOptions) {
|
|
4
5
|
const opts = normalizeHealthOptions(scanTimeMsOrOptions);
|
|
5
6
|
console.log(header('Project Health Report'));
|
|
@@ -45,9 +46,10 @@ function gradeColor(grade) {
|
|
|
45
46
|
return chalk.red;
|
|
46
47
|
}
|
|
47
48
|
function printHealthScore(issues) {
|
|
48
|
-
const { score, grade } = calculateScore(issues);
|
|
49
|
+
const { score, grade, scoreBreakdown } = calculateScore(issues);
|
|
49
50
|
const color = gradeColor(grade);
|
|
50
51
|
console.log(`\n Health Score: ${color(chalk.bold(`${grade} (${score}/100)`))}`);
|
|
52
|
+
printScoreBreakdown(scoreBreakdown);
|
|
51
53
|
}
|
|
52
54
|
function printNoIssues() {
|
|
53
55
|
console.log(` ${chalk.green('✓')} ${chalk.bold('No issues detected!')} Your project looks healthy.\n`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleHealthReporter.js","sourceRoot":"","sources":["../../src/reporters/consoleHealthReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"consoleHealthReporter.js","sourceRoot":"","sources":["../../src/reporters/consoleHealthReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { AnalysisReport, AuditReport, CoverageJoinedReport, CouplingReport, Issue, FileExplanation, FileInspection, ArchitectureLayer, DirectoryNode, DependencyReport, DiffResult, HotspotReport, OutdatedReport, PrDiffReport, FixSuggestion, ImpactReport, IssueExplanation, UpgradePreview, WorkspaceInfo } from '../types.js';
|
|
2
2
|
import type { ReportControlsMetadata } from '../core/reportScope.js';
|
|
3
3
|
import type { ReviewReport } from '../types/review.js';
|
|
4
|
+
import type { CiFailOnSeverity } from '../types/config.js';
|
|
4
5
|
export declare const CLI_JSON_SCHEMA_VERSION = 2;
|
|
5
6
|
export declare function reportAnalysisJson(report: AnalysisReport, reportControls?: ReportControlsMetadata): void;
|
|
6
7
|
export declare function reportHealthJson(issues: Issue[], reportControls?: ReportControlsMetadata): void;
|
|
7
|
-
export declare function reportCiJson(issues: Issue[], threshold: number, reportControls?: ReportControlsMetadata): void;
|
|
8
|
+
export declare function reportCiJson(issues: Issue[], threshold: number, reportControls?: ReportControlsMetadata, failOn?: CiFailOnSeverity): void;
|
|
8
9
|
export declare function reportDiffJson(diff: DiffResult): void;
|
|
9
10
|
export declare function reportExplanationJson(explanation: FileExplanation): void;
|
|
10
11
|
export declare function reportDiagramJson(layers: ArchitectureLayer[]): void;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { evaluateCiGate } from '../core/ciGate.js';
|
|
1
2
|
import { calculateScore } from '../utils/scoreCalculator.js';
|
|
3
|
+
import { toCiIssueDetail } from './ciIssueDetails.js';
|
|
2
4
|
export const CLI_JSON_SCHEMA_VERSION = 2;
|
|
3
5
|
function emitJson(payload) {
|
|
4
6
|
console.log(JSON.stringify({ schemaVersion: CLI_JSON_SCHEMA_VERSION, ...payload }, null, 2));
|
|
@@ -10,7 +12,7 @@ export function reportAnalysisJson(report, reportControls) {
|
|
|
10
12
|
});
|
|
11
13
|
}
|
|
12
14
|
export function reportHealthJson(issues, reportControls) {
|
|
13
|
-
const { score, grade, errors, warnings, infos } = calculateScore(issues);
|
|
15
|
+
const { score, grade, errors, warnings, infos, scoreBreakdown } = calculateScore(issues);
|
|
14
16
|
console.log(JSON.stringify({
|
|
15
17
|
schemaVersion: CLI_JSON_SCHEMA_VERSION,
|
|
16
18
|
...(reportControls ? { reportControls } : {}),
|
|
@@ -21,25 +23,30 @@ export function reportHealthJson(issues, reportControls) {
|
|
|
21
23
|
errors,
|
|
22
24
|
warnings,
|
|
23
25
|
info: infos,
|
|
26
|
+
scoreBreakdown,
|
|
24
27
|
issues,
|
|
25
28
|
},
|
|
26
29
|
}, null, 2));
|
|
27
30
|
}
|
|
28
|
-
export function reportCiJson(issues, threshold, reportControls) {
|
|
29
|
-
const
|
|
31
|
+
export function reportCiJson(issues, threshold, reportControls, failOn) {
|
|
32
|
+
const gate = evaluateCiGate(issues, threshold, failOn);
|
|
30
33
|
console.log(JSON.stringify({
|
|
31
34
|
schemaVersion: CLI_JSON_SCHEMA_VERSION,
|
|
32
35
|
...(reportControls ? { reportControls } : {}),
|
|
33
36
|
ci: {
|
|
34
|
-
score,
|
|
35
|
-
grade,
|
|
36
|
-
pass:
|
|
37
|
+
score: gate.score,
|
|
38
|
+
grade: gate.grade,
|
|
39
|
+
pass: gate.pass,
|
|
37
40
|
threshold,
|
|
41
|
+
failOn: gate.failOn,
|
|
42
|
+
scorePass: gate.scorePass,
|
|
43
|
+
severityFloorMet: gate.severityFloorMet,
|
|
38
44
|
totalIssues: issues.length,
|
|
39
|
-
errors,
|
|
40
|
-
warnings,
|
|
41
|
-
info: infos,
|
|
42
|
-
|
|
45
|
+
errors: gate.errors,
|
|
46
|
+
warnings: gate.warnings,
|
|
47
|
+
info: gate.infos,
|
|
48
|
+
scoreBreakdown: gate.scoreBreakdown,
|
|
49
|
+
issues: issues.map(toCiIssueDetail),
|
|
43
50
|
},
|
|
44
51
|
}, null, 2));
|
|
45
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonReporter.js","sourceRoot":"","sources":["../../src/reporters/jsonReporter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jsonReporter.js","sourceRoot":"","sources":["../../src/reporters/jsonReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export function reportFileMarkdown(insp) {
|
|
|
12
12
|
appendFileImports(lines, insp);
|
|
13
13
|
appendFileExports(lines, insp);
|
|
14
14
|
appendFileFunctions(lines, insp);
|
|
15
|
+
appendFileSuggestedActions(lines, insp);
|
|
15
16
|
console.log(lines.join('\n'));
|
|
16
17
|
}
|
|
17
18
|
function appendFileSummary(lines, insp) {
|
|
@@ -89,4 +90,14 @@ function appendFileFunctions(lines, insp) {
|
|
|
89
90
|
lines.push('', `_... and ${insp.functions.length - 20} more_`);
|
|
90
91
|
}
|
|
91
92
|
}
|
|
93
|
+
function appendFileSuggestedActions(lines, insp) {
|
|
94
|
+
if (!insp.suggestedNextActions || insp.suggestedNextActions.length === 0)
|
|
95
|
+
return;
|
|
96
|
+
lines.push('', '## Next Actions', '');
|
|
97
|
+
for (const action of insp.suggestedNextActions) {
|
|
98
|
+
lines.push(action.command
|
|
99
|
+
? `- **${action.label}:** \`${action.command}\``
|
|
100
|
+
: `- **${action.label}**`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
92
103
|
//# sourceMappingURL=markdownFileReporter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownFileReporter.js","sourceRoot":"","sources":["../../src/reporters/markdownFileReporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdownFileReporter.js","sourceRoot":"","sources":["../../src/reporters/markdownFileReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Issue } from '../types.js';
|
|
2
2
|
import type { ReportControlsMetadata } from '../core/reportScope.js';
|
|
3
|
+
import type { CiFailOnSeverity } from '../types/config.js';
|
|
3
4
|
export declare function reportHealthMarkdown(issues: Issue[], reportControls?: ReportControlsMetadata): void;
|
|
4
|
-
export declare function reportCiMarkdown(issues: Issue[], threshold: number, reportControls?: ReportControlsMetadata): void;
|
|
5
|
+
export declare function reportCiMarkdown(issues: Issue[], threshold: number, reportControls?: ReportControlsMetadata, failOn?: CiFailOnSeverity): void;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { evaluateCiGate } from '../core/ciGate.js';
|
|
1
2
|
import { calculateScore, badgeMarkdown } from '../utils/scoreCalculator.js';
|
|
2
3
|
export function reportHealthMarkdown(issues, reportControls) {
|
|
3
4
|
const { score, grade } = calculateScore(issues);
|
|
@@ -10,12 +11,11 @@ export function reportHealthMarkdown(issues, reportControls) {
|
|
|
10
11
|
appendHealthIssues(lines, issues);
|
|
11
12
|
console.log(lines.join('\n'));
|
|
12
13
|
}
|
|
13
|
-
export function reportCiMarkdown(issues, threshold, reportControls) {
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const lines = [`# Projscan CI - ${ciLabel(pass)}`, ''];
|
|
14
|
+
export function reportCiMarkdown(issues, threshold, reportControls, failOn) {
|
|
15
|
+
const gate = evaluateCiGate(issues, threshold, failOn);
|
|
16
|
+
const lines = [`# Projscan CI - ${ciLabel(gate.pass)}`, ''];
|
|
17
17
|
appendReportControlsMarkdown(lines, reportControls);
|
|
18
|
-
lines.push(`| Metric | Value |`, `| --- | --- |`, `| Score | **${score}/100** |`, `| Grade | **${grade}** |`, `| Threshold | ${threshold} |`, `| Result | ${ciIcon(pass)} ${ciResultLabel(pass)} |`);
|
|
18
|
+
lines.push(`| Metric | Value |`, `| --- | --- |`, `| Score | **${gate.score}/100** |`, `| Grade | **${gate.grade}** |`, `| Threshold | ${threshold} |`, `| Fail on | ${gate.failOn} |`, `| Result | ${ciIcon(gate.pass)} ${ciResultLabel(gate.pass)} |`);
|
|
19
19
|
appendCiIssues(lines, issues);
|
|
20
20
|
console.log(lines.join('\n'));
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownHealthReporter.js","sourceRoot":"","sources":["../../src/reporters/markdownHealthReporter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdownHealthReporter.js","sourceRoot":"","sources":["../../src/reporters/markdownHealthReporter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5E,MAAM,UAAU,oBAAoB,CAClC,MAAe,EACf,cAAuC;IAEvC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,KAAK,GAAa,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;IAExD,4BAA4B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,KAAK,KAAK,SAAS,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAe,EACf,SAAiB,EACjB,cAAuC,EACvC,MAAyB;IAEzB,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,KAAK,GAAa,CAAC,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACtE,4BAA4B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CACR,oBAAoB,EACpB,eAAe,EACf,eAAe,IAAI,CAAC,KAAK,UAAU,EACnC,eAAe,IAAI,CAAC,KAAK,MAAM,EAC/B,iBAAiB,SAAS,IAAI,EAC9B,eAAe,IAAI,CAAC,MAAM,IAAI,EAC9B,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAChE,CAAC;IACF,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,4BAA4B,CACnC,KAAe,EACf,cAAkD;IAElD,IAAI,CAAC,cAAc;QAAE,OAAO;IAC5B,KAAK,CAAC,IAAI,CACR,sCAAsC,cAAc,CAAC,UAAU,qBAAqB,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAC/K,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAe,EAAE,MAAe;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CACR,mBAAmB,KAAK,CAAC,eAAe,CAAC,OAAO,6BAA6B,KAAK,CAAC,EAAE,MAAM,CAC5F,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAe,EAAE,MAAe;IACtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAY;IAChC,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC;IAC3C,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,IAAa;IAC5B,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC;AAED,SAAS,MAAM,CAAC,IAAa;IAC3B,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
export function printScoreBreakdown(breakdown) {
|
|
3
|
+
if (!breakdown || breakdown.uncappedPenalty <= 0)
|
|
4
|
+
return;
|
|
5
|
+
console.log(` Score breakdown: ${breakdown.baseScore} - ${breakdown.totalPenalty} penalty = ${breakdown.finalScore}`);
|
|
6
|
+
console.log(` ${severityParts(breakdown).join('; ')}`);
|
|
7
|
+
const categories = breakdown.byCategory.filter((entry) => entry.penalty > 0);
|
|
8
|
+
if (categories.length > 0) {
|
|
9
|
+
console.log(` ${chalk.dim('categories:')} ${categories
|
|
10
|
+
.map((entry) => `${entry.category} -${entry.penalty}`)
|
|
11
|
+
.join(', ')}`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function severityParts(breakdown) {
|
|
15
|
+
return ['error', 'warning', 'info']
|
|
16
|
+
.map((severity) => {
|
|
17
|
+
const item = breakdown.bySeverity[severity];
|
|
18
|
+
if (item.count === 0)
|
|
19
|
+
return null;
|
|
20
|
+
return `${severity}: ${item.count} x ${item.weight} = -${item.penalty}`;
|
|
21
|
+
})
|
|
22
|
+
.filter((part) => Boolean(part));
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=scoreBreakdownReporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoreBreakdownReporter.js","sourceRoot":"","sources":["../../src/reporters/scoreBreakdownReporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,UAAU,mBAAmB,CAAC,SAAqC;IACvE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,eAAe,IAAI,CAAC;QAAE,OAAO;IAEzD,OAAO,CAAC,GAAG,CACT,sBAAsB,SAAS,CAAC,SAAS,MAAM,SAAS,CAAC,YAAY,cAAc,SAAS,CAAC,UAAU,EAAE,CAC1G,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACT,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU;aAC1C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;aACrD,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,SAAyB;IAC9C,OAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAW;SAC3C,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1E,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC"}
|
package/dist/tool-manifest.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projscan",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.11.0",
|
|
4
4
|
"mcpProtocolVersion": null,
|
|
5
|
-
"generatedAt": "2026-06-
|
|
6
|
-
"toolCount":
|
|
5
|
+
"generatedAt": "2026-06-21T21:06:32.779Z",
|
|
6
|
+
"toolCount": 47,
|
|
7
7
|
"tools": [
|
|
8
8
|
{
|
|
9
9
|
"name": "projscan_analyze",
|
|
@@ -1001,6 +1001,55 @@
|
|
|
1001
1001
|
}
|
|
1002
1002
|
}
|
|
1003
1003
|
},
|
|
1004
|
+
{
|
|
1005
|
+
"name": "projscan_assess",
|
|
1006
|
+
"description": "Run a proof-first engineering assessment. Returns Proof Cards with local evidence, fix-first guidance, risk delta, verification commands, and ship-readiness wording.",
|
|
1007
|
+
"inputSchema": {
|
|
1008
|
+
"type": "object",
|
|
1009
|
+
"properties": {
|
|
1010
|
+
"goal": {
|
|
1011
|
+
"type": "string",
|
|
1012
|
+
"description": "Plain-language assessment goal. Example: \"make this repo safer to ship\"."
|
|
1013
|
+
},
|
|
1014
|
+
"mode": {
|
|
1015
|
+
"type": "string",
|
|
1016
|
+
"description": "Assessment mode: standard, fix-first, or ship-readiness. fix-first returns the shortest action queue."
|
|
1017
|
+
},
|
|
1018
|
+
"max_cards": {
|
|
1019
|
+
"type": "number",
|
|
1020
|
+
"description": "Maximum Proof Cards to return. Default: 5, max: 25."
|
|
1021
|
+
},
|
|
1022
|
+
"max_tokens": {
|
|
1023
|
+
"type": "number",
|
|
1024
|
+
"description": "Cap the response to roughly this many tokens."
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
},
|
|
1029
|
+
{
|
|
1030
|
+
"name": "projscan_simulate",
|
|
1031
|
+
"description": "Simulate a proposed change plan before editing. Returns likely files, tests, contracts, rollout, proof commands, and projected risk delta from local evidence.",
|
|
1032
|
+
"inputSchema": {
|
|
1033
|
+
"type": "object",
|
|
1034
|
+
"properties": {
|
|
1035
|
+
"plan": {
|
|
1036
|
+
"type": "string",
|
|
1037
|
+
"description": "Plain-language change plan. Example: \"split bugHunt.ts into ranking, evidence, and output modules\"."
|
|
1038
|
+
},
|
|
1039
|
+
"max_files": {
|
|
1040
|
+
"type": "number",
|
|
1041
|
+
"description": "Maximum likely touched files to return. Default: 5, max: 25."
|
|
1042
|
+
},
|
|
1043
|
+
"max_tokens": {
|
|
1044
|
+
"type": "number",
|
|
1045
|
+
"description": "Cap the response to roughly this many tokens."
|
|
1046
|
+
}
|
|
1047
|
+
},
|
|
1048
|
+
"required": [
|
|
1049
|
+
"plan"
|
|
1050
|
+
]
|
|
1051
|
+
}
|
|
1052
|
+
},
|
|
1004
1053
|
{
|
|
1005
1054
|
"name": "projscan_adoption",
|
|
1006
1055
|
"description": "Adoption helper for new projscan users and agents. Returns ready-to-paste MCP client configs, workflow recipes, or first-run diagnostics without mutating the repo.",
|
package/dist/types/analysis.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExportInfo, ImportInfo, Issue } from './common.js';
|
|
1
|
+
import type { ExportInfo, ImportInfo, Issue, IssueSeverity } from './common.js';
|
|
2
2
|
import type { DependencyReport, FrameworkResult, LanguageBreakdown, ScanResult } from './scanning.js';
|
|
3
3
|
export interface FileExplanation {
|
|
4
4
|
filePath: string;
|
|
@@ -29,4 +29,24 @@ export interface HealthScore {
|
|
|
29
29
|
errors: number;
|
|
30
30
|
warnings: number;
|
|
31
31
|
infos: number;
|
|
32
|
+
scoreBreakdown?: ScoreBreakdown;
|
|
33
|
+
}
|
|
34
|
+
export interface ScoreSeverityBreakdown {
|
|
35
|
+
count: number;
|
|
36
|
+
weight: number;
|
|
37
|
+
penalty: number;
|
|
38
|
+
}
|
|
39
|
+
export interface ScoreCategoryBreakdown {
|
|
40
|
+
category: string;
|
|
41
|
+
count: number;
|
|
42
|
+
penalty: number;
|
|
43
|
+
}
|
|
44
|
+
export interface ScoreBreakdown {
|
|
45
|
+
baseScore: number;
|
|
46
|
+
finalScore: number;
|
|
47
|
+
grade: HealthScore['grade'];
|
|
48
|
+
totalPenalty: number;
|
|
49
|
+
uncappedPenalty: number;
|
|
50
|
+
bySeverity: Record<IssueSeverity, ScoreSeverityBreakdown>;
|
|
51
|
+
byCategory: ScoreCategoryBreakdown[];
|
|
32
52
|
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { PreflightVerdict } from './preflight.js';
|
|
2
|
+
import type { QualityScorecardVerdict } from './qualityScorecard.js';
|
|
3
|
+
import type { WorkplanPriority } from './workplan.js';
|
|
4
|
+
export type AssessMode = 'standard' | 'fix-first' | 'ship-readiness';
|
|
5
|
+
export type AssessVerdict = 'ready' | 'watch' | 'blocked';
|
|
6
|
+
export type AssessConfidence = 'high' | 'medium' | 'low';
|
|
7
|
+
export type AssessProofSource = 'issue' | 'hotspot' | 'coordination' | 'doctor' | 'preflight' | 'session' | 'verification';
|
|
8
|
+
export interface RiskDeltaSnapshot {
|
|
9
|
+
baselineScore: number;
|
|
10
|
+
projectedScore: number;
|
|
11
|
+
delta: number;
|
|
12
|
+
basis: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface AssessBaselineComparison {
|
|
15
|
+
previousScore: number;
|
|
16
|
+
currentScore: number;
|
|
17
|
+
delta: number;
|
|
18
|
+
baselinePath?: string;
|
|
19
|
+
summary: string;
|
|
20
|
+
}
|
|
21
|
+
export interface AssessEvidence {
|
|
22
|
+
source: string;
|
|
23
|
+
detail: string;
|
|
24
|
+
file?: string;
|
|
25
|
+
command?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface AssessImpact {
|
|
28
|
+
commands: string[];
|
|
29
|
+
affectedAreas: string[];
|
|
30
|
+
likelyFiles: string[];
|
|
31
|
+
}
|
|
32
|
+
export interface AssessRecommendedFix {
|
|
33
|
+
summary: string;
|
|
34
|
+
safeChangeShape: string;
|
|
35
|
+
}
|
|
36
|
+
export interface AssessVerification {
|
|
37
|
+
commands: string[];
|
|
38
|
+
expected: string;
|
|
39
|
+
}
|
|
40
|
+
export interface AssessSuppression {
|
|
41
|
+
command: string;
|
|
42
|
+
inlineHint?: string;
|
|
43
|
+
configHint?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface AssessFeedback {
|
|
46
|
+
command: string;
|
|
47
|
+
}
|
|
48
|
+
export interface AssessProofCard {
|
|
49
|
+
id: string;
|
|
50
|
+
priority: WorkplanPriority;
|
|
51
|
+
source: AssessProofSource;
|
|
52
|
+
finding: string;
|
|
53
|
+
whyItMatters: string;
|
|
54
|
+
files: string[];
|
|
55
|
+
evidence: AssessEvidence[];
|
|
56
|
+
impact: AssessImpact;
|
|
57
|
+
recommendedFix: AssessRecommendedFix;
|
|
58
|
+
verification: AssessVerification;
|
|
59
|
+
confidence: AssessConfidence;
|
|
60
|
+
suppression: AssessSuppression;
|
|
61
|
+
feedback: AssessFeedback;
|
|
62
|
+
riskDelta: RiskDeltaSnapshot;
|
|
63
|
+
}
|
|
64
|
+
export interface AssessAnswers {
|
|
65
|
+
actuallyRisky: string;
|
|
66
|
+
whyRisky: string;
|
|
67
|
+
fixFirst: string;
|
|
68
|
+
safestChange: string;
|
|
69
|
+
testsThatProveIt: string[];
|
|
70
|
+
riskRemoved: string;
|
|
71
|
+
shipNow: string;
|
|
72
|
+
}
|
|
73
|
+
export interface AssessReport {
|
|
74
|
+
schemaVersion: 1;
|
|
75
|
+
goal: string;
|
|
76
|
+
mode: AssessMode;
|
|
77
|
+
verdict: AssessVerdict;
|
|
78
|
+
summary: string;
|
|
79
|
+
answers: AssessAnswers;
|
|
80
|
+
proofCards: AssessProofCard[];
|
|
81
|
+
fixFirst?: AssessProofCard;
|
|
82
|
+
riskDelta: RiskDeltaSnapshot;
|
|
83
|
+
baselineComparison?: AssessBaselineComparison;
|
|
84
|
+
commands: string[];
|
|
85
|
+
feedback: string[];
|
|
86
|
+
sourceVerdicts?: {
|
|
87
|
+
quality: QualityScorecardVerdict;
|
|
88
|
+
preflight: PreflightVerdict;
|
|
89
|
+
};
|
|
90
|
+
truncated?: boolean;
|
|
91
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assess.js","sourceRoot":"","sources":["../../src/types/assess.ts"],"names":[],"mappings":""}
|
package/dist/types/bugHunt.d.ts
CHANGED
|
@@ -26,11 +26,14 @@ export interface BugHuntReport {
|
|
|
26
26
|
};
|
|
27
27
|
hotspotCount: number;
|
|
28
28
|
preflightVerdict: PreflightVerdict;
|
|
29
|
+
preflightActionableReasonCount?: number;
|
|
30
|
+
preflightIgnoredReasonCount?: number;
|
|
29
31
|
touchedFiles: string[];
|
|
30
32
|
conflicts: number;
|
|
31
33
|
};
|
|
32
34
|
topSuspects: BugHuntFinding[];
|
|
33
35
|
fixQueue: BugHuntFinding[];
|
|
36
|
+
reviewQueue?: BugHuntFinding[];
|
|
34
37
|
fixFirst?: FixFirstRecommendation;
|
|
35
38
|
verificationMatrix: Array<{
|
|
36
39
|
command: string;
|
package/dist/types/config.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { IssueSeverity } from './common.js';
|
|
2
2
|
export type ReportFormat = 'console' | 'json' | 'markdown' | 'sarif' | 'html';
|
|
3
|
+
export type CiFailOnSeverity = IssueSeverity;
|
|
3
4
|
export interface ProjscanConfig {
|
|
4
5
|
minScore?: number;
|
|
6
|
+
failOn?: CiFailOnSeverity;
|
|
5
7
|
baseRef?: string;
|
|
6
8
|
hotspots?: {
|
|
7
9
|
limit?: number;
|
|
@@ -14,6 +16,8 @@ export interface ProjscanConfig {
|
|
|
14
16
|
offline?: boolean;
|
|
15
17
|
};
|
|
16
18
|
disableRules?: string[];
|
|
19
|
+
suppress?: Record<string, string[]>;
|
|
20
|
+
inlineSuppressions?: Record<string, InlineRuleSuppression[]>;
|
|
17
21
|
severityOverrides?: Record<string, IssueSeverity>;
|
|
18
22
|
/**
|
|
19
23
|
* Named evidence-export presets. `analyze`, `doctor`, and `ci` can select
|
|
@@ -43,6 +47,11 @@ export interface ProjscanConfig {
|
|
|
43
47
|
sinks?: string[];
|
|
44
48
|
};
|
|
45
49
|
}
|
|
50
|
+
export interface InlineRuleSuppression {
|
|
51
|
+
line: number;
|
|
52
|
+
rules: string[];
|
|
53
|
+
reason?: string;
|
|
54
|
+
}
|
|
46
55
|
export interface ReportPolicyPreset {
|
|
47
56
|
reportScope?: string[];
|
|
48
57
|
redactPaths?: boolean;
|
package/dist/types/dogfood.d.ts
CHANGED
|
@@ -65,7 +65,7 @@ export interface FeedbackSummaryReport {
|
|
|
65
65
|
};
|
|
66
66
|
nextDogfoodCommand: string;
|
|
67
67
|
}
|
|
68
|
-
export type FeedbackIntakeCategory = 'false_positive' | 'noisy_caution' | 'missing_framework_rule' | 'confusing_docs_output' | 'useful_signal' | 'uncategorized';
|
|
68
|
+
export type FeedbackIntakeCategory = 'false_positive' | 'noisy_caution' | 'install_warning' | 'missing_framework_rule' | 'confusing_docs_output' | 'workflow_focus' | 'useful_signal' | 'uncategorized';
|
|
69
69
|
export type FeedbackIntakeConfidence = 'high' | 'medium' | 'low';
|
|
70
70
|
export interface FeedbackIntakeReport {
|
|
71
71
|
schemaVersion: 1;
|
|
@@ -76,6 +76,10 @@ export interface FeedbackIntakeReport {
|
|
|
76
76
|
taskTitle: string;
|
|
77
77
|
suggestedCommand: string;
|
|
78
78
|
nextCommand: string;
|
|
79
|
+
agentloopTaskCommand: string;
|
|
80
|
+
followUpCommands: string[];
|
|
81
|
+
feedbackSummaryCommand?: string;
|
|
82
|
+
dogfoodCommand?: string;
|
|
79
83
|
feedbackResponse: DogfoodFeedbackResponse;
|
|
80
84
|
appended?: {
|
|
81
85
|
path: string;
|
|
@@ -100,6 +104,14 @@ export interface DogfoodWebsiteProof {
|
|
|
100
104
|
bullets: string[];
|
|
101
105
|
markdown: string;
|
|
102
106
|
}
|
|
107
|
+
export interface DogfoodRepoDiscovery {
|
|
108
|
+
roots: string[];
|
|
109
|
+
candidates: string[];
|
|
110
|
+
selected: string[];
|
|
111
|
+
targetRepoCount: number;
|
|
112
|
+
missingRepoCount: number;
|
|
113
|
+
command: string;
|
|
114
|
+
}
|
|
103
115
|
export interface DogfoodMarketValidation {
|
|
104
116
|
status: 'proven' | 'needs_feedback' | 'needs_more_repos' | 'needs_tuning';
|
|
105
117
|
summary: string;
|
|
@@ -175,6 +187,7 @@ export interface DogfoodRepoResult {
|
|
|
175
187
|
gaps: string[];
|
|
176
188
|
feedbackQuestions: string[];
|
|
177
189
|
validation: DogfoodRepoValidation;
|
|
190
|
+
feedbackCaptureCommand?: string;
|
|
178
191
|
nextCommands: string[];
|
|
179
192
|
}
|
|
180
193
|
export interface DogfoodReport {
|
|
@@ -198,5 +211,6 @@ export interface DogfoodReport {
|
|
|
198
211
|
falsePositiveReports: number;
|
|
199
212
|
};
|
|
200
213
|
marketValidation: DogfoodMarketValidation;
|
|
214
|
+
repoDiscovery?: DogfoodRepoDiscovery;
|
|
201
215
|
suggestedNextActions: PreflightSuggestedAction[];
|
|
202
216
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ExportInfo, ImportInfo, Issue } from './common.js';
|
|
2
2
|
import type { FileHotspot } from './hotspots.js';
|
|
3
|
+
import type { PreflightSuggestedAction } from './preflight.js';
|
|
3
4
|
export interface FileInspection {
|
|
4
5
|
relativePath: string;
|
|
5
6
|
exists: boolean;
|
|
@@ -20,6 +21,8 @@ export interface FileInspection {
|
|
|
20
21
|
fanOut?: number | null;
|
|
21
22
|
/** Adapter id (e.g. 'javascript', 'python'). Set when the graph was available. */
|
|
22
23
|
language?: string;
|
|
24
|
+
/** Concise follow-up commands for the inspected file. */
|
|
25
|
+
suggestedNextActions?: PreflightSuggestedAction[];
|
|
23
26
|
/**
|
|
24
27
|
* Per-function McCabe CC (0.13.0+). Sorted by cyclomaticComplexity desc.
|
|
25
28
|
* Empty array when the file has no functions or the adapter doesn't yet
|