phpstan-mcp-mx 0.22.0 → 0.24.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 (87) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +142 -19
  3. package/dist/baseline.d.ts +10 -0
  4. package/dist/baseline.js +36 -14
  5. package/dist/baseline.js.map +1 -1
  6. package/dist/changed.d.ts +17 -0
  7. package/dist/changed.js +56 -29
  8. package/dist/changed.js.map +1 -1
  9. package/dist/compare.js +12 -6
  10. package/dist/compare.js.map +1 -1
  11. package/dist/composer.js +43 -21
  12. package/dist/composer.js.map +1 -1
  13. package/dist/config.js +12 -6
  14. package/dist/config.js.map +1 -1
  15. package/dist/defaults.js +2 -1
  16. package/dist/defaults.js.map +1 -1
  17. package/dist/dumptype.js +16 -8
  18. package/dist/dumptype.js.map +1 -1
  19. package/dist/failure.d.ts +1 -1
  20. package/dist/failure.js.map +1 -1
  21. package/dist/history.d.ts +61 -0
  22. package/dist/history.js +275 -0
  23. package/dist/history.js.map +1 -0
  24. package/dist/index.js +6 -3
  25. package/dist/index.js.map +1 -1
  26. package/dist/php.js +10 -5
  27. package/dist/php.js.map +1 -1
  28. package/dist/phpstan/error.js.map +1 -1
  29. package/dist/phpstan/output.js +12 -6
  30. package/dist/phpstan/output.js.map +1 -1
  31. package/dist/phpstan/parameters.js.map +1 -1
  32. package/dist/phpstan/process.d.ts +10 -0
  33. package/dist/phpstan/process.js +35 -9
  34. package/dist/phpstan/process.js.map +1 -1
  35. package/dist/phpstan/queue.js +4 -2
  36. package/dist/phpstan/queue.js.map +1 -1
  37. package/dist/phpstan.d.ts +14 -0
  38. package/dist/phpstan.js +94 -25
  39. package/dist/phpstan.js.map +1 -1
  40. package/dist/project.d.ts +6 -2
  41. package/dist/project.js +57 -18
  42. package/dist/project.js.map +1 -1
  43. package/dist/prune.d.ts +92 -0
  44. package/dist/prune.js +387 -0
  45. package/dist/prune.js.map +1 -0
  46. package/dist/report.js +38 -19
  47. package/dist/report.js.map +1 -1
  48. package/dist/root-source.d.ts +43 -0
  49. package/dist/root-source.js +124 -0
  50. package/dist/root-source.js.map +1 -0
  51. package/dist/roots.d.ts +12 -0
  52. package/dist/roots.js +23 -6
  53. package/dist/roots.js.map +1 -1
  54. package/dist/runner.js +14 -7
  55. package/dist/runner.js.map +1 -1
  56. package/dist/runs.js +6 -3
  57. package/dist/runs.js.map +1 -1
  58. package/dist/schema-dialect.js +6 -3
  59. package/dist/schema-dialect.js.map +1 -1
  60. package/dist/server.d.ts +3 -2
  61. package/dist/server.js +9 -5
  62. package/dist/server.js.map +1 -1
  63. package/dist/tmpdir.js +6 -3
  64. package/dist/tmpdir.js.map +1 -1
  65. package/dist/tools/analysis.d.ts +4 -4
  66. package/dist/tools/analysis.js +4 -2
  67. package/dist/tools/analysis.js.map +1 -1
  68. package/dist/tools/inspect.d.ts +9 -7
  69. package/dist/tools/inspect.js +158 -37
  70. package/dist/tools/inspect.js.map +1 -1
  71. package/dist/tools/prompts.d.ts +3 -3
  72. package/dist/tools/prompts.js +16 -8
  73. package/dist/tools/prompts.js.map +1 -1
  74. package/dist/tools/shared.d.ts +2 -2
  75. package/dist/tools/shared.js +7 -5
  76. package/dist/tools/shared.js.map +1 -1
  77. package/dist/tools/writes.d.ts +8 -3
  78. package/dist/tools/writes.js +73 -3
  79. package/dist/tools/writes.js.map +1 -1
  80. package/dist/tools.d.ts +2 -2
  81. package/dist/tools.js +6 -3
  82. package/dist/tools.js.map +1 -1
  83. package/dist/unmatched.d.ts +66 -0
  84. package/dist/unmatched.js +194 -44
  85. package/dist/unmatched.js.map +1 -1
  86. package/dist/version.js.map +1 -1
  87. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIjD,qDAAqD;AACrD,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEhC,uEAAuE;AACvE,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAE7B,8DAA8D;AAC9D,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,qGAAqG;AACrG,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,+FAA+F;AAC/F,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,6FAA6F;AAC7F,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAE/B,oFAAoF;AACpF,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAoI/B;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,MAAsB,EACtB,SAAiB,EAAE,EACnB,UAA6B,EAAE,EAC/B,aAAgC,EAChC,aAAgC,IAAI,EACpC,aAAyC;IAEzC,MAAM,GAAG,GAAqB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9D,GAAG,OAAO;QACV,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;QAC/C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACpG,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;KACvF,CAAC,CAAC,CAAC;IAEJ,2EAA2E;IAC3E,iFAAiF;IACjF,0EAA0E;IAC1E,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,CAAC;IACpF,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CACzB,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CACnD,CAAC;IACF,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IACtF,MAAM,UAAU,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;IAExH,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAE1D,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,aAAa,CAAC,IAAI;QACjC,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QACtC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;QACrB,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;QAC7E,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;QACvB,QAAQ;QACR,IAAI,EAAE;YACJ,MAAM;YACN,KAAK;YACL,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;SACpD;QACD,MAAM;QACN,MAAM;QACN,YAAY,EACV,aAAa,KAAK,SAAS;YACzB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC;gBACE,aAAa,EAAE,cAAc;gBAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,cAAc,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;gBAC1D,UAAU;gBACV,gBAAgB,EAAE,WAAW;aAC9B;QACP,UAAU;KACX,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,SAAS,eAAe,CAAC,WAA0C;IACjE,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACvG,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE,MAAqC;IAC7E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,OAAO,GAAG;QACd,GAAG,IAAI,GAAG,CACR,MAAM;aACH,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACzE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aACrF,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,CAAC,CACpD;KACF,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,SAAS,IAAI,CAAC,IAAY,EAAE,MAAyB;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,SAAS,OAAO,CAAC,OAAuB,EAAE,MAAyB;IACjE,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,KAAK,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,KAAc;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,mFAAmF;IACnF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAClE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,6BAA6B,CAAC,CAAC;QACxG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,2BAA2B,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,kFAAkF;IAClF,yCAAyC;IACzC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GACX,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC;IAEvH,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CACR,eAAe,OAAO,IAAI;gBACxB,iBAAiB,MAAM,CAAC,MAAM,CAAC,UAAU,oBAAoB,CAChE,CAAC;YACF,IAAI,OAAO,KAAK,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QACnG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,kBAAkB,MAAM,CAAC,OAAO,CAAC,iBAAiB,WAAW;QACnF,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,eAAe,OAAO,QAAQ,MAAM,CAAC,MAAM,CAAC,UAAU,YAAY,CAC3F,CAAC;IACF,IAAI,OAAO,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CACR,EAAE,EACF,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,6DAA6D,EACjE,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;IACrF,oFAAoF;IACpF,+DAA+D;IAC/D,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;QAC9D,CAAC,CAAC,CAAC,kFAAkF,CAAC;QACtF,CAAC,CAAC,EAAE,CAAC,CACR,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,kGAAkG,EAClG,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,UAAU,IAAI,GAAG,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAChH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,sBAAsB,EACtB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,IAAI,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAElE,iFAAiF;IACjF,uDAAuD;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;IAC5C,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,KAAK,OAAO,CAAC,UAAU,IAAI,GAAG,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,YAAY;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,kDAAkD;gBACzE,UAAU,EAAE,gBAAgB;YAChC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,kDAAkD;gBACzE,UAAU,EAAE,eAAe,KAAK,qDAAqD;gBACrF,iBAAiB,CACxB,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gGAAgG;AAChG,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtF,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpF,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,OAA4B,EAAE,gBAAgB,GAAG,KAAK;IAClF,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,GAAG,GACP,GAAG,OAAO,CAAC,aAAa,0CAA0C;YAClE,GAAG,OAAO,CAAC,SAAS,oCAAoC,OAAO,CAAC,UAAU,+BAA+B,CAAC;QAC5G,sFAAsF;QACtF,IAAI,gBAAgB;YAAE,OAAO,GAAG,GAAG,kEAAkE,CAAC;QACtG,sFAAsF;QACtF,oFAAoF;QACpF,OAAO,OAAO,CAAC,UAAU,KAAK,CAAC,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC;YACxD,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,GAAG,GAAG,4EAA4E;gBAChF,wFAAwF;gBACxF,8DAA8D,CAAC;IACvE,CAAC;IAED,MAAM,GAAG,GACP,GAAG,OAAO,CAAC,aAAa,0CAA0C;QAClE,GAAG,OAAO,CAAC,SAAS,4BAA4B,CAAC;IACnD,OAAO,OAAO,CAAC,SAAS,KAAK,CAAC;QAC5B,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,GAAG,GAAG,gFAAgF;YACpF,8CAA8C,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,UAAsB;IAChD,MAAM,GAAG,GACP,UAAU,CAAC,KAAK,KAAK,MAAM;QACzB,CAAC,CAAC,mCAAmC,UAAU,CAAC,UAAU,GAAG;QAC7D,CAAC,CAAC,mBAAmB,MAAM,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,UAAU,CAAC,UAAU,GAAG,CAAC;IACpG,MAAM,KAAK,GAAa;QACtB,UAAU,CAAC,KAAK,KAAK,CAAC,IAAI,UAAU,CAAC,GAAG,KAAK,CAAC;YAC5C,CAAC,CAAC,iBAAiB,GAAG,iCAAiC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc;YACjG,CAAC,CAAC,iBAAiB,GAAG,KAAK,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ;gBAC1F,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc;KAClD,CAAC;IAEF,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,UAAU,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,0CAA0C,EAC1H,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAC9C,CAAC;QACF,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,6DAA6D;YACrG,sCAAsC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnF,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,KAAoB;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1F,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM;QAC9B,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC;QACrG,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC,UAAU,IAAI,GAAG,KAAK,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC;AAC3F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAA2B;IACvD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnD,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe;IAC/B,OAAO,OAAO,CAAC,MAAM,IAAI,iBAAiB;QACxC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC;AAC5D,CAAC;AAED,8DAA8D;AAC9D,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAExC;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,UAAkB;IACjC,OAAO,yCAAyC,UAAU,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,SAAS,CAAC,QAAmC;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6F,CAAC;IAExH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,aAAa,CAAC;QACvD,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAExE,sFAAsF;QACtF,sFAAsF;QACtF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAC9H,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,iBAAiB,EAAE,OAAO,CAAC,IAAI;QAC/B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,UAAU;YACV,KAAK;YACL,IAAI,EAAE,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;SAChE,CAAC,CAAC;QACH,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;aAChC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aACtG,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;aACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;YACtD,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;SAC5B,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,YAAY,CAAC,GAAoB;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC;IAC9G,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;IACrG,OAAO,GAAG,OAAO,MAAM,IAAI,GAAG,CAAC;AACjC,CAAC;AAED,yFAAyF;AACzF,SAAS,OAAO,CAAC,MAA2B;IAC1C,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,IAAY;IACvD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,IAAY;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IACxB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import type { ResolvedProject } from './project.js';
