phpstan-mcp-mx 0.14.0 → 0.16.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 (46) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +449 -365
  3. package/dist/baseline.d.ts +23 -2
  4. package/dist/baseline.js +32 -6
  5. package/dist/baseline.js.map +1 -1
  6. package/dist/changed.d.ts +47 -0
  7. package/dist/changed.js +170 -1
  8. package/dist/changed.js.map +1 -1
  9. package/dist/config.d.ts +11 -0
  10. package/dist/config.js +20 -2
  11. package/dist/config.js.map +1 -1
  12. package/dist/defaults.js +2 -2
  13. package/dist/defaults.js.map +1 -1
  14. package/dist/phpstan/parameters.d.ts +41 -0
  15. package/dist/phpstan/parameters.js +66 -0
  16. package/dist/phpstan/parameters.js.map +1 -0
  17. package/dist/phpstan/process.d.ts +6 -0
  18. package/dist/phpstan/process.js +8 -1
  19. package/dist/phpstan/process.js.map +1 -1
  20. package/dist/phpstan.d.ts +6 -1
  21. package/dist/phpstan.js +100 -28
  22. package/dist/phpstan.js.map +1 -1
  23. package/dist/report.d.ts +2 -0
  24. package/dist/report.js +24 -3
  25. package/dist/report.js.map +1 -1
  26. package/dist/runner.d.ts +19 -4
  27. package/dist/runner.js +48 -18
  28. package/dist/runner.js.map +1 -1
  29. package/dist/tmpdir.d.ts +7 -0
  30. package/dist/tmpdir.js +21 -2
  31. package/dist/tmpdir.js.map +1 -1
  32. package/dist/tools/analysis.js +44 -3
  33. package/dist/tools/analysis.js.map +1 -1
  34. package/dist/tools/inspect.js +59 -11
  35. package/dist/tools/inspect.js.map +1 -1
  36. package/dist/tools/prompts.d.ts +12 -4
  37. package/dist/tools/prompts.js +302 -58
  38. package/dist/tools/prompts.js.map +1 -1
  39. package/dist/tools/shared.d.ts +4 -0
  40. package/dist/tools/shared.js +14 -4
  41. package/dist/tools/shared.js.map +1 -1
  42. package/dist/tools.js +1 -1
  43. package/dist/tools.js.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/package.json +2 -2
@@ -1,79 +1,139 @@
1
+ import { basename } from 'node:path';
1
2
  import { z } from 'zod';
3
+ import { completable } from '@modelcontextprotocol/sdk/server/completable.js';
4
+ import { discoverProjects } from '../project.js';
2
5
  /**
3
- * Hangt de prompts aan de server: het werkpatroon om je eigen wijziging na te kijken,
4
- * en dat om te zien wat een level hoger kost.
6
+ * Hangt de prompts aan de server: werkpatronen die bestaande tools combineren.
5
7
  *
6
8
  * Een prompt en geen tool, omdat het alleen bestaande tools combineert. Een tool kost
7
9
  * context in elke `tools/list`, ook in een sessie die hem nooit gebruikt; een prompt
8
- * alleen als iemand hem kiest.
10
+ * alleen als iemand hem kiest. Elke vangrail in deze teksten komt uit een proefrun op
11
+ * een echt project die zonder die zin misging — zie fase 15.6 en 16 in het plan.
9
12
  */
