projscan 3.4.0 → 3.5.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.
Files changed (44) hide show
  1. package/README.md +25 -23
  2. package/dist/cli/commands/plugin.js +134 -2
  3. package/dist/cli/commands/plugin.js.map +1 -1
  4. package/dist/cli/commands/workplan.js +1 -1
  5. package/dist/cli/commands/workplan.js.map +1 -1
  6. package/dist/cli/commands/workspace.js +3 -2
  7. package/dist/cli/commands/workspace.js.map +1 -1
  8. package/dist/core/pluginDx.d.ts +1 -0
  9. package/dist/core/pluginDx.js +77 -18
  10. package/dist/core/pluginDx.js.map +1 -1
  11. package/dist/core/pluginTrust.d.ts +56 -0
  12. package/dist/core/pluginTrust.js +138 -0
  13. package/dist/core/pluginTrust.js.map +1 -0
  14. package/dist/core/plugins.d.ts +1 -1
  15. package/dist/core/plugins.js +33 -0
  16. package/dist/core/plugins.js.map +1 -1
  17. package/dist/core/preflight.js +4 -16
  18. package/dist/core/preflight.js.map +1 -1
  19. package/dist/core/privacy.js +8 -2
  20. package/dist/core/privacy.js.map +1 -1
  21. package/dist/core/workspace.d.ts +4 -2
  22. package/dist/core/workspace.js +63 -4
  23. package/dist/core/workspace.js.map +1 -1
  24. package/dist/fixes/eslintFix.js +6 -2
  25. package/dist/fixes/eslintFix.js.map +1 -1
  26. package/dist/fixes/prettierFix.js +5 -2
  27. package/dist/fixes/prettierFix.js.map +1 -1
  28. package/dist/fixes/testFix.js +8 -2
  29. package/dist/fixes/testFix.js.map +1 -1
  30. package/dist/mcp/tools/plugin.js +72 -20
  31. package/dist/mcp/tools/plugin.js.map +1 -1
  32. package/dist/mcp/tools/workplan.js +3 -2
  33. package/dist/mcp/tools/workplan.js.map +1 -1
  34. package/dist/mcp/tools/workspaceGraph.js +31 -0
  35. package/dist/mcp/tools/workspaceGraph.js.map +1 -1
  36. package/dist/projscan-sbom.cdx.json +87 -185
  37. package/dist/tool-manifest.json +5 -5
  38. package/dist/types.d.ts +7 -0
  39. package/dist/utils/formatSupport.d.ts +2 -0
  40. package/dist/utils/formatSupport.js +2 -0
  41. package/dist/utils/formatSupport.js.map +1 -1
  42. package/docs/PLUGIN-AUTHORING.md +41 -13
  43. package/docs/PLUGIN-GALLERY.md +2 -1
  44. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"workplan.js","sourceRoot":"","sources":["../../../src/mcp/tools/workplan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIzE,MAAM,cAAc,GAA4B;IAC9C,aAAa;IACb,eAAe;IACf,cAAc;IACd,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAY;IACnC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,6LAA6L;IAC/L,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,cAAc;gBACpB,WAAW,EACT,gLAAgL;aACnL;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wDAAwD;aACtE;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iDAAiD;aAC/D;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iEAAiE;aAC/E;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kEAAkE;aAChF;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,uFAAuF;aACrG;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;QAChC,OAAO;YACL,QAAQ,EAAE,MAAM,eAAe,CAAC,QAAQ,EAAE;gBACxC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzB,OAAO,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACtE,OAAO,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACtE,eAAe,EACb,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBACnF,CAAC,CAAC,IAAI,CAAC,iBAAiB;oBACxB,CAAC,CAAC,SAAS;gBACf,QAAQ,EACN,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;oBACnE,CAAC,CAAC,IAAI,CAAC,SAAS;oBAChB,CAAC,CAAC,SAAS;gBACf,aAAa,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;aAC5C,CAAC;SACH,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"workplan.js","sourceRoot":"","sources":["../../../src/mcp/tools/workplan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIzE,MAAM,cAAc,GAA4B;IAC9C,aAAa;IACb,eAAe;IACf,cAAc;IACd,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAY;IACnC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,6LAA6L;IAC/L,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,cAAc;gBACpB,WAAW,EACT,gLAAgL;aACnL;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wDAAwD;aACtE;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iDAAiD;aAC/D;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iEAAiE;aAC/E;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kEAAkE;aAChF;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,0KAA0K;aAC7K;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;QAChC,OAAO;YACL,QAAQ,EAAE,MAAM,eAAe,CAAC,QAAQ,EAAE;gBACxC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzB,OAAO,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACtE,OAAO,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACtE,eAAe,EACb,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;oBACnF,CAAC,CAAC,IAAI,CAAC,iBAAiB;oBACxB,CAAC,CAAC,SAAS;gBACf,QAAQ,EACN,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;oBACnE,CAAC,CAAC,IAAI,CAAC,SAAS;oBAChB,CAAC,CAAC,SAAS;gBACf,aAAa,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,cAAc,EAAE;aAChE,CAAC;SACH,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import fs from 'node:fs/promises';
1
2
  import path from 'node:path';
2
3
  import { loadWorkspace } from '../../core/workspace.js';
3
4
  import { scanRepository } from '../../core/repositoryScanner.js';
@@ -68,15 +69,45 @@ export const workspaceGraphTool = {
68
69
  }
69
70
  },