3
+ import type { Root } from './roots.js';
4
+ /** De roots die voor één aanroep gelden. */
5
+ export interface ScopedRoots {
6
+ /** De whitelist: PHPSTAN_MCP_ROOTS als die gezet is, anders de roots van de client. */
7
+ readonly allowed: readonly Root[];
8
+ /** Waar `allowed` vandaan komt. */
9
+ readonly origin: 'config' | 'client';
10
+ /** De mappen die de client deelt; hiertegen wordt een relatief `project` geresolved. */
11
+ readonly client: readonly Root[];
12
+ /** Waarom de client geen mappen deelt, of null als hij dat wel doet. */
13
+ readonly clientProblem: string | null;
14
+ }
15
+ /**
16
+ * De roots per aanroep: de geconfigureerde, en die van de client via MCP `roots/list`.
17
+ *
18
+ * Waarom de client en niet `process.cwd()`: nagemeten start Claude Code de server wel in de
19
+ * map van de sessie, maar een client die dat niet doet (Claude Desktop) laat de server in een
20
+ * willekeurige map starten, en dan wijst `.` stil ergens anders heen. Met roots zegt de client
21
+ * zelf welke map hij bedoelt, en zonder roots is er geen gok maar een melding.
22
+ *
23
+ * Wat de client deelt, komt van de client en niet uit een tool-argument: dezelfde grens als bij
24
+ * de runners. Is PHPSTAN_MCP_ROOTS gezet, dan blijft die de whitelist en bepalen de roots van de
25
+ * client alleen waar `.` naar wijst; een map daarbuiten wordt dan gewoon geweigerd.
26
+ */
27
+ export declare class RootSource {
28
+ private readonly configured;
29
+ private readonly server;
30
+ private cached;
31
+ constructor(configured: readonly Root[], server: Server);
32
+ /** De whitelist en de mappen van de client, zoals ze nu gelden. */
33
+ current(): Promise<ScopedRoots>;
34
+ /** `resolveProject` met de roots van dit moment: de whitelist én de basis voor een relatief pad. */
35
+ resolveProject(argument: string): Promise<ResolvedProject>;
36
+ private clientRoots;
37
+ /**
38
+ * Ook een mislukte vraag blijft in de cache, tot de client meldt dat zijn roots veranderd
39
+ * zijn. Anders kost elke aanroep met een project opnieuw de volle wachttijd bij een client
40
+ * die de capability noemt maar niet antwoordt.
41
+ */
42
+ private fetch;
43
+ }
@@ -0,0 +1,124 @@
1
+ import { RootsListChangedNotificationSchema } from '@modelcontextprotocol/sdk/types.js';
2
+ import { fileURLToPath } from 'node:url';
3
+ import { resolveProject } from './project.js';
4
+ import { inspectRoot } from './roots.js';
5
+ /**
6
+ * Hoe lang de server op `roots/list` wacht. Het is een vraag aan het proces dat de server
7
+ * zelf gestart heeft; wie daar seconden over doet, antwoordt waarschijnlijk nooit, en elke
8
+ * aanroep die op een relatief pad wacht, wacht hierop mee.
9
+ */
10
+ const LIST_ROOTS_TIMEOUT_MS = 5_000;
11
+ /**
12
+ * De roots per aanroep: de geconfigureerde, en die van de client via MCP `roots/list`.
13
+ *
14
+ * Waarom de client en niet `process.cwd()`: nagemeten start Claude Code de server wel in de
15
+ * map van de sessie, maar een client die dat niet doet (Claude Desktop) laat de server in een
16
+ * willekeurige map starten, en dan wijst `.` stil ergens anders heen. Met roots zegt de client
17
+ * zelf welke map hij bedoelt, en zonder roots is er geen gok maar een melding.
18
+ *
19
+ * Wat de client deelt, komt van de client en niet uit een tool-argument: dezelfde grens als bij
20
+ * de runners. Is PHPSTAN_MCP_ROOTS gezet, dan blijft die de whitelist en bepalen de roots van de
21
+ * client alleen waar `.` naar wijst; een map daarbuiten wordt dan gewoon geweigerd.
22
+ */
23
+ export class RootSource {
24
+ configured;
25
+ server;
26
+ cached = null;
27
+ constructor(configured, server) {
28
+ this.configured = configured;
29
+ this.server = server;
30
+ // Een client die zijn roots verandert (Claude Code bij /add-dir) meldt dat; de volgende
31
+ // aanroep vraagt ze dan opnieuw op in plaats van met de oude lijst te werken.
32
+ server.setNotificationHandler(RootsListChangedNotificationSchema, () => {
33
+ this.cached = null;
34
+ });
35
+ }
36
+ /** De whitelist en de mappen van de client, zoals ze nu gelden. */
37
+ async current() {
38
+ const client = await this.clientRoots();
39
+ const fromConfig = this.configured.length > 0;
40
+ return {
41
+ allowed: fromConfig ? this.configured : client.roots,
42
+ origin: fromConfig ? 'config' : 'client',
43
+ client: client.roots,
44
+ clientProblem: client.problem,
45
+ };
46
+ }
47
+ /** `resolveProject` met de roots van dit moment: de whitelist én de basis voor een relatief pad. */
48
+ async resolveProject(argument) {
49
+ const scope = await this.current();
50
+ return resolveProject(argument, scope.allowed, scope.client, scope.clientProblem);
51
+ }
52
+ clientRoots() {
53
+ // Vóór de initialisatie zijn de capabilities van de client nog onbekend; dat antwoord
54
+ // hoort niet in de cache, anders blijft "deelt niets" de rest van de sessie staan.
55
+ if (this.server.getClientCapabilities() === undefined) {
56
+ return Promise.resolve({ roots: [], problem: 'the client has not shared its capabilities yet' });
57
+ }
58
+ this.cached ??= this.fetch(this.server);
59
+ return this.cached;
60
+ }
61
+ /**
62
+ * Ook een mislukte vraag blijft in de cache, tot de client meldt dat zijn roots veranderd
63
+ * zijn. Anders kost elke aanroep met een project opnieuw de volle wachttijd bij een client
64
+ * die de capability noemt maar niet antwoordt.
65
+ */
66
+ async fetch(server) {
67
+ if (server.getClientCapabilities()?.roots === undefined) {
68
+ return { roots: [], problem: 'the client does not share its working directory (no MCP roots capability)' };
69
+ }
70
+ try {
71
+ const { roots } = await server.listRoots(undefined, { timeout: LIST_ROOTS_TIMEOUT_MS });
72
+ return { roots: dedupe(roots.map((root) => fromUri(root.uri))), problem: null };
73
+ }
74
+ catch (error) {
75
+ return { roots: [], problem: `the client gave no usable answer to roots/list (${describeError(error)})` };
76
+ }
77
+ }
78
+ }
79
+ /**
80
+ * Eén regel uit een fout van `listRoots`. Het SDK valideert het antwoord zelf en keurt de hele
81
+ * lijst af als één URI niet met `file://` begint; zijn melding is dan een JSON-dump van de
82
+ * zod-fouten, en daarvan is alleen de `message` leesbaar.
83
+ */
84
+ function describeError(error) {
85
+ const text = error instanceof Error ? error.message : String(error);
86
+ try {
87
+ const issues = JSON.parse(text);
88
+ const first = issues[0]?.message;
89
+ if (typeof first === 'string') {
90
+ return first;
91
+ }
92
+ }
93
+ catch {
94
+ // Geen JSON: dan is de melding zelf al tekst.
95
+ }
96
+ return text.replace(/\s+/g, ' ').slice(0, 200);
97
+ }
98
+ /**
99
+ * Een root van de client als Root. Het SDK laat alleen `file://` door, maar ook dan kan de URI
100
+ * naar een andere machine wijzen (`file://server/share` op Linux); dat is geen map hier.
101
+ */
102
+ function fromUri(uri) {
103
+ let local;
104
+ try {
105
+ local = fileURLToPath(uri);
106
+ }
107
+ catch {
108
+ return { raw: uri, path: null, problem: 'not a local file:// URI' };
109
+ }
110
+ return inspectRoot(uri, local);
111
+ }
112
+ /** Twee URI's kunnen dezelfde map zijn (een symlink, een andere schrijfwijze op Windows). */
113
+ function dedupe(roots) {
114
+ const seen = new Set();
115
+ return roots.filter((root) => {
116
+ const key = root.path ?? `raw:${root.raw}`;
117
+ if (seen.has(key)) {
118
+ return false;
119
+ }
120
+ seen.add(key);
121
+ return true;
122
+ });
123
+ }
124
+ //# sourceMappingURL=root-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-source.js","sourceRoot":"","sources":["../src/root-source.ts"],"names":[],"mappings":"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"}
package/dist/roots.d.ts CHANGED
@@ -15,9 +15,21 @@ export interface Root {
15
15
  * kan uitleggen waarom een verwacht project ontbreekt.
16
16
  */
17
17
  export declare function loadRoots(env?: NodeJS.ProcessEnv): Root[];
18
+ /**
19
+ * Controleert één root: absoluut, bestaand en een map, en geeft het geresolvede pad. Ook
20
+ * voor de roots van de client, zodat die door dezelfde realpath-normalisatie gaan als de
21
+ * geconfigureerde. `raw` blijft wat er gegeven werd (bij de client een `file://`-URI),
22
+ * `local` is het pad dat daarbij hoort.
23
+ */
24
+ export declare function inspectRoot(raw: string, local?: string): Root;
18
25
  /** Een root waarvan het pad geresolvet is en die dus daadwerkelijk bruikbaar is. */
19
26
  export type UsableRoot = Root & {
20
27
  path: string;
21
28
  };
22
29
  /** Type-guard zodat `roots.filter(isUsable)` het null-pad wegneemt. */
23
30
  export declare function isUsable(root: Root): root is UsableRoot;
31
+ /**
32
+ * Het pad van de enige bruikbare root, of null bij geen of meerdere. Voor de mappen van de
33
+ * client: alleen bij precies één is duidelijk waar een relatief `project` naar wijst.
34
+ */
35
+ export declare function soleRoot(roots: readonly Root[]): string | null;
package/dist/roots.js CHANGED
@@ -12,36 +12,45 @@ export function loadRoots(env = process.env) {
12
12
  // De omgeving wint van het bestand: die staat in de configuratie van één client,
13
13
  // het bestand geldt voor de hele machine.
14
14
  const configured = env[ROOTS_ENV_VAR] ?? fromConfig('roots', env);
15
- if (configured === undefined || configured.trim() === '')
15
+ if (configured === undefined || configured.trim() === '') {
16
16
  return [];
17
+ }
17
18
  const roots = [];
18
19
  const seen = new Set();
19
20
  // path.delimiter in plaats van een harde ':' op Windows is dat ';', en een
20
21
  // Windows-pad bevat zelf een dubbele punt na de driveletter.
21
22
  for (const entry of configured.split(delimiter)) {
22
23
  const raw = entry.trim();
23
- if (raw === '')
24
+ if (raw === '') {
24
25
  continue;
26
+ }
25
27
  const root = inspectRoot(raw);
26
28
  // Dedupliceren op het geresolvede pad: twee verschillende regels kunnen via
27
29
  // een symlink dezelfde map zijn.
28
30
  const key = root.path ?? `raw:${raw}`;
29
- if (seen.has(key))
31
+ if (seen.has(key)) {
30
32
  continue;
33
+ }
31
34
  seen.add(key);
32
35
  roots.push(root);
33
36
  }
34
37
  return roots;
35
38
  }
36
- function inspectRoot(raw) {
37
- if (!isAbsolute(raw)) {
39
+ /**
40
+ * Controleert één root: absoluut, bestaand en een map, en geeft het geresolvede pad. Ook
41
+ * voor de roots van de client, zodat die door dezelfde realpath-normalisatie gaan als de
42
+ * geconfigureerde. `raw` blijft wat er gegeven werd (bij de client een `file://`-URI),
43
+ * `local` is het pad dat daarbij hoort.
44
+ */
45
+ export function inspectRoot(raw, local = raw) {
46
+ if (!isAbsolute(local)) {
38
47
  return { raw, path: null, problem: 'not an absolute path' };
39
48
  }
40
49
  try {
41
50
  // realpathSync.native en niet de JS-variant: alleen de native versie
42
51
  // corrigeert ook de hoofdlettervorm op een case-insensitive volume (macOS),
43
52
  // en die vorm moet kloppen omdat de containment-check erop vergelijkt.
44
- const path = realpathSync.native(raw);
53
+ const path = realpathSync.native(local);
45
54
  if (!statSync(path).isDirectory()) {
46
55
  return { raw, path: null, problem: 'is not a directory' };
47
56
  }
@@ -55,4 +64,12 @@ function inspectRoot(raw) {
55
64
  export function isUsable(root) {
56
65
  return root.path !== null;
57
66
  }
67
+ /**
68
+ * Het pad van de enige bruikbare root, of null bij geen of meerdere. Voor de mappen van de
69
+ * client: alleen bij precies één is duidelijk waar een relatief `project` naar wijst.
70
+ */
71
+ export function soleRoot(roots) {
72
+ const usable = roots.filter(isUsable);
73
+ return usable.length === 1 ? (usable[0]?.path ?? null) : null;
74
+ }
58
75
  //# sourceMappingURL=roots.js.map
package/dist/roots.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"roots.js","sourceRoot":"","sources":["../src/roots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAElD,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAYjD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC5D,iFAAiF;IACjF,0CAA0C;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAEpE,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,2EAA2E;IAC3E,6DAA6D;IAC7D,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,EAAE;YAAE,SAAS;QAEzB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,4EAA4E;QAC5E,iCAAiC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC;QACH,qEAAqE;QACrE,4EAA4E;QAC5E,uEAAuE;QACvE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACxD,CAAC;AACH,CAAC;AAKD,uEAAuE;AACvE,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"roots.js","sourceRoot":"","sources":["../src/roots.ts"],"names":[],"mappings":"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"}
package/dist/runner.js CHANGED
@@ -19,8 +19,9 @@ export const RUNNERS_ENV_VAR = 'PHPSTAN_MCP_RUNNERS';
19
19
  */
20
20
  export function loadRunners(env = process.env) {
21
21
  const ruw = (env[RUNNERS_ENV_VAR] ?? fromConfig('runners', env))?.trim();
22
- if (ruw === undefined || ruw === '')
22
+ if (ruw === undefined || ruw === '') {
23
23
  return new Map();
24
+ }
24
25
  let ontleed;
25
26
  try {
26
27
  ontleed = JSON.parse(ruw);
@@ -79,13 +80,16 @@ export function naarOmgeving(runner, project, pad, host = path) {
79
80
  // Alleen absolute paden: hier komen ook subcommando's als `analyse` langs, en
80
81
  // `relative` resolvet een relatief pad tegen de cwd van de server. Is die toevallig
81
82
  // het project, dan werd `analyse` anders `/var/www/html/analyse`.
82
- if (!host.isAbsolute(pad))
83
+ if (!host.isAbsolute(pad)) {
83
84
  return pad;
85
+ }
84
86
  const rel = host.relative(project, pad);
85
- if (rel === '')
87
+ if (rel === '') {
86
88
  return runner.workdir;
87
- if (buiten(rel, host))
89
+ }
90
+ if (buiten(rel, host)) {
88
91
  return pad;
92
+ }
89
93
  return path.posix.join(runner.workdir, ...rel.split(host.sep));
90
94
  }
91
95
  /**
@@ -95,13 +99,16 @@ export function naarOmgeving(runner, project, pad, host = path) {
95
99
  * dat bestand openen: dat pad bestaat alleen binnen de container.
96
100
  */
97
101
  export function naarHost(runner, project, pad, host = path) {
98
- if (!path.posix.isAbsolute(pad))
102
+ if (!path.posix.isAbsolute(pad)) {
99
103
  return pad;
104
+ }
100
105
  const rel = path.posix.relative(runner.workdir, pad);
101
- if (rel === '')
106
+ if (rel === '') {
102
107
  return project;
103
- if (buiten(rel, path.posix))
108
+ }
109
+ if (buiten(rel, path.posix)) {
104
110
  return pad;
111
+ }
105
112
  return host.join(project, ...rel.split('/'));
106
113
  }
107
114
  /** Het pad naar het PHPStan-binary binnen de omgeving van de runner altijd POSIX. */
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,+EAA+E;AAC/E,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,YAAY,OAAe,EAAE,SAAwB,iBAAiB,EAAE,UAA0B,EAAE;QAClG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;CACF;AAED,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAerD;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC9D,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACzE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAEtD,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,WAAW,CACnB,GAAG,eAAe,qEAAqE;YACrF,+CAA+C,CAClD,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,WAAW,CAAC,GAAG,eAAe,mDAAmD,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,qFAAqF;AACrF,SAAS,UAAU,CAAC,GAAW,EAAE,MAAe;IAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,WAAW,CAAC,GAAG,eAAe,MAAM,GAAG,oCAAoC,CAAC,CAAC;IACzF,CAAC;IAED,oFAAoF;IACpF,kEAAkE;IAClE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,WAAW,CACnB,GAAG,eAAe,MAAM,GAAG,mDAAmD,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAkD,CAAC;IAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAE5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC1G,MAAM,IAAI,WAAW,CACnB,GAAG,eAAe,MAAM,GAAG,gEAAgE;YACzF,2EAA2E,CAC9E,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,WAAW,CACnB,GAAG,eAAe,MAAM,GAAG,2DAA2D;YACpF,mFAAmF;YACnF,mCAAmC,CACtC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,MAAyB,OAAO,CAAC,GAAG;IAC7E,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;AAC/C,CAAC;AASD;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,OAAe,EAAE,GAAW,EAAE,OAAkB,IAAI;IAC/F,8EAA8E;IAC9E,oFAAoF;IACpF,kEAAkE;IAClE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IACtC,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,OAAe,EAAE,GAAW,EAAE,OAAkB,IAAI;IAC3F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,OAAO,CAAC;IAC/B,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,SAAS,MAAM,CAAC,GAAW,EAAE,KAA8C;IACzE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/dist/runs.js CHANGED
@@ -46,8 +46,9 @@ export class RunStore {
46
46
  // Een Map houdt de volgorde van toevoegen aan; de eerste sleutel is dus de oudste.
47
47
  while (this.runs.size > this.max) {
48
48
  const oldest = this.runs.keys().next().value;
49
- if (oldest === undefined)
49
+ if (oldest === undefined) {
50
50
  break;
51
+ }
51
52
  this.runs.delete(oldest);
52
53
  }
53
54
  return id;
@@ -70,15 +71,17 @@ export class RunStore {
70
71
  find(id, project, key, maxAgeMs) {
71
72
  this.prune();
72
73
  const run = this.runs.get(id);
73
- if (run === undefined || run.project !== project || run.key !== key)
74
+ if (run === undefined || run.project !== project || run.key !== key) {
74
75
  return null;
76
+ }
75
77
  return run.createdAt < this.now() - maxAgeMs ? null : run;
76
78
  }
77
79
  prune() {
78
80
  const grens = this.now() - this.keepMs;
79
81
  for (const [id, run] of this.runs) {
80
- if (run.createdAt < grens)
82
+ if (run.createdAt < grens) {
81
83
  this.runs.delete(id);
84
+ }
82
85
  }
83
86
  }
84
87
  }
package/dist/runs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
@@ -17,11 +17,13 @@
17
17
  * elders nog gebruiken.
18
18
  */
19
19
  export function stripSchemaDialect(message) {
20
- if (!('result' in message))
20
+ if (!('result' in message)) {
21
21
  return message;
22
+ }
22
23
  const tools = message.result.tools;
23
- if (!Array.isArray(tools))
24
+ if (!Array.isArray(tools)) {
24
25
  return message;
26
+ }
25
27
  return {
26
28
  ...message,
27
29
  result: { ...message.result, tools: tools.map(withoutDialect) },
@@ -41,8 +43,9 @@ export function withoutSchemaDialect(transport) {
41
43
  return transport;
42
44
  }
43
45
  function withoutDialect(tool) {
44
- if (typeof tool !== 'object' || tool === null)
46
+ if (typeof tool !== 'object' || tool === null) {
45
47
  return tool;
48
+ }
46
49
  const copy = { ...tool };
47
50
  for (const key of ['inputSchema', 'outputSchema']) {
48
51
  const schema = copy[key];
@@ -1 +1 @@
1
- {"version":3,"file":"schema-dialect.js","sourceRoot":"","sources":["../src/schema-dialect.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IACxD,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAE3C,MAAM,KAAK,GAAI,OAAO,CAAC,MAA8B,CAAC,KAAK,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAE1C,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;KAChE,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAsB,SAAY;IACpE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,SAAS,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAClF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAE3D,MAAM,IAAI,GAA4B,EAAE,GAAI,IAAgC,EAAE,CAAC;IAC/E,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACzE,MAAM,IAAI,GAA4B,EAAE,GAAI,MAAkC,EAAE,CAAC;YACjF,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"schema-dialect.js","sourceRoot":"","sources":["../src/schema-dialect.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IAExD,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAI,OAAO,CAAC,MAA8B,CAAC,KAAK,CAAC;IAE5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;KAChE,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAsB,SAAY;IAEpE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,SAAS,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAClF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IAEnC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAA4B,EAAE,GAAI,IAAgC,EAAE,CAAC;IAE/E,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACzE,MAAM,IAAI,GAA4B,EAAE,GAAI,MAAkC,EAAE,CAAC;YACjF,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/server.d.ts CHANGED
@@ -2,9 +2,10 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { Root } from './roots.js';
3
3
  /**
4
4
  * Bouwt de MCP-server met de tools die op deze set roots van toepassing zijn.
5
- * De roots worden één keer bij het opstarten ingelezen: ze komen uit de
5
+ * De geconfigureerde roots worden één keer bij het opstarten ingelezen: ze komen uit de
6
6
  * serverconfiguratie, niet uit een tool-argument, en horen dus niet per aanroep
7
- * te kunnen wijzigen.
7
+ * te kunnen wijzigen. Zijn er geen, dan gelden de mappen die de client deelt (MCP
8
+ * roots); ook die komen niet uit een tool-argument. Zie root-source.ts.
8
9
  *
9
10
  * Staat bewust los van index.ts: dat bestand start bij import meteen de server,
10
11
  * en een test die alleen de tools wil aanspreken moet dat niet in gang zetten.
package/dist/server.js CHANGED
@@ -1,12 +1,14 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { RootSource } from './root-source.js';
2
3
  import { withoutSchemaDialect } from './schema-dialect.js';
3
4
  import { registerTools } from './tools.js';
4
5
  import { VERSION } from './version.js';
5
6
  /**
6
7
  * Bouwt de MCP-server met de tools die op deze set roots van toepassing zijn.
7
- * De roots worden één keer bij het opstarten ingelezen: ze komen uit de
8
+ * De geconfigureerde roots worden één keer bij het opstarten ingelezen: ze komen uit de
8
9
  * serverconfiguratie, niet uit een tool-argument, en horen dus niet per aanroep
9
- * te kunnen wijzigen.
10
+ * te kunnen wijzigen. Zijn er geen, dan gelden de mappen die de client deelt (MCP
11
+ * roots); ook die komen niet uit een tool-argument. Zie root-source.ts.
10
12
  *
11
13
  * Staat bewust los van index.ts: dat bestand start bij import meteen de server,
12
14
  * en een test die alleen de tools wil aanspreken moet dat niet in gang zetten.
@@ -18,10 +20,12 @@ export function createServer(roots) {
18
20
  // is dus geen belofte zonder handler de valkuil die bij `tools` wél geldt.
19
21
  capabilities: { logging: {} },
20
22
  instructions: 'Static analysis of PHP projects with PHPStan. Every tool expects an ' +
21
- 'explicit `project` path; the server has no "current project". Call ' +
22
- 'list_projects to see which paths are valid.',
23
+ 'explicit `project`: an absolute path, or a path relative to the working ' +
24
+ 'directory the client shares ("." for that directory itself). The server ' +
25
+ 'remembers no project between calls. Call list_projects to see which ' +
26
+ 'projects are in scope.',
23
27
  });
24
- registerTools(server, roots);
28
+ registerTools(server, new RootSource(roots, server.server));
25
29
  // Hier en niet in index.ts: dan geldt het ook voor de tests, die via een
26
30
  // InMemoryTransport met een echte SDK-client praten. Zie schema-dialect.ts.
27
31
  const connect = server.connect.bind(server);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,EACzC;QACE,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7B,YAAY,EACV,sEAAsE;YACtE,qEAAqE;YACrE,6CAA6C;KAChD,CACF,CAAC;IAEF,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE7B,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,CAAC,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IAEzE,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IAExC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,EACzC;QACE,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7B,YAAY,EACV,sEAAsE;YACtE,0EAA0E;YAC1E,0EAA0E;YAC1E,sEAAsE;YACtE,wBAAwB;KAC3B,CACF,CAAC;IAEF,aAAa,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5D,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,CAAC,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IAEzE,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/tmpdir.js CHANGED
@@ -25,10 +25,12 @@ const HASH_LENGTH = 12;
25
25
  */
26
26
  export function loadTmpDirMode(env = process.env) {
27
27
  const configured = (env[TMPDIR_ENV_VAR] ?? fromConfig('tmpDir', env))?.trim().toLowerCase();
28
- if (configured === undefined || configured === '')
28
+ if (configured === undefined || configured === '') {
29
29
  return 'project';
30
- if (configured === 'project' || configured === 'shared')
30
+ }
31
+ if (configured === 'project' || configured === 'shared') {
31
32
  return configured;
33
+ }
32
34
  throw new TmpDirError(`${TMPDIR_ENV_VAR} is set to "${configured}". Valid values are "project" (a separate ` +
33
35
  'directory per project, the default) and "shared" (the system temp directory).');
34
36
  }
@@ -69,8 +71,9 @@ function lockHash(project) {
69
71
  * platformen dezelfde valkuil als de procesgroep bij een timeout.
70
72
  */
71
73
  export function tmpDirEnv(project, env = process.env) {
72
- if (loadTmpDirMode(env) === 'shared')
74
+ if (loadTmpDirMode(env) === 'shared') {
73
75
  return {};
76
+ }
74
77
  const path = projectTmpDir(project);
75
78
  try {
76
79
  mkdirSync(path, { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"tmpdir.js","sourceRoot":"","sources":["../src/tmpdir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tmpdir.js","sourceRoot":"","sources":["../src/tmpdir.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { Root } from '../roots.js';
2
+ import type { RootSource } from '../root-source.js';
3
3
  import type { RunStore } from '../runs.js';
4
4
  /** Hangt `analyse_project` aan de server: PHPStan over (een deel van) een project. */
5
- export declare function registerAnalyseProject(server: McpServer, roots: Root[], runs: RunStore): void;
5
+ export declare function registerAnalyseProject(server: McpServer, roots: RootSource, runs: RunStore): void;
6
6
  /** Hangt `analyse_changed` aan de server: alleen wat git gewijzigd heeft. */
7
- export declare function registerAnalyseChanged(server: McpServer, roots: Root[], runs: RunStore): void;
7
+ export declare function registerAnalyseChanged(server: McpServer, roots: RootSource, runs: RunStore): void;
8
8
  /** Hangt `analyse_file` aan de server: één bestand of map binnen een project. */
9
- export declare function registerAnalyseFile(server: McpServer, roots: Root[], runs: RunStore): void;
9
+ export declare function registerAnalyseFile(server: McpServer, roots: RootSource, runs: RunStore): void;