10
- export function registerPrompts(server) {
11
- registerReviewPrompt(server);
12
- registerLevelPrompt(server);
13
+ export function registerPrompts(server, roots) {
14
+ registerReviewPrompt(server, roots);
15
+ registerLevelPrompt(server, roots);
16
+ registerBaselinePrompt(server, roots);
17
+ registerKindPrompt(server, roots);
18
+ registerComparePrompt(server, roots);
13
19
  }
14
- /** Het werkpatroon om je eigen wijziging na te kijken. */
15
- function registerReviewPrompt(server) {
20
+ /**
21
+ * De projecten binnen de roots die passen bij wat er al getypt is: een prefix op het
22
+ * volledige pad of op de mapnaam, zonder onderscheid in hoofdletters. Elke keer opnieuw
23
+ * ontdekt en niet gecachet — net zoals `withSlot` zijn grens elke keer opnieuw leest,
24
+ * zodat een nieuw project meteen meedoet.
25
+ */
26
+ export function suggestProjects(roots, value, exclude) {
27
+ const needle = value.trim().toLowerCase();
28
+ return discoverProjects(roots)
29
+ .map((project) => project.path)
30
+ .filter((path) => path !== exclude)
31
+ .filter((path) => path.toLowerCase().startsWith(needle) || basename(path).toLowerCase().startsWith(needle));
32
+ }
33
+ /**
34
+ * Een optioneel projectargument met aanvulling uit `list_projects`.
35
+ *
36
+ * **Dubbel gemarkeerd, en dat is geen vergissing.** Het SDK (1.30) kijkt voor de
37
+ * capability naar de binnenkant van een `ZodOptional`, maar bij het aanvullen naar het
38
+ * veld zelf. Nagemeten met een echte client:
39
+ *
40
+ * - `completable(z.string().optional())`: geen `completions`-capability, `-32601`;
41
+ * - `completable(z.string()).optional()`: capability wel, maar altijd een lege lijst;
42
+ * - beide gemarkeerd: capability én suggesties.
43
+ *
44
+ * De test in tools.spec vraagt echt om aanvulling; verandert het SDK dit gedrag, dan
45
+ * valt die om in plaats van dat de keuzelijst stil leeg blijft.
46
+ */
47
+ function projectArgument(roots, description, exclude) {
48
+ const complete = (value, context) => suggestProjects(roots, value ?? '', exclude?.(context?.arguments));
49
+ return completable(completable(z.string(), complete).optional().describe(description), complete);
50
+ }
51
+ const PROJECT_DESCRIPTION = 'Absoluut pad naar de projectroot; laat leeg om eerst list_projects te doen';
52
+ /** De openingszin: het project, of eerst list_projects als er geen is meegegeven. */
53
+ function opening(project, wat) {
54
+ return project === undefined || project === ''
55
+ ? `Roep eerst \`list_projects\` aan en kies het project ${wat}.`
56
+ : `Werk in het project ${project}.`;
57
+ }
58
+ /** Het werkpatroon om je eigen wijziging na te kijken, voor je werkboom of een hele branch. */
59
+ function registerReviewPrompt(server, roots) {
16
60
  server.registerPrompt('phpstan_wijziging_nakijken', {
17
61
  title: 'Eigen wijziging nakijken/reviewen met PHPStan',
18
62
  description: 'Het werkpatroon om je eigen wijziging na te kijken zonder het hele project door te rekenen.',
19
63
  argsSchema: {
20
- project: z
64
+ project: projectArgument(roots, PROJECT_DESCRIPTION),
65
+ // Een argument en geen aparte prompt: die zou grotendeels hetzelfde zeggen en
66
+ // dan uit elkaar gaan lopen. Een base met een leidend streepje weigert
67
+ // checkBase zelf, met uitleg; dat hoeft hier niet herhaald te worden.
68
+ base: z
21
69
  .string()
22
70
  .optional()
23
- .describe('Absoluut pad naar de projectroot; laat leeg om eerst list_projects te doen'),
71
+ .describe('Commit of branch om tegen te vergelijken, bijv. "main" voor een hele branch vóór een PR'),
24
72
  },
25
- }, ({ project }) => ({
26
- messages: [
27
- {
28
- role: 'user',
29
- content: {
30
- type: 'text',
31
- text: [
32
- project === undefined || project === ''
33
- ? 'Roep eerst `list_projects` aan en kies het project waar ik in werk.'
34
- : `Werk in het project ${project}.`,
35
- '',
36
- 'Ga daarna zo te werk:',
37
- '1. `analyse_changed` met dat project — dat pakt alleen wat git gewijzigd heeft,',
38
- ' inclusief bestanden die nog niet toegevoegd zijn. Doe dit ook als het project',
39
- ' groot is; `analyse_project` zonder paden rekent alles door.',
40
- '2. Staat er "LET OP" of "Ter info" boven het rapport, lees dat eerst: een',
41
- ' onvolledige analyse of een baseline die meedoet maakt een schone uitslag',
42
- ' onbetrouwbaar.',
43
- '3. Begin bij de bevindingen met een + (`onChangedLine`): die staan op een regel',
44
- ' die je gewijzigd hebt. Kijk daarna naar de rest van die bestanden — een',
45
- ' aangepaste signatuur levert fouten op bij de aanroepen, en die regels heb je',
46
- ' niet aangeraakt. Wat daar duidelijk al stond, laat je liggen.',
47
- '4. Repareer de bevindingen bij de bron. Verzwak geen types naar `mixed` en voeg',
48
- ' niets aan de baseline toe.',
49
- '5. Draai `analyse_changed` opnieuw tot het schoon is zónder runId, want die',
50
- ' geeft het resultaat van vóór je reparatie. Een runId is alleen voor de',
51
- ' volgende pagina van hetzelfde resultaat. Blijven er veel',
52
- ' bevindingen van één soort over, gebruik dan `identifiers` om er per soort',
53
- ' door te lopen.',
54
- '',
55
- 'Gedraagt het project zich onverklaarbaar, draai dan `diagnose_project` voordat',
56
- 'je aan de code twijfelt.',
57
- ].join('\n'),
73
+ }, ({ project, base }) => {
74
+ const metBase = base !== undefined && base !== '';
75
+ return {
76
+ messages: [
77
+ {
78
+ role: 'user',
79
+ content: {
80
+ type: 'text',
81
+ text: [
82
+ opening(project, 'waar ik in werk'),
83
+ '',
84
+ 'Ga daarna zo te werk:',
85
+ metBase
86
+ ? `1. \`analyse_changed\` met dat project en \`base: "${base}"\` dat pakt alles wat op`
87
+ : '1. `analyse_changed` met dat project dat pakt alleen wat git gewijzigd heeft,',
88
+ metBase
89
+ ? ` deze branch gewijzigd is ten opzichte van ${base}, ook wat nog niet toegevoegd is.`
90
+ : ' inclusief bestanden die nog niet toegevoegd zijn. Doe dit ook als het project',
91
+ metBase
92
+ ? ' Doe dit ook als het project groot is; `analyse_project` rekent alles door.'
93
+ : ' groot is; `analyse_project` zonder paden rekent alles door.',
94
+ '2. Staat er "LET OP" of "Ter info" boven het rapport, lees dat eerst: een',
95
+ ' onvolledige analyse of een baseline die meedoet maakt een schone uitslag',
96
+ ' onbetrouwbaar. Meldt "Ter info" nieuwe `@phpstan-ignore`-regels of genegeerde',
97
+ ' fouten die erbij kwamen in de baseline, dan verstopt deze wijziging iets:',
98
+ ' repareer het bij de bron, of zeg per geval waarom negeren hier terecht is.',
99
+ '3. Begin bij de bevindingen met een + (`onChangedLine`): die staan op een regel',
100
+ ' die je gewijzigd hebt. Kijk daarna naar de rest van die bestanden — een',
101
+ ' aangepaste signatuur levert fouten op bij de aanroepen, en die regels heb je',
102
+ ' niet aangeraakt. Wat daar duidelijk al stond, laat je liggen.',
103
+ '4. Repareer de bevindingen bij de bron. Verzwak geen types naar `mixed` en voeg',
104
+ ' niets aan de baseline toe.',
105
+ metBase
106
+ ? `5. Draai \`analyse_changed\` opnieuw, met dezelfde base, tot het schoon is — zónder`
107
+ : '5. Draai `analyse_changed` opnieuw tot het schoon is — zónder runId, want die',
108
+ metBase
109
+ ? ' runId, want die geeft het resultaat van vóór je reparatie. Een runId is alleen'
110
+ : ' geeft het resultaat van vóór je reparatie. Een runId is alleen voor de',
111
+ metBase
112
+ ? ' voor de volgende pagina van hetzelfde resultaat. Blijven er veel'
113
+ : ' volgende pagina van hetzelfde resultaat. Blijven er veel',
114
+ ' bevindingen van één soort over, gebruik dan `identifiers` om er per soort',
115
+ ' door te lopen.',
116
+ '',
117
+ 'Gedraagt het project zich onverklaarbaar, draai dan `diagnose_project` voordat',
118
+ 'je aan de code twijfelt.',
119
+ ].join('\n'),
120
+ },
58
121
  },
59
- },
60
- ],
61
- }));
122
+ ],
123
+ };
124
+ });
62
125
  }
63
126
  /**
64
127
  * Wat een level hoger kost: twee tellingen en het verschil ertussen. Met `limit: 1`,
65
128
  * want alleen de samenvatting telt, en die gaat altijd over álle bevindingen.
66
129
  */
67
- function registerLevelPrompt(server) {
130
+ function registerLevelPrompt(server, roots) {
68
131
  server.registerPrompt('phpstan_level_verhogen', {
69
132
  title: 'Wat kost een level hoger?',
70
133
  description: 'Telt hoeveel bevindingen er bijkomen als het project een PHPStan-level omhoog gaat, ' +
71
134
  'per soort en per bestand, zonder iets aan de code of de config te veranderen.',
72
135
  argsSchema: {
73
- project: z
74
- .string()
75
- .optional()
76
- .describe('Absoluut pad naar de projectroot; laat leeg om eerst list_projects te doen'),
136
+ project: projectArgument(roots, PROJECT_DESCRIPTION),
77
137
  level: z
78
138
  .string()
79
139
  .optional()
@@ -86,15 +146,13 @@ function registerLevelPrompt(server) {
86
146
  content: {
87
147
  type: 'text',
88
148
  text: [
89
- project === undefined || project === ''
90
- ? 'Roep eerst `list_projects` aan en kies het project dat ik bedoel.'
91
- : `Werk in het project ${project}.`,
149
+ opening(project, 'dat ik bedoel'),
92
150
  '',
93
151
  'Zoek uit wat het kost om dit project een PHPStan-level omhoog te zetten:',
94
- '1. Zoek het huidige level op: `parameters.level` in de config die list_projects',
95
- ' noemt, of in een config die daar geïncludeerd wordt — vaak een gedeelde config',
96
- ' in vendor/. Staat het al op `max` of 10, zeg dan dat er geen hoger level is en',
97
- ' stop. Vind je het niet, zeg dat en kies er niet zelf een: een te laag gekozen',
152
+ '1. `diagnose_project`: het huidige level staat onder "Uiteindelijke configuratie"',
153
+ ' (`parameters.level`), ook als het in een gedeelde config uit vendor/ staat. Staat',
154
+ ' het al op `max` of 10, zeg dan dat er geen hoger level is en stop. Geeft PHPStan',
155
+ ' zijn configuratie niet, zeg dat en kies er niet zelf een: een te laag gekozen',
98
156
  ' level geeft mínder bevindingen, en dan lijkt een hoger level gratis.',
99
157
  '2. `analyse_project` zonder level en met `limit: 1`. Alleen de tellingen tellen;',
100
158
  ' die gaan altijd over álle bevindingen, niet over de ene op de pagina.',
@@ -123,4 +181,190 @@ function registerLevelPrompt(server) {
123
181
  ],
124
182
  }));
125
183
  }
184
+ /**
185
+ * De baseline afbouwen, met opschonen en verstoppen uit elkaar gehouden.
186
+ *
187
+ * Fase 15.2 vond de val: `generate_baseline` ruimt verouderde regels op maar zet de
188
+ * huidige bevindingen er in dezelfde handeling bij. Nagelopen op `cms`: 293 verouderde
189
+ * regels, 3 met een te hoog count, twee padloze patronen uit een gedeelde config in
190
+ * vendor/, en 32 huidige bevindingen die een nieuwe baseline zou verstoppen.
191
+ */
192
+ function registerBaselinePrompt(server, roots) {
193
+ server.registerPrompt('phpstan_baseline_afbouwen', {
194
+ title: 'De baseline afbouwen',
195
+ description: 'Zoekt wat er in de baseline verouderd is, wat een nieuwe baseline zou verstoppen, en ' +
196
+ 'welke afbouw het goedkoopst is — met opschonen en verstoppen als twee aparte dingen.',
197
+ argsSchema: { project: projectArgument(roots, PROJECT_DESCRIPTION) },
198
+ }, ({ project }) => ({
199
+ messages: [
200
+ {
201
+ role: 'user',
202
+ content: {
203
+ type: 'text',
204
+ text: [
205
+ opening(project, 'waarvan ik de baseline wil afbouwen'),
206
+ '',
207
+ 'Help me de baseline af te bouwen. Opschonen (regels weghalen die niets meer',
208
+ 'doen) en verstoppen (huidige fouten erin zetten) zijn twee verschillende dingen;',
209
+ 'houd ze uit elkaar.',
210
+ '',
211
+ '1. `baseline_summary`: hoe groot de baseline is, en welke soorten en bestanden het',
212
+ ' zwaarst wegen. Staat er `hasBaseline: false`, zeg dan dat er niets af te bouwen',
213
+ ' is en stop.',
214
+ '2. `unmatched_ignores` — een volledige analyse; geef bij een groot project',
215
+ ' `timeoutSeconds` mee. Splits de uitkomst in drie groepen:',
216
+ ' - regels die niets meer matchen (`inBaseline: true`): de fout is opgelost, de',
217
+ ' regel kan weg;',
218
+ ' - regels met een te hoog aantal (`kind: "countTooHigh"`): de count kan omlaag',
219
+ ' naar wat er nog voorkomt;',
220
+ ' - patronen zonder pad (`general`): die komen uit ignoreErrors van een config,',
221
+ ' vaak een gedeelde in vendor/. Kom daar niet aan; een nieuwe baseline doet er',
222
+ ' niets aan.',
223
+ ' Staat `inBaseline` op null, dan was de baseline niet te lezen: meld dat en gok',
224
+ ' niet. Weigert de tool met `unsupported_with_runner`, dan draait PHPStan in een',
225
+ ' container: zeg dat deze stap hier niet kan en ga verder met stap 3.',
226
+ '3. `analyse_project` met `limit: 1`. Dat totaal is precies wat een nieuwe baseline',
227
+ ' zou verstoppen; zeg dat er met zoveel woorden bij.',
228
+ '4. Kies de goedkoopste échte afbouw: een bestand met weinig baseline-regels en een',
229
+ ' soort die bij de bron op te lossen is, zoals `missingType.*`. Welke soorten in',
230
+ ' welk bestand zitten, geeft `baseline_summary` met `path` op dat bestand: per',
231
+ ' regel de identifier, het aantal en het patroon. Repareer bij de bron:',
232
+ ' geen `mixed`, geen `@phpstan-ignore`, geen cast om een fout stil te krijgen.',
233
+ ' Controleer met `analyse_file` op dat bestand dat er niets nieuws bijkomt; de',
234
+ ' baseline-regels die daardoor verouderd zijn, mogen dan weg.',
235
+ '5. `generate_baseline` ruimt alles in één keer op, maar zet ook het totaal uit',
236
+ ' stap 3 in de baseline. Stel hem daarom alleen voor als dat totaal op nul staat;',
237
+ ' staat het er niet op, dan eerst die bevindingen repareren. Hij bestaat alleen',
238
+ ' als de server schrijfrechten heeft, en ook dan roep je hem niet zelf aan: hij',
239
+ ' herschrijft een bestand dat in git staat. Stel het voor, en laat mij kiezen.',
240
+ '',
241
+ 'Rapporteer: hoe groot de baseline is, hoeveel regels verouderd zijn, hoeveel huidige',
242
+ 'bevindingen een nieuwe baseline zou verstoppen, en welke afbouw je voorstelt of',
243
+ 'gedaan hebt.',
244
+ ].join('\n'),
245
+ },
246
+ },
247
+ ],
248
+ }));
249
+ }
250
+ /**
251
+ * Een opruimronde per soort. Nagelopen op `lasouris-lease-shared`: geen `missingType.*`
252
+ * te kiezen, 11 van de 15 bevindingen in één ontwikkeltool, en `encapsedStringPart`
253
+ * dat tot `(string)`-casts uitnodigt — terwijl PHPStans eigen waarschuwing daartegen
254
+ * via deze client niet eens meekomt (`instructions` bleef leeg).
255
+ */
256
+ function registerKindPrompt(server, roots) {
257
+ server.registerPrompt('phpstan_soort_wegwerken', {
258
+ title: 'Eén soort bevinding wegwerken',
259
+ description: 'Een opruimronde voor één identifier (of een groep zoals missingType) door het hele ' +
260
+ 'project, tot die soort op nul staat of de rest een inhoudelijke keuze vraagt.',
261
+ argsSchema: {
262
+ project: projectArgument(roots, PROJECT_DESCRIPTION),
263
+ identifier: z
264
+ .string()
265
+ .optional()
266
+ .describe('Bijv. "missingType.iterableValue" of de groep "missingType"; laat leeg om er een te laten kiezen'),
267
+ },
268
+ }, ({ project, identifier }) => {
269
+ const gekozen = identifier !== undefined && identifier !== '';
270
+ return {
271
+ messages: [
272
+ {
273
+ role: 'user',
274
+ content: {
275
+ type: 'text',
276
+ text: [
277
+ opening(project, 'dat ik wil opruimen'),
278
+ '',
279
+ 'Help me één soort bevinding in dit project weg te werken. Dit is een',
280
+ 'opruimronde, iets anders dan een eigen wijziging nakijken.',
281
+ '',
282
+ ...(gekozen
283
+ ? [
284
+ `1. \`analyse_project\` met \`identifiers: ["${identifier}"]\`. Een groep als`,
285
+ ' `missingType` matcht alle `missingType.*`, maar niet iets als `missingTypex`.',
286
+ ]
287
+ : [
288
+ '1. `analyse_project` met `limit: 1`, en kies uit `summary.byIdentifier` een soort.',
289
+ ' Eerst wat bij de bron op te lossen is zonder het gedrag te veranderen, zoals',
290
+ ' ontbrekende types (`missingType.*`). Is die er niet, kies dan een soort die in',
291
+ ' één of twee bestanden zit (`summary.byFile`), zodat de ronde te overzien is.',
292
+ ' Kies geen `ignore.*`: dat zijn negeerregels, geen fouten. Zeg welke soort je',
293
+ ' kiest en waarom.',
294
+ ]),
295
+ '2. Loop met `identifiers` op die soort door de bevindingen. Is er meer dan één',
296
+ ' pagina, geef dan de `runId` mee samen met `offset`: dan komt de volgende pagina',
297
+ ' uit hetzelfde resultaat.',
298
+ '3. Repareer bij de bron. Geen `mixed`, geen `@phpstan-ignore`, niets in de',
299
+ ' baseline, en geen cast of `assert()` om een fout stil te krijgen. Een cast is',
300
+ ' alleen goed als je zeker weet dat de waarde dat type heeft — en dan hoort dat',
301
+ ' type bij de bron vast te liggen, niet op de plek van de melding.',
302
+ '4. Na een reparatie opnieuw analyseren met `identifiers`, zónder runId: die geeft',
303
+ ' het resultaat van vóór je reparatie, en dan lijkt de ronde niets te doen. Kijk',
304
+ ' ook naar het totaal: een reparatie kan een bevinding van een andere soort',
305
+ ' opleveren, en die hoort dan bij deze ronde.',
306
+ '5. Stop als de soort op nul staat, of als wat overblijft een inhoudelijke keuze',
307
+ ' vraagt. Rapporteer dan wat er over is en waarom je daar stopt.',
308
+ ].join('\n'),
309
+ },
310
+ },
311
+ ],
312
+ };
313
+ });
314
+ }
315
+ /**
316
+ * Twee projecten naast elkaar, om te verklaren waarom PHPStan zich anders gedraagt.
317
+ * Nagelopen op `lasouris-lease-api` tegen `lasouris-lease-shared`: dezelfde PHP-,
318
+ * PHPStan- en Larastan-versie, maar een ander PHP-bereik in composer.json en een
319
+ * gedeelde coding-standards-config die maar bij één van de twee meedoet. En een
320
+ * mislukking die uit een verouderde resultcache kwam, was in diagnose onzichtbaar.
321
+ */
322
+ function registerComparePrompt(server, roots) {
323
+ server.registerPrompt('phpstan_projecten_vergelijken', {
324
+ title: 'Twee projecten vergelijken',
325
+ description: 'Legt de PHPStan-opstelling van twee projecten naast elkaar en rapporteert alleen de ' +
326
+ 'verschillen, om te verklaren waarom PHPStan zich in het ene anders gedraagt.',
327
+ argsSchema: {
328
+ projectA: projectArgument(roots, 'Het eerste project; laat leeg om eerst list_projects te doen'),
329
+ projectB: projectArgument(roots, 'Het tweede project; laat leeg om eerst list_projects te doen', (argumenten) => argumenten?.['projectA']),
330
+ },
331
+ }, ({ projectA, projectB }) => {
332
+ const beide = projectA !== undefined && projectA !== '' && projectB !== undefined && projectB !== '';
333
+ return {
334
+ messages: [
335
+ {
336
+ role: 'user',
337
+ content: {
338
+ type: 'text',
339
+ text: [
340
+ beide
341
+ ? `Vergelijk ${projectA} met ${projectB}.`
342
+ : 'Roep eerst `list_projects` aan en vraag welke twee projecten ik wil vergelijken.',
343
+ '',
344
+ 'Zoek uit waarom PHPStan zich in het ene project anders gedraagt dan in het andere:',
345
+ '1. `diagnose_project` op beide. Zet naast elkaar: de PHP-versie (wat er draait én',
346
+ ' wat composer.json toestaat), de PHPStan- en Larastan-versie, de configs die',
347
+ ' Composer-pakketten meebrengen, en of turbo aanstaat. Let vooral op die configs:',
348
+ ' een gedeelde coding-standards-config zet vaak het level en eigen ignoreErrors.',
349
+ '2. Uit dezelfde diagnose, onder "Uiteindelijke configuratie": het level, de paden,',
350
+ ' het aantal negeerregels en of verouderde gemeld worden. Dat is wat PHPStan echt',
351
+ ' gebruikt, ook wat uit vendor/ komt.',
352
+ '3. De baseline: `baseline_summary` zegt of er een ligt. Of hij ook meedoet, blijkt',
353
+ ' pas uit de "Ter info"-melding bij `analyse_project` met `limit: 1` — een',
354
+ ' baseline die er ligt maar niet geïncludeerd wordt, doet niets.',
355
+ '4. `server_config`: of er voor een van beide een runner of eigen standaarden',
356
+ ' gelden (geheugen, timeout, config).',
357
+ '',
358
+ 'Rapporteer alleen de verschillen; wat gelijk is, verklaart niets. Verklaart geen',
359
+ 'enkel verschil het gedrag — klapt een analyse met een melding die nergens op lijkt',
360
+ 'te slaan terwijl de opstelling gelijk is — dan is een verouderde resultcache de',
361
+ 'volgende verdachte. Stel dan `clear_result_cache` voor dat project voor; die leegt',
362
+ 'alleen de cache, maar vraag het eerst.',
363
+ ].join('\n'),
364
+ },
365
+ },
366
+ ],
367
+ };
368
+ });
369
+ }
126
370
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ export declare const analysisShape: {
49
49
  byIdentifier: z.ZodArray<z.ZodObject<{
50
50
  identifier: z.ZodString;
51
51
  count: z.ZodNumber;
52
+ docs: z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<null>]>;
52
53
  }, z.core.$strip>>;
53
54
  }, z.core.$strip>;
54
55
  findings: z.ZodArray<z.ZodObject<{
@@ -127,8 +128,11 @@ type Plan = {
127
128
  readonly options: AnalyseOptions;
128
129
  readonly heading?: string;
129
130
  readonly onChangedLine?: ChangedLineCheck;
131
+ /** Wat de tool zelf erbij te melden heeft, naast wat deze server altijd meldt. */
132
+ readonly notices?: readonly string[];
130
133
  } | {
131
134
  readonly nothingToDo: string;
135
+ readonly notices?: readonly string[];
132
136
  };
133
137
  /**
134
138
  * Stuurt een logmelding naar de client. Faalt bewust stil: een client die
@@ -43,7 +43,11 @@ export const analysisShape = {
43
43
  .object({
44
44
  filesWithFindings: z.number(),
45
45
  byFile: z.array(z.object({ file: z.string(), count: z.number() })),
46
- byIdentifier: z.array(z.object({ identifier: z.string(), count: z.number() })),
46
+ byIdentifier: z.array(z.object({
47
+ identifier: z.string(),
48
+ count: z.number(),
49
+ docs: nullable(z.string()).describe('Uitleg van deze soort op phpstan.org'),
50
+ })),
47
51
  })
48
52
  .describe('Tellingen over álle bevindingen, ook die buiten deze pagina vallen'),
49
53
  findings: z.array(z.object({
@@ -169,9 +173,15 @@ export async function runAnalysis(server, roots, project, plan, window, signal,
169
173
  warnings: [],
170
174
  instructions: [],
171
175
  totals: { fileErrors: 0, generalErrors: 0 },
172
- }, {});
176
+ }, {}, chosen.notices ?? []);
177
+ const extra = (chosen.notices ?? []).map((notice) => `- ${notice}`);
173
178
  return {
174
- content: [{ type: 'text', text: chosen.nothingToDo }],
179
+ content: [
180
+ {
181
+ type: 'text',
182
+ text: extra.length === 0 ? chosen.nothingToDo : `${chosen.nothingToDo}\n\nTer info:\n${extra.join('\n')}`,
183
+ },
184
+ ],
175
185
  structuredContent: { ...empty, runId: null },
176
186
  };
177
187
  }
@@ -189,7 +199,7 @@ export async function runAnalysis(server, roots, project, plan, window, signal,
189
199
  waarschuwingen: result.warnings.length,
190
200
  duurMs: Date.now() - begin,
191
201
  });
192
- const notices = collectNotices(resolved);
202
+ const notices = [...collectNotices(resolved), ...(chosen.notices ?? [])];
193
203
  const runId = reuse.runs.put({
194
204
  project: resolved.path,
195
205
  key: reuse.key,
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -19,6 +19,6 @@ export function registerTools(server, roots) {
19
19
  registerClearResultCache(server, roots);
20
20
  if (writesAllowed())
21
21
  registerGenerateBaseline(server, roots);
22
- registerPrompts(server);
22
+ registerPrompts(server, roots);
23
23
  }
24
24
  //# sourceMappingURL=tools.js.map
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,sCAAsC;AACtC,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,KAAa;IAC5D,iFAAiF;IACjF,kEAAkE;IAClE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAE5B,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,IAAI,aAAa,EAAE;QAAE,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7D,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,sCAAsC;AACtC,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,KAAa;IAC5D,iFAAiF;IACjF,kEAAkE;IAClE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAE5B,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,IAAI,aAAa,EAAE;QAAE,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7D,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC"}
package/dist/version.d.ts CHANGED
@@ -6,4 +6,4 @@
6
6
  * Staat los van server.ts omdat tools.ts hem ook nodig heeft, en server.ts
7
7
  * importeert tools.ts — dat zou een cyclus zijn.
8
8
  */
9
- export declare const VERSION = "0.14.0";
9
+ export declare const VERSION = "0.16.0";
package/dist/version.js CHANGED
@@ -6,5 +6,5 @@
6
6
  * Staat los van server.ts omdat tools.ts hem ook nodig heeft, en server.ts
7
7
  * importeert tools.ts — dat zou een cyclus zijn.
8
8
  */
9
- export const VERSION = '0.14.0';
9
+ export const VERSION = '0.16.0';
10
10
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "phpstan-mcp-mx",
3
- "version": "0.14.0",
4
- "description": "MCP-server die PHPStan ontsluit als tools, voor meerdere PHP-projecten tegelijk",
3
+ "version": "0.16.0",
4
+ "description": "MCP server that exposes PHPStan as tools, for several PHP projects at once",
5
5
  "keywords": [
6
6
  "mcp",
7
7
  "model-context-protocol",