70
71
  };
72
+ const MAX_WORKSPACE_GRAPH_FILES = 5000;
73
+ const SKIPPED_WORKSPACE_DIRS = new Set(['.git', '.projscan-cache', 'node_modules', 'dist', 'build', 'coverage', '.next', '.nuxt']);
71
74
  async function buildPerRepoGraph(repoPath) {
72
75
  try {
76
+ const withinCap = await isWithinWorkspaceGraphFileCap(repoPath);
77
+ if (!withinCap)
78
+ return null;
73
79
  const scan = await scanRepository(repoPath);
80
+ if (scan.files.length > MAX_WORKSPACE_GRAPH_FILES)
81
+ return null;
74
82
  return await buildCodeGraph(repoPath, scan.files);
75
83
  }
76
84
  catch {
77
85
  return null;
78
86
  }
79
87
  }
88
+ async function isWithinWorkspaceGraphFileCap(rootPath) {
89
+ let count = 0;
90
+ const stack = [rootPath];
91
+ while (stack.length > 0) {
92
+ const dir = stack.pop();
93
+ if (!dir)
94
+ continue;
95
+ const entries = await fs.readdir(dir, { withFileTypes: true }).catch(() => []);
96
+ for (const entry of entries) {
97
+ if (entry.isDirectory()) {
98
+ if (!SKIPPED_WORKSPACE_DIRS.has(entry.name))
99
+ stack.push(path.join(dir, entry.name));
100
+ continue;
101
+ }
102
+ if (!entry.isFile())
103
+ continue;
104
+ count += 1;
105
+ if (count > MAX_WORKSPACE_GRAPH_FILES)
106
+ return false;
107
+ }
108
+ }
109
+ return true;
110
+ }
80
111
  async function listView(workspace, rootPath) {
81
112
  if (!workspace)
82
113
  return { repos: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceGraph.js","sourceRoot":"","sources":["../../../src/mcp/tools/workspaceGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaceGraph.js","sourceRoot":"","sources":["../../../src/mcp/tools/workspaceGraph.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "bomFormat": "CycloneDX",
3
3
  "specVersion": "1.5",
4
- "serialNumber": "urn:uuid:eb092e16-162d-4509-a9ae-35ee08249b1f",
4
+ "serialNumber": "urn:uuid:184f4802-bc14-4e4d-b946-67837b3471f9",
5
5
  "version": 1,
6
6
  "metadata": {
7
- "timestamp": "2026-06-03T23:14:48.681Z",
7
+ "timestamp": "2026-06-04T20:31:38.986Z",
8
8
  "tools": [
9
9
  {
10
10
  "vendor": "projscan",
11
11
  "name": "projscan-sbom-generator",
12
- "version": "3.4.0"
12
+ "version": "3.5.0"
13
13
  }
14
14
  ],
15
15
  "component": {
16
16
  "type": "application",
17
- "bom-ref": "pkg:npm/projscan@3.4.0",
17
+ "bom-ref": "pkg:npm/projscan@3.5.0",
18
18
  "name": "projscan",
19
- "version": "3.4.0",
20
- "purl": "pkg:npm/projscan@3.4.0"
19
+ "version": "3.5.0",
20
+ "purl": "pkg:npm/projscan@3.5.0"
21
21
  }
22
22
  },
23
23
  "components": [
@@ -1183,6 +1183,20 @@
1183
1183
  }
1184
1184
  ]
1185
1185
  },
