projscan 2.1.0 → 2.8.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 +57 -26
- package/dist/analyzers/supplyChainCheck.d.ts +2 -0
- package/dist/analyzers/supplyChainCheck.js +400 -0
- package/dist/analyzers/supplyChainCheck.js.map +1 -0
- package/dist/cli/commands/agentBrief.d.ts +1 -0
- package/dist/cli/commands/agentBrief.js +68 -0
- package/dist/cli/commands/agentBrief.js.map +1 -0
- package/dist/cli/commands/bugHunt.d.ts +1 -0
- package/dist/cli/commands/bugHunt.js +59 -0
- package/dist/cli/commands/bugHunt.js.map +1 -0
- package/dist/cli/commands/evidencePack.d.ts +1 -0
- package/dist/cli/commands/evidencePack.js +70 -0
- package/dist/cli/commands/evidencePack.js.map +1 -0
- package/dist/cli/commands/qualityScorecard.d.ts +1 -0
- package/dist/cli/commands/qualityScorecard.js +61 -0
- package/dist/cli/commands/qualityScorecard.js.map +1 -0
- package/dist/cli/commands/regressionPlan.d.ts +1 -0
- package/dist/cli/commands/regressionPlan.js +77 -0
- package/dist/cli/commands/regressionPlan.js.map +1 -0
- package/dist/cli/commands/releaseTrain.d.ts +1 -0
- package/dist/cli/commands/releaseTrain.js +58 -0
- package/dist/cli/commands/releaseTrain.js.map +1 -0
- package/dist/cli/commands/workplan.d.ts +1 -0
- package/dist/cli/commands/workplan.js +136 -0
- package/dist/cli/commands/workplan.js.map +1 -0
- package/dist/cli/index.js +14 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/agentBrief.d.ts +6 -0
- package/dist/core/agentBrief.js +192 -0
- package/dist/core/agentBrief.js.map +1 -0
- package/dist/core/bugHunt.d.ts +6 -0
- package/dist/core/bugHunt.js +278 -0
- package/dist/core/bugHunt.js.map +1 -0
- package/dist/core/issueEngine.js +2 -0
- package/dist/core/issueEngine.js.map +1 -1
- package/dist/core/preflight.js +38 -4
- package/dist/core/preflight.js.map +1 -1
- package/dist/core/qualityScorecard.d.ts +6 -0
- package/dist/core/qualityScorecard.js +220 -0
- package/dist/core/qualityScorecard.js.map +1 -0
- package/dist/core/regressionPlan.d.ts +7 -0
- package/dist/core/regressionPlan.js +226 -0
- package/dist/core/regressionPlan.js.map +1 -0
- package/dist/core/releaseEvidence.d.ts +7 -0
- package/dist/core/releaseEvidence.js +174 -0
- package/dist/core/releaseEvidence.js.map +1 -0
- package/dist/core/releaseTrain.d.ts +5 -0
- package/dist/core/releaseTrain.js +348 -0
- package/dist/core/releaseTrain.js.map +1 -0
- package/dist/core/review.js +31 -2
- package/dist/core/review.js.map +1 -1
- package/dist/core/workplan.d.ts +12 -0
- package/dist/core/workplan.js +440 -0
- package/dist/core/workplan.js.map +1 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools/agentBrief.d.ts +2 -0
- package/dist/mcp/tools/agentBrief.js +39 -0
- package/dist/mcp/tools/agentBrief.js.map +1 -0
- package/dist/mcp/tools/bugHunt.d.ts +2 -0
- package/dist/mcp/tools/bugHunt.js +31 -0
- package/dist/mcp/tools/bugHunt.js.map +1 -0
- package/dist/mcp/tools/evidencePack.d.ts +2 -0
- package/dist/mcp/tools/evidencePack.js +39 -0
- package/dist/mcp/tools/evidencePack.js.map +1 -0
- package/dist/mcp/tools/qualityScorecard.d.ts +2 -0
- package/dist/mcp/tools/qualityScorecard.js +26 -0
- package/dist/mcp/tools/qualityScorecard.js.map +1 -0
- package/dist/mcp/tools/regressionPlan.d.ts +2 -0
- package/dist/mcp/tools/regressionPlan.js +47 -0
- package/dist/mcp/tools/regressionPlan.js.map +1 -0
- package/dist/mcp/tools/releaseTrain.d.ts +2 -0
- package/dist/mcp/tools/releaseTrain.js +27 -0
- package/dist/mcp/tools/releaseTrain.js.map +1 -0
- package/dist/mcp/tools/workplan.d.ts +2 -0
- package/dist/mcp/tools/workplan.js +70 -0
- package/dist/mcp/tools/workplan.js.map +1 -0
- package/dist/mcp/tools.js +14 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/projscan-sbom.cdx.json +4589 -0
- package/dist/tool-manifest.json +196 -3
- package/dist/types.d.ts +245 -1
- package/dist/utils/formatSupport.d.ts +8 -0
- package/dist/utils/formatSupport.js +8 -0
- package/dist/utils/formatSupport.js.map +1 -1
- package/package.json +9 -6
package/dist/tool-manifest.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projscan",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"mcpProtocolVersion": "2025-03-26",
|
|
5
|
-
"generatedAt": "2026-05-
|
|
6
|
-
"toolCount":
|
|
5
|
+
"generatedAt": "2026-05-22T13:11:18.243Z",
|
|
6
|
+
"toolCount": 36,
|
|
7
7
|
"tools": [
|
|
8
8
|
{
|
|
9
9
|
"name": "projscan_analyze",
|
|
@@ -762,6 +762,199 @@
|
|
|
762
762
|
}
|
|
763
763
|
}
|
|
764
764
|
}
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"name": "projscan_workplan",
|
|
768
|
+
"description": "Compose preflight, review, session, hotspot, plugin, and supply-chain signals into an ordered agent execution plan with evidence, suggested tools, verification commands, and handoff text.",
|
|
769
|
+
"inputSchema": {
|
|
770
|
+
"type": "object",
|
|
771
|
+
"properties": {
|
|
772
|
+
"mode": {
|
|
773
|
+
"type": "string",
|
|
774
|
+
"enum": [
|
|
775
|
+
"before_edit",
|
|
776
|
+
"before_commit",
|
|
777
|
+
"before_merge",
|
|
778
|
+
"refactor",
|
|
779
|
+
"release",
|
|
780
|
+
"bug_hunt",
|
|
781
|
+
"hardening"
|
|
782
|
+
],
|
|
783
|
+
"description": "Planning mode. before_edit/before_commit/before_merge mirror preflight gates; refactor, release, bug_hunt, and hardening add mode-specific task recipes. Default: before_edit."
|
|
784
|
+
},
|
|
785
|
+
"base_ref": {
|
|
786
|
+
"type": "string",
|
|
787
|
+
"description": "Optional git base ref for commit/merge/release checks."
|
|
788
|
+
},
|
|
789
|
+
"head_ref": {
|
|
790
|
+
"type": "string",
|
|
791
|
+
"description": "Optional git head ref for merge/release checks."
|
|
792
|
+
},
|
|
793
|
+
"max_changed_files": {
|
|
794
|
+
"type": "number",
|
|
795
|
+
"description": "Optional caution threshold for changed-file count. Default: 50."
|
|
796
|
+
},
|
|
797
|
+
"max_tasks": {
|
|
798
|
+
"type": "number",
|
|
799
|
+
"description": "Maximum number of workplan tasks to return. Default: 8, max: 20."
|
|
800
|
+
},
|
|
801
|
+
"enable_plugins": {
|
|
802
|
+
"type": "boolean",
|
|
803
|
+
"description": "Enable local analyzer plugins for this run, equivalent to PROJSCAN_PLUGINS_PREVIEW=1."
|
|
804
|
+
},
|
|
805
|
+
"max_tokens": {
|
|
806
|
+
"type": "number",
|
|
807
|
+
"description": "Cap the response to roughly this many tokens."
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
},
|
|
812
|
+
{
|
|
813
|
+
"name": "projscan_release_train",
|
|
814
|
+
"description": "Plan upcoming product lines with version, scope, readiness, and next-action evidence.",
|
|
815
|
+
"inputSchema": {
|
|
816
|
+
"type": "object",
|
|
817
|
+
"properties": {
|
|
818
|
+
"lines": {
|
|
819
|
+
"type": "array",
|
|
820
|
+
"items": {
|
|
821
|
+
"type": "string"
|
|
822
|
+
},
|
|
823
|
+
"description": "Product lines to include. Default: next six minor lines."
|
|
824
|
+
},
|
|
825
|
+
"max_tokens": {
|
|
826
|
+
"type": "number",
|
|
827
|
+
"description": "Cap the response to roughly this many tokens."
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"name": "projscan_bug_hunt",
|
|
834
|
+
"description": "Run an agent-ready bug hunt. Combines doctor issues, preflight verdict, hotspots, and session coordination into a prioritized fix queue with verification commands.",
|
|
835
|
+
"inputSchema": {
|
|
836
|
+
"type": "object",
|
|
837
|
+
"properties": {
|
|
838
|
+
"max_findings": {
|
|
839
|
+
"type": "number",
|
|
840
|
+
"description": "Maximum number of fix-queue findings to return. Default: 10, max: 25."
|
|
841
|
+
},
|
|
842
|
+
"since": {
|
|
843
|
+
"type": "string",
|
|
844
|
+
"description": "Git history window for hotspot evidence. Examples: \"6 months ago\", \"2024-01-01\"."
|
|
845
|
+
},
|
|
846
|
+
"max_tokens": {
|
|
847
|
+
"type": "number",
|
|
848
|
+
"description": "Cap the response to roughly this many tokens."
|
|
849
|
+
}
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
},
|
|
853
|
+
{
|
|
854
|
+
"name": "projscan_evidence_pack",
|
|
855
|
+
"description": "Assemble one approval packet from product planning, bug-hunt, workplan, and preflight evidence.",
|
|
856
|
+
"inputSchema": {
|
|
857
|
+
"type": "object",
|
|
858
|
+
"properties": {
|
|
859
|
+
"lines": {
|
|
860
|
+
"type": "array",
|
|
861
|
+
"items": {
|
|
862
|
+
"type": "string"
|
|
863
|
+
},
|
|
864
|
+
"description": "Product lines to include. Default: next six minor lines."
|
|
865
|
+
},
|
|
866
|
+
"website_prompt": {
|
|
867
|
+
"type": "boolean",
|
|
868
|
+
"description": "Include website-update prompt text in the response."
|
|
869
|
+
},
|
|
870
|
+
"max_findings": {
|
|
871
|
+
"type": "number",
|
|
872
|
+
"description": "Maximum bug-hunt findings to include. Default: 10, max: 25."
|
|
873
|
+
},
|
|
874
|
+
"max_tokens": {
|
|
875
|
+
"type": "number",
|
|
876
|
+
"description": "Cap the response to roughly this many tokens."
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
"name": "projscan_regression_plan",
|
|
883
|
+
"description": "Build a smoke, focused, or full regression matrix from bug-hunt, preflight, and product risk signals.",
|
|
884
|
+
"inputSchema": {
|
|
885
|
+
"type": "object",
|
|
886
|
+
"properties": {
|
|
887
|
+
"level": {
|
|
888
|
+
"type": "string",
|
|
889
|
+
"enum": [
|
|
890
|
+
"smoke",
|
|
891
|
+
"focused",
|
|
892
|
+
"full"
|
|
893
|
+
],
|
|
894
|
+
"description": "Regression depth. Default: focused."
|
|
895
|
+
},
|
|
896
|
+
"lines": {
|
|
897
|
+
"type": "array",
|
|
898
|
+
"items": {
|
|
899
|
+
"type": "string"
|
|
900
|
+
},
|
|
901
|
+
"description": "Product lines to include. Default: next six minor lines."
|
|
902
|
+
},
|
|
903
|
+
"max_targets": {
|
|
904
|
+
"type": "number",
|
|
905
|
+
"description": "Maximum regression targets to include. Default: 8, max: 25."
|
|
906
|
+
},
|
|
907
|
+
"max_tokens": {
|
|
908
|
+
"type": "number",
|
|
909
|
+
"description": "Cap the response to roughly this many tokens."
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
},
|
|
914
|
+
{
|
|
915
|
+
"name": "projscan_agent_brief",
|
|
916
|
+
"description": "Create a compact next-agent context packet with prioritized focus items, repo context, guardrails, and suggested next actions.",
|
|
917
|
+
"inputSchema": {
|
|
918
|
+
"type": "object",
|
|
919
|
+
"properties": {
|
|
920
|
+
"intent": {
|
|
921
|
+
"type": "string",
|
|
922
|
+
"enum": [
|
|
923
|
+
"next_agent",
|
|
924
|
+
"bug_hunt",
|
|
925
|
+
"release",
|
|
926
|
+
"refactor",
|
|
927
|
+
"hardening"
|
|
928
|
+
],
|
|
929
|
+
"description": "Brief intent. Default: next_agent."
|
|
930
|
+
},
|
|
931
|
+
"max_items": {
|
|
932
|
+
"type": "number",
|
|
933
|
+
"description": "Maximum focus items to return. Default: 6, max: 20."
|
|
934
|
+
},
|
|
935
|
+
"max_tokens": {
|
|
936
|
+
"type": "number",
|
|
937
|
+
"description": "Cap the response to roughly this many tokens."
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
}
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
"name": "projscan_quality_scorecard",
|
|
944
|
+
"description": "Summarize quality dimensions, top risks, verification commands, and suggested next actions for agents and reviewers.",
|
|
945
|
+
"inputSchema": {
|
|
946
|
+
"type": "object",
|
|
947
|
+
"properties": {
|
|
948
|
+
"max_risks": {
|
|
949
|
+
"type": "number",
|
|
950
|
+
"description": "Maximum top risks to return. Default: 8, max: 25."
|
|
951
|
+
},
|
|
952
|
+
"max_tokens": {
|
|
953
|
+
"type": "number",
|
|
954
|
+
"description": "Cap the response to roughly this many tokens."
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
}
|
|
765
958
|
}
|
|
766
959
|
]
|
|
767
960
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -212,7 +212,7 @@ export interface HealthScore {
|
|
|
212
212
|
}
|
|
213
213
|
export type PreflightMode = 'before_edit' | 'before_commit' | 'before_merge';
|
|
214
214
|
export type PreflightVerdict = 'proceed' | 'caution' | 'block';
|
|
215
|
-
export type PreflightReasonSource = 'doctor' | 'review' | 'taint' | 'session' | 'plugin' | 'memory' | 'changed-files' | 'hotspots' | 'git' | 'format';
|
|
215
|
+
export type PreflightReasonSource = 'doctor' | 'review' | 'taint' | 'session' | 'plugin' | 'supply-chain' | 'memory' | 'changed-files' | 'hotspots' | 'git' | 'format';
|
|
216
216
|
export interface PreflightReason {
|
|
217
217
|
severity: IssueSeverity;
|
|
218
218
|
source: PreflightReasonSource;
|
|
@@ -270,6 +270,10 @@ export interface PreflightEvidence {
|
|
|
270
270
|
errorIssues: number;
|
|
271
271
|
warningIssues: number;
|
|
272
272
|
};
|
|
273
|
+
supplyChain?: {
|
|
274
|
+
errorIssues: number;
|
|
275
|
+
warningIssues: number;
|
|
276
|
+
};
|
|
273
277
|
}
|
|
274
278
|
export interface PreflightReport {
|
|
275
279
|
schemaVersion: 1;
|
|
@@ -283,6 +287,246 @@ export interface PreflightReport {
|
|
|
283
287
|
toolCalls: PreflightSuggestedAction[];
|
|
284
288
|
truncated?: boolean;
|
|
285
289
|
}
|
|
290
|
+
export type WorkplanMode = PreflightMode | 'refactor' | 'release' | 'bug_hunt' | 'hardening';
|
|
291
|
+
export type WorkplanPriority = 'p0' | 'p1' | 'p2';
|
|
292
|
+
export interface WorkplanEvidence {
|
|
293
|
+
source: PreflightReasonSource | 'coordination' | 'release' | 'verification';
|
|
294
|
+
message: string;
|
|
295
|
+
severity?: IssueSeverity;
|
|
296
|
+
file?: string;
|
|
297
|
+
issueId?: string;
|
|
298
|
+
tool?: string;
|
|
299
|
+
}
|
|
300
|
+
export interface WorkplanVerification {
|
|
301
|
+
commands: string[];
|
|
302
|
+
expected: string;
|
|
303
|
+
}
|
|
304
|
+
export interface WorkplanTask {
|
|
305
|
+
id: string;
|
|
306
|
+
priority: WorkplanPriority;
|
|
307
|
+
title: string;
|
|
308
|
+
why: string;
|
|
309
|
+
evidence: WorkplanEvidence[];
|
|
310
|
+
files: string[];
|
|
311
|
+
suggestedTools: string[];
|
|
312
|
+
verification: WorkplanVerification;
|
|
313
|
+
handoffText: string;
|
|
314
|
+
}
|
|
315
|
+
export interface WorkplanTopRisk extends WorkplanEvidence {
|
|
316
|
+
priority: WorkplanPriority;
|
|
317
|
+
}
|
|
318
|
+
export interface WorkplanCoordination {
|
|
319
|
+
touchedFiles: string[];
|
|
320
|
+
conflicts: SessionConflict[];
|
|
321
|
+
recommendedNextAgent: string;
|
|
322
|
+
}
|
|
323
|
+
export interface WorkplanReport {
|
|
324
|
+
schemaVersion: 1;
|
|
325
|
+
mode: WorkplanMode;
|
|
326
|
+
verdict: PreflightVerdict;
|
|
327
|
+
summary: string;
|
|
328
|
+
topRisks: WorkplanTopRisk[];
|
|
329
|
+
tasks: WorkplanTask[];
|
|
330
|
+
coordination: WorkplanCoordination;
|
|
331
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
332
|
+
truncated?: boolean;
|
|
333
|
+
}
|
|
334
|
+
export interface ReleaseTrainTrack {
|
|
335
|
+
line: string;
|
|
336
|
+
theme: string;
|
|
337
|
+
outcome: string;
|
|
338
|
+
includedInPlan: boolean;
|
|
339
|
+
scope: string[];
|
|
340
|
+
successCriteria: string[];
|
|
341
|
+
}
|
|
342
|
+
export interface ReleaseTrainTask {
|
|
343
|
+
id: string;
|
|
344
|
+
priority: WorkplanPriority;
|
|
345
|
+
title: string;
|
|
346
|
+
why: string;
|
|
347
|
+
track: string;
|
|
348
|
+
files: string[];
|
|
349
|
+
verification: WorkplanVerification;
|
|
350
|
+
}
|
|
351
|
+
export interface ReleaseTrainReport {
|
|
352
|
+
schemaVersion: 1;
|
|
353
|
+
currentVersion: string | null;
|
|
354
|
+
plan: {
|
|
355
|
+
policy: 'product-readiness-plan';
|
|
356
|
+
lines: string[];
|
|
357
|
+
readOnly: true;
|
|
358
|
+
};
|
|
359
|
+
readiness: {
|
|
360
|
+
verdict: PreflightVerdict;
|
|
361
|
+
blockers: number;
|
|
362
|
+
cautions: number;
|
|
363
|
+
summary: string;
|
|
364
|
+
};
|
|
365
|
+
tracks: ReleaseTrainTrack[];
|
|
366
|
+
tasks: ReleaseTrainTask[];
|
|
367
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
368
|
+
}
|
|
369
|
+
export type BugHuntVerdict = 'clean' | 'fix' | 'block';
|
|
370
|
+
export interface BugHuntFinding {
|
|
371
|
+
id: string;
|
|
372
|
+
priority: WorkplanPriority;
|
|
373
|
+
source: 'doctor' | 'preflight' | 'session' | 'hotspot' | 'verification';
|
|
374
|
+
title: string;
|
|
375
|
+
why: string;
|
|
376
|
+
files: string[];
|
|
377
|
+
evidence: WorkplanEvidence[];
|
|
378
|
+
suggestedTools: string[];
|
|
379
|
+
verification: WorkplanVerification;
|
|
380
|
+
}
|
|
381
|
+
export interface BugHuntReport {
|
|
382
|
+
schemaVersion: 1;
|
|
383
|
+
verdict: BugHuntVerdict;
|
|
384
|
+
summary: string;
|
|
385
|
+
health: HealthScore;
|
|
386
|
+
evidence: {
|
|
387
|
+
issueCounts: {
|
|
388
|
+
errors: number;
|
|
389
|
+
warnings: number;
|
|
390
|
+
infos: number;
|
|
391
|
+
};
|
|
392
|
+
hotspotCount: number;
|
|
393
|
+
preflightVerdict: PreflightVerdict;
|
|
394
|
+
touchedFiles: string[];
|
|
395
|
+
conflicts: number;
|
|
396
|
+
};
|
|
397
|
+
topSuspects: BugHuntFinding[];
|
|
398
|
+
fixQueue: BugHuntFinding[];
|
|
399
|
+
verificationMatrix: Array<{
|
|
400
|
+
command: string;
|
|
401
|
+
reason: string;
|
|
402
|
+
expected: string;
|
|
403
|
+
}>;
|
|
404
|
+
truncated?: boolean;
|
|
405
|
+
}
|
|
406
|
+
export type EvidencePackVerdict = 'ready' | 'caution' | 'blocked';
|
|
407
|
+
export type EvidencePackArtifactStatus = 'ready' | 'caution' | 'blocked';
|
|
408
|
+
export interface EvidencePackArtifact {
|
|
409
|
+
id: string;
|
|
410
|
+
title: string;
|
|
411
|
+
status: EvidencePackArtifactStatus;
|
|
412
|
+
summary: string;
|
|
413
|
+
evidence: string[];
|
|
414
|
+
commands: string[];
|
|
415
|
+
}
|
|
416
|
+
export interface EvidencePackReport {
|
|
417
|
+
schemaVersion: 1;
|
|
418
|
+
currentVersion: string | null;
|
|
419
|
+
readOnly: true;
|
|
420
|
+
verdict: EvidencePackVerdict;
|
|
421
|
+
summary: string;
|
|
422
|
+
train: {
|
|
423
|
+
lines: string[];
|
|
424
|
+
readiness: ReleaseTrainReport['readiness'];
|
|
425
|
+
};
|
|
426
|
+
approval: {
|
|
427
|
+
required: true;
|
|
428
|
+
recommendation: string;
|
|
429
|
+
blockingReasons: string[];
|
|
430
|
+
};
|
|
431
|
+
artifacts: EvidencePackArtifact[];
|
|
432
|
+
changelogEntries: string[];
|
|
433
|
+
websitePrompt?: string;
|
|
434
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
435
|
+
}
|
|
436
|
+
export type RegressionPlanLevel = 'smoke' | 'focused' | 'full';
|
|
437
|
+
export type RegressionPlanVerdict = 'ready' | 'needs_tests' | 'blocked';
|
|
438
|
+
export interface RegressionPlanTarget {
|
|
439
|
+
id: string;
|
|
440
|
+
priority: WorkplanPriority;
|
|
441
|
+
source: 'baseline' | 'bug-hunt' | 'product-line' | 'preflight';
|
|
442
|
+
title: string;
|
|
443
|
+
why: string;
|
|
444
|
+
files: string[];
|
|
445
|
+
verification: WorkplanVerification;
|
|
446
|
+
}
|
|
447
|
+
export interface RegressionPlanReport {
|
|
448
|
+
schemaVersion: 1;
|
|
449
|
+
level: RegressionPlanLevel;
|
|
450
|
+
verdict: RegressionPlanVerdict;
|
|
451
|
+
summary: string;
|
|
452
|
+
releaseLines: string[];
|
|
453
|
+
evidence: {
|
|
454
|
+
healthScore: number;
|
|
455
|
+
bugHuntVerdict: BugHuntVerdict;
|
|
456
|
+
preflightVerdict: PreflightVerdict;
|
|
457
|
+
changedFiles: number;
|
|
458
|
+
touchedFiles: number;
|
|
459
|
+
};
|
|
460
|
+
targets: RegressionPlanTarget[];
|
|
461
|
+
commands: string[];
|
|
462
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
463
|
+
truncated?: boolean;
|
|
464
|
+
}
|
|
465
|
+
export type AgentBriefIntent = 'next_agent' | 'bug_hunt' | 'release' | 'refactor' | 'hardening';
|
|
466
|
+
export interface AgentBriefItem {
|
|
467
|
+
id: string;
|
|
468
|
+
priority: WorkplanPriority;
|
|
469
|
+
title: string;
|
|
470
|
+
why: string;
|
|
471
|
+
files: string[];
|
|
472
|
+
commands: string[];
|
|
473
|
+
}
|
|
474
|
+
export interface AgentBriefGuardrail {
|
|
475
|
+
id: string;
|
|
476
|
+
label: string;
|
|
477
|
+
reason: string;
|
|
478
|
+
command: string;
|
|
479
|
+
}
|
|
480
|
+
export interface AgentBriefReport {
|
|
481
|
+
schemaVersion: 1;
|
|
482
|
+
intent: AgentBriefIntent;
|
|
483
|
+
summary: string;
|
|
484
|
+
health: HealthScore;
|
|
485
|
+
context: {
|
|
486
|
+
totalFiles: number;
|
|
487
|
+
totalDirectories: number;
|
|
488
|
+
topDirectories: Array<{
|
|
489
|
+
directory: string;
|
|
490
|
+
files: number;
|
|
491
|
+
}>;
|
|
492
|
+
touchedFiles: string[];
|
|
493
|
+
conflicts: number;
|
|
494
|
+
};
|
|
495
|
+
focus: AgentBriefItem[];
|
|
496
|
+
guardrails: AgentBriefGuardrail[];
|
|
497
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
498
|
+
truncated?: boolean;
|
|
499
|
+
}
|
|
500
|
+
export type QualityScorecardVerdict = 'excellent' | 'healthy' | 'needs_attention' | 'blocked';
|
|
501
|
+
export type QualityScorecardStatus = 'pass' | 'watch' | 'fail';
|
|
502
|
+
export interface QualityScorecardDimension {
|
|
503
|
+
id: 'health' | 'security' | 'tests' | 'maintainability' | 'coordination';
|
|
504
|
+
label: string;
|
|
505
|
+
status: QualityScorecardStatus;
|
|
506
|
+
score: number;
|
|
507
|
+
summary: string;
|
|
508
|
+
evidence: string[];
|
|
509
|
+
commands: string[];
|
|
510
|
+
}
|
|
511
|
+
export interface QualityScorecardRisk {
|
|
512
|
+
id: string;
|
|
513
|
+
priority: WorkplanPriority;
|
|
514
|
+
title: string;
|
|
515
|
+
files: string[];
|
|
516
|
+
source: 'issue' | 'hotspot' | 'coordination';
|
|
517
|
+
command: string;
|
|
518
|
+
}
|
|
519
|
+
export interface QualityScorecardReport {
|
|
520
|
+
schemaVersion: 1;
|
|
521
|
+
verdict: QualityScorecardVerdict;
|
|
522
|
+
summary: string;
|
|
523
|
+
health: HealthScore;
|
|
524
|
+
dimensions: QualityScorecardDimension[];
|
|
525
|
+
topRisks: QualityScorecardRisk[];
|
|
526
|
+
commands: string[];
|
|
527
|
+
suggestedNextActions: PreflightSuggestedAction[];
|
|
528
|
+
truncated?: boolean;
|
|
529
|
+
}
|
|
286
530
|
export interface SessionResourceSummary {
|
|
287
531
|
schemaVersion: 1;
|
|
288
532
|
sessionId: string;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { ReportFormat } from '../types.js';
|
|
2
2
|
export declare const OUTPUT_FORMATS: readonly ["console", "json", "markdown", "sarif", "html"];
|
|
3
3
|
export declare const COMMAND_FORMAT_SUPPORT: {
|
|
4
|
+
readonly 'agent-brief': readonly ["console", "json"];
|
|
4
5
|
readonly analyze: readonly ["console", "json", "markdown", "sarif", "html"];
|
|
5
6
|
readonly 'apply-fix': readonly ["console", "json"];
|
|
6
7
|
readonly audit: readonly ["console", "json", "markdown", "sarif"];
|
|
7
8
|
readonly badge: readonly ["console"];
|
|
9
|
+
readonly 'bug-hunt': readonly ["console", "json"];
|
|
8
10
|
readonly ci: readonly ["console", "json", "markdown", "sarif"];
|
|
9
11
|
readonly coupling: readonly ["console", "json", "markdown", "html"];
|
|
10
12
|
readonly coverage: readonly ["console", "json", "markdown", "html"];
|
|
@@ -12,11 +14,13 @@ export declare const COMMAND_FORMAT_SUPPORT: {
|
|
|
12
14
|
readonly diagram: readonly ["console", "json", "markdown"];
|
|
13
15
|
readonly diff: readonly ["console", "json", "markdown"];
|
|
14
16
|
readonly doctor: readonly ["console", "json", "markdown", "sarif", "html"];
|
|
17
|
+
readonly 'evidence-pack': readonly ["console", "json"];
|
|
15
18
|
readonly explain: readonly ["console", "json", "markdown"];
|
|
16
19
|
readonly 'explain-issue': readonly ["console", "json", "markdown"];
|
|
17
20
|
readonly file: readonly ["console", "json", "markdown"];
|
|
18
21
|
readonly fix: readonly ["console"];
|
|
19
22
|
readonly 'fix-suggest': readonly ["console", "json", "markdown"];
|
|
23
|
+
readonly handoff: readonly ["console", "json"];
|
|
20
24
|
readonly help: readonly ["console"];
|
|
21
25
|
readonly hotspots: readonly ["console", "json", "markdown", "html"];
|
|
22
26
|
readonly impact: readonly ["console", "json", "markdown", "html"];
|
|
@@ -34,6 +38,9 @@ export declare const COMMAND_FORMAT_SUPPORT: {
|
|
|
34
38
|
readonly 'plugin test': readonly ["console", "json"];
|
|
35
39
|
readonly preflight: readonly ["console", "json"];
|
|
36
40
|
readonly 'pr-diff': readonly ["console", "json", "markdown", "html"];
|
|
41
|
+
readonly 'quality-scorecard': readonly ["console", "json"];
|
|
42
|
+
readonly 'release-train': readonly ["console", "json"];
|
|
43
|
+
readonly 'regression-plan': readonly ["console", "json"];
|
|
37
44
|
readonly review: readonly ["console", "json", "markdown", "html"];
|
|
38
45
|
readonly search: readonly ["console", "json", "markdown"];
|
|
39
46
|
readonly session: readonly ["console", "json"];
|
|
@@ -48,6 +55,7 @@ export declare const COMMAND_FORMAT_SUPPORT: {
|
|
|
48
55
|
readonly 'workspace add': readonly ["console"];
|
|
49
56
|
readonly 'workspace remove': readonly ["console"];
|
|
50
57
|
readonly workspaces: readonly ["console", "json", "markdown"];
|
|
58
|
+
readonly workplan: readonly ["console", "json"];
|
|
51
59
|
};
|
|
52
60
|
export type CommandFormatName = keyof typeof COMMAND_FORMAT_SUPPORT;
|
|
53
61
|
export declare function formatList(formats?: readonly ReportFormat[]): string;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export const OUTPUT_FORMATS = ['console', 'json', 'markdown', 'sarif', 'html'];
|
|
2
2
|
export const COMMAND_FORMAT_SUPPORT = {
|
|
3
|
+
'agent-brief': ['console', 'json'],
|
|
3
4
|
analyze: ['console', 'json', 'markdown', 'sarif', 'html'],
|
|
4
5
|
'apply-fix': ['console', 'json'],
|
|
5
6
|
audit: ['console', 'json', 'markdown', 'sarif'],
|
|
6
7
|
badge: ['console'],
|
|
8
|
+
'bug-hunt': ['console', 'json'],
|
|
7
9
|
ci: ['console', 'json', 'markdown', 'sarif'],
|
|
8
10
|
coupling: ['console', 'json', 'markdown', 'html'],
|
|
9
11
|
coverage: ['console', 'json', 'markdown', 'html'],
|
|
@@ -11,11 +13,13 @@ export const COMMAND_FORMAT_SUPPORT = {
|
|
|
11
13
|
diagram: ['console', 'json', 'markdown'],
|
|
12
14
|
diff: ['console', 'json', 'markdown'],
|
|
13
15
|
doctor: ['console', 'json', 'markdown', 'sarif', 'html'],
|
|
16
|
+
'evidence-pack': ['console', 'json'],
|
|
14
17
|
explain: ['console', 'json', 'markdown'],
|
|
15
18
|
'explain-issue': ['console', 'json', 'markdown'],
|
|
16
19
|
file: ['console', 'json', 'markdown'],
|
|
17
20
|
fix: ['console'],
|
|
18
21
|
'fix-suggest': ['console', 'json', 'markdown'],
|
|
22
|
+
handoff: ['console', 'json'],
|
|
19
23
|
help: ['console'],
|
|
20
24
|
hotspots: ['console', 'json', 'markdown', 'html'],
|
|
21
25
|
impact: ['console', 'json', 'markdown', 'html'],
|
|
@@ -33,6 +37,9 @@ export const COMMAND_FORMAT_SUPPORT = {
|
|
|
33
37
|
'plugin test': ['console', 'json'],
|
|
34
38
|
preflight: ['console', 'json'],
|
|
35
39
|
'pr-diff': ['console', 'json', 'markdown', 'html'],
|
|
40
|
+
'quality-scorecard': ['console', 'json'],
|
|
41
|
+
'release-train': ['console', 'json'],
|
|
42
|
+
'regression-plan': ['console', 'json'],
|
|
36
43
|
review: ['console', 'json', 'markdown', 'html'],
|
|
37
44
|
search: ['console', 'json', 'markdown'],
|
|
38
45
|
session: ['console', 'json'],
|
|
@@ -47,6 +54,7 @@ export const COMMAND_FORMAT_SUPPORT = {
|
|
|
47
54
|
'workspace add': ['console'],
|
|
48
55
|
'workspace remove': ['console'],
|
|
49
56
|
workspaces: ['console', 'json', 'markdown'],
|
|
57
|
+
workplan: ['console', 'json'],
|
|
50
58
|
};
|
|
51
59
|
export function formatList(formats = OUTPUT_FORMATS) {
|
|
52
60
|
return formats.join(', ');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatSupport.js","sourceRoot":"","sources":["../../src/utils/formatSupport.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"formatSupport.js","sourceRoot":"","sources":["../../src/utils/formatSupport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projscan",
|
|
3
3
|
"mcpName": "io.github.abhiyoheswaran1/projscan",
|
|
4
|
-
"version": "2.
|
|
5
|
-
"description": "Agent-first code intelligence. MCP server (2025-03-26) with AST parsing for JavaScript, TypeScript, Python, Go, Java, Ruby, Rust, PHP, C#, Kotlin, Swift, and C++; code graph, file + per-function AST cyclomatic complexity, per-function fan-in + fan-out, coupling + cycle detection, structural PR diff with HTML reporter, coverage report with HTML reporter, intent-grounded one-call PR review (projscan_review with optional `intent` arg) and long-running PR-watch mode with structured per-bucket deltas (projscan_review_watch), rule-driven fix suggestions + mechanical apply layer with rollback (projscan_apply_fix, projscan_fix_suggest, projscan_explain_issue), source-to-sink taint analysis (projscan_taint) with truncation reporting, transitive blast-radius analysis with cross-repo mode (projscan_impact for files and symbols), cross-repo workspace registration + intelligence (projscan_workspace_graph), per-function semantic search chunks (sub-file embeddings), per-rule confidence + severity drift + cost-summary analytics with live streaming (projscan_cost_summary), stable local analyzer + reporter plugin API (projscan_plugin, CLI --reporter, opt-in via PROJSCAN_PLUGINS_PREVIEW=1), monorepo workspace awareness with cross-package import policy + per-package dependencies / outdated / audit, BM25 + optional semantic search, cursor pagination, progress notifications, context-budgeted output, and a stable-surface CI guard. CLI on the side.",
|
|
4
|
+
"version": "2.8.0",
|
|
5
|
+
"description": "Agent-first code intelligence. MCP server (2025-03-26) with AST parsing for JavaScript, TypeScript, Python, Go, Java, Ruby, Rust, PHP, C#, Kotlin, Swift, and C++; code graph, file + per-function AST cyclomatic complexity, per-function fan-in + fan-out, coupling + cycle detection, structural PR diff with HTML reporter, coverage report with HTML reporter, intent-grounded one-call PR review (projscan_review with optional `intent` arg) and long-running PR-watch mode with structured per-bucket deltas (projscan_review_watch), agent workplans (projscan_workplan), bug-hunt queues (projscan_bug_hunt), product-line planning (projscan_release_train), evidence packs (projscan_evidence_pack), regression planning (projscan_regression_plan), agent briefs (projscan_agent_brief), quality scorecards (projscan_quality_scorecard), and preflight with supply-chain IOC evidence, rule-driven fix suggestions + mechanical apply layer with rollback (projscan_apply_fix, projscan_fix_suggest, projscan_explain_issue), source-to-sink taint analysis (projscan_taint) with truncation reporting, transitive blast-radius analysis with cross-repo mode (projscan_impact for files and symbols), cross-repo workspace registration + intelligence (projscan_workspace_graph), per-function semantic search chunks (sub-file embeddings), per-rule confidence + severity drift + cost-summary analytics with live streaming (projscan_cost_summary), stable local analyzer + reporter plugin API (projscan_plugin, CLI --reporter, opt-in via PROJSCAN_PLUGINS_PREVIEW=1), monorepo workspace awareness with cross-package import policy + per-package dependencies / outdated / audit, BM25 + optional semantic search, cursor pagination, progress notifications, context-budgeted output, and a stable-surface CI guard. CLI on the side.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
@@ -20,14 +20,17 @@
|
|
|
20
20
|
"scripts": {
|
|
21
21
|
"build": "tsc && node scripts/copy-wasm.mjs && node scripts/generate-tool-manifest.mjs",
|
|
22
22
|
"dev": "tsc --watch",
|
|
23
|
-
"test": "vitest run",
|
|
24
|
-
"test:watch": "vitest",
|
|
23
|
+
"test": "vitest run --test-timeout 60000 --hook-timeout 60000",
|
|
24
|
+
"test:watch": "vitest --test-timeout 60000 --hook-timeout 60000",
|
|
25
25
|
"lint": "eslint src/",
|
|
26
26
|
"format": "prettier --write .",
|
|
27
27
|
"bench": "node scripts/bench.mjs",
|
|
28
28
|
"bench:references": "node scripts/bench-references.mjs",
|
|
29
29
|
"smoke:packed-install": "node scripts/packed-install-smoke.mjs",
|
|
30
30
|
"check:stability": "node scripts/check-stability.mjs",
|
|
31
|
+
"release:check": "node scripts/release-check.mjs",
|
|
32
|
+
"security:release-gate": "node scripts/release-gate.mjs",
|
|
33
|
+
"sbom:generate": "node scripts/generate-sbom.mjs",
|
|
31
34
|
"prepare": "npm run build"
|
|
32
35
|
},
|
|
33
36
|
"keywords": [
|
|
@@ -99,9 +102,9 @@
|
|
|
99
102
|
"vitest": "^3.2.4"
|
|
100
103
|
},
|
|
101
104
|
"overrides": {
|
|
102
|
-
"protobufjs": "^7.5.
|
|
105
|
+
"protobufjs": "^7.5.9",
|
|
103
106
|
"picomatch": ">=2.3.2 <3 || >=4.0.4",
|
|
104
|
-
"brace-expansion": ">=2.0.2 <3 || >=5.0.
|
|
107
|
+
"brace-expansion": ">=2.0.2 <3 || >=5.0.6",
|
|
105
108
|
"flatted": "^3.4.2",
|
|
106
109
|
"postcss": "^8.5.10"
|
|
107
110
|
}
|