projscan 3.0.5 → 3.0.7
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 +37 -23
- package/dist/cli/commands/dogfood.js +16 -0
- package/dist/cli/commands/dogfood.js.map +1 -1
- package/dist/cli/commands/feedback.d.ts +1 -0
- package/dist/cli/commands/feedback.js +176 -0
- package/dist/cli/commands/feedback.js.map +1 -0
- package/dist/cli/commands/trial.d.ts +1 -0
- package/dist/cli/commands/trial.js +81 -0
- package/dist/cli/commands/trial.js.map +1 -0
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/dogfood.d.ts +2 -1
- package/dist/core/dogfood.js +290 -10
- package/dist/core/dogfood.js.map +1 -1
- package/dist/core/feedback.d.ts +12 -0
- package/dist/core/feedback.js +213 -0
- package/dist/core/feedback.js.map +1 -0
- package/dist/core/releaseEvidence.js +5 -1
- package/dist/core/releaseEvidence.js.map +1 -1
- package/dist/core/start.js +9 -0
- package/dist/core/start.js.map +1 -1
- package/dist/core/trial.d.ts +6 -0
- package/dist/core/trial.js +134 -0
- package/dist/core/trial.js.map +1 -0
- package/dist/grammars/tree-sitter-swift.wasm +0 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/projscan-sbom.cdx.json +6 -6
- package/dist/tool-manifest.json +2 -2
- package/dist/types.d.ts +169 -0
- package/dist/utils/formatSupport.d.ts +5 -0
- package/dist/utils/formatSupport.js +5 -0
- package/dist/utils/formatSupport.js.map +1 -1
- package/package.json +5 -3
- package/public/.well-known/security.txt +6 -0
- package/public/brand/baseframe-labs/mark-dark-on-dark.png +0 -0
- package/public/brand/baseframe-labs/mark-dark.png +0 -0
- package/public/brand/baseframe-labs/mark-dark.svg +1 -0
- package/public/brand/baseframe-labs/mark-light-on-white.png +0 -0
- package/public/brand/baseframe-labs/mark-light.png +0 -0
- package/public/brand/baseframe-labs/mark-light.svg +1 -0
- package/public/brand/baseframe-labs/wordmark-dark-on-dark.png +0 -0
- package/public/brand/baseframe-labs/wordmark-dark.png +0 -0
- package/public/brand/baseframe-labs/wordmark-dark.svg +1 -0
- package/public/brand/baseframe-labs/wordmark-light-on-white.png +0 -0
- package/public/brand/baseframe-labs/wordmark-light.png +0 -0
- package/public/brand/baseframe-labs/wordmark-light.svg +1 -0
package/dist/types.d.ts
CHANGED
|
@@ -653,6 +653,144 @@ export interface StartReport {
|
|
|
653
653
|
truncated?: boolean;
|
|
654
654
|
}
|
|
655
655
|
export type DogfoodRepoStatus = 'pass' | 'warn' | 'fail';
|
|
656
|
+
export interface DogfoodFeedbackResponse {
|
|
657
|
+
repo?: string;
|
|
658
|
+
pr?: string;
|
|
659
|
+
reviewer?: string;
|
|
660
|
+
useful?: boolean;
|
|
661
|
+
minutesSaved?: number;
|
|
662
|
+
preventedBadEdit?: boolean;
|
|
663
|
+
ownerRoutingClear?: boolean;
|
|
664
|
+
nextCommandClear?: boolean;
|
|
665
|
+
falsePositiveRules?: string[];
|
|
666
|
+
missingSignals?: string[];
|
|
667
|
+
noisyFindings?: string[];
|
|
668
|
+
note?: string;
|
|
669
|
+
}
|
|
670
|
+
export interface DogfoodFeedbackInput {
|
|
671
|
+
schemaVersion?: 1;
|
|
672
|
+
questions?: string[];
|
|
673
|
+
responses: DogfoodFeedbackResponse[];
|
|
674
|
+
}
|
|
675
|
+
export interface FeedbackTemplateResult extends DogfoodFeedbackInput {
|
|
676
|
+
schemaVersion: 1;
|
|
677
|
+
path: string;
|
|
678
|
+
createdAt: string;
|
|
679
|
+
instructions: string[];
|
|
680
|
+
}
|
|
681
|
+
export interface FeedbackSummaryReport {
|
|
682
|
+
schemaVersion: 1;
|
|
683
|
+
path: string;
|
|
684
|
+
responses: number;
|
|
685
|
+
usefulResponses: number;
|
|
686
|
+
distinctRepos: number;
|
|
687
|
+
distinctPrs: number;
|
|
688
|
+
minutesSaved: {
|
|
689
|
+
total: number;
|
|
690
|
+
average: number;
|
|
691
|
+
max: number;
|
|
692
|
+
};
|
|
693
|
+
preventedBadEdits: number;
|
|
694
|
+
ownerRoutingClear: number;
|
|
695
|
+
nextCommandClear: number;
|
|
696
|
+
repeatUse: {
|
|
697
|
+
distinctPrs: number;
|
|
698
|
+
repeatedRepos: number;
|
|
699
|
+
requiredDistinctPrs: number;
|
|
700
|
+
requiredRepeatedRepos: number;
|
|
701
|
+
ready: boolean;
|
|
702
|
+
};
|
|
703
|
+
falsePositive: {
|
|
704
|
+
totalReports: number;
|
|
705
|
+
noisyRules: Array<{
|
|
706
|
+
rule: string;
|
|
707
|
+
count: number;
|
|
708
|
+
}>;
|
|
709
|
+
missingSignals: Array<{
|
|
710
|
+
signal: string;
|
|
711
|
+
count: number;
|
|
712
|
+
}>;
|
|
713
|
+
noisyFindings: Array<{
|
|
714
|
+
finding: string;
|
|
715
|
+
count: number;
|
|
716
|
+
}>;
|
|
717
|
+
};
|
|
718
|
+
nextDogfoodCommand: string;
|
|
719
|
+
}
|
|
720
|
+
export interface DogfoodRepoValidation {
|
|
721
|
+
feedbackResponses: number;
|
|
722
|
+
usefulResponses: number;
|
|
723
|
+
prRefs: string[];
|
|
724
|
+
minutesSaved: number;
|
|
725
|
+
preventedBadEdits: number;
|
|
726
|
+
ownerRoutingClear: number;
|
|
727
|
+
nextCommandClear: number;
|
|
728
|
+
falsePositiveRules: string[];
|
|
729
|
+
missingSignals: string[];
|
|
730
|
+
noisyFindings: string[];
|
|
731
|
+
}
|
|
732
|
+
export interface DogfoodWebsiteProof {
|
|
733
|
+
headline: string;
|
|
734
|
+
metrics: string[];
|
|
735
|
+
bullets: string[];
|
|
736
|
+
markdown: string;
|
|
737
|
+
}
|
|
738
|
+
export interface DogfoodMarketValidation {
|
|
739
|
+
status: 'proven' | 'needs_feedback' | 'needs_more_repos' | 'needs_tuning';
|
|
740
|
+
summary: string;
|
|
741
|
+
repoCoverage: {
|
|
742
|
+
target: number;
|
|
743
|
+
evaluated: number;
|
|
744
|
+
targetMet: boolean;
|
|
745
|
+
};
|
|
746
|
+
feedback: {
|
|
747
|
+
responses: number;
|
|
748
|
+
usefulResponses: number;
|
|
749
|
+
usefulnessRate: number;
|
|
750
|
+
preventedBadEdits: number;
|
|
751
|
+
ownerRoutingClear: number;
|
|
752
|
+
nextCommandClear: number;
|
|
753
|
+
minutesSaved: {
|
|
754
|
+
total: number;
|
|
755
|
+
average: number;
|
|
756
|
+
max: number;
|
|
757
|
+
};
|
|
758
|
+
};
|
|
759
|
+
falsePositive: {
|
|
760
|
+
totalReports: number;
|
|
761
|
+
noisyRules: Array<{
|
|
762
|
+
rule: string;
|
|
763
|
+
count: number;
|
|
764
|
+
}>;
|
|
765
|
+
missingSignals: Array<{
|
|
766
|
+
signal: string;
|
|
767
|
+
count: number;
|
|
768
|
+
}>;
|
|
769
|
+
noisyFindings: Array<{
|
|
770
|
+
finding: string;
|
|
771
|
+
count: number;
|
|
772
|
+
}>;
|
|
773
|
+
};
|
|
774
|
+
firstPr: {
|
|
775
|
+
readyRepos: number;
|
|
776
|
+
repeatUseReadyRepos: number;
|
|
777
|
+
requiredFeedbackQuestions: string[];
|
|
778
|
+
};
|
|
779
|
+
value: {
|
|
780
|
+
averageMinutesSaved: number;
|
|
781
|
+
requiredAverageMinutesSaved: number;
|
|
782
|
+
preventedBadEdits: number;
|
|
783
|
+
ready: boolean;
|
|
784
|
+
};
|
|
785
|
+
repeatUse: {
|
|
786
|
+
distinctPrs: number;
|
|
787
|
+
repeatedRepos: number;
|
|
788
|
+
requiredDistinctPrs: number;
|
|
789
|
+
requiredRepeatedRepos: number;
|
|
790
|
+
ready: boolean;
|
|
791
|
+
};
|
|
792
|
+
websiteProof: DogfoodWebsiteProof;
|
|
793
|
+
}
|
|
656
794
|
export interface DogfoodRepoResult {
|
|
657
795
|
path: string;
|
|
658
796
|
name: string;
|
|
@@ -664,6 +802,7 @@ export interface DogfoodRepoResult {
|
|
|
664
802
|
verdict: EvidencePackVerdict;
|
|
665
803
|
gaps: string[];
|
|
666
804
|
feedbackQuestions: string[];
|
|
805
|
+
validation: DogfoodRepoValidation;
|
|
667
806
|
nextCommands: string[];
|
|
668
807
|
}
|
|
669
808
|
export interface DogfoodReport {
|
|
@@ -681,9 +820,39 @@ export interface DogfoodReport {
|
|
|
681
820
|
prCommentReady: number;
|
|
682
821
|
repeatUseReady: number;
|
|
683
822
|
mcpReady: number;
|
|
823
|
+
usefulFeedback: number;
|
|
824
|
+
minutesSaved: number;
|
|
825
|
+
preventedBadEdits: number;
|
|
826
|
+
falsePositiveReports: number;
|
|
684
827
|
};
|
|
828
|
+
marketValidation: DogfoodMarketValidation;
|
|
685
829
|
suggestedNextActions: PreflightSuggestedAction[];
|
|
686
830
|
}
|
|
831
|
+
export type TrialVerdict = 'adopt' | 'pilot' | 'tune' | 'setup';
|
|
832
|
+
export interface TrialReport {
|
|
833
|
+
schemaVersion: 1;
|
|
834
|
+
readOnly: true;
|
|
835
|
+
rootPath: string;
|
|
836
|
+
verdict: TrialVerdict;
|
|
837
|
+
summary: string;
|
|
838
|
+
activation: {
|
|
839
|
+
status: 'pass' | 'warn' | 'fail';
|
|
840
|
+
setupOverall: 'pass' | 'warn' | 'fail';
|
|
841
|
+
healthScore: number;
|
|
842
|
+
mcpReady: boolean;
|
|
843
|
+
adoptionLoopReady: boolean;
|
|
844
|
+
firstPrCommand: string;
|
|
845
|
+
feedbackCommand: string;
|
|
846
|
+
};
|
|
847
|
+
feedback?: FeedbackSummaryReport;
|
|
848
|
+
dogfood: DogfoodReport;
|
|
849
|
+
decision: {
|
|
850
|
+
adoptable: boolean;
|
|
851
|
+
reasons: string[];
|
|
852
|
+
};
|
|
853
|
+
websiteProof: DogfoodWebsiteProof;
|
|
854
|
+
nextCommands: PreflightSuggestedAction[];
|
|
855
|
+
}
|
|
687
856
|
export interface GraphCorpusFixtureMetrics {
|
|
688
857
|
name: string;
|
|
689
858
|
fixture: string;
|
|
@@ -17,6 +17,10 @@ export declare const COMMAND_FORMAT_SUPPORT: {
|
|
|
17
17
|
readonly doctor: readonly ["console", "json", "markdown", "sarif", "html"];
|
|
18
18
|
readonly dogfood: readonly ["console", "json"];
|
|
19
19
|
readonly 'evidence-pack': readonly ["console", "json"];
|
|
20
|
+
readonly feedback: readonly ["console", "json"];
|
|
21
|
+
readonly 'feedback init': readonly ["console", "json"];
|
|
22
|
+
readonly 'feedback add': readonly ["console", "json"];
|
|
23
|
+
readonly 'feedback summary': readonly ["console", "json"];
|
|
20
24
|
readonly explain: readonly ["console", "json", "markdown"];
|
|
21
25
|
readonly 'explain-issue': readonly ["console", "json", "markdown"];
|
|
22
26
|
readonly file: readonly ["console", "json", "markdown"];
|
|
@@ -60,6 +64,7 @@ export declare const COMMAND_FORMAT_SUPPORT: {
|
|
|
60
64
|
readonly 'session reset': readonly ["console", "json"];
|
|
61
65
|
readonly structure: readonly ["console", "json", "markdown"];
|
|
62
66
|
readonly taint: readonly ["console", "json"];
|
|
67
|
+
readonly trial: readonly ["console", "json"];
|
|
63
68
|
readonly upgrade: readonly ["console", "json", "markdown"];
|
|
64
69
|
readonly watch: readonly ["console"];
|
|
65
70
|
readonly 'workspace list': readonly ["console", "json"];
|
|
@@ -16,6 +16,10 @@ export const COMMAND_FORMAT_SUPPORT = {
|
|
|
16
16
|
doctor: ['console', 'json', 'markdown', 'sarif', 'html'],
|
|
17
17
|
dogfood: ['console', 'json'],
|
|
18
18
|
'evidence-pack': ['console', 'json'],
|
|
19
|
+
feedback: ['console', 'json'],
|
|
20
|
+
'feedback init': ['console', 'json'],
|
|
21
|
+
'feedback add': ['console', 'json'],
|
|
22
|
+
'feedback summary': ['console', 'json'],
|
|
19
23
|
explain: ['console', 'json', 'markdown'],
|
|
20
24
|
'explain-issue': ['console', 'json', 'markdown'],
|
|
21
25
|
file: ['console', 'json', 'markdown'],
|
|
@@ -59,6 +63,7 @@ export const COMMAND_FORMAT_SUPPORT = {
|
|
|
59
63
|
'session reset': ['console', 'json'],
|
|
60
64
|
structure: ['console', 'json', 'markdown'],
|
|
61
65
|
taint: ['console', 'json'],
|
|
66
|
+
trial: ['console', 'json'],
|
|
62
67
|
upgrade: ['console', 'json', 'markdown'],
|
|
63
68
|
watch: ['console'],
|
|
64
69
|
'workspace list': ['console', 'json'],
|
|
@@ -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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "projscan",
|
|
3
3
|
"mcpName": "io.github.abhiyoheswaran1/projscan",
|
|
4
|
-
"version": "3.0.
|
|
4
|
+
"version": "3.0.7",
|
|
5
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++; stable v3 semantic graph (projscan_semantic_graph), dataflow risk engine with bridge-helper detection (projscan_dataflow), 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, new taint flows, contract changes, and newDataflowRisks) and long-running PR-watch mode with structured per-bucket deltas (projscan_review_watch), first-60-seconds workflow orientation (projscan_start), 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",
|
|
@@ -16,12 +16,14 @@
|
|
|
16
16
|
"docs/PLUGIN-AUTHORING.md",
|
|
17
17
|
"docs/PLUGIN-GALLERY.md",
|
|
18
18
|
"docs/plugin.schema.json",
|
|
19
|
-
"docs/examples/plugins"
|
|
19
|
+
"docs/examples/plugins",
|
|
20
|
+
"public/brand/baseframe-labs",
|
|
21
|
+
"public/.well-known/security.txt"
|
|
20
22
|
],
|
|
21
23
|
"scripts": {
|
|
22
24
|
"build": "tsc && node scripts/copy-wasm.mjs && node scripts/generate-tool-manifest.mjs",
|
|
23
25
|
"dev": "tsc --watch",
|
|
24
|
-
"test": "vitest run --test-timeout 60000 --hook-timeout 60000",
|
|
26
|
+
"test": "vitest run --test-timeout 60000 --hook-timeout 60000 --maxWorkers 4",
|
|
25
27
|
"test:watch": "vitest --test-timeout 60000 --hook-timeout 60000",
|
|
26
28
|
"lint": "eslint src/",
|
|
27
29
|
"format": "prettier --write .",
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 32 32" width="512" height="512" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3.5" y="3.5" width="25" height="25" rx="6" stroke="#f3f0e8" stroke-width="2"/><line x1="9" y1="22" x2="23" y2="22" stroke="#ff6444" stroke-width="2" stroke-linecap="round"/><rect x="13" y="11" width="6" height="6" rx="1.4" fill="#f3f0e8"/></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 32 32" width="512" height="512" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3.5" y="3.5" width="25" height="25" rx="6" stroke="#1a1812" stroke-width="2"/><line x1="9" y1="22" x2="23" y2="22" stroke="#d8472a" stroke-width="2" stroke-linecap="round"/><rect x="13" y="11" width="6" height="6" rx="1.4" fill="#1a1812"/></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 40" width="500" height="100" fill="none"><g transform="translate(4,6)"><rect x="3.5" y="3.5" width="25" height="25" rx="6" stroke="#f3f0e8" stroke-width="2"/><line x1="9" y1="22" x2="23" y2="22" stroke="#ff6444" stroke-width="2" stroke-linecap="round"/><rect x="13" y="11" width="6" height="6" rx="1.4" fill="#f3f0e8"/></g><text x="45" y="26" font-family="Geist, ui-sans-serif, system-ui, sans-serif" font-size="17" font-weight="600" letter-spacing="-0.3" fill="#f3f0e8">Baseframe<tspan font-family="'Geist Mono', ui-monospace, monospace" font-size="12" font-weight="400" letter-spacing="2" fill="#948e80" dx="7">LABS</tspan></text></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 40" width="500" height="100" fill="none"><g transform="translate(4,6)"><rect x="3.5" y="3.5" width="25" height="25" rx="6" stroke="#1a1812" stroke-width="2"/><line x1="9" y1="22" x2="23" y2="22" stroke="#d8472a" stroke-width="2" stroke-linecap="round"/><rect x="13" y="11" width="6" height="6" rx="1.4" fill="#1a1812"/></g><text x="45" y="26" font-family="Geist, ui-sans-serif, system-ui, sans-serif" font-size="17" font-weight="600" letter-spacing="-0.3" fill="#1a1812">Baseframe<tspan font-family="'Geist Mono', ui-monospace, monospace" font-size="12" font-weight="400" letter-spacing="2" fill="#79746a" dx="7">LABS</tspan></text></svg>
|