1186
+ {
1187
+ "type": "library",
1188
+ "bom-ref": "pkg:npm/%40standard-schema/spec@1.1.0",
1189
+ "name": "@standard-schema/spec",
1190
+ "version": "1.1.0",
1191
+ "purl": "pkg:npm/%40standard-schema/spec@1.1.0",
1192
+ "licenses": [
1193
+ {
1194
+ "license": {
1195
+ "id": "MIT"
1196
+ }
1197
+ }
1198
+ ]
1199
+ },
1186
1200
  {
1187
1201
  "type": "library",
1188
1202
  "bom-ref": "pkg:npm/%40types/chai@5.2.3",
@@ -1409,10 +1423,10 @@
1409
1423
  },
1410
1424
  {
1411
1425
  "type": "library",
1412
- "bom-ref": "pkg:npm/%40vitest/expect@3.2.4",
1426
+ "bom-ref": "pkg:npm/%40vitest/expect@4.1.8",
1413
1427
  "name": "@vitest/expect",
1414
- "version": "3.2.4",
1415
- "purl": "pkg:npm/%40vitest/expect@3.2.4",
1428
+ "version": "4.1.8",
1429
+ "purl": "pkg:npm/%40vitest/expect@4.1.8",
1416
1430
  "licenses": [
1417
1431
  {
1418
1432
  "license": {
@@ -1423,10 +1437,10 @@
1423
1437
  },
1424
1438
  {
1425
1439
  "type": "library",
1426
- "bom-ref": "pkg:npm/%40vitest/mocker@3.2.4",
1440
+ "bom-ref": "pkg:npm/%40vitest/mocker@4.1.8",
1427
1441
  "name": "@vitest/mocker",
1428
- "version": "3.2.4",
1429
- "purl": "pkg:npm/%40vitest/mocker@3.2.4",
1442
+ "version": "4.1.8",
1443
+ "purl": "pkg:npm/%40vitest/mocker@4.1.8",
1430
1444
  "licenses": [
1431
1445
  {
1432
1446
  "license": {
@@ -1437,10 +1451,10 @@
1437
1451
  },
1438
1452
  {
1439
1453
  "type": "library",
1440
- "bom-ref": "pkg:npm/%40vitest/pretty-format@3.2.4",
1454
+ "bom-ref": "pkg:npm/%40vitest/pretty-format@4.1.8",
1441
1455
  "name": "@vitest/pretty-format",
1442
- "version": "3.2.4",
1443
- "purl": "pkg:npm/%40vitest/pretty-format@3.2.4",
1456
+ "version": "4.1.8",
1457
+ "purl": "pkg:npm/%40vitest/pretty-format@4.1.8",
1444
1458
  "licenses": [
1445
1459
  {
1446
1460
  "license": {
@@ -1451,10 +1465,10 @@
1451
1465
  },
1452
1466
  {
1453
1467
  "type": "library",
1454
- "bom-ref": "pkg:npm/%40vitest/runner@3.2.4",
1468
+ "bom-ref": "pkg:npm/%40vitest/runner@4.1.8",
1455
1469
  "name": "@vitest/runner",
1456
- "version": "3.2.4",
1457
- "purl": "pkg:npm/%40vitest/runner@3.2.4",
1470
+ "version": "4.1.8",
1471
+ "purl": "pkg:npm/%40vitest/runner@4.1.8",
1458
1472
  "licenses": [
1459
1473
  {
1460
1474
  "license": {
@@ -1465,10 +1479,10 @@
1465
1479
  },
1466
1480
  {
1467
1481
  "type": "library",
1468
- "bom-ref": "pkg:npm/%40vitest/snapshot@3.2.4",
1482
+ "bom-ref": "pkg:npm/%40vitest/snapshot@4.1.8",
1469
1483
  "name": "@vitest/snapshot",
1470
- "version": "3.2.4",
1471
- "purl": "pkg:npm/%40vitest/snapshot@3.2.4",
1484
+ "version": "4.1.8",
1485
+ "purl": "pkg:npm/%40vitest/snapshot@4.1.8",
1472
1486
  "licenses": [
1473
1487
  {
1474
1488
  "license": {
@@ -1479,10 +1493,10 @@
1479
1493
  },
1480
1494
  {
1481
1495
  "type": "library",
1482
- "bom-ref": "pkg:npm/%40vitest/spy@3.2.4",
1496
+ "bom-ref": "pkg:npm/%40vitest/spy@4.1.8",
1483
1497
  "name": "@vitest/spy",
1484
- "version": "3.2.4",
1485
- "purl": "pkg:npm/%40vitest/spy@3.2.4",
1498
+ "version": "4.1.8",
1499
+ "purl": "pkg:npm/%40vitest/spy@4.1.8",
1486
1500
  "licenses": [
1487
1501
  {
1488
1502
  "license": {
@@ -1493,10 +1507,10 @@
1493
1507
  },
1494
1508
  {
1495
1509
  "type": "library",
1496
- "bom-ref": "pkg:npm/%40vitest/utils@3.2.4",
1510
+ "bom-ref": "pkg:npm/%40vitest/utils@4.1.8",
1497
1511
  "name": "@vitest/utils",
1498
- "version": "3.2.4",
1499
- "purl": "pkg:npm/%40vitest/utils@3.2.4",
1512
+ "version": "4.1.8",
1513
+ "purl": "pkg:npm/%40vitest/utils@4.1.8",
1500
1514
  "licenses": [
1501
1515
  {
1502
1516
  "license": {
@@ -1773,24 +1787,10 @@
1773
1787
  },
1774
1788
  {
1775
1789
  "type": "library",
1776
- "bom-ref": "pkg:npm/cac@6.7.14",
1777
- "name": "cac",
1778
- "version": "6.7.14",
1779
- "purl": "pkg:npm/cac@6.7.14",
1780
- "licenses": [
1781
- {
1782
- "license": {
1783
- "id": "MIT"
1784
- }
1785
- }
1786
- ]
1787
- },
1788
- {
1789
- "type": "library",
1790
- "bom-ref": "pkg:npm/chai@5.3.3",
1790
+ "bom-ref": "pkg:npm/chai@6.2.2",
1791
1791
  "name": "chai",
1792
- "version": "5.3.3",
1793
- "purl": "pkg:npm/chai@5.3.3",
1792
+ "version": "6.2.2",
1793
+ "purl": "pkg:npm/chai@6.2.2",
1794
1794
  "licenses": [
1795
1795
  {
1796
1796
  "license": {
@@ -1813,20 +1813,6 @@
1813
1813
  }
1814
1814
  ]
1815
1815
  },
1816
- {
1817
- "type": "library",
1818
- "bom-ref": "pkg:npm/check-error@2.1.3",
1819
- "name": "check-error",
1820
- "version": "2.1.3",
1821
- "purl": "pkg:npm/check-error@2.1.3",
1822
- "licenses": [
1823
- {
1824
- "license": {
1825
- "id": "MIT"
1826
- }
1827
- }
1828
- ]
1829
- },
1830
1816
  {
1831
1817
  "type": "library",
1832
1818
  "bom-ref": "pkg:npm/chownr@1.1.4",
@@ -1939,6 +1925,20 @@
1939
1925
  }
1940
1926
  ]
1941
1927
  },
1928
+ {
1929
+ "type": "library",
1930
+ "bom-ref": "pkg:npm/convert-source-map@2.0.0",
1931
+ "name": "convert-source-map",
1932
+ "version": "2.0.0",
1933
+ "purl": "pkg:npm/convert-source-map@2.0.0",
1934
+ "licenses": [
1935
+ {
1936
+ "license": {
1937
+ "id": "MIT"
1938
+ }
1939
+ }
1940
+ ]
1941
+ },
1942
1942
  {
1943
1943
  "type": "library",
1944
1944
  "bom-ref": "pkg:npm/cross-spawn@7.0.6",
@@ -1981,20 +1981,6 @@
1981
1981
  }
1982
1982
  ]
1983
1983
  },
1984
- {
1985
- "type": "library",
1986
- "bom-ref": "pkg:npm/deep-eql@5.0.2",
1987
- "name": "deep-eql",
1988
- "version": "5.0.2",
1989
- "purl": "pkg:npm/deep-eql@5.0.2",
1990
- "licenses": [
1991
- {
1992
- "license": {
1993
- "id": "MIT"
1994
- }
1995
- }
1996
- ]
1997
- },
1998
1984
  {
1999
1985
  "type": "library",
2000
1986
  "bom-ref": "pkg:npm/deep-extend@0.6.0",
@@ -2067,10 +2053,10 @@
2067
2053
  },
2068
2054
  {
2069
2055
  "type": "library",
2070
- "bom-ref": "pkg:npm/es-module-lexer@1.7.0",
2056
+ "bom-ref": "pkg:npm/es-module-lexer@2.1.0",
2071
2057
  "name": "es-module-lexer",
2072
- "version": "1.7.0",
2073
- "purl": "pkg:npm/es-module-lexer@1.7.0",
2058
+ "version": "2.1.0",
2059
+ "purl": "pkg:npm/es-module-lexer@2.1.0",
2074
2060
  "licenses": [
2075
2061
  {
2076
2062
  "license": {
@@ -2765,20 +2751,6 @@
2765
2751
  }
2766
2752
  ]
2767
2753
  },
2768
- {
2769
- "type": "library",
2770
- "bom-ref": "pkg:npm/js-tokens@9.0.1",
2771
- "name": "js-tokens",
2772
- "version": "9.0.1",
2773
- "purl": "pkg:npm/js-tokens@9.0.1",
2774
- "licenses": [
2775
- {
2776
- "license": {
2777
- "id": "MIT"
2778
- }
2779
- }
2780
- ]
2781
- },
2782
2754
  {
2783
2755
  "type": "library",
2784
2756
  "bom-ref": "pkg:npm/json-buffer@3.0.1",
@@ -2905,20 +2877,6 @@
2905
2877
  }
2906
2878
  ]
2907
2879
  },
2908
- {
2909
- "type": "library",
2910
- "bom-ref": "pkg:npm/loupe@3.2.1",
2911
- "name": "loupe",
2912
- "version": "3.2.1",
2913
- "purl": "pkg:npm/loupe@3.2.1",
2914
- "licenses": [
2915
- {
2916
- "license": {
2917
- "id": "MIT"
2918
- }
2919
- }
2920
- ]
2921
- },
2922
2880
  {
2923
2881
  "type": "library",
2924
2882
  "bom-ref": "pkg:npm/magic-string@0.30.21",
@@ -3283,6 +3241,20 @@
3283
3241
  }
3284
3242
  ]
3285
3243
  },
3244
+ {
3245
+ "type": "library",
3246
+ "bom-ref": "pkg:npm/obug@2.1.1",
3247
+ "name": "obug",
3248
+ "version": "2.1.1",
3249
+ "purl": "pkg:npm/obug@2.1.1",
3250
+ "licenses": [
3251
+ {
3252
+ "license": {
3253
+ "id": "MIT"
3254
+ }
3255
+ }
3256
+ ]
3257
+ },
3286
3258
  {
3287
3259
  "type": "library",
3288
3260
  "bom-ref": "pkg:npm/once@1.4.0",
@@ -3465,20 +3437,6 @@
3465
3437
  }
3466
3438
  ]
3467
3439
  },
3468
- {
3469
- "type": "library",
3470
- "bom-ref": "pkg:npm/pathval@2.0.1",
3471
- "name": "pathval",
3472
- "version": "2.0.1",
3473
- "purl": "pkg:npm/pathval@2.0.1",
3474
- "licenses": [
3475
- {
3476
- "license": {
3477
- "id": "MIT"
3478
- }
3479
- }
3480
- ]
3481
- },
3482
3440
  {
3483
3441
  "type": "library",
3484
3442
  "bom-ref": "pkg:npm/picocolors@1.1.1",
@@ -3873,10 +3831,10 @@
3873
3831
  },
3874
3832
  {
3875
3833
  "type": "library",
3876
- "bom-ref": "pkg:npm/std-env@3.10.0",
3834
+ "bom-ref": "pkg:npm/std-env@4.1.0",
3877
3835
  "name": "std-env",
3878
- "version": "3.10.0",
3879
- "purl": "pkg:npm/std-env@3.10.0",
3836
+ "version": "4.1.0",
3837
+ "purl": "pkg:npm/std-env@4.1.0",
3880
3838
  "licenses": [
3881
3839
  {
3882
3840
  "license": {
@@ -3969,20 +3927,6 @@
3969
3927
  }
3970
3928
  ]
3971
3929
  },
3972
- {
3973
- "type": "library",
3974
- "bom-ref": "pkg:npm/strip-literal@3.1.0",
3975
- "name": "strip-literal",
3976
- "version": "3.1.0",
3977
- "purl": "pkg:npm/strip-literal@3.1.0",
3978
- "licenses": [
3979
- {
3980
- "license": {
3981
- "id": "MIT"
3982
- }
3983
- }
3984
- ]
3985
- },
3986
3930
  {
3987
3931
  "type": "library",
3988
3932
  "bom-ref": "pkg:npm/tar-fs@2.1.4",
@@ -4083,10 +4027,10 @@
4083
4027
  },
4084
4028
  {
4085
4029
  "type": "library",
4086
- "bom-ref": "pkg:npm/tinyexec@0.3.2",
4030
+ "bom-ref": "pkg:npm/tinyexec@1.2.4",
4087
4031
  "name": "tinyexec",
4088
- "version": "0.3.2",
4089
- "purl": "pkg:npm/tinyexec@0.3.2",
4032
+ "version": "1.2.4",
4033
+ "purl": "pkg:npm/tinyexec@1.2.4",
4090
4034
  "licenses": [
4091
4035
  {
4092
4036
  "license": {
@@ -4111,38 +4055,10 @@
4111
4055
  },
4112
4056
  {
4113
4057
  "type": "library",
4114
- "bom-ref": "pkg:npm/tinypool@1.1.1",
4115
- "name": "tinypool",
4116
- "version": "1.1.1",
4117
- "purl": "pkg:npm/tinypool@1.1.1",
4118
- "licenses": [
4119
- {
4120
- "license": {
4121
- "id": "MIT"
4122
- }
4123
- }
4124
- ]
4125
- },
4126
- {
4127
- "type": "library",
4128
- "bom-ref": "pkg:npm/tinyrainbow@2.0.0",
4058
+ "bom-ref": "pkg:npm/tinyrainbow@3.1.0",
4129
4059
  "name": "tinyrainbow",
4130
- "version": "2.0.0",
4131
- "purl": "pkg:npm/tinyrainbow@2.0.0",
4132
- "licenses": [
4133
- {
4134
- "license": {
4135
- "id": "MIT"
4136
- }
4137
- }
4138
- ]
4139
- },
4140
- {
4141
- "type": "library",
4142
- "bom-ref": "pkg:npm/tinyspy@4.0.4",
4143
- "name": "tinyspy",
4144
- "version": "4.0.4",
4145
- "purl": "pkg:npm/tinyspy@4.0.4",
4060
+ "version": "3.1.0",
4061
+ "purl": "pkg:npm/tinyrainbow@3.1.0",
4146
4062
  "licenses": [
4147
4063
  {
4148
4064
  "license": {
@@ -4459,20 +4375,6 @@
4459
4375
  }
4460
4376
  ]
4461
4377
  },
4462
- {
4463
- "type": "library",
4464
- "bom-ref": "pkg:npm/vite-node@3.2.4",
4465
- "name": "vite-node",
4466
- "version": "3.2.4",
4467
- "purl": "pkg:npm/vite-node@3.2.4",
4468
- "licenses": [
4469
- {
4470
- "license": {
4471
- "id": "MIT"
4472
- }
4473
- }
4474
- ]
4475
- },
4476
4378
  {
4477
4379
  "type": "library",
4478
4380
  "bom-ref": "pkg:npm/vite@6.4.2",
@@ -4489,10 +4391,10 @@
4489
4391
  },
4490
4392
  {
4491
4393
  "type": "library",
4492
- "bom-ref": "pkg:npm/vitest@3.2.4",
4394
+ "bom-ref": "pkg:npm/vitest@4.1.8",
4493
4395
  "name": "vitest",
4494
- "version": "3.2.4",
4495
- "purl": "pkg:npm/vitest@3.2.4",
4396
+ "version": "4.1.8",
4397
+ "purl": "pkg:npm/vitest@4.1.8",
4496
4398
  "licenses": [
4497
4399
  {
4498
4400
  "license": {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "projscan",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "mcpProtocolVersion": "2025-03-26",
5
- "generatedAt": "2026-06-03T23:14:54.100Z",
5
+ "generatedAt": "2026-06-04T20:31:44.986Z",
6
6
  "toolCount": 41,
7
7
  "tools": [
8
8
  {
@@ -778,7 +778,7 @@
778
778
  },
779
779
  {
780
780
  "name": "projscan_plugin",
781
- "description": "Discover and validate stable local analyzer and reporter plugins under .projscan-plugins/. Execution is opt-in via the PROJSCAN_PLUGINS_PREVIEW=1 env flag because plugins are local code. Use action:\"list\" to see what is discoverable today, action:\"validate\" to check a manifest before committing it.",
781
+ "description": "Discover and validate stable local analyzer and reporter plugins under .projscan-plugins/. Execution is opt-in via the PROJSCAN_PLUGINS_PREVIEW=1 env flag AND each module must be approved with trust-on-first-use; the list reports a per-plugin `trust` status (trusted / untrusted / changed). Approving a plugin is a deliberate human action via the `projscan plugin trust <name>` CLI — it is intentionally not exposed here. Use action:\"list\" to see what is discoverable and whether it would run, action:\"validate\" to check a manifest before committing it.",
782
782
  "inputSchema": {
783
783
  "type": "object",
784
784
  "properties": {
@@ -792,7 +792,7 @@
792
792
  },
793
793
  "manifest_path": {
794
794
  "type": "string",
795
- "description": "\"validate\" only — repo-relative or absolute path to a *.projscan-plugin.json file."
795
+ "description": "\"validate\" only — repo-relative path under .projscan-plugins/ to a *.projscan-plugin.json file."
796
796
  }
797
797
  }
798
798
  }
@@ -864,7 +864,7 @@
864
864
  },
865
865
  "enable_plugins": {
866
866
  "type": "boolean",
867
- "description": "Enable local analyzer plugins for this run, equivalent to PROJSCAN_PLUGINS_PREVIEW=1."
867
+ "description": "Request local analyzer plugin evidence only when this MCP server process already has PROJSCAN_PLUGINS_PREVIEW=1. This argument never enables plugin execution by itself."
868
868
  },
869
869
  "max_tokens": {
870
870
  "type": "number",
package/dist/types.d.ts CHANGED
@@ -1175,8 +1175,15 @@ export interface PluginTestResult {
1175
1175
  commands: {
1176
1176
  validate: string;
1177
1177
  test: string;
1178
+ execute: string;
1178
1179
  enable: string;
1179
1180
  };
1181
+ execution: {
1182
+ requested: boolean;
1183
+ executed: boolean;
1184
+ mode: 'static' | 'execute';
1185
+ note: string;
1186
+ };
1180
1187
  context: {
1181
1188
  requested: boolean;
1182
1189
  capabilities: Array<'semanticGraph' | 'dataflow'>;
@@ -48,6 +48,8 @@ export declare const COMMAND_FORMAT_SUPPORT: {
48
48
  readonly 'plugin validate': readonly ["console", "json"];
49
49
  readonly 'plugin init': readonly ["console", "json"];
50
50
  readonly 'plugin test': readonly ["console", "json"];
51
+ readonly 'plugin trust': readonly ["console", "json"];
52
+ readonly 'plugin untrust': readonly ["console", "json"];
51
53
  readonly preflight: readonly ["console", "json"];
52
54
  readonly 'privacy-check': readonly ["console", "json"];
53
55
  readonly 'pr-diff': readonly ["console", "json", "markdown", "html"];
@@ -47,6 +47,8 @@ export const COMMAND_FORMAT_SUPPORT = {
47
47
  'plugin validate': ['console', 'json'],
48
48
  'plugin init': ['console', 'json'],
49
49
  'plugin test': ['console', 'json'],
50
+ 'plugin trust': ['console', 'json'],
51
+ 'plugin untrust': ['console', 'json'],
50
52
  preflight: ['console', 'json'],
51
53
  'privacy-check': ['console', 'json'],
52
54
  'pr-diff': ['console', 'json', 'markdown', 'html'],
@@ -1 +1 @@
1
- {"version":3,"file":"formatSupport.js","sourceRoot":"","sources":["../../src/utils/formatSupport.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAA4C,CAAC;AAE1H,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;IACzD,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;IAC/C,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;IAC5C,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IACjD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAC7C,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACxC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACrC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;IACxD,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACnC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACxC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAChD,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACrC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAChC,GAAG,EAAE,CAAC,SAAS,CAAC;IAChB,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAC9C,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAChC,cAAc,EAAE,CAAC,SAAS,CAAC;IAC3B,GAAG,EAAE,CAAC,SAAS,CAAC;IAChB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,eAAe,EAAE,CAAC,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;IAClD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACtC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IAClD,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACxC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACvC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACtC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAC1C,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACvC,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACvC,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACxC,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACxC,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,eAAe,EAAE,CAAC,SAAS,CAAC;IAC5B,kBAAkB,EAAE,CAAC,SAAS,CAAC;IAC/B,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IAC3C,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;CAC6B,CAAC;AAI7D,MAAM,UAAU,UAAU,CAAC,UAAmC,cAAc;IAC1E,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAQ,sBAAkE,CAAC,WAAW,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,OAA4B;QACrC,OAAO;KACR,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"formatSupport.js","sourceRoot":"","sources":["../../src/utils/formatSupport.ts"],"names":[],"mappings":"